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

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

COS 140: Foundations of Computer Science

Typical Processor Execution Cycle

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

Data Manipulation. Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan

UNIT-II. Part-2: CENTRAL PROCESSING UNIT

Computer Organization CS 206 T Lec# 2: Instruction Sets

Topics Power tends to corrupt; absolute power corrupts absolutely. Computer Organization CS Data Representation

Chapter 2: Data Manipulation

Chapter 2 Data Manipulation

Chapter 2: Data Manipulation

ISA and RISCV. CASS 2018 Lavanya Ramapantulu

THE MICROPROCESSOR Von Neumann s Architecture Model

COMPUTER ORGANIZATION & ARCHITECTURE

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

CHAPTER 8: Central Processing Unit (CPU)

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

Chapter 2: Data Manipulation. Copyright 2015 Pearson Education, Inc.

Microcomputer Architecture and Programming

EC-801 Advanced Computer Architecture

INTEL Architectures GOPALAKRISHNAN IYER FALL 2009 ELEC : Computer Architecture and Design

CSCI 402: Computer Architectures. Instructions: Language of the Computer (1) Fengguang Song Department of Computer & Information Science IUPUI

Computer Organization and Technology Processor and System Structures

TYPES OF INTERRUPTS: -

Instruction Set Design

Chapter 2: Data Manipulation

Instruction Sets: Characteristics and Functions Addressing Modes

COURSE DESCRIPTION. CS 232 Course Title Computer Organization. Course Coordinators

Introduction to Computers & Programming

Problem Set 1 Solutions

Instruction Set Architecture. "Speaking with the computer"

CISC Processor Design

COMPUTER ORGANIZATION AND ARCHITECTURE

Processing Unit CS206T

General Purpose Processors

A First Look at Microprocessors

Computer Architecture and Data Manipulation. Von Neumann Architecture

Chapter 4 The Von Neumann Model

Grundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss

Chapter 3 : Control Unit

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

CS 101, Mock Computer Architecture

Rui Wang, Assistant professor Dept. of Information and Communication Tongji University.

CHAPTER 5 : Introduction to Intel 8085 Microprocessor Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY

ECE232: Hardware Organization and Design

Problem with Scanning an Infix Expression

Chapter 4 The Von Neumann Model

LC-3 Architecture. (Ch4 ish material)

Real instruction set architectures. Part 2: a representative sample

Blog -

Microprocessors and Microcontrollers. Assignment 1:

Computer Organization

Department of Computer Science and Engineering CS6303-COMPUTER ARCHITECTURE UNIT-I OVERVIEW AND INSTRUCTIONS PART A

Register-Level Design

Chapter 4 The Von Neumann Model

CN310 Microprocessor Systems Design

Introduction to Computer Science. Homework 1

CHAPTER 5 A Closer Look at Instruction Set Architectures

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

Computer Architecture Review CS 595

CHETTINAD COLLEGE OF ENGINEERING AND TECHNOLOGY COMPUTER ARCHITECURE- III YEAR EEE-6 TH SEMESTER 16 MARKS QUESTION BANK UNIT-1

STRUCTURE OF DESKTOP COMPUTERS

Introduction to Computer Science Lecture 2: Data Manipulation

AS/A Level Computing Syllabus 2011

CSCI 402: Computer Architectures. Instructions: Language of the Computer (1) Fengguang Song Department of Computer & Information Science IUPUI

The register set differs from one computer architecture to another. It is usually a combination of general-purpose and special purpose registers

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

Computer Architecture

Digital IP Cell 8-bit Microcontroller PE80

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

Micro-Operations. execution of a sequence of steps, i.e., cycles

CHAPTER SIX BASIC COMPUTER ORGANIZATION AND DESIGN

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

von Neumann Architecture Basic Computer System Early Computers Microprocessor Reading Assignment An Introduction to Computer Architecture

Basic Computer System. von Neumann Architecture. Reading Assignment. An Introduction to Computer Architecture. EEL 4744C: Microprocessor Applications

Computer Organization Question Bank

COSC 6385 Computer Architecture. Instruction Set Architectures

CS1004: Intro to CS in Java, Spring 2005

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital

PROGRAM CONTROL UNIT (PCU)

Wednesday, February 4, Chapter 4

Course Description: This course includes concepts of instruction set architecture,

ECE 486/586. Computer Architecture. Lecture # 8

UNIT 2 PROCESSORS ORGANIZATION CONT.

Figure 2.1 CPU and main memory connected via a bus. Computer Architecture 2014/10/12. Chapter 2: Data Manipulation

Chapter 2: Data Manipulation

Lecture Topics. Branch Condition Options. Branch Conditions ECE 486/586. Computer Architecture. Lecture # 8. Instruction Set Principles.

Computer Architecture (part 2)

Digital System Design Using Verilog. - Processing Unit Design

Blog -

C.P.U Organization. Memory Unit. Central Processing Unit (C.P.U) Input-Output Processor (IOP) Figure (1) Digital Computer Block Diagram

