Top Banner
TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodolog 2. 8-bit Von Neumann microprocessor is desi TITAC-2: ICCD’97 32-bit fully functional microprocessor based on MIPS 2000 Reading 6
26

TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Dec 15, 2015

Download

Documents

Gisselle Edes
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

TITAC: Design of a QDI microprocessor

• TITAC: Tokyo Institute of Technology• TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology 2. 8-bit Von Neumann microprocessor is designed• TITAC-2: ICCD’97 32-bit fully functional microprocessor based on MIPS 2000

Reading 6

Page 2: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Outline

• Goal of TITAC-1• Organization and Instruction sets• Design methodology 1. control path 2. data path

Page 3: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Goal of TITAC-1

• Not to design a fully functional microprocessor but to explore the design methodology

A. determine suitable specification B. Implementation.

• Establish a library of building blocks for design automation of Async. VLSI systems.

Page 4: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Organization of TITAC

• TITAC is an 8-bit Von Neumann microprocessor• Single-accumulator architecture• TITAC consists of * Control section: 1. controls data flow of datapath section 2. two controllers: hardwired and

microprogrammed A. selectable by an external switch. B. designed by two authors independently. * Datapath section:

Page 5: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Organization of TITAC

• Datapath section: 1. An ALU (Arithmetic Logic Unit). 2. Instruction Register (IR) 3. One Accumulator (Acc) 4. Program Counter (PC) 5. Memory Address Register (MAR) 6. Input Buffer (In) 7. Output Buffer (Out) 8. Memory Interface (to Main Memory)• See Fig 1(TITAC organization) in pp. 53

Page 6: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

TITAC’sOrganization

Page 7: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Instruction Set of TITAC

• Memory Reference Instructions: (two Bytes) A. opcode + operand B. address modes: 1. Immediate 2. Stack pointer relative 3. Indirect 4. Direct C. ADD mem ==> Acc := mem + Acc ADC mem: add with carry ...• Branch Instructions: (two bytes)• Miscellaneous Instructions: (one byte)

Page 8: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Instruction Set of TITAC

Page 9: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Protocol of TITAC

• Two phase, event-driven scheme: ( i.e. four-phase handshaking or return to zero) A: working phase: 1: working transient

2: working stable B: idle phase: 3: idle transient 4: idle stable

Page 10: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Specification: Data dependency graph

• High Performance ==> Execute as many micro-operations as possible. • Need to analyze dependency relations:• Use dependency graph to analyze micro-operations.• Five types of primitive elements: (see Fig 3) A. micro-operations: register to register data transfer B. fork: parallel execution threads C. join: synchronization of parallel execution D. select: condition branch. E. merge: merge signals.• Example: DDG of jmp instruction (Fig 4).

Page 11: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Five Basic Elements:

Page 12: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Data dependency graph: Jump

Write After Read

Write After Write

Page 13: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Implementation: dependency graph• Five types of primitive elements: (see Fig 3) A. micro-operations: Q-element (read + write). B. fork: fan-out wires C. join: Muller’s C element D. select: decoder (one out of n code) E. merge: EX-OR• Example: Fig 5.

Page 14: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Jump:

Control path Data path

Jump:

Page 15: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Q-element

• Inputs: Ui, Li Outputs: Lo, Uo• 2 AND + 2 Inv + a C-element• How it work?

Ui

Lo

Uo

Li

Page 16: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Performance Issue

• Performance problems:Need to reset (idle phase) the circuit.

• Solution: data analysis + Auto Sweeping Module

Page 17: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Auto Sweeping Module (ASM)

• Improve the latency.

Uo+ ==> start next computation ==> reset current computation

Parallel execution of working phase and idle phase

Ui

Lo

Uo

Li

Page 18: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Auto Sweeping Module (ASM)

• Replacement Q-element with ASM: A. replace each Q-element with one ASM. B. Analyze data dependency: WAW and WAR C. add AND gates to ensure the dependency.

Page 19: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

ASM JUMP DDG

Page 20: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

ASM JUMP Q JUMP

Page 21: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Microprogrammed Controller

Page 22: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Data Path Design

• Binary Decision Diagram (BDD) to implement combination logic such as ALU functions• For example: C BABAF

Page 23: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Data Path Design

• Binary Decision Diagram (BDD) to implement combination logic such as ALU functions• For example: C BABAF

Page 24: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Multiport Register

• Two port register:

Page 25: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

• Two-port register:

Page 26: TITAC: Design of a QDI microprocessor TITAC: Tokyo Institute of Technology TITAC-1: IEEE Design & Test (Summer 94) 1. main goal: explore the design methodology.

Memory