复旦大学:《计算机原理 Computer System》课程PPT课件_Processor Architecture

Processor Architecture Architecture (
Architecture (I) Processor Architecture

Goal Understand basic computer organization a Instruction set architecture Deeply explore the CPU working mechanism How the instruction is executed: sequential and pipeline version Help you programming a Fully understand how computer is organized and works will help you write more stable and efficient code Processor
– 2 – Processor Goal Understand basic computer organization ◼ Instruction set architecture Deeply explore the CPU working mechanism ◼ How the instruction is executed: sequential and pipeline version Help you programming ◼ Fully understand how computer is organized and works will help you write more stable and efficient code

CPU Design(Why?) It is interesting. Aid in understanding how the overall computer system works Many design hardware systems containing processors Maybe you will work on a processor design. Processor
– 3 – Processor CPU Design (Why?) It is interesting. Aid in understanding how the overall computer system works. Many design hardware systems containing processors. Maybe you will work on a processor design

CPU Design Instruction set architecture Logic design Sequential implementation Pipelining and initial pipelined implementation Making the pipeline work Modern processor design Processor
– 4 – Processor CPU Design Instruction set architecture Logic design Sequential implementation Pipelining and initial pipelined implementation Making the pipeline work Modern processor design

Suggested Reading Chap 4.1, 4.2 Processor
– 5 – Processor Suggested Reading - Chap 4.1, 4.2

Instruction Set Architecture #1 What is it Assem ble Language Abstraction Instruction Set Machine Language abstraction Architecture(ISA) What does it provide? a An abstraction of the real computer, hide the details of implementation The syntax of computer instructions The semantics of instructions ● The execution model Programmer-visible computer status Processor
– 6 – Processor Instruction Set Architecture #1 What is it ? ◼ Assemble Language Abstraction ◼ Machine Language Abstraction What does it provide? ◼ An abstraction of the real computer, hide the details of implementation ⚫ The syntax of computer instructions ⚫ The semantics of instructions ⚫ The execution model ⚫ Programmer-visible computer status Instruction Set Architecture (ISA)

Instruction Set Architecture #2 Assembly Language View ■ Processor state Application ● Registers, memory,… Program ■| nstructions Compiler OS addl,mov1,1ea1,… e How instructions are encoded as ISA bytes CPU Layer of Abstraction Design Above: how to program machine Circuit e Processor executes instructions Design In a sequence Chip a Below: what needs to be built Layout e Use tricks to make it run fast O E.g., execute multiple instructions simultaneously Processor
– 7 – Processor Instruction Set Architecture #2 Assembly Language View ◼ Processor state ⚫ Registers, memory, … ◼ Instructions ⚫ addl, movl, leal, … ⚫ How instructions are encoded as bytes Layer of Abstraction ◼ Above: how to program machine ⚫ Processor executes instructions in a sequence ◼ Below: what needs to be built ⚫ Use tricks to make it run fast ⚫ E.g., execute multiple instructions simultaneously ISA Compiler OS CPU Design Circuit Design Chip Layout Application Program

Instruction Set Architecture #3 isA define the processor family a Two main kind: risc and cisc RISC: SPARC, MIPS, PowerPC e CISC: X86 (or called IA32) Another divide: Superscalar, vllw and ePic o Superscalar: all the above O VLIW: Philips TriMEdia superscalar:[计算机]超标量体系结构 ●EPc:|A64 Under same ISA, there are many different processors a From different manufacturers. e X86 from Intel and AMd and via ■ Different models 0.80386 Pentium Pentium 4 Processor
– 8 – Processor Instruction Set Architecture #3 ISA define the processor family ◼ Two main kind: RISC and CISC ⚫ RISC:SPARC, MIPS, PowerPC ⚫ CISC:X86 (or called IA32) ◼ Another divide: Superscalar, VLIW and EPIC ⚫ Superscalar: all the above ⚫ VLIW: Philips TriMedia ⚫ EPIC: IA64 Under same ISA, there are many different processors ◼ From different manufacturers: ⚫ X86 from Intel and AMD and VIA ◼ Different models ⚫ 8086, 80386, Pentium, Pentium 4 superscalar:[计算机]超标量体系结构

Y86 Processor State P258 Floure 41 Program registers Condition Memory 号eax号esi codes ecx edi edx es PC 各ebx号eb Program Registers e Same 8 as with lA32. Each 32 bits ■ Condition codes e Single-bit flags set by arithmetic or logical instructions >)OF: Overflow ZF: Zero SF: Negative a Program Counter Indicates address of instruction ■ Memory o Byte-addressable storage array Words stored in little-endian byte order Processor
– 9 – Processor %eax %ecx %edx %ebx %esi %edi %esp %ebp Y86 Processor State ◼ Program Registers ⚫ Same 8 as with IA32. Each 32 bits ◼ Condition Codes ⚫ Single-bit flags set by arithmetic or logical instructions » OF: Overflow ZF: Zero SF:Negative ◼ Program Counter ⚫ Indicates address of instruction ◼ Memory ⚫ Byte-addressable storage array ⚫ Words stored in little-endian byte order Program registers Condition codes PC Memory OF ZF SF P258 Figure 4.1

