Seventies, Eighties, Nineties: The Seventies

Size: px
Start display at page:

Download "Seventies, Eighties, Nineties: The Seventies"

Transcription

1 6.823, L4--1 Seventies, Eighties, Nineties: Convergence from Mainframes & Supercomputers to Microprocessors Asanovic Laboratory for Computer Science M.I.T. The Seventies Supercomputers (synonymous with Vector Machines) dominated the high-end scientific computing market Cray-1 CDC, Fujitsu, NEC, Hitachi 6.823, L4--2 Mainframes were thriving in enterprise computing IBM 370 and its clones, Burroughs, UNIVAC, DEC,... Minicomputers (cheaper versions of mainframes) created a large new market: departmental computing DEC PDP-11 & VAX Wang, Data General, Prime,... Microprocessors appeared, and first personal computers In 1971: Intel 4004 (4-bit, 750kHz) By 1979: Motorola (32-bit, 8MHz) Page 1

2 Seventies Technology 6.823, L4--3 Supercomputers and mainframes used mostly ECL - expensive - hot liquid cooling (plumbing!) - low density (SSI & MSI) chips - MTBF in days Minicomputers used mostly TTL technology - cheaper - air cooled - medium density (MSI & LSI) chips - very reliable, i.e., MTBF in weeks All machines except supercomputers used MOSFETs for memory chips Software in the Seventies 6.823, L4--4 Most programming was done in high-level languages Fortran, COBOL, Basic, Lisp, Pascal, Simula, C,... Time-sharing and interactive computing came into widespread use (screens versus punched cards) Most companies used proprietary Operating Systems IBM OS370, MVS,... DEC VMS,... Unix, a portable OS, was beginning to be used on minicomputers in universities Internet ( , FTP, TCP/IP,...) came into existence Page 2

3 Seventies General-Purpose Architectures 6.823, L4--5 (minicomputers and mainframes for business processing) Characteristics: Complex Instruction Sets: Microcoded Control Very Little Instruction Pipelining Caches Virtual Memory (IBM 360->370, DEC PDP-11->VAX) Sources of Complexity in ISAs Addressing modes Variable-length fields Macro-instructions - loop control - function call Regularity - most addressing mode for each operand - most operators for each data type 6.823, L4--6 Microprogramming made it possible to implement large and complex instruction sets at a reasonable cost Page 3

4 6.823, L4--7 VAX: A Complex Instruction Set Addressing Mode Syntax Length in bytes Literal #value 1 (6-bit signed value) Immediate #value 1 + immediate Register Rn 1 Register deferred (Rn) 1 Byte/word/long disp(rn) 1 + displacement displacement 1 + displacement displacement deferred Scaled (Indexed) base mode (Rx) 1 + base addressing mode Autoincrement (Rn)+ 1 Autodecrement -(Rn) 1 1 deferred ADDL3 R1, 737 (R2), #456 R1 <-- M[(R2)+737] ( ) + (1+ 4) = 10 bytes! Supercomputers 6.823, L4--8 Applications: Military research (nuclear weapons, cryptography) Scientific research Weather forecasting Oil exploration Industrial design (car crash simulation) 70s-80s, Supercomputer == Vector Machine Page 4

5 Vector Supercomputers 6.823, L4--9 (Epitomized by Cray-1, 1976) Scalar Unit + Vector Extensions Load/Store Architecture Vector Registers Vector Instructions Hardwired Control Highly Pipelined Functional Units Interleaved Memory System No Data Caches No Virtual Memory Vector Programming Model Scalar Registers Vector Registers r15 v , L4--10 r0 v0 [0] [1] [2] [VLRMAX-1] Vector Arithmetic Instructions VADD v3, v1, v2 v1 v2 v3 Vector Length Register VLR [0] [1] [VLR-1] Vector Load and Store Instructions VLD v1, r1, r2 v1 Vector Register Base, r1 Stride, r2 Memory Page 5

6 Vector Code Example 6.823, L4--11 # C code for (i=0; i<64; i++) C[i] = A[i] + B[i]; # Scalar Code li r4, #64 loop: ld f1, 0(r1) ld f2, 0(r2) fadd f3, f1, f2 st f3, 0(r3) add r1, r1, #1 add r2, r2, #1 add r3, r3, #1 sub r4, #1 bnez r4, loop # Vector Code li vlr, #64 lv v1, r1, #1 lv v2, r2, #1 faddv v3, v1, v2 sv v3, r3, #1 Vector Arithmetic Execution 6.823, L4--12 Use deep pipeline (=> fast clock) to execute element operations Simplifies control of deep pipeline because elements in vector are independent (=> no hazards!) V 1 V 2 V 3 Six stage multiply pipeline V3 <- v1 * v2 Page 6

7 Vector Memory System 6.823, L4--13 Cray-1, 16 banks, 4 cycle bank busy time, 12 cycle latency Bank busy time: Cycles between accesses to same bank Vector Registers Base Stride Address Generator A B C D E F Memory Banks 6.823, L4--14 Microprocessors in the Seventies Initial target was embedded control First micro, 4-bit 4004 from Intel, designed for a desktop printing calculator Constrained by what could fit on single chip Single accumulator architectures 8-bit micros used in hobbyist personal computers Micral, Altair, TRS-80, Apple-II Little impact on conventional computer market until VISICALC spreadsheet for Apple-II (6502, 1MHz) First killer business application for personal computers Page 7

8 First Microprocessor Intel 4004, , L bit accumulator architecture 8µm pmos 2,300 transistors 3 x 4 mm 2 750kHz clock 8-16 cycles/inst , L4--16 DRAM in the Seventies Dramatic progress in MOSFET memory technology 1970, Intel introduces first DRAM (1Kbit 1103) 1979, Fujitsu introduces 64Kbit DRAM => By mid-seventies, obvious that PCs would soon have > 64KBytes physical memory Page 8

