CpE 442 Introduction To Computer Architecture Lecture 1

Slides:



Advertisements
Similar presentations
CEG3420 L1 Intro.1 Copyright (C) 1998 UCB CEG3420 Computer Design Lecture 1 Philip Leong.
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.
Spring 2008, Jan. 14 ELEC / Lecture 2 1 ELEC / Computer Architecture and Design Spring 2007 Introduction Vishwani D. Agrawal.
CMSC411/Computer Architecture These slides and all associated material are © 2003 by J. Six and are available only for students enrolled in CMSC411. Introduction.
ENEE350 Spring07 1 Ankur Srivastava University of Maryland, College Park Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005.”
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
CS472 COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE –Bruce D’Ambrosio Dearborn, –Text: Computer Organization and Design.
CPEN Digital System Design Chapter 10 – Instruction SET Architecture (ISA) © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall.
CS / Schlesinger Lec1.1 1/20/99©UCB Spring 1999 Computer Architecture Lecture 1 Introduction and Five Components of a Computer Spring, 1999 Arie Schlesinger.
1 CSE SUNY New Paltz Chapter 1 Introduction CSE-45432Introduction to Computer Architecture Dr. Izadi.
CIS 314 : Computer Organization Lecture 1 – Introduction.
August 26 TA: Angela Van Osdol Questions?. What is a computer? Tape drives? Big box with lots of lights? Display with huge letters? Little box with no.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
CENG311 Computer Architecture Kayhan Erciyes. CS231 Assembly language and Digital Circuits Instructor:Kayhan Erciyes Office:
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
Computer Organization and Architecture (AT70. 01) Comp. Sc. and Inf
Summary: Computer System Components Proc Caches Busses Memory I/O Devices: Controllers adapters Disks Displays Keyboards Networks.
Digital Systems Design L01 Introduction.1 Digital Systems Design Lecture 01: Introduction Adapted from: Mary Jane Irwin ( )
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB What is “Computer Architecture” Computer Architecture = Instruction Set Architecture + Machine Organization.
Patterson Fall 97 ©UCB CS/EE 362 Hardware Fundamentals Lecture 8 (Chapter 1: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
International Technology University CEN 951 Computer Architecture Lecture 2 Five Components of a Computer.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
Computer Organization and Design Computer Abstractions and Technology
Computer Architecture Mehran Rezaei
CS35101 Computer Architecture Spring 2006 Week 1 Slides adapted from: Mary Jane Irwin ( Course url:
Cps-104 Intro.1 ©GK Spring 1999 CPS104 Computer Organization Lecture 1 January 14, 1999 Gershon Kedem Slides available on:
Computer Architecture And Organization UNIT-II General System Architecture.
Computer System Design Lecture 1 Wannarat Suntiamorntut.
by Computer System Design Lecture 1 Wannarat Suntiamorntut
Lecture 11: 10/1/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
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.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
CSIE30300 Computer Architecture Unit 01: Introduction Hsin-Chou Chi [Adapted from material by and
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB CS152 Computer Architecture and Engineering Lecture 1 August 27, 1997 Dave Patterson (http.cs.berkeley.edu/~patterson)
CHAPTER 2 Instruction Set Architecture 3/21/
1 CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson,
By Wannarat Computer System Design Lecture 1 Wannarat Suntiamorntut.
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
Introduction CSE 410, Spring 2005 Computer Systems
CpE 442 Introduction to Computer Architecture The Role of Performance
Computer Organization and Architecture Lecture 1 : Introduction
Chapter 1 Computer Abstractions and Technology
Instruction Set Architecture
CSE 410, Spring 2006 Computer Systems
Computer Organization & Design Microcode for Control Sec. 5
Computer Architecture
Overview Introduction General Register Organization Stack Organization
Computer Architecture and Organization
Instructions - Type and Format
EEL 4713/EEL 5764 Computer Architecture
COSC121: Computer Systems
Komponen Dasar Sistem Komputer
T Computer Architecture, Autumn 2005
Chapter 5: Computer Systems Organization
August 29 New address for Fang-Yi
Welcome to Architectures of Digital Systems
What is Computer Architecture?
COMS 361 Computer Organization
What is Computer Architecture?
What is Computer Architecture?
CS4100: 計算機結構 Course Outline
January 16 The books are here. Assignment 1 now due Thursday 18 Jan.
Computer Architecture
Instruction Set Architecture
ELEC / Computer Architecture and Design Fall 2014 Introduction
CSE378 Introduction to Machine Organization
Presentation transcript:

CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture slides provided with the course text book specified in the course syllabus The original slides were prepared by D. Patterson et al, UC Berkeley.

Overview of Today’s Lecture Course Overview Levels of Representation Levels of Organization

Course Overview Computer Design Instruction Set Deign ° Machine Language ° Compiler View ° "Computer Architecture" ° "Instruction Set Processor" "Building Architect" Computer Hardware Design ° Machine Implementation ° Logic Designer's View ° "Processor Architecture" ° "Computer Organization” “Construction Engineer” This shows the difference between the classical definition of a computer architect and a computer hardware designer.

Instruction Set Architecture . . . 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, and Brooks, 1964 SOFTWARE -- Organization of Programmable Storage -- Data Types & Data Structures: Encodings & Representations -- Instruction Formats -- Instruction (or Operation Code) Set -- Modes of Addressing and Accessing Data Items and Instructions -- Exceptional Conditions

Organization ISA Level FUs & Interconnect Logic Designer's View -- Capabilities & Performance Characteristics of Principal Functional Units (e.g., Registers, ALUs, Shifters, Logic Units, etc. -- Ways in which these components are interconnected -- nature of information flows between components -- logic and means by which such information flow is controlled. Choreography of FUs to realize the ISA Register Transfer Level Description

What is "Computer Architecture” What is "Computer Architecture” ? A system concept integrating software, hardware, and firmware to specify the design of computing systems ° Co-ordination of levels of abstraction Application Operating Compiler System Instruction Set Architecture Instr. Set Proc. I/O system Digital Design Circuit Design ° Under a set of rapidly changing Forces

Forces on Computer Architecture Programming Technology Languages Applications Computer Architecture Operating Systems History

Overview of Today’s Lecture Course Overview Levels of Representation Levels of Organization

Levels of Representation temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; High Level Language Program Compiler lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) Assembly Language Program Assembler Machine Language Program 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 Machine Interpretation Control Signal Spec

MIPS R3000 Instruction Set Architecture Instruction Categories Load/Store Computational Jump and Branch Floating Point coprocessor Memory Management Special R0 - R31 PC HI LO Instruction Format OP rs rt rd sa funct OP rs rt immediate OP target

Measurement and Evaluation Architecture is an iterative process -- searching the space of possible designs -- at all levels of computer systems Creativity Cost / Performance Analysis Good Ideas Mediocre Ideas Bad Ideas

Course Overview (cont) Computer Design Computer Hardware Design ° Machine Implementation\ ° Logic Designer's View ° "Processor Architecture" ° "Computer Organization" “Construction Engineer” Instruction Set Deign ° Machine Language ° Compiler View ° "Computer Architecture" ° "Instruction Set Processor" "Building Architect" Few people design computers! Very few design instruction sets! Many people design computer components. Very many people are concerned with computer functions, in detail.

So what's in it for you ? In-depth understanding of the inner-workings of Computing Systems, their evolution, and trade-offs present at the hardware/software boundary. Insight into fast/slow operations that are easy/hard to implementation hardware Understanding of the design process in the context of a large complex Computing Systems design. Functional Spec --> Control & Datapath Design-- --> Physical implementation

Example Architecture: The SPARCstation 20 Memory SIMMs Memory Controller Memory Bus MBus Disk Slot 1 MBus Slot 1 SBus Slot 3 SBus Tape Slot 0 MBus Slot 0 SBus Slot 2 SBus SBus SCSI Bus Here comes the fun part of today’s lecture. We are going to open up this box and take a look at the internal organization of a real computer. What we have here is a SUN SPARCstation 20. One of the best selling workstations in the market. Although this is called a workstation, it is still a pretty impressive computer. As a matter of fact, depending on the application you run, this “pizza box” here probably has 50 to 100 times more compute power than the DEC VAX 780 machine that was shared by all CS graduate students 10 years ago. Let’s open up the box and take a look. It looks complicated, doesn’t it? In order to walk through this maze without getting lost, what we need is a map. The block diagram here is the kind of map computer architectects used when they described the organization of a computer. Well, if one doesn’t know WHAT to look for, even a block diagram likes this can be more complicated than one wants. In order to simplify the picture furturer, we need more abstraction. This brings us to the most important thing we want you to remember from today’s lecture. MSBI SEC MACIO Keyboard Floppy External Bus & Mouse Disk

Overview of Today’s Lecture Course Overview Levels of Representation Levels of Organization

Levels of Organization SPARCstation 20 Computer SPARC Processor Memory Devices Control Input That is, any computer, no matter how primitive or advance, can be divided into five parts: 1. The input devices bring the data from the outside world into the computer. 2. These data are kept in the computer’s memory until ... 3. The datapath request and process them. 4. The operation of the datapath is controlled by the computer’s controller. All the work done by the computer will NOT do us any good unless we can get the data back to the outside world. 5. Getting the data back to the outside world is the job of the output devices. The most COMMON way to connect these 5 components together is to use a network of busses. Datapath Output

The Underlying Network SPARCstation 20 Memory Bus Memory Controller Standard I/O Bus: SCSI Bus Processor Bus: MBus Sun’s High Speed I/O Bus: SBus For example, inside the SPARCstation 20, there are five major busses. If you don’t know what a BUS is, don’t worry. You will learn about it in this class. For now just think of it as a group of electrical wires which you can attach some components onto. For example, underneath these slots here is the Memory Bus and you can attach memory modules onto the Memory Bus by plugging them into these slots. These chips with fancy names (MACIO, SEC ...) are bus adaptors connecting the different busses together. You may want to ask WHY do we need five different busses? Can one bus do the job? Well in theory, you can. But in practice, different buss fulfils different requirements. Its kind of like for someone who does not have too much money, he or she will be happy with just one car. But for someone who has more money, he or she may have two cars: one car that has high gas mileage for commuting and another bigger and stronger 4-wheel drive for weekend trips. Anyway, let’s look at what is on the SPARCstation processor bus. MSBI SEC MACIO Low Speed I/O Bus: External Bus

Processor and Caches MBus Module SuperSPARC Processor Registers SPARCstation 20 MBus Module SuperSPARC Processor MBus Registers Datapath Slot 1 MBus Slot 0 MBus Internal Cache Control For some strange reason that I do not know, the processor bus inside the SPARCstation 20 is called the Mbus. There are two slots on the Mbus where we can plug in one of these MBus modules. Each MBus module has a SPARC processor on it and for some more expensive MBus modules, they also have 1MB of external cache on the module. The most expensive MBus module has two SuperSPARC processors on it so you can have up to four SuperSPARC processors in this pizza box. Most users do not need the external cache because there are enough internal cache inside the SuperSPARC processor. Register, cache, and memory all serve the same function. They provide data for the datapath to compute. The way to think about them is: 1. Register is like money in your pocket. You can get to it as soon as you want. 2. Cache is like money you keep under your mattress. Not as good as money in your pocket but you can still get to it rather quick. But you don’t want to put all your money under your mattress. You want to put all your “unused” memory in the bank. As far as the computer is concerned, the bank is the memory system. External Cache

Memory Memory Bus DRAM SIMM SPARCstation 20 DRAM DRAM DRAM DRAM DRAM SIMM Slot 0 SIMM Slot 1 SIMM Slot 2 SIMM Slot 3 SIMM Slot 4 SIMM Slot 5 SIMM Slot 6 SIMM Slot 7 Memory Bus Memory Controller DRAM SIMM DRAM DRAM DRAM DRAM DRAM DRAM DRAM DRAM DRAM DRAM The SPARCstation 20 memory system is rather simple. It consists of a Memory Controller and a Memory Bus that has 8 slots where you can plug in one of these memory modules. The memory module is called SIMM: Single In-line Memory Module. In-line because they all line up in the memory slots. The most expensive SIMM has 16 MB of memory on it so you can put up to 8 times 16 or 128 MB of memory in this computer. To put things into perspective, the VAX 780 that serves the entire CS department 10 years ago ONLY has around 4MB of main memory, that is less than one module.

Input and Output (I/O) Devices SPARCstation 20 SCSI Bus: Standard I/O Devices SBus: High Speed I/O Devices External Bus: Low Speed I/O Device Disk Slot 1 SBus Slot 3 SBus Tape Slot 0 SBus Slot 2 SBus SBus SCSI Bus The SPARCstation groups the I/O devices into three categories: 1. I/O devices that use the industry’s standard SCSI interface are placed on the SCSI bus. 2. For high speed I/O devices, SUN uses its own high speed SBus. 3. Finally, for slow seed I/O devices, they are placed on the External Bus. SEC MACIO Keyboard Floppy External Bus & Mouse Disk

Standard I/O Devices SPARCstation 20 SCSI = Small Computer Systems Interface A standard interface (IBM, Apple, HP, Sun ... etc.) Computers and I/O devices communicate with each other The hard disk is one I/O device resides on the SCSI Bus Disk Tape SCSI Bus First let's look at the standard I/O devices. SCSI stands for Small Computer Systems Interface and it is a industry standard adopted by all major computer manufactures. The advantage of the SCSI bus is that it is an industry standard so there are a lot of components you can buy to put on this bus. The hard disk here is one components that sits on the SCSI bus and the way this SPARCstation is designed, it is very easy to assemble and disassemble the hard disk. This allows you to swap disk very easily if for some reason you want to move all your data to another workstation or you want to upgrade the disk. The disadvantage of the SCSI bus is that it is relatively slow.

High Speed I/O Devices SPARCstation 20 SBus is SUN’s own high speed I/O bus SS20 has four SBus slots where we can plug in I/O devices Example: graphics accelerator, video adaptor, ... etc. High speed and low speed are relative terms So for high speed I/O devices, SUN has its own high speed I/O bus called the SBus. The SS 20 has 4 SBus slots where you can plug in some fancy high speed I/O devices. One example of such high speed I/O device is a video adaptor where you can bring video images into the SPARCstation. One thing I should point out is that high speed and low speed are relative terms. Even though SBus is called the high speed I/O bus in the SS20, it is really not that fast. One of the things I am working on at SUN is to find a even faster way to bring data in and out of the SPARCstation. Slot 1 SBus Slot 3 SBus Slot 0 SBus Slot 2 SBus SBus

Slow Speed I/O Devices SPARCstation 20 The are only four SBus slots in SS20--”seats” are expensive The speed of some I/O devices is limited by human reaction time--very very slow by computer standard Examples: Keyboard and mouse No reason to use up one of the expensive SBus slot Recalled from the last slide that there are only four SBus slots on the SBus so we cannot afford to put too many I/O devices on the SBus. For some I/O devices, such as keyboard and mouse, their speed is limited by human reaction time anyway, so there is no reason to use up one of the expensive SBus slot. For these slow I/O devices, they are placed on the External Bus. Keyboard Floppy External Bus & Mouse Disk

Computer Architecture Simulation Tools 1. The HASE Architecture Simulation Environment 2. The New Compiler Technology simulation (to beshown in class) 3. MIPS Assembly Language Simulators a. SPIM A MIPS32 Simulator http://pages.cs.wisc.edu/~larus/spim.html b. MARS (MIPS Assembler and Runtime Simulator) http://courses.missouristate.edu/kenvollmar/mars/

Summary All computers consist of five components Processor: (1) datapath and (2) control (3) Memory (4) Input devices and (5) Output devices Not all “memory” are created equally Cache: fast (expensive) memory are placed closer to the processor Main memory: less expensive memory--we can have more Input and output (I/O) devices has the messiest organization Wide range of speed: graphics vs. keyboard Wide range of requirements: speed, standard, cost ... etc. Least amount of research (so far) Let me summarize what I have said so far. The most important thing I want you to remember is that: all computers, no matter how complicated or expensive, can be divided into five components: (1) The datapath and (2) control that make up the processor. (3) The memory system that supplies data to the processor. And last but not least, the (4) input and (5) output devices that get data in and out of the computer. One thing about memory is that Not all “memory” are created equally. Some memory are faster but more expensive and we place them closer to the processor and call them “cache.” The main memory can be slower than the cache so we usually use less expensive parts so we can have more of them. Finally as you can see from the last few slides, the input and output devices usually has the messiest organization. There are several reasons for it: (1) First of all, I/O devices can have a wide range of speed. (2) Then I/O devices also have a wide range of requirements. (s) Finally to make matters worse, historically I/O has attracted the least amount of research interest. But hopefully this is changing. In this class, you will learn about all these five components and we will try to make this as enjoyable as possible. So have fun.