Computer Architecture Review CS 595

Similar documents
Chapter 4 The Von Neumann Model

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

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

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

Chapter 4 The Von Neumann Model

Chapter 4 The Von Neumann Model

The von Neumann Architecture. IT 3123 Hardware and Software Concepts. The Instruction Cycle. Registers. LMC Executes a Store.

LC-3 Architecture. (Ch4 ish material)

COSC121: Computer Systems: Review

Chapter 02: Computer Organization. Lesson 02: Functional units and components in a computer organization- Part 1: Processor

The Stored Program Computer

Information Science 1

Chapter 4. Computer Organization

CS 101, Mock Computer Architecture

Outcomes. Lecture 13 - Introduction to the Central Processing Unit (CPU) Central Processing UNIT (CPU) or Processor

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015

Chapter 5: Computer Systems Organization

Chapter 5: Computer Systems Organization. Invitation to Computer Science, C++ Version, Third Edition

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

1. Fundamental Concepts

COSC 6385 Computer Architecture. Instruction Set Architectures

The Von Neumann Architecture. Designing Computers. The Von Neumann Architecture. CMPUT101 Introduction to Computing - Spring 2001

Designing Computers. The Von Neumann Architecture. The Von Neumann Architecture. The Von Neumann Architecture

COMPUTER SYSTEM. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U

The Von Neumann Architecture Odds and Ends. Designing Computers. The Von Neumann Architecture. CMPUT101 Introduction to Computing - Spring 2001

Microprocessors. Microprocessors and rpeanut. Memory. Eric McCreath

Microprocessors and rpeanut. Eric McCreath

CPU ARCHITECTURE. QUESTION 1 Explain how the width of the data bus and system clock speed affect the performance of a computer system.

Computer System Architecture

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

CMPUT101 Introduction to Computing - Summer 2002

OS And Hardware. Computer Hardware Review PROCESSORS. CPU Registers. CPU Registers 02/04/2013

Computer Organization

Computer Architecture

CMPUT101 Introduction to Computing - Summer 2002

Input/Output Interfaces: Ch

COSC 243. Computer Architecture 1. COSC 243 (Computer Architecture) Lecture 6 - Computer Architecture 1 1

What Are The Main Differences Between Program Counter Pc And Instruction Register Ir

Computer Architecture and Assembly Language. Spring

EE 3170 Microcontroller Applications

CS 2461: Computer Architecture I

Von Neumann Architecture

Computer Architecture and Organization (CS-507)

Computer Architecture (part 2)

Memory General R0 Registers R1 R2. Input Register 1. Input Register 2. Program Counter. Instruction Register

COMP2121: Microprocessors and Interfacing. Instruction Set Architecture (ISA)

CPS104 Computer Organization and Programming Lecture 17: Interrupts and Exceptions. Interrupts Exceptions and Traps. Visualizing an Interrupt

Processing Unit CS206T

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

The von Neumann Model

COSC121: Computer Systems: Review

Chapter 5 The LC-3. ACKNOWLEDGEMENT: This lecture uses slides prepared by Gregory T. Byrd, North Carolina State University 5-2

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

AS/A Level Computing Syllabus 2011

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

The Institution of Engineers - Sri Lanka

Digital System Design Using Verilog. - Processing Unit Design

Introduction to Computer Engineering. CS/ECE 252, Fall 2016 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison

Computer System Overview

EEL 5722C Field-Programmable Gate Array Design

Introduction to Computer Engineering. Chapter 5 The LC-3. Instruction Set Architecture

The CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram:

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2.

Computing Layers. Chapter 5 The LC-3

Topic Notes: MIPS Instruction Set Architecture

For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to

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

Chapter 4. MARIE: An Introduction to a Simple Computer

are Softw Instruction Set Architecture Microarchitecture are rdw

Level 2: The Hardware World Chapters 4 and 5 (topics of other cs courses)

Basics of Microprocessor

Architectures & instruction sets R_B_T_C_. von Neumann architecture. Computer architecture taxonomy. Assembly language.

Instruction Set Architecture

There are four registers involved in the fetch cycle: MAR, MBR, PC, and IR.

General purpose registers These are memory units within the CPU designed to hold temporary data.

Assembly level Programming. 198:211 Computer Architecture. (recall) Von Neumann Architecture. Simplified hardware view. Lecture 10 Fall 2012

( input = α output = λ move = L )

Computer Organization ECE514. Chapter 5 Input/Output (9hrs)

