1 RISC Machines l RISC system »instruction –standard, fixed instruction format –single-cycle execution of most instructions –memory access is available.

Slides:



Advertisements
Similar presentations
Computer Organization and Architecture
Advertisements

1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
EECC551 - Shaaban #1 Lec # 2 Fall Instruction Set Architecture (ISA) “... the attributes of a [computing] system as seen by the programmer,
INSTRUCTION SET ARCHITECTURES
Computer Organization and Architecture
Computer Organization and Architecture
Computer Organization and Architecture
1: Background1 System Programming ( 系統程式 ) Main goal: r What is a system software? m Compiler m Assembler m Loader and Linker m Debugger… r To design and.
Simplified Instructional Computer (SIC). SIC Architecture Two versions: SIC and SIC/XE (extra equipments). SIC program can be executed on SIC/XE. Memory.
Chapter 1 Background System Software Chih-Shun Hsu
1 The Simplified Instructional Computer (SIC) Hsiang-Fu Yu National Taipei University of Education.
System Programming Chih-Hung Wang Chapter 1: Background (Part-1) 參考書目
CS2422 Assembly Language & System Programming November 28, 2006.
Microprocessors Introduction to RISC Mar 19th, 2002.
What is an instruction set?
Pentium Addressing Modes
Unit -II CPU Organization By- Mr. S. S. Hire. CPU organization.
1 Instructions and Addressing
Part II: Addressing Modes
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
CH12 CPU Structure and Function
Background. Outlines Brief introduction to system software System software and machine architecture Simplified Instructional Computer (SIC) –Architecture.
Some material taken from Assembly Language for x86 Processors by Kip Irvine © Pearson Education, 2010 Slides revised 2/2/2014 by Patrick Kelley.
4-1 Chapter 4 - The Instruction Set Architecture Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring.
Instruction Set Architecture
Machine Instruction Characteristics
Instruction Set Architecture
1 Copyright © 2011, Elsevier Inc. All rights Reserved. Appendix A Authors: John Hennessy & David Patterson.
1 Appendix B Classifying Instruction Set Architecture Memory addressing mode Operations in the instruction set Control flow instructions Instruction format.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
Homework Problems 1. M1 runs the program P in 1.4 * 9 * ns or ns M2 runs the program P in 1.6*9800*10ns or ns Hence M2 is faster by.
Classifying GPR Machines TypeNumber of Operands Memory Operands Examples Register- Register 30 SPARC, MIPS, etc. Register- Memory 21 Intel 80x86, Motorola.
Computer architecture Lecture 11: Reduced Instruction Set Computers Piotr Bilski.
Chapter 4 The Von Neumann Model
Chapter Six Sun SPARC Architecture. SPARC Processor The name SPARC stands for Scalable Processor Architecture SPARC architecture follows the RISC design.
4-1 Chapter 4 - The Instruction Set Architecture Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
Computer Architecture and Organization
I/O Memory Reg File ALU Program Counter Instruction Register Control Interconnect Control 1)PC contains mem address of Instruction, 2)From memory, instr.
Computer Architecture EKT 422
1/23/20067CPS4200 System Programming Spring 1 Systems Programming Chapter 1 Background III.
ARM (Advanced RISC Machine; initially Acorn RISC Machine) Load/store architecture 65 instructions (all fixed length – one word each = 32 bits) 16 registers.
Computer Architecture Lecture 03 Fasih ur Rehman.
Chapter 10 Instruction Sets: Characteristics and Functions Felipe Navarro Luis Gomez Collin Brown.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
What is a program? A sequence of steps
Group # 3 Jorge Chavez Henry Diaz Janty Ghazi German Montenegro.
Instruction Sets. Instruction set It is a list of all instructions that a processor can execute. It is a list of all instructions that a processor can.
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures.
Instruction Sets: Characteristics and Functions  Software and Hardware interface Machine Instruction Characteristics Types of Operands Types of Operations.
ARM (Advanced RISC Machine; initially Acorn RISC Machine) Load/store architecture 65 instructions (all fixed length – one word each = 32 bits) 16 registers.
CSC 221 Computer Organization and Assembly Language Lecture 06: Machine Instruction Characteristics.
1 Instructions and Addressing Course website:
Computer Architecture. Instruction Set “The collection of different instructions that the processor can execute it”. Usually represented by assembly codes,
System Programming and administration
System Programming Design and Implementation of system software.
Microcomputer Programming
THE sic mACHINE CSCI/CMPE 3334 David Egle.
ECEG-3202 Computer Architecture and Organization
Chapter 9 Instruction Sets: Characteristics and Functions
ECEG-3202 Computer Architecture and Organization
Introduction to Microprocessor Programming
Chapter 10 Instruction Sets: Characteristics and Functions
Presentation transcript:

