Some Other Instruction Set Architectures. Overview Alpha SPARC i386.

Slides:



Advertisements
Similar presentations
Instruction Set Design
Advertisements

Henk Corporaal TUEindhoven 2011
Review of the MIPS Instruction Set Architecture. RISC Instruction Set Basics All operations on data apply to data in registers and typically change the.
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
1 ECE462/562 ISA and Datapath Review Ali Akoglu. 2 Instruction Set Architecture A very important abstraction –interface between hardware and low-level.
Machine Instructions Operations 1 ITCS 3181 Logic and Computer Systems 2015 B. Wilkinson Slides4-1.ppt Modification date: March 18, 2015.
Comp Sci Floating Point Arithmetic 1 Ch. 10 Floating Point Unit.
ELEN 468 Advanced Logic Design
CSE378 ISA evolution1 Evolution of ISA’s ISA’s have changed over computer “generations”. A traditional way to look at ISA complexity encompasses: –Number.
S. Barua – CPSC 440 CHAPTER 2 INSTRUCTIONS: LANGUAGE OF THE COMPUTER Goals – To get familiar with.
What is an instruction set?
CSE378 MIPS ISA1 MIPS History MIPS is a computer family –R2000/R3000 (32-bit); R4000/4400 (64-bit); R8000; R10000 (64-bit) etc. MIPS originated as a Stanford.
Instruction Set Design by Kip R. Irvine (c) Kip Irvine, All rights reserved. You may modify and copy this slide show for your personal use,
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.
1 Computer Architecture COSC 3430 Lecture 3: Instructions.
Chapter Six Sun SPARC Architecture. SPARC Processor The name SPARC stands for Scalable Processor Architecture SPARC architecture follows the RISC design.
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
Chapter 2 Instructions: Language of the Computer Part I.
Computer Science 516 RISC Architecture: MIPS, ARM.
Computer Architecture and Organization
Computer Organization and Architecture Instructions: Language of the Machine Hennessy Patterson 2/E chapter 3. Notes are available with photocopier 24.
Computer Architecture EKT 422
Adapted from Computer Organization and Design, Patterson & Hennessy, UCB ECE232: Hardware Organization and Design Part 5: MIPS Instructions I
Processor Types And Instruction sets Chapter- 5.
What is a program? A sequence of steps
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 7, 8 Instruction Set Architecture.
Lecture 2: Instruction Set Architecture part 1 (Introduction) Mehran Rezaei.
Computer Organization Instructions Language of The Computer (MIPS) 2.
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures.
MIPS assembly. Computer  What’s in a computer?  Processor, memory, I/O devices (keyboard, mouse, LCD, video camera, speaker), disk, CD drive, …
Computer Architecture. Instruction Set “The collection of different instructions that the processor can execute it”. Usually represented by assembly codes,
Computer Architecture & Operations I
Computer Architecture & Operations I
Instruction sets : Addressing modes and Formats
Overview of Instruction Set Architectures
A Closer Look at Instruction Set Architectures
ELEN 468 Advanced Logic Design
An example of multiplying two numbers A = A * B;
Basics Of X86 Architecture
William Stallings Computer Organization and Architecture 8th Edition
Assembly Programming using MIPS R3000 CPU
MIPS Assembly.
Lecture 4: MIPS Instruction Set
MIPS assembly.
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures
MIPS Instructions.
The University of Adelaide, School of Computer Science
MIPS History MIPS is a computer family
MIPS History MIPS is a computer family
Computer Architecture
Evolution of ISA’s ISA’s have changed over computer “generations”.
What is Computer Architecture?
Introduction to Microprocessor Programming
COMS 361 Computer Organization
What is Computer Architecture?
What is Computer Architecture?
Evolution of ISA’s ISA’s have changed over computer “generations”.
Assembly Programming using MIPS R3000 CPU
MIPS History MIPS is a computer family
Review In last lecture, done with unsigned and signed number representation. Introduced how to represent real numbers in float format.
Evolution of ISA’s ISA’s have changed over computer “generations”.
CPU Structure CPU must:
Lecture 4: Instruction Set Design/Pipelining
Evolution of ISA’s ISA’s have changed over computer “generations”.
CSE378 Introduction to Machine Organization
Presentation transcript:

Some Other Instruction Set Architectures

Overview Alpha SPARC i386

Alpha Processor architecture designed by Digital Equipment Corporation (DEC) –Purchased by Compaq –Purchased by HP The alpha is a 64-bit RISC processor similar to quite similar to MIPS The alpha is also dead  The alpha processor handbook is a superb piece of documentation

Alpha “Alpha AXP is a 64-bit load/store RISC architecture that is designed with particular emphasis on the three elements that most affect performance: clock speed, multiple instruction issue, and multiple processors.” The first implementation issues 2 instructions per cycle.

Alpha 32 Integer registers, all 64 bits wide. 32 floating point registers, all 64 bits wide 2 Lock registers Processor cycle counter register

Alpha 32 bit instruction words opcoderarbMemory_disp Memory Format opcoderaBranch_disp Branch Format

Alpha 32 bit instruction words opcoderarb opcodera Operate Format rcSBZ0Function rcFunction1LIT

Alpha Alpha assembly convention has destination register last –add $t0, 4, $t1# $t1 = $t0 + 4

Alpha Jump instruction uses a memory format encoding –Destination specified in Rb –Displacement field used to hint where the jump encoded in Rb will go, allowing early I- cache fill

Alpha s4add,s8add, s4sub, s8sub –Scaled addition/subtraction by 4 and 8 respectively –How would you do this in MIPS?

Alpha Conditional move integer (CMOVxx) –cmoveq $t0, 4, $t1# $t1 = 4 if $t0 eq 0 –cmovge $t0, $t1, $t2# $t2 = $t1 if $t0 ge 0 –How would you do this in MIPS? $t1 = MAX($t1, $t2) –cmplt $t1, $t2, $t3 –cmovne $t3, $t2, $t1 What is nice from an architecture point of view about the cmov instructions?

Alpha No divide instruction –Compiler must provide divide routines All memory accesses must be on a 64-bit word aligned boundary –Tedious when all you want is a single byte. –BWX extensions added in a later revision

SPARC Designed at the same time as the MIPS –MIPS was a Stanford project SPARC descended from the RISC project at Berkeley –Scalable Processor ARChitecture –was more successful than the MIPS project. –MIPS (and other processors like it) are known as RISC processors.

SPARC Concept of register windows –processor has up to 128 registers 32 are visible at any one time 8 global –8 local to current procedure Store temporary variables, intermediate working –16 shared with adjacent procedures Used to pass parameters and return values between functions

SPARC GPF1 - F2F2 – F3F2, local Function 2, 24 registers GPF2 – F3F3 – F4F3, local Function 3, 24 registers Global

SPARC Register Windows –alternative to going through tedious procedure entry / exit sequences where registers are saved to a stack –MIPS designers leave precise register usage up to compilers

Intel i386 registers are not general purpose –instructions expect their operands in specific registers destination can be either a memory location or a register complex instruction formats –somewhat restrictive too –in arithmetic instructions, the destination has to match one of the sources.

Intel i386 CPU does not require aligned access –instruction length varies, 1 – 17 bytes can access byte, 16-bit, and 32-bit parameters –most operations provide two parameter length modes –choice between 16bit and 32bit made with bit in code segment register.