中国高校课件下载中心 》 教学资源 》 大学文库

《现代计算机体系结构》课程教学课件(留学生版)Lecture 1 Instruction Set Architecture(Introduction)

文档信息
资源类别:文库
文档格式:PDF
文档页数:70
文件大小:2.19MB
团购合买:点击进入团购
内容简介
《现代计算机体系结构》课程教学课件(留学生版)Lecture 1 Instruction Set Architecture(Introduction)
刷新页面文档预览

Computer ArchitectureInstruction Set Architecture(Introduction)ComputerArchitecture

Computer Architecture Computer Architecture Instruc1on Set Architecture (Introduc1on)

What is A Computer?. Three key componentsComputationCommunicationStorage (memory)ComputingSystemComputingCommunicationMemory/StorageUnitUnitUnitMemorySystemStorageSystemComputerArchitecture

Computer Architecture What is A Computer? • Three key components • Computation • Communication • Storage (memory) 2

What isAComputer?: We will cover all three componentsProcessingMemorycontrol1/0(program(sequencing)and data)datapathComputerArchitecture

Computer Architecture What is A Computer? • We will cover all three components 3 Memory (program and data) I/O Processing control (sequencing) datapath

TheVonNeumannModel/Architecture: Also called stored program computer (instructionsin memory). Two key properties::Stored programInstructionsstoredinalinearmemoryarray-Memoryis unified betweeninstructions anddataTheinterpretationofastoredvaluedependsonthecontrolsignalsWhen is a value interpreted as an instruction?:Sequential instruction processingOne instruction processed (fetched, executed, and completed) at atime-Program counter (instruction pointer) identifies the current instr.ProgramcounterisadvancedsequentiallyexceptforcontroltransferinstructionsComputerArchitecture

Computer Architecture The Von Neumann Model/Architecture • Also called stored program computer (instructions in memory). Two key properties: • Stored program – Instructions stored in a linear memory array – Memory is unified between instructions and data • The interpretation of a stored value depends on the control signals • Sequential instruction processing – One instruction processed (fetched, executed, and completed) at a time – Program counter (instruction pointer) identifies the current instr. – Program counter is advanced sequentially except for control transfer instructions 4 When is a value interpreted as an instruction?

The Von-Neumann Model (of a Computer)MEMORYMemAddrRegMemDataRegPROCESSINGUNITINPUTOUTPUTTEMPALUCONTROLUNITIPInstRegisterComputerArchitecture

Computer Architecture The Von-Neumann Model (of a Computer) 5 CONTROL UNIT IP Inst Register PROCESSING UNIT ALU TEMP MEMORY Mem Addr Reg Mem Data Reg INPUT OUTPUT

Aside:Dataflow Model (of a Computer). Von Neumann model: An instruction is fetched andexecuted in control flow order- As specified by the instruction pointer- Sequential unless explicit control flow instructionDataflow model: An instruction is fetched and executedin data flow order- i.e., when its operands are ready- i.e., there is no instruction pointer- Instruction ordering specified by data flow dependence·Each instruction specifies"who"should receive the result.An instruction can"fire"whenever all operands are received- Potentially many instructions can execute at the same time·Inherentlymore parallelComputerArchitecture

Computer Architecture Aside: Dataflow Model (of a Computer) • Von Neumann model: An instruction is fetched and executed in control flow order – As specified by the instruction pointer – Sequential unless explicit control flow instruction • Dataflow model: An instruction is fetched and executed in data flow order – i.e., when its operands are ready – i.e., there is no instruction pointer – Instruction ordering specified by data flow dependence • Each instruction specifies “who” should receive the result • An instruction can “fire” whenever all operands are received – Potentially many instructions can execute at the same time • Inherently more parallel 6

Aside:vonNeumannvsDataflow. Consider a von Neumann program-What is the significance of the program order?-What isthesignificanceofthe storagelocations?abv<=a + b;w <= b * 2;X<=V- Wy<=v+wz <=x*ySequentialDataflowZWhich model is more natural to you as a programmer?ComputerArchitecture

Computer Architecture Aside: von Neumann vs Dataflow • Consider a von Neumann program – What is the significance of the program order? – What is the significance of the storage locaJons? • Which model is more natural to you as a programmer? 7 v <= a + b; w <= b * 2; x <= v - w y <= v + w z <= x * y + *2 - + * a b z Sequential Dataflow

Aside:MoreonDataFlow: In a data flow machine, a program consists of dataflow nodes- A data flow node fires (fetched and executed) when all itinputs are ready. i.e. when all inputs have tokens: Data flow node and its ISA representation*RARG1RARG2Dest.OfResultComputerArchitecture

Computer Architecture Aside: More on Data Flow • In a data flow machine, a program consists of data flow nodes – A data flow node fires (fetched and executed) when all it inputs are ready • i.e. when all inputs have tokens • Data flow node and its ISA representation 8

Aside:ISA-levelTradeoff:Instruction Pointer. Do we need an instruction pointer in the ISA?- Yes: Control-driven, sequential execution.An instructionisexecuted whentheIP pointstoit. IP automatically changes sequentially (except for control flowinstructions)- No: Data-driven, parallel execution:An instruction is executed when all its operandvalues areavailable (data flow): Tradeoffs: MANY high-level ones- Ease of programming (for average programmers)?-Easeofcompilation?-Performance:Extraction ofparallelism?Hardwarecomplexity?ComputerArchitecture

Computer Architecture Aside: ISA-level Tradeoff: InstrucJon Pointer • Do we need an instruction pointer in the ISA? – Yes: Control-driven, sequential execution • An instruction is executed when the IP points to it • IP automatically changes sequentially (except for control flow instructions) – No: Data-driven, parallel execution • An instruction is executed when all its operand values are available (data flow) • Tradeoffs: MANY high-level ones – Ease of programming (for average programmers)? – Ease of compilation? – Performance: Extraction of parallelism? – Hardware complexity? 9

ISA vs. Microarchitecture Level Tradeoff A similar tradeoff (control vs. data-driven execution) canbe made at the microarchitecture levelISA: Specifies how the programmer sees instructions tobe executed- Programmer sees a sequential, control-flow execution order vs.- Programmer sees a data-flow execution order. Microarchitecture: How the underlying implementationactually executes instructions- Microarchitecture can execute instructions in any order as longas it obeys the semantics specified by the ISA when making theinstructionresultsvisibletosoftware· Programmer should see the order specified by the ISAComputerArchitecture10

Computer Architecture ISA vs. Microarchitecture Level Tradeoff • A similar tradeoff (control vs. data-driven execution) can be made at the microarchitecture level • ISA: Specifies how the programmer sees instructions to be executed – Programmer sees a sequential, control-flow execution order vs. – Programmer sees a data-flow execution order • Microarchitecture: How the underlying implementation actually executes instructions – Microarchitecture can execute instructions in any order as long as it obeys the semantics specified by the ISA when making the instruction results visible to software • Programmer should see the order specified by the ISA 10

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档