1 RISC Machines l RISC system »instruction –standard, fixed instruction format –single-cycle execution of most instructions –memory access is available only for load and store instruction –other instructions are register-to-register operations –a small number of machine instructions, and instruction format »a large number of general-purpose registers »a small number of addressing modes

2 RISC Machines l Three RISC machines »SPARC family »PowerPC family »Cray T3E

3 UltraSPARC (1/8) l Sun Microsystems (1995) l SPARC stands for scalable processor architecture l SPARC, SuperSPARC, UltraSPARC »Memory »Registers »Data formats »Instruction Formats »Addressing Modes

4 UltraSPARC (2/8) l Byte addresses »two consecutive bytes form halfword »four bytes form a word »eight bytes form doubleword l Alignment »halfword are stored in memory beginning at byte address that are multiples of 2 »words begin at addresses that are multiples of 4 »doublewords at addresses that are multiples of 8 l Virtual address space »UltraSPARC programs can be written using 2 64 bytes »Memory Management Unit

5 UltraSPARC (3/8) l Registers »~100 general-purpose registers »any procedure can access only 32 registers (r0~r31) –first 8 registers (r0~r8) are global, i.e. they can be access by all procedures on the system (r0 is zero) –other 24 registers can be visualized as a window through which part of the register file can be seen »program counter (PC) –the address of the next instruction to be executed »condition code registers »other control registers

6 UltraSPARC (4/8) l Data Formats »integers are 8-, 16-, 32-, 64-bit binary numbers »2’s complement is used for negative values »support both big-endian and little-endian byte orderings –(big-endian means the most significant part of a numeric value is stored at the lowest-numbered address) »three different floating-point data formats –single-precision, 32 bits long ( ) –double-precision, 64 bits long ( ) –quad-precision, 78 bits long ( )

7 UltraSPARC (5/8) l Three Instruction Formats »32 bits long »the first 2 bits identify which format is being used »Format 1: call instruction »Format 2: branch instructions »Format 3: remaining instructions

8 UltraSPARC (6/8) l Addressing Modes »immediate mode »register direct mode »memory addressing Mode Target address calculation PC-relative* TA= (PC)+displacement {30 bits, signed} Register indirect TA= (register)+displacement {13 bits, signed} with displacement Register indirect indexed TA= (register-1)+(register-2) *PC-relative is used only for branch instructions

9 UltraSPARC (7/8) l Instruction Set »<100 instructions »pipelined execution –while one instruction is being executed, the next one is fetched from memory and decoded »delayed branches –the instruction immediately following the branch instruction is actually executed before the branch is taken »special-purpose instructions –high-bandwidth block load and store operations –special “atomic” instructions to support multi-processor system

10 UltraSPARC (8/8) l Input and Output »a range of memory locations is logically replaced by device registers »each I/O device has a unique address, or set of addresses »no special I/O instructions are needed

11 PowerPC Architecture (1/8) l POWER stands for Performance Optimization with Enhanced RISC l History »IBM (1990) introduced POWER in 1990 with RS/6000 »IBM, Apple, and Motorola formed an alliance to develop PowerPC in 1991 »The first products were delivered near the end of 1993 »Recent implementations include PowerPC 601, 603, 604

