CS472 COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE –Bruce D’Ambrosio - 107 Dearborn, 7-5563 –Text: Computer Organization and Design.

Slides:



Advertisements
Similar presentations
TU/e Processor Design 5Z0321 Processor Design 5Z032 Computer Systems Overview Chapter 1 Henk Corporaal Eindhoven University of Technology 2011.
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.
CSE431 L01 Introduction.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 01: Introduction Mary Jane Irwin ( )
Introduction Digital systems (logic design, digital logic, switching circuits) are employed in: computers data communication control systems many other.
CPSC 321 Computer Architecture Fall 2006 Lecture 1 Introduction and Five Components of a Computer Adapted from CS 152 Spring 2002 UC Berkeley Copyright.
CMSC411/Computer Architecture These slides and all associated material are © 2003 by J. Six and are available only for students enrolled in CMSC411. Introduction.
CPSC 321 Computer Architecture Spring 2005 Lecture 1 Introduction and Five Components of a Computer Adapted from CS 152 Spring 2002 UC Berkeley Adapted.
EEM 486 EEM 486: Computer Architecture Lecture 1 Course Introduction and the Five Components of a Computer.
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)
CS152 / Kubiatowicz Lec1.1 ©UCB Spring 20011/16/01 CS152 Computer Architecture and Engineering Lecture 1 Introduction and Five Components of a Computer.
מבנה מחשבים הרצאה 1 מבנה מחשבים Lecture 1 Course Introduction Yehuda Afek and Yossi Matias Slides from Randy H. Katz, and John Wawrzynek Berkeley.
Computer Architecture Instructor: Wen-Hung Liao Office: 大仁樓三樓 Office hours: TBA Course web page:
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
1  2004 Morgan Kaufmann Publishers Lectures for 3rd Edition Note: these lectures are often supplemented with other materials and also problems from the.
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.
ELEN 350 Computer Architecture Spring 2005 Introduction and Five Components of a Computer Adapted from CS 152 Spring 2002 UC Berkeley Adapted from CPSC.
CS152 / Kubiatowicz Lec1.1 1/20/99©UCB Spring 1999 CS152 Computer Architecture and Engineering Lecture 1 Introduction and Five Components of a Computer.
CS152 / Kubiatowicz Lec1.1 ©UCB Fall 19998/23/99 CS152 Computer Architecture and Engineering Lecture 1 Introduction and Five Components of a Computer August.
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.
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB ECE 366 Computer Architecture Lecture 1-2 Shantanu Dutt ( Adapted from (with adds.
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 ( )
Compsci Today’s topics l Binary Numbers  Brookshear l Computer Architecture  Notes from David A. Patterson and John L. Hennessy, Computer.
ECE 4436ECE 5367 Introduction to Computer Architecture and Design Ji Chen Section : T TH 1:00PM – 2:30PM Prerequisites: ECE 4436.
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.
COMP3221 lec04--prog-model.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lecture 4: Programmer’s Model of Microprocessors
Computer Organization and Design Computer Abstractions and Technology
Computer Architecture Mehran Rezaei
1 International Technology University CEN 951 Computer Architecture Lecture 1 - Introduction.
Cps-104 Intro.1 ©GK Spring 1999 CPS104 Computer Organization Lecture 1 January 14, 1999 Gershon Kedem Slides available on:
CS152 / Fall 2002 Lec 1.1 Computer Organization Lecture 1 Course Introduction and the Five Components of a Computer Modified From the Lectures of Randy.
Computer Organization & Assembly Language © by DR. M. Amer.
Introduction to Computer Organization
Computer Architecture CPSC 350
1 ECE3055 Computer Architecture and Operating Systems Lecture 1 Introduction Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia.
CMCS Computer Architecture Lecture 1 Introduction and Overview January 29, CMSC411.htm Mohamed Younis.
CPSC 321 Computer Architecture Summer 2005 Lecture 1 Introduction and Five Components of a Computer Praveen Bhojwani Adapted from CS 152 Spring 2002 UC.
S.J.Lee 1 컴퓨터 구조 강좌개요 순천향대학교 컴퓨터학부 이 상 정. S.J.Lee 2 교 재교 재 J.L.Hennessy & D.A.Patterson Computer Architecture a Quantitative Approach, Second Edition.
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.
Lecture 1: Computer Architecture and Technology Professor Mike Schulte Computer Architecture ECE 201.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization.
CSIE30300 Computer Architecture Unit 01: Introduction Hsin-Chou Chi [Adapted from material by and
CS271 COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE –Bruce D’Ambrosio Dearborn, –Arvind Guruprasad,
Compsci Today’s topics l Operating Systems  Brookshear, Chapter 3  Great Ideas, Chapter 10  Slides from Kevin Wayne’s COS 126 course l Performance.
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)
Computer Architecture Opening Yu-Lun Kuo 郭育倫 Department of Computer Science and Information Engineering Tunghai University Taichung, 40704, Taiwan R.O.C.
1 TM 1 Embedded Systems Lab./Honam University ARM Microprocessor Programming Model.
1 CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson,
CSE431 L01 Introduction.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 01: Introduction Mary Jane Irwin ( )
Computer Organization IS F242. Course Objective It aims at understanding and appreciating the computing system’s functional components, their characteristics,
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
Chapter 1 Computer Abstractions and Technology
Computer Architecture and Organization
Computer Architecture CSCE 350
EEL 4713/EEL 5764 Computer Architecture
T Computer Architecture, Autumn 2005
Welcome to Architectures of Digital Systems
CS4100: 計算機結構 Course Outline
Presentation transcript:

CS472 COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE –Bruce D’Ambrosio Dearborn, –Text: Computer Organization and Design The Hardware/Software Interface Second Edition. Patterson and Hennessy, Morgan Kaufmann.

Syllabus Computer Architecture – processors, memory, I/O. ISA design issues. Design Philosophies and tradeoffs. The importance of measurement and analysis. Prereq: ECE/CS 375 Written Homework: weekly, 30% Midterm: 30% each Final: 40% average 472 grade will be a B or B+; set expectations accordingly

Schedule WeekChapterNotes Midterm Holiday Assignment 1: , , Due 4/7

Introduction Rapidly changing field: –vacuum tube -> transistor -> IC -> VLSI (see section 1.4) –doubling every 1.5 years: memory capacity processor speed (Due to advances in technology and organization) Things you’ll be learning: –how computers work, a basic foundation –how to analyze their performance (or how not to!) –issues affecting modern processors (caches, pipelines) 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

Where we are headed Performance issues (Chapter 2) vocabulary and motivation A specific instruction set architecture (Chapter 3) Arithmetic and how to build an ALU (Chapter 4) Constructing a processor to execute our instructions (Chapter 5) Pipelining to improve performance (Chapter 6) Memory: caches and virtual memory (Chapter 7) I/O (Chapter 8) Key to a good grade: reading the book!

What is “Computer Architecture” Computer Architecture = Instruction Set Architecture + Machine Organization

Computer Organization The layered model

Instruction Set Architecture (subset of Computer Arch.)... the attributes of a [computing] system as seen by the [systems] 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, and Brooks, 1964SOFTWARE -- Organization of Programmable Storage -- Data Types & Data Structures: Encodings & Representations -- Instruction Set -- Instruction Formats -- Modes of Addressing and Accessing Data Items and Instructions -- Exceptional Conditions

Example Organization TI SuperSPARC tm TMS390Z50 in Sun SPARCstation20 Floating-point Unit Integer Unit Inst Cache Ref MMU Data Cache Store Buffer Bus Interface SuperSPARC L2 $ CC MBus Module MBus L64852 MBus control M-S Adapter SBus DRAM Controller SBus DMA SCSI Ethernet STDIO serial kbd mouse audio RTC Boot PROM Floppy SBus Cards

What is “Computer Architecture”? I/O systemInstr. Set Proc. Compiler Operating System Application Digital Design Circuit Design Instruction Set Architecture Firmware Coordination of many levels of abstraction Under a rapidly changing set of forces Design, Measurement, and Evaluation Datapath & Control Layout

Exponential Growth Machine code Single-thread OS Multi-thread On-line Graphical UI Multi-media Virtual Reality (?)

Forces on Computer Architecture Computer Architecture Technology Programming Languages Operating Systems History Applications (A = F / M)

Technology => dramatic change Processor –logic capacity: about 30% per year –clock rate: about 20% per year Memory –DRAM capacity: about 60% per year (4x every 3 years) –Memory speed: about 10% per year –Cost per bit: improves about 25% per year Disk –capacity: about 60% per year

Technology In ~1985 the single-chip processor (32-bit) and the single- board computer emerged –=> workstations, personal computers, multiprocessors have been riding this wave since In the timeframe, these may well look like mainframes compared single-chip computer (maybe 2 chips) DRAM YearSize Kb Kb Mb Mb Mb Mb Mb Gb Microprocessor Logic DensityDRAM chip capacity

Processor Performance (SPEC) RISC introduction Did RISC win the technology battle and lose the market war? performance now improves ­ 50% per year (2x every 1.5 years)

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

CS472: So what's in it for me? In-depth understanding of the inner-workings of modern computers, their evolution, and trade-offs present at the hardware/software boundary. –Insight into fast/slow operations that are easy/hard to implementation hardware Experience with the design process in the context of a large complex (hardware) design. –Functional Spec --> Control & Datapath --> Physical implementation –Modern CAD tools Designer's "Conceptual" toolbox.

Levels of Representation (271 Review) High Level Language Program Assembly Language Program Machine Language Program Control Signal Specification Compiler Assembler Machine Interpretation temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw$15,0($2) lw$16,4($2) sw$16,0($2) sw$15,4($2) °°°° ALUOP[0:3] <= InstReg[9:11] & MASK

Layered Machine model

Digital Logic Level Logical Abstraction of physical hardware Basic elements are gates. How are gates composed?

MicroArchitecture Registers Datapaths Functional Units –ALU First view of entire machine - sort of

Instruction Set Architecture Instruction-visible registers Instruction-view of storage Instruction- available operations Instruction word format

ISA View of CPU (Cont’d)

Operating System Level Storage management –Memory –Files Programs Processes Communication

Assembly Language Level Symbolic language –Keywords –Name management –Pseudo-Operations Meta-language –macros Limit: WORD 2 A: ADD R1, R0 CMP R0, Limit BLT A

Basics of software development Program development environment –Assembler –Linker –Loader –Debugger

What you should know Basic machine structure –processor, memory, I/O Read and write a high-level language Read assembly language Understand the concept of virtual memory Logic design –logical equations, schematic diagrams, FSMs, components

Levels of Organization SPARCstation 20 Processor Computer Control Datapath MemoryDevices Input Output Workstation Design Target: 25% of cost on Processor 25% of cost on Memory (minimum memory size) Rest on I/O devices, power supplies, box

Execution Cycle Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction Obtain instruction from program storage Determine required actions and instruction size Locate and obtain operand data Compute result value or status Deposit results in storage for later use Determine successor instruction

The SPARCstation 20 Memory Controller SIMM Bus Memory SIMMs Slot 1MBusSlot 0MBus MSBI Slot 1SBusSlot 0SBusSlot 3SBusSlot 2SBus MBus SECMACIO Disk Tape SCSI Bus SBus Keyboard & Mouse Floppy Disk External Bus SPARCstation 20

The Underlying Interconnect SPARCstation 20 Memory Controller SIMM Bus MSBI Processor/Mem Bus: MBus SECMACIO Standard I/O Bus: Sun’s High Speed I/O Bus: SBus Low Speed I/O Bus: External Bus SCSI Bus

Processor and Caches SPARCstation 20 Slot 1MBusSlot 0MBus MBus Module External Cache DatapathRegisters Internal Cache Control Processor

Memory SPARCstation 20 Memory Controller Memory SIMM Bus SIMM Slot 0SIMM Slot 1SIMM Slot 2SIMM Slot 3SIMM Slot 4SIMM Slot 5SIMM Slot 6SIMM Slot 7 DRAM SIMM DRAM

Input and Output (I/O) Devices SPARCstation 20 Slot 1SBusSlot 0SBusSlot 3SBusSlot 2SBus SECMACIO Disk Tape SCSI Bus SBus Keyboard & Mouse Floppy Disk External Bus SCSI Bus: Standard I/O Devices SBus: High Speed I/O Devices External Bus: Low Speed I/O Device

Standard I/O Devices SPARCstation 20 Disk Tape SCSI Bus 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

High Speed I/O Devices SPARCstation 20 Slot 1SBusSlot 0SBusSlot 3SBusSlot 2SBus 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