May 14, 2003Serguei A. Mokhov, 1 Von Neumann Model Cond. Assembly Intro COMP5201 Revision: 1.2 Date: June 18, 2003.

Slides:



Advertisements
Similar presentations
Homework Reading Machine Projects Labs
Advertisements

Chapter 2: Data Manipulation
Processor Data Path and Control Diana Palsetia UPenn
The CPU The Central Presentation Unit What is the CPU?
MANINDER KAUR Maninder Kaur 1
Chapter 4 The Von Neumann Model
Chapter 4 The Von Neumann Model
Stored Program Architecture
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
Processor System Architecture
MICRO PROCESSER The micro processer is a multipurpose programmable, clock driven, register based, electronic integrated device that has computing and decision.
DH2T 34 Computer Architecture 1 LO2 Lesson Two CPU and Buses.
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
September 10, 2003Serguei A. Mokhov, 1 Introduction SOEN228 Revision 1.1 September 10, 2003.
1 A Balanced Introduction to Computer Science, 2/E David Reed, Creighton University ©2008 Pearson Prentice Hall ISBN Chapter 14 Inside.
Room: E-3-31 Phone: Dr Masri Ayob TK 2123 COMPUTER ORGANISATION & ARCHITECTURE Lecture 5: CPU and Memory.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
CEG 320/520: Computer Organization and Assembly Language Programming1 CEG 320/520 Computer Organization and Assembly Language Programming.
Basic Operational Concepts of a Computer
Processor Structure & Operations of an Accumulator Machine
Internal hardware and external components of a computer Three-box Model  Processor The brain of the system Executes programs A big finite state machine.
CS 1308 Computer Literacy and the Internet Computer Systems Organization.
Levels of Architecture & Language CHAPTER 1 © copyright Bobby Hoggard / material may not be redistributed without permission.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Microprocessor Dr. Rabie A. Ramadan Al-Azhar University Lecture 2.
Digital Design and Computer Architecture Dr. Robert D. Kent LT Ext Lecture 1 Introduction.
Stack Stack Pointer A stack is a means of storing data that works on a ‘Last in first out’ (LIFO) basis. It reverses the order that data arrives and is.
Introduction to Computing Systems from bits & gates to C & beyond The Von Neumann Model Basic components Instruction processing.
Computer Organization - 1. INPUT PROCESS OUTPUT List different input devices Compare the use of voice recognition as opposed to the entry of data via.
General Concepts of Computer Organization Overview of Microcomputer.
Computer Architecture And Organization UNIT-II General System Architecture.
CHAPTER 4 The Central Processing Unit. Chapter Overview Microprocessors Replacing and Upgrading a CPU.
PHY 201 (Blum)1 Microcode Source: Digital Computer Electronics (Malvino and Brown)
Computer Architecture Memory, Math and Logic. Basic Building Blocks Seen: – Memory – Logic & Math.
1 Text Reference: Warford. 2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Computer Architecture 2 nd year (computer and Information Sc.)
Represents different voltage levels High: 5 Volts Low: 0 Volts At this raw level a digital computer is instructed to carry out instructions.
Electronic Analog Computer Dr. Amin Danial Asham by.
CS 1308 Computer Literacy and the Internet. Objectives In this chapter, you will learn about:  The components of a computer system  Putting all the.
Stored Program A stored-program digital computer is one that keeps its programmed instructions, as well as its data, in read-write,
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
CSIT 301 (Blum)1 Instructions at the Lowest Level Some of this material can be found in Chapter 3 of Computer Architecture (Carter)
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Logic Gates Dr.Ahmed Bayoumi Dr.Shady Elmashad. Objectives  Identify the basic gates and describe the behavior of each  Combine basic gates into circuits.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
CPU Lesson 2.
Computer Organization and Architecture Lecture 1 : Introduction
Systems Architecture Keywords Fetch Execute Cycle
CSC235 Computer Organization & Assembly Language
Seminar On 8085 microprocessor
CST 303 COMPUTER SYSTEMS ARCHITECTURE (2 CREDITS)‏
Dr.Ahmed Bayoumi Dr.Shady Elmashad
Atmega32 Architectural Overview
Lecture 5: Computer systems architecture
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Computer Architecture
Teaching Computing to GCSE
Instructor: Alexander Stoytchev
T Computer Architecture, Autumn 2005
Chapter 5: Computer Systems Organization
Objectives Describe common CPU components and their function: ALU Arithmetic Logic Unit), CU (Control Unit), Cache Explain the function of the CPU as.
Computer Operation 6/22/2019.
COMPUTER ARCHITECTURE
Chapter 4 The Von Neumann Model
Presentation transcript:

May 14, 2003Serguei A. Mokhov, 1 Von Neumann Model Cond. Assembly Intro COMP5201 Revision: 1.2 Date: June 18, 2003

May 14, 2003Serguei A. Mokhov, 2 Contents System Bus Layers of Abstraction Logic Gates: IC Building Blocks CPU Internals Instruction Fetch-Execute Cycle Glimpses of Assembly and Sample Programs

May 14, 2003Serguei A. Mokhov, 3 System Bus Von Neumann: how does the computer components communicate? Answer: via the System Bus. An external (to the CPU) mean of communication between the CPU and other computer components. NOTE: there is also an internal bus within the CPU that connects its registers, ALU and CU – do NOT mix it with the System Bus, please!

May 14, 2003Serguei A. Mokhov, 4 System Bus (2) System Bus can often be seen as three sub- busses: –Data Bus. Primarily for data-only communication among different types of units, such as CPU, Memory, and I/O devices. –Address Bus. Used to communicate address information, i.e. where to look for/to send to the data (an address in the Memory; I/O device number). –Control Bus. Control data lines to report status, to request writing or reading between communicating parties

