An Overview of FLEET CS-152

Similar documents
COMP sequential logic 1 Jan. 25, 2016

Instruction Level Parallelism

EECS150 - Digital Design Lecture 9 - CPU Microarchitecture. CMOS Devices

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422) LATCHES and FLIP-FLOPS

Sequential Circuits: Latches & Flip-Flops

Asynchronous (Ripple) Counters

(CSC-3501) Lecture 7 (07 Feb 2008) Seung-Jong Park (Jay) CSC S.J. Park. Announcement

CS3350B Computer Architecture Winter 2015

11. Sequential Elements

Chapter 6. Flip-Flops and Simple Flip-Flop Applications

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

Fundamentals of Computer Systems

ECEN454 Digital Integrated Circuit Design. Sequential Circuits. Sequencing. Output depends on current inputs

Logic Design. Flip Flops, Registers and Counters

Counters

Advanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20

EE 447/547 VLSI Design. Lecture 9: Sequential Circuits. VLSI Design EE 447/547 Sequential circuits 1

Lecture 8: Sequential Logic

6.3 Sequential Circuits (plus a few Combinational)

Synchronization in Asynchronously Communicating Digital Systems

First Name Last Name November 10, 2009 CS-343 Exam 2

Lecture 11: Sequential Circuit Design

ASIC = Application specific integrated circuit

COSC 243. Sequential Logic. COSC 243 (Computer Architecture) Lecture 5 - Sequential Logic 1

Chapter 4: One-Shots, Counters, and Clocks

Lecture 10: Sequential Circuits

More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 <98> 98

Asynchronous Clocks. 1 Introduction. 2 Clocking basics. Simon Moore University of Cambridge

CPE/EE 427, CPE 527 VLSI Design I Sequential Circuits. Sequencing

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

EMT 125 Digital Electronic Principles I CHAPTER 6 : FLIP-FLOP

Read-only memory (ROM) Digital logic: ALUs Sequential logic circuits. Don't cares. Bus

Synchronous Digital Logic Systems. Review of Digital Logic. Philosophy. Combinational Logic. A Full Adder. Combinational Logic

Sequential Logic Design CS 64: Computer Organization and Design Logic Lecture #14

Last time, we saw how latches can be used as memory in a circuit

Chapter 5 Sequential Circuits

Built-In Self-Testing of Micropipelines

Counter dan Register

Contents Slide Set 6. Introduction to Chapter 7 of the textbook. Outline of Slide Set 6. An outline of the first part of Chapter 7

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

UC Berkeley CS61C : Machine Structures

Digital Integrated Circuits EECS 312

ASYNCHRONOUS COUNTER CIRCUITS

Good afternoon! My name is Swetha Mettala Gilla you can call me Swetha.

Sequential Circuit Design: Part 1

CS61C : Machine Structures

LATCHES & FLIP-FLOP. Chapter 7

CSE115: Digital Design Lecture 23: Latches & Flip-Flops

Outline. CPE/EE 422/522 Advanced Logic Design L03. Review: Clocked D Flip-Flop with Rising-edge Trigger. Sequential Networks

Sequential Logic. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 1

Sequential Logic and Clocked Circuits

Review C program: foo.c Compiler Assembly program: foo.s Assembler Object(mach lang module): foo.o. Lecture #14

Software Engineering 2DA4. Slides 9: Asynchronous Sequential Circuits

CHAPTER 4: Logic Circuits

CS61C : Machine Structures

We are here. Assembly Language. Processors Arithmetic Logic Units. Finite State Machines. Circuits Gates. Transistors

Sensing and Sampling for Low-Power Applications

CS61C : Machine Structures

Sequential Circuit Design: Principle

ECE 250 / CPS 250 Computer Architecture. Basics of Logic Design ALU and Storage Elements

Engr354: Digital Logic Circuits

CHAPTER 4: Logic Circuits

CPS311 Lecture: Sequential Circuits

The basic logic gates are the inverter (or NOT gate), the AND gate, the OR gate and the exclusive-or gate (XOR). If you put an inverter in front of

EEE2135 Digital Logic Design Chapter 6. Latches/Flip-Flops and Registers/Counters 서강대학교 전자공학과

CSE140: Components and Design Techniques for Digital Systems. More D-Flip-Flops. Tajana Simunic Rosing. Sources: TSR, Katz, Boriello & Vahid

CS/ECE 250: Computer Architecture. Basics of Logic Design: ALU, Storage, Tristate. Benjamin Lee

Chapter. Sequential Circuits

Sequential Logic Counters and Registers

FPGA Design with VHDL

Modeling Digital Systems with Verilog

PRE J. Figure 25.1a J-K flip-flop with Asynchronous Preset and Clear inputs

Advanced Pipelining and Instruction-Level Paralelism (2)

VeriLab. An introductory lab for using Verilog in digital design (first draft) VeriLab

Go BEARS~ What are Machine Structures? Lecture #15 Intro to Synchronous Digital Systems, State Elements I C

EET2411 DIGITAL ELECTRONICS

Slide Set 6. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng

CS61C : Machine Structures

Review of digital electronics. Storage units Sequential circuits Counters Shifters

CMSC 313 Preview Slides

Very Short Answer: (1) (1) Peak performance does or does not track observed performance.

Momentary Changes in Outputs. State Machine Signaling. Oscillatory Behavior. Hazards/Glitches. Types of Hazards. Static Hazards

Logic Design ( Part 3) Sequential Logic- Finite State Machines (Chapter 3)

RS flip-flop using NOR gate