9 Microprocessor Evolution 6.823, L4--17 Rapid progress in size and speed through 70s Fueled by advances in MOSFET technology and expanding markets Intel i432 Most ambitious seventies micro; started in released bit capability-based object-oriented architecture Instructions variable number of bits long Severe performance, complexity, and usability problems Intel 8086 (1978, 8MHz, 29,000 transistors) Stopgap 16-bit processor, architected in 10 weeks Extended accumulator architecture, assembly-compatible with bit addressing through segmented addressing scheme Motorola (1979, 8MHz, 68,000 transistors) First production microprocessor with microcode 32-bit general purpose register architecture (24 address pins) 8 address registers, 8 data registers Intel , L4--18 Class Register Purpose Data: AX,BX general purpose CX string and loop ops only DX mult/div and I/O only Address: SP stack pointer BP base pointer (can also use BX) SI,DI index registers Segment: CS code segment SS stack segment DS data segment ES extra segment Control: IP instruction pointer (lower 16 bit of PC) FLAGS C, Z, N, B, P, V and 3 control bits Typical format R (R) op M[X], many addressing modes Not a GPR organization! Page 9

10 The Eighties: Microprocessor Revolution Personal computer market emerges Huge business and consumer market for spreadsheets, word processing and games Based on inexpensive 8-bit and 16-bit micros: Zilog Z80, Mostek 6502, Intel 8088/86, 6.823, L4--19 Minicomputers replaced by workstations Distributed network computing and high-performance graphics for scientific and engineering applications (Sun, Apollo, HP, ) Based on powerful 32-bit microprocessors with virtual memory, caches, pipelined execution, hardware floating-point Massively Parallel Processors (MPPs) appear Use many cheap micros to approach supercomputer performance (Sequent, Intel, Parsytec) IBM PC, 1981 Hardware Team from IBM building PC prototypes in 1979 Motorola chosen initially, but was late IBM builds stopgap prototypes using 8088 boards from Display Writer word processor 8088 is 8-bit bus version of 8086 Estimated sales of 25,000 (100,000,000s sold) Software Microsoft negotiates to provide OS for IBM. Later buys and modifies QDOS from Seattle Computer Products. Open System Standard processor, Intel 8088 Standard interfaces Standard OS, MS-DOS IBM permits cloning and third-party software 6.823, L4--20 Page 10

11 Writable Control Store (WCS) Implement control store with RAM not ROM MOS memories now almost as fast as control store (core memories were 10x slower) Bug-free microprograms difficult to write 6.823, L4--21 WCS provided as option on several minicomputers Allowed users to change microcode for each process WCS failed Little or no programming tools support Hard to fit software into small space Microcode control tailored to original ISA, less useful for others Large WCS part of processor state - expensive context switches Protection difficult if user can change microcode Virtual memory required restartable microcode (Patchable microcode still common for post-fabrication bug fixes, e.g. Intel Pentium series) 6.823, L4--22 Reduced Instruction Set Computers (Cocke, IBM; Patterson, UC Berkeley; Hennessy, Stanford) Compilers have difficulty using complex instructions VAX: 60% of microcode for 20% of instructions, only responsible for 0.2% execution time IBM experiment retargets 370 compiler to use simple subset of ISA => Compiler generated faster code! Simple instruction sets don t need microcode Use fast memory near processor as cache, not microcode storage Design ISA for simple pipelined implementation Fixed length, fixed format instructions Load/store architecture with up to one memory access/instruction Few addressing modes, synthesize others with code sequence Register-register ALU operations Delayed branch Page 11

12 MIPS R2000 (One of first commercial RISCs, 1986) 6.823, L4--23 Load/Store architecture 32x32-bit GPR (R0 is wired), HI & LO SPR (for multiply/divide) 74 instructions Fixed instruction size (32 bits), only 3 formats PC-relative branches, register indirect jumps Only base+displacement addressing mode No condition bits, compares write GPRs, branches test GPRs Delayed loads and branches Five-stage instruction pipeline Fetch, Decode, Execute, Memory, Write Back CPI of 1 for register-to-register ALU instructions 8 MHz clock Tightly-coupled off-chip FP accelerator (R2010) RISC/CISC Comparisons 6.823, L4--24 Time = Instructions * Cycles * Time Program Program Instruction Cycle R2000 vs VAX 8700 [Bhandarkar and Clark, 91] R2000 has ~2.7x advantage with equivalent technology Intel vs Intel i860 (both 1989) Same company, same CAD tools, same process i x faster - even more on some floating-point tasks DEC nvax vs Alpha (both 1992) Same company, same CAD tools, same process Alpha 2-4x faster Page 12

13 VLIW (Very Long Instruction Word) 6.823, L4--25 Multiple parallel operations packed into single long instruction add r1, r2, r3 sub r5, r1, r3 ld r4, (r3) jmp #1499 FPS AP-120B, first commercial VLIW Scientific libraries coded by hand Fisher & Ellis, Yale, early 80s Proposed wide machines with simple control logic Develop compiler techniques to schedule parallel code Yale ideas commercialized by Multiflow (also Cydrome) Trace-28 executed 28 operations per cycle Trace-28 had 1024-bit instructions Intel i860 (1989) First dual issue microprocessor using 64-bit LIW (2 operations/inst.) The Nineties 6.823, L4--26 Distinction between workstation and PC disappears Parallel microprocessor-based SMPs take over lowend server and supercomputer market MPPs have limited success in supercomputing market High-end mainframes and vector supercomputers survive killer micro onslaught 64-bit addressing becomes essential at high-end In 2000, 4GB DRAM costs <$5,000 CISC ISA (x86) thrives! Page 13

