Computer Architecture and Organization

Size: px
Start display at page:

Download "Computer Architecture and Organization"

Transcription

1 Computer Architecture and Organization Topics of Interest o Internal structure of a CPU o Instruction execution o Addressing mode o Interrupt o Pipe lining o Parallel Processing o RISC and CSIC Power PC o Memory architecture Internal structure of a CPU The general structure of ISA (Instruction Set Architecture) computer (Von Neumann, 1952). It is the prototype of all general-purpose computers. Data Processing Unit Main Memory I/O Equipment Program Control Unit Central Processing Unit It suggest stored-program computer IT60101 Foundation of Computing Samanta 1

2 Extended version of IAS Computer Arithmetic Logic Unit (ALU) Central Processing Unit Performs all sorts of arithmetic operations Addition, subtraction, Multiplication, Division, Comparison etc. Accumulator (AC) and Multiplier Quotient (MQ) It temporarily hold operands and results of ALU operations. MQ stores the few least significant bits on multiplications. IT60101 Foundation of Computing Samanta 2

3 Memory Buffer Register (MBR) It contains a word to be stored in memory, or ID device or is used to receive a word from memory or IO device. Register Bank CPU maintains a number of register for some intermediate operations. Registers are stack pointer, Accumulator register, Index register, general purpose register, Base address register, Interrupt register, clock register etc. Memory address register (MAR) Specifies the address in memory of the words to be written from or read into the MBR. Instruction Buffer Register (IBR) Left Instruction Right instruction O p code Address O p Code Address Employed to temporarily hold the right-hand instruction from a word in memory. Instruction Register (IR) Contain the 8-bits O p code instruction being executed. Program Counter (PC) Contains the address of the next instruction-pair to be fetched from memory. Inter-connection structures A computer consists main three modules CPU, Memory and I/O. These modules are connected through a structure called interconnection structure. The interconnection structure in each module is described as below. IT60101 Foundation of Computing Samanta 3

4 Read Write Address bus Memory Data Data Read Write Address Internal data External data I/O Device Internal data External data Interrupt signals The interconnection structure support the following types of transfer. 1. Memory to CPU CPU reads an instruction or a unit of word from memory. 2. CPU to memory CPU writes a unit of word to main memory. 3. I/O to CPU CPU reads data from an I/O device via an I/O module 4. CPU to I/O CPU sends data to the I/O device 5. I/O to or from Memory I/O module is allowed to exchange data directly with memory, without going through the CPU, using direct memory access (DMA) IT60101 Foundation of Computing Samanta 4

5 CPU Memory I/O Device bits address bus bits data bus Bus interconnection in IAS Computer. 12 Control bus Some control lines are Memory write Memory read IO write IO read Transfer ACK Bus Request Bus Grant Interrupt request Interrupt ACK Clock Reset RESERVE for special use. IT60101 Foundation of Computing Samanta 5

6 Instruction Executions The basic function performed by a computer is program execution. The program to be executed consists of a set of instructions stored in memory. Instruction execution Note CPU reads (fetch) instructions from memory one at a time. Execution of instruction at ALU. Instruction cycle (Processing required for a single instruction) o Fetech cycle Execute cycle o o Basic instruction cycle (without interrupt) IT60101 Foundation of Computing Samanta 6

7 Start Fetch Instruction Fetch cycle Execute Instruction Halt Execute cycle Check for Interupt Process Interupt Interrupt cycle Basic instruction cycle (with interrupt) Instruction cycle 1. At the beginning of each instruction cycle, CPU fetches an instruction from memory. 2. A register called the program counter (PC) is used to keep track of the instruction to be fetched. PC always automatically is incremented after each instruction fetch, if not interrupt. 3. The fetched instruction is loaded into a register in the CPU (called Instruction register (IR)). 4. The CPU interprets the instruction and performs the required operation. CPU - Memory Data may be transferred from the CPU to memory or from memory to CPU. CPU IO Data may be transferred to or from between the CPU and IO-module. Data Processing CPU performs some arithmetic or logic operation on data. Control An instruction may specify that the sequence of execution be altered. IT60101 Foundation of Computing Samanta 7

