1 Seoul National University Logic Design. 2 Overview of Logic Design Seoul National University Fundamental Hardware Requirements  Computation  Storage.

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

Give qualifications of instructors: DAP
David O’Hallaron Carnegie Mellon University Processor Architecture Logic Design Processor Architecture Logic Design
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
1  1998 Morgan Kaufmann Publishers Chapter Five The Processor: Datapath and Control.
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.
Chapter Five The Processor: Datapath and Control.
State Machines Used to Design Sequential Circuits.
CPEN Digital System Design Chapter 9 – Computer Design
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
CS61CL Machine Structures Lec 8 – State and Register Transfers David Culler Electrical Engineering and Computer Sciences University of California, Berkeley.
CS:APP CS:APP Chapter 4 Computer Architecture Control Logic and Hardware Control Language CS:APP Chapter 4 Computer Architecture Control Logic and Hardware.
The Processor Andreas Klappenecker CPSC321 Computer Architecture.
Lecture 10 Topics: Sequential circuits Basic concepts Clocks
Some Useful Circuits Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
CSC321 Where We’ve Been Binary representations Boolean logic Logic gates – combinational circuits Flip-flops – sequential circuits Complex gates – modules.
HCL and ALU תרגול 10. Overview of Logic Design Fundamental Hardware Requirements – Communication: How to get values from one place to another – Computation.
Computer Design Basics
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 &
1 Seoul National University Logic Design. 2 Overview of Logic Design Seoul National University Fundamental Hardware Requirements  Computation  Storage.
Chapter 4: Processor Architecture How does the hardware execute the instructions? We’ll see by studying an example system  Based on simple instruction.
Lec 15Systems Architecture1 Systems Architecture Lecture 15: A Simple Implementation of MIPS Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan Some.
Multiple-Cycle Hardwired Control Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
Gary MarsdenSlide 1University of Cape Town Chapter 5 - The Processor  Machine Performance factors –Instruction Count, Clock cycle time, Clock cycles per.
Chapter 3 Digital Logic Structures. 3-2 Combinational vs. Sequential Combinational Circuit always gives the same output for a given set of inputs  ex:
Randal E. Bryant Carnegie Mellon University CS:APP CS:APP Chapter 4 Computer Architecture SequentialImplementation CS:APP Chapter 4 Computer Architecture.
Datapath Design I Topics Sequential instruction execution cycle Instruction mapping to hardware Instruction decoding Systems I.
Architecture (I) Processor Architecture. – 2 – Processor Goal Understand basic computer organization Instruction set architecture Deeply explore the CPU.
Computer Architecture Carnegie Mellon University
CSC 2405 Computer Systems II Advanced Topics. Instruction Set Architecture.
1 Sequential CPU Implementation. 2 Outline Logic design Organizing Processing into Stages SEQ timing Suggested Reading 4.2,4.3.1 ~
CS:APP3e CS:APP Chapter 4 Computer Architecture Logic Design CS:APP Chapter 4 Computer Architecture Logic Design CENG331 - Computer Organization Murat.
Logic Design / Processor and Control Units Tony Diep.
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Transistor: Building.
1 Processor Architecture. 2 Topics Write Y86 code Basic Logic design Hardware Control Language HCL Suggested Reading: 4.1, 4.2.
Concepts of Engineering and Technology Copyright © Texas Education Agency, All rights reserved.
Chapter 4: Processor Architecture
CPU Overview Computer Organization II 1 February 2009 © McQuain & Ribbens Introduction CPU performance factors – Instruction count n Determined.
May 22, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 14: A Simple Implementation of MIPS * Jeremy R. Johnson Mon. May 17, 2000.
Abstraction. Not real, not concrete A view that is removed from the reality Definitely has a "base" in reality – the "base" may be non-intuitive and not.
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.
Computer Science 210 Computer Organization
Basic Computer Organization and Design
Computer Organization and Architecture + Networks
Lecture 12 Logic Design Review & HCL & Bomb Lab
Introduction CPU performance factors
Seoul National University
Morgan Kaufmann Publishers The Processor
Morgan Kaufmann Publishers
Computer Science 210 Computer Organization
Latches and Flip-flops
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Computer Science 210 Computer Organization
Levels in Processor Design
Introduction to Computer System
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Recap: Performance Comparison
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
Introduction to Computer System
Computer Systems An Introducton.
Introduction to the Architecture of Computers
Presentation transcript:

1 Seoul National University Logic Design

2 Overview of Logic Design Seoul National University Fundamental Hardware Requirements  Computation  Storage  Communication  How to get values from one place to another Bits are Our Friends  Everything expressed in terms of values 0 and 1  Computation  Compute Boolean functions  Storage  Store bits of information  Communication  Low or high voltage on wire

3 Digital Signals Seoul National University  Use voltage thresholds to extract discrete values from continuous signal  Simplest version: 1-bit signal  Either high range (1) or low range (0)  With guard range between them  Not strongly affected by noise or low quality circuit elements  Can make circuits simple, small, and fast Voltage Time 0 10

4 Computing with Logic Gates Seoul National University  Outputs are Boolean functions of inputs  Respond continuously to changes in inputs  With some, small delay Voltage Time a b a && b out = a && b a b out And out = a | || | b a b out Or out = ! a a out Not