14 6.823, L4--27 Reduced ISA Diversity in Nineties Few major companies in general-purpose market Intel x86 (CISC) IBM 390 (CISC) Sun SPARC, SGI MIPS, HP PA-RISC (all RISCs) IBM/Apple/Motorola introduce PowerPC (another RISC) Digital introduces Alpha (another RISC) Software costs make ISA change prohibitively expensive 64-bit addressing extensions added to RISC instruction sets Short vector multimedia extensions added to all ISAs, but without compiler support => Focus on microarchitecture (superscalar, out-of-order) CISC x86 thrives! RISCs (SPARC, MIPS, Alpha, PowerPC) fail to make significant inroads into desktop market, but important in server and technical computing markets RISC advantage shrinks with superscalar out-of-order execution Intel Pentium Pro (1995) 6.823, L4--28 External Bus L2 Cache Bus Interface Memory Reorder Buffer Data Cache x86 CISC macro instructions Instruction Cache and Fetch Unit Instruction Decoder Branch Target Buffer Micro- Instruction Sequencer Register Alias Table Reservation Station Memory Interface Unit Address Generation Unit Integer Unit Floating-Point Unit Reorder Buffer and Retirement Register File Internal RISC-like micro-ops Page 14

15 6.823, L4--29 Pentium Pro vs MIPS R10000 External Bus Interface Execution Units D-cache I-cache ISA Translation Execute target ISA binary on different host ISA Binary Translation (convert at install/load time) IBM AS/400 on PowerPC DEC VAX->MIPS->Alpha Emulation (interpret instructions at run time) Apple M68K emulation on PowerPC Dynamic Compilation (compile at run time) Sun s HotSpot Java JIT (just-in-time) compiler Transmeta Crusoe, x86->vliw code morphing Hardware Translation Intel Itanium (Merced) converts x86 to native VLIW format using hardware translator (Hardware supports two ISAs!) In future, might see further separation of software distribution format and hardware native ISA 6.823, L4--30 Page 15

16 6.823, L4--31 The Next Ten Years: Technology # transistors per chip 1M Million 2000 time Billion Silicon CMOS technology in 2010 will support: ~10 billion transistors per chip ~10 GHz clock rates Consider 1997 vintage 64-bit RISC processor: 4 way superscalar, outof-order, speculative execution with L1 I&D caches, L2 cache controller => ~6 Million Transistors What form will Giga-Transistor CPUs take? Even bigger caches (e.g., 100MB on-chip cache) Chip-scale multiprocessors (i.e., SMPs sans DRAM) Complete systems (i.e., CPU+DRAM+I/O) The Next Ten Years: Opportunities and Challenges 6.823, L4--32 Opportunities: 10 billion transistors/chip, 10 GHz clock rates ISA translation technology (remove ISA compatibility millstone) New applications and platforms (less reliance on legacy software)» The Post-PC era: ubiquitous, wireless, mobile, embedded, real-time» By 2010, we ll build 10 million transistors per person per day! Challenges: Power dissipation, both for high-end CPUs and portable devices Wire delay (10 cycles to move across chip!) Memory latency (1000 cycles to reach main memory!) Extracting parallelism from applications» hardware vs. compiler vs. programmer Processor design effort (i.e., can we manage/afford >1,000 engineer design teams?) Economics, new fabrication plant costs >$2 Billion and growing! Page 16

Instruction Set Principles. (Appendix B)

Instruction Set Principles. (Appendix B) Instruction Set Principles (Appendix B) Outline Introduction Classification of Instruction Set Architectures Addressing Modes Instruction Set Operations Type & Size of Operands Instruction Set Encoding

More information

Evolution of ISAs. Instruction set architectures have changed over computer generations with changes in the

Evolution of ISAs. Instruction set architectures have changed over computer generations with changes in the Evolution of ISAs Instruction set architectures have changed over computer generations with changes in the cost of the hardware density of the hardware design philosophy potential performance gains One

More information

Figure 1-1. A multilevel machine.

Figure 1-1. A multilevel machine. 1 INTRODUCTION 1 Level n Level 3 Level 2 Level 1 Virtual machine Mn, with machine language Ln Virtual machine M3, with machine language L3 Virtual machine M2, with machine language L2 Virtual machine M1,

More information

Real instruction set architectures. Part 2: a representative sample

Real instruction set architectures. Part 2: a representative sample Real instruction set architectures Part 2: a representative sample Some historical architectures VAX: Digital s line of midsize computers, dominant in academia in the 70s and 80s Characteristics: Variable-length

More information

Asanovic/Devadas Spring Vector Computers. Krste Asanovic Laboratory for Computer Science Massachusetts Institute of Technology

Asanovic/Devadas Spring Vector Computers. Krste Asanovic Laboratory for Computer Science Massachusetts Institute of Technology Vector Computers Krste Asanovic Laboratory for Computer Science Massachusetts Institute of Technology Supercomputers Definition of a supercomputer: Fastest machine in world at given task Any machine costing

More information

CS 152 Computer Architecture and Engineering. Lecture 16: Vector Computers

CS 152 Computer Architecture and Engineering. Lecture 16: Vector Computers CS 152 Computer Architecture and Engineering Lecture 16: Vector Computers Krste Asanovic Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~krste

More information

Virtual Machines and Dynamic Translation: Implementing ISAs in Software

Virtual Machines and Dynamic Translation: Implementing ISAs in Software Virtual Machines and Dynamic Translation: Implementing ISAs in Software Krste Asanovic Laboratory for Computer Science Massachusetts Institute of Technology Software Applications How is a software application

More information

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

ASSEMBLY LANGUAGE MACHINE ORGANIZATION ASSEMBLY LANGUAGE MACHINE ORGANIZATION CHAPTER 3 1 Sub-topics The topic will cover: Microprocessor architecture CPU processing methods Pipelining Superscalar RISC Multiprocessing Instruction Cycle Instruction

More information

Early Developments: From Difference Engine to IBM 701

