ELEKTRONSKI FAKULTET U NIU - PowerPoint PPT Presentation

1 / 57
About This Presentation
Title:

ELEKTRONSKI FAKULTET U NIU

Description:

ELEKTRONSKI FAKULTET U NIU – PowerPoint PPT presentation

Number of Views:123
Avg rating:3.0/5.0
Slides: 58
Provided by: nikolase
Category:

less

Transcript and Presenter's Notes

Title: ELEKTRONSKI FAKULTET U NIU


1
  • ELEKTRONSKI FAKULTET U NIU
  • KATEDRA ZA ELEKTRONIKU
  • SEMINARSKI RAD
  • VHDL OPIS SAYEH PROCESORA
  • Predmet Mikroprocesorski sistemi
  • Profesor Prof.dr. Mile Stojcev
  • Studenti Nikola Sekulovic (10963)
  • Lazar Velimirovic (11017)

  • Ni, jul 2007.

2
SAYEH
  • U delu koji sledi prikazacemo dizajn i opis
    procesora.
  • CPU je SAYEH ( Simple Architecture, Yet
    Enough Hardware - jednostavna arhitektura, ali sa
    dovoljno hardvera) koji je dizajniran za svrhe
    ucenja i testiranja.

3
Detalji funkcionalnosti procesora
  • Jednostavan CPU primer koji je ovde razmatran
    ima registarsko polje koje se koristi za
    instrukcije za obradu podataka.
  • CPU ima 16-bitnu magistralu podataka i
    16-bitnu adresnu magistralu.

4
Slika prikazuje signale SAYEH interfejsa
5
Komponente CPU-a
  • SAYEH komponente koje se koriste za
    instrukcije ukljucuju standardne registre kao to
    su
  • 1. programski brojac
  • 2. instrukcioni registar
  • 3. aritmeticko-logicka jedinica i
  • 4. statusni registar.

6
Komponenete CPU-a
  • Ovaj procesor ima registre koji cine polje
    registara R0,R1, R2, R3, kao i pokazivac
    prozora (Window Pointer) koji definie R0, R1,
    R2, R3 unutar polja registara

7
Komponenete CPU-a
  • CPU komponente i kratak opis svake
  • - PC Programski brojac, 16 bitova
  • - R0, R1, R2, R3 registri opte namene koji su
    deo polja registara, 16 bita
  • -RegFile Registri opte namene koji cine
    prozor od 4 registra u registarskom polju od 8
    registara

8
Komponenete CPU-a
  • - WP Pokazivac prozora ukazuje polju
    registara da definie RO, R1, R2, R3, 3 bita
  • - IR Instrukcijski registar u koji se smeta
    instrukcija, 16 bita

9
Komponenete CPU-a
  • - ALU ALU moe da obavlja sledece aritmeticke i
    logicke operacije nad svojim 16-bitnim
    operandima
  • 1.sabiranje
  • 2.oduzimanje
  • 3.mnoenje
  • 4. AND
  • 5. OR
  • 6. NOT
  • 7. Shiftleft
  • 8. Shiftright i
  • 9.uporedivanje

10
Komponenete CPU-a
  • - Z flag Postaje 1 kada je izlaz iz ALU 0
  • - C flag Postaje 1 kada ALU ima izlaz sa
    prenosom

11
Skup instrukcija SAYEH procesora
12
Skup instrukcija SAYEH procesora
13
Skup instrukcija SAYEH procesora
14
Skup instrukcija SAYEH procesora
15
Skup instrukcija SAYEH procesora
16
SAYEH instrukcije
  • Opti format 8-bitnih i 16-bitnih SAYEH
    instrukcija je prikazan na slici

17
SAYEH instrukcije
  • - OPCODE polje je 4-bitni kod koji odredjuje tip
    instrukcije.
  • - Polja Left (levo) i Right (desno) su 2-bitni
    kodovi koji biraju registre R0 do R3 za izvor
    i/ili odredite instrukcije. Obicno, Left se
    koristi za odredite, a Right za izvor.
  • - Immediate polje se koristi za trenutne
    podatke, ili ako su dve 8-bitne instrukcije
    zapakovane koristi se za drugu instrukciju.