The outputs are formed by a combinational logic function of the inputs to the circuit or the values stored in the flip-flops (or both).

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

Sequential Circuit Design: Part 1

Decade Counters Mod-5 counter: Decade Counter:


Clock Domain Crossing. Presented by Abramov B. 1

Combinational vs Sequential

Overview. Asynchronous Circuit Design ILLIAC. Early Mainframes ILLIAC II ILLIAC II

YEDITEPE UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING. EXPERIMENT VIII: FLIP-FLOPS, COUNTERS 2014 Fall

Electrical & Computer Engineering ECE 491. Introduction to VLSI. Report 1

Logic Devices for Interfacing, The 8085 MPU Lecture 4

Sequential Logic. Introduction to Computer Yung-Yu Chuang

Sequential Elements con t Synchronous Digital Systems

Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

Transcription:

An Overview of FLEET S-152

FLEET Brainchild of Ivan Sutherland Fleshed out in collaboration with Berkeley graduate students A one-instruction, clockless processor Alternatively: an asynchronous transporttriggered VLIW machine Designed to take advantage of asynchronous circuits But first, I d like to talk about...

Ancient bridges were made of stone Required arch-and-keystone design

Steel Much stronger building material than stone

Early Steel Bridges Arch-and-keystone not required Regardless, early steel bridges were built as imitations of stone bridges.

Modern Steel Bridges Steel made suspension bridges possible Took a while for people to realize that new materials enabled new designs

What does this have to do with omputer Architecture? Synchronous circuits Single-cycle, pipelined, superscalar, Tomasulo, etc Asynchronous circuits Early async processors imitated synchronous architectures FLEET is a first draft of what suspension bridges might look like

rash ourse on Asynchronous ircuits

KLA Kinetic Learning Activity

IF predecessor!= successor THEN copy predecessor

Muller Element Majority gate with output looped back A two-voter election with incumbent advantage in event of a tie majority gate c a = M = a b 0 1 b 0 0 c 1 c 1

Micropipelines hain of Muller - Elements Each element connects to an inverted input on predecessor, noninverted on successor

Micropipelines each stage of the control...follows a very simple stage state rule: IF predecessor!= successor THEN copy predecessor s state ELSE hold present state [IES 89]

Micropipelines IF predecessor!= successor THEN copy predecessor s state ELSE hold present state

Micropipelines IF predecessor!= successor THEN copy predecessor s state ELSE hold present state Any disagreements propagate to the right

Micropipelines IF predecessor!= successor THEN copy predecessor s state ELSE hold present state Any disagreements propagate to the right

Micropipelines IF predecessor!= successor THEN copy predecessor s state ELSE hold present state Any disagreements propagate to the right

Micropipelines IF predecessor!= successor THEN copy predecessor s state ELSE hold present state Any disagreements propagate to the right

Micropipelines IF predecessor!= successor THEN copy predecessor s state ELSE hold present state Any disagreements propagate to the right System is stable when pipeline contains Zero or more agreeing stages Followed by zero or more disagreeing stages

Micropipelines Transition signaling A transition on a stage s output will: Acknowledge data from the previous segment Signal data ready to next segment Ack Ready Data

Other Styles Exist Too many for this talk

Advantages of Async Average (not worst) case timing -- no timing closure Early completion with some circuit styles Separates correctness from performance No clock tree Low power Better modularity Better EMI profile Extremely robust to variations Process, Temperature, Voltage

altech MiniMIPS 250 "foo.dat" 200 MIPS 150 100 50 0 Designed 1995-1998 250% the performance of the best synchronous MIPS on the same fabrication process Performance scaled automatically with voltage and temperature changes 1 1.5 2 2.5 3 3.5 4 4.5 5 voltage

ommunication Matters Metal rod model of VLSI wires ommunication is what matters, so put the programmer in charge of it One instruction: MOVE

Mike Holenderski s Animation http://research.cs.berkeley.edu/class/fleet/docs/fleet_animation.swf

MIPS Pipeline vs FLEET SHIPs P Instruction Memory decode rd rs rt registers ALU Data memory +4 imm

Inboxes and Outboxes Outbox lient Ship DataIn DataOut OutBox Trigger Switch Fabric DataIn DataOut Ack InBox Inbox lient Ship Ack Instruction Instruction Inboxes and Outboxes

ode Bags Unordered sets of instructions Lets us start fetching the next block of code as soon as the current block starts executing Unlike sequential-instruction ISAs

Anatomy of a FLEET Instruction Source Address DataIn Ignore/opy/ Take Triggered ount Ack DataOut Destination Address log NUMSOURES 2 1.5 1 log MAXMOVE 2 1 1 log NUMDESTINATIONS 2 Anatomy of a FLEET Instruction

Instruction Forms Triggered Not Triggered DataIn Ignore DataIn Ignore DataIn opy DataIn opy DataIn Take DataIn Take nop wait discard nop wait discard Ack Ack nop+ack wait+ack discard+ack nop+ack wait+ack discard+ack DataOut DataOut DataOut +Ack DataOut +Ack copy copy copy+ack copy+ack move (or accept) move (or accept) move+ack (or accept+ack) move+ack (or accept+ack)

Synchronous SHIPs The fact that the switch fabric is asynchronous is fairly essential to FLEET However, SHIPs can be internally synchronous Pauseable clocks are an attractive option

More Information Website: http://research.cs.berkeley.edu/class/fleet/ Graduate seminar meets in this room tomorrow, 10am-noon Project presentations are a week from tomorrow