Download instruction set architecture

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

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

Document related concepts
no text concepts found
Transcript
1
09/15/2013
•
•
•
•
Quick Overview what we already discuss.
Intel Microprocessors basic Concepts
Instruction Set of Microprocessor
Pin Configuration of 8086/8088 up
09/15/2013
Today's Lecture
2
Introduction:
A microprocessor (abbreviated as µP or uP) is an electronic computers central
processing unit (CPU) made from miniaturized transistors and other circuit elements
on a single semiconductor integrated circuit (IC).
It performs arithmetic, logic and control operations. It contains a control unit, an
arithmetic & logic unit, registers and links to store data and connect to peripherals.
09/15/2013
What is a Microprocessor?
What is a Microcontroller?
Dedicated to performing one task. Integrates the memory and other features of a
microprocessor.
3
•
•
•
•
•
•
•
4004
- 1971
8008
- 1972
8080
- 1974
8086/88 - 1978
80286 - 1982
80386 - 1985
80486 - 1989








Pentium
P Pro
P II
P III
P IV
PM
P 4 HT
PD
- 1993
- 1995
- 1998
- 1999
- 2000
- 2003
- 2004.
- 2005
09/15/2013
Intel ‘Family’ of Microprocessors
• Intel® Pentium® processor Extreme – 2006
• Intel® Core™ Duo Processors
- 2006
4
Intel 4004 – 4Bit (1971)
The World's First Single Chip Microprocessor (2,300 transistors )
invented by Intel engineers Federico Faggin, Ted Hoff, and Stan Mazor.
09/15/2013
5
09/15/2013
Intel 8008 – 8Bit (1972)
6
Intel 8080 – 16Bit (1978)
09/15/2013
7
09/15/2013
Intel Pentium
Intel 8086
8
Applications:
Uses:
 Control –Where the processor is used to control/perform actions.
09/15/2013
 Data Processing – Data Manipulation and Calculations.
Application Types:
 Low-end – Simple control use. (Traffic Lights.)
 High-end –
• Complicated Controllers .(Robotics, Avionics etc.)
• Data Processing. (CPU)
Most applications we use are high-end and
microprocessors for both Control and Data Processing.
use
9
Complexity
Microelectronic Device Complexity:
 MSI (Medium Scale Integration) - Between 10 gates and 100 gates.
 LSI (Large Scale Integration) - Between 100 and a 10000 gates
09/15/2013
 SSI (Small Scale Integration) - Less than 10 gates