18
SAYEH instrukcije
  • - Na procesor ima ukupno 29 instrukcija
  • - Instrukcije sa I trenutnim poljem su 16-bitne
    instrukcije a ostale su 8-bitne instrukcije
  • - Instrukcije koje koriste polja Destination
    (odredite) i Source (izvor) (oznaceni sa D i S u
    tabeli seta instrukcija) imaju OPCODE koji je
    ogranicen na 4 bita
  • - Instrukcije koje ne zahtevaju specifikaciju
    izvornih i odredinih registara korise ova polja
    kao OPCODE ekstenzije

19
SAYEH staza podataka
  • Glavne komponente SAYEH procesora su
    Addressing Unit(adresna jedinica) koja se sastoji
    od PC (Program Counter-programski brojac) i
    Address Logic (adresna logika), IR (instrukcioni
    registar), WP (Window Pointer), Register File
    koji se sastoji od Left Decoder 1 i Right Decoder
    2, ALU (aritmeticko-logicka jedinica) i Flags
    (zastavice).

20
SAYEH staza podataka
21
Komponente staze podataka
  • Slika pokazuje hijerarhijsku strukturu SAYEH
    komponenti.

22
Komponente staze podataka
  • - Addressing Unit se dalje deli na PC i
    Address Logic.
  • - Addressing Logic(adresna logika) je
    kombinaciono kolo koje je sposobno dodavati svoje
    ulaze u cilju generisanja 16-bitnog izlaza koji
    formira adresu za memoriju procesora.
  • - Program Counter i Instruction Register su
    16-bitni registri.
  • - Register File je dvoportna memorija i polje
    od 8 esnaestobitnih registara.

23
Komponente staze podataka
  • - Window Pointer je trobitni registar koji se
    koristi kao osnova Register File.
  • - Specificni registri za citanje i upis (R0,
    R1, R2 ili R3) u Register File su odredeni svojim
    4-bitnim magistralama koje dolaze iz Instruction
    Registera. 2 bita se koriste za izbor izvornog
    registra, a druga 2 bita biraju odredini
    registar.

24
Komponente staze podataka
  • Kada je Window Pointer aktivan, dodaje svoj
    trobitni ulaz na svoje trenutne podatke.
  • Flags registar je dvobitni registar koji cuva
    flag izlaze iz Aritmetic Unit.
  • Aritmetic Unit je 16-bitna aritmeticka i logicka
    jedinica koja ima odredjene funkcije. 9-bitni
    ulaz bira funkciju ALU-a prikazanu u ovoj
    tabeli. Ovaj kod je obezbedjen od strane
    kontrolera procesora.

25
ALU operacije
26
ALU operacije
27
Blok IR (instrukcioni registar)
  • Blok IR predstavlja 16-bitni registar koji se
    u
  • okviru izvrne jedinice koristi kao instrukcioni
  • registar.
  • Blok IR ima sledece portove
  • Clk ulaz taktnog signala (kad je 1 registar
    pamti sadraj na ulazu),
  • Load ulaz za dozvolu izlaza podataka (kada je
    0 registar je otkacen sa magistrale, a kada je
    1 memorisani sadraj registra se pojavljuje na
    izlazu),
  • 16-bitni ulaz Data ulaz na koji se dovodi
    instrukcija,
  • 16-bitni izlaz Q izlaz iz instrukcionog
    registra usmeren ka upravljackoj jednici
    (kontroleru),
  • 8-bitni izlaz Q1 izlaz koji predstavlja gornjih
    8 bitova iz 16-bitnog ulaza Data.

28
Blok PC (programski brojac)
  • PC predstavlja blok koji odreduje adresu
    naredne instrukcije koju treba izvriti.
  • Blok PC ima sledece portove
  • Clk ulaz taktnog signala (kad je 1 registar
    pamti sadraj na ulazu),
  • PC -16-bitni ulaz
  • 16-bitni ulaz RSide ulaz koji se dovodi iz
    registarskog polja,
  • 8-bitni ulaz IR ulaz koji se dovodi iz
    instrukcionog registra,
  • Izl 16-bitni izlaz koji se vodi na memoriju i na
    ulaz PC-a,
  • Reset PC ulaz koji postavlja izlaz na nula
    vektor,
  • PCplus1 kontrolni signal (ako je 1 sadraj
    brojaca se uvecava za 1) ,
  • PCplusI kontrolni signal (ako je 1 sadraj
    brojaca se uvecava za vrednost IR),
  • R0plusI kontrolni signal (ako je 1 na izlazu
    brojaca je zbir ulaza RSide i ulaza IR ),
  • R0plus0 kontrolni signal (ako je 1 na izlazu
    brojaca je ulaz RSide ),
  • Jmp kontrolni signal (ako je 1 ulaz PC se samo
    prosleduje na izlaz Izl).

