A Simple Computer consists of a Processor (CPU-Central Processing Unit), Memory, and I/O Memory Input Output Arithmetic Logic Unit Control Unit I/O Processor.

Slides:



Advertisements
Similar presentations
Chapter 2 Data Manipulation Dr. Farzana Rahman Assistant Professor Department of Computer Science James Madison University 1 Some sldes are adapted from.
Advertisements

Microprocessors. Von Neumann architecture Data and instructions in single read/write memory Contents of memory addressable by location, independent of.
Processor System Architecture
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
Room: E-3-31 Phone: Dr Masri Ayob TK 2123 COMPUTER ORGANISATION & ARCHITECTURE Lecture 5: CPU and Memory.
1 Hardware and Software Architecture Chapter 2 n The Intel Processor Architecture n History of PC Memory Usage (Real Mode)
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Data Manipulation Computer System consists of the following parts:
Vacuum tubes Transistor 1948 –Smaller, Cheaper, Less heat dissipation, Made from Silicon (Sand) –Invented at Bell Labs –Shockley, Brittain, Bardeen ICs.
Computer Organization and Assembly language
Organization of a Simple Computer. Computer Systems Organization  The CPU (Central Processing Unit) is the “brain” of the computer. Fetches instructions.
0 What is a computer?  Simply put, a computer is a sophisticated electronic calculating machine that:  Accepts input information,  Processes the information.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
Prince Sultan College For Woman
COMPONENTS OF THE SYSTEM UNIT
 Chasis / System cabinet  A plastic enclosure that contains most of the components of a computer (usually excluding the display, keyboard and mouse)
Processor Structure & Operations of an Accumulator Machine
© Paradigm Publishing Inc. 2-1 Chapter 2 Input and Processing.
Parallelism Processing more than one instruction at a time. Pipelining
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Internal hardware and external components of a computer Three-box Model  Processor The brain of the system Executes programs A big finite state machine.
3 1 3 C H A P T E R Hardware: Input, Processing, and Output Devices.
The Computer Systems By : Prabir Nandi Computer Instructor KV Lumding.
CS 1308 Computer Literacy and the Internet Computer Systems Organization.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Computer Systems Organization CS 1428 Foundations of Computer Science.
Computers Are Your Future Eleventh Edition Chapter 2: Inside the System Unit Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
© Paradigm Publishing Inc. 2-1 Chapter 2 Input and Processing.
Chapter 2 The CPU and the Main Board  2.1 Components of the CPU 2.1 Components of the CPU 2.1 Components of the CPU  2.2Performance and Instruction Sets.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Fall 2012 Chapter 2: x86 Processor Architecture. Irvine, Kip R. Assembly Language for x86 Processors 6/e, Chapter Overview General Concepts IA-32.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
Organization of a Simple Computer The organization of a simple computer with one CPU and two I/O devices.
Computer Organization - 1. INPUT PROCESS OUTPUT List different input devices Compare the use of voice recognition as opposed to the entry of data via.
General Concepts of Computer Organization Overview of Microcomputer.
CHAPTER 4 The Central Processing Unit. Chapter Overview Microprocessors Replacing and Upgrading a CPU.
Chapter 2 Data Manipulation. © 2005 Pearson Addison-Wesley. All rights reserved 2-2 Chapter 2: Data Manipulation 2.1 Computer Architecture 2.2 Machine.
Introduction to Microprocessors
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
CPS 4150 Computer Organization Fall 2006 Ching-Song Don Wei.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
Stored Programs In today’s lesson, we will look at: what we mean by a stored program computer how computers store and run programs what we mean by the.
8086 Internal Architecture
MICROOCESSORS AND MICROCONTROLLER:
CS 1308 Computer Literacy and the Internet. Objectives In this chapter, you will learn about:  The components of a computer system  Putting all the.
Computer operation is of how the different parts of a computer system work together to perform a task.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
Fundamentals of Programming Languages-II
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
The Processor & its components. The CPU The brain. Performs all major calculations. Controls and manages the operations of other components of the computer.
M211 – Central Processing Unit
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
A computer consists of five functionally independent main parts.
Chapter Overview General Concepts IA-32 Processor Architecture
Computer Hardware What is a CPU.
Objectives Overview Differentiate among various styles of system units on desktop computers, notebook computers, and mobile devices Identify chips, adapter.
Assembly Language for Intel-Based Computers, 5th Edition
Components of Computer
Microcomputer Architecture
Edited by : Noor Alhareqi
Edited by : Noor Alhareqi
Microprocessor & Assembly Language
Chapter 5: Computer Systems Organization
Introduction to Microprocessor Programming
Presentation transcript:

A Simple Computer consists of a Processor (CPU-Central Processing Unit), Memory, and I/O Memory Input Output Arithmetic Logic Unit Control Unit I/O Processor Or CPU Registers

Basic Functional Units of a Computer Input – accepts coded information from human operators, from electromechanical devices (such as keyboards), or from other digital medium via digital communication lines. The information received is either stored in the memory or immediately used by the arithmetic and logic unit (ALU) to perform the desired operations. The results are sent back out through the output medium. All actions are coordinated through the control unit.

The Information Categorized as either instructions or data Instructions (or machine instructions) are explicit commands that –Govern the transfer of information within a computer as well as between the computer and its I/O devices. –Specify the arithmetic and logic operations to be performed.

Programs A list of instructions that performs a task is called a program. Usually the program is stored in memory. The program fetches the instructions from memory, one after another, and performs the desired operations. The computer is completely controlled by the stored program, except for possible interruption by an operator or by I/O devices connected to the machine. Data are numbers and encoded characters that are used as operands by the instructions.

Computer System Organization

Inside the CPU Control Unit (CU) coordinates the sequencing of steps involved in executing machine instructions Arithmetic Logic Unit (ALU) performs arithmetic and logical operations Registers storage locations Clock synchronizes the internal operations of the CPU with the other system components

Bus Structure Bus - a group of parallel wires that transfer information from one part of the computer to another. –Control Bus synchronizes the actions of all of the devices attached to the system bus. –Address Bus passes the addresses of instructions and data between the CPU and memory (or I/O). –Data Bus transfers instructions and data between the CPU and memory (or I/O).

Bus Sizes For the 8086 Processor –Address Bus – 20 bits can access 1M of memory Addresses defined as $00000-$FFFFF –Data Bus – 16 bits (16-bit processor) A word is 16 bits Each word is byte addressable

More Facts on The 8086 Processor GenerationExternal Data Bus Width Internal Register Width Address Bus Width Numeric Data Processor L1 Cache L2 Cache P116 20ExternalNone

The Intel CPU Family

Notes from Intel Family Chart Notice that 386 – Pentium 4 are 32-bit processors (32-bit data bus – 4 bytes) Notice that 386 and beyond have 32-bit address bus can access (4G of memory addresses).

Machine Cycle Most basic unit of time for machine instructions = the time required for one complete clock cycle. Machine instructions require at least 1 clock cycle to execute. Most require more. Wait states – empty clock cycles of machine execution time (due to memory access time being slower than speed of clock).

Instruction Execution Cycle If using Memory operand (mov ax, 0A69Bh) –Calculate address of operand –Place address of operand on address bus –Wait for memory to get operand and pass it on data bus

The data path of a typical von Neumann Machine A + B A B AB ALU A + B ALU Output Register ALU Input Register ALU Input Bus Registers

Instruction Execution Cycle The CPU executes each instruction in a series of small steps 1.Fetch the next instruction from memory into the instruction register. 2.Change the program counter to point to the next instruction. 3.Decode the instruction. 4.Fetch any memory operands necessary into a CPU register. 5.Execute the instruction. 6.Store output operand into a CPU register.

Execution of von Neumann Machines To fetch the next instruction while the first is executing would speed up the machine Instructions are stored in prefetch buffers (registers), to be accessed more quickly than waiting for fetch from memory. Prefetching divides instruction execution up into two parts: fetching and actual execution. Pipelining divides up instruction execution into many parts, each one handled by a piece of dedicated hardware, all which can run in parallel.

2-stage Pipelining Execution Unit: executes the microcode instructions. Bus Interface Unit: accesses memory and provides I/O

A Five-stage Pipeline The state of each stage as a function of time. A five-stage pipeline.

How Fast Does This Machine Run? Suppose that the cycle time of this machine is 2 nsec. Then it takes 10nsec for an instruction to progress all the way through the five-stage pipeline. Does the machine run at 100MIPS (1/10n)? No, at every clock cycle (2nsec) a new instruction is completed, so the actual rate of processing is 500MIPS.

