01_isa

01_isa - Instruction Set Architecture(ISA Application OS Compiler CIS 501 Computer Architecture CPU Firmware What is an ISA What is a good ISA A

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

View Full Document Right Arrow Icon
CIS 501 (Martin): Instruction Set Architectures 1 CIS 501 Computer Architecture Unit 1: Instruction Set Architecture Slides originally developed by Amir Roth with contributions by Milo Martin at University of Pennsylvania with sources that included University of Wisconsin slides by Mark Hill, Guri Sohi, Jim Smith, and David Wood. CIS 501 (Martin): Instruction Set Architectures 2 Instruction Set Architecture (ISA) • What is an ISA? • What is a good ISA? • A bit on RISC vs. CISC Application OS Firmware Compiler CPU I/O Memory Digital Circuits Gates & Transistors CIS 501 (Martin): Instruction Set Architectures 3 Readings • Baer’s “MA:FSPTCM” • Section 1.1.1 (that’s it!) • Lots more in these lecture notes • Paper The Evolution of RISC Technology at IBM by John Cocke • (But we’ll discuss it later next week) What is an ISA? CIS 501 (Martin): Instruction Set Architectures 4
Background image of page 1

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

View Full DocumentRight Arrow Icon
CIS 501 (Martin): Instruction Set Architectures 5 What Is An ISA? ISA (instruction set architecture) • A well-defined 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 • Not in the “contract”: non-functional aspects • How operations are implemented • Which operations are fast and which are slow and when • Which operations take more power and which take less • Instruction ! Insn • ‘Instruction’ is too long to write in slides CIS 501 (Martin): Instruction Set Architectures 6 A Language Analogy for ISAs Communication • Person-to-person ! software-to-hardware Similar structure Narrative ! program • Sentence ! insn • Verb ! operation (add, multiply, load, branch) • Noun ! data item (immediate, register value, memory value) • Adjective ! addressing mode Many different languages, many different ISAs Similar basic structure, details differ (sometimes greatly) • Key differences between languages and ISAs Languages evolve organically, many ambiguities, inconsistencies ISAs are explicitly engineered and extended, unambiguous CIS 501 (Martin): Instruction Set Architectures 7 The Sequential Model • Basic structure of all modern ISAs • Processor logically executes loop at left Program order : total order on dynamic insns • Order and named storage define computation • Convenient feature: program counter (PC) Insn itself at memory[PC] • Next PC is PC++ unless insn says otherwise Atomic : insn X finishes before insn X+1 starts • Can break this constraint physically (pipelining) • But must maintain illusion to preserve programmer sanity Fetch PC Decode Read Inputs Execute Write Output Next PC CIS 501 (Martin): Instruction Set Architectures 8 Where Does Data Live?
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 10/19/2011 for the course CS 501 taught by Professor Matin during the Fall '10 term at UPenn.

Page1 / 17

01_isa - Instruction Set Architecture(ISA Application OS Compiler CIS 501 Computer Architecture CPU Firmware What is an ISA What is a good ISA A

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

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