SlideShare a Scribd company logo
3/27/2024
Instructor: Roger Crawfis
CSE 675.02:
Introduction to Computer
Architecture
(based on slides from Gojko Babic
g. babic Presentation A 2
Computer Architecture
• A modern meaning of the term computer architecture covers
three aspects of computer design:
– instruction set architecture,
– computer organization and
– computer hardware.
• 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.
g. babic Presentation A 3
Computer Organization and Hardware
• 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).
• Computer hardware refers to the specifics of a machine,
included the detailed logic design and the packaging
technology of the machine.
• A computer organization and computer hardware are two
components of the implementation of a machine.
g. babic Presentation A 4
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 require-
ments are, which can be a major task.
• 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
issues, plus code size is important.
g. babic Presentation A 5
Rapid Rate of Improvements
• 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.
• For many applications, the highest-performance microcom-
puters of today outperform the supercomputers of less than
10 years ago.
• This rapid rate of improvement has come from two forces:
– technology used to build computers and
– innovations in computer design.
g. babic Presentation A 6
Technology Trends
• Integrated circuit logic technology – a growth in transistor
count on chip of about 55% per year.
• 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.
• Magnetic disc technology – disk density has been recently
improving more then 100% per year, while prior to 1990
about 30% per year.
• 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
every year.
g. babic Presentation A 7
Developments in Computer Design
• During the first 25 years of electronic computers both forces,
technology and innovations in computer design made major
contributions.
• Then, during the 1970’s, computer designers were largely
dependent upon integrated circuit technology, with roughly
35% growth per year in processor performance.
• 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.
8
How CPUs get faster
Scientific American Nov 04
g. babic Presentation A 9
Growth in Microprocessor Performance
g. babic Presentation A 10
Approaches to Instruction Set Architecture
• For many years the interaction between ISA and implementat-
ions was believed to be small, and implementation issues
were not a major focus in designing 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.
• Two main approaches of ISA:
– RISC (Reduced Instruction Set Computer) architecture
– CISC (Complex Instruction Set Computer) architecture.
g. babic Presentation A 11
RISC Architecture
After 1985, most computers announced have been of RISC
architecture. RISC designers focused on two critical
performance techniques in computer design:
– 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 – Reduced Instruction Set Computer
RISC architecture goals are ease of implementation (with
emphasis on concepts such as advanced pipelining) and
compatibility with highly optimized compilers.
g. babic Presentation A 12
RISC ISA Characteristics
• All operations on data apply to data in registers and typically
change the entire register;
• 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;
• A small number of memory addressing modes;
• 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
why RISC architecture instruction sets were designed this way.
g. babic Presentation A 13
CISC Architecture
CISC – Complex (and Powerful) Instruction Set Computer
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.
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).
IA - 32
• 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
• 1999: The Pentium III added another 70 instructions (SSE)
• 2001: Another 144 instructions (SSE2)
• 2003: AMD 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
• “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”
Intel IA-32 Processors
• Since 1995, Pentium processors consist of a front end
processor and a RISC-style processor.
• 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.
A microinstruction is a simple instruction used in sequence
to implement a more complex instruction. Microinstructions
look very much as RISC instructions.
• Then, the RISC-style processor executes microinstructions.
• The front end processor fetches and decodes Intel IA-32
complex instructions and maps them into microinstructions.
• 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.
g. babic Presentation A 16
What Is This Course About?
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.
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.
What does MIPS stand for?
Answer: Microprocessor without Interlocked Pipeline Stages.
MIPS processor is one of the first RISC processors.
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
900
800
700
600
500
400
300
200
100
0
1998 2000 2001 2002
1999
Other
SPARC
Hitachi SH
PowerPC
Motorola 68K
MIPS
IA-32
ARM
Introduction
• This course is all about how computers work
• But what do we mean by a computer?
– Different types: desktop, servers, embedded devices
– Different uses: automobiles, graphics, finance, genomics…
– Different manufacturers: Intel, Apple, IBM, Microsoft, Sun…
– Different underlying technologies and different costs!
• Analogy: Consider a course on “automotive vehicles”
– Many similarities from vehicle to vehicle (e.g., wheels)
– Huge differences from vehicle to vehicle (e.g., gas vs. electric)
• Best way to learn:
– Focus on a specific instance and learn how it works
– While learning general principles and historical perspectives
19
Why learn this stuff?
• You want to call yourself a “computer scientist”
• You want to build software people use (need performance)
• You need to make a purchasing decision or offer “expert” advice
• Both Hardware and Software affect performance:
– Algorithm determines number of source-level statements
– Language/Compiler/Architecture determine machine instructions
(Chapter 2 and 3)
– Processor/Memory determine how fast instructions are executed
(Chapter 5, 6, and 7)
• Assessing and Understanding Performance in Chapter 4
What is a computer?
• Components:
– input (mouse, keyboard)
– output (display, printer)
– memory (disk drives, DRAM, SRAM, CD)
– network
• Our primary focus: the processor (datapath and
control)
– implemented using millions of transistors
– Impossible to understand by looking at each transistor
– We need...
Abstraction
• Delving into the depths
reveals more information
• An abstraction omits
unneeded detail, helps us
cope with complexity
What are some of the
details that appear in these
familiar abstractions?
22
How do computers work?
• Need to understand abstractions such as:
– 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
• So much to learn!
Instruction Set Architecture
• A very important abstraction
– interface between hardware and low-level software
– standardizes instructions, machine language bit patterns, etc.
– advantage: different implementations of the same architecture
– disadvantage: sometimes prevents using new innovations
True or False: Binary compatibility is extraordinarily important?
• Modern instruction set architectures:
– IA-32, PowerPC, MIPS, SPARC, ARM, and others
Historical Perspective
• ENIAC built in World War II was the first general purpose computer
– Used for computing artillery firing tables
– 80 feet long by 8.5 feet high and several feet wide
– Each of the twenty 10 digit registers was 2 feet long
– Used 18,000 vacuum tubes
– Performed 1900 additions per second
–Since then:
Moore’s Law:
transistor capacity doubles
every 18-24 months
25
• The following slides are courtesy of Peter
Shirley, Univ. of Utah.
26
Review: Moore’s Curve
• April 1965 Electronics magazine article:
Cramming More Components Onto
Integrated Circuits, by Gordon Moore
– The number of transistors on a chip increases
exponentially
– FYI: Intel is offering $10,000 for a pristine
copy of this article.
– Gordon Moore was a co-founder of Intel.
27
Wait for Moore’s Law for
performance?
• Dec. 2002 Survey of IEEE fellows: how
much longer will Moore’s curve last?
– 31%: less than 5 years (4x improvement)
– 52%: 5-10 years (4x-10x improvement)
– 17%: more than 10 years
• Dec 2003 IEEE Spectrum: Moore’s Law
exponent has varied 12-32 months-- lately it
has been 22-24 months.
28
Moore: Keynote ISSCC 2003
29
Moore: Keynote ISSCC 2003
30
Moore: Keynote ISSCC 2003
31
Moore: Keynote ISSCC 2003
32
33
New Moore exponent on speed?
• Doubling every 4-5 years?
• Will GPU’s have the same fate?
• How will Intel keep us hooked?
34
Huge Change
Multicore CPUs to desktop
• IBM 2001, 2004: 2 cores
• AMD 2005: 2 cores
• Sun 2004: 2 cores, 2006 8 cores
• Intel 2005: 2 cores
(source: Nov 2004 Scientific American)
35
Next generation $5000 PC
• Machrone’s Law
– The computer you want will always cost $5000
• Many GB of RAM
• Programmable GPU
• Multicore 64 bit CPU
• High resolution screen (4x-8x 1984 screen)
– Apple 2560x1600, IBM big-bertha 3840x2400
• Not enough for our needs
36
Graphics Hardware Trends
• Faster development than Moore’s law
– Double transistor functions every 6-12 months
– Driven by game industry
• Improvement of performance and functionality
– Multi-textures
– Pixel operations (transparency,
blending, pixel shaders)
– Geometry and lighting
modifications (vertex
shaders)
time
performance network
graphics CPU
37
Transistor Functions
0
10
20
30
40
50
60
9/97 3/98 9/98 3/99 9/99 3/00 9/00 3/01
time (month/year)
transistors
(millions)
Riva 128 (3M)
NVIDIA GeForce3 (57M) ATI Radeon 8500 (60M)
9/01 3/02
70
80
90
100
ATI Radeon 9700 Pro (110M)
NVIDIA GeForce FX 5800 (125M)
NVIDIA GeForce4 (63M)
9/02 3/03
110
120