29
Blok WP (pokazivac prozora)
  • WP je 3-bitni registar koji ukazuje na jedan
    od osam registara u polju Register File.
  • Blok WP ima sledece portove
  • Clk ulaz taktnog signala (kad je 1 registar
    pamti sadraj na ulazu),
  • Data trobitni ulaz
  • Q trobitni izlaz koji definie registar u
    registarskom polju,
  • WPreset kontrolni ulaz (ako je 1 izlaz Q je
    nula vektor),
  • WPadd kontrolni ulaz (ako je 1 ulaz se dodaje
    na trenutno stanje WP-a).

30
Blok FR
  • FR je 2-bitni registar koji opisuje stanje
    aritmeticko-logicke jedinice.
  • Blok FR ima sledece portove
  • Clk ulaz taktnog signala (kad je 1 registar
    pamti sadraj na ulazu),
  • Cout, Zout 1-bitni ulazi,
  • C,Z 1-bitni izlazi,
  • Cset kontrolni ulaz (ako je 1 izlaz C se
    postavlja na 1),
  • Creset kontrolni ulaz (ako je 1 izlaz C se
    postavlja na 0),
  • Zset kontrolni ulaz (ako je 1 izlaz Z se
    postavlja na 1),
  • Zreset kontrolni ulaz (ako je 1 izlaz Z se
    postavlja na 0).

31
Blok RF (registarsko polje)
  • Register File predstavlja polje od osam
    16-bitnih registara.
  • Blok Register File ima sledece portove
  • Clk ulaz taktnog signala (kad je 1 registar
    pamti sadraj na ulazu),
  • Data -16-bitni ulaz
  • Rd, Rs 16-bitni izlazi koji predstavljaju
    operande za aritmeticko-logicku jedinicu,
  • WP 3-bitni kontrolni signal koji definie
    registar,
  • Sel 4-bitni kontrolni signal (donja dva bita se
    koriste za definisanje izvora(source), a gornja
    dva za definisanje odredita (destination) ),
  • WEL kontrolni signal (ako je 1 na mestu osam
    niih bitova u registru koji je definisan
    kontrolnim signalom WP upisace se niih osam
    bitova sa ulaza DATA),
  • WEH kontrolni signal (ako je 1 na mestu osam
    viih bitova u registru koji je definisan
    kontrolnim signalom WP upisace se osam viih
    bitova sa ulaza DATA).

32
Aritmeticko-logicka jedinica
  • U sledecoj tabeli prikazane su operacije
    koje izvrava aritmeticko-logicka jedinica
    procesora SAYEH.

33
Aritmeticko-logicka jedinica
  • Aritmeticko-logicka jedinica ima sledece
    portove
  • Clk ulaz taktnog signala,
  • B15to0 ulazni kontrolni signal (ako je 1 ulaz
    B se propusti na izlaz ALUout),
  • AandB ulazni kontrolni signal (ako je 1
    izvrava se logicka operacija 'i' ),
  • AorB ulazni kontrolni signal (ako je 1
    izvrava se logicka operacija 'ili' ),
  • NotB ulazni kontrolni signal (ako je 1 vri se
    komplementiranje ulaza B),
  • AaddB ulazni kontrolni signal (ako je 1
    izvrava se sabiranje nad ulaznim operandima),
  • AsubB ulazni kontrolni signal (ako je 1 ALU
    jedinica od operanda na ulazu A oduzima operand
    na ulazu B),
  • AmulB ulazni kontrolni signal (ako je 1
    izvrava se mnoenje ulaznih operanada),
  • AcmpB ulazni kontrolni signal (ako je 1 ulaz A
    se poredi sa ulazom B),
  • ShrB ulazni kontrolni signal (ako je 1 sadraj
    ulaza B se pomera za jedno mesto ulevo),
  • ShlB ulazni kontrolni signal (ako je 1 sadraj
    ulaza B se pomera za jedno mesto udesno),
  • 16-bitni ulaz A ulaz podataka,
  • 16-bitni ulaz B ulaz podataka,
  • 16-bitni izlaz ALUout izlaz rezultata
    operacije,
  • jednobitni izlazi Cout, Zout izlazi statusnih
    markera.