8 Internal CPU operation CPU to memory or IO Instruction cycle state diagrams with Interrupt Data Path in Instruction Execution Memory M A R MBR Data bus AC MBR ALU OP code IR Operand PC Register Bank Control signals { Control block Address bus I/O Bus IO Device IT60101 Foundation of Computing Samanta 8

9 1. Instruction fetch (shown in red color) 2. IOD OAC OF (shown in violet color) 3. Data operation (shown in light color) 4. OS OAC (shown in Orange color) Addressing Modes A computer program is a sequence of instructions. Each instruction specifies the operations noted in the operation code field on the data specified by the operands in the operand field. Op code Operand Instruction format Computer provides different addressing capabilities in an instruction format. Different scheme for deriving the effective address in the operand field is termed as addressing modes. Different addressing modes are 1. Immediate 2. Direct memory 3. Indirect memory 4. Direct register 5. Indirect register 6. Relative Program counter relative Base address relative 7. Indexed addressing 8. Stack addressing 1. Immediate addressing Op Code Operand The operand data is directly specified in the operand field. Advantage - No memory/ register access - Execution is faster Disadvantage - The operand data setting restricted to the maximum value that can be fitted within the operation field. IT60101 Foundation of Computing Samanta 9

10 2. Direct memory addressing Op code Operand Address Operand The operand field in this case, a memory address where the data stored. Advantage - It requires only one memory references and no special calculation Disadvantage - It provides only a limited address space. Hence, suitable for a small computer system - The length of operand field is usually less than the word length, thus limiting the address range. 3. Indirect memory addressing In this scheme, the operand address specifies another memory location where the desired data is located. IT60101 Foundation of Computing Samanta 10

11 Op code Operand Address Operand add(x) x Advantage This scheme allow larger address space. For word length of N, an address space of 2 N is available. Note The number of different effective address that may be referenced in Direct memory address is 2 P where P is the number of bits in address field and P < N. Disadvantage Instruction execution requires two memory references to fetch the operand, one to get its address and second to get its value. 4. Direct register addressing All computer systems are usually provided with some addressable registers. If there are R number of registers, then log 2 R bits of the operand field denotes the specific register holding the data word. Op code Register number Register Bank IT60101 Foundation of Computing Samanta 11

12 Advantage - Only a small address field is required - Register reference is faster than the memory reference and hence high speed execution Disadvantage - Address space is very limited 5. Indirect Register addressing In this scheme, the operand field specifies the register R j ; the register R j contains the memory address where the operand data is located. Op code Register number Operand Data Memory Address of operand Register Advantage - Small address field - Uses one register and one memory reference. Better than Indirect memory addressing Disadvantage Address space limitation Two accesses for a reference. 6. Relative addressing In this scheme, the effective operand address is computed by adding a displacement value specified in the operand field with the value in (i) implicitly in a hardware register (such as program counter) or (ii) explicitly in a register specified in the operation field. IT60101 Foundation of Computing Samanta 12

13 Op code Displacement PC + Operand Program counter relative Memory Op code Base Reg Displacement Base Reg X + Operand Memory Base resiter relative Advantage A very powerful mode of address combines the capabilities of direct addressing and register indirect addressing - For a memory operand address referring to a memory with R- bit memory address register, the operand field requires R-bits (Base Reg). Let the segment of a memory size be 2 D, thus displacement field is D. Thus, address of an operand data can be specified with R + D bits. This is in contrast to N bits for a memory of 2 N with direct memory access. The value of R + D can be designed so that R + D < N. - Easy to implement Multiprogramming environment, where each register stores the base address of a memory location for a program. Disadvantage Disadvantage of computing the effective memory address by an addition operation resulting in additional delay. IT60101 Foundation of Computing Samanta 13

14 7. Indexed addressing Same as relative addressing except that the operand field contain an address to index register. Op code Index Reg Displacement Index + 8. Stack addressing For a memory based stack, the implied operand address for any stack operation is the Stack Pointer Register (SPR) which stores the address of the top data element of the stack. Hardware stack build with registers, although fast, limited to size of the stack. IO Accessing and Data Transfer Typically, there will be many I/O devices connected to the system. Each device is given a unique identifier or address. When the CPU issues an I/O command, the command contains the address of the desired device. Thus, each I/O module must interpret the address lines to determine if the command for itself. When the CPU, main memory and I/O share a common bus, two modes of addressing are possible 1. Memory-mapped I/O 2. I/O mapped I/O Memory-mapped I/O With memory-mapped I/O, I/O devices are connected as (virtual) memory locations. In other words, there is a single address space for memory locations and I/O devices. Each IT60101 Foundation of Computing Samanta 14

15 input device buffer is treated as a memory word providing data to the data bus and each output device buffer is also treated as a memory location where data can be written. CPU Memory Address but Data bus I/O I/O Memory- mapped I/O Advantage The memory-mapped I/O scheme does not require any special input-outpur instructions. Disadvantage The available memory space to store program and data get reduced since the total address space is shared between memory and I/O devices. I/O mapped I/O In I/O mapped I/O scheme, all I/O ports are independent of the main memory. The instruction set of CPU has special I/O instructions like Input and Output to transfer data to and from I/O devices. Note In view of separation of memory and I/O device and a memory location can have the same address. Advantage While memory-mapped I/O is simpler and cheaper to implement, its operation is likely to be slower than I/O mapped I/O scheme. In either of the above two addressing schemes, all I/O operations are classified into three basic modes I. Programmed IO II. Direct Memory Access III. Interrupt IO. IT60101 Foundation of Computing Samanta 15

16 Programmed IO In this mode of IO data transfer, the CPU controls entire I/O transaction by executing a sequence of IO instructions included in a program. The program executed by the CPU initiates, directs and terminates IO operations. Mechanism of the programmed I/O is shown below. Start Read Status register CPU IO No IO Device Ready? Yes Transfer word to or from buffer IO CPU Write (Read) character into (from) memory location. CPU Memory Update data counter & Pointer Registrer No Count = 0? End of data transfer The addition hardware necessary is the CPU to support such a programmed I/O data transfer consists of the following. IT60101 Foundation of Computing Samanta 16

17 1. Status register It is used to store current status of the I/O device. The bits of status register may indicate whether the device is ready for IO transfer, error indication, interrupt request etc. 2. Buffere register It is used to hold the data temporily till I/O device is ready to accept the data delivered by CPU or till CPU is ready to accept the data delivered by the I/O device. 3. Data counter It is loaded with the number of data bytes/words to be transferred. It is decremented automatically by one after the transfer of each word. A zero count indicates the transfer of data has been completed. 4. Pointer It is a register storing the current memory location into which the next word is to be written or from which the next word is to be read. It is updated after the transfer of each word. Interrupted IO The problem with programmed I/O is that the CPU has to wait a long time for the I/O module to be ready for either receiving or transmitting data. The CPU, while waiting, must repeatedly interrogate the status of the I/O module. As a result, the performance of the system is severally degraded. As an alternative to the programmed IO, in interrupted IO mode of data transfer, the CPU issue an I/O command to the I/O module and then go to do some other work. The I/O module will then interrupt the CPU to request service when it is ready to exchange data with CPU. The CPU, then executes data transfer, as before and then resumes its former processing. Direct Memory Access (DMA) Limitations in Programmed and interrupted IO nodes. Interrupt IO, though more efficient than simple programmed I/O, still requires the active intervention of the CPU to transfer data between memory and I/O modules, and any data transfer must traverse a path through the CPU. Thus, both these modes of I/O suffers from two inherent drawbacks 1. The I/O transfer rate is limited by the speed with which the CPU can test and service a device. 2. The CPU is tied up in managing an I/O transfer; infact, a number of instruction must be executed for each I/O transfer. IT60101 Foundation of Computing Samanta 17

18 When a large volumes of data are to be moved, the above two mode of data transfer is very inefficient. A more efficient technique called direct memory access (DMA) is known. DMA transfer requires an additional module on the system bus called the DMA controller. The DMA controller is capable of mimicking the CPU, and indeed, of taking over control of the system from the CPU. A typical block diagram of the DMA controller is shown below. CPU, Memory and I/O with DMA controller IT60101 Foundation of Computing Samanta 18

19 The DMA mode of data transfer takes place as follows. When the CPU wishes to read or write a block of data, it issues a command to the DMA controller, by sending to the DMA controller the following information. whether a Read or Write is requested The address of the I/O device involved The starting location in memory to read from or write to The number of words to be read or written. The CPU then continues with other work. The DMA controller will take care the request delegated to DMA controller. The DMA controller transfer the entire block of data, one word at a time, directly to or from memory, without going through the CPU. When the transfer is complete, the DMA controller sends an acknowledge signal to the CPU. Thus, in DMA mode of data transfer, CPU is involved only at the beginning and end of the transfer. Note It is important to note that DMA controller needs to take control of the bus in order to transfer data to and from memory. For this purpose, the DMA controller must use the bus only when the CPU does not need it. This technique is more commonly referred to as cycle-stealing. That is, the DMA controller in effect steals a bus. When the DMA controller is ready to transfer data, it activates the DMA request line input to the CPU. The CPU can respond to this request and release the system bus for use of DMA controller only at the DMA break points IT60101 Foundation of Computing Samanta 19

20 Interrupt Handling in CPU Interrupt is an asynchronous event in which other modules such as I/O, memory may change the sequence of executions of the instruction of the CPU. Instruction cycle and implication of interrupts Instruction cycle IF ID OF IE SR IC Interrupt check break point A module may send an interrupt to the CPU by setting an interrupt flag maintained in the CPU. In the instruction cycle, the CPU recognizes the ON status of the flag (at interrupt check break point) and switches over to execution of the procedure referred to as Interrupt Service Routine (ISR). In fact, the occurrence of an interrupt triggers a number of events, both in the processor hardware and in software. Transfer of control via interrupt IT60101 Foundation of Computing Samanta 20

21 Sources and type of interrupts Interrupt handling by CPU There are usually many sources of interrupts, each setting an interrupt flag ( or interrupt register). A specific ISR is associated with each interrupt. The sources and types of various interrupts are shown below. Type Program External Source Internal interrupts Generated by some condition that occurs as a result of an instruction execution, such as arithmetic overflow, division by zero, attempt to execute an illegal machine instruction, and reference outside a user s allowed memory space. I/O An I/O device controller may request for data transfer or it may ask for CPU s attention after it has finished data transfer. Timer Timer is a device associated with a system to keep count of some elapsed time. It is set with a specified value by the program. The timer counter gets decremented as the time advances. On elapsing of the specified time slots as the counter reaches to zero, a timer interrupt may be initiated. IT60101 Foundation of Computing Samanta 21

22 Console switch To force certain specified action. Power sensing circuit If power fails or drops below a safe operating level etc. Hardware Software Machine check The CPU is usually equipped with a register which stores hardware errors, if any. For example, parity errors in any hardware register, error executing any input/output operation. Such occurrence of machine error demands execution of certain error recovery procedure. Machine check interrupts and the associated interrupt service routines enable the system to effectively handle machine errors. A software interrupt is initiated by executing an instruction of the type INT n in a program where n refers to the starting address of a procedure. I t can be used by the programmer to initiate a desired procedure coded as the interrupt service routine at nay desired point in the program, ROM BIOS etc. Interrupt Servicing Interrupts from different sources are usually posted in a single or multiple registers. Each bit of the register records the specific condition which caused the interrupt. For each type of interrupt, there is a corresponding interrupt service routine. Interrupt service rountines are usually stored in specification locations of main memory or ROM- BIOS. The CPU checks the interrupt flag register to decide what type of interrupt it is and get the location of interrupt service routine stored in some registers (special purpose) or some mechanism. Interrupt priorities Interrupts may be also classified into two groups maskable and non-maskable. Such grouping stems from the fact that at any point of time, CPU might be executing some instructions (usually related to operating system function) which are critical and cannot be deferred. Under this situation, it is necessary to mask the interrupts. There are some interrupts such as machine check or power failures are non-maskable and referred to as non-maskable interrupt (NMI). To accomplish this, there is special register is used called mask register, which sets some bit as 1 to indicate that they are mask. Further, at any instant multiple interrupts may occur, that is, more than one source can sent interrupt signals to the CPU simultaneously. Two approaches can be taken to dealing with multiple interrupts 1) The first approach is to disable interrupts while an interrupt is being processed. A disable interrupt simply means that the processor can and will ignore that interrupt request signal. If an interrupt occurs during this time,l it generally remains pending and will be checked by the processor after the processor has enables interrupts. Thus, when a user program is executing and an interrupt occurs, IT60101 Foundation of Computing Samanta 22

