CPE300: Digital System Architecture and Design

Similar documents
CPE300: Digital System Architecture and Design. Fall 2011 MW 17:30-18:45 CBC C316

Page 1. Chapter 1: The General Purpose Machine. Looking Ahead Chapter 5 Important advanced topics in CPU design

Chapter 1: General Purpose Machine

Chapter 1: The General Purpose Machine

Computer Systems Design and Architecture

CPE300: Digital System Architecture and Design

Topics/Assignments. Class 10: Big Picture. What s Coming Next? Perspectives. So Far Mostly Programmer Perspective. Where are We? Where are We Going?

Computer Organization

16.1. Unit 16. Computer Organization Design of a Simple Processor

ECE232: Hardware Organization and Design

ECE232: Hardware Organization and Design

Overview of Computer Organization. Outline

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

Overview of Computer Organization. Chapter 1 S. Dandamudi

ELEC 5200/6200. Computer Architecture & Design. Victor P. Nelson Broun 326

Hardware Level Organization

Review: What is a Computer?

CS3350B Computer Architecture Winter 2015

Chapter 1. Computer Abstractions and Technology

Chapter 4. The Processor

Introduction to Microcontrollers

CPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner

Segment 1A. Introduction to Microcomputer and Microprocessor

Menu. Class 1: Introduction. Staff. Course Structure and Expectations. Contacting Us. Contacting You

CPS104 Computer Organization Lecture 1

CC312: Computer Organization

ECE 486/586. Computer Architecture. Lecture # 7

Universität Dortmund. ARM Architecture

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture

CPE300: Digital System Architecture and Design

EECE 321: Computer Organization

EE 3170 Microcontroller Applications

CS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck)

Chapter 4. The Processor

CSE Introduction to Computer Architecture. Jeff Brown

Chapter 4 The Von Neumann Model

Chapter 4. MARIE: An Introduction to a Simple Computer

CS Computer Architecture

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Chapter 2 Logic Gates and Introduction to Computer Architecture

UC Berkeley CS61C : Machine Structures

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics

Chapter 4. The Processor

Chapter 4. The Processor Designing the datapath

Chapter 2 Lecture 1 Computer Systems Organization

THE MICROPROCESSOR Von Neumann s Architecture Model

1. Fundamental Concepts

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

Introduction to Computer Engineering. CS/ECE 252 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin Madison

Chapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor.

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

Digital System Design Using Verilog. - Processing Unit Design

Processor design - MIPS

CPU Architecture system clock

SISTEMI EMBEDDED. Computer Organization Central Processing Unit (CPU) Federico Baronti Last version:

Chapter 4. The Processor. Computer Architecture and IC Design Lab

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

Topic Notes: MIPS Instruction Set Architecture

DC57 COMPUTER ORGANIZATION JUNE 2013

CS 61C: Great Ideas in Computer Architecture Intro to Assembly Language, MIPS Intro

3.1 Description of Microprocessor. 3.2 History of Microprocessor

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

CSEE 3827: Fundamentals of Computer Systems

EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture

Lecture 01: Basic Structure of Computers

CS430 - Computer Architecture William J. Taffe Fall 2002 using slides from. CS61C - Machine Structures Dave Patterson Fall 2000

Computer Architecture 2/26/01 Lecture #

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Computer Architecture s Changing Definition

ADD R Operation : ACC = ACC + R SIZE : 1 byte, 8 bit Time : 3 T Cycle Work : Read R, Read ACC, Add, Write Result to ACC

CS61C : Machine Structures

Introduction to Microprocessor

TDT4255 Computer Design. Lecture 4. Magnus Jahre. TDT4255 Computer Design

MARIE: An Introduction to a Simple Computer

Chapter 4 The Von Neumann Model

Computer Architecture

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Computing Layers

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

CHAPTER 4 MARIE: An Introduction to a Simple Computer

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

Computer Architecture Dr. Charles Kim Howard University

COMP3221: Microprocessors and. and Embedded Systems. Instruction Set Architecture (ISA) What makes an ISA? #1: Memory Models. What makes an ISA?

LC-3 Architecture. (Ch4 ish material)

Chapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations

CISC Processor Design

EITF20: Computer Architecture Part2.2.1: Pipeline-1

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016

MARIE: An Introduction to a Simple Computer

Computer Architecture. Fall Dongkun Shin, SKKU

5 Computer Organization

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics

CS 101, Mock Computer Architecture

Chapter 4. Chapter 4 Objectives. MARIE: An Introduction to a Simple Computer

EC-801 Advanced Computer Architecture

COMPUTER ORGANIZATION AND DESIGN

Chapter 4 The Von Neumann Model

Computer Architecture

