Foundations of Computing and Communication Lecture 7. The von Neumann Architecture
|
|
- Joseph Bradford
- 7 years ago
- Views:
Transcription
1 Foundations of Computing and Communication Lecture 7 The von Neumann Architecture Based on The Foundations of Computing and the Information Technology Age, Chapter 6 Lecture overheads c John Thornton 2007
2 Lecture Objective To gain a practical understanding of how a program executes within the von Neumann architecture. Overview of Topics The von Neumann Architecture The Fetch-Execute Cycle Set Architectures Basic Program s Executing a Simple Program The Evolution of the von Neumann Architecture 1
3 The von Neumann Architecture The architecture that underpins the operation of a modern computer still adheres to a structure put forward by John von Neumann (and John Mauchly and Presper Eckert) in This structure separates the internal operation of a computer into two basic logical components: the central processing unit (CPU) and memory. Control Unit Input Memory CPU Arithmetic and Logic Unit Output 2
4 General Purpose Memory It s all data! The revolutionary idea behind the architecture was that data and program instructions were both to be stored in the same format within the same internal memory devices (like universal Turing machine tape). This only became practical with the development of high speed electronic memory after WWII. The stored program concept: In this way programs were to be stored within the computer rather than being accessed from a separate location during runtime. The programmer has control: Because there is no physical distinction between data and program instructions it is the role of the programmer to ensure that memory locations are correctly read, interpreted and written to. 3
5 Digital Synchronism The von Neumann bottleneck: Given input devices from which data can be loaded into memory and output devices to store and display results, the focus of the von Neumann architecture is the passage of data back and forth between memory and the CPU. The importance of the clock: To work correctly this passage of data has to be rigidly synchronised via the control of a system clock. Digital states: The system clock enforces a sufficient gap for the machine to move from one state to another. Hence components must wait until all other relevant processes have moved to a new state before starting the next computation. 4
6 The Fetch-Execute Cycle The process of moving from one state to another according to the ticking of a system clock is known as the fetch-execute cycle. In the fetch step, the CPU control unit fetches an instruction from memory and stores it in an instruction register. In the execute step, the instruction triggers processes that change the values in the CPU data registers. The next instruction is then fetched and the cycle repeats. Addressable memory: The emphasis on always moving data back and forth from memory means the CPU must be able to access memory as fast as possible via direct addressing, i.e. by having a key value that can directly unlock a memory location without having to perform a search. 5
7 The Fetch-Execute Cycle Central Processing Unit Fetch Registers Execute Memory Control Unit Pointer Data Data Data Data ALU 6
8 Inside the CPU The Pointer Register is used by the control unit to fetch the next instruction - it holds the memory address of an instruction and is automatically updated after each fetch to point to the address of the next instruction. Control Unit s take care of loading and storing data back and forth from memory, updating the pointer register and halting the program execution. Arithmetic and Logic Unit s perform the arithmetic and logical transformations on the data stored in the data registers. 7
9 The Turing Machine Analogy Just as a Turing machine reads a symbol from a tape and, according to that symbol and its internal state, writes another symbol, changes state and moves the tape, a von Neumann machine reads a symbol string from memory and according to the value of that string and the current state of its registers, writes another string to memory, changes the state of its registers and moves to read another memory location. Turing machine tape Memory; Turing machine rules CPU circuits; Direction of tape movement Pointer register; Current and next states register; Current symbol Data copied from memory to data registers; Next symbol Data copied from data registers to memory. 8
10 It Could Have Been Different... Serial processing: Both the Turing and von Neumann machines enforce that one thing must be done after another in strict sequence. The power of the modern computer has come from performing the von Neumann fetch-execute cycle with enormous speed. The self-timing systems of nature: Nature manages to perform far more sophisticated calculations by using massively parallel, asynchronous systems. Instead of doing one thing over and over with great speed, a brain does millions of things at once relatively slowly. Mathematical roots: von Neumann chose a sequential digital architecture because it is simpler to build and works well for the kinds of mathematical problems that faced the US military in
11 Set Architectures The connection between instructions and processors: Unlike the five elements of a Turing machine instruction, the form of a von Neumann machine s instruction set is not fixed and thereby helps define the processor architecture. Op-codes and operands: typically an instruction is divided into an op-code that represents an operation and zero to many operands on which the operation is to be performed: op-code operand 1 operand 2 operand
12 An Language Formal Languages: the choice of an instruction set and the form in which the set is encoded defines a formal language. A two-state alphabet: the standard alphabet of a modern machine language takes the form of two states: {0,1}. This choice is based on the practical need to efficiently represent and manipulate states as electrical charges. Boolean algebra represents a formal language suitable for manipulating a two state alphabet using a remarkably small set of primary logical operations: AND, OR and NOT 11
13 The Three Primary Logical s AND OR NOT 0 AND 0 = 0 0 OR 0 = 0 NOT 0 = 1 0 AND 1 = 0 0 OR 1 = 1 NOT 1 = 0 1 AND 0 = 0 1 OR 0 = 1 1 AND 1 = 1 1 OR 1 = AND OR NOT
14 Combining Operators All other logical operations can be expressed using a combination of the AND, OR and NOT operators, for example: A XOR B = (A AND NOT(B)) OR (NOT(A) AND B) XOR 0 XOR 0 = 0 0 XOR 1 = 1 1 XOR 0 = 1 1 XOR 1 = XOR
15 The Logic of Addition ADD = = = = 10 Dividing each result above into a leading and trailing bit shows that the trailing bit (T) is only on when the original bits are different (i.e. when = 01 or = 01). Hence we can decide the value of the trailing bit using an XOR operation. Similarly, the leading bit (L) in the answer is only on when both the original bits are also on (i.e. when = 10). Hence we can decide the value of the leading bit using an AND operation. 14
16 The Logic of Addition Representing the two bits to be added as A and B, the leading result bit as L and the trailing result bit as T, gives: A + B = LT where L = A AND B T = A XOR B To handle multiple bit numbers we also need to add the carry bit arriving from the previous column to the right. We can achieve this by adding this carry in bit (C in ) to the trailing bit of our first addition, as follows: T + C in = CS where C = T AND C in S = T XOR C in 15
17 The Logic of Addition We now need to combine the carry out information into a single bit that can be passed to the next column. This bit should be on if either of the additions produced a carry, i.e: C out = C OR L Given input bits: A, B and C in, and output bits: S and C out, where A and B are the bits that line up in column n of our original pair of binary numbers, C in is the value of the carry in bit arriving from column n 1, S is the resulting bit sum for column n and C out is the carry out bit to be sent to column n + 1, we can perform a complete column addition as follows: S = (A XOR B) XOR C in C out = ((A XOR B) AND C in ) OR (A AND B) 16
18 More Complex s General addition: By combining binary column adders we can add together binary numbers of arbitrary size. The instruction set: Our instruction set now consists of 5 operations: AND, OR, NOT, XOR and ADD Subtraction: To subtract two binary numbers we can use the same complement method Pascal used for his calculator. For a binary number, two s complement is found by subtracting each digit from one (using NOT) and adding one: ADD(NOT(A), 0001) 17
19 Subtraction Subtraction is achieved by adding the two s complement of the number you wish to subtract and discarding the final carry bit. For example, to subtract 7 3: = = ADD(0111, ADD(NOT(0011), 0001)) = ADD(0111, ADD(1100, 0001)) = ADD(0111, 1101) = 0100 Here the answer 0100 is given after removing the carry bit (i.e. the full answer is 10100). If the leading bit of this truncated string is one then the string represents a two s complement negative number, otherwise it represents a normal positive number. 18
20 Shifting If we take a bit string to be a binary number then the SHIFT operator has the same effect as moving the decimal point in a base ten number. So moving a binary point left in a base two number is equivalent to dividing by two. Similarly, a left shift will move the binary point to the right and is equivalent to multiplying by two. 0 zero bit shifted in leading bits shifted out Right Shift +1 bit Left Shift 2 bits trailing bit shifted out zero bits shifted in x
21 Control Unit s The LOAD and STORE instructions control the the movement of data between memory and the CPU data registers. The conditional BRANCH instruction tests a condition (such as whether or not a register holds a non-zero value) and, if the condition is met, it overrides the fixed update of the program counter and places a new address in the pointer register. This allows the flow of program control to jump anywhere in memory. The HALT instruction terminates a program and switches the computer off. 20
22 Sequence, Selection and Iteration Selection and iteration: A conditional BRANCH allows selection (if) and iteration (do while). Sequence: Everything else sequentially follows fetch and execute instructions that copy data and perform simple logical transformations until the program halts. Input and Output: I/O devices can be accessed and controlled by reading and writing data to reserved memory locations. Another universal language: That s it! All programming, hence all effective procedures can be captured by the simple set of instructions we have described. 21
23 A von Neumann Machine Programming Language AND register address register address register address * * * * * * * * * * * * OR register address register address register address * * * * * * * * * * * * XOR register address register address register address * * * * * * * * * * * * ADD register address register address register address * * * * * * * * * * * * LOAD register address memory address * * * * * * * * * * * * STORE register address memory address * * * * * * * * * * * * BRANCH register address memory address * * * * * * * * * * * * NOT register address register address unused * * * * * * * * SHIFT register address register address unused * * * * * * * * HALT unused 22
24 A Simple Programming Problem A university subject convenor has decided to give out bonus marks to students who have unusual and original ideas. These marks accrue in addition to the marks given for the regular assignments and make it possible for a student to score more than 100% for the overall subject. Unfortunately, the university s final grading system is not very flexible and if it finds a student with more than 100% it assumes an error has occurred and the subject convenor must explain what has happened. To avoid this situation we need to write a program that checks a student s final mark and makes sure anyone getting more than 100% has their final mark reduced back to 100%. In programming terms, we can express the problem as follows: If an overall mark is greater than 100 then set the overall mark to
25 The Solution 1 LOAD register-3-address value-one-address load value 1 in register 3 2 LOAD register-2-address value-one-hundred-address load value 100 in register 2 3 LOAD register-1-address value-seven-address load value 7 in register 1 4 LOAD register-0-address mark-address load mark M in register 0 5 NOT register-0-address register-0-address unused negate M and store as M in register 0 6 ADD register-0-address register-3-address register-0-address store M + 1 as M in register 0 7 ADD register-0-address register-2-address register-0-address store -M as in register 0 8 SHIFT register-0-address register-1-address unused right shift by 7 to isolate sign bit B 9 BRANCH register-0-address halt-address branch to HALT if B is zero 10 STORE register-2-address mark-address store mark = back to memory 11 HALT unused terminate program
26 1: LOAD value one into register 3 Central Processing Unit Memory Control Unit Fetch Increment Pointer LOAD Pointer Data Data Data Data ALU 25
27 2: LOAD value one hundred into register 2 Central Processing Unit Memory Control Unit Fetch Increment Pointer LOAD Pointer Data Data Data Data ALU 26
28 3: LOAD value seven into register 1 Central Processing Unit Memory Control Unit Fetch Increment Pointer LOAD Pointer Data Data Data Data ALU 27
29 4: LOAD mark into register 0 Memory Control Unit Fetch Increment Pointer LOAD Central Processing Unit Pointer Data Data Data Data ALU 28
30 5: NOT register 0 = not(register 0) Central Processing Unit Memory Control Unit Fetch Increment Pointer Pointer Data Data Data Data ALU Decode NOT Save Result 29
31 6: ADD register 0 = register 0 + register 3 Central Processing Unit Memory Control Unit Fetch Increment Pointer 3 Pointer Data Data Data Data ALU Decode ADD Save Result 30
32 7: ADD register 0 = register 0 + register 2 Central Processing Unit Memory Control Unit Fetch Increment Pointer 3 Pointer Data Data Data Data ALU Decode ADD Save Result 31
33 8: SHIFT register 0 by register 1 bits Central Processing Unit Memory Control Unit Fetch Increment Pointer 3 Pointer Data Data Data Data ALU Decode SHIFT Save Result 32
34 9: BRANCH to halt address if register 0 is zero Central Processing Unit Memory Control Unit Fetch Increment Pointer BRANCH Pointer Data Data Data Data ALU 33
35 10: STORE mark = register 2 Central Processing Unit Memory Control Unit Fetch Increment Pointer STORE Pointer Data Data Data Data ALU 34
36 11: HALT Central Processing Unit Memory Control Unit Fetch HALT 3 1 Pointer Data Data Data Data ALU 35
37 The Evolution of the von Neumann Architecture Most modern PCs use a bus architecture to connect different system components to the CPU. Still adheres to von Neumann s basic functional design and still suffers from von Neumann s bottleneck. Parallel processing architectures alleviate the bottleneck by multiplying processors - but each processor is still uses the fetchexecute paradigm. Memory CPU Control Registers Unit ALU System Bus Hard Disk Monitor Keyboard 36
38 Lecture Exercise Using the Set Architecture (ISA) described in the lecture, devise a program to solve the following problem: the Global Regulated Economic Efficiency Development Bank offers loan accounts to farmers in underdeveloped areas. Every month the bank checks its accounts to decide if an account keeping fee should be charged. It uses the following rule: if an account balance is less than or equal US$25 then charge the account a US$5 fee, otherwise leave the account balance unchanged. You should write each instruction as a 16 bit binary number that specifies the necessary register and memory addresses and diagrammatically show how the program and data would be represented in memory. 37
Let s put together a Manual Processor
Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce
More informationCPU Organisation and Operation
CPU Organisation and Operation The Fetch-Execute Cycle The operation of the CPU 1 is usually described in terms of the Fetch-Execute cycle. 2 Fetch-Execute Cycle Fetch the Instruction Increment the Program
More information(Refer Slide Time: 00:01:16 min)
Digital Computer Organization Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture No. # 04 CPU Design: Tirning & Control
More informationwhat operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?
Inside the CPU how does the CPU work? what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? some short, boring programs to illustrate the
More informationCS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions
CS101 Lecture 26: Low Level Programming John Magee 30 July 2013 Some material copyright Jones and Bartlett 1 Overview/Questions What did we do last time? How can we control the computer s circuits? How
More informationBinary Adders: Half Adders and Full Adders
Binary Adders: Half Adders and Full Adders In this set of slides, we present the two basic types of adders: 1. Half adders, and 2. Full adders. Each type of adder functions to add two binary bits. In order
More informationAdvanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2
Lecture Handout Computer Architecture Lecture No. 2 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 2,Chapter3 Computer Systems Design and Architecture 2.1, 2.2, 3.2 Summary 1) A taxonomy of
More informationChapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language
Chapter 4 Register Transfer and Microoperations Section 4.1 Register Transfer Language Digital systems are composed of modules that are constructed from digital components, such as registers, decoders,
More information150127-Microprocessor & Assembly Language
Chapter 3 Z80 Microprocessor Architecture The Z 80 is one of the most talented 8 bit microprocessors, and many microprocessor-based systems are designed around the Z80. The Z80 microprocessor needs an
More informationMICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1
MICROPROCESSOR A microprocessor incorporates the functions of a computer s central processing unit (CPU) on a single Integrated (IC), or at most a few integrated circuit. It is a multipurpose, programmable
More informationMICROPROCESSOR AND MICROCOMPUTER BASICS
Introduction MICROPROCESSOR AND MICROCOMPUTER BASICS At present there are many types and sizes of computers available. These computers are designed and constructed based on digital and Integrated Circuit
More informationCHAPTER 7: The CPU and Memory
CHAPTER 7: The CPU and Memory The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint slides
More information1 Classical Universal Computer 3
Chapter 6: Machine Language and Assembler Christian Jacob 1 Classical Universal Computer 3 1.1 Von Neumann Architecture 3 1.2 CPU and RAM 5 1.3 Arithmetic Logical Unit (ALU) 6 1.4 Arithmetic Logical Unit
More informationComputer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University cwliu@twins.ee.nctu.edu.
Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University cwliu@twins.ee.nctu.edu.tw Review Computers in mid 50 s Hardware was expensive
More informationChapter 2 Logic Gates and Introduction to Computer Architecture
Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are
More informationChapter 01: Introduction. Lesson 02 Evolution of Computers Part 2 First generation Computers
Chapter 01: Introduction Lesson 02 Evolution of Computers Part 2 First generation Computers Objective Understand how electronic computers evolved during the first generation of computers First Generation
More informationLearning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design
Learning Outcomes Simple CPU Operation and Buses Dr Eddie Edwards eddie.edwards@imperial.ac.uk At the end of this lecture you will Understand how a CPU might be put together Be able to name the basic components
More informationComputer Organization. and Instruction Execution. August 22
Computer Organization and Instruction Execution August 22 CSC201 Section 002 Fall, 2000 The Main Parts of a Computer CSC201 Section Copyright 2000, Douglas Reeves 2 I/O and Storage Devices (lots of devices,
More informationCSCI 4717 Computer Architecture. Function. Data Storage. Data Processing. Data movement to a peripheral. Data Movement
CSCI 4717/5717 Computer Architecture Topic: Functional View & History Reading: Sections 1.2, 2.1, & 2.3 Function All computer functions are comprised of four basic operations: Data processing Data storage
More informationSystems I: Computer Organization and Architecture
Systems I: Computer Organization and Architecture Lecture 9 - Register Transfer and Microoperations Microoperations Digital systems are modular in nature, with modules containing registers, decoders, arithmetic
More informationSummary of the MARIE Assembly Language
Supplement for Assignment # (sections.8 -. of the textbook) Summary of the MARIE Assembly Language Type of Instructions Arithmetic Data Transfer I/O Branch Subroutine call and return Mnemonic ADD X SUBT
More informationA s we saw in Chapter 4, a CPU contains three main sections: the register section,
6 CPU Design A s we saw in Chapter 4, a CPU contains three main sections: the register section, the arithmetic/logic unit (ALU), and the control unit. These sections work together to perform the sequences
More informationCentral Processing Unit (CPU)
Central Processing Unit (CPU) CPU is the heart and brain It interprets and executes machine level instructions Controls data transfer from/to Main Memory (MM) and CPU Detects any errors In the following
More informationCPU Organization and Assembly Language
COS 140 Foundations of Computer Science School of Computing and Information Science University of Maine October 2, 2015 Outline 1 2 3 4 5 6 7 8 Homework and announcements Reading: Chapter 12 Homework:
More informationThe string of digits 101101 in the binary number system represents the quantity
Data Representation Section 3.1 Data Types Registers contain either data or control information Control information is a bit or group of bits used to specify the sequence of command signals needed for
More informationLSN 2 Computer Processors
LSN 2 Computer Processors Department of Engineering Technology LSN 2 Computer Processors Microprocessors Design Instruction set Processor organization Processor performance Bandwidth Clock speed LSN 2
More informationCentral Processing Unit
Chapter 4 Central Processing Unit 1. CPU organization and operation flowchart 1.1. General concepts The primary function of the Central Processing Unit is to execute sequences of instructions representing
More information1. Convert the following base 10 numbers into 8-bit 2 s complement notation 0, -1, -12
C5 Solutions 1. Convert the following base 10 numbers into 8-bit 2 s complement notation 0, -1, -12 To Compute 0 0 = 00000000 To Compute 1 Step 1. Convert 1 to binary 00000001 Step 2. Flip the bits 11111110
More informationSystems I: Computer Organization and Architecture
Systems I: omputer Organization and Architecture Lecture 8: Registers and ounters Registers A register is a group of flip-flops. Each flip-flop stores one bit of data; n flip-flops are required to store
More informationMACHINE INSTRUCTIONS AND PROGRAMS
CHAPTER 2 MACHINE INSTRUCTIONS AND PROGRAMS CHAPTER OBJECTIVES In this chapter you will learn about: Machine instructions and program execution, including branching and subroutine call and return operations
More informationLecture 8: Synchronous Digital Systems
Lecture 8: Synchronous Digital Systems The distinguishing feature of a synchronous digital system is that the circuit only changes in response to a system clock. For example, consider the edge triggered
More informationManagement Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?
Management Challenge Managing Hardware Assets What computer processing and storage capability does our organization need to handle its information and business transactions? What arrangement of computers
More informationCounters and Decoders
Physics 3330 Experiment #10 Fall 1999 Purpose Counters and Decoders In this experiment, you will design and construct a 4-bit ripple-through decade counter with a decimal read-out display. Such a counter
More informationAdministrative Issues
CSC 3210 Computer Organization and Programming Introduction and Overview Dr. Anu Bourgeois (modified by Yuan Long) Administrative Issues Required Prerequisites CSc 2010 Intro to CSc CSc 2310 Java Programming
More informationCentral Processing Unit Simulation Version v2.5 (July 2005) Charles André University Nice-Sophia Antipolis
Central Processing Unit Simulation Version v2.5 (July 2005) Charles André University Nice-Sophia Antipolis 1 1 Table of Contents 1 Table of Contents... 3 2 Overview... 5 3 Installation... 7 4 The CPU
More informationComputers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer
Computers CMPT 125: Lecture 1: Understanding the Computer Tamara Smyth, tamaras@cs.sfu.ca School of Computing Science, Simon Fraser University January 3, 2009 A computer performs 2 basic functions: 1.
More informationChapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan
Chapter 2 Basic Structure of Computers Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Functional Units Basic Operational Concepts Bus Structures Software
More informationDigital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill
Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill Objectives: Analyze the operation of sequential logic circuits. Understand the operation of digital counters.
More informationBINARY CODED DECIMAL: B.C.D.
BINARY CODED DECIMAL: B.C.D. ANOTHER METHOD TO REPRESENT DECIMAL NUMBERS USEFUL BECAUSE MANY DIGITAL DEVICES PROCESS + DISPLAY NUMBERS IN TENS IN BCD EACH NUMBER IS DEFINED BY A BINARY CODE OF 4 BITS.
More informationMACHINE ARCHITECTURE & LANGUAGE
in the name of God the compassionate, the merciful notes on MACHINE ARCHITECTURE & LANGUAGE compiled by Jumong Chap. 9 Microprocessor Fundamentals A system designer should consider a microprocessor-based
More informationDigital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals of Computer Organization and Design. Introduction
More informationCOMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design
PH-315 COMINATIONAL and SEUENTIAL LOGIC CIRCUITS Hardware implementation and software design A La Rosa I PURPOSE: To familiarize with combinational and sequential logic circuits Combinational circuits
More informationA single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc
Other architectures Example. Accumulator-based machines A single register, called the accumulator, stores the operand before the operation, and stores the result after the operation. Load x # into acc
More informationTraditional IBM Mainframe Operating Principles
C H A P T E R 1 7 Traditional IBM Mainframe Operating Principles WHEN YOU FINISH READING THIS CHAPTER YOU SHOULD BE ABLE TO: Distinguish between an absolute address and a relative address. Briefly explain
More informationToday. Binary addition Representing negative numbers. Andrew H. Fagg: Embedded Real- Time Systems: Binary Arithmetic
Today Binary addition Representing negative numbers 2 Binary Addition Consider the following binary numbers: 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 1 How do we add these numbers? 3 Binary Addition 0 0 1 0 0 1 1
More information2011, The McGraw-Hill Companies, Inc. Chapter 3
Chapter 3 3.1 Decimal System The radix or base of a number system determines the total number of different symbols or digits used by that system. The decimal system has a base of 10 with the digits 0 through
More informationProgramming Logic controllers
Programming Logic controllers Programmable Logic Controller (PLC) is a microprocessor based system that uses programmable memory to store instructions and implement functions such as logic, sequencing,
More informationDigital Design. Assoc. Prof. Dr. Berna Örs Yalçın
Digital Design Assoc. Prof. Dr. Berna Örs Yalçın Istanbul Technical University Faculty of Electrical and Electronics Engineering Office Number: 2318 E-mail: siddika.ors@itu.edu.tr Grading 1st Midterm -
More informationComputer organization
Computer organization Computer design an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + datapath Control = finite state machine inputs
More informationMachine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.
1 Topics Machine Architecture and Number Systems Major Computer Components Bits, Bytes, and Words The Decimal Number System The Binary Number System Converting from Decimal to Binary Major Computer Components
More informationCHAPTER 3 Boolean Algebra and Digital Logic
CHAPTER 3 Boolean Algebra and Digital Logic 3.1 Introduction 121 3.2 Boolean Algebra 122 3.2.1 Boolean Expressions 123 3.2.2 Boolean Identities 124 3.2.3 Simplification of Boolean Expressions 126 3.2.4
More informationCHAPTER 4 MARIE: An Introduction to a Simple Computer
CHAPTER 4 MARIE: An Introduction to a Simple Computer 4.1 Introduction 195 4.2 CPU Basics and Organization 195 4.2.1 The Registers 196 4.2.2 The ALU 197 4.2.3 The Control Unit 197 4.3 The Bus 197 4.4 Clocks
More informationAddressing The problem. When & Where do we encounter Data? The concept of addressing data' in computations. The implications for our machine design(s)
Addressing The problem Objectives:- When & Where do we encounter Data? The concept of addressing data' in computations The implications for our machine design(s) Introducing the stack-machine concept Slide
More informationNotes on Assembly Language
Notes on Assembly Language Brief introduction to assembly programming The main components of a computer that take part in the execution of a program written in assembly code are the following: A set of
More informationPROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 TUTORIAL OUTCOME 2 Part 1
UNIT 22: PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 TUTORIAL OUTCOME 2 Part 1 This work covers part of outcome 2 of the Edexcel standard module. The material is
More informationImplementation of Modified Booth Algorithm (Radix 4) and its Comparison with Booth Algorithm (Radix-2)
Advance in Electronic and Electric Engineering. ISSN 2231-1297, Volume 3, Number 6 (2013), pp. 683-690 Research India Publications http://www.ripublication.com/aeee.htm Implementation of Modified Booth
More informationDEPARTMENT OF INFORMATION TECHNLOGY
DRONACHARYA GROUP OF INSTITUTIONS, GREATER NOIDA Affiliated to Mahamaya Technical University, Noida Approved by AICTE DEPARTMENT OF INFORMATION TECHNLOGY Lab Manual for Computer Organization Lab ECS-453
More informationa storage location directly on the CPU, used for temporary storage of small amounts of data during processing.
CS143 Handout 18 Summer 2008 30 July, 2008 Processor Architectures Handout written by Maggie Johnson and revised by Julie Zelenski. Architecture Vocabulary Let s review a few relevant hardware definitions:
More informationIntroducción. Diseño de sistemas digitales.1
Introducción Adapted from: Mary Jane Irwin ( www.cse.psu.edu/~mji ) www.cse.psu.edu/~cg431 [Original from Computer Organization and Design, Patterson & Hennessy, 2005, UCB] Diseño de sistemas digitales.1
More informationDEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV UNIT I THE 8086 MICROPROCESSOR 1. What is the purpose of segment registers
More informationComputer Organization and Architecture
Computer Organization and Architecture Chapter 11 Instruction Sets: Addressing Modes and Formats Instruction Set Design One goal of instruction set design is to minimize instruction length Another goal
More informationEE 261 Introduction to Logic Circuits. Module #2 Number Systems
EE 261 Introduction to Logic Circuits Module #2 Number Systems Topics A. Number System Formation B. Base Conversions C. Binary Arithmetic D. Signed Numbers E. Signed Arithmetic F. Binary Codes Textbook
More informationTIMING DIAGRAM O 8085
5 TIMING DIAGRAM O 8085 5.1 INTRODUCTION Timing diagram is the display of initiation of read/write and transfer of data operations under the control of 3-status signals IO / M, S 1, and S 0. As the heartbeat
More informationTom wants to find two real numbers, a and b, that have a sum of 10 and have a product of 10. He makes this table.
Sum and Product This problem gives you the chance to: use arithmetic and algebra to represent and analyze a mathematical situation solve a quadratic equation by trial and improvement Tom wants to find
More informationDigital Electronics Detailed Outline
Digital Electronics Detailed Outline Unit 1: Fundamentals of Analog and Digital Electronics (32 Total Days) Lesson 1.1: Foundations and the Board Game Counter (9 days) 1. Safety is an important concept
More informationTEACHING COMPUTER ARCHITECTURE THROUGH SIMULATION (A BRIEF EVALUATION OF CPU SIMULATORS) *
TEACHING COMPUTER ARCHITECTURE THROUGH SIMULATION (A BRIEF EVALUATION OF CPU SIMULATORS) * Timothy Stanley, PhD Computer and Network Sciences, Utah Valley University, Orem, Utah 84058, 801 863-8978, TStanley@uvu.edu
More information1 Computer hardware. Peripheral Bus device "B" Peripheral device. controller. Memory. Central Processing Unit (CPU)
1 1 Computer hardware Most computers are organized as shown in Figure 1.1. A computer contains several major subsystems --- such as the Central Processing Unit (CPU), memory, and peripheral device controllers.
More informationLecture 8: Binary Multiplication & Division
Lecture 8: Binary Multiplication & Division Today s topics: Addition/Subtraction Multiplication Division Reminder: get started early on assignment 3 1 2 s Complement Signed Numbers two = 0 ten 0001 two
More informationDigital System Design Prof. D Roychoudhry Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Digital System Design Prof. D Roychoudhry Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 04 Digital Logic II May, I before starting the today s lecture
More information1 Description of The Simpletron
Simulating The Simpletron Computer 50 points 1 Description of The Simpletron In this assignment you will write a program to simulate a fictional computer that we will call the Simpletron. As its name implies
More informationThe 104 Duke_ACC Machine
The 104 Duke_ACC Machine The goal of the next two lessons is to design and simulate a simple accumulator-based processor. The specifications for this processor and some of the QuartusII design components
More information1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.
File: chap04, Chapter 04 1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1. 2. True or False? A gate is a device that accepts a single input signal and produces one
More informationLogic in Computer Science: Logic Gates
Logic in Computer Science: Logic Gates Lila Kari The University of Western Ontario Logic in Computer Science: Logic Gates CS2209, Applied Logic for Computer Science 1 / 49 Logic and bit operations Computers
More information3.Basic Gate Combinations
3.Basic Gate Combinations 3.1 TTL NAND Gate In logic circuits transistors play the role of switches. For those in the TTL gate the conducting state (on) occurs when the baseemmiter signal is high, and
More informationUNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995
UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180B Lab 7: MISP Processor Design Spring 1995 Objective: In this lab, you will complete the design of the MISP processor,
More informationTopics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
More informationBASIC COMPUTER ORGANIZATION AND DESIGN
1 BASIC COMPUTER ORGANIZATION AND DESIGN Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle Memory Reference Instructions Input-Output and Interrupt Complete
More informationLADDER LOGIC/ FLOWCHART PROGRAMMING DIFFERENCES AND EXAMPLES
page 1/10 This document is designed as a quick-start primer to assist industrial automation programmers who are familiar with PLCs and Relay Ladder Logic programming to better understand the corresponding
More informationPROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 OUTCOME 3 PART 1
UNIT 22: PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 OUTCOME 3 PART 1 This work covers part of outcome 3 of the Edexcel standard module: Outcome 3 is the most demanding
More informationEC 362 Problem Set #2
EC 362 Problem Set #2 1) Using Single Precision IEEE 754, what is FF28 0000? 2) Suppose the fraction enhanced of a processor is 40% and the speedup of the enhancement was tenfold. What is the overall speedup?
More informationInstruction Set Architecture. or How to talk to computers if you aren t in Star Trek
Instruction Set Architecture or How to talk to computers if you aren t in Star Trek The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture
More informationAn Introduction to the ARM 7 Architecture
An Introduction to the ARM 7 Architecture Trevor Martin CEng, MIEE Technical Director This article gives an overview of the ARM 7 architecture and a description of its major features for a developer new
More informationSECTION C [short essay] [Not to exceed 120 words, Answer any SIX questions. Each question carries FOUR marks] 6 x 4=24 marks
UNIVERSITY OF KERALA First Degree Programme in Computer Applications Model Question Paper Semester I Course Code- CP 1121 Introduction to Computer Science TIME : 3 hrs Maximum Mark: 80 SECTION A [Very
More informationTHREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals
THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals Full Marks 100 (Theory 75, Practical 25) Introduction to Computers :- What is Computer?
More informationModule 3: Floyd, Digital Fundamental
Module 3: Lecturer : Yongsheng Gao Room : Tech - 3.25 Email : yongsheng.gao@griffith.edu.au Structure : 6 lectures 1 Tutorial Assessment: 1 Laboratory (5%) 1 Test (20%) Textbook : Floyd, Digital Fundamental
More informationSistemas Digitais I LESI - 2º ano
Sistemas Digitais I LESI - 2º ano Lesson 6 - Combinational Design Practices Prof. João Miguel Fernandes (miguel@di.uminho.pt) Dept. Informática UNIVERSIDADE DO MINHO ESCOLA DE ENGENHARIA - PLDs (1) - The
More informationComputer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level
System: User s View System Components: High Level View Input Output 1 System: Motherboard Level 2 Components: Interconnection I/O MEMORY 3 4 Organization Registers ALU CU 5 6 1 Input/Output I/O MEMORY
More informationİSTANBUL AYDIN UNIVERSITY
İSTANBUL AYDIN UNIVERSITY FACULTY OF ENGİNEERİNG SOFTWARE ENGINEERING THE PROJECT OF THE INSTRUCTION SET COMPUTER ORGANIZATION GÖZDE ARAS B1205.090015 Instructor: Prof. Dr. HASAN HÜSEYİN BALIK DECEMBER
More informationPROBLEMS (Cap. 4 - Istruzioni macchina)
98 CHAPTER 2 MACHINE INSTRUCTIONS AND PROGRAMS PROBLEMS (Cap. 4 - Istruzioni macchina) 2.1 Represent the decimal values 5, 2, 14, 10, 26, 19, 51, and 43, as signed, 7-bit numbers in the following binary
More informationInstruction Set Architecture. Datapath & Control. Instruction. LC-3 Overview: Memory and Registers. CIT 595 Spring 2010
Instruction Set Architecture Micro-architecture Datapath & Control CIT 595 Spring 2010 ISA =Programmer-visible components & operations Memory organization Address space -- how may locations can be addressed?
More informationParts of a Computer. Preparation. Objectives. Standards. Materials. 1 1999 Micron Technology Foundation, Inc. All Rights Reserved
Parts of a Computer Preparation Grade Level: 4-9 Group Size: 20-30 Time: 75-90 Minutes Presenters: 1-3 Objectives This lesson will enable students to: Identify parts of a computer Categorize parts of a
More informationl C-Programming l A real computer language l Data Representation l Everything goes down to bits and bytes l Machine representation Language
198:211 Computer Architecture Topics: Processor Design Where are we now? C-Programming A real computer language Data Representation Everything goes down to bits and bytes Machine representation Language
More informationMULTIPLE CHOICE FREE RESPONSE QUESTIONS
MULTIPLE CHOICE FREE RESPONSE QUESTIONS World ORT Union I n p u t d e v i c e s Where would you find the letters QUERTY? A. Mouse B. Keyboard C.Numeric Keypad How did the computer mouse get its name? A.
More informationDesign Example: Counters. Design Example: Counters. 3-Bit Binary Counter. 3-Bit Binary Counter. Other useful counters:
Design Eample: ers er: a sequential circuit that repeats a specified sequence of output upon clock pulses. A,B,C,, Z. G, O, T, E, R, P, S,!.,,,,,,,7. 7,,,,,,,.,,,,,,,,,,,. Binary counter: follows the binary
More informationSystems I: Computer Organization and Architecture
Systems I: Computer Organization and Architecture Lecture : Microprogrammed Control Microprogramming The control unit is responsible for initiating the sequence of microoperations that comprise instructions.
More informationInstruction Set Design
Instruction Set Design Instruction Set Architecture: to what purpose? ISA provides the level of abstraction between the software and the hardware One of the most important abstraction in CS It s narrow,
More informationLecture 2. Binary and Hexadecimal Numbers
Lecture 2 Binary and Hexadecimal Numbers Purpose: Review binary and hexadecimal number representations Convert directly from one base to another base Review addition and subtraction in binary representations
More informationZuse's Z3 Square Root Algorithm Talk given at Fall meeting of the Ohio Section of the MAA October 1999 - College of Wooster
Zuse's Z3 Square Root Algorithm Talk given at Fall meeting of the Ohio Section of the MAA October 1999 - College of Wooster Abstract Brian J. Shelburne Dept of Math and Comp Sci Wittenberg University In
More informationInformatica e Sistemi in Tempo Reale
Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)
More informationLinux Process Scheduling Policy
Lecture Overview Introduction to Linux process scheduling Policy versus algorithm Linux overall process scheduling objectives Timesharing Dynamic priority Favor I/O-bound process Linux scheduling algorithm
More information