Early Developments: From Difference Engine to IBM 701 February 3, 1999 6.823, L1-1 February 3, 1999 6.823, L1-2 Early Developments: From Difference Engine to IBM 701 Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Charles Babbage 1791-1871

More information

CISC Attributes. E.g. Pentium is considered a modern CISC processor

CISC Attributes. E.g. Pentium is considered a modern CISC processor What is CISC? CISC means Complex Instruction Set Computer chips that are easy to program and which make efficient use of memory. Since the earliest machines were programmed in assembly language and memory

More information

CS425 Computer Systems Architecture

CS425 Computer Systems Architecture CS425 Computer Systems Architecture Fall 2017 Multiple Issue: Superscalar and VLIW CS425 - Vassilis Papaefstathiou 1 Example: Dynamic Scheduling in PowerPC 604 and Pentium Pro In-order Issue, Out-of-order

More information

New Advances in Micro-Processors and computer architectures

New Advances in Micro-Processors and computer architectures New Advances in Micro-Processors and computer architectures Prof. (Dr.) K.R. Chowdhary, Director SETG Email: kr.chowdhary@jietjodhpur.com Jodhpur Institute of Engineering and Technology, SETG August 27,

More information

Chapter 1. Introduction To Computer Systems

Chapter 1. Introduction To Computer Systems Chapter 1 Introduction To Computer Systems 1.1 Historical Background The first program-controlled computer ever built was the Z1 (1938). This was followed in 1939 by the Z2 as the first operational program-controlled

More information

Intel released new technology call P6P

Intel released new technology call P6P P6 and IA-64 8086 released on 1978 Pentium release on 1993 8086 has upgrade by Pipeline, Super scalar, Clock frequency, Cache and so on But 8086 has limit, Hard to improve efficiency Intel released new

More information

Evolution of Computers & Microprocessors. Dr. Cahit Karakuş

Evolution of Computers & Microprocessors. Dr. Cahit Karakuş Evolution of Computers & Microprocessors Dr. Cahit Karakuş Evolution of Computers First generation (1939-1954) - vacuum tube IBM 650, 1954 Evolution of Computers Second generation (1954-1959) - transistor

More information

RISC, CISC, and ISA Variations

RISC, CISC, and ISA Variations RISC, CISC, and ISA Variations CS 3410 Computer System Organization & Programming These slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, and Sirer. iclicker

More information

CS 152 Computer Architecture and Engineering. Lecture 3 - From CISC to RISC

CS 152 Computer Architecture and Engineering. Lecture 3 - From CISC to RISC CS 152 Computer Architecture and Engineering Lecture 3 - From CISC to RISC Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste!

More information

From CISC to RISC. CISC Creates the Anti CISC Revolution. RISC "Philosophy" CISC Limitations

From CISC to RISC. CISC Creates the Anti CISC Revolution. RISC Philosophy CISC Limitations 1 CISC Creates the Anti CISC Revolution Digital Equipment Company (DEC) introduces VAX (1977) Commercially successful 32-bit CISC minicomputer From CISC to RISC In 1970s and 1980s CISC minicomputers became

More information

Alternate definition: Instruction Set Architecture (ISA) What is Computer Architecture? Computer Organization. Computer structure: Von Neumann model

Alternate definition: Instruction Set Architecture (ISA) What is Computer Architecture? Computer Organization. Computer structure: Von Neumann model What is Computer Architecture? Structure: static arrangement of the parts Organization: dynamic interaction of the parts and their control Implementation: design of specific building blocks Performance:

More information

Advanced processor designs

Advanced processor designs Advanced processor designs We ve only scratched the surface of CPU design. Today we ll briefly introduce some of the big ideas and big words behind modern processors by looking at two example CPUs. The

More information

Computer Architecture

Computer Architecture Computer Architecture Lecture 3: ISA Tradeoffs Dr. Ahmed Sallam Suez Canal University Based on original slides by Prof. Onur Mutlu Application Space Dream, and they will appear 2 Design Point A set of

More information

Instruction Set Architecture

Instruction Set Architecture Instruction Set Architecture Instructor: Preetam Ghosh Preetam.ghosh@usm.edu CSC 626/726 Preetam Ghosh Language HLL : High Level Language Program written by Programming language like C, C++, Java. Sentence

More information

Hakim Weatherspoon CS 3410 Computer Science Cornell University

Hakim Weatherspoon CS 3410 Computer Science Cornell University Hakim Weatherspoon CS 3410 Computer Science Cornell University The slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, McKee, and Sirer. Prelim today Starts

More information

Reduced Instruction Set Computers

Reduced Instruction Set Computers Reduced Instruction Set Computers The acronym RISC stands for Reduced Instruction Set Computer. RISC represents a design philosophy for the ISA (Instruction Set Architecture) and the CPU microarchitecture

More information

Computer Architecture

Computer Architecture Computer Architecture Lecture 3: ISA Tradeoffs Dr. Ahmed Sallam Suez Canal University Spring 2015 Based on original slides by Prof. Onur Mutlu Design Point A set of design considerations and their importance

More information

Introduction to Microprocessor

Introduction to Microprocessor Introduction to Microprocessor Slide 1 Microprocessor A microprocessor is a multipurpose, programmable, clock-driven, register-based electronic device That reads binary instructions from a storage device

More information

Instruction Set Architecture (ISA)

Instruction Set Architecture (ISA) Instruction Set Architecture (ISA)... the attributes of a [computing] system as seen by the programmer, i.e. the conceptual structure and functional behavior, as distinct from the organization of the data

More information

Review of instruction set architectures

Review of instruction set architectures Review of instruction set architectures Outline ISA and Assembly Language RISC vs. CISC Instruction Set Definition (MIPS) 2 ISA and assembly language Assembly language ISA Machine language 3 Assembly language

More information