More Related Content

PPTX
2021Arch_2_Ch1_1.pptx Fundamentals of Quantitative Design and Analysis
PPTX
computer Architecture
PDF
Pipelining and ILP (Instruction Level Parallelism)
PPTX
microprocessor and microcontroller material
PPTX
MCI-Unit_1.PPTX electronics communication Engineering
PDF
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...
PDF
Lecture 10
PPT
CS465Lec1.ppt computer architecture in the fall term
2021Arch_2_Ch1_1.pptx Fundamentals of Quantitative Design and Analysis
computer Architecture
Pipelining and ILP (Instruction Level Parallelism)
microprocessor and microcontroller material
MCI-Unit_1.PPTX electronics communication Engineering
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...
Lecture 10
CS465Lec1.ppt computer architecture in the fall term

Similar to software engineering CSE675_01_Introduction.ppt (20)

PPTX
Computer architecture lecture... 2 .pptx
PPTX
Computer_Evolution_Ch2.pptx
PPTX
Ca lecture 03
PPTX
Advanced Computer Architecture – An Introduction
PDF
Abel ASSEMBLY LANGUGE. Of which used for educational purposes
PPTX
ARM PROCESSING BASICS PPT FOR 4TH SEM ENGINEERING
PPTX
module1_CA_for use of tribal network .pptx
PPT
module01.ppt
PPSX
CISC & RISC ARCHITECTURES
PPTX
10. compute-part-1
PDF
(eBook PDF) Computer Organization and Architecture10th Global Edition
PDF
A New Golden Age for Computer Architecture
PDF
Module 1 of apj Abdul kablam university hpc.pdf
PPTX
Processors selection
PPTX
CH01-COA10e_Stallings .pptx
PPTX
Advanced Processor Power Point Presentation
PDF
Computer Organization and Design 2nd Edition David A.
PPTX
Computer Architecture
PPT
Fundamentals of Computer Design including performance measurements & quantita...
PPT
02 computer evolution and performance
Computer architecture lecture... 2 .pptx
Computer_Evolution_Ch2.pptx
Ca lecture 03
Advanced Computer Architecture – An Introduction
Abel ASSEMBLY LANGUGE. Of which used for educational purposes
ARM PROCESSING BASICS PPT FOR 4TH SEM ENGINEERING
module1_CA_for use of tribal network .pptx
module01.ppt
CISC & RISC ARCHITECTURES
10. compute-part-1
(eBook PDF) Computer Organization and Architecture10th Global Edition
A New Golden Age for Computer Architecture
Module 1 of apj Abdul kablam university hpc.pdf
Processors selection
CH01-COA10e_Stallings .pptx
Advanced Processor Power Point Presentation
Computer Organization and Design 2nd Edition David A.
Computer Architecture
Fundamentals of Computer Design including performance measurements & quantita...
02 computer evolution and performance
Ad