12 PowerPC Architecture (2/8) l Memory »halfword, word, doubleword, quadword »may instructions may execute more efficiently if operands are aligned at a starting address that is a multiple of their length »virtual space 2 64 bytes »fixed-length segments, 256 MB »fixed-length pages, 4KB »MMU: virtual address -> physical address

13 PowerPC Architecture (3/8) l Registers »32 general-purpose registers, GPR0~GPR31 »FPU »condition code register reflects the result of certain operations, and can be used as a mechanism for testing and branching »Link Register (LR) and Count Register (CR) are used by some branch instructions »Machine Status Register (MSR)

14 PowerPC Architecture (4/8) l Data Formats »integers are 8-, 16-, 32-, 64-bit binary numbers »2’s complement is used for negative values »support both big-endian (default) and little-endian byte orderings »three different floating-point data formats –single-precision, 32 bits long ( ) –double-precision, 64 bits long ( ) »characters are stored using 8-bit ASCII codes

15 PowerPC Architecture (5/8) l Seven Instruction Formats »32 bits long »the first 6 bits identify specify the opcode »some instruction have an additional extended opcode »the complexity is greater than SPARC »fixed-length makes decoding faster and simple than VAX and x86

16 PowerPC Architecture (6/8) l Addressing Modes »immediate mode, register direct mode »memory addressing Mode Target address calculation R egister indirect TA=(register) Register indirect with indexedTA=(register-1)+(register-2) Register indirect with TA=(register)+displacement {16 bits, signed} immediate indexed »branch instruction »ModeTarget address calculation Absolute TA= actual address RelativeTA= current instruction address + displacement {25 bits, signed} Link Register TA= (LR) Count RegisterTA= (CR)

17 PowerPC Architecture (7/8) l Instruction Set »200 machine instructions –more complex than most RISC machines –e.g. floating-point “multiply and add” instructions that take three input operands –e.g. load and store instructions may automatically update the index register to contain the just-computed target address »pipelined execution –more sophisticated than SPARC »branch prediction

18 PowerPC Architecture (8/8) l Input and Output »two different modes –direct-store segment: map virtual address space to an external address space –normal virtual memory access

19 Cray T3E Architecture (1/8) l Cray Research, Inc. (1995) l Massively parallel processing system (MPP) l Scientific computing l T3E »16~2048 processing elements (PE) »three-dimensional network »each PE consists of a DEC Alpha EV5 RISC microprocessor, local memory, and performance- accelerating control logic

20 Cray T3E Architecture (2/8) l Local Memory »64MB ~ 2GB »physically distributed, logically shared memory »byte, word, longword, quadword »64-bit virtual addresses

21 Cray T3E Architecture (3/8) l Registers »32 general-purpose registers, GPR0~GPR31 »32 floating-point registers, F0~F31 –F31 always contain the value zero »program counter PC »other status and control registers

22 Cray T3E Architecture (4/8) l Data Formats »two different types of floating-point data formats –one for compatibility with VAX –the other for IEEE standard formats »characters are stored using 8-bit ASCII codes –since there are no byte load or store operations, characters that are to be manipulated separately are usually stored one per longword

23 Cray T3E Architecture (5/8) l Five Basic Instruction Formats »32 bits long »the first 6 bits identify specify the opcode »some instruction have an additional function field

24 Cray T3E Architecture (6/8) l Addressing Modes »immediate mode, register direct mode »memory addressing Mode Target address calculation PC-relativeTA=(PC)+displacement {23 bits, signed} Register indirect with TA=(register)+displacement {16 bits, signed} displacement »register indirect with displacement mode is used for load and store operations and for subrountine jumps »PC-relative mode is used for conditional and unconditional branches

25 Cray T3E Architecture (7/8) l Instruction Set »130 machine instructions –no byte or word load and store instructions