23 interrupts are immediately. After the interrupt handler routine completes, interrupts are enabled before resuming the user program, and the processor checks to see if additional interrupts have occurred. However, the draw back of the approach is that it does not take into account relative priority. 2) A second approach is to define priorities for interrupts and to allow an interrupt of higher priority to cause a lower priority interrupt handler to be itself interrupted. To handle IO interrupt situation, following issues need due consideration. 1. Selection of the interrupting device 2. Priority and masking of interrupt. 3. Generation of the starting address of the interrupt service routine corresponding to the interrupt signal generated by a specific IO device. Sequence of actions executed in response to an interrupt signal. Daisy Chaining Priority Scheme In order to identify the device which has raised the interrupt, the scheme similar to that of bus arbitration logic (where multiple devices may request access to the bus may be employed. Figure below represents an IO bus structure where one of the control bus is Interrupt Request. Any IO device at any point of time can make this line active. If the interrupt is not disabled masked, the IO interrupt flip-flop is set. The CPU at the end of its current instruction execution phase, checks the interrupt flip-flop and proceeds to IT60101 Foundation of Computing Samanta 23

24 identify the IO device and the starting address of the corresponding interrupt service routine. The simplest scheme, as noted in the above Figure below, is to resolve the arbitration by daisy chaining the Interrupt Acknowledge (Int Ack) signal from CPU. As per the fixed priority enforced by the physical interconnection of the Int Ack line, the interrupting device stops propagation of this control line and puts its address on the address bus. A table may store the interrupt service routine starting address for the interrupt generated by each of the IO devices. The CPU can look into the table (that may be stored in a ROM) to identify the starting address and proceed to execute the interrupt service routine. Instead of table look up, CPU may execute a program with the device address as an input parameter to compute the starting address of the interrupt service routine. Polling Scheme Daisy chained priority scheme to identify interrupting device. Instead of employing the fixed priority set by the daisy chaining, a polling scheme can be also implemented. If the interrupt FF is set, the CPU may execute a polling routine as noted in Figure below. Each of the IO devices is assumed to store a bit in its status register indicating the interrupt request status. The polling routine interrogates the status of each device (that is, the status is read and its interrupt bit is checked) in a predetermined order to identify the interrupting device and the corresponding interrupt service routine starting address from a table. The priority of selection can be programmed by changing the polling sequence. The interrupting device that comes first in the polling order gets serviced first. In order to have faster processing of interrupt, all the actions for identifying the interrupt service routine need to be hardwired which is implemented in the next scheme. Independent Interrupt Request Instead of using single IO interrupt flip-flop noted in earlier two schemes, the CPU, as noted in Figure below, may be equipped with an interrupt register. The register may have n number of bits if there are n number of IO interrupt sources. The ith source stores its interrupt signal on the ith bit of the register. Thus the source of the interrupt is immediately known to the CPU. To service the interrupt, the CPU now computes the starting address of the service routine or identifies the address by table look up. IT60101 Foundation of Computing Samanta 24

25 In each of the above schemes, CPU spends unproductive time for identifying the starting address of the interrupt service routine. This can be avoided by a scheme referred to as vectored interrupt. Vectored Interrupt Independent interrupt request scheme. In this scheme, the interrupting device provides the CPU over the data bus with a special code called Interrupt Vector which directly represents the starting address of the corresponding interrupt service routine. Figure below shows a typical vectored interrupt scheme with daisy chain method of resolving interrupt priority. Resolving the priority IT60101 Foundation of Computing Samanta 25

26 Vectored interrupt with daisy chaining. with the help of a priority encoder fed with independent interrupt request lines is noted in Figure below. A mask register is also included in order to provide the flexibility of disabling any interrupt. The output of the priority encoder directly provides the starting address of Vectored interrupt with priority encoding. the interrupt service routine. For example, for a system with 4 IO devices let the starting address of the interrupt service routines be A(0), A(1), A(2) and A(3). Then the priority encoder output 00, 01, 10, 11 can be concatenated to generate the addresses 00, 01, 10, 11 where denotes the high order address bits. Now the corresponding interrupt service routine addresses A(i) (i = 0, 1, 2, 3) can be specified as the branch address in the memory locations as noted in Figure below. Any active input to the priority encoder generates the Interrupt Pending signal. While CPU is ready to service the interrupt, the priority encoder can be enabled to generate the starting address of interrupt service routine. In order to reduce hardware cost while handling large number of IO devices, it may be desirable to combine priority encoder scheme along with daisy chain method. The devices can be combined into priority groups and are daisy chained within each group. A IT60101 Foundation of Computing Samanta 26

27 group is selected by the priority encoder and the IO devices within a group is serviced as per the fixed priority determined by the daisy chain. A variation of the above vectored interrupt scheme can be implemented by generating a transfer vector in the form of a CPU instruction. For example, the IO device may generate the vector Call A (i) on the data bus which is transferred to instruction register of the CPU. The CPU executes this instruction as a call subroutine instruction where A(i) denotes the starting address of the subroutine which is nothing but the interrupt service routine. IT60101 Foundation of Computing Samanta 27

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Advanced 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 information

Chapter 1 Computer System Overview

Chapter 1 Computer System Overview Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides

More information

MICROPROCESSOR AND MICROCOMPUTER BASICS

MICROPROCESSOR 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 information

Central Processing Unit (CPU)

Central 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 information

Chapter 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 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 information

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1

MICROPROCESSOR. 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 information

150127-Microprocessor & Assembly Language

150127-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 information

Central Processing Unit

Central 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 information

CHAPTER 4 MARIE: An Introduction to a Simple Computer

CHAPTER 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 information

CHAPTER 7: The CPU and Memory

CHAPTER 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 information

(Refer Slide Time: 00:01:16 min)

(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 information

Traditional IBM Mainframe Operating Principles

Traditional 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 information

Chapter 2 Logic Gates and Introduction to Computer Architecture

Chapter 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 information

1. Computer System Structure and Components

1. Computer System Structure and Components 1 Computer System Structure and Components Computer System Layers Various Computer Programs OS System Calls (eg, fork, execv, write, etc) KERNEL/Behavior or CPU Device Drivers Device Controllers Devices

More information

INPUT/OUTPUT ORGANIZATION

INPUT/OUTPUT ORGANIZATION INPUT/OUTPUT ORGANIZATION Accessing I/O Devices I/O interface Input/output mechanism Memory-mapped I/O Programmed I/O Interrupts Direct Memory Access Buses Synchronous Bus Asynchronous Bus I/O in CO and

More information

Exception and Interrupt Handling in ARM

Exception and Interrupt Handling in ARM Exception and Interrupt Handling in ARM Architectures and Design Methods for Embedded Systems Summer Semester 2006 Author: Ahmed Fathy Mohammed Abdelrazek Advisor: Dominik Lücke Abstract We discuss exceptions

More information

Computer 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. 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 information

Computer Organization & Architecture Lecture #19

Computer Organization & Architecture Lecture #19 Computer Organization & Architecture Lecture #19 Input/Output The computer system s I/O architecture is its interface to the outside world. This architecture is designed to provide a systematic means of

More information

COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING UNIT 5 INPUT/OUTPUT UNIT JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING UNIT 5 INPUT/OUTPUT UNIT JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING UNIT 5 INPUT/OUTPUT UNIT JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 I/O Unit Index Introduction. I/O Problem

More information

DEPARTMENT 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 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 information

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

Chapter 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 information

PART B QUESTIONS AND ANSWERS UNIT I

PART B QUESTIONS AND ANSWERS UNIT I PART B QUESTIONS AND ANSWERS UNIT I 1. Explain the architecture of 8085 microprocessor? Logic pin out of 8085 microprocessor Address bus: unidirectional bus, used as high order bus Data bus: bi-directional

More information

LSN 2 Computer Processors

LSN 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 information

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building mirela.damian@villanova.edu

More information

Chapter 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 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 information

GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT. COURSE CURRICULUM COURSE TITLE: COMPUTER ORGANIZATION AND ARCHITECTURE (Code: 3340705)

GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT. COURSE CURRICULUM COURSE TITLE: COMPUTER ORGANIZATION AND ARCHITECTURE (Code: 3340705) GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT COURSE CURRICULUM COURSE TITLE: COMPUTER ORGANIZATION AND ARCHITECTURE (Code: 3340705) Diploma Programmes in which this course is offered Computer Engineering

More information

1 Classical Universal Computer 3

1 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 information

CS101 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. 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 information

Computer organization

Computer 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 information

CPU Organisation and Operation

CPU 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

Serial Communications

Serial Communications Serial Communications 1 Serial Communication Introduction Serial communication buses Asynchronous and synchronous communication UART block diagram UART clock requirements Programming the UARTs Operation

More information

COMPUTER ARCHITECTURE. Input/Output

COMPUTER ARCHITECTURE. Input/Output HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK COMPUTER ARCHITECTURE Lecture 17 Input/Output Sommersemester 2002 Leitung: Prof. Dr. Miroslaw Malek www.informatik.hu-berlin.de/rok/ca CA - XVII -

More information

Exceptions in MIPS. know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine

Exceptions in MIPS. know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine 7 Objectives After completing this lab you will: know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine Introduction Branches and jumps provide ways to change

More information

CSCI 4717 Computer Architecture. Function. Data Storage. Data Processing. Data movement to a peripheral. Data Movement

CSCI 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 information

MACHINE ARCHITECTURE & LANGUAGE

MACHINE 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 information

An Introduction to the ARM 7 Architecture

An 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 information

Operating Systems. Lecture 03. February 11, 2013

Operating Systems. Lecture 03. February 11, 2013 Operating Systems Lecture 03 February 11, 2013 Goals for Today Interrupts, traps and signals Hardware Protection System Calls Interrupts, Traps, and Signals The occurrence of an event is usually signaled

More information

MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS

MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS 1) Which is the microprocessor comprises: a. Register section b. One or more ALU c. Control unit 2) What is the store by register? a. data b. operands

