The Instruction Set Architecture Level Chapter 5.

Slides:



Advertisements
Similar presentations
Instruction Set-Intro
Advertisements

INSTRUCTION SET ARCHITECTURES
Princess Sumaya Univ. Computer Engineering Dept. Chapter 2: IT Students.
Microprocessors General Features To be Examined For Each Chip Jan 24 th, 2002.
1 Registers and MAL - Part I. Motivation So far there are some details that we have ignored instructions can have different formats most computers have.
Addressing A large portion of the bits in a program are used to specify where the operands come from rather than what operations are being performed on.
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Choice for the rest of the semester New Plan –assembler and machine language –Operating systems Process scheduling Memory management File system Optimization.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
State Machines Used to Design Sequential Circuits.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The Instruction Set Architecture.
Informationsteknologi Friday, November 16, 2007Computer Architecture I - Class 111 Today’s class Instruction set architecture.
Chih-Hung Wang Chapter 1: Background (Part-1) 參考書目 Leland L. Beck, System Software: An Introduction to Systems Programming (3rd), Addison-Wesley, 1997.
The ISA Level The Instruction Set Architecture (ISA) is positioned between the microarchtecture level and the operating system level.  Historically, this.
Chapters 4 & 5: LC-3 Computer Architecture Machine Instructions Assembly language Programming in Machine and Assembly Language.
Embedded Systems: Hardware Computer Processor Basics ISA (Instruction Set Architecture) RTL (Register Transfer Language) Main reference: Peckol, Chapter.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 2:
MIPS Instruction Set Advantages
Lecture 18 Last Lecture Today’s Topic Instruction formats
GROUP #4 CHAPTER 10 JOEL FRAGA JAIME J.OCON DEISY HERNANDEZ.
Lecture 17 Today’s Lecture –Instruction formats Little versus big endian Internal storage in the CPU: stacks vs. registers Number of operands and instruction.
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,
4-1 Chapter 4 - The Instruction Set Architecture Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring.
The Instruction Set Architecture Level Dept. of Computer Science Virginia Commonwealth University.
Instruction Set Architecture
Machine Instruction Characteristics
Instruction Set Architecture
4-1 Chapter 4 - The Instruction Set Architecture Department of Information Technology, Radford University ITEC 352 Computer Organization Principles of.
Assembly Language Issues – Page 1CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Assembly Language Issues Reading: Stallings,
L/O/G/O The Instruction Set Chapter 9 CS.216 Computer Architecture and Organization.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
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.
The ISA Level The Instruction Set Architecture (ISA) is positioned between the microarchtecture level and the operating system level.  Historically, this.
Chapter 5 A Closer Look at Instruction Set Architectures.
Chapter 5 A Closer Look at Instruction Set Architectures.
Central Processing Unit. MAJOR COMPONENTS OF CPU.
1 Instruction Set Architecture (ISA) Alexander Titov 10/20/2012.
Module 3 Instruction Set Architecture (ISA): ISA Level Elements of Instructions Instructions Types Number of Addresses Registers Types of Operands.
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.
Execution of an instruction
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
COMPUTER ARCHITECURE INSTRUCTION SET ARCHITECTURE.
Computer Architecture and Organization
Microprocessors The ia32 User Instruction Set Jan 31st, 2002.
Instruction Sets: Addressing modes and Formats Group #4  Eloy Reyes  Rafael Arevalo  Julio Hernandez  Humood Aljassar Computer Design EEL 4709c Prof:
Lecture 5 A Closer Look at Instruction Set Architectures Lecture Duration: 2 Hours.
What is a program? A sequence of steps
Ass. Prof. Dr Masri Ayob TK 2123 Lecture 14: Instruction Set Architecture Level (Level 2)
Computer Organization Instructions Language of The Computer (MIPS) 2.
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.
Computer Organization 1
Instruction Sets: Characteristics and Functions  Software and Hardware interface Machine Instruction Characteristics Types of Operands Types of Operations.
Computer Architecture. Instruction Set “The collection of different instructions that the processor can execute it”. Usually represented by assembly codes,
Overview of Instruction Set Architectures
A Closer Look at Instruction Set Architectures
A Closer Look at Instruction Set Architectures: Expanding Opcodes
William Stallings Computer Organization and Architecture 8th Edition
BIC 10503: COMPUTER ARCHITECTURE
CS170 Computer Organization and Architecture I
The Instruction Set Architecture Level
Chapter 8 Central Processing Unit
ECEG-3202 Computer Architecture and Organization
ECEG-3202 Computer Architecture and Organization
Introduction to Microprocessor Programming
Chapter 6 Programming the basic computer
Presentation transcript:

