80 likes | 224 Vues
This lecture outlines the key concepts of computer architecture, emphasizing trade-offs inherent in Instruction Set Architecture (ISA), microarchitecture, and system-level design. It covers vital topics like dynamic vs. static interfaces, fixed-length vs. variable-length instruction sets, load/store architectures, and the importance of compatibility and addressing modes. The session highlights two illustrative ISAs—LC-3b and x86—while delving into microarchitecture features such as CPI, branch prediction, and pipeline depth. Finally, it examines system-level considerations, including memory control and interconnection structures.
E N D
Outline • The ISA • The Microarchitecture • The System level
The ISA(visible to the software) • Dynamic/Static Interface • What at compile time, what at run time • Rich instruction set vs. simpler instruction set • Fixed-length, Uniform Decode vs. … • Condition codes vs. … • Load/Store vs. … • Help for the Programmer vs. help for the uarchitect • Addressing modes • Data types • Unaligned accesses
The ISA (continued) • Hardware interlocks vs. … • VLIW vs. … • 0,1,2,3 address machine • Compatibility vs. a new ISA • Precise exceptions vs. … • Vectored interrupts vs Polling • Address space (16-bit 32-bit 64-bit)
Two example ISAs • LC-3b (from EE 360n) • Load/store, 3-address machine • Few opcodes, addressing modes, data types • Fixed length, uniform decode • x86 • Not load/store, 2-address machine • Variable length, decoding nightmare • Prefixes • Many opcodes, addressing modes, data types • Dense encoding (comprehensive instructions) • Mod/RM, SIB, addressing mode offset, literal operand • Virtual memory PLUS segmentation • Memory-mapped PLUS I/O instructions
The Microarchitecture(underneath the hood) • CPI vs. cycle time (or, IPC vs. frequency) • in-order vs. out-of-order execution • Speculate vs. stand around and wait • Issue-width • ASIC vs. programmed control • Use of chip real estate • Better branch predictor • Accelerators • Microcode • Pipeline depth • Cache structures
Microarchitecture (continued) • Fault tolerance • Yesterday: Tandem (Two cores in lock step) • Tomorrow: repeat to remove errors (or 2 cores lockstep) • On-chip latency • near neighbor communication • Branch target buffer • saves a bubble on a taken branch • Partitioning – until when?
The System • MP granularity (loosely coupled vs. tightly) • Distributed shared memory versus centralized • Interconnection structure • Use of commodity vs tailored parts • What do we integrate on chip • Memory controller • Analog devices