The Instruction Set Architecture. Hardware – Software boundary Java Program C Program Ada Program Compiler Instruction Set Architecture Microcode Hardware.

Slides:



Advertisements
Similar presentations
CH10 Instruction Sets: Characteristics and Functions
Advertisements

Instruction Set Design
Chapter 8: Central Processing Unit
Week 3. Assembly Language Programming  Difficult when starting assembly programming  Have to work at low level  Use processor instructions >Requires.
1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
RISC / CISC Architecture By: Ramtin Raji Kermani Ramtin Raji Kermani Rayan Arasteh Rayan Arasteh An Introduction to Professor: Mr. Khayami Mr. Khayami.
INSTRUCTION SET ARCHITECTURES
Instruction Set Architecture Classification According to the type of internal storage in a processor the basic types are Stack Accumulator General Purpose.
ITCS 3181 Logic and Computer Systems 2015 B. Wilkinson slides3.ppt Modification date: March 16, Addressing Modes The methods used in machine instructions.
 Suppose for a moment that you were asked to perform a task and were given the following list of instructions to perform:
Chapter 6: Machine dependent Assembler Features
CSC 2400 Computer Systems I Lecture 3 Big Ideas. 2 Big Idea: Universal Computing Device All computers, given enough time and memory, are capable of computing.
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Chapter XI Reduced Instruction Set Computing (RISC) CS 147 Li-Chuan Fang.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Elementary Data Types Scalar Data Types Numerical Data Types Other
State Machines Used to Design Sequential Circuits.
Implementation of a Stored Program Computer
Cisc Complex Instruction Set Computing By Christopher Wong 1.
Assembly & Machine Languages
Operand Addressing and Instruction Representation
Levels of Architecture & Language CHAPTER 1 © copyright Bobby Hoggard / material may not be redistributed without permission.
Instruction Set Architecture
Machine Instruction Characteristics
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
Implementation of a Stored Program Computer ITCS 3181 Logic and Computer Systems 2014 B. Wilkinson Slides2.ppt Modification date: Oct 16,
CS 147 June 13, 2001 Levels of Programming Languages Svetlana Velyutina.
Chapter 5 A Closer Look at Instruction Set Architectures.
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
1 Text Reference: Warford. 2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization.
Ted Pedersen – CS 3011 – Chapter 10 1 A brief history of computer architectures CISC – complex instruction set computing –Intel x86, VAX –Evolved from.
Computer Architecture EKT 422
Operand Addressing And Instruction Representation Cs355-Chapter 6.
Instructions. Portability In addition to making hardware backward compatible, we have also made software portable. In describing software, “portable”
ECEG-3202 Computer Architecture and Organization Chapter 7 Reduced Instruction Set Computers.
Chapter 10 Instruction Sets: Characteristics and Functions Felipe Navarro Luis Gomez Collin Brown.
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)
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.
CISC. What is it?  CISC - Complex Instruction Set Computer  CISC is a design philosophy that:  1) uses microcode instruction sets  2) uses larger.
INSTRUCTION SET PRINCIPLES. Computer Architecture’s Changing Definition  1950s to 1960s: Computer Architecture Course = Computer Arithmetic  1970s to.
EEL 4709C Prof. Watson Herman Group 4 Ali Alshamma, Derek Montgomery, David Ortiz 11/11/2008.
Introduction to computer software. Programming the computer Program, is a sequence of instructions, written to perform a specified task on a computer.
A LECTURE NOTE. Introduction to Programming languages.
Machine dependent Assembler Features
CSCI-235 Micro-Computer Applications
System Programming and administration
A Closer Look at Instruction Set Architectures
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Microprocessor Systems Design I
Microprocessor Systems Design I
Overview Introduction General Register Organization Stack Organization
A Closer Look at Instruction Set Architectures
A Closer Look at Instruction Set Architectures: Expanding Opcodes
THE sic mACHINE CSCI/CMPE 3334 David Egle.
ECEG-3202 Computer Architecture and Organization
August 29 New address for Fang-Yi
Chapter 9 Instruction Sets: Characteristics and Functions
A Closer Look at Instruction Set Architectures Chapter 5
ECEG-3202 Computer Architecture and Organization
Introduction to Microprocessor Programming
January 16 The books are here. Assignment 1 now due Thursday 18 Jan.
Instructions.
Lecture 4: Instruction Set Design/Pipelining
Chapter 10 Instruction Sets: Characteristics and Functions
Presentation transcript:

The Instruction Set Architecture

Hardware – Software boundary Java Program C Program Ada Program Compiler Instruction Set Architecture Microcode Hardware

Data types 4 The ISA defines the data types native to a particular machine. Some examples of numeric data types that may or may not be present on the machine: –Signed integer –Unsigned integer –Floating point –Binary Coded Decimal (BCD) integers –Packed numeric representations 4 Java does not support unsigned, BCD, or packed integer representations.

Instruction Format 4 The ISA defines the instruction format(s) for the machine –Fixed or variable length instructions –0, 1, 2, or 3 operand instructions –Addressing modes 4 The Java Virtual Machine –9 instruction formats –Variable length –Little in the way of addressing modes; immediate, indexed

Examples 4 See handout of IBM System 360 ISA –5 instruction formats –A long list of instructions –Condition codes 4 This is a CISC (Complex Instruction Set Computer) Architecture

Addressing modes 4 Why more than one type? –Short is good, but not sufficient for all purposes –Immediate address – the data is in the same memory word as the instruction –Register – the data is in one of the registers, memory locations on the processor chip itself –Absolute – specify the exact memory location in use –Indexed – Data is specified by a base and displacement –Indirect – address specified contains an address, rather than data

ISA and Microarchitecture 4 So, you have this wonderful idea for improving performance of your processor –Will all the existing software still run? –Will the same operating system work? 4 The microarchitecture separates the actual hardware from the ISA. –Do the hardware improvements. –Modify the microcode to match the existing ISA to the new hardware. All existing applications continue to run. New applications can take advantage of new features.

Language Levels Hardware: understands voltages Microarchitecture: bit settings that activate specific data flows ISA: instruction set, addressing modes of a specific line of computers C, Java, etc.: designed for representing a problem solution; independent of the machine Higher level images of the computer: Spreadsheets, Word processors, databases – closer to the problem

Access to the hardware 4 Programs that can manipulate the hardware can be dangerous. 4 Hardware is protected by providing several classes of access rights. 4 Operating system has complete access 4 User programs are limited. 4 Users can access the hardware by invoking operating system functions.

Why many high level languages? 4 Notice the position of the high level languages in our chart –They exist to make it easier to express the problem –Different application areas have different needs in terms of expressing problems. 4 Ex. APL – single instruction to multiply two matrices

Compiler 4 A compiler is a program 4 Its input is the text of a program in a particular language, say c 4 The compiler translates the c code into the instruction set understood by the computer 4 The translation is not a line by line transliteration. Optimization.

Instructions and Data 4 Two distinct kinds of things –The machine understands a finite subset of possible bit patterns as instructions. –Data can take any bit pattern. 4 Usually stored separately. Data accessed when an instruction calls for it.

Black boxes 4 To reduce complexity, we sometimes show only the input and output of an operation without the details of how it gets done. We call it a black box, because the content of the box is hidden. a, b a + b Turing machine that adds We can combine the boxes and use them any way we want.

Turing Machines 4 Mathematical model of a machine 4 Turing was interested in understanding what could be computed and what could not be computed. 4 The general purpose computers of today are implementations of the Turing model 4 That’s why all computers can do the same things, given enough time and memory – because they are all Turing machines.