The Instruction Set Architecture Level Chapter 5

Tradeoffs a)Hardware wants simple clean from point of view of components b)Software wants complex, fast, extended instructions c)Sales (customers) want backward compatibility

Good ISA a)Implement efficiently in current and future technology b)Good target for compiled code

Properities of ISA level a)Memory model b)Registers c)Data Types d)Instructions e)Security In Addition a)Pipeline b)Superscalar c)Etc. Some officially documented (SPARC)

ISA Level The ISA level is the interface between the compilers and the hardware.

Memory Models An 8-byte word in a little-endian memory. (a) Aligned. (b) Not aligned. Some machines require that words in memory be aligned.

Memory Model a)Alignment b)Legacy c)Cache logic –Synchronization –Serialized –other d)Legacy e)Split memory data/instructions f)Linear g)Access modes

Registers a)ISA always visible to micro architecture b)Micro level some visible to ISA c)Register types –General –Specific –Mixed (EDX) –Flag Register – PSW N negative ZZero VoVerflow CCarry AAuxilary cary PParity

ISA Modes a)Pentium modes –Real mode 8088 compatibility –Virtual 8086 mode – run multiple 8088 protected –Protected mode – all features on –Memory 16K different 4 GB address spaces –Limited by OS

Overview of the Pentium 4 ISA Level The Pentium 4’s primary registers.

UltraSparc III ISA a)64 bit machine b)2 64 linear memory – larger than needed c)Register windows – emulate call stack in registers d)Load/store architecture

Overview of the UltraSPARC III ISA Level (1) The UltraSPARC III’s general registers.

Overview of the UltraSPARC III ISA Level (2) Operation of the UltraSPARC III register windows.

8051 Architecture a)64K for program b)64K for data c)Split for ROM/RAM combination d)4 sets of registers ( 8 registers per set) e)Allows for quick interrupt f)No built in security g)Bit Addressable memory h)Registers and IO use memory space i)Some registers general and some dedicated

Overview of the 8051 ISA Level (a) On-chip memory organization for the (b) Major 8051 registers.

Data Types on the Pentium 4 The Pentium 4 numeric data types. Supported types are marked with ×.

Data Types on the UltraSPARC III The UltraSPARC III numeric data types. Supported types are marked with ×.

Data Types on the 8051 The 8051 numeric data types. Supported types are marked with ×.

Instruction Formats (1) Four common instruction formats: (a) Zero-address instruction. (b) One-address instruction (c) Two-address instruction. (d) Three-address instruction.

Instruction Formats (2) Some possible relationships between instruction and word length.

Instruction Design Criteria a)Stack based vs. many registers b)Now vs. the future c)Short are better than long (within limits) d)Leave room for expansion e)Upper limit = (cache band width)/instruction length f)Bits in address field

Expanding Opcodes (1) An instruction with a 4-bit opcode and three 4-bit address fields.

Expanding Opcodes (2) An expanding opcode allowing 15 three-address instructions, 14 two-address instructions, 31 one-address instructions, and 16 zero-address instructions. The fields marked xxxx, yyyy, and zzzz are 4-bit address fields.

Pentium opcodes a)Highly complex and irregular b)6 variable length fields, 5 are optional c)Only one operand in memory

The Pentium 4 Instruction Formats The Pentium 4 instruction formats.

UltraSPARC instruction format a)All 32 bit b)Aligned in memory c)Up to 3 operands in instruction

The UltraSPARC III Instruction Formats The original SPARC instruction formats.

8051 Instruction format a)6 formats b)1,2 or 3 bytes long c)Original 8088 compare to Pentium structure

The 8051 Instruction Formats The 8051 instruction formats.

Address modes a)Immediate - embedded constant b)Direct – full address in instruction c)Register Addressing – refers to register instead of memory d)Register Indirect addressing – address in register e)Indexed Addressing – memory iindexed by register f)Based-Index Addressing – add 2 register plus an optional offset g)Stack Addressing – h)Index mode – branch +- offset

Addressing An immediate instruction for loading 4 into register 1. Register Indirect Addressing: a generic assembly program for computing the sum of the elements of an array.

Indexed Addressing (1) A generic assembly program for computing the OR of Ai AND Bi for two 1024-element arrays.

Indexed Addressing (2) A possible representation of MOV R4,A(R2).