VLSI (Very Large Scale Integration) - Greater then 10000 gates
Almost all current applications require VLSI.
10
Computer Architecture
• A modern meaning of the term computer architecture covers
three aspects of computer design:
– instruction set architecture,
– computer hardware.
09/15/2013
– computer organization and
• Instruction set architecture - ISA refers to the actual programmer
visible machine interface such as instruction set, registers,
memory organization and exception (i.e. interrupt) handling.
One can think of a ISA as a hardware functionality of a given
computer.
11
Computer Organization and Hardware
• A computer organization and computer hardware are two
components of the implementation of a machine.
• Computer hardware refers to the specifics of a machine,
included the detailed logic design and the packaging
technology of the machine.
09/15/2013
• Computer organization includes the high-level aspects of
a design, such as the memory system, the bus structure, and
the design of the internal CPU (where arithmetic, logic,
branching and data transfers are implemented).
12
Tasks of Computer Architects
• Computer architects must design a computer to meet functional
requirements as well as price, power, and performance goals.
Often, they also have to determine what the functional requirements are, which can be a major task.
09/15/2013
• Once a set of functional requirements has been established,
the architect must try to optimize the design. Here are three
major application areas and their main requirements:
– Desktop computers: focus on optimizing cost-performance
as measured by a single user, with little regard for program
size or power consumption,
– Server computers – focus on availability, scalability, and
throughput cost-performance,
– Embedded computers – driven by price and often power 13
issues, plus code size is important.
Rapid Rate of Improvements
• For many applications, the highest-performance microcomputers of today outperform the supercomputers of less than
10 years ago.
09/15/2013
• Today, less than one thousand dollars purchases a personal
computer that has more performance, more main memory,
and more disk storage than a computer bought in 1980 for
one million dollars.
• This rapid rate of improvement has come from two forces:
– technology used to build computers and
– innovations in computer design.
14
Technology Trends
• Integrated circuit logic technology – a growth in transistor
count on chip of about 55% per year.
• Magnetic disc technology – disk density has been recently
improving more then 100% per year, while prior to 1990
about 30% per year.
09/15/2013
• Semiconductor RAM – density increases by 40% to 60% per
year, while cycle time has improved very slowly, decreasing
by about one-third in 10 years. Cost has decreased at rate
about the rate at which density increases.
• Network technology – Latency and bandwidth are important,
though recently bandwidth has been primary focus. Internet
infrastructure in the U.S. has been doubling in bandwidth
15
every year.
Developments in Computer Design
• Then, during the 1970’s, computer designers were largely
dependent upon integrated circuit technology, with roughly
35% growth per year in processor performance.
09/15/2013
• During the first 25 years of electronic computers both forces,
technology and innovations in computer design made major
contributions.
• In the last 20 year, the combination of innovations in computer
design and improvements in technology has led sustained
growth in performance at an annual rate of over 55%.
In this period, the main source of innovations in computer
design has come from RISC-style pipelined processors.
16
09/15/2013
How CPUs get faster
17
Scientific American Nov 04
09/15/2013
Growth in Microprocessor Performance
18
Approaches to Instruction Set Architecture
• In the 1980’s, it becomes clear that both the difficulty of
designing processors and performance inefficiency of
processors could be increased by instruction set architecture
complications.
09/15/2013
• For many years the interaction between ISA and implementations was believed to be small, and implementation issues
were not a major focus in designing instruction set architecture.
• Two main approaches of ISA:
– RISC (Reduced Instruction Set Computer) architecture
– CISC (Complex Instruction Set Computer) architecture.
19
RISC Architecture
RISC – Reduced Instruction Set Computer
– the exploitation of instruction-level parallelism, first
through pipelining and later through multiple instruction
issue,
– the use of cache, first in simple forms and later using
sophisticated organizations and optimizations.
RISC architecture goals are ease of implementation (with
emphasis on concepts such as advanced pipelining) and
compatibility with highly optimized compilers.
09/15/2013
After 1985, most computers announced have been of RISC
architecture. RISC designers focused on two critical
performance techniques in computer design:
20
RISC ISA Characteristics
• All operations on data apply to data in registers and typically
change the entire register;
• A small number of memory addressing modes;
09/15/2013
• The only operations that affect memory are load and store
operations that move data from memory to a register or to
memory from a register, respectively;
• The instruction formats are few in number with all instructions
typically being one size;
• Large number of registers;
These simple properties lead to dramatic simplifications in the
implementation of advanced pipelining techniques, which is
21
why RISC architecture instruction sets were designed this way.
CISC Architecture
VAX processor was a good example of CISC architecture. For
example: accounting for all addressing modes and limiting to
byte, word (16 bits) and long (32 bits), there are more than
30,000 versions of integer add in VAX. ( Virtual Address Extension)
09/15/2013
CISC – Complex (and Powerful) Instruction Set Computer
CISC goals, such as simple compilers and high code density,
led to the powerful instructions, powerful addressing modes
and efficient instruction encoding.
Question: What is today the main example of CISC architecture
processor?
Answer: Intel IA-32 processors (found in over 90% desktop
computers).
22
•
•
•
•
•
1978: The Intel 8086 is announced (16 bit architecture)
1980: The 8087 floating point coprocessor is added
1982: The 80286 increases address space to 24 bits, +instructions
1985: The 80386 extends to 32 bits, new addressing modes
1989-1995: The 80486, Pentium, Pentium Pro add a few instructions
(mostly designed for higher performance)
1997: 57 new “MMX” instructions are added, Pentium II (8-Regs)
1999: The Pentium III added another 70 instructions (SSE)
2001: Another 144 instructions (SSE2)
2003: AMD (Advanced Micro Device (CYRIx)) extends the architecture to increase
address space to 64 bits,
widens all registers to 64 bits and other changes (AMD64)
2004: Intel capitulates and embraces AMD64 (calls it EM64T) and adds
more media extensions
09/15/2013
•
•
•
•
•
IA - 32
• “This history illustrates the impact of the “golden handcuffs” of compatibility
“adding new features as someone might add clothing to a packed bag”
“an architecture that is difficult to explain and impossible to love”
23
Intel IA-32 Processors
09/15/2013
• Intel IA-32 processors, from 80386 processor in early 80’s to
Pentium IV today are of CISC architecture. All Intel IA-32
processors are having as a core the identical instruction set
architecture designed in early 1980’s.
• The improvements in technology have allowed the latest
Intel IA-32 processors (of CISC architecture) to adopt many
innovations first pioneered in the RISC design.
• Since 1995, Pentium processors consist of a front end
processor and a RISC-style processor.
• The front end processor fetches and decodes Intel IA-32
complex instructions and maps them into microinstructions.
A microinstruction is a simple instruction used in sequence
to implement a more complex instruction. Microinstructions
look very much as RISC instructions.
24
• Then, the RISC-style processor executes microinstructions.
What Is This Course About?
Somewhere some time ago, I read that MIPS processor is the
best-selling RISC processor that powers everything from
Nintendo game machines and Cisco networking routers to
Silicon Graphics’ high-end servers and supercomputers.
09/15/2013
In this course we are going to learn basic principles of processor
and memory design using functionality of MIPS processor, i.e.
we shall design processor-memory system with (a subset of)
MIPS instruction set architecture.
What does MIPS stand for?
Answer: Microprocessor without Interlocked Pipeline Stages.
MIPS processor is one of the first RISC processors.
25
Instructions:
• Language of the Machine
• We’ll be working with the MIPS instruction set architecture
• similar to other architectures developed since the 1980's
• Almost 100 million MIPS processors manufactured in 2002
• used by NEC, Nintendo, Cisco, Silicon Graphics, Sony, …
1400
1300
1200
1100
1000
Other
SPARC
Hitachi SH
PowerPC
Motorola 68K
MIPS
900
IA-32
800
ARM
700
600
500
400
300
200
100
0
1998
1999
2000
2001
2002
09/15/2013
26
Why learn this stuff?
• You want to call yourself a “Electronic scientist”
• You want to build software people use (need performance)
• You need to make a purchasing decision or offer “expert” advice
• Algorithm determines number of source-level statements
• Language/Compiler/Architecture determine machine instructions
(Chapter 2 and 3)
09/15/2013
• Both Hardware and Software affect performance:
• Processor/Memory determine how fast instructions are executed
(Chapter 5, 6, and 7)
• Assessing and Understanding Performance in Chapter 4
27
What is a computer?
•
•
•
•
input (mouse, keyboard)
output (display, printer)
memory (disk drives, DRAM, SRAM, CD)
network
• Our primary focus: the processor (datapath and
control)
09/15/2013
• Components:
• implemented using millions of transistors
• Impossible to understand by looking at each transistor
• We need...
28
Abstraction
• An abstraction omits
unneeded detail, helps us
cope with complexity
What are some of the details
that appear in these familiar
abstractions?
09/15/2013
• Delving into the depths
reveals more information
29
How do computers work?
•
•
•
•
•
•
•
•
•
•
•
Applications software
Systems software
Assembly Language
Machine Language
Architectural Issues: i.e., Caches, Virtual Memory, Pipelining
Sequential logic, finite state machines
Combinational logic, arithmetic circuits
Boolean logic, 1s and 0s
Transistors used to build logic gates (CMOS)
Semiconductors/Silicon used to build transistors
Properties of atoms, electrons, and quantum dynamics
09/15/2013
• Need to understand abstractions such as:
• So much to learn!
30
Instruction Set Architecture
• A very important abstraction
• interface between hardware and low-level software
• advantage: different implementations of the same architecture
• disadvantage: sometimes prevents using new innovations
09/15/2013
• standardizes instructions, machine language bit patterns, etc.
True or False: Binary compatibility is extraordinarily important?
• Modern instruction set architectures:
• IA-32, PowerPC, MIPS, SPARC, ARM, and others
31
Microcomputer System
Microprocessor
(CPU)
Bus
Control
logic
Memory
Module
Interface
Mass
Storage
Device
Interface
I/O
Devices
09/15/2013
Timing
Interface
32
Components
Hardware :
 Timer –Produces evenly spaced clock pulses