More information

An Overview of Stack Architecture and the PSC 1000 Microprocessor

An Overview of Stack Architecture and the PSC 1000 Microprocessor An Overview of Stack Architecture and the PSC 1000 Microprocessor Introduction A stack is an important data handling structure used in computing. Specifically, a stack is a dynamic set of elements in which

More information

Instruction Set Architecture. Datapath & Control. Instruction. LC-3 Overview: Memory and Registers. CIT 595 Spring 2010

Instruction 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 information

Computer-System Architecture

Computer-System Architecture Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture 2.1 Computer-System Architecture 2.2 Computer-System

More information

Computer Organization. and Instruction Execution. August 22

Computer 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 information

A New Paradigm for Synchronous State Machine Design in Verilog

A New Paradigm for Synchronous State Machine Design in Verilog A New Paradigm for Synchronous State Machine Design in Verilog Randy Nuss Copyright 1999 Idea Consulting Introduction Synchronous State Machines are one of the most common building blocks in modern digital

More information

A s we saw in Chapter 4, a CPU contains three main sections: the register section,

A 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 information

CSE2102 Digital Design II - Topics CSE2102 - Digital Design II

CSE2102 Digital Design II - Topics CSE2102 - Digital Design II CSE2102 Digital Design II - Topics CSE2102 - Digital Design II 6 - Microprocessor Interfacing - Memory and Peripheral Dr. Tim Ferguson, Monash University. AUSTRALIA. Tel: +61-3-99053227 FAX: +61-3-99053574

