Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CS 447: Fall 2001 Chapter 1: Computer Abstraction and Technology (Introduction to the course) Fall 2001 CS 447 1 Instruction Set Architecture • Each “family” of computer processors are characterized by its Instruction Set Architecture – “architecture” for short – Example architectures: • • • • • Fall 2001 Sun UltraSparc Intel x86 MIPS IBM mainframe PowerPC CS 447 2 Instruction Set Architecture • Abstraction – a model that renders lower-level details of computer systems temporarily invisible in order to facilitate design of sophisticated systems – Allows for design of ISA Fall 2001 CS 447 3 Instruction Set Architecture • Instruction Set Architecture – an interface between the hardware and the software – Includes: • Instruction set – Set of all instructions/operations the computer is capable of executing • Instruction encoding/representation – How the instructions are represented in memory Fall 2001 CS 447 4 Instruction Set Architecture • Course objectives: – Learn the ISA of the MIPS family of processors • Learn the set of instructions • Be able to write programs for this architecture • Learn many details about the internal organization of the MIPS (RISC I/DLX) architecture – We want to go from the basics of digital logic design up through the memory hierarchy and the software-hardware interface Fall 2001 CS 447 5 Instruction Set Architecture • Computer instructions include primitive operations that are grouped together to form high-level constructs – Instruction categories: arithmetic/logical, constant manipulation, comparison, load/store, branch, I/O, data movement Fall 2001 CS 447 6 Instruction Set Architecture • Instructions have a symbolic (English) and a binary representation (just like data!) – Example • add $1, $2, $3 – Add the contents of registers 2 and 3 and store the result into register 1 – This representation is called “assembly language” • 00000000001000100001100000000010 – This representation is called “machine language”. There’s a 1-to-1 mapping between these two representations, but this form can be stored in computer memory – Programmers can write programs using the symbolic form of instructions and use an “assembler” to perform the conversion to the (we’ll use SPIM for this) Fall 2001 binary representation CS 447 7 Instruction Set Architecture • A processor can only perform operations on data stored in its registers • Registers are memory locations inside the processor that can only hold one word of data (typically 32 or 64 bits) Fall 2001 CS 447 8 Instruction Set Architecture • Typically, programmers don’t have to worry about ISA – Compilers translate high-level programming languages into machinecode instructions and data • Compilers are more complex than assemblers, since there’s no 1-to-1 mapping between high-level programs and machine instructions Fall 2001 CS 447 9 Processor Design • Processors are simply collections of digital-logic circuits • Digital logic works by performing Boolean functions (and, or, not) • The basic boolean functions are implemented by creating circuits using transistors (and sometimes resistors), depending on the technology process being used Fall 2001 CS 447 10 Processor Fabrication • Transistors and wires are created on a microscopic-level on a chip by applying layers and masks of doped silicon and aluminum/copper to a silicon substrate • The mask pattern is created in a CAD tool and physically made using photolithography (photograph) • The processor ends up being manufactured on a die. Fall 2001 CS 447 11 Processor Fabrication • The silicon substrate comes as a cylinder • The cylinder is cut into disks – The disks are called wafers • The rectangular die is “printed” as many times as possible on the disk • The wafer is cut into dies – Some dies are thrown out right away if there are observable defects Fall 2001 CS 447 12 Processor Fabrication • The dies are then wirebonded into a package – They can now be tested, more defects are thrown out – Yield = # of good dies / # of total dies made Fall 2001 CS 447 13