COMPUTER ORGANIZATION & ARCHITECTURE

Computer Organization and Programming

Transcription:

CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Layered View of the Computer http://www.egr.unlv.edu/~b1morris/cpe300/

2 Outline Recap Assembly/Machine Programmer View Computer Architect View Digital Logic Designer View

3 The General Purpose Machine Computers are more than just the personal computers we commonly use All around and in everything Different varieties for given applications Supercomputers, automobiles, thermostats, toys, etc.

4 5 Classical Computer Components Control the brain Datapath the brawn Memory where programs and data live when running Input E.g. keyboard, mouse, disk Output E.g. disk, display, printer Processor Devices

5 Machine Structures Software Hardware Application (ex: browser) Compiler Assembler Processor Memory Operating Datapath & Control System (Windows 7) I/O system Software Engineer Instruction Set Architecture Computer Architect Digital Design Circuit Design Transistors Coordination of many levels of abstraction Hardware Engineer Slide from UC Berkeley CS61C

6 Levels of Representation/Interpretation High Level Language Program (e.g., C) Compiler Assembly Language Program (e.g., MIPS) Assembler Machine Language Program (MIPS) Machine Interpretation Hardware Architecture Description (e.g., block diagrams) Architecture Implementation temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw $t0, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2) Anything can be represented as a number, i.e., data or instructions 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 Logic Circuit Description (Circuit Schematic Diagrams) Slide from UC Berkeley CS61C

7 Three Important Views of Computer Assembly/Machine Language Programmer Concerned with behavior and performance of machine when programmed at lowest level (machine language) Computer Architect Concerned with design and performance at (sub) system levels Logic Designer Concerned with design at the digital logic level

8 Assembly/Machine Layer Application Compiler Operating System Software Assembler Assembly/Machine Instruction Set Architecture (ISA) Language Hardware Processor Memory I/O system Programmer View Datapath & Control Digital Design Circuit Design Transistors

9 Machine/Assembly Programmer s View Machine language Set of fundamental instructions the machine can execute Expressed as patterns of 0 s and 1 s Assembly language Alpha numeric equivalent of machine language Human oriented mnemonics (human readable)

10 Machine and Assembly Language Assembler: Computer program that transliterates (one-to-one mapping) assembly to machine language Computer s native language is assembly/machine language Programmer, as used in this course, means Machine Language assembly/machine language programmer MC68000 Assembly Language MOVE.W D4, D5 0011 101 000 000 100 ADDI.W #9, D2 00000001 10 111 100 0000 0000 0000 1001 Table 1.2 Two Motorola MC68000 instructions

11 Instruction (Dis)Assembly How to convert between assembly and machine languages? See Programmers Reference Manual Specify instruction fields Opcode operation code (what to do) Operands elements opcode will operate on Each instruction has a different definition but there is structure Assembly/machine code is unique to the particular machine program runs on Cannot port between machines like HLL (C) code

12 Assembly Example MC68000 Assembly Language Machine Language MOVE.W D4,D5 0011 101 000 000 100 Reference manual excerpt

13 Assembly Example - Opcode MC68000 Assembly Language Machine Language MOVE.W D4,D5 0011 101 000 000 100 Opcode for MOVE 2 MSB (bits [15, 14]) default to 0

14 Assembly Example - Opcode MC68000 Assembly Language Machine Language MOVE.W D4,D5 0011 101 000 000 100 Bits [13, 12] indicate data size Move.W for a word 11

15 Assembly Example Source Operand MC68000 Assembly Language Machine Language MOVE.W D4,D5 0011 101 000 000 100 Source operand (bits [5, 0]) Mode = 000 Register number = 4 = 100B

16 Assembly Example Destination Operand MC68000 Assembly Language Machine Language MOVE.W D4,D5 0011 101 000 000 100 Source operand (bits [5, 0]) Mode = 000 Register number = 5 = 101B

17 Stored Program Concept Big idea Everything is data! The stored program concept says that the program is stored with data in the computer s memory. The computer is able to manipulate it as data for example, to load it from disk, move it in memory, and store it back on disk. Bits are just bits up to computer to decide how to interpret Basic operating principle of every computer

18 Fetch-Execute Cycle Instruction fetched from memory Stored in instruction register (IR) Instruction decoded through control unit and executed Next instruction is available in program counter (PC) register PC must be incremented based on instruction size 2 byte instructions here so PC incremented by 2

19 Instruction Set Architecture (ISA) Instruction set: the collection of all machine operations. Programmer sees set of instructions, along with the machine resources manipulated by them. ISA includes instruction set, memory, and programmer accessible registers of the system. There may be temporary or scratch-pad memory used to implement some function is not part of ISA. Non Programmer Accessible.

Programmer Models of 4 Commercial Machines 20