34
Blok memorija
  • Blok memorije ima sledece portove
  • 16-bitni ulaz Addr adresni ulaz memorije,
  • jednobitni ulaz RE kontrolni signal (ako je 1
    dozvoljeno je icitavanje podataka iz memorije),
  • jednobitni ulaz WE kontrolni signal (ako je 1
    dozvoljeno je upisivanje podataka u memoriju),
  • Data 16-bitni ulaz podataka,
  • Q 16-bitni izlaz podataka.

35
Multiplekser
  • Multiplekser SAYEH procesora ima sledece
    portove
  • I0 i I1 4-bitni ulazi,
  • O - 4-bitni izlaz,
  • Shadow kontrolni signal (ako je 1 na izlaz se
    vodi I0, a ako je 0 na izlaz se vodi I1).

36
Trostaticki bafer 1
  • Bafer 1 SAYEH procesora ima sledece portove
  • I 8-bitni ulaz,
  • O - 8-bitni izlaz,
  • IR_on_LOpndBus kontrolni signal (ako je 1 ulaz
    I se vodi na izlaz O koji se dalje upisuje na
    mesto niih 8 bitova operanda Rs).

37
Trostaticki bafer 2
  • Bafer 2 SAYEH procesora ima sledece portove
  • I 8-bitni ulaz,
  • O - 8-bitni izlaz,
  • IR_on_HOpndBus kontrolni signal (ako je 1 ulaz
    I se vodi na izlaz O koji se dalje upisuje na
    mesto viih 8 bitova operanda Rs).

38
Trostaticki bafer 3
  • Bafer 3 SAYEH procesora ima sledece portove
  • I 16-bitni ulaz,
  • O - 16-bitni izlaz,
  • RFright_on_OpndBus kontrolni signal (ako je 1
    ulaz I se vodi na izlaz O koji se dalje vodi na
    ulaz B aritmeticko-logicke jedinice).

39
Trostaticki bafer 4
  • Bafer 4 SAYEH procesora ima sledece portove
  • I 16-bitni ulaz,
  • O - 16-bitni izlaz,
  • Rs_on_AddressUnitRside kontrolni signal (ako je
    1 ulaz I (odnosno operand Rs) se vodi na izlaz O
    koji se dalje vodi na ulaz Rside bloka PC).

40
Trostaticki bafer 5
  • Bafer 5 SAYEH procesora ima sledece portove
  • I 16-bitni ulaz,
  • O - 16-bitni izlaz,
  • Rd_on_AddressUnitRside kontrolni signal (ako je
    1 ulaz I (odnosno operand Rd) se vodi na izlaz O
    koji se dalje vodi na ulaz Rside bloka PC).

41
Trostaticki bafer 6
  • Bafer 6 SAYEH procesora ima sledece portove
  • I 16-bitni ulaz,
  • O - 16-bitni izlaz,
  • ALUout_on_Databus kontrolni signal (ako je 1
    ulaz I (odnosno izlaz iz aritmeticko-logicke
    jedinice) se vodi na izlaz O tj. na magistralu
    podataka).

42
Trostaticki bafer 7
  • Bafer 7 SAYEH procesora ima sledece
    portove
  • I 16-bitni ulaz,
  • O - 16-bitni izlaz,
  • Address_on_Databus kontrolni signal (ako je 1
    ulaz I (odnosno adresa koju generie blok PC) se
    vodi na magistralu podataka).

43
Kontroler
  • Upravljacka jedinica slui da na
    osnovu trenutne instrukcije izvri generisanje
  • upravljackih signala. Upravljacka jednica
    procesora SAYEH je realizovana kao upravljacka
    jedinica sa direktnim upravljanjem (eng.
    hardwired control).