5 Combinational Circuits Seoul National University Acyclic Network of Logic Gates  Continuously responds to changes on inputs  Outputs become (after some delay) Boolean functions of inputs Acyclic Network Inputs Outputs

6 Bit Equality Seoul National University  Generate 1 if a and b are equal Hardware Control Language (HCL)  Very simple hardware description language  Boolean operations have syntax similar to C logical operations  We’ll use it to describe control logic for processors Bit equal a b eq bool eq = (a&&b)||(!a&&!b) HCL Expression

7 Word Equality Seoul National University  32-bit word size  HCL representation  Equality operation  Generates Boolean value b 31 Bit equal a 31 eq 31 b 30 Bit equal a 30 eq 30 b1b1 Bit equal a1a1 eq 1 b0b0 Bit equal a0a0 eq 0 Eq = = B A Word-Level Representation bool Eq = (A == B) HCL Representation

8 Bit-Level Multiplexor Seoul National University  Control signal s  Data signals a and b  Output a when s=1, b when s=0 Bit MUX b s a out bool out = (s&&a)||(!s&&b) HCL Expression

9 Word Multiplexor Seoul National University b 31 s a 31 out 31 b 30 a 30 out 30 b0b0 a0a0 out 0  Select input word A or B depending on control signal s  HCL representation  Case expression  Series of test : value pairs  Output value for first successful test Word-Level Representation HCL Representation int Out = [ s : A; 1 : B; ]; s B A Out MUX

10 HCL Word-Level Examples Seoul National University  Find minimum of three input words  HCL case expression  Final case guarantees match A Min3 MIN3 B C int Min3 = [ A < B && A < C : A; B < A && B < C : B; 1 : C; ]; D0 D3 Out4 s0 s1 MUX4 D2 D1 int Out4 = [ !s1&&!s0: D0; !s1 : D1; !s0 : D2; 1 : D3; ]; Minimum of 3 Words 4-Way Multiplexor  Select one of 4 inputs based on two control bits  HCL case expression  Simplify tests by assuming sequential matching

11 OF Z FZ F CF OF Z FZ F CF OF Z FZ F CF Arithmetic Logic Unit Seoul National University OF Z FZ F CF  Combinational logic  Continuously responding to inputs  Control signal selects function computed  Corresponding to 4 arithmetic/logical operations in Y86  Also computes values for condition codes ALUALU Y X X + Y 0 ALUALU Y X X - Y 1 ALUALU Y X X & Y 2 ALUALU Y X X ^ Y 3 A B A B A B A B

12 Sequential Circuit: Registers Seoul National University IO Clock D C Q+ D C D C D C D C D C D C D C i7i7 i6i6 i5i5 i4i4 i3i3 i2i2 i1i1 i0i0 o7o7 o6o6 o5o5 o4o4 o3o3 o2o2 o1o1 o0o0 Clock Structure  Stores word of data  Different from program registers seen in assembly code  Collection of edge-triggered latches  Loads input on rising edge of clock

13 Register Operation Seoul National University  Stores data bits  For most of time acts as barrier between input and output  As clock rises, loads input State = x Rising clock  Output = xInput = y x  State = y Output = y y

14 State Machine Example Seoul National University  Accumulator circuit  Load or accumulate on each cycle Comb. Logic ALUALU 0 Out MUX 0 1 Clock In Load x0x0 x1x1 x2x2 x3x3 x4x4 x5x5 x0x0 x 0 +x 1 x 0 +x 1 +x 2 x3x3 x 3 +x 4 x 3 +x 4 +x 5 Clock Load In Out

15 Register File Seoul National University  Holds values of program registers (e.g., %eax, %esp,...)  Register identifier serves as address  ID 15 (0xF) implies no read or write performed  Can perform two reads and one write in the same cycle  Each has separate address and data input/output Register file Register file A B W dstW srcA valA srcB valB valW Read Ports Write Port Clock

16 Register File Timing Seoul National University Reading  Like combinational logic  Output data generated based on input address  After some delay Writing  Like register  Updated only at the rising clock edge Register file Register file A B srcA valA srcB valB y 2 Register file Register file W dstW valW Clock x 2 Rising clock   Register file Register file W dstW valW Clock y 2 x x 2 2

17 Memory Seoul National University Data Memory Data Memory data in address clock data out write read error  Hold instructions and data for program  Read or write, one at a time  Read is like combinational logic (like register file)  Write is performed only at the rising clock edge  Error signal will be set if the address is out of range

18 Hardware Control Language Seoul National University  Very simple hardware description language  Can only express limited aspects of hardware operation  Parts we want to explore and modify Data Types  bool : Boolean  a, b, c, …  int : words  A, B, C, …  Does not specify word size---bytes, 32-bit words, … Statements  bool a = bool-expr ;  int A = int-expr ;

19 HCL Operations Seoul National University  Classify by type of value returned Boolean Expressions  Logic Operations  a && b, a || b, !a  Word Comparisons  A == B, A != B, A = B, A > B  Set Membership  A in { B, C, D } –Same as A == B || A == C || A == D Word Expressions  Case expressions  [ a : A; b : B; c : C ]  Evaluate test expressions a, b, c, … in sequence  Return word expression A, B, C, … for first successful test