Needed for synchronization. – Now Integrated
 Memory Modules – Multiple
They hold both data and instructions.
09/15/2013
 CPU – Microprocessor Unit (MPU)
Logical, Arithmetic computations and control operations
 I/O Subsystem – External Devices and mass storage.
 Bus System – Communication lines
 Interface – Allows connection of Bus to devices. Buffering and decoding are
two major functions.
33
Software:
Programming:
09/15/2013
 System Software
Collection of programs needed in the creation, preparation and execution of
other programs ( Operating Systems –Windows XP)
 User Software
Software which helps solve different problems and provides user level
functionality. ( Applications – Microsoft Power Point)
 Machine Language – Is understood and run by computer
Assembly Language – Closely linked to Machine language, more readable for
humans, Usually 1-1 mapping, translated to machine language using Assembler
High-Level Language – Instructions that are closer to English and the mental
model used by programmers to solve problems. Translated to machine language 34
using Compiler or Interpreter.
Operations
1.
2.
3.
4.
5.
6.
7.
Assignment and Arithmetic expression
Unconditional Branches
Conditional Branches (Relational & Logical Expression)
Looping
Arrays and other Data Structures
Subroutines
I/O Operations
09/15/2013
CPU/Microprocessor should support :
35
Typical Microprocessor
Architecture
Program Counter (PC )
Instructions Register
Processor Status Word (PSW)
Stack Pointer (SP)
I/O Control Logic
Working Registers
Address Registers
.
.
Arithmetic Registers
.
.
Arithmetic Logic Unit
(ALU)
09/15/2013
Control Unit
36
Reasons for using Microprocessors
 Speed
 Reliability
09/15/2013
 Cost
 Flexibility
 Development Time
37