Computer Architecture 2/26/01 Lecture #

The von Neuman architecture characteristics are: Data and Instruction in same memory, memory contents addressable by location, execution in sequence.

Overview of Computer Organization. Outline

Multiple Choice Type Questions

MARIE: An Introduction to a Simple Computer

PESIT Bangalore South Campus

Computer Logic II CCE 2010

A Review of Chapter 5 and. CSc 2010 Spring 2012 Instructor: Qian Hu

Summary of Computer Architecture

Author : Dalbir Singh, Computer Science Deptt. CPU Structure and Functions. 1. Processor Organization

Microprocessors and Microcontrollers. Assignment 1:

CPE300: Digital System Architecture and Design

Class Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2

STRUCTURE OF DESKTOP COMPUTERS

Instruction Set Architecture ISA ISA

CENG3420 Lab 2-1: LC-3b Simulator

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

Computer System: An Overview

INPUT/OUTPUT ORGANIZATION

C Functions and Pointers. C Pointers. CS270 - Fall Colorado State University. CS270 - Fall Colorado State University

MARIE: An Introduction to a Simple Computer

Have difficulty identifying any products Not incorporating embedded processor FPGA or CPLD In one form or another

Transcription:

Computer Architecture Review CS 595 1

The von Neumann Model Von Neumann (1946) proposed that a fundamental model of a computer should include 5 primary components: Memory Processing Unit Input Device(s) Output Device(s) Control Unit 2

Memory For our purposes, an array of bytes. We will not be dealing with virtual memory Recall: When we talk about memory, addressability refers to the size of a memory location (the thing that goes in and comes out of memory) Recall: When we talk about address width, we mean how many bits are required to represent an address Ex: recent x86-64 machines have 64-bit address width and are byte addressable 3

Memory Cont. How do we access? Loads and Stores Accomplished with the help of memory unit on the CPU. Simplest scheme has two registers: MAR: memory address register (address from which to load, to which to store) MDR: memory data register (stuff to store) 4

Processing Unit Can consist of many separate functional units (integer arithmetic, floating point, vector units, DSP, etc. etc.) Simplest one is the ALU (arithmetic logic unit) Size of data worked on by ALU is the CPU s word length 5

Proc. Unit. contd. Temp. Storage: most commonly registers (these are fast access, close to functional units) May also be stack (more on this later) 6

I/O The peripherals attached to the machine: keyboard, mouse, video card, monitor, disk, etc. etc. Two methods of I/O: polling (CPU busy waits until something is read) or interrupt-driven (device raises a wire hot to notify CPU) You will become very familiar with the latter 7

Control Unit Keeps track of where we are in the program, where to go next Where we are: Instruction Register (IR). Register which holds the currently executing instruction Where to go next: Instruction Pointer (IP). Memory address of next instruction to execute. (Also called program counter or PC). Finite State Machine: Given current inputs and current instruction, where do we go next? Essentially implemented as a lookup table. You will implement as logic in C.?? Isn t it always just IP + 1? 8

9

ISAs Instruction Set Architecture The interface to the hardware from the programmer s point of view Also, the boundary between software and hardware 10

Classes of ISAs Load-Store machines: Can access memory *only* with explicit load or store operations (e.g. MIPS) Register-Memory machines: Can access memory in other types of operations as well (e.g. x86) Stack Machines: All operations are performed via a LIFO stack (e.g. JVM) 11

The Instruction Cycle For our purposes, instruction dispatch will essentially occur in three stages: Fetch Decode Execute 12

Let s design a simple ISA Assume 16-bit address width and addressability That means 2^16 mem locations, 65K (just like the 6502) Assume 8 General-purpose registers (GPRs) OK, what does our instruction set look like? 13

Things we had to consider Instruction length (variable/fixed?) and encoding Operand encoding/size Memory addressing modes (immediate, PC-relative, base-index, maybe SID) Operations we support (arithmetic, logical, control flow) Supporting conditional operations 14

Memory Mapped I/O Instead of using processor pins for I/O devices, just have devices respond to special regions of memory addresses Old machines had hardcoded regions. These days the regions are programmable, e.g. with the PCI, PCIe device standard specification Ex: LD R1, $0xa700 Ex: ST R2, $0xa720 15

simple memory controller logic word_t read(addr) { if (addr >= 0xa700 && addr < 0xb700) { return my_device_read(addr); } else { return ram_read(addr); } 16