Chapter 13 Reduced Instruction Set Computers

Chapter 13 Reduced Instruction Set Computers Chapter 13 Reduced Instruction Set Computers Contents Instruction execution characteristics Use of a large register file Compiler-based register optimization Reduced instruction set architecture RISC pipelining

More information

Lecture 3 - From CISC to RISC

Lecture 3 - From CISC to RISC CS 152 Computer Architecture and Engineering Lecture 3 - From CISC to RISC John Wawrzynek Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~johnw

More information

Lecture 3 Machine Language. Instructions: Instruction Execution cycle. Speaking computer before voice recognition interfaces

Lecture 3 Machine Language. Instructions: Instruction Execution cycle. Speaking computer before voice recognition interfaces Lecture 3 Machine Language Speaking computer before voice recognition interfaces 1 Instructions: Language of the Machine More primitive than higher level languages e.g., no sophisticated control flow Very

More information

Hardware and Software Architecture. Chapter 2

Hardware and Software Architecture. Chapter 2 Hardware and Software Architecture Chapter 2 1 Basic Components The x86 processor communicates with main memory and I/O devices via buses Data bus for transferring data Address bus for the address of a

More information

1DT157 Digitalteknik och datorarkitekt. Digital technology and computer architecture, 5p

1DT157 Digitalteknik och datorarkitekt. Digital technology and computer architecture, 5p 1DT157 Digitalteknik och datorarkitekt Digital technology and computer architecture, 5p This is 1DT157 Digitalteknik och datorarkitekt Instructor: Stefanos Kaxiras Few things about me: Visiting professor

More information

CS Computer Architecture

CS Computer Architecture CS 35101 Computer Architecture Section 600 Dr. Angela Guercio Fall 2010 Structured Computer Organization A computer s native language, machine language, is difficult for human s to use to program the computer

More information

Microprocessor Architecture Dr. Charles Kim Howard University

Microprocessor Architecture Dr. Charles Kim Howard University EECE416 Microcomputer Fundamentals Microprocessor Architecture Dr. Charles Kim Howard University 1 Computer Architecture Computer System CPU (with PC, Register, SR) + Memory 2 Computer Architecture ALU

More information

Math 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro

Math 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 MIPS Intro Adapted from slides developed for: Mary J. Irwin PSU CSE331 Dave Patterson s UCB CS152 M230 L09.1 Smith Spring 2008 MIPS

More information

IT 252 Computer Organization and Architecture. Introduction. Chia-Chi Teng

IT 252 Computer Organization and Architecture. Introduction. Chia-Chi Teng IT 252 Computer Organization and Architecture Introduction Chia-Chi Teng What is computer architecture about? Computer architecture is the study of building computer systems. IT 252 is roughly split into

More information

Instruction Set Principles and Examples. Appendix B

Instruction Set Principles and Examples. Appendix B Instruction Set Principles and Examples Appendix B Outline What is Instruction Set Architecture? Classifying ISA Elements of ISA Programming Registers Type and Size of Operands Addressing Modes Types of

More information

Advanced Computer Architecture

Advanced Computer Architecture ECE 563 Advanced Computer Architecture Fall 2007 Lecture 14: Virtual Machines 563 L14.1 Fall 2009 Outline Types of Virtual Machine User-level (or Process VMs) System-level Techniques for implementing all

More information

EC 513 Computer Architecture

EC 513 Computer Architecture EC 513 Computer Architecture Complex Pipelining: Superscalar Prof. Michel A. Kinsy Summary Concepts Von Neumann architecture = stored-program computer architecture Self-Modifying Code Princeton architecture

More information

Instruction Set Architecture. "Speaking with the computer"

Instruction Set Architecture. Speaking with the computer Instruction Set Architecture "Speaking with the computer" The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture Digital Design

More information

Computer System architectures

Computer System architectures CSC 203 1.5 Computer System Architecture Budditha Hettige Department of Statistics and Computer Science University of Sri Jayewardenepura 1 Historical Developments 2 Computer Generation 1. Zeroth generation-

More information

Fundamentals of Computers Design

Fundamentals of Computers Design Computer Architecture J. Daniel Garcia Computer Architecture Group. Universidad Carlos III de Madrid Last update: September 8, 2014 Computer Architecture ARCOS Group. 1/45 Introduction 1 Introduction 2

More information

Lecture 4: Instruction Set Architecture

Lecture 4: Instruction Set Architecture Lecture 4: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation Reading: Textbook (5 th edition) Appendix A Appendix B (4 th edition)

More information

Processing Unit CS206T

Processing Unit CS206T Processing Unit CS206T Microprocessors The density of elements on processor chips continued to rise More and more elements were placed on each chip so that fewer and fewer chips were needed to construct

More information

CISC 360. Computer Architecture. Seth Morecraft Course Web Site:

CISC 360. Computer Architecture. Seth Morecraft Course Web Site: CISC 360 Computer Architecture Seth Morecraft (morecraf@udel.edu) Course Web Site: http://www.eecis.udel.edu/~morecraf/cisc360 Overview Intro to Computer Architecture About the Course Organization

More information

RISC Principles. Introduction

RISC Principles. Introduction 3 RISC Principles In the last chapter, we presented many details on the processor design space as well as the CISC and RISC architectures. It is time we consolidated our discussion to give details of RISC

More information

Lecture 4: RISC Computers

Lecture 4: RISC Computers Lecture 4: RISC Computers Introduction Program execution features RISC characteristics RISC vs. CICS Zebo Peng, IDA, LiTH 1 Introduction Reduced Instruction Set Computer (RISC) is an important innovation

More information

EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture

EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration Instruction Set Principles The Role of Compilers MIPS 2 Main Content Computer

More information

Fundamentals of Computer Design

