From Essentials of Computer Architecture by Douglas E. Comer. ISBN 0131491792. © 2005 Pearson Education, Inc. All rights reserved. 7.2 A Central Processor.

Slides:



Advertisements
Similar presentations
CPU Structure and Function
Advertisements

Instruction Level Parallelism and Superscalar Processors
Computer Organization and Architecture
Computer architecture
Fall 2012SYSC 5704: Elements of Computer Systems 1 MicroArchitecture Murdocca, Chapter 5 (selected parts) How to read Chapter 5.
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
CSC 3650 Introduction to Computer Architecture Time: 3:30 to 6:30Meeting Days: WLocation: Oxendine 1237B Textbook: Essentials of Computer Architecture,
Microprocessors. Von Neumann architecture Data and instructions in single read/write memory Contents of memory addressable by location, independent of.
Chapter 8. Pipelining. Instruction Hazards Overview Whenever the stream of instructions supplied by the instruction fetch unit is interrupted, the pipeline.
Computer Organization and Architecture
Computer Organization and Architecture
© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. Instruction sets Computer architecture taxonomy. Assembly language. 1.
8.2 Characteristics of a High Level Programming Language
From Essentials of Computer Architecture by Douglas E. Comer. ISBN © 2005 Pearson Education, Inc. All rights reserved.
Chapter XI Reduced Instruction Set Computing (RISC) CS 147 Li-Chuan Fang.
6.1 Introduction Two details related to instructions –The way instructions are specified –The ways that operands can be specified.
Computer Organization and Architecture The CPU Structure.
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
5.2 Mathematical Power, Convenience, and Cost The set of operations represents a tradeoff among the cost of the hardware, the convenience for a programmer,
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
11/11/05ELEC CISC (Complex Instruction Set Computer) Veeraraghavan Ramamurthy ELEC 6200 Computer Architecture and Design Fall 2005.
7/2/ _23 1 Pipelining ECE-445 Computer Organization Dr. Ron Hayne Electrical and Computer Engineering.
Pipelining What is it? How does it work? What are the benefits? What could go wrong? By Derek Closson.
Prince Sultan College For Woman
RISC and CISC. Dec. 2008/Dec. and RISC versus CISC The world of microprocessors and CPUs can be divided into two parts:
Computer Organization
Intel Architecture. Changes in architecture Software architecture: –Front end (Feature changes such as adding more graphics, changing the background colors,
Parallelism Processing more than one instruction at a time. Pipelining
Basics and Architectures
Previously Fetch execute cycle Pipelining and others forms of parallelism Basic architecture This week we going to consider further some of the principles.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Top Level View of Computer Function and Interconnection.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
RISC By Ryan Aldana. Agenda Brief Overview of RISC and CISC Features of RISC Instruction Pipeline Register Windowing and renaming Data Conflicts Branch.
The variety Of Processors And Computational Engines CS – 355 Chapter- 4 `
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
Super computers Parallel Processing By Lecturer: Aisha Dawood.
The Central Processing Unit (CPU) and the Machine Cycle.
Processor Types and Instruction Sets CS 147 Presentation by Koichiro Hongo.
RISC and CISC. What is CISC? CISC is an acronym for Complex Instruction Set Computer and are chips that are easy to program and which make efficient use.
Operand Addressing And Instruction Representation Cs355-Chapter 6.
Pipelining and Parallelism Mark Staveley
Processor Types And Instruction sets Chapter- 5.
COMPUTER ORGANIZATIONS CSNB123 NSMS2013 Ver.1Systems and Networking1.
Basic Elements of Processor ALU Registers Internal data pahs External data paths Control Unit.
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.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Copyright © 2005 – Curt Hill MicroProgramming Programming at a different level.
CISC. What is it?  CISC - Complex Instruction Set Computer  CISC is a design philosophy that:  1) uses microcode instruction sets  2) uses larger.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
Basic Concepts Microinstructions The control unit seems a reasonably simple device. Nevertheless, to implement a control unit as an interconnection of.
Topics to be covered Instruction Execution Characteristics
Protection in Virtual Mode
Advanced Architectures
Visit for more Learning Resources
3.3.3 Computer architectures
CS1251 Computer Architecture
Chapter 14 Instruction Level Parallelism and Superscalar Processors
Central Processing Unit
CISC AND RISC SYSTEM Based on instruction set, we broadly classify Computer/microprocessor/microcontroller into CISC and RISC. CISC SYSTEM: COMPLEX INSTRUCTION.
Control Unit Introduction Types Comparison Control Memory
Overheads for Computers as Components 2nd ed.
William Stallings Computer Organization and Architecture
Presentation transcript:

From Essentials of Computer Architecture by Douglas E. Comer. ISBN © 2005 Pearson Education, Inc. All rights reserved. 7.2 A Central Processor Centralization approach –As much functionality as possible was collected Decentralized approach –The system contains multiple processors

7.3 CPU Complexity Why is a CPU so complex ? –Multiple roles –Protection and privilege –Hardware priorities –Generality –Data size –High speed

7.4 Modes of Execution The features usually associated –The subset of instructions that are valid –The size of data items –The region of memory that can be accessed –The functional units that are available –The amount of privilege

7.5 Backward Compatibility Backward compatible with a previous model –Intel 8086 –80186 –80286 –80386 –80486 –pentium

7.6 Changing Modes There are two ways –Automatic (initiated by hardware) –Manual (under program control) Three mechanisms –An instruction to set the current mode –Store a value into the mode register –A change occur as the side effect of another instruction

7.7 Privilege and Protection Part of the current mode specifies the level of privilege –Before it executes an application program, an operating system changes the mode to reduce privilege

7.8 Multiple Levels of Protection By using a protection scheme to limit the operations that are allowed, a CPU can detect attempts to perform unauthorized operations

7.9 Micro-coded Instructions

From Essentials of Computer Architecture by Douglas E. Comer. ISBN © 2005 Pearson Education, Inc. All rights reserved.

7.10 Microcode Variations Microcode implements the entire fetch- execute cycle –Greater flexibility, lower performance Only uses microcode for extensions –A vender can manufacture minor variations of the basic CPU

7.11 The Advantage of Microcode Less prone to errors Take less time Easier to update

The disadvantage of Microcode More overhead The micro controller must run at much higher speed The cost of a macro instruction depends on the micro instruction set

7.12 Making Microcode Visible to Programmer Some CPU provide a mechanism that allows microcode to be rewritten The CPU’s owner can create a macro instruction set that is optimized for a specific task

7.13 Vertical Microcode The microcontroller follows the same general approach used for conventional processors The micro controller used in a CISC processor can consist of a small, fast RISC processor

7.14 Horizontal Microcode The CPU hardware consists of multiple functional units, and each unit is controlled independently Horizontal microcode allows the hardware to run faster, but is more difficult to program

From Essentials of Computer Architecture by Douglas E. Comer. ISBN © 2005 Pearson Education, Inc. All rights reserved.

7.15 Example Horizontal Microcode Each functional unit is controlled by a set of wires that carry commands The unit can be controlled by a single binary value –One causes the unit to send the current content –Zero causes the unit to stop interaction

From Essentials of Computer Architecture by Douglas E. Comer. ISBN © 2005 Pearson Education, Inc. All rights reserved.

7.16 A Horizontal Microcode Example Move r4, opnd1 Move r13, opnd2 Add Move res2, r4

From Essentials of Computer Architecture by Douglas E. Comer. ISBN © 2005 Pearson Education, Inc. All rights reserved.

7.17 Operations That Require Multiple Cycles A programmer must ensure that each unit is given the correct amount of times to complete its task An instruction can be inserted to add delay processing

From Essentials of Computer Architecture by Douglas E. Comer. ISBN © 2005 Pearson Education, Inc. All rights reserved.

7.18 Horizontal Microcode and Parallel Execution Parallelism is possible because the underlying hardware contains units that operate independently. An instruction can simultaneously moves a new value into an operand unit while an ALU operation continues

From Essentials of Computer Architecture by Douglas E. Comer. ISBN © 2005 Pearson Education, Inc. All rights reserved.

7.19 Look-ahead and High Performance Execution An intelligent controller looks ahead at the instructions, finds values that will be needed, and direct functional units to start fetching or computing the values. If the CPU contains enough functional units, an intelligent controller can schedule all independent macro instructions to be executed.

7.20 Parallelism and Execution Order The controller must balance between two goals : –Maximize the amount of parallel evaluation –Preserve the original sequential semantics

7.21 Out-of Order Instruction Execution To achieve highest speed, a modern CPU contains multiple copies of functional units that permit multiple instructions to be executed simultaneously. An intelligent controller schedules execution in an order that preserves the appearance of sequential processing.

7.22 Conditional Branches and Branch Prediction A CPU that offers parallel instruction execution can handle conditional branches by proceeding to pre-compute values on one or both branches, and choosing which values to use when the computation of the branch condition completes.

7.23 Consequences for Programmers A programmer can optimize performance by arranging code so that the most common cases take the branch.