21 RISC vs. CISC Machines Complex instruction set computers (CISC) Primary goal to minimize number of assembly line for a task Processor understands many operations Operates directly on computer memory banks Assembler compiler has little work for translation from HLL Shorter code requires less memory Hardware emphasis Reduced instruction set computers (RISC) Use simple instructions that complete within a clock cycle Typically longer code (e.g. load, operation, store) Approximately same speed as CISC Require less hardware (transistors) to implement Use space for more registers Pipelining is possible Software emphasis

22 Machine, Processor, and Memory State The Machine State: contents of all registers in system, accessible to programmer or not The Processor State: registers internal to the CPU The Memory State: contents of registers in the memory system Maintaining or restoring the machine and processor state is important to many operations, especially procedure calls and interrupts

23 Data Type: HLL vs. Machine Language HLL s provide type checking Verifies proper use of variables at compile time Allows compiler to determine memory requirements Helps detect bad programming practices Most machines have no type checking The machine sees only strings of bits Instructions interpret the strings as a type: usually limited to signed or unsigned integers and FP #s A given 32 bit word might be an instruction, an integer, a FP #, or four ASCII characters (Data is data!)

24 Instruction Classes 3 classes of machine instructions Data movement Arithmetic and logic Control flow The compiler writer must develop mapping for each language-machine pair

25 Users of Assembly Language The machine designer must implement and trade-off instruction functionality The compiler writer must generate machine language from a HLL The writer of time or space critical code Performance goals may force program specific optimizations of the assembly language Special purpose or imbedded processor programmers Special functions and heavy dependence on unique I/O devices can make HLL s useless

26 Computer Architect Layer Software Hardware Application Compiler Assembler Processor Operating System Instruction Set Architecture (ISA) Memory Datapath & Control I/O system Computer Architect View Digital Design Circuit Design Transistors

27 Computer Architect View Architect is concerned with design & performance Designs the ISA for optimum programming utility and optimum performance of implementation Designs the hardware for best implementation of the instructions CPU, memory, peripheral devices Uses performance measurement tools, such as benchmark programs, to see that goals are met Balances performance of building blocks such as CPU, memory, I/O devices, and interconnections Meets performance goals at lowest cost

28 Shared Interconnections Via Buses Interconnections are very important to computer Most connections are shared A bus is a time-shared connection or multiplexer A bus provides a data path and control Buses may be serial, parallel, or a combination Serial buses transmit one bit at a time Parallel buses transmit many bits simultaneously on many wires

29 Example 1 or 2 Bus Architectures (a) Single shared bus of n lines Simple connection Only one system active at a time (b) 2-bus system Separates/isolates memory and I/O Activity can be present in both buses concurrently Speedup because I/O is typically slow

30 Memory System Modern computers have a hierarchy of memories Allow tradeoffs of speed/cost/volatility/size, etc registers + cost + speed + distance

31 Logic Designer Layer Software Hardware Application Compiler Assembler Processor Digital Design Circuit Design Operating System Instruction Set Architecture (ISA) Memory Datapath & Control Transistors I/O system Computer System Logic Designer View

32 Logic Designer View Designs the machine at the logic gate level The design determines whether the architect meets cost and performance goals Architect and logic designer can often be the same person/team

33 Implementation Domains An implementation domain is the collection of devices, logic levels, etc. which the designer uses. Domain is usually abstracted Possible implementation domains VLSI on silicon TTL or ECL chips Gallium Arsenide chips PLA s or sea-of-gates arrays Fluidic logic or optical switches

34 Implementation Domain Examples 2 to 1 multiplexer in three different implementation domains Generic logic gates (abstract domain) National Semiconductor FAST Advanced Schottky TTL (vlsi on Si) Fiber optic directional coupler switch (optical signals in LiNbO3)

35 Classical vs. Computer Logic Design Computer design is complex Traditional FSM techniques can be used in the small There is a natural separation between data and control Data path: storage cells, arithmetic, and their connections Control path: logic that manages data path information flow Well defined building blocks are used repeatedly Multiplexers, decoders, adders, etc

36 Logic Designer CPU Cares about registers, ALU, and buses Most importantly, concerned with control via PC Programmer: 31 0 PC B Bus 32 D Q 32 A Bus Logic Designer (Fig 1.8): PC PC out CK PC in

37 Concluding Remarks 3 different views of machine structure and function Machine/assembly language view: registers, memory cells, instructions. PC, IR, Fetch-execute cycle Programs can be manipulated as data No, or almost no data typing at machine level Architect views the entire system Concerned with price/performance, system balance Logic designer sees system as collection of functional logic blocks. Must consider implementation domain Tradeoffs: speed, power, gate fanin, fanout