Documente Academic
Documente Profesional
Documente Cultură
Coninutul Laboratorului:
Laborator
1
Introducere ISE Xilinx
2
CPU - componente
Tema de casa
3
4
5
6
7
8
9
10
11
12
13
14
Proiectare sisteme
digitale
Evaluri:
- Examen scris (E).
- Evaluarea lucrrilor de laborator (LA).
- Evaluarea temelor de casa (HA).
Nota = 0.5*E + 0.5*(0.7*LA + 0.3*HA)
Condiia de promovare E >4 & LA >4 & HA >4
Bibliografie:
[1] D. A. Patterson, J. L. Hennessy, Computer Organization and Design: The
Hardware/Software Interface, 3rd edition, ed. MorganKaufmann, 2005.
[2] D. A. Patterson and J. L. Hennessy, Computer Organization and Design: A Quantitative
Approach, 3rd edition, ed. Morgan-Kaufmann, 2003.
[3] Vincent P. Heuring, et al., Computer Systems Design and Architecture, AddisonWesley, USA, 1997.
[4] D. M. Harris, S. L. Harris, Digital Design and Computer Architecture ('DDCA'), Morgan
Kaufmann, San Francisco, 2007. ISBN 13: 978-0-12-370497-9; ISBN 10: 0-12-370494-9
[5] D. A. Patterson, J. L. Hennessy, ORGANIZAREA SI PROIECTAREA
CALCULATOARELOR. INTERFATA HARDWARE/SOFTWARE, Editura ALL, Romania,
ISBN: 973-684-444-7.
Arhitectura Calculatoarelor; pagina WEB:: http://users.utcluj.ro/~nedevski/CA
Cursul este disponibil: http://users.utcluj.ro/~nedevski/CA/schedule.html
Lucrri de laborator: http://users.utcluj.ro/~nedevski/CA/labs.html
Actualizari: Serverdomeniu, Laborator, Curs - Tabla
Computer Architecture is the science and art of selecting and interconnecting hardware
components to create computers that meet functional, performance and cost goals. WWW Computer Architecture Page
5 clase de calculatoare.
Vanzari in 2010 ~ 1.8 billion PMDs (90% cell phones), 350 million desktop PCs, si 20
million servers. Numar total de embedded processorsvandute ~19 billion.
ARM (Advanced RISC Machine) cel mai popular RISC
ARM processors ~ 6.1 billion chips in 2010, ~ 20 de ori mai multe ca procesoare 80x86
Tablete si smart phon-uri -- era PostPC, PC personal mobile device (PMD)
Opt idei mari in arhitectura calculatoarelor
1
Proiectare tinand seama de legea lui Moore
Resurse de circuite integrate se dubleaza fiecare 18 24 luni, predictie din 1965 de
Gordon Moore, unul dintre fondatorii Intel.
Proiectare calculatoarelor dureaza ani arhitectii trebuie sa anticipeze starea
tehnologiei la momentul finalizarii proiectului
2
Folosirea abstractiilor pentru simplificarea proiectarii
Cresterea productivitatii proiectarii prin folosirea abstractiilor pentru reprezentarea
proiectelor la diferite nivele de reprezentare; detaliile de nivele mai joase sunt mascate
pentru a oferi un model mai simplu la nivele mai inalte
3
Executia rapida ale cazurilor comune
Mai productiv decat optimizarea cazurilor rare
o Experimentari pentru stabilirea cazurilor comune
4
Performanta prin paralelism
Cresterea performantei prin executerea sarcinilor in paralel
Paralelism la nivel de date latimea datelor
Instruction level parallelism ILP Paralelism la nivel de instructiuni - pipeline
Thread level parallelism TLP multithreading incarcarea unitatilor functionale
Paralelism la nivel de procesor multicore, multiprocessor
5
Performanta prin Pipeline
Paralelism important cu denumire consacrata: pipelining.
6
Performanta prin Predictie
Executie pe baza de predictie
Nu se asteapta pentru o executie sigura, presupunand
o Mecanism pentru rezolvarea predictiilor eronate
Predictia salturilor conditionate, executie speculativa
7
Hierarhia Memoriilor
Memorii rapide, mici si scumpe la varful hierarhiei.
Hierarhia abstractiunilor
Layout/silicon level
Circuit level
Algorithmic level
System level
Interfata hardware-software
Nivele de abstractie
Gajskis Y-chart.
Behavioral Domain: comportament specificatie - ce trebuie sa realizeze priectul
Structural Domain: maparea reprezentarii coportamentale la componente
Physical Domain: transferul structurii pe siliciu
Aceeasi ISA - organizari diferite; MIPS: single cycle, multi cycle, pipelined
O arhitectura particulara se poate implementa prin microarhitecturi diferite, cu diferite
constrangeri de pret/performanta/putere -- compatibilitate
Modern ISA-uri:
IA-32, PowerPC, MIPS, SPARC, ARM, .
Componentele ISA
Organizarea memoriei programabile - memorii, registri
Tipuri de date: codificare si reprezentare
Setul/formate de instructiuni
Moduri de adresare si accesarea datelor/instructuiunilor
Conditii de exceptii (intreruperi, protectii, I/O)
CISC (Complex Instruction Set Computing) x86
Exemple: x86, VAX, Motorola 68000, etc.
RISC Inside
CISC characteristcs
multe operatii multicycle
microcod pentru operatii multi-cycle
register-memory si memory-memory
# mare
multe formate si lungimi
numar redus de registre
Princeton
Harvard
- Memorie comuna pentru instructiuni si date
- Memorii separate pentru instructiuni si date
Assignment.
=,
Tests for equality and inequality.
||
Bit string concatenation.
XY
Data transfer of contents of regY to regX
X0
Clears regX
XY+Z
Adds contents of regY with regZ, load into regX
X Y v Z
Ors contents of regY with regZ, load into regX
DR M[MAR]
Load into DR the contents of memory pointed to by MAR
R1 >> R1
Register R1 one bit right shift, with 0 into left-most bit
R2 << R1
Register R1 one bit left shift, with 0 into right-most bit
X Y, A B
Parallel transfers
(cond) A B
If cond = 1 then transfer contents of regB into regA
S0 A B
P (ab) R2 R3
If (A)then B else C
Diagrama de stari
Diagrama ASM
Junctiune - SAU
Codificarea starilor - One Hot FSM (1 FF/stare)
Iesire Conditionata - SI
Specificatie comportamentala
HLS
single-assignment form
DATA-FLOW conditional
Doua noduri speciale:
HLS faze de realizare
Alocarea resurselor Selectia tipului si cantitatii componentelor hardware utilizabile
Planificare Alocarea operatiilor pe faze de executie in timp, respectand relatiile de
precedenta
Asocierea - Asocierea operatiilor la componente hardware utilizabile
Sinteza unitatii de comanda Proiectarea unitatii de comanda
Sequential Ops
Chaining
Parallel scheduling
CHAINING Inlantuire
Multi-cycle unit
Pipelined unit
As-Soon-As-Possible
As-late-As-Possible
Fara inlantuire
Doua adunari inlantuite
Inmultire multiciclu
Operatii inlantuite si multiciclu echilibrarea duratelor operatiilor in perioade de ceas
DFG
program fragment
repeat
xl = x + dx;
ul = u - (3 * x * u * dx) - (3 * y * dx);
yl = y + u * dx;
c = xl < a;
x = xl; u = ul; y = yl;
until (c);
xl = x + dx
ul = u-(3.x.u.dx)-(3.y.dx)
yl = y+ u. dx
c = x<a
Exemplu 1 specificatie
SCHEDULING AND BINDING.
v10
v1-v7
v8, v9
v11
Planificare ASAP
Planificare Critical-path list
Planificare conform unei Liste
Op 3 prioritate mai mare decat Op 1
- o criterie se foloseste pentru selectie dintre operatiile care au predecesoarele planificate
o Planificare conform Caii Critice
- criteria de sortare este lungimea caii de la operatia la iesire
- rezultate bune in practica
As late as possible (ALAP)
- similar cu ASAP, dar planificare de la iesiri la intrari
Planificare pe baza de mobilitate/libertate
- se planifica ASAP si ALAP
- diferenta in planificare determina mobilitatea sau libertatea operatiei
(operatiile in calea critica au mobilitate zero).
- mobilitatea se exploateaza pentru o planificare eficienta
.
Example 1: Planificare ASAP
ALAP, resurse
Mobility: operations (1 5) = 0, (6, 7) = 1, (8, 9, 10, 11) = 2.
Planificare cu constrangeri de resurse
1 inmultitor si 1 ALU
Durata ALU si inmultitor - 1 cycle.
Durata de viata variabile numarul ciclurilor de ceas in care variabila este utilizata
Analizarea duratelor de viata pentru toate variabilele
Stabilirea numarului necesar de registri
Sinteza cailor de date si a unitatii de comanda
Alocarea si conectarea componentelor
Functional Units
Registers
Reg.Files
BUSes
MUXs
Cai de date
Basys2
Basys2 board
Xilinx Spartan-3E FPGA
Programming Circuits
and Atmel AT90USB2 USB controller
Flash select - Mode Jumper (JP3) - ROM.
Meta-stabilitate si sincronizare
Circuit PWM
4x 7-segment afisor
5
7
2
4
1
3
Imax/Imedie luminozitate
31-16
15-0
31
1
0
32-bit Register 0
Hex
To
7seg
8888
2 to 4
DEC
SW
Div Freq
Afisor 7segment
16
3
2
1
0
RS232 standard
PC -- HyperTerminal
RS232 - MAX232 voltage converter
TTL: logic 1 = +5V; RS232: logic 1 = from -3V to - 15V
ASCII codes
Data format Error: parity, overrun- receiver empty, frame stop bit; detection
UART receiver
The ASMD chart for the receiver
D-BIT - the number of data bits
SB-TICK - the number of ticks needed for the stop bits, which is
16, 24, and 32 for
1, 1.5, and 2 stop bits, respectively
s - t i c k signal (RXx16) is the enable tick from the baud rate generator and there are 16
ticks in a bit interval.
The FSM stays in the same state unless the s - t i c k signal is asserted.
The s counter -- keeps track of the nr. of sampling ticks and counts to
o 7 in the s t a r t state, to
o 15 in the data state, and to
o SB-TICK in the s t o p state.
The n counter -- keeps track of the nr. of data bits received in the data state.
The retrieved bits are shifted into and reassembled in the b register.
Status signal, rx-done-tick -- asserted for one clock cycle after the receiving process is
completed.
FSM inainte
FSM dupa partitionare
FSM-uri care comunica Protocol cu 4 faze - handshaking protocol
Diagrama ASM
Transfer
Transfer
Handshaking cu synchronizare
Talker FSM
Listener FSM
Diagrame ASM pentru talker si listener protocol cu 4 faze