Fundamentals of Computer Design Fundamentals of Computer Design Computer Architecture J. Daniel García Sánchez (coordinator) David Expósito Singh Francisco Javier García Blas ARCOS Group Computer Science and Engineering Department University

More information

Historical Perspective and Further Reading 3.10

Historical Perspective and Further Reading 3.10 3.10 6.13 Historical Perspective and Further Reading 3.10 This section discusses the history of the first pipelined processors, the earliest superscalars, the development of out-of-order and speculative

More information

INTEL Architectures GOPALAKRISHNAN IYER FALL 2009 ELEC : Computer Architecture and Design

INTEL Architectures GOPALAKRISHNAN IYER FALL 2009 ELEC : Computer Architecture and Design INTEL Architectures GOPALAKRISHNAN IYER FALL 2009 GBI0001@AUBURN.EDU ELEC 6200-001: Computer Architecture and Design Silicon Technology Moore s law Moore's Law describes a long-term trend in the history

More information

The Processor: Instruction-Level Parallelism

The Processor: Instruction-Level Parallelism The Processor: Instruction-Level Parallelism Computer Organization Architectures for Embedded Computing Tuesday 21 October 14 Many slides adapted from: Computer Organization and Design, Patterson & Hennessy

More information

VAX. Agenda. VAX and its History VAX ISA VAX Virtual Address Microcode

VAX. Agenda. VAX and its History VAX ISA VAX Virtual Address Microcode VAX Agenda VAX and its History VAX ISA VAX Virtual Address Microcode What is VAX? Virtual Address extension Developed by Digital Equipment Corporation (DEC) in the mid-1970s A 32-bit CISC orthogonal instruction

More information

Instruction Set Architectures

Instruction Set Architectures Lecture 2 Instruction Set Architectures Dr. Soner Onder CS 4431 Michigan Technological University 09/04/12 1 Instruction Set Architecture (ISA) 1950s to 1960s: Computer Architecture Course Computer Arithmetic

More information

CMSC 611: Advanced Computer Architecture

CMSC 611: Advanced Computer Architecture Introduction CMSC 611: Advanced Computer Architecture Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from David Culler, UC Berkeley CS252, Spr 2002

More information

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter IT 3123 Hardware and Software Concepts Notice: This session is being recorded. CPU and Memory June 11 Copyright 2005 by Bob Brown Latches Can store one bit of data Can be ganged together to store more

More information

Lecture 12. Motivation. Designing for Low Power: Approaches. Architectures for Low Power: Transmeta s Crusoe Processor

Lecture 12. Motivation. Designing for Low Power: Approaches. Architectures for Low Power: Transmeta s Crusoe Processor Lecture 12 Architectures for Low Power: Transmeta s Crusoe Processor Motivation Exponential performance increase at a low cost However, for some application areas low power consumption is more important

More information

Chapter 2: Computer-System Structures. Hmm this looks like a Computer System?

Chapter 2: Computer-System Structures. Hmm this looks like a Computer System? Chapter 2: Computer-System Structures Lab 1 is available online Last lecture: why study operating systems? Purpose of this lecture: general knowledge of the structure of a computer system and understanding

More information

Uniprocessor Computer Architecture Example: Cray T3E

Uniprocessor Computer Architecture Example: Cray T3E Chapter 2: Computer-System Structures MP Example: Intel Pentium Pro Quad Lab 1 is available online Last lecture: why study operating systems? Purpose of this lecture: general knowledge of the structure

More information

3.1 Description of Microprocessor. 3.2 History of Microprocessor

3.1 Description of Microprocessor. 3.2 History of Microprocessor 3.0 MAIN CONTENT 3.1 Description of Microprocessor The brain or engine of the PC is the processor (sometimes called microprocessor), or central processing unit (CPU). The CPU performs the system s calculating

More information

INTRODUCTION TO MICROPROCESSORS

INTRODUCTION TO MICROPROCESSORS INTRODUCTION TO MICROPROCESSORS Richa Upadhyay Prabhu NMIMS s MPSTME richa.upadhyay@nmims.edu January 7, 2016 Richa Upadhyay Prabhu (MPSTME) INTRODUCTION January 7, 2016 1 / 63 Course Design Prerequisite:

More information

CPE/EE 421 Microcomputers

CPE/EE 421 Microcomputers CPE/EE 421 Microcomputers Instructor: Dr Aleksandar Milenkovic Lecture Notes S01 *Material used is in part developed by Dr. D. Raskovic and Dr. E. Jovanov CPE/EE 421/521 Microcomputers 1 CPE/EE 421 Microcomputers

More information

Lecture 4: RISC Computers

Lecture 4: RISC Computers Lecture 4: RISC Computers Introduction Program execution features RISC characteristics RISC vs. CICS Zebo Peng, IDA, LiTH 1 Introduction Reduced Instruction Set Computer (RISC) represents an important

More information

Chapter 2 Lecture 1 Computer Systems Organization

Chapter 2 Lecture 1 Computer Systems Organization Chapter 2 Lecture 1 Computer Systems Organization This chapter provides an introduction to the components Processors: Primary Memory: Secondary Memory: Input/Output: Busses The Central Processing Unit

More information

CS252 Spring 2017 Graduate Computer Architecture. Lecture 18: Virtual Machines

CS252 Spring 2017 Graduate Computer Architecture. Lecture 18: Virtual Machines CS252 Spring 2017 Graduate Computer Architecture Lecture 18: Virtual Machines Lisa Wu, Krste Asanovic http://inst.eecs.berkeley.edu/~cs252/sp17 WU UCB CS252 SP17 Midterm Topics ISA -- e.g. RISC vs. CISC

More information

Computer & Microprocessor Architecture HCA103

Computer & Microprocessor Architecture HCA103 Computer & Microprocessor Architecture HCA103 Computer Evolution and Performance UTM-RHH Slide Set 2 1 ENIAC - Background Electronic Numerical Integrator And Computer Eckert and Mauchly University of Pennsylvania

