Download Instruction Set Architecture

yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts

Assembly language wikipedia, lookup

Very long instruction word wikipedia, lookup

ILLIAC IV wikipedia, lookup

Parallel computing wikipedia, lookup

Supercomputer architecture wikipedia, lookup

CS 447: Fall 2001
Chapter 1: Computer
Abstraction and Technology
(Introduction to the course)
Fall 2001
CS 447
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
IBM mainframe
CS 447
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
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
Fall 2001
CS 447
Instruction Set Architecture
• Course objectives:
– Learn the ISA of the MIPS family of
• Learn the set of instructions
• Be able to write programs for this
• Learn many details about the internal
organization of the MIPS (RISC I/DLX)
– 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
Instruction Set Architecture
• Computer instructions include
primitive operations that are
grouped together to form high-level
– Instruction categories:
arithmetic/logical, constant
manipulation, comparison, load/store,
branch, I/O, data movement
Fall 2001
CS 447
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
Instruction Set Architecture
• A processor can only perform
operations on data stored in its
• Registers are memory locations
inside the processor that can only
hold one word of data (typically 32
or 64 bits)
Fall 2001
CS 447
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
Fall 2001
CS 447
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
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
Processor Fabrication
• The silicon substrate comes as a
• 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
Processor Fabrication
• The dies are then wirebonded into a
– They can now be tested, more defects
are thrown out
– Yield = # of good dies / # of total dies
Fall 2001
CS 447