Lecture 2 - ISA

Lecture 2 - ISA - ECE565: Computer Architecture Instructor:...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
1 ECE565: Computer Architecture Instructor: Vijay S. Pai Fall 2011 ECE 565, Fal 2011 (2) Acknowledgements and Disclaimer •Slides developed by Amir Roth of University of Pennsylvania with sources that included University of Wisconsin slides by Mark Hill, Guri Sohi, Jim Smith, and David Wood. •Slides enhanced by Milo Martin, Mark Hill, and David Wood with sources that included Profs. Asanovic, Falsafi, Hoe, Lipasti, Shen, Smith, Sohi, Thottethodi, Vijaykumar, and Wood ECE 565, Fal 2011 3 What Is An ISA? • ISA (instruction set architecture) – A well-define hardware/software interface – The “contract” between software and hardware Functional definition of operations, modes, and storage locations supported by hardware Precise description of how to invoke, and access them – No guarantees regarding • How operations are implemented • Which operations are fast and which are slow and when • Which operations take more power and which take less
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 ECE 565, Fal 2011 4 A Language Analogy for ISAs A ISA is analogous to a human language Allows communication Language: person to person ISA: hardware to software Need to speak the same language/ISA Many common aspects Part of speech: verbs, nouns, adjectives, adverbs, etc. Common operations: calculation, control/branch, memory Many different languages/ISAs, many similarities, many differences Different structure Both evolve over time Key differences: ISAs must be unambiguous ISAs are explicitly engineered and extended ECE 565, Fal 2011 5 RISC vs CISC Foreshadowing Recall performance equation: ( instructions/program ) * ( cycles/instruction ) * ( seconds/cycle ) CISC (Complex Instruction Set Computing) Improve “instructions/program” with “complex” instructions Easy for assembly-level programmers, good code density RISC (Reduced Instruction Set Computing) Improve “cycles/instruction” with many single-cycle instructions Increases “instruction/program”, but hopefully not as much Help from smart compiler Perhaps improve clock cycle time (seconds/cycle) via aggressive implementation allowed by simpler instructions ECE 565, Fal 2011 6 What Makes a Good ISA? Programmability Easy to express programs efficiently? Implementability Easy to design high-performance implementations? More recently • Easy to design low-power implementations? • Easy to design high-reliability implementations? • Easy to design low-cost implementations? Compatibility Easy to maintain programmability (implementability) as languages and programs (technology) evolves? x86 (IA32) generations: 8086, 286, 386, 486, Pentium, PentiumII, PentiumIII, Pentium4,…
Background image of page 2
3 ECE 565, Fal 2011 7 Programmability Easy to express programs efficiently?
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 16

Lecture 2 - ISA - ECE565: Computer Architecture Instructor:...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online