Y86 Instructions P259 Flgure 4.2 Format(P259) a 1-6 bytes of information read from memory Can determine instruction length from first byte Not as many instruction types, and simpler encoding than with A32 Each accesses and modifies some part(s)of the program state Errata: JXX and call are 5 bytes long. -10 Processor
– 10 – Processor Y86 Instructions Format (P259) ◼ 1--6 bytes of information read from memory ⚫ Can determine instruction length from first byte ⚫ Not as many instruction types, and simpler encoding than with IA32 ◼ Each accesses and modifies some part(s) of the program state Errata: JXX and call are 5 bytes long. P259 Figure 4.2
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Heterogeneous Data Structures & Alignment; Putting it Together; Floating Point.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Procedure Call and Array.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Machine-Level Representation of Programs Ⅱ.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Machine-Level Representation of Programs I.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Integer Operations; Floating Points.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Integer Representations.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Introduction to Computer Systems; Information is Bits+Context; Information Storage.ppt
- 复旦大学:《计算机原理 Computer System》课程资源_2006年期中考试题目.doc
- 复旦大学:《计算机原理 Computer System》课程资源_2006年期中考试答案.doc
- 复旦大学:《计算机原理 Computer System》课程资源_教学大纲.pdf
- 复旦大学:《计算机图形学》课后习题答案_7.docx
- 复旦大学:《计算机图形学》课后习题答案_6.docx
- 复旦大学:《计算机图形学》课后习题答案_5.docx
- 复旦大学:《计算机图形学》课后习题答案_4.docx
- 复旦大学:《计算机图形学》课后习题答案_3.docx
- 复旦大学:《计算机图形学》课后习题答案_2.docx
- 复旦大学:《计算机图形学》课后习题答案_1.docx
- 复旦大学:《电子商务》课程PPT课件_第十次课 社会化电子商务——Hold住社会化媒体营销.ppt
- 复旦大学:《电子商务》课程PPT课件_第六次课 电子商务运营与管理 Operating Your E-Business.ppt
- 复旦大学:《电子商务》课程PPT课件_第六次课 电子商务运营与管理 Getting Your E-Business Off The Ground.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_09、10 Sequential CPU Implementation.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Pipelined Implementation Part I.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Pipelined Implementation Part II.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_12b Code Optimization(• Machine-Independent Optimization – Code motion – Memory optimization • Suggested reading).ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_13 Code Optimization(• Optimizing Blockers • Understanding Modern Processor • More Code Optimization techniques • Performance Tuning).ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Hardware Organization.ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Memory Hierarchy(• Random-Access Memory(RAM)• Nonvolatile Memory • Disk Storage • Locality • Memory hierarchy).ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Cache Memory(• General concepts • 3 ways to organize cache memory • Issues with writes • Write cache friendly codes • Cache mountain).ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Cache Memory(• Cache mountain • Matrix multiplication).ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Virtual Memory(• Virtual Space• Address translation • Accelerating translation• Different points of view).ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Virtual Memory(• Multilevel page tables • Different points of view • Pentium/Linux Memory System • Memory Mapping).ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Dynamic Memory Allocation(• Implementation of a simple allocator • Explicit Free List • Segregated Free List).ppt
- 复旦大学:《计算机原理 Computer System》课程PPT课件_Linking II(• Static linking • Symbols & Symbol Table • Relocation • Executable Object Files • Loading).ppt
- 复旦大学:《计算机原理 Computer System》习题PPT课件_chapter2.pptx
- 复旦大学:《计算机原理 Computer System》习题PPT课件_Chapter 3 Machine-Level Representation of Programs.pptx
- 复旦大学:《计算机原理 Computer System》习题PPT课件_Chapter 3 Machine-Level Representation of Programs.pptx
- 复旦大学:《计算机原理 Computer System》习题PPT课件_Chapter 3 Machine-Level(2)Representation of Programs.ppt
- 复旦大学:《计算机原理 Computer System》习题PPT课件_chapter4 Processor Architecture.pptx
- 复旦大学:《计算机原理 Computer System》习题PPT课件_chapter5 Optimizing Program Performance.pptx
- 复旦大学:《计算机原理 Computer System》习题PPT课件_chapter6 The Memory Hierarchy.ppt