More information

Chapter 11: Input/Output Organisation. Lesson 06: Programmed IO

Chapter 11: Input/Output Organisation. Lesson 06: Programmed IO Chapter 11: Input/Output Organisation Lesson 06: Programmed IO Objective Understand the programmed IO mode of data transfer Learn that the program waits for the ready status by repeatedly testing the status

More information

Introduction. What is an Operating System?

Introduction. What is an Operating System? Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization

More information

Lecture 6: Interrupts. CSC 469H1F Fall 2006 Angela Demke Brown

Lecture 6: Interrupts. CSC 469H1F Fall 2006 Angela Demke Brown Lecture 6: Interrupts CSC 469H1F Fall 2006 Angela Demke Brown Topics What is an interrupt? How do operating systems handle interrupts? FreeBSD example Linux in tutorial Interrupts Defn: an event external

More information

Counters. Present State Next State A B A B 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0

Counters. Present State Next State A B A B 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 ounter ounters ounters are a specific type of sequential circuit. Like registers, the state, or the flip-flop values themselves, serves as the output. The output value increases by one on each clock cycle.

More information

Instruction Set Architecture (ISA)

Instruction Set Architecture (ISA) Instruction Set Architecture (ISA) * Instruction set architecture of a machine fills the semantic gap between the user and the machine. * ISA serves as the starting point for the design of a new machine