May 14, 2003Serguei A. Mokhov, 5 System Bus (3) NOTE: The three sub-busses may not necessarily be implemented as different IC chips. It is conceivable to have a system-on-a-chip, in which case, the chip interface is used to connect to other transducers/components. MemoryCPUI/O Device System Bus Data Bus Address Bus Control Bus

May 14, 2003Serguei A. Mokhov, 6 Layers of Abstraction A computer system can be examined at various levels of abstraction. At a higher level of abstraction, fewer details of the lower levels are observed. Instead, new (functional) details may be implemented at that level of abstraction. Each level of abstraction provides a set of building blocks using which the next higher level of abstraction can be constructed, with more functionality. This principle of information hiding is important in system design, as it enhances modularity, correctness, security, and usability of a system.

May 14, 2003Serguei A. Mokhov, 7 Levels of Abstraction Highest LevelApplications High Level Language Processor (Compiler) System Call Interface Assembler, Linker, Loader Operating System Device Drivers Microprogramming (Device Controllers) Digital Logic Lowest LevelTransistors and Wires

May 14, 2003Serguei A. Mokhov, 8 Levels of Abstraction (2) In this course, we will focus on the assembler level of abstraction of a computer system with a fair amount of attention to its neighbor levels below and above. A major difference between an assembly language user (programmer) and a user at higher levels is the amount of hardware details made available to the former. These hardware details enable the former to directly manipulate program design for performance or real-time needs.

May 14, 2003Serguei A. Mokhov, 9 IC Building Blocks A MOS Transistor and Capacitor –Technology Innovation: Scaling from 10 3 to 10 9 devices in a single chip –Consequence: Memory size increase cheaper Functionality improvements/additions Speed increase

May 14, 2003Serguei A. Mokhov, 10 MOS Transistor: Logic Gate Source Drain Source Drain Source Drain 01 Low voltage at the gate High voltage at the gate

May 14, 2003Serguei A. Mokhov, 11 Capacitor: Memory

May 14, 2003Serguei A. Mokhov, 12 NAND and NOR Gates Not-And NAND Not-Or NOR NAND and NOR gates are an universal gates to implement any complex function in hardware. Hierarchically used inside an integrated circuit (IC) chip. A Logic 1 - High voltage B X = A NAND B= NOT (A AND B) A B X X X = A NOR B= NOT (A OR B) A B X A NOR BA NAND B

May 14, 2003Serguei A. Mokhov, 13 NAND: Question Why NAND (and also NOR) gates are so universal compared to AND, OR, NOT, and XOR gates? Whats so good about them (besides the universality)?

May 14, 2003Serguei A. Mokhov, 14 CPU Internals ALU Control Unit Registers Internal Bus CPU

May 14, 2003Serguei A. Mokhov, 15 CPU: Registers A register is a unit of storage inside a CPU, holding temporary program data/instruction to be used in program execution. Two types of registers: general purpose (GPS) and special purpose registers (GPR). –A general-purpose register is for general use in programming E.g.: storage of arguments –A special-purpose register has specifically assigned function E.g.: accumulator, stack pointer (SP), program counter (PC) They are there to provide local storage inside a processor, making program information locally accessible and hence faster accesses. [Recall the Principle of Locality to enhance system performance]

May 14, 2003Serguei A. Mokhov, 16 CPU: Control Unit It is the brain or coordinator of the ISP (instruction set processor) as it ensures that the processor will behave exactly as defined by its instruction set. Under the Von Neumann model, the processor –repeatedly fetches an instruction from the memory, –interprets its functionality, and –executes it. This activity is carried out in an Instruction Fetch/Execute Cycle and is repeated once the system power is turned on.

May 14, 2003Serguei A. Mokhov, 17 Instruction Fetch-Execute Cycle May simply be referred to as –Fetch-Execute Cycle –Instruction Cycle Basic F/E cycle involves: –Fetching the next instruction from the memory (next identified by a some kind of special pointer to some memory location) –Bringing the instruction is brought to the CPU and interpreted (decoded) –Fetching the instruction arguments (data) from either registers or other memory locations if needed –Executing the instruction and producing the result, if applicable –Storing back the result (if any; to either memory or registers)

May 14, 2003Serguei A. Mokhov, 18 Program Counter The existence of the (next) instruction pointer, also often known as, Program Counter, or PC, is a key feature in the Von Neumann model that forms the basis of more than 99% of computers ever built. Under this model, a program adopts a sequential semantics: program instructions are assumed to be executed atomically in program (sequential) order. What would be an alternative, the remaining 1%?

May 14, 2003Serguei A. Mokhov, 19 Example Processor fetches and executes inst1 ; then repeats the same for inst2 Notice inst1 and inst2 are stored in consecutive memory locations Suppose initially the memory location A contains 24 and the register bx contains 12 After executing inst1, ax will contain 24 Then, after executing inst2, ax will contain 36 inst1: mov ax, A ; move data from ; memory location A ; to register ax inst2: add ax, bx ; add register bx ; to register ax

May 14, 2003Serguei A. Mokhov, 20 Observations An instruction has: –An opcode (operation code), such as mov or add (human-readable or their binary equivalents) –Operand(s) – arguments to the instruction. Represent data for the instruction to work with pointed by/contained in either a register or a memory location In the example, there are two operand addresses. Sometimes, machines like these are called 2- address machines. Obviously, there are other possibilities, such as 3-address machines [example: add a, b, c ]

May 14, 2003Serguei A. Mokhov, 21 MASM: Sample Programs See: –hworld.asm – Hello World –reverse.asm – Displays reversed input