Reverse Polish Notation (1) Each railroad car represents one symbol in the formula to be converted from infix to reverse Polish notation.

Reverse Polish Notation (2) Decision table used by the infix-to-reverse Polish notation algorithm

Reverse Polish Notation (3) Some examples of infix expressions and their reverse Polish notation equivalents.

Evaluation of Reverse Polish notation Formulas Use of a stack to evaluate a reverse Polish notation formula.

Orthogonality of Opcodes and Addressing Modes (1) A simple design for the instruction formats of a three-address machine.

Orthogonality of Opcodes and Addressing Modes (2) A simple design for the instruction formats of a two-address machine.

The Pentium 4 Addressing Modes (1) The Pentium 4 32-bit addressing modes. M[x] is the memory word at x.

The Pentium 4 Addressing Modes (2) Access to a[i].

Discussion of Addressing Modes A comparison of addressing modes.

Instruction types a)Data movement instructions b)Dyadic Operations add, sub, mul, div, and c)Monadic Operations one operand and one result (shift) d)Comparison and Conditional branch e)Procedure calls f)Loop Control g)Input/Output

Loop Control (a) Test-at-the-end loop. (b) Test-at-the-beginning loop.

Input/Output (1) Device registers for a simple terminal.

Input/Output (2) An example of programmed I/O.

Input/Output (3) A system with a DMA controller.

The Pentium 4 Instructions (1) A selection of the Pentium 4 integer instructions.

The Pentium 4 Instructions (2) A selection of the Pentium 4 integer instructions.

The Pentium 4 Instructions (3) A selection of the Pentium 4 integer instructions.

The Pentium 4 Instructions (4) A selection of the Pentium 4 integer instructions.

The UltraSPARC III Instructions (1) The primary UltraSPARC III integer instructions.

The UltraSPARC III Instructions (2) The primary UltraSPARC III integer instructions.

The UltraSPARC III Instructions (3) The primary UltraSPARC III integer instructions.

The UltraSPARC III Instructions (4) The primary UltraSPARC III integer instructions.

The UltraSPARC III Instructions (5) The primary UltraSPARC III integer instructions.

The UltraSPARC III Instructions (6) Some simulated UltraSPARC III instructions.

8051 Instructions (1) The 8051 Instruction set.

8051 Instructions (2) The 8051 Instruction set.

8051 Instructions (3) The 8051 Instruction set.

8051 Instructions (4) The 8051 Instruction set.

8051 Instructions (5) The 8051 Instruction set.

Sequential Flow of Control and Branches Program counter as a function of time (smoothed). (a) Without branches. (b) With branches.

Recursive Procedures (1) Initial configuration for the Towers of Hanoi problem for five disks.

Recursive Procedures (2) The steps required to solve the Towers of Hanoi for three disks.

Recursive Procedures (3) The steps required to solve the Towers of Hanoi for three disks.

Recursive Procedures (4) A procedure for solving the Towers of Hanoi.

Recursive Procedures (5) The stack at several points during the execution of Fig

Coroutines (1) When a procedure is called, execution of the procedure always begins at the first statement of the procedure.

Coroutines (2) When a coroutine is resumed, execution begins at the statement where it left off the previous time, not at the beginning.

Interrupts Time sequence of multiple interrupt example.

Towers of Hanoi in Pentium 4 Assembly Language (1) Towers of Hanoi for Pentium 4....

Towers of Hanoi in Pentium 4 Assembly Language (2) Towers of Hanoi for Pentium 4....

Towers of Hanoi in Pentium 4 Assembly Language (3) Towers of Hanoi for Pentium 4....

Towers of Hanoi in UltraSPARC III Assembly Language (1) Towers of Hanoi for UltraSPARC III....

Towers of Hanoi in UltraSPARC III Assembly Language (2) Towers of Hanoi for UltraSPARC III....

Towers of Hanoi in UltraSPARC III Assembly Language (3) Towers of Hanoi for UltraSPARC III....

Reducing Memory References The Itanium 2’s registers.

Instruction Scheduling An IA-64 bundle contains three instructions.

Reducing Conditional Branches: Predication (1) (a) An if statement. (b) Generic assembly code for a). (c) A conditional instruction.

Reducing Conditional Branches: Predication (2) (a) An if statement. (b) Generic assembly code for a). (c) Conditional instruction.

Reducing Conditional Branches: Predication (3) (a) An if statement. (b) Generic assembly code for a). (c) Predicated instruction.