CS61CL Machine Structures Lec 8 – State and Register Transfers David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.

Slides:



Advertisements
Similar presentations
Chapter 1. Basic Structure of Computers
Advertisements

Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
CPU Design. CS252/Culler Lec 1.2 1/22/02 Levels of Representation (61C Review) High Level Language Program Assembly Language Program Machine Language.
Processor System Architecture
10/28/091 Implementing an Instruction Set David E. Culler CS61CL Oct 28, 2009 Lecture 9 UCB CS61CL F09 Lec 9.
L14 – Control & Execution 1 Comp 411 – Fall /04/09 Control & Execution Finite State Machines for Control MIPS Execution.
CS61C L21 State Elements : Circuits that Remember (1) Spring 2007 © UCB 161 Exabytes In 2006  In 2006 we created, captured, and replicated 161 exabytes.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
CS61C L14 Introduction to Synchronous Digital Systems (1) Beamer, Summer 2007 © UCB Scott Beamer, Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine.
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.
11/16/2004EE 42 fall 2004 lecture 331 Lecture #33: Some example circuits Last lecture: –Edge triggers –Registers This lecture: –Example circuits –shift.
1 EECS Components and Design Techniques for Digital Systems Lec 21 – RTL Design Optimization 11/16/2004 David Culler Electrical Engineering and Computer.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
Computer Structure - Datapath and Control Goal: Design a Datapath  We will design the datapath of a processor that includes a subset of the MIPS instruction.
State Machines Used to Design Sequential Circuits.
CS61C L15 Synchronous Digital Systems (1) Beamer, Summer 2007 © UCB Scott Beamer, Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture.
Introduction to Registers Being just logic, ALUs require all the inputs to be present at once. They have no memory. ALU AB FS.
Chapter 6 Memory and Programmable Logic Devices
CS3350B Computer Architecture Winter 2015 Lecture 5.2: State Circuits: Circuits that Remember Marc Moreno Maza [Adapted.
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
SAP1 (Simple-As-Possible) Computer
Computer Science 210 Computer Organization The von Neumann Architecture.
Computer Systems Organization CS 1428 Foundations of Computer Science.
Finite State Machines (FSMs) and RAMs and inner workings of CPUs COS 116, Spring 2010 Guest: Szymon Rusinkiewicz.
Introduction to Computing Systems from bits & gates to C & beyond The Von Neumann Model Basic components Instruction processing.
Chapter 2Basic Digital Logic1 Chapter 2. Basic Digital Logic2 Outlines  Basic Digital Logic Gates  Two types of digital logic circuits Combinational.
Lecture 9. MIPS Processor Design – Instruction Fetch Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education &
Lecture 8: Processors, Introduction EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014,
Processor: Datapath and Control
REGISTER TRANSFER & MICROOPERATIONS By Sohaib. Digital System Overview  Each module is built from digital components  Registers  Decoders  Arithmetic.
Finite State Machines (FSMs) and RAMs and CPUs COS 116, Spring 2011 Sanjeev Arora.
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.
Gary MarsdenSlide 1University of Cape Town Chapter 5 - The Processor  Machine Performance factors –Instruction Count, Clock cycle time, Clock cycles per.
Registers Page 1. Page 2 What is a Register?  A Register is a collection of flip-flops with some common function or characteristic  Control signals.
Computer Organization CS224 Fall 2012 Lesson 22. The Big Picture  The Five Classic Components of a Computer  Chapter 4 Topic: Processor Design Control.
Computer Architecture Memory, Math and Logic. Basic Building Blocks Seen: – Memory – Logic & Math.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
EKT 221 : Chapter 4 Computer Design Basics
CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
Logic Design / Processor and Control Units Tony Diep.
Computer Organization and Assembly Languages Yung-Yu Chuang 2005/09/29
CS61C L20 Synchronous Digital Systems (1) Beamer, Spring 2008 © UCB Scott Beamer, Guest Lecturer inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
CPU Overview Computer Organization II 1 February 2009 © McQuain & Ribbens Introduction CPU performance factors – Instruction count n Determined.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
May 22, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 14: A Simple Implementation of MIPS * Jeremy R. Johnson Mon. May 17, 2000.
Copyright © 2001 Stephen A. Edwards All rights reserved Busses  Wires sometimes used as shared communication medium  Think “party-line telephone”  Bus.
Appendix C Basics of Logic Design. Appendix C — Logic Basic — 2 Logic Design Basics §4.2 Logic Design Conventions Objective: To understand how to build.
CS 270: Mathematical Foundations of Computer Science
Control & Execution Finite State Machines for Control MIPS Execution.
Computer Science 210 Computer Organization
Basics of digital systems
Computer Architecture
Processor (I).
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Control & Execution Finite State Machines for Control MIPS Execution.
Functional Units.
MIPS Processor.
Levels in Processor Design
Levels in Processor Design
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Systems Architecture I
Levels in Processor Design
Lecture 14: Single Cycle MIPS Processor
Levels in Processor Design
Computer Organization and Assembly Languages Yung-Yu Chuang 2005/09/29
Levels in Processor Design
Processor: Datapath and Control
Presentation transcript:

CS61CL Machine Structures Lec 8 – State and Register Transfers David Culler Electrical Engineering and Computer Sciences University of California, Berkeley

CS61CL Road Map 10/14/09 CS61CL F09 2 Hardware Software Machine Lang. pgm Instruction Set Architecture Machine Organization HLL Program Asm Lang. Pgm Compiler Assembler foo.c foo.s foo.o I/O systemInstr. Set Proc. Digital Design Circuit Design Datapath & Control Layout & fab Semiconductor Materials foo.exe Linker

Review: Combinational Logic Any boolean function can be expressed as an acyclic connection of gates Often specified by a truth table Outputs are purely a function of the inputs –no history, no state 10/14/09 CS61CL F09 3 Combinational Logic inputs outputs inputs outputs k 2k2k

Examples: Logical Operations 10/14/09 CS61CL F09 4 C = A & B A B C A 31 B 31 C 31 A 30 B 30 C 30 A0A0 B0B0 C0C0 °°° A 31:0 B 31:0 C 31:0 A 31:0 B 31:0 C 31:0 A 31:0 B 31:0 C 31:0 A 31:0 C 31:0

Example: Multiplexor 10/14/09 CS61CL F09 5 C = S ? A : B A B C S C = (S & A) | (~S & B) S A 31:0 B 31:0 C 31:0

Example: Adder 10/14/09 CS61CL F09 6 A B Ci Co S A B Ci Co S A B Ci Co S A B Ci Co S A B Ci Co S A 31:0 B 31:0 C 31:0

Example: Arithmetic Logic Unit 10/14/09 CS61CL F09 7 A 31:0 B 31:0 C 31:0 S 1:0

ALU 10/14/09 CS61CL F09 8

10/14/09 CS61CL F09 9 Element of Time Logical change is not instantaneous Broader digital design methodology has to make it appears as such –Clocking, delay estimation, glitch avoidance V out +3 0 T Propagation delay

10/14/09 CS61CL F09 10 What makes Digital Systems tick? Combinational Logic time clk

Administrative Issues HW 6 due tonight Project 2 dues Monday 10/26 –bimodal check-off –testing tools available tomorrow –they are really picky Project 1 grading almost done –Friday HW 7 – discuss Midterm 2 on 11/9 as in original schedule –11/11 is holiday 10/14/09 CS61CL F09 11

8/30/ A Bit of state: D-type edge-triggered flip-flop The edge of the clock is used to sample the "D" input & send it to "Q” (positive edge triggering). –At all other times the output Q is independent of the input D (just stores previously sampled value). –The input must be stable for a short time before the clock edge

9/18/07 13 RSRSRS DQDQDQDQ OUT1OUT2OUT3OUT4 CLK IN1IN2IN3IN4 RS "0" Registers Collections of flip-flops with similar controls and logic –Stored values somehow related (e.g., form binary value) –Share clock, reset, and set lines –Similar logic at each stage

What “registers” do we need? “read” vs use the output “write” on the clock edge => Load Load Control 10/14/09 CS61CL F r0 r1 ° r31 PC lo hi Programmable storage 2^32 x bytes 31 x 32-bit GPRs (R0=0) 32 x 32-bit FP regs (paired DP) HI, LO, PC

Register with Load Control 10/14/09 CS61CL F09 15 R0R0 R 31 clock load 1 0

Register File 10/14/09 CS61CL F09 16 R0 °°° R1 R2 R31 Asel Bsel Bout Aout Dsel 1 ld Din decoder

Towards a Data Path 10/14/09 CS61CL F09 17 °°° Asel Bsel Dsel ld aluOP

Exercise a Data Path 10/14/09 CS61CL F09 18 °°° Asel Bsel Dsel ld aluOP

What about RAM - Randomly Accessed Memory? Like a HUGE register file –dense, slower, low-cost storage cell (6T) –fewer ports –wider address lines –accessed over a “bus” Bus: means of composition in hardware system –logically related collection of wires –interfacing one or more sources to one or more destinations 10/14/09 CS61CL F09 19 RAM data address

Recall: Instruction Cycle 9/16/09 UCB CS61CL F09 Lec 4 20 °°° : FFF..F: n: 0B20 0B20: Instruction Fetch Execute PC “add $1,$2,$3” Operand Result Next Decode + 0B24 main:

Register Transfers 10/14/09 CS61CL F09 21

10/14/09 CS61CL F09 22 Synchronous Circuit Design clock –distributed to all flip-flops ALL CYCLES GO THROUGH A REG! Combinational Logic Blocks (CL) –Acyclic –no internal state (no feedback) –output only a function of inputs Registers (reg) –collections of flip-flops