PART A (22 Marks) 2. a) Briefly write about r's complement and (r-1)'s complement. [8] b) Explain any two ways of adding decimal numbers.

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

Problem with Scanning an Infix Expression

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

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

Assembly Language Design

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

5 Computer Organization

Transcription:

IT 3123 Hardware and Software Concepts February 11 and Memory II Copyright 2005 by Bob Brown The von Neumann Architecture 00 01 02 03 PC IR Control Unit Command Memory ALU 96 97 98 99 Notice: This session is being recorded. The Instruction Cycle The von Neumann Instruction Cycle Fetch: Get an instruction from the memory location pointed by the program counter and advance the program counter Decode: Determine what operation code is present, and what data to use Execute: Perform the commanded operation Registers : receives results of arithmetic operations (calculator display) (If there s more than one, they re called general registers.) Program counter: address of the next instruction Instruction register: instruction currently being executed Registers Memory address register (): address to read from or write to in memory Memory data register (): holds data To be written to memory. That is read from memory. LMC Executes a Store 1

The LMC Executes a Store 01 Command Fetch the Instruction The PC (01) is copied to the by the control unit. The control unit commands the memory to read; it knows what to read from the ; it reads from location 01 Wait for memory to complete. (CU commands PC to increment while waiting.) Memory delivers contents of 01 (399) to The Fetch Phase 01+1 Read Decode Instruction The contents of the (399) are copied to the Instruction Register The 399 is split up in the IR into an operation code (3) and an address (99) The Decode Phase The control unit is hard-wired to recognize 3 as the store operation. The control unit copies the contents of the accumulator to the The control unit copies the address portion of the IR to the The control unit commands the memory to write, and waits for the write operation to complete. 2

99 Write The memory unit uses the address in the (99) and the data in the () to update memory. 99 99 The Cycle Continues: Fetch The program counter now contains 02 (because it was updated while we were waiting for memory in the previous fetch) The control unit copies the contents of the program counter to the. The control unit commands the memory to read, fetching the next instruction. The CU commands the PC to increment while waiting for memory to complete its cycle. The Cycle Continues 02 Read 99 Instructions Direction given to a computer Causes electrical signals to be sent through specific circuits for processing Instruction Set: The collection of instructions a given computer can perform. (LMC has ten instructions; the list of them is its instruction set.) 3

Instruction Set Design defines functions performed by the processor Differentiates computer architecture by the Number of instructions Complexity of operations performed by individual instructions Data types supported Format (layout, fixed vs. variable length) Use of registers Addressing (size, modes) Elements of an Instruction Operation Code (op-code): Commands the control unit and the ALU what to do Operands: tell the location of the data to be used in the instruction. Source operand: where to get the data Result operand: where to put the result (Also called the destination operand.) The operands are (usually) addresses. Operand Addresses Addresses may be explicit or implicit Explicit: encoded in the instruction. (The LMC memory address is explicit.) Implicit: implied by the nature of the operand. (The LMC uses the calculator display implicitly.) Addresses may refer to memory or to registers. General Form of an Instruction OP-CODE Source Operand 4 bits 20 bits Result Operand Instruction Format Specific to a particular family of computers (architecture) Specifies the length of the op-code And the size and number of operand fields A single computer may have several different instruction formats. Complex Instruction-Set Computers Many different kinds of instructions Many different instruction formats Several different instruction lengths A few different operation code lengths Often things done in high-level languages can be performed in one instruction. Emphasis is on flexibility 4

CISC Instruction Formats Reduced Instruction-Set Computers A few kinds of instructions A small number of formats All instructions are the same length All operation codes are the same length High-level language statements generally require several instructions Emphasis is on speed RISC Instruction Formats Categories of Instructions Data transfer instructions Arithmetic instructions Logical operations Program control Stack manipulation and machine control Multiple-data instructions Data Transfer Instructions Move data between registers in Transfer data from memory to a register (load) Transfer data from a register to memory (store) Size of a single transfer: generally the size of a data register; a word Words are 8, 16, 32, 64, or 128 bits 32-bit words are currently most common Arithmetic Instructions The usual suspects: + / * Separate instructions for integer and floating point operands. Shift and rotate instructions One bit shift left multiplies by two One bit shift right divides by two Rotate: Bits shifted out one end are used for replacement bits at the other end. Increment, complement, etc. 5

Shift and Rotate Instructions Logical Operations Logical AND and or of two operands Sometimes others: XOR, NOR, NOT Relational operations: > < = Testing for zero, positive, negative Program Control Branch instructions; conditional and unconditional Call instructions (save program counter someplace) Stack Manipulation Special instructions for dealing with LIFO data structures. (A stack is a good place to store program counters for subroutine linkage!) Push Pop and Machine Control Transfers from registers to devices Direct memory access (DMA) The device communicates with memory independent of the Machine state switching (protected instructions) Interrupt control State saving Halt Multiple-Data Instructions Perform the same operation on multiple data items simultaneously (Example: Intel MMX) Commonly used in vector and array processing SIMD: Single-instruction, multiple data 6

Multiple Data Instructions Questions 7