How many cycles are required to execute n instructions? (Pipelined Versus Non-Pipelined Systems) For a system with k stages In non-pipelined systems, n instructions require (n*k) cycles to process. –5 instructions require 5 clock cycles Using a pipelined system with k pipeline stages, n instructions require (k + (n-1)) cycles to complete. –5 instructions require (5 + (5-1)) = 9 clock cycles (*refer to slide #14)

Tradeoffs Pipelining allows a tradeoff between – Latency How long it takes to execute an instruction Latency = nT nanosec (where cycle time is T nanosec and the number of stages is n) And –Processor Bandwidth How many MIPS the CPU has Bandwidth = 1000/T MIPS *logically we should measure CPU bandwidth in BIPS or GIPS since we are measuring T in nanosec, but nobody does this.

IA-32 Processor Pipelining (6-stage Execution Cycle) Bus Interface Unit: accesses memory and provides I/O Code Prefetch Unit: receives instructions from the BIU and inserts them into a holding area (instruction queue) Instruction Decode Unit: decodes machine instructions from the prefetch queue and translates them into microcode. Execution Unit: executes the microcode instructions. Segment Unit: translates logical addresses into linear addresses and performs protection checks Paging Unit: translates linear addresses into physical addresses, performs page protection checks and keeps a list of recently accessed pages

Superscalar Architecture If one pipeline is good, then two pipelines must be better. Parallel paths exist through which different instructions can be executed in parallel. It is possible to start the execution of several instructions in every clock cycle. The logical correctness of programs must be maintained.

Dual five-stage pipelines with a common Code Prefetch Unit The code prefetch unit fetches pairs of instructions together and puts each one into Its own pipeline, complete with its own ALU for parallel operation.

Superscalar processor with 5 functional units Four pipelines duplicates too much hardware. Instead, use a single pipeline and give it multiple functional units. This assumes that the S3 stage can issue instructions faster than the S4 stage can execute them. (Pentium II)

Parallelism So far we have dealt with instruction-level parallelism. There is also processor-level parallelism –Array processors –Multiprocessors –Multicomputers

CISC Complex Instruction Set Computer A large number of variable length instructions (more than 128) Multiple addressing modes A small number of internal processor registers Instructions that require multiple numbers of clock cycles to execute

8086 (A Real CISC) Over 3000 different instruction forms, each requiring anywhere from one to six bytes Nine different addressing modes are supported The processor only has eight general purpose registers Instruction execution times range from 2 clock cycles to more than 80 cycles for ASCII adjust for multiplication instruction.

Intel’s i860 RISC Processor 82 instructions, each 32 bits in length Four addressing modes 32 general purpose registers All instructions execute in one clock cycle

Why hasn’t RISC won out? Backward compatibility (companies have spent billions of dollars on Intel processor software). Intel has built CPU cores with RISC like structure that executes the simplest and most common instructions in a simgle data path, while interpreting the more complex instructions in the usual CISC way.

Design Principles of Modern Computers All instructions are directly executed in hardware Maximize the rate at which instructions are issued Instructions should be easy to decode Only loads and stores should be able to reference memory Provide plenty of registers

Application Specific Microprocessors Digital Signal Processors Previously, analog signals had to be handled with discrete circuits (op-amps, capacitors, inductors, and resistors forming filters, amplifiers, etc…) Now low-cost analog-to-digital and digital- to-analog converters are available. => thus we have digital signal processing systems

DSP systems DSPs are used to perform repetitive complex mathematical computations on the converted analog data. One computation may require as many as 500,000 add-multiply operations.

DSP Architecture Data and instructions are stored in two different memory areas each with their own buses (Harvard Architecture) Hardware multipliers and adders are built into the processor and optimized to perform a calculation in a single clock cycle. Arithmetic pipelining is used so that several instructions can be operated on at once. Hardware DO loops are provided to speed up repetitive operations Multiple (serial) I/O ports are provided for communication with other processors.

DSP Applications Mulitmedia sound cards (used to compress speech and music signals) DSP can be reprogrammed (allows some sound cards to double as a modem Cellular phones Speech and image compression Optical character recognition Video conferencing

Operating System A collection of programs (a large program), that are used to control the sharing of and interaction among various computer units as they execute application programs. Performs the tasks required to assign computer resources to individual application programs. –Assigning memory and magnetic disk space to program and disk files –Moving data between memory and disk units –Handling I/O operations

Example of How A Operating System Manages the execution of more than one application program at the same time Application program has been compiled from a high level language form into machine language form and is stored on disk Assume somewhere in the program, a data file must be read, perform some computation on the data, and print results. –Transfer file into memory –When transfer is complete, begin execution –When point in program is reached that data file is needed, the program requests the operating system to transfer the data file from the disk to memory. The OS performs this task and passes execution control back to the application program, which then proceeds to perform the required computation. When the computation is completed and the results are ready to be printed,

Can Multitasking be used for concurrent execution of application programs?