More information

İSTANBUL AYDIN UNIVERSITY

İ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 information

BASIC COMPUTER ORGANIZATION AND DESIGN

BASIC 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 information

Let s put together a Manual Processor

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 information

CPU Organization and Assembly Language

CPU 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 information

UNIT 2 CLASSIFICATION OF PARALLEL COMPUTERS

UNIT 2 CLASSIFICATION OF PARALLEL COMPUTERS UNIT 2 CLASSIFICATION OF PARALLEL COMPUTERS Structure Page Nos. 2.0 Introduction 27 2.1 Objectives 27 2.2 Types of Classification 28 2.3 Flynn s Classification 28 2.3.1 Instruction Cycle 2.3.2 Instruction

More information

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A

More information

MACHINE INSTRUCTIONS AND PROGRAMS

MACHINE 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 information

Keil C51 Cross Compiler

Keil C51 Cross Compiler Keil C51 Cross Compiler ANSI C Compiler Generates fast compact code for the 8051 and it s derivatives Advantages of C over Assembler Do not need to know the microcontroller instruction set Register allocation

More information

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM 1 The ARM architecture processors popular in Mobile phone systems 2 ARM Features ARM has 32-bit architecture but supports 16 bit

More information

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

Computer 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

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC. 8.1 Objectives To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC. 8.2 Introduction Circuits for counting events are frequently used in computers and other digital