More information

Instruction Set Architectures. Part 1

Instruction Set Architectures. Part 1 Instruction Set Architectures Part 1 Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture Digital Design Circuit Design 1/9/02 Some ancient history Earliest (1940

More information

Computer Architecture Lecture 3: ISA Tradeoffs. Prof. Onur Mutlu Carnegie Mellon University Spring 2014, 1/17/2014

Computer Architecture Lecture 3: ISA Tradeoffs. Prof. Onur Mutlu Carnegie Mellon University Spring 2014, 1/17/2014 18-447 Computer Architecture Lecture 3: ISA Tradeoffs Prof. Onur Mutlu Carnegie Mellon University Spring 2014, 1/17/2014 Design Point A set of design considerations and their importance leads to tradeoffs

More information

William Stallings Computer Organization and Architecture 8th Edition. Cache Memory

William Stallings Computer Organization and Architecture 8th Edition. Cache Memory William Stallings Computer Organization and Architecture 8th Edition Chapter 4 Cache Memory Characteristics Location Capacity Unit of transfer Access method Performance Physical type Physical characteristics

More information

Microprogramming. The DLX ISA

Microprogramming. The DLX ISA 6.823, L4--1 Microprogramming Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 The DLX ISA Processor State 32 32-bit GPRs, R0 always contains a 0 32 single precision FPRs, may also

More information

Modern Design Principles RISC and CISC, Multicore. Edward L. Bosworth, Ph.D. Computer Science Department Columbus State University

Modern Design Principles RISC and CISC, Multicore. Edward L. Bosworth, Ph.D. Computer Science Department Columbus State University Modern Design Principles RISC and CISC, Multicore Edward L. Bosworth, Ph.D. Computer Science Department Columbus State University The von Neumann Inheritance The EDVAC, designed in 1945, was one of the

More information

4.16. Historical Perspective and Further Reading. supercomputer: Any machine still on the drawing board.

4.16. Historical Perspective and Further Reading. supercomputer: Any machine still on the drawing board. supercomputer: Any machine still on the drawing board. Stan Kelly-Bootle, The Devil s DP Dictionary, 1981 4.16 Historical Perspective and Further Reading This section discusses the history of the first

More information

Chapter 5:: Target Machine Architecture (cont.)

Chapter 5:: Target Machine Architecture (cont.) Chapter 5:: Target Machine Architecture (cont.) Programming Language Pragmatics Michael L. Scott Review Describe the heap for dynamic memory allocation? What is scope and with most languages how what happens

More information

Lecture 8: RISC & Parallel Computers. Parallel computers

Lecture 8: RISC & Parallel Computers. Parallel computers Lecture 8: RISC & Parallel Computers RISC vs CISC computers Parallel computers Final remarks Zebo Peng, IDA, LiTH 1 Introduction Reduced Instruction Set Computer (RISC) is an important innovation in computer

More information

Computer Architecture

Computer Architecture Informatics 3 Computer Architecture Dr. Boris Grot and Dr. Vijay Nagarajan Institute for Computing Systems Architecture, School of Informatics University of Edinburgh General Information Instructors: Boris

More information

CS 152 Computer Architecture and Engineering. Lecture 3 - From CISC to RISC

CS 152 Computer Architecture and Engineering. Lecture 3 - From CISC to RISC CS 152 Computer Architecture and Engineering Lecture 3 - From CISC to RISC Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste!

More information

Computer Architecture Computer Architecture. Computer Architecture. What is Computer Architecture? Grading

Computer Architecture Computer Architecture. Computer Architecture. What is Computer Architecture? Grading 178 322 Computer Architecture Lecturer: Watis Leelapatra Office: 4301D Email: watis@kku.ac.th Course Webpage: http://gear.kku.ac.th/~watis/courses/178322/178322.html Computer Architecture Grading Midterm

More information

Page 1. Structure of von Nuemann machine. Instruction Set - the type of Instructions

Page 1. Structure of von Nuemann machine. Instruction Set - the type of Instructions Structure of von Nuemann machine Arithmetic and Logic Unit Input Output Equipment Main Memory Program Control Unit 1 1 Instruction Set - the type of Instructions Arithmetic + Logical (ADD, SUB, MULT, DIV,

More information

Computer Architecture. Introduction. Lynn Choi Korea University

Computer Architecture. Introduction. Lynn Choi Korea University Computer Architecture Introduction Lynn Choi Korea University Class Information Lecturer Prof. Lynn Choi, School of Electrical Eng. Phone: 3290-3249, 공학관 411, lchoi@korea.ac.kr, TA: 윤창현 / 신동욱, 3290-3896,

More information

Advanced issues in pipelining

Advanced issues in pipelining Advanced issues in pipelining 1 Outline Handling exceptions Supporting multi-cycle operations Pipeline evolution Examples of real pipelines 2 Handling exceptions 3 Exceptions In pipelined execution, one

More information

General Purpose Processors

General Purpose Processors Calcolatori Elettronici e Sistemi Operativi Specifications Device that executes a program General Purpose Processors Program list of instructions Instructions are stored in an external memory Stored program

More information

A Comparison of Microprocessor Architectures

A Comparison of Microprocessor Architectures A Comparison of Microprocessor Architectures Jim Kleidon WriteTex Communications Rev 2.0 A Technical Whitepaper Prepared by WriteTex Communications A Comparison of Microprocessor Architectures INTRODUCTION...

More information

Outline. What Makes a Good ISA? Programmability. Implementability

Outline. What Makes a Good ISA? Programmability. Implementability Outline Instruction Sets in General MIPS Assembly Programming Other Instruction Sets Goals of ISA Design RISC vs. CISC Intel x86 (IA-32) What Makes a Good ISA? Programmability Easy to express programs

More information

C 1. Last time. CSE 490/590 Computer Architecture. Complex Pipelining I. Complex Pipelining: Motivation. Floating-Point Unit (FPU) Floating-Point ISA

C 1. Last time. CSE 490/590 Computer Architecture. Complex Pipelining I. Complex Pipelining: Motivation. Floating-Point Unit (FPU) Floating-Point ISA CSE 490/590 Computer Architecture Complex Pipelining I Steve Ko Computer Sciences and Engineering University at Buffalo Last time Virtual address caches Virtually-indexed, physically-tagged cache design

More information

Processor (IV) - advanced ILP. Hwansoo Han

Processor (IV) - advanced ILP. Hwansoo Han Processor (IV) - advanced ILP Hwansoo Han Instruction-Level Parallelism (ILP) Pipelining: executing multiple instructions in parallel To increase ILP Deeper pipeline Less work per stage shorter clock cycle

More information

Computer Systems Architecture I. CSE 560M Lecture 10 Prof. Patrick Crowley

Computer Systems Architecture I. CSE 560M Lecture 10 Prof. Patrick Crowley Computer Systems Architecture I CSE 560M Lecture 10 Prof. Patrick Crowley Plan for Today Questions Dynamic Execution III discussion Multiple Issue Static multiple issue (+ examples) Dynamic multiple issue

More information

CS 252 Graduate Computer Architecture. Lecture 15: Virtual Machines

CS 252 Graduate Computer Architecture. Lecture 15: Virtual Machines CS 252 Graduate Computer Architecture Lecture 15: Virtual Machines Krste Asanovic Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~krste http://inst.eecs.berkeley.edu/~cs252

More information

Computer Architecture!

Computer Architecture! Informatics 3 Computer Architecture! Dr. Boris Grot and Dr. Vijay Nagarajan!! Institute for Computing Systems Architecture, School of Informatics! University of Edinburgh! General Information! Instructors:!

More information

EE382 Processor Design. Class Objectives

EE382 Processor Design. Class Objectives EE382 Processor Design Stanford University Winter Quarter 1998-1999 Instructor: Michael Flynn Teaching Assistant: Steve Chou Administrative Assistant: Susan Gere Lecture 1 - Introduction Slide 1 Class

More information

Chapter 1: Introduction to the Microprocessor and Computer 1 1 A HISTORICAL BACKGROUND

Chapter 1: Introduction to the Microprocessor and Computer 1 1 A HISTORICAL BACKGROUND Chapter 1: Introduction to the Microprocessor and Computer 1 1 A HISTORICAL BACKGROUND The Microprocessor Called the CPU (central processing unit). The controlling element in a computer system. Controls

More information

Processor Design. Introduction, part I

Processor Design. Introduction, part I Processor Design Introduction, part I Professor Jari Nurmi Institute of Digital and Computer Systems Tampere University of Technology, Finland email jari.nurmi@tut.fi Background Some trends in digital

More information

Outline. What Makes a Good ISA? Programmability. Implementability. Programmability Easy to express programs efficiently?

Outline. What Makes a Good ISA? Programmability. Implementability. Programmability Easy to express programs efficiently? Outline Instruction Sets in General MIPS Assembly Programming Other Instruction Sets Goals of ISA Design RISC vs. CISC Intel x86 (IA-32) What Makes a Good ISA? Programmability Easy to express programs

More information

Reduced Instruction Set Computer

Reduced Instruction Set Computer Reduced Instruction Set Computer RISC - Reduced Instruction Set Computer By reducing the number of instructions that a processor supports and thereby reducing the complexity of the chip, it is possible

More information

Lecture 2: Technology Trends Prof. Randy H. Katz Computer Science 252 Spring 1996

Lecture 2: Technology Trends Prof. Randy H. Katz Computer Science 252 Spring 1996 Lecture 2: Technology Trends Prof. Randy H. Katz Computer Science 252 Spring 1996 RHK.S96 1 Original Food Chain Picture Big Fishes Eating Little Fishes RHK.S96 2 1985 Computer Food Chain Mainframe Workstation

More information

Lecture 9: Multiple Issue (Superscalar and VLIW)

Lecture 9: Multiple Issue (Superscalar and VLIW) Lecture 9: Multiple Issue (Superscalar and VLIW) Iakovos Mavroidis Computer Science Department University of Crete Example: Dynamic Scheduling in PowerPC 604 and Pentium Pro In-order Issue, Out-of-order

More information

Advanced d Instruction Level Parallelism. Computer Systems Laboratory Sungkyunkwan University

Advanced d Instruction Level Parallelism. Computer Systems Laboratory Sungkyunkwan University Advanced d Instruction ti Level Parallelism Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu ILP Instruction-Level Parallelism (ILP) Pipelining:

More information

Lecture 3 - From CISC to RISC

Lecture 3 - From CISC to RISC CS 152 Computer Architecture and Engineering Lecture 3 - From CISC to RISC Dr. George Michelogiannakis EECS, University of California at Berkeley CRD, Lawrence Berkeley National Laboratory http://inst.eecs.berkeley.edu/~cs152

More information

Real Processors. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

Real Processors. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Real Processors Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Instruction-Level Parallelism (ILP) Pipelining: executing multiple instructions in parallel

More information

Lecture Topics. Announcements. Today: The MIPS ISA (P&H ) Next: continued. Milestone #1 (due 1/26) Milestone #2 (due 2/2)

Lecture Topics. Announcements. Today: The MIPS ISA (P&H ) Next: continued. Milestone #1 (due 1/26) Milestone #2 (due 2/2) Lecture Topics Today: The MIPS ISA (P&H 2.1-2.14) Next: continued 1 Announcements Milestone #1 (due 1/26) Milestone #2 (due 2/2) Milestone #3 (due 2/9) 2 1 Evolution of Computing Machinery To understand

More information