State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.

Slides:



Advertisements
Similar presentations
Instruction Set Design
Advertisements

Chapter 8: Central Processing Unit
Chapter 3 Digital Logic Structures
PART 4: (2/2) Central Processing Unit (CPU) Basics CHAPTER 13: REDUCED INSTRUCTION SET COMPUTERS (RISC) 1.
Chapter 11 Instruction Sets
Processor Technology and Architecture
Overview Finite State Machines - Sequential circuits with inputs and outputs State Diagrams - An abstraction tool to visualize and analyze sequential circuits.
Chapter 13 Reduced Instruction Set Computers (RISC)
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
Overview Finite State Machines - Sequential circuits with inputs and outputs State Diagrams - An abstraction tool to visualize and analyze sequential circuits.
Major Advances in Computers(1) The family concept —IBM System/ —DEC PDP-8 —Separates architecture from implementation Microporgrammed control unit.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
11/11/05ELEC CISC (Complex Instruction Set Computer) Veeraraghavan Ramamurthy ELEC 6200 Computer Architecture and Design Fall 2005.
Seqeuential Logic State Machines Memory
State Machines Used to Design Sequential Circuits.
CPEN Digital System Design Chapter 9 – Computer Design
Overview Finite State Machines
Chapter 13 Reduced Instruction Set Computers (RISC) CISC – Complex Instruction Set Computer RISC – Reduced Instruction Set Computer.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic CMOS logic elements Combinational logic elements and design.
(6.1) Central Processing Unit Architecture  Architecture overview  Machine organization – von Neumann  Speeding up CPU operations – multiple registers.
Reduced Instruction Set Computers (RISC)
Reduced Instruction Set Computers (RISC) Computer Organization and Architecture.
Advanced Computer Architectures
COMPUTER ORGANIZATIONS CSNB123 May 2014Systems and Networking1.
Computer Organization and Architecture Reduced Instruction Set Computers (RISC) Chapter 13.
CH13 Reduced Instruction Set Computers {Make hardware Simpler, but quicker} Key features  Large number of general purpose registers  Use of compiler.
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
L/O/G/O The Instruction Set Chapter 9 CS.216 Computer Architecture and Organization.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Operating Systems Lecture No. 2. Basic Elements  At a top level, a computer consists of a processor, memory and I/ O Components.  These components are.
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin.
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?
ECE 456 Computer Architecture Lecture #14 – CPU (III) Instruction Cycle & Pipelining Instructor: Dr. Honggang Wang Fall 2013.
Chapter 3 Digital Logic Structures. 3-2 Combinational vs. Sequential Combinational Circuit always gives the same output for a given set of inputs  ex:
COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE Lecture 19 & 20 Instruction Formats PDP-8,PDP-10,PDP-11 & VAX Course Instructor: Engr. Aisha Danish.
M. Mateen Yaqoob The University of Lahore Spring 2014.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
ECEG-3202 Computer Architecture and Organization Chapter 7 Reduced Instruction Set Computers.
Reduced Instruction Set Computers. Major Advances in Computers(1) The family concept —IBM System/ —DEC PDP-8 —Separates architecture from implementation.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
Instruction Sets: Addressing modes and Formats Group #4  Eloy Reyes  Rafael Arevalo  Julio Hernandez  Humood Aljassar Computer Design EEL 4709c Prof:
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Transistor: Building.
COMPUTER ORGANIZATIONS CSNB123 NSMS2013 Ver.1Systems and Networking1.
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.
3/12/2013Computer Engg, IIT(BHU)1 CONCEPTS-1. Pipelining Pipelining is used to increase the speed of processing It uses temporal parallelism In pipelining,
RISC / CISC Architecture by Derek Ng. Overview CISC Architecture RISC Architecture  Pipelining RISC vs CISC.
The Processor & its components. The CPU The brain. Performs all major calculations. Controls and manages the operations of other components of the computer.
CISC. What is it?  CISC - Complex Instruction Set Computer  CISC is a design philosophy that:  1) uses microcode instruction sets  2) uses larger.
BASIC COMPUTER ARCHITECTURE HOW COMPUTER SYSTEMS WORK.
Computer Architecture
Addressing modes, memory architecture, interrupt and exception handling, and external I/O. An ISA includes a specification of the set of opcodes (machine.
Topics to be covered Instruction Execution Characteristics
Basic Computer Organization and Design
15-740/ Computer Architecture Lecture 3: Performance
Immediate Addressing Mode
Central Processing Unit Architecture
A Closer Look at Instruction Set Architectures
A Closer Look at Instruction Set Architectures
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.
Classification of instructions
Introduction to Microprocessor Programming
Chapter 12 Pipelining and RISC
Course Outline for Computer Architecture
CPU Structure CPU must:
Presentation transcript:

State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines

Combinational vs. Sequential Logic There are two types of “combination” locks Combinational: Success depends only on the values, not the order in which they are set. Sequential: Success depends on the sequence of values (e.g, R-13, L-22, R-3). A Computer is an example of a Sequential Circuit

Information Storage: D Flip Flop (D Latch) D | Qn+1 0 | 0 1 | 1

Register A register stores a multi-bit (vector) value. –We use a collection of D-latches, all controlled by a common write enable pulse, call it WE. –When the write enable WE=1, the n-bit value D is written to register.

Timing Diagram Conventions

Back to our Sequential Logic This one Combinational: Success depends only on the values, not the order in which they are set. Sequential: Success depends on the sequence of values (e.g, R-13, L-22, R-3).

A Finite State Machine Combinational logic –Determine outputs at each state. –Determine next state. Storage elements –Maintain state representation. State Machine Combinational Logic Circuit Storage Elements InputsOutputs Clock

The Clock Frequently, a clock circuit triggers transition from one state to the next. At the beginning of each clock cycle, the state machine makes a transition, based on the current state and the external inputs (Synchronous). –Not always required. In lock example, the input itself triggers a transition (Asynchronous). “1” “0” time  One Cycle

State The state of a system is a snapshot of all the relevant elements of the system at the moment the snapshot is taken.

Finite State Machine A description of a system with the following components: 1.A finite number of states 2.A finite number of external inputs 3.A finite number of external outputs 4.An explicit specification of all state transitions 5.An explicit specification of what determines each external output value Often described by a state diagram: - The set of all possible states. - Inputs that trigger state transitions. - Outputs associated with each state (or with each transition).

State of Sequential Lock Our lock example has four different states, labelled A-D: A: The lock is not open, and no relevant operations have been performed. B:The lock is not open, and the user has completed the R-13 operation. C:The lock is not open, and the user has completed R-13, followed by L-22. D:The lock is open.

State Diagram Shows states (e.g. A) and actions (e.g. R-13) that cause a transition between states.

Another Example of a State Machine Repeat Forever: Fetch Instruction Fetch Operand(s) Execute Operation Store Result Check for Interrupt

Computer Bus Buses are composed of three sets of lines Not all devices will use all lines in each category

Synchronous Timing Diagram

Asynchronous Timing – Read Diagram

Asynchronous Timing – Write Diagram

Assessing Computer Performance Clock Speed ? Response time ? Throughput ? Response Time or Throughput for what type of application(s) ? Power Consumed ? Cost ? Reliability ? Ease of Use ? Applications Supported ? Portability ? Access ? ?

Instruction Set Architectures What impacts a machine language instruction format ? Operation codes Number of Operands (Source and Destination) Address Modes Address Range Address Granularity (Byte, Word, etc) Number of Registers (and Register Sets) Types of Processing (String, integer, FP, Arrays,..) Machine Word Length Variability of Instruction Length Context Switching Support Stack Support Interrupt Support Operating System Support Applications (Computation, Control, Embedded System, Data base, HLL Languages Supported Hierarchy of “Versions” Speed Requirements I/O Support Instruction mix

Number of Operands 3 Operands 2 Operands 1 Operand 0 Operands

Addressing modes Immediate Direct Indirect Relative Register Indirect Displacement (Base-Register, Indexing, Pre/Post indexed) Stack

Designing an ISA 8 Bit words 16 Bit words 32 Bit words Multiple words

CPU Hardware What might be added ? Register Sets Stack Longer Instruction Register Address Registers Context Switch Registers Cache Partition Pointer Registers

CISC – Complex Instruction Set Computer RISC – Reduced Instruction Set Computer Superscalar – Multiple similar processing units are used to execute instructions in parallel Multicore – Multiple Processors executing instruction in a complementary way Some Classes of Today’s Computer Architectures

Driving force for CISC Software costs far exceed hardware costs Increasingly complex high level languages A “Semantic” gap between HLL & ML Word size was increasing. This Leads to: – Large instruction sets – More addressing modes – Hardware implementations of HLL statements

Intention of CISC Ease compiler writing Improve execution efficiency Support more complex HLLs

RISC Key features: – Large number of general purpose registers (or use of compiler technology to optimize register use) – Limited and simple instruction set – Emphasis on optimising the instruction pipeline & memory management, i.e. leverage newer hardware complexities now potentially available.

RISC Characteristics A Single Instruction size, typically 4 bytes A small number of data addressing modes, typically less than 5 No indirect Addressing that requires two memory accesses No operations that combine load/store with arithmetic No more than one memory addressed operand per instruction No arbitrary data alignment for load/store operations Large number of instruction bits for integer register addressing, typically at least 5 Large number of instruction bits for FP register addressing, typically at least 4

Which is better? Is the execution of large special purpose instructions more efficient than execution of many simple instructions ? Which programs are really “shorter” ? Which are really faster ? What is the impact of having to support many languages? What are the legacy challenges ? What are the cost tradeoffs ? Can compilers be better made to exploit CISC or RISC better ? Complexity ? Which can better exploit hardware features ?

Characteristics of Some Example Processors