EECE476: Computer Architecture Lecture 0: Computer Architecture Chapter 1 The University of British ColumbiaEECE 476© 2005 Guy Lemieux.

Slides:



Advertisements
Similar presentations
Computer History.
Advertisements

CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Chapter 01 Introduction Chapter 0 Introduction. Chapter 02 History of Computing - Early Computers Abacus (ancient orient, still in use) Slide rule (17C,
Chapter 1. Introduction This course is all about how computers work But what do we mean by a computer? –Different types: desktop, servers, embedded devices.
TK 2123 COMPUTER ORGANISATION & ARCHITECTURE
Appendix The Continuing Story of the Computer Age.
1 CSE SUNY New Paltz Chapter 1 Introduction CSE-45432Introduction to Computer Architecture Dr. Izadi.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
ECE2030 Introduction to Computer Engineering Lecture 1: Overview
Some of these slides are based on material from the ACM Computing Curricula 2005.
Chapter 1 Sections 1.1 – 1.3 Dr. Iyad F. Jafar Introduction.
Computer Organization and Assembly language
Department of Computer Engineering
CSE378 Gen. Intro1 Machine Organization and Assembly Language Programming Machine Organization –Hardware-centric view (in this class) –Not at the transistor.
Computer Architecture (Hardware Engineering) Dr. BEN CHOI Ph.D. in EE (Computer Engineering), The Ohio State University System Performance Engineer, Lucent.
Lecture 1 Microprocessors and Computer Systems. 2 What is a microprocessor? It’s a semiconductor IC Provides the pseudointelligence of a system Performing.
Computer system & Architecture Chapter 2 Computer Evolution and Performance.
Digital Systems Design L01 Introduction.1 Digital Systems Design Lecture 01: Introduction Adapted from: Mary Jane Irwin ( )
1 Computer Systems. 2 Introduction – What is a Computer? This course is all about how computers work What do computer and computer system mean to you?
CCSE251 Introduction to Computer Organization
CPE232 Introduction1 CPE 335 Computer Organization Introduction Dr. Gheith Abandah [Adapted from the slides of Professor Mary Irwin (
01 Introduction – Computer Evolution & Performance Computer Organization.
Introduction Computer Organization and Architecture: Lesson 1.
Multi-core Programming Introduction Topics. Topics General Ideas Moore’s Law Amdahl's Law Processes and Threads Concurrency vs. Parallelism.
CMSC 120: Visualizing Information 1/29/08 Introduction to Computing.
CPS120: Introduction to Computer Science Introduction to Computers.
Computer Science What is Computer Science? Algorithm Design and Analysis Organization and Architecture Artificial Intelligence Databases Operating Systems.
COMP 268 Computer Organization and Assembly Language A Brief History of Computing Architecture.
History of Computers.
Computer Generations Evolution of the Computer. Modern Computers Modern computers – Binary, electrical, computational devices.
Computer Organization and Design Computer Abstractions and Technology
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
Computer Evolution. ENIAC - background Electronic Numerical Integrator And Computer Eckert and Mauchly University of Pennsylvania Trajectory tables for.
Dannelly's Very Short History of Computing CSCI 101.
순천향대학교 정보기술공학부 이 상 정 1 1. Computer Abstractions and Technology.
Introduction.  This course is all about how computers work  But what do we mean by a computer?  Different types: desktop, servers, embedded devices.
Computer Architecture Lec 06: Computer Architecture Introduction.
Why build a computer? u Computers were developed to mechanize mathematical computations. u Two definitions:  A computer is “a programmable electronic.
August 27 Books? ? Accounts?. What does a computer look like? Tape drives? Big box with lots of lights? Display with huge letters? Little box with.
Dannelly's Short History of Computing CSCI327 Social Implications of Computing.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Main memory Processor Bus Cache memory Figure 1.5.The processor cache.
Information Age “An in depth look at the exciting history of the Calculator and Computer”
Computer Architecture
Evolution of the Computer. Zeroth Generation- Mechanical 1.Blaise Pascal –Mechanical calculator only perform Von Leibiniz –Mechanical.
BITS Pilani Pilani Campus Pawan Sharma ES C263 Microprocessor Programming and Interfacing.
Computer Organization IS F242. Course Objective It aims at understanding and appreciating the computing system’s functional components, their characteristics,
PRENTATION COMPUTER HISTORY SUBMITTED BY:- BHUVANESH JAISWAL.
Computer Architecture Furkan Rabee
Babbage’s Difference Engine #2 Ed Lazowska Bill & Melinda Gates Chair in Computer Science & Engineering University of Washington August 2011.
William Stallings Computer Organization and Architecture 6th Edition
William Stallings Computer Organization and Architecture 6th Edition
Computer History.
Architecture & Organization 1
Computer Architecture and Organization
Architecture & Organization 1
BIC 10503: COMPUTER ARCHITECTURE
INTRODUCTION TO COMPUTER ARCHITECTURE
Computer History.
What is Computer Architecture?
COMS 361 Computer Organization
William Stallings Computer Organization and Architecture 6th Edition
Chapter 0 Introduction Introduction Chapter 0.
CSE378 Introduction to Machine Organization
Presentation transcript:

EECE476: Computer Architecture Lecture 0: Computer Architecture Chapter 1 The University of British ColumbiaEECE 476© 2005 Guy Lemieux

2 What is this ?

3 64 kB Data Cache 64 kB Instr. Cache Load/Store Execution Unit Fetch Scan Align Micro-code Bus Unit HyperTransport DDR Memory Interface 1 MB Unified Instruction/Data Level 2 Cache Floating-Point Unit Memory Controller What is this ? This is an AMD Operton CPU Total Area: 193 mm 2 Look at the relative sizes of each block: 50% cache 23% I/O 20% CPU logic + extra stuff cache memory CPUs dedicate > 50% area for cache memory. In this course, you will learn how to build a CPU like this!

4 What is Computer Architecture?

5 Historic definition Computer Architecture = Instruction Set Architecture + Computer Organization Term coined by IBMer: Frederick Brooks (~1957)

6 What is Instruction Set Architecture? Important acronym: ISA –Instruction Set Architecture The low-level software interface to the machine –Language of the machine –Must translate any programming language into this language –Examples: IA-32 (Intel instruction set), MIPS, SPARC, Alpha, PA-RISC, PowerPC, … Visible to programmer (if desired)!

7 Instruction Set Architecture I/O systemInstr. Set Proc. Compiler Operating System Application Digital Design Circuit Design Instruction Set Architecture Firmware Datapath & Control Layout Software Hardware

8 Instruction Set Architecture Original definition: … 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 flows and controls the logic design, and the physical implementation.” Amdahl, Blaaw, Brooks, 1964

9 What is Computer Organization? Computer organization is the implementation of the machine, consisting of two components: –High-level organization Memory system widths, bus structure, CPU internal organization, … –Hardware Precise logic and circuit design, mechanical packaging, … Many implementations are possible for an ISA !!! –Intel i386, i486, Pentium, Pentium II, … –Performance, complexity, cost differences…. Invisible to the programmer (mostly)!

10 Computer Organization Example of internal CPU organization

11 Your Background You took: –EECE 256 – Intro to digital logic –EECE 259 – Intro to microcomputers –EECE 353/379 – Advanced digital systems Plus, you know how to write software…. Now you’re ready to design an entire computer system! –Come up with an ISA –Design the CPU to run it (organization + hardware)

12 Designing a Computer System Now you’re ready to design an entire computer system! –But wait, there are many trade-offs: Cost Complexity Performance Power Consumption The goal of this course is to expose you to these trade- offs so you can make intelligent design decisions!!! –Focus on Cost, Complexity, Performance THIS COURSE – focus “inside the CPU” EECE465 will look “outside the CPU”

13 Computing History – Volume 1 Sticks, stones, strings, … –Ancient counting and measuring devices Abacus (~3000BC) Napiers bones (1617) Slide Rule (1625) –Arithmetic aids (e.g., addition, multiplication)

14 Computing History – Volume 2 Charles Babbage ( ) –“Grandfather of Computing” –Designed mechanical computers using gears Difference Engine ( ) –Tabulated polynomials using the difference method –Didn’t work, limited tolerances in gear-making technology Analytical Engine ( ) –More general, programmable (punch cards!) –Never built due to financing (& failures with D.E.) In 1855, Swedish family built an operational D.E. !!! –

15 Computing History – Volume 2 Augusta Ada King, Countess of Lovelace ( ) –The world’s “First Computer Programmer” –Designed programs to run on Babbage’s Analytical Engine Some controversy over her exact role –Defined an algebra engine Could operate on symbols as well as numbers – –See also programming language “Ada” (1980)

16 Computing History – Volume 3 <1946ENIAC –Univ. of Pennsylvania –18,000 vacuum tubes –30 tons, 80’ x 8.5’ 1949ESDAC –Cambridge University –Stored-program computer 1949Mark I –Harvard University –Harvard Architecture Separate instr. and data memory vs. von Neumann / Princeton 1949BINAC –Eckert-Mauchly Computer Corp. –First Commercial Computer 1951UNIVAC-1 –Remington-Rand –$1,000,000 each –Sold 48 systems 1952IBM 701 –Sold 19 systems 1964IBM System/360 –$5,000,000,000 invested –Computer family, all use same instructions –Computer architecture is born! 1965DEC PDP-8 –First minicomputer –Spawns MULTICS, UNIX, C 1971Intel 4004 –First microprocessor –2,300 transistors

17 The Transistor (1947) Invented in 1947 at Bell Labs –Bardeen, Brattain, and Shockley Important because vacuum tubes are unreliable!

18 The Integrated Circuit (1958-9) Invented in Texas and California –Robert Noyce, Fairchild Semiconductor –Jack Kilby, Texas Instruments –Noyce was first to patent the idea…. Now, multiple transistors can be placed in one piece of silicon!!!

19 Moore’s Law and Intel CPUs Source: IntelIntel

20 Moore and moore transistors… Moore’s Law (1965) –Gordon Moore, Fairchild Semiconductor –Noticed 2x number of transistors every months "The complexity for minimum component costs has increased at a rate of roughly a factor of two per year. Certainly over the short term this rate can be expected to continue, if not increase. Over the longer term, the rate of increase is a bit more uncertain, although there is no reason to believe it will not remain for nearly constant for at least 10 years. That means by 1975, the number of components per integrated circuit for minimum cost will be 65,000.” "I believe that such a large circuit can be built on a single wafer." 1968: Robert Noyce and Gordon Moore left Fairchild –Founded Intel (short for “INTegrated ELectronics”) 1971: Intel 4004, the world’s first microprocessor!

21 More and more transistors… Increasing number of transistors makes it possible to build more complex implementations –eg, i386 to i486 to Pentium …. Complexity allows improved computer organization with higher processing throughput –Really, it is mostly due to improved CPU organization –Modern term for CPU organization CPU Microarchitecture

22 Computer Architecture Modern definition Computer Architecture = Instruction Set Architecture + CPU Microarchitecture + Computer Organization [definition by me!] EECE476 (inside the CPU) EECE465 (outside the CPU)

23 CPU Microarchitecture –Detailed internal CPU implementation of an ISA Logical organization of CPU internals, including –Cache sizes, organization –Pipeline depth –Number of functional units Methods for enhancing/detecting parallelism during execution –Dependence checking, parallel dispatch, out-of-order completion –Branch prediction, speculation –Another view How to use a 1,000,000,000 transistor budget –Responsible for high-performance in modern CPUs

24 ISA & CPU Family Tree