More from SomnathMule5 (18)

PDF
software engineering unit 3 chapter1-190805164730.pdf
PPTX
computer organization and architecture notes
PPTX
chapter2-softwareprocessmodels-190805164811.pptx
PPTX
Mobile communication Mobile Networking.pptx
PDF
Mobile communication and computing GSM protocol stack and frame formatting.pdf
PDF
Mobile communication and computing gsm-radio-interface-140720014203-phpapp02.pdf
PDF
Mobile communication and computing presentation-161102173611.pdf
PPT
Mobile communication and computing gprs.ppt
PPT
Mbile communication and computingGSM Network.ppt
PPT
Mobile Communication gsm_introduction.ppt
PPTX
Eliminating ^ production and Unit Production from a CFG.pptx
PPTX
Improving machine learning models unit 5.pptx
PPTX
Software requirement specification Unit 3.pptx
PPT
unit 3 software requirement and analysis-1.ppt
PPTX
software engineering Architecture and design Unit 3.pptx
PDF
Engineering economics and Management Unit-2.pdf
PDF
DevOps Expt 2.pdf
PDF
DevOps Expt 1.pdf
software engineering unit 3 chapter1-190805164730.pdf
computer organization and architecture notes
chapter2-softwareprocessmodels-190805164811.pptx
Mobile communication Mobile Networking.pptx
Mobile communication and computing GSM protocol stack and frame formatting.pdf
Mobile communication and computing gsm-radio-interface-140720014203-phpapp02.pdf
Mobile communication and computing presentation-161102173611.pdf
Mobile communication and computing gprs.ppt
Mbile communication and computingGSM Network.ppt
Mobile Communication gsm_introduction.ppt
Eliminating ^ production and Unit Production from a CFG.pptx
Improving machine learning models unit 5.pptx
Software requirement specification Unit 3.pptx
unit 3 software requirement and analysis-1.ppt
software engineering Architecture and design Unit 3.pptx
Engineering economics and Management Unit-2.pdf
DevOps Expt 2.pdf
DevOps Expt 1.pdf
Ad

Recently uploaded (20)

PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Geodesy 1.pptx...............................................
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
Welding lecture in detail for understanding
PPT
Project quality management in manufacturing
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
OOP with Java - Java Introduction (Basics)
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
CH1 Production IntroductoryConcepts.pptx
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
Construction Project Organization Group 2.pptx
PPTX
Lecture Notes Electrical Wiring System Components
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Geodesy 1.pptx...............................................
Embodied AI: Ushering in the Next Era of Intelligent Systems
Welding lecture in detail for understanding
Project quality management in manufacturing
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
OOP with Java - Java Introduction (Basics)
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Automation-in-Manufacturing-Chapter-Introduction.pdf
CH1 Production IntroductoryConcepts.pptx
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
UNIT 4 Total Quality Management .pptx
Model Code of Practice - Construction Work - 21102022 .pdf
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Foundation to blockchain - A guide to Blockchain Tech
Construction Project Organization Group 2.pptx
Lecture Notes Electrical Wiring System Components
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT

software engineering CSE675_01_Introduction.ppt

  • 1. 3/27/2024 Instructor: Roger Crawfis CSE 675.02: Introduction to Computer Architecture (based on slides from Gojko Babic
  • 2. g. babic Presentation A 2 Computer Architecture • A modern meaning of the term computer architecture covers three aspects of computer design: – instruction set architecture, – computer organization and – computer hardware. • 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.
  • 3. g. babic Presentation A 3 Computer Organization and Hardware • 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). • Computer hardware refers to the specifics of a machine, included the detailed logic design and the packaging technology of the machine. • A computer organization and computer hardware are two components of the implementation of a machine.
  • 4. g. babic Presentation A 4 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 require- ments are, which can be a major task. • 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 issues, plus code size is important.
  • 5. g. babic Presentation A 5 Rapid Rate of Improvements • 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. • For many applications, the highest-performance microcom- puters of today outperform the supercomputers of less than 10 years ago. • This rapid rate of improvement has come from two forces: – technology used to build computers and – innovations in computer design.
  • 6. g. babic Presentation A 6 Technology Trends • Integrated circuit logic technology – a growth in transistor count on chip of about 55% per year. • 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. • Magnetic disc technology – disk density has been recently improving more then 100% per year, while prior to 1990 about 30% per year. • 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 every year.
  • 7. g. babic Presentation A 7 Developments in Computer Design • During the first 25 years of electronic computers both forces, technology and innovations in computer design made major contributions. • Then, during the 1970’s, computer designers were largely dependent upon integrated circuit technology, with roughly 35% growth per year in processor performance. • 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.
  • 8. 8 How CPUs get faster Scientific American Nov 04
  • 9. g. babic Presentation A 9 Growth in Microprocessor Performance
  • 10. g. babic Presentation A 10 Approaches to Instruction Set Architecture • For many years the interaction between ISA and implementat- ions was believed to be small, and implementation issues were not a major focus in designing 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. • Two main approaches of ISA: – RISC (Reduced Instruction Set Computer) architecture – CISC (Complex Instruction Set Computer) architecture.
  • 11. g. babic Presentation A 11 RISC Architecture After 1985, most computers announced have been of RISC architecture. RISC designers focused on two critical performance techniques in computer design: – 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 – Reduced Instruction Set Computer RISC architecture goals are ease of implementation (with emphasis on concepts such as advanced pipelining) and compatibility with highly optimized compilers.
  • 12. g. babic Presentation A 12 RISC ISA Characteristics • All operations on data apply to data in registers and typically change the entire register; • 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; • A small number of memory addressing modes; • 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 why RISC architecture instruction sets were designed this way.
  • 13. g. babic Presentation A 13 CISC Architecture CISC – Complex (and Powerful) Instruction Set Computer 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. 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).
  • 14. IA - 32 • 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 • 1999: The Pentium III added another 70 instructions (SSE) • 2001: Another 144 instructions (SSE2) • 2003: AMD 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 • “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”
  • 15. Intel IA-32 Processors • Since 1995, Pentium processors consist of a front end processor and a RISC-style processor. • 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. A microinstruction is a simple instruction used in sequence to implement a more complex instruction. Microinstructions look very much as RISC instructions. • Then, the RISC-style processor executes microinstructions. • The front end processor fetches and decodes Intel IA-32 complex instructions and maps them into microinstructions. • 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.
  • 16. g. babic Presentation A 16 What Is This Course About? 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. 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. What does MIPS stand for? Answer: Microprocessor without Interlocked Pipeline Stages. MIPS processor is one of the first RISC processors.
  • 17. 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 900 800 700 600 500 400 300 200 100 0 1998 2000 2001 2002 1999 Other SPARC Hitachi SH PowerPC Motorola 68K MIPS IA-32 ARM
  • 18. Introduction • This course is all about how computers work • But what do we mean by a computer? – Different types: desktop, servers, embedded devices – Different uses: automobiles, graphics, finance, genomics… – Different manufacturers: Intel, Apple, IBM, Microsoft, Sun… – Different underlying technologies and different costs! • Analogy: Consider a course on “automotive vehicles” – Many similarities from vehicle to vehicle (e.g., wheels) – Huge differences from vehicle to vehicle (e.g., gas vs. electric) • Best way to learn: – Focus on a specific instance and learn how it works – While learning general principles and historical perspectives
  • 19. 19 Why learn this stuff? • You want to call yourself a “computer scientist” • You want to build software people use (need performance) • You need to make a purchasing decision or offer “expert” advice • Both Hardware and Software affect performance: – Algorithm determines number of source-level statements – Language/Compiler/Architecture determine machine instructions (Chapter 2 and 3) – Processor/Memory determine how fast instructions are executed (Chapter 5, 6, and 7) • Assessing and Understanding Performance in Chapter 4
  • 20. What is a computer? • Components: – input (mouse, keyboard) – output (display, printer) – memory (disk drives, DRAM, SRAM, CD) – network • Our primary focus: the processor (datapath and control) – implemented using millions of transistors – Impossible to understand by looking at each transistor – We need...
  • 21. Abstraction • Delving into the depths reveals more information • An abstraction omits unneeded detail, helps us cope with complexity What are some of the details that appear in these familiar abstractions?
  • 22. 22 How do computers work? • Need to understand abstractions such as: – 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 • So much to learn!
  • 23. Instruction Set Architecture • A very important abstraction – interface between hardware and low-level software – standardizes instructions, machine language bit patterns, etc. – advantage: different implementations of the same architecture – disadvantage: sometimes prevents using new innovations True or False: Binary compatibility is extraordinarily important? • Modern instruction set architectures: – IA-32, PowerPC, MIPS, SPARC, ARM, and others
  • 24. Historical Perspective • ENIAC built in World War II was the first general purpose computer – Used for computing artillery firing tables – 80 feet long by 8.5 feet high and several feet wide – Each of the twenty 10 digit registers was 2 feet long – Used 18,000 vacuum tubes – Performed 1900 additions per second –Since then: Moore’s Law: transistor capacity doubles every 18-24 months
  • 25. 25 • The following slides are courtesy of Peter Shirley, Univ. of Utah.
  • 26. 26 Review: Moore’s Curve • April 1965 Electronics magazine article: Cramming More Components Onto Integrated Circuits, by Gordon Moore – The number of transistors on a chip increases exponentially – FYI: Intel is offering $10,000 for a pristine copy of this article. – Gordon Moore was a co-founder of Intel.
  • 27. 27 Wait for Moore’s Law for performance? • Dec. 2002 Survey of IEEE fellows: how much longer will Moore’s curve last? – 31%: less than 5 years (4x improvement) – 52%: 5-10 years (4x-10x improvement) – 17%: more than 10 years • Dec 2003 IEEE Spectrum: Moore’s Law exponent has varied 12-32 months-- lately it has been 22-24 months.
  • 32. 32
  • 33. 33 New Moore exponent on speed? • Doubling every 4-5 years? • Will GPU’s have the same fate? • How will Intel keep us hooked?
  • 34. 34 Huge Change Multicore CPUs to desktop • IBM 2001, 2004: 2 cores • AMD 2005: 2 cores • Sun 2004: 2 cores, 2006 8 cores • Intel 2005: 2 cores (source: Nov 2004 Scientific American)
  • 35. 35 Next generation $5000 PC • Machrone’s Law – The computer you want will always cost $5000 • Many GB of RAM • Programmable GPU • Multicore 64 bit CPU • High resolution screen (4x-8x 1984 screen) – Apple 2560x1600, IBM big-bertha 3840x2400 • Not enough for our needs
  • 36. 36 Graphics Hardware Trends • Faster development than Moore’s law – Double transistor functions every 6-12 months – Driven by game industry • Improvement of performance and functionality – Multi-textures – Pixel operations (transparency, blending, pixel shaders) – Geometry and lighting modifications (vertex shaders) time performance network graphics CPU
  • 37. 37 Transistor Functions 0 10 20 30 40 50 60 9/97 3/98 9/98 3/99 9/99 3/00 9/00 3/01 time (month/year) transistors (millions) Riva 128 (3M) NVIDIA GeForce3 (57M) ATI Radeon 8500 (60M) 9/01 3/02 70 80 90 100 ATI Radeon 9700 Pro (110M) NVIDIA GeForce FX 5800 (125M) NVIDIA GeForce4 (63M) 9/02 3/03 110 120