44
Kontroler
  • Blok CU ima sledece portove
  • Clock taktni signal procesora,
  • IR tekuca instrukcija,
  • External Reset signal kojim se resetuje stanje
    procesora,
  • MemDataReady signali dozvole (ako je 1 moguce
    je citanje podataka iz memorije ili upis podataka
    u memoriju),
  • jednobitni ulazi C, Z statusni markeri ALU-a,
  • ReadIO, WriteIO signali koji se alju
    ulazno-izlaznim jedinicama,
  • 36-bitni izlaz Control upravljacki signali
    izvrne jedinice.

Control
45
Procesor SAYEH
  • Blokovi koji su do sada opisani povezani su na
    sledeci nacin

46
Testiranje sintetizovanog procesora
  • Programskom sekvencom od est naredbi
    testiracemo korektnost rada sintetizovanog
    procesora SAYEH.
  • Add R1, R6 R1 ? R1 R6
  • Shl R7 R0 ? Shl R7
  • Or R3, R7 R3 ? R3 Or R7
  • Not R5 R0 ? Not R5
  • Sub R1, R6 R1 ? R1 R6
  • Sta (R3), R4 mem(R3) ? R4

47
Definisanje inicijalnih vrednosti memorijskih
lokacija
  • Sadraj programske memorije za odgovarajucu
    programsku sekvencu treba da bude sledeceg
    oblika
  • Memory01011011000000000B600 Add R1,R6
  • Memory110010011000000009300 Shl R7
  • Memory201111111000000007F00 Or R3,R7
  • Memory310000001000000008100 Not R5
  • Memory41100011000000000C600 Sub R1,R6
  • Memory500111100000000003C00 Sta
    (R3),R4
  • Napomena Mainski kod, cetiri MS bita
    instrukcije, oznacen je crvenom bojom, naredna
    cetiri bita oznacena plavom bojom specificiraju
    izvorini i odredini operand instrukcije,
    zadnjih osam bitova specificiraju neposrednu
    vrednost opkoda instrukcije, tj. polje koje se
    naziva imm. Kada se opkodom ne specificira
    koricenje polja imm tada je njegova vrednost
    00h.

48
Definisanje sadraja registara registarskog polja
  • Sadraj registara registarskog polja pre pocetka
    izvrenja programske sekvence treba biti sledeci
  • Reg_file000000000000000000000
  • Reg_file100000000000000010001
  • Reg_file20000000000001010000A
  • Reg_file300000000000000110003
  • Reg_file400000000000001000004
  • Reg_file500000000000001010005
  • Reg_file600000000000001100006
  • Reg_file700000000000001110007

49
Sadraj registara pre izvrenja programske
sekvence
50
Sadraj registara nakon prve instrukcije ( Add
R1,R6 R1 ? R1 R6 )
51
Sadraj registara nakon druge instrukcije (Shl
R7 R0 ? Shl R7)
52
Sadraj registara nakon trece instrukcije (Or
R3,R7 R3 ? R3 Or R7 )
53
Sadraj registara nakon cetvrte instrukcije(Not
R5 R0 ? Not R5 )
54
Sadraj registara nakon pete instrukcije (Sub
R1,R6 R1 ? R1 R6)
55
Sadraj registara i memorije nakon este
instrukcije (Sta (R3),R4 mem(R3) ? R4)
56
Zakljucak
  • VHDL je jedan od najcece koricenih jezika za
    opis hardware-a
  • Prednosti upotrebe VHDL-a
  • jednostavna i efikasna implementacija
  • skraceno vreme dizajniranja
  • laka detekcija greaka
  • jednostavno testiranje
  • visok nivo apstrakcije
  • maksimalno tacan i pouzdan dizajn uz najmanju
    cenu u najkracem roku razvijanja
  • Zbog navedenih prednosti VHDL se cesto koristi u
    procesima dizajniranja komponenti i razvoja
    sloenih sistema

57
Autori
  • Ime i prezime Nikola Sekulovic
  • Rodjen 27.04.1983.
  • Mesto Ni
  • kola Elektronski fakultet
    , Ni
  • Smer
    telekomunikacije
  • Broj indeksa 10963
  • Kontakt sekulani_at_bankerinter.net
  • Ime i prezime Lazar Velimirovic
  • Rodjen 17.05.1983.
  • Mesto Prokuplje
  • kola Elektronski fakultet ,
    Ni
  • Smer
    telekomunikacije
  • Broj indeksa 11017
  • Kontakt lami_at_bankerinter.net
Write a Comment
User Comments (0)
About PowerShow.com