More information

Interrupts. 1.Maskable interrupt request can be ignored or delayed by the microprocessor and used in telephone

Interrupts. 1.Maskable interrupt request can be ignored or delayed by the microprocessor and used in telephone Interrupts The interrupt I/O is a process of data transfer where-by an external device or a peripheral can inform the microprocessor that it is ready for communication The interrupt requests are classified

More information

Instruction Set Architecture

Instruction Set Architecture Instruction Set Architecture Consider x := y+z. (x, y, z are memory variables) 1-address instructions 2-address instructions LOAD y (r :=y) ADD y,z (y := y+z) ADD z (r:=r+z) MOVE x,y (x := y) STORE x (x:=r)

More information

Chapter 11 I/O Management and Disk Scheduling

Chapter 11 I/O Management and Disk Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization

More information

Addressing 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. 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 information

UNIT 4 Software Development Flow

UNIT 4 Software Development Flow DESIGN OF SYSTEM ON CHIP UNIT 4 Software Development Flow Interrupts OFFICIAL MASTER IN ADVANCED ELECTRONIC SYSTEMS. INTELLIGENT SYSTEMS Outline Introduction Interrupts in Cortex-A9 Processor Interrupt

More information

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory 1 1. Memory Organisation 2 Random access model A memory-, a data byte, or a word, or a double

More information

AN141 SMBUS COMMUNICATION FOR SMALL FORM FACTOR DEVICE FAMILIES. 1. Introduction. 2. Overview of the SMBus Specification. 2.1.

AN141 SMBUS COMMUNICATION FOR SMALL FORM FACTOR DEVICE FAMILIES. 1. Introduction. 2. Overview of the SMBus Specification. 2.1. SMBUS COMMUNICATION FOR SMALL FORM FACTOR DEVICE FAMILIES 1. Introduction C8051F3xx and C8051F41x devices are equipped with an SMBus serial I/O peripheral that is compliant with both the System Management

More information

PROBLEMS (Cap. 4 - Istruzioni macchina)

