ARHITEKTURA NA RAZINI LOGIČKIH SKLOPOVA

Slides:



Advertisements
Similar presentations
CIS 314 Fall 2005 MIPS Datapath (Single Cycle and Multi-Cycle)
Advertisements

Processor Design Computer Architecture CS 215. CPU Design  Control Unit Generates the control signals in the correct order to effect the correct data.
Basic Processing Unit (Chapter 7)
Processor Design Computer Architecture CS 215 Updated 10/21/14.
Dale & Lewis Chapter 5 Computing components. Let’s design a computer Generic CPU with registers −Program counter (PC) – 5 bits (size of addresses) −Instruction.
1 Programmer’s View of the EAGLE R0 R1 R7 Register file IR PC CPU :::::: Main memory :
Designing the WRAMP Dean Armstrong The University of Waikato.
S 2/e C D A Computer Systems Design and Architecture Second Edition© 2004 Prentice Hall Chapter 4 Topics The Design Process A 1-bus Microarchitecture for.
In1210/01-PDS 1 TU-Delft The Processing Unit. in1210/01-PDS 2 TU-Delft Problem f y ALU y Decoder a instruction Reg ?
Comp201 Computer Systems Register Notation
Dale & Lewis Chapter 5 Computing components
Our programmer needs to do this !
S 2/e C D A Computer Systems Design and Architecture Second Edition© 2004 Prentice Hall Chapter 4 Topics The Design Process A 1-bus Microarchitecture for.
Fundamental of Computer Architecture By Panyayot Chaikan ac.th Ocbober 25, 2004.
Digital circuits UL, FRI Lab 9, MIPS processor. Logisim - nastavitve  Logisim-win-2.x.x.exe  Libraries: Project – Load Library  Built-in Library: (
SRC: instruction formats Op-coderarb rc c Type D Op-code Type Aunused Op-codera Type Bc1 21 Op-coderarb.
Control Unit Design.
Block diagram of a Microcoded Control unit
Execution time Execution Time (processor-related) = IC x CPI x T
A Uni-bus Data Path Implementation for the SRC
A 3-bus implementation for the SRC
Structural RTL for the br and brl instructions
Computer Organization
Ghifar Parahyangan Catholic University Sept 12, 2011
Instruction Execution (Load and Store instructions)
External CPU Bus Activity
Decode and Operand Read
Arhitektura i organizacija računara
The fetch-execute cycle
Struktura i princip rada računara
Falcon-E : Introduction
Arhitektura i organizacija računara
Struktura i princip rada računara
Arhitektura računarskog sistema
Računarstvo i informatika I
32-bitni mikrokontroleri i primena - MS1BMP 2. deo
Aritmetičko logička jedinica ALU i Množač (8x6 Ripple-Carry)
Arhitektura i organizacija računara
Chapter 4: Processor Design
Computer Architecture
Programiranje - Blokovi naredbi i logički tipovi –
Upravljanje DC servo motorima
Petlje FOR - NEXT.
Simple Network Management Protocol (SNMP)
Arhitektura računarskog sistema
Chapter 5: Processor Design—Advanced Topics
Naredba Case Višestruko grananje.
M-datoteke.
Data Transfers To be able to implement
Organizacija adresnog prostora (2)
Computer Organization
SRC Exception Processing Mechanism
Visual Basic – Prvi primjer
MagistralA (bus) Milan Milovanovic I6.
Objektno-orijentirano programiranje
Programmer’s View of the EAGLE
Fundamental Concepts Processor fetches one instruction at a time and perform the operation specified. Instructions are fetched from successive memory locations.
IR <2..0> CON 3-to-8 Decoder Never Branch Always Branch
Skup instrukcija procesora
Fakultet elektrotehnike i računarstva
Programiranje - Naredbe za kontrolu toka programa – 1. dio
Question 0: Register Files
Execution time Execution Time (processor-related) = IC x CPI x T
RTL for the SRC pipeline registers
Reverse Assembly Typical problem:
Example 1: (expression evaluation)
CS501 Advanced Computer Architecture
Reverse Assembly Typical problem:
Problem: Consider the following two SRC code segments for implementing multiplication. Find which one is more efficient in terms of instruction count and.
Višestruko grananje.
Presentation transcript:

ARHITEKTURA NA RAZINI LOGIČKIH SKLOPOVA Sven Gotovac

Zadatak Projektirati procesor sukladno razmatranjima u prethodnom poglavlju! Potrebno je realizirati: Registre Veze među njima

Registri Realizacija pomoću D-bistabila Realizacija pomoću D-bistabila i sklopa s tri stanja

Izvedba registara opće namjene i veza s ALU

Jednosabirnička arhitektura

Jednosabirnička arhitektura

Dohvat naredbe – 1. takt Sadržaj PC na internu sabirnicu GPC Upis u MA clkMA Inkrementirati preko ALU sadržaj sabirnice INC4 Rezultat upisati u C clkC

Dohvat naredbe – 2. takt Sadržaj MA na vanjsku adresnu sabirnicu GMA Narediti memoriji READ Upis u MD s podatkovne sabirnice clkMD2 Inkrementirani PC iz C na internu sabirnicu GC Sadržaj s interne sabirnice upisati u PC clkPC

Dohvat naredbe – 3. takt Sadržaj MD na internu sabirnicu GMD1 Sadržaj s interne sabirnice (naredbu) upisati u IR clkIR

Izvođenje naredbe ADD – 4. takt Sadržaj prvog operanda R0 na internu sabirnicu GR0 Sadržaj s interne sabirnice (1. operand) upisati u privremeni spremnik A clkA ADD R31,R0,R1

Izvođenje naredbe ADD – 5. takt Sadržaj drugog operanda R1 na internu sabirnicu GR0 te na ulaz B ALU Narediti ALU zbrajanje ADD Rezultat s izlaza ALU upisati u privremeni spremnik C clkC ADD R31,R0,R1

Izvođenje naredbe ADD – 6. takt Sadržaj privremenog spremnika C (rezultat) na internu sabirnicu GC Rezultat s interne sabirnice upisati u odredišni spremnik R31 clkR31 ADD R31,R0,R1

Izvođenje naredbe ADDI – 4. takt Sadržaj prvog operanda R0 na internu sabirnicu GR0 Sadržaj s interne sabirnice (1. operand) upisati u privremeni spremnik A clkA ADDI R31,R0,4

Izvođenje naredbe ADDI – 5. takt Sadržaj drugog operanda c1 iz IR na internu sabirnicu GIRc1 te na ulaz B ALU Narediti ALU zbrajanje ADD Rezultat s izlaza ALU upisati u privremeni spremnik C clkC ADDI R31,R0,4

Izvođenje naredbe ADDI – 6. takt Sadržaj privremenog spremnika C (rezultat) na internu sabirnicu GC Rezultat s interne sabirnice upisati u odredišni spremnik R31 clkR31 ADDI R31,R0,4

Izvođenje naredbe LD – 4. takt Sadržaj prvog operanda R0 na internu sabirnicu GR0 Sadržaj s interne sabirnice (1. operand) upisati u privremeni spremnik A clkA LD R31,R0,4

Izvođenje naredbe LD – 5. takt Sadržaj drugog operanda c1 iz IR na internu sabirnicu GIRc1 te na ulaz B ALU Narediti ALU zbrajanje ADD Rezultat s izlaza ALU upisati u privremeni spremnik C clkC LD R31,R0,4

Izvođenje naredbe LD – 6. takt Sadržaj privremenog spremnika C (rezultat) na internu sabirnicu GC Rezultat s interne sabirnice upisati u adresni spremnik MA clkMA LD R31,R0,4

Izvođenje naredbe LD – 7. takt Sadržaj MA postaviti na vanjsku adresnu sabirnicu GMA Narediti memoriji READ Upis podatka u MD s podatkovne sabirnice clkMD2 LD R31,R0,4

Izvođenje naredbe LD – 8. takt Sadržaj MD na internu sabirnicu GMD1 Sadržaj s interne sabirnice (podatak) upisati u odredišni spremnik R31 clkR31 LD R31,R0,4

Izvođenje naredbe ST – 7. takt Sadržaj R31 (podataka) postaviti na internu sabirnicu GR31 Upis podatka u MD s interne sabirnice clkMD1 ST R31,R0,4

Izvođenje naredbe ST – 8. takt Sadržaj MA postaviti na vanjsku adresnu sabirnicu GMA Podatka iz MD na vanjsku podatkovnu sabirnicu GMD2 Narediti memoriji WRITE (upis podatka u memoriju) ST R31,R0,4

Instrukcijski registar Aritmetičke i logičke operacije: ADD, SUB, AND, … 31 27 26 22 21 17 16 12 11 Op. kod ra rb rc xxx Aritmetičke i logičke operacije s konstantom: ADDI, ANDI, … Naredbe za prijenos podataka: LD, ST 31 27 26 22 21 17 16 Op. kod ra rb C1 Upis konstante u spremnik: LA Naredbe za uvjetno, relativno grananje: BRPL, BRMI, BRZ, BRNZ 31 27 26 22 21 Op. kod ra C2 Naredbe za bezuvjetno relativno grananje: BR 31 27 26 Op. kod C3

Upravljanje registrima Signali - clkRx i GRx

Upravljanje registrima Signali - clkRx i GRx Takt T4

Upravljanje registrima Signali - clkRx i GRx Takt T5

Upravljanje registrima Signali - clkRx i GRx Takt T6

ALU Dohvat konstante iz IR ULAZ B Op. kod ra rb C1 = 4 1 1 1 1 1 1 1 1 31 27 26 22 21 17 16 1 1 1 1 1 1 1 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 ULAZ B ALU

ALU Dohvat konstante iz IR ULAZ B Op. kod ra rb C1 = -4 1 1 1 1 1 1 1 31 27 26 22 21 17 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ULAZ B ALU

ALU Dohvat konstante iz IR ULAZ B Op. kod ra rb C1 = 4 1 1 1 1 1 1 1 1 31 27 26 22 21 17 16 1 1 1 1 1 1 1 1 1 ULAZ B ALU

ALU Dohvat konstante iz IR ULAZ B Op. kod ra rb C1 = -4 1 1 1 1 1 1 1 31 27 26 22 21 17 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ULAZ B ALU

Instrukcijski registar 31 27 26 22 21 17 16 Op. kod ra rb C1 Aritmetičke i logičke operacije s konstantom: ADDI, ANDI, … Naredbe za prijenos podataka: LD, ST C2 Upis konstante u spremnik: LA Naredbe za uvjetno, relativno grananje: BRPL, BRMI, BRZ, BRNZ C3 Naredbe za bezuvjetno relativno grananje: BR

Instrukcijski registar Aritmetičke i logičke operacije s konstantom: ADDI, ANDI, … Naredbe za prijenos podataka: LD, ST 31 27 26 22 21 17 16 Op. kod ra rb C1 Upis konstante u spremnik: LA Naredbe za uvjetno, relativno grananje: BRPL, BRMI, BRZ, BRNZ 31 27 26 22 21 Op. kod ra C2 Naredbe za bezuvjetno relativno grananje: BR 31 27 26 Op. kod C3

Pristup memoriji

Izračun uvjeta

Upravljačka logika Upravljačka jedinica ima zadatak generirati upravljačke signale u ispravnom redosljedu (sekvenci) Upravljački signali ovise o: Vremenskom koraku Ti Operacijskom kodu naredbe (za korake različite T0, T1 i T2) …. Komponente upravljačke jedinice su: Generator vremenskih stanja (time state generator) Dekoder naredbi (instruction decoder) Kombinacijska logika za generiranje upravljačkih signala

Sklopovi upravljačke logike Instrukcijski registar op. kod. 5 Dekoder ADD SUB . . . LD T T 1 oscilator T 2 Brojilo Dekoder . . . T 4 . . . . . . . . . T n – 1 . . . . . . . . . Reset . . . Rout PCout ADD PCin Gra GMA Upravljački signali

Sintetiziranje upravljačkih signala PCout, MAin, Inc4, Cin Cout, PCin, Read MDout, IRin Korak Upravljačka sekvenca add Upravlj. sekvenca Grb, Rout, Ain Grc, Rout, ADD, Cin Cout, Gra, Rin, Reset T3. T4. T5. Korak Korak Upravlj. sekvenca Grb, Rout, Ain c2out, ADD, Cin Cout, Gra, Rin, Reset T3. T4. T5. addi Korak Upravlj. sekvenca Grb, BAout, Ain c2out, ADD, Cin Cout, MAin Gra, Rout, MDin, Write Reset T3. T4. T5. T6. T7. st Proces projektiranja Češljanje cjelovitog skupa upravljačkih sekvenci Pronalaženje svih događanja za svaki upravljački signal Pisanje jednadžbe koja opisuje signal Primjer: Gra = T5·(add + addi) + T6·st +...

Sintetiziranje upravljačkih signala Gra = T5·(add + addi) + T6·st +... G r a T 5 6 st d i . . .