1 / 14

The Instruction Set Architecture

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

clemance
Download Presentation

The Instruction Set Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Instruction Set Architecture

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

  3. Data types • 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 • Java does not support unsigned, BCD, or packed integer representations.

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

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

  6. Addressing modes • 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

  7. ISA and Microarchitecture • 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? • 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.

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

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

  10. Why many high level languages? • 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. • Ex. APL – single instruction to multiply two matrices

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

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

  13. Black boxes • 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.

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

More Related