Lecture 6 CdM-8 CPU overview

Slides:



Advertisements
Similar presentations
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
Advertisements

L14 – Control & Execution 1 Comp 411 – Fall /04/09 Control & Execution Finite State Machines for Control MIPS Execution.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
Levels in Processor Design
Lec 17 Nov 2 Chapter 4 – CPU design data path design control logic design single-cycle CPU performance limitations of single cycle CPU multi-cycle CPU.
Overview The von Neumann Machine - the programmable digital computer Introducing the LC-3 Computer - A “toy” computer for us to learn from Computer machine.
Overview von Neumann Model Components of a Computer Some Computer Organization Models The Computer Bus An Example Organization: The LC-3.
Computer Organization. Motivation Computer Design as an application of digital logic design  Computer = Processing Unit + Memory System  Processing.
Computing Systems The Processor: Datapath and Control.
EXECUTION OF COMPLETE INSTRUCTION
Lecture 9. MIPS Processor Design – Instruction Fetch Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education &
Processor: Datapath and Control
General Concepts of Computer Organization Overview of Microcomputer.
Lec 15Systems Architecture1 Systems Architecture Lecture 15: A Simple Implementation of MIPS Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan Some.
Computer Organization CSC 405 (VSC) Very Simple Computer.
ECE 445 – Computer Organization
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
September 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 2: Implementation of a Simplified Computer Jeremy R. Johnson Wednesday,
Lecture 15 Microarchitecture Level: Level 1. Microarchitecture Level The level above digital logic level. Job: to implement the ISA level above it. The.
CBP 2006Comp 4070 Concepts and Philosophy of Computing 1 Wrestling with Complex Stuff. With the Correct Approach, even the smallest guy will succeed!
Our programmer needs to do this !
CPU Overview Computer Organization II 1 February 2009 © McQuain & Ribbens Introduction CPU performance factors – Instruction count n Determined.
1 COMP541 Datapaths I Montek Singh Mar 8, Topics  Over next 2/3 classes: datapaths  Basic register operations Book sections 7-2 to 7-6 and 7-8.
Datapath and Control AddressInstruction Memory Write Data Reg Addr Register File ALU Data Memory Address Write Data Read Data PC Read Data Read Data.
Jeremy R. Johnson William M. Mongan
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
CS161 – Design and Architecture of Computer Systems
ECE 4110–5110 Digital System Design
Control Unit Lecture 6.
Control & Execution Finite State Machines for Control MIPS Execution.
IT 251 Computer Organization and Architecture
Introduction CPU performance factors
Morgan Kaufmann Publishers The Processor
Morgan Kaufmann Publishers
Digital Logic Last Time … This Time … Control Path, Arithmetic Ops a
Processor (I).
Computer Science 210 Computer Organization
Design of the Control Unit for Single-Cycle Instruction Execution
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Control & Execution Finite State Machines for Control MIPS Execution.
CSCI206 - Computer Organization & Programming
Computer Science 210 Computer Organization
Single-Cycle CPU DataPath.
Design of the Control Unit for One-cycle Instruction Execution
Computer Architecture and Design Lecture 6
Control Unit Introduction Types Comparison Control Memory
Levels in Processor Design
Morgan Kaufmann Publishers The Processor
Systems Architecture I (CS ) Lecture 2: A Simplified Computer
Rocky K. C. Chang 6 November 2017
Computer Organization
Levels in Processor Design
The Processor Lecture 3.2: Building a Datapath with Control
The Processor Lecture 3.1: Introduction & Logic Design Conventions
COMS 361 Computer Organization
Levels in Processor Design
Levels in Processor Design
ECE 352 Digital System Fundamentals
Computer Organization and Assembly Languages Yung-Yu Chuang 2005/09/29
Levels in Processor Design
Lecture 13 Harvard architecture Coccone OS demonstrator
Lecture 7 System architecture Input-output
A Top-Level View Of Computer Function And Interconnection
The Processor: Datapath & Control.
Computer Operation 6/22/2019.
COMS 361 Computer Organization
Lecture 12 Input/Output (programmer view)
Lecture 4 Sequential units. Registers
Processor: Datapath and Control
Presentation transcript:

Lecture 6 CdM-8 CPU overview Computing platforms, semester 2 Novosibirsk State University University of Hertfordshire D. Irtegov, A.Shafarenko 2019

Generic sequential logical device

Clock Typical digital device is driven by clock generator Many devices (even as complex as CPU) have single clock synchronizing all events on the chip We will probably discuss some issues with devices that have several clocks Events are driven by raising or falling edge of the clock In CdM-8 and in most examples in the tome.pdf, Register values are latched by falling edge of the clock, Computations are enabled by raising edge In practice, other arrangements are used, but this is beyond scope of our course (you will study it in advanced hardware design courses)

About gating the clock Tome.pdf has whole page devoted to not gating the clock signal It might be tempting to disable clock signal for the units you do not need in this cycle In real circuits this trick is used to reduce power consumption It requires skills and knowledge you do not have You need to properly shutdown unit before turning the clock off You need to properly reset the unit before turning the clock on You do not need to conserve power in Logisim Do NOT gate the clock, use Enable signals and output mux

CdM-8 register Register pinout

Register file

Arithmetical-Logical Unit (simplified)

Datapath (simplified)

Execution of simple program ldi r3,7 ldi r2,4 sub r3,r2

Register transfer language r[2]->bus1, bus1->r[3] immediate, 7, bus1-> r[3] # ldi r3,7 immediate, 4, bus1-> r[2] # ldi r2,4 r[3]->bus0, r[2]->bus1, # sub r3,r2 1st cycle subtract result, bus1->r2 # 2nd cycle

Data path with memory

“Real” program in RTL immediate, 0xa3, bus1-> r[0] # ldi r0,0xa3 memory, r[0]->bus0, bus1-> r[1], load # ld r0,r1 immediate, 1, bus1->r[2] # ldi r2,1 r[1]->bus0, r[2]->bus1, add # add r1,r2 1st cycle result, bus1->r[2] # 2nd cycle r[0]->bus0, r[2]->bus1, store # st r0,r2

Command Sequencer Instruction execution cycle: fetch, phase1, phase2, . . . phasen, fetch, phase1,. . . Instruction machine can reset the sequencer cycle and start fetch of the next instruction This allows instructions with different number of phases Core of the sequencer is three-bit register incremented at every falling edge of the clock This allows 8 phases in the single instruction Currently most complex CdM-8 instruction (ioi) requires 6 phases

Instruction machine (CPU control unit) DP triggers phase1 Sequencer Secondary Decoder … latch phase2 fetch op-code fetch logic from ALU Primary Decoder taken PS branch logic PC=PC+1 read latch CVZN instr cond PC addr Memory instr IR DP selectors shared with DP

Primary decoder

Actual datapath of CdM-8 RR – result register (ALU output) RX used by jsr logic for optimization PS and SP have their own incrementors Register file bus0 PS (CVZN) CVZN to branch logic Instr r0 r1 r2 r3 RR RX PC +1 SP ±1 IR ALU bus1 memory

Full implementation of datapath

Secondary decoder Set of disjoint modules specific for every multiphase instruction or instruction group Example: jsr decoder Two phases All outputs are pulled to zero by pulldown resistors (Wire-OR)

JSR secondary decoder explanation (Phase1) Decrement SP (SPact signal) Load operand from memory to RX Assert PC on bus 0 (PC2b0 signal) Load from memory (mem and ld signals), address on bus 0 (PC value) Read to RX (RXL signal) Increment PC (PCinc signal) This is needed so the saved PC will point to the next instruction (not to jsr operand)

JSR secondary decoder explanation (Phase2) Store PC to top of the stack Assert PC on bus 1 (PC2b1 signal) Assert SP on bus 0 (SP2b0 signal) Write to memory (mem signal, no ld signal), address on b0 (SP), value on b1 (PC) Transfer RX to PC (RX2pc signal)

Secondary decoders (main part)

ROM/LGA as instruction decoders Both primary and secondary decoders are purely combinatory circuits They take bit-string as input and produce another bit-string as output Primary decoder takes 8-bit ISA opcode and produces 15 control signals (most of them are zeros in most cases) As such, they can be replaced by Logical Gate Array (LGA) or ROM Because most of outputs are zero, LGA might be cheaper This would be less funny to watch in simulator, but more similar to how industrially used CPU are built