PROBLEMS (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 information

Computer Systems Structure Input/Output

Computer Systems Structure Input/Output Computer Systems Structure Input/Output Peripherals Computer Central Processing Unit Main Memory Computer Systems Interconnection Communication lines Input Output Ward 1 Ward 2 Examples of I/O Devices

More information

Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design

Learning 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 information

The 104 Duke_ACC Machine

The 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 information

Central 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 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 information

a storage location directly on the CPU, used for temporary storage of small amounts of data during processing.

a 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 information

CS161: Operating Systems

CS161: Operating Systems CS161: Operating Systems Matt Welsh mdw@eecs.harvard.edu Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different

More information

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter Description: The NTE2053 is a CMOS 8 bit successive approximation Analog to Digital converter in a 20 Lead DIP type package which uses a differential

More information

Programming A PLC. Standard Instructions

Programming A PLC. Standard Instructions Programming A PLC STEP 7-Micro/WIN32 is the program software used with the S7-2 PLC to create the PLC operating program. STEP 7 consists of a number of instructions that must be arranged in a logical order

More information

Counters and Decoders

Counters 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 information

Z80 Microprocessors Z80 CPU. User Manual UM008006-0714. Copyright 2014 Zilog, Inc. All rights reserved. www.zilog.com

Z80 Microprocessors Z80 CPU. User Manual UM008006-0714. Copyright 2014 Zilog, Inc. All rights reserved. www.zilog.com Z80 Microprocessors Z80 CPU UM008006-0714 Copyright 2014 Zilog, Inc. All rights reserved. www.zilog.com ii Warning: DO NOT USE THIS PRODUCT IN LIFE SUPPORT SYSTEMS. LIFE SUPPORT POLICY ZILOG S PRODUCTS

More information

TIMING DIAGRAM O 8085

TIMING 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 information

Building a computer. Electronic Numerical Integrator and Computer (ENIAC)

Building a computer. Electronic Numerical Integrator and Computer (ENIAC) Building a computer Electronic Numerical Integrator and Computer (ENIAC) CSCI 255: Introduc/on to Embedded Systems Keith Vertanen Copyright 2011 Layers of abstrac

More information

Systems I: Computer Organization and Architecture

Systems 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 information

Contents COUNTER. Unit III- Counters

Contents COUNTER. Unit III- Counters COUNTER Contents COUNTER...1 Frequency Division...2 Divide-by-2 Counter... 3 Toggle Flip-Flop...3 Frequency Division using Toggle Flip-flops...5 Truth Table for a 3-bit Asynchronous Up Counter...6 Modulo

More information

Instruction Set Design

Instruction 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 information

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

what 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 information

Chapter 2: OS Overview

Chapter 2: OS Overview Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:

More information

PROBLEMS. which was discussed in Section 1.6.3.

PROBLEMS. which was discussed in Section 1.6.3. 22 CHAPTER 1 BASIC STRUCTURE OF COMPUTERS (Corrisponde al cap. 1 - Introduzione al calcolatore) PROBLEMS 1.1 List the steps needed to execute the machine instruction LOCA,R0 in terms of transfers between

More information

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER Pierre A. von Kaenel Mathematics and Computer Science Department Skidmore College Saratoga Springs, NY 12866 (518) 580-5292 pvonk@skidmore.edu ABSTRACT This paper

More information

8085 INSTRUCTION SET

8085 INSTRUCTION SET DATA TRANSFER INSTRUCTIONS Opcode Operand Description 8085 INSTRUCTION SET INSTRUCTION DETAILS Copy from source to destination OV Rd, Rs This instruction copies the contents of the source, Rs register

More information

UNIVERSITY 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 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 information

8051 MICROCONTROLLER COURSE

8051 MICROCONTROLLER COURSE 8051 MICROCONTROLLER COURSE Objective: 1. Familiarization with different types of Microcontroller 2. To know 8051 microcontroller in detail 3. Programming and Interfacing 8051 microcontroller Prerequisites:

More information

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies ETEC 2301 Programmable Logic Devices Chapter 10 Counters Shawnee State University Department of Industrial and Engineering Technologies Copyright 2007 by Janna B. Gallaher Asynchronous Counter Operation

More information

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX Overview CISC Developments Over Twenty Years Classic CISC design: Digital VAX VAXÕs RISC successor: PRISM/Alpha IntelÕs ubiquitous 80x86 architecture Ð 8086 through the Pentium Pro (P6) RJS 2/3/97 Philosophy

More information

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:

More information

Input / Output and I/O Strategies

Input / Output and I/O Strategies The Four Major Input / Output Strategies Preliminary Definitions A Silly Example to Illustrate Basic Definitions Input / Output and I/O Strategies A Context for Advanced I/O Strategies The Four Strategies

More information

Module 3: Floyd, Digital Fundamental

Module 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 information

2011, The McGraw-Hill Companies, Inc. Chapter 5

2011, The McGraw-Hill Companies, Inc. Chapter 5 Chapter 5 5.1 Processor Memory Organization The memory structure for a PLC processor consists of several areas, some of these having specific roles. With rack-based memory structures addresses are derived

More information

Chapter 6, The Operating System Machine Level

Chapter 6, The Operating System Machine Level Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General

More information

1 Organization of Operating Systems

1 Organization of Operating Systems COMP 730 (242) Class Notes Section 10: Organization of Operating Systems 1 Organization of Operating Systems We have studied in detail the organization of Xinu. Naturally, this organization is far from

More information

Chapter 13. PIC Family Microcontroller

Chapter 13. PIC Family Microcontroller Chapter 13 PIC Family Microcontroller Lesson 01 PIC Characteristics and Examples PIC microcontroller characteristics Power-on reset Brown out reset Simplified instruction set High speed execution Up to

More information