57
ELEKTRONSKI FAKULTET U NIŠU ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Predmet: Mikroprocesorski sistemi Profesor Profesor : : Prof.dr. Mile Stojčev Prof.dr. Mile Stojčev Studenti: Studenti: Nikola Sekulović (10963) Nikola Sekulović (10963) Lazar Velimirović (11017) Lazar Velimirović (11017) Niš, jul 2007. Niš, jul 2007.

ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

  • Upload
    lona

  • View
    60

  • Download
    5

Embed Size (px)

DESCRIPTION

ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemi Profesor : Prof.dr. Mile Stojčev Studenti: Nikola Sekulović (10963) Lazar Velimirović (11017) Niš, jul 2007. SAYEH. - PowerPoint PPT Presentation

Citation preview

Page 1: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

ELEKTRONSKI FAKULTET U NIŠUELEKTRONSKI FAKULTET U NIŠUKATEDRA ZA ELEKTRONIKUKATEDRA ZA ELEKTRONIKU

SEMINARSKI RADSEMINARSKI RAD

VHDL OPIS SAYEH PROCESORAVHDL OPIS SAYEH PROCESORA Predmet: Mikroprocesorski sistemiPredmet: Mikroprocesorski sistemi

ProfesorProfesor: : Prof.dr. Mile StojčevProf.dr. Mile Stojčev Studenti:Studenti: Nikola Sekulović (10963)Nikola Sekulović (10963) Lazar Velimirović (11017)Lazar Velimirović (11017)

Niš, jul 2007.Niš, jul 2007.

Page 2: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

SAYEHSAYEH

U delu koji sledi prikazaćemo dizajn i opis procesora. U delu koji sledi prikazaćemo dizajn i opis procesora.

CPU je CPU je SAYEH SAYEH ( ( Simple Architecture, Yet EnoughSimple Architecture, Yet Enough Hardware Hardware - - jednostavna arhitektura, ali sa dovoljno hardvera) koji je dizajniran za jednostavna arhitektura, ali sa dovoljno hardvera) koji je dizajniran za svrhe učenja i testiranja.svrhe učenja i testiranja.

Page 3: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Detalji funkcionalnosti procesoraDetalji funkcionalnosti procesora

Jednostavan CPU primer koji je ovde Jednostavan CPU primer koji je ovde razmatran ima registarsko polje koje se koristi razmatran ima registarsko polje koje se koristi za instrukcije za obradu podataka. za instrukcije za obradu podataka.

CPU ima 16-bitnu magistralu podataka i 16-CPU ima 16-bitnu magistralu podataka i 16-bitnu adresnu magistralu. bitnu adresnu magistralu.

Page 4: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Slika prikazuje signale SAYEH interfejsaSlika prikazuje signale SAYEH interfejsa

Page 5: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Komponente CPU-aKomponente CPU-a

SAYEH komponente koje se koriste zaSAYEH komponente koje se koriste za instrukcijinstrukcijee uključuju standardne registre kao što su:uključuju standardne registre kao što su:

1.1. programski brojačprogramski brojač

2.2. instrukcioni registarinstrukcioni registar

3.3. aritmetičko-logička jedinica i aritmetičko-logička jedinica i

4.4. statusni registar.statusni registar.

Page 6: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Komponenete CPU-aKomponenete CPU-a

Ovaj procesor ima registre koji čine polje registara R0,R1, R2, Ovaj procesor ima registre koji čine polje registara R0,R1, R2, R3, kao i pokazivač prozora (R3, kao i pokazivač prozora (Window PointerWindow Pointer) koji definiše ) koji definiše R0, R1, R2, R3 unutar polja registara R0, R1, R2, R3 unutar polja registara

Page 7: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Komponenete CPU-aKomponenete CPU-a

CPU komponente i kratak opis svake:CPU komponente i kratak opis svake:

- PC: Programski brojač, 16 bitova- PC: Programski brojač, 16 bitova - R0, R1, R2, R3 registri opšte namene koji su deo - R0, R1, R2, R3 registri opšte namene koji su deo

polja registara, 16 bitapolja registara, 16 bita -RegFile: Registri opšte namene koji čine prozor od 4 -RegFile: Registri opšte namene koji čine prozor od 4

registra u registarskom polju od 8 registara registra u registarskom polju od 8 registara

Page 8: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Komponenete CPU-aKomponenete CPU-a

- WP: Pokazivač prozora ukazuje polju registara da definiše - WP: Pokazivač prozora ukazuje polju registara da definiše RO, R1, R2, R3, 3 bitaRO, R1, R2, R3, 3 bita

- IR: Instrukcijski registar u koji se sme- IR: Instrukcijski registar u koji se smešta instrukcijašta instrukcija, 16 bita, 16 bita

Page 9: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Komponenete CPU-aKomponenete CPU-a

- ALU: ALU može da obavlja sledeće aritmetičke i - ALU: ALU može da obavlja sledeće aritmetičke i logičke operacije nad svojim 16-bitnim operandima: logičke operacije nad svojim 16-bitnim operandima:

1.sabiranje 1.sabiranje 2.oduzimanje 2.oduzimanje 3.množenje3.množenje4. AND4. AND5. OR5. OR6. NOT6. NOT7. Shiftleft7. Shiftleft8. Shiftright i 8. Shiftright i 9.upoređivanje 9.upoređivanje

Page 10: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Komponenete CPU-aKomponenete CPU-a

- Z flag: Postaje 1 kada je izlaz iz ALU 0- Z flag: Postaje 1 kada je izlaz iz ALU 0

- - C flag: Postaje 1 kada ALU ima izlaz sa prenosomC flag: Postaje 1 kada ALU ima izlaz sa prenosom

Page 11: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Skup instrukcija SAYEH procesoraSkup instrukcija SAYEH procesora

InstructionInstructionMnemonic andMnemonic andDefinition Definition

BitsBits

15:0 15:0 RTL notation:RTL notation:comments orcomments orconditioncondition

nopnop - No operation - No operation 0000-00-00 0000-00-00 No operation No operation

hlthlt - Halt - Halt 0000-00-01 0000-00-01 Halt, fetching stops Halt, fetching stops

szfszf - Set zero flag - Set zero flag 0000-00-10 0000-00-10 Z <= 1' Z <= 1'

czfczf - Clr zero flag - Clr zero flag 0000-00-11 0000-00-11 Z <= '0' Z <= '0'

scfscf - Set carry flag - Set carry flag 0000-01-00 0000-01-00 C<='1' C<='1'

Page 12: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Skup instrukcija SAYEH procesoraSkup instrukcija SAYEH procesora

ccf ccf - Clr carry flag- Clr carry flag 0000-01-01 0000-01-01 C <= '0' C <= '0'

cwpcwp - ClrWindow - ClrWindow pointerpointer

0000-01-10 0000-01-10 WP <= "000" WP <= "000"

mvrmvr - Move Register - Move Register 0001-D-S 0001-D-S Rd <= Rs Rd <= Rs

idaida - Load Addressed - Load Addressed 0010-D-S 0010-D-S Rd <= (Rs) Rd <= (Rs)

stasta - Store Addressed - Store Addressed 0011-D-S 0011-D-S (Rd) <= Rs (Rd) <= Rs

inpinp - Input from port - Input from port 0100-D-S 0100-D-S In from Rs write to In from Rs write to Rd Rd

Page 13: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Skup instrukcija SAYEH procesoraSkup instrukcija SAYEH procesora

oupoup - Output to port - Output to port 0101-D-S 0101-D-S Out to port Rd from Out to port Rd from Rs Rs

andand - AND Registers - AND Registers 0110-D-S 0110-D-S Rd <= Rd & Rs Rd <= Rd & Rs

oror - OR Registers - OR Registers 0111-D-S 0111-D-S Rd <= Rd I Rs Rd <= Rd I Rs

not not - NOT Register- NOT Register 1000-D-S 1000-D-S Rd <= ~Rs Rd <= ~Rs

shl shl - Shift Left- Shift Left 1001-D-S 1001-D-S Rd <= sla Rs Rd <= sla Rs

shrshr - Shift Right - Shift Right 1010-D-S 1010-D-S Rd <= sra RsRd <= sra Rs

Page 14: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Skup instrukcija SAYEH procesoraSkup instrukcija SAYEH procesoraaddadd - Add Registers - Add Registers 1011-D-S 1011-D-S Rd <= Rd + Rs + C Rd <= Rd + Rs + C

subsub - Subtract - SubtractRegistersRegisters

1100-D-S 1100-D-S Rd <= Rd - Rs - C Rd <= Rd - Rs - C

mulmul - Multiply - MultiplyRegistersRegisters

1101-D-S 1101-D-S Rd <= Rd * Rd <= Rd * Rs Rs :8-bit:8-bitmultiplicationmultiplication

cmpcmp – Compare – Compare 1110-D-S 1110-D-S Rd, Rs Rd, Rs (if (if equal:equal:Z=1;Z=1; if ifRd<Rs: C=1Rd<Rs: C=1))

milmil - Move Immd - Move Immd LowLow

1111-D-00-I 1111-D-00-I Rdl <= {8'bZ, I} Rdl <= {8'bZ, I}

mihmih - Move Immd - Move Immd HighHigh

1111-D-01-I 1111-D-01-I Rdh <= {I, 8'bZ } Rdh <= {I, 8'bZ }

Page 15: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Skup instrukcija SAYEH procesoraSkup instrukcija SAYEH procesora

spcspc - Save PC - Save PC 1111-D-10-I 1111-D-10-I Rd <= PC + I Rd <= PC + I

jpajpa - Jump - Jump AddressedAddressed

1111-D-ll-I 1111-D-ll-I PC <= Rd + I PC <= Rd + I

jpr jpr - Jump Relative- Jump Relative 0000-01-11-I 0000-01-11-I PC <= PC + I PC <= PC + I

brzbrz - Branch if Zero - Branch if Zero 0000-10-00-I 0000-10-00-I PC <= PC + I PC <= PC + I :if Z :if Z is 1is 1

brcbrc - Branch if - Branch if CarryCarry

0000-10-01-I 0000-10-01-I PC <= PC + I PC <= PC + I :if C :if C is 1is 1

awpawp - Add Win pntr - Add Win pntr 0000-10-10-I 0000-10-10-I WP <= WP + I WP <= WP + I

Page 16: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

SAYEH instrukcijeSAYEH instrukcije Opšti format 8-bitnih i 16-bitnih SAYEH instrukcija je Opšti format 8-bitnih i 16-bitnih SAYEH instrukcija je

prikazan na slici:prikazan na slici:

15 15 1212

11 11 1010

09 0809 08 07 0007 00

opcodeopcode leftleft rightright immediatimmediatee

Page 17: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

SAYEH instrukcijeSAYEH instrukcije

- OPCODE polje je 4-bitni kod koji odredjuje tip - OPCODE polje je 4-bitni kod koji odredjuje tip instrukcije. instrukcije.

- Polja - Polja Left Left (levo) i (levo) i Right Right (desno) su 2-bitni (desno) su 2-bitni kodovi koji biraju registre R0 do R3 za izvor kodovi koji biraju registre R0 do R3 za izvor i/ili odredište instrukcije. Obično, i/ili odredište instrukcije. Obično, Left Left se koristi se koristi za odredište, a za odredište, a RightRight za izvor. za izvor.

- - ImmediateImmediate polje se koristi za trenutne podatke, polje se koristi za trenutne podatke, ili ako su dve 8-bitne instrukcije zapakovane ili ako su dve 8-bitne instrukcije zapakovane koristi se za drugu instrukciju.koristi se za drugu instrukciju.

Page 18: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

SAYEH instrukcijeSAYEH instrukcije

- Naš procesor ima ukupno 29 instrukcija- Naš procesor ima ukupno 29 instrukcija- Instrukcije sa I trenutnim poljem su 16-bitne instrukcije a - Instrukcije sa I trenutnim poljem su 16-bitne instrukcije a

ostale su 8-bitne instrukcijeostale su 8-bitne instrukcije- Instrukcije koje koriste polja - Instrukcije koje koriste polja Destination Destination (odredište) i (odredište) i

Source Source (izvor) (označeni sa D i S u tabeli seta instrukcija) (izvor) (označeni sa D i S u tabeli seta instrukcija) imaju OPCODE koji je ograničen na 4 bitaimaju OPCODE koji je ograničen na 4 bita

- Instrukcije koje ne zahtevaju specifikaciju izvornih i - Instrukcije koje ne zahtevaju specifikaciju izvornih i odredišnih registara korise ova polja kao OPCODE odredišnih registara korise ova polja kao OPCODE ekstenzijeekstenzije

Page 19: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

SAYEH staza podatakaSAYEH staza podataka

Glavne komponente Glavne komponente SAYEHSAYEH procesora su procesora su Addressing Addressing UnitUnit(adresna jedinica) koja se sastoji od (adresna jedinica) koja se sastoji od PC (Program PC (Program CounterCounter-programski brojač-programski brojač)) i i Address Logic Address Logic (adresna (adresna logika), logika), IRIR (instrukcioni registar), (instrukcioni registar), WPWP ( (Window PointerWindow Pointer), ), RegisterRegister File File koji se sastoji od koji se sastoji od Left Decoder 1Left Decoder 1 i i Right Right Decoder 2Decoder 2, , ALUALU (aritmetičko-logička jedinica) i (aritmetičko-logička jedinica) i Flags Flags (zastavice).(zastavice).

Page 20: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

SAYEH staza podatakaSAYEH staza podataka

Page 21: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Komponente staze podatakaKomponente staze podataka Slika pokazuje hijerarhijsku strukturu SAYEH Slika pokazuje hijerarhijsku strukturu SAYEH

komponenti.komponenti.

Page 22: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Komponente staze podatakaKomponente staze podataka

- Addressing Unit- Addressing Unit se dalje deli na se dalje deli na PCPC i i Address LogicAddress Logic..

- Addressing Logic- Addressing Logic(adresna logika) je kombinaciono (adresna logika) je kombinaciono kolo koje je sposobno dodavati svoje ulaze u cilju kolo koje je sposobno dodavati svoje ulaze u cilju generisanja 16-bitnog izlaza koji formira adresu za generisanja 16-bitnog izlaza koji formira adresu za memoriju procesora.memoriju procesora.

- Program Counter i Instruction Register- Program Counter i Instruction Register su 16-bitni su 16-bitni registri.registri.

- Register File- Register File je dvoportna memorija i polje od 8 je dvoportna memorija i polje od 8

šesnaestobitnih registara. šesnaestobitnih registara.

Page 23: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Komponente staze podatakaKomponente staze podataka

- - Window PointerWindow Pointer je trobitni registar koji se koristi kao je trobitni registar koji se koristi kao osnova osnova Register FileRegister File..

- Specifični registri za čitanje i upis (R0, R1, R2 ili R3) - Specifični registri za čitanje i upis (R0, R1, R2 ili R3) u u Register FileRegister File su određeni svojim 4-bitnim su određeni svojim 4-bitnim magistralama koje dolaze iz magistralama koje dolaze iz InstructionInstruction RegisteraRegistera. 2 . 2 bita se koriste za izbor izvornog registra, a druga 2 bita bita se koriste za izbor izvornog registra, a druga 2 bita biraju odredišni registar.biraju odredišni registar.

Page 24: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Komponente staze podatakaKomponente staze podataka

Kada je Kada je Window PointerWindow Pointer aktivan, dodaje svoj trobitni aktivan, dodaje svoj trobitni ulaz na svoje trenutne podatke.ulaz na svoje trenutne podatke.

Flags registar je dvobitni registar koji čuva Flags registar je dvobitni registar koji čuva flag flag izlaze izlaze iz iz Aritmetic UnitAritmetic Unit. .

Aritmetic UnitAritmetic Unit je 16-bitna aritmetička i logička jedinica je 16-bitna aritmetička i logička jedinica koja ima odredjene funkcije. 9-bitni ulaz bira funkciju koja ima odredjene funkcije. 9-bitni ulaz bira funkciju ALUALU-a prikazanu u ovoj tabeli. Ovaj kod je obezbedjen -a prikazanu u ovoj tabeli. Ovaj kod je obezbedjen od strane kontrolera procesora.od strane kontrolera procesora.

Page 25: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

ALU operacijeALU operacije

Operacije Operacije Opis Opis Kod Kod

Bl5to0H Bl5to0H Operand B smestiti na Operand B smestiti na izlaz izlaz 1000000000 1000000000

AandBH AandBH Na izlaz smestiti rezultat Na izlaz smestiti rezultat logičke operacije A' I ' B logičke operacije A' I ' B 0100000000 0100000000

AorBH AorBH Na izlaz smestiti rezultat Na izlaz smestiti rezultat logičke operacije A' ILI ' logičke operacije A' ILI ' B B

0010000000 0010000000

notBH notBH Na izlaz smestiti Na izlaz smestiti komplement operanda B komplement operanda B 0001000000 0001000000

Page 26: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

ALU operacijeALU operacije

shlBH shlBH Pomeranje bitova Pomeranje bitova operanda B za jedno operanda B za jedno mesto ulevomesto ulevo

0000100000 0000100000

shrBH shrBH Pomeranje bitova Pomeranje bitova operanda B za jedno operanda B za jedno mesto udesnomesto udesno

0000010000 0000010000

AaddBH AaddBH Zbir operanada A I B Zbir operanada A I B smestiti na izlazsmestiti na izlaz 0000001000 0000001000

AsubBH AsubBH Razliku operanada A I B Razliku operanada A I B smestiti na izlazsmestiti na izlaz 0000000100 0000000100

AmulBH AmulBH Proizvod operanada A I B Proizvod operanada A I B smestiti na izlazsmestiti na izlaz 0000000010 0000000010

AcmpBH AcmpBH Z=1 ako je A=B; C=1 ako Z=1 ako je A=B; C=1 ako je A<Bje A<B 0000000001 0000000001

Page 27: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Blok IR Blok IR (instrukcioni registar)(instrukcioni registar)

Blok Blok IRIR predstavlja 16-bitni registar koji se u predstavlja 16-bitni registar koji se uokviru izvršne jedinice koristi kao okviru izvršne jedinice koristi kao instrukcioniinstrukcioniregistarregistar.. Blok Blok IRIR ima sledeće portove: ima sledeće portove: ClkClk – ulaz taktnog signala (kad je =1 registar – ulaz taktnog signala (kad je =1 registar

pamti sadržaj na ulazu),pamti sadržaj na ulazu), LoadLoad – ulaz za dozvolu izlaza podataka (kada – ulaz za dozvolu izlaza podataka (kada

je =0 registar je otkačen sa magistrale, a kada je =0 registar je otkačen sa magistrale, a kada je =1 memorisani sadržaj registra se je =1 memorisani sadržaj registra se pojavljuje na izlazu),pojavljuje na izlazu),

16-bitni ulaz 16-bitni ulaz DataData – ulaz na koji se dovodi – ulaz na koji se dovodi instrukcija,instrukcija,

16-bitni izlaz 16-bitni izlaz QQ – izlaz iz instrukcionog – izlaz iz instrukcionog registra usmeren ka upravljačkoj jednici registra usmeren ka upravljačkoj jednici (kontroleru),(kontroleru),

8-bitni izlaz 8-bitni izlaz Q1Q1– izlaz koji predstavlja – izlaz koji predstavlja gornjih 8 bitova iz 16-bitnog ulaza gornjih 8 bitova iz 16-bitnog ulaza DataData..

CLK Q(15:0) DATA(15:0)

Q1(7:0)

LOAD

U1

ir

Page 28: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Blok PC (programski brojač)Blok PC (programski brojač)

PCPC predstavlja blok koji određuje adresu naredne predstavlja blok koji određuje adresu naredne instrukcije koju treba izvršiti.instrukcije koju treba izvršiti.

Blok Blok PC PC ima sledeće portove:ima sledeće portove: ClkClk – ulaz taktnog signala (kad je =1 registar pamti – ulaz taktnog signala (kad je =1 registar pamti

sadržaj na ulazu),sadržaj na ulazu), PCPC -16-bitni ulaz -16-bitni ulaz 16-bitni ulaz 16-bitni ulaz RSideRSide – ulaz koji se dovodi iz – ulaz koji se dovodi iz

registarskog polja,registarskog polja, 8-bitni ulaz 8-bitni ulaz IRIR– ulaz koji se dovodi iz instrukcionog – ulaz koji se dovodi iz instrukcionog

registra,registra, IzlIzl –16-bitni izlaz koji se vodi na memoriju i na ulaz –16-bitni izlaz koji se vodi na memoriju i na ulaz

PCPC-a,-a, Reset PCReset PC – ulaz koji postavlja izlaz na nula vektor, – ulaz koji postavlja izlaz na nula vektor, PCplus1PCplus1– kontrolni signal (ako je =1 sadržaj brojača – kontrolni signal (ako je =1 sadržaj brojača

se uvećava za 1) ,se uvećava za 1) , PCplusIPCplusI– kontrolni signal (ako je =1 sadržaj brojača – kontrolni signal (ako je =1 sadržaj brojača

se uvećava za vrednost se uvećava za vrednost IRIR),), R0plusIR0plusI– kontrolni signal (ako je =1 na izlazu – kontrolni signal (ako je =1 na izlazu

brojača je zbir ulaza brojača je zbir ulaza RSide RSide i ulaza i ulaza IRIR ), ), R0plus0R0plus0– kontrolni signal (ako je =1 na izlazu – kontrolni signal (ako je =1 na izlazu

brojača je ulaz brojača je ulaz RSideRSide ), ), JmpJmp – kontrolni signal (ako je =1 ulaz – kontrolni signal (ako je =1 ulaz PCPC se samo se samo

prosleđuje na izlaz prosleđuje na izlaz IzlIzl).).

IR(7:0)

izl(15:0)

PC(15:0)

PCplus1

PCplusI

R0plus0

R0plusI

RSide(15:0)

ResetPCclk

jmp

U1

adr_unt

Page 29: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Blok WP (pokazivač prozora)Blok WP (pokazivač prozora)

WP WP je 3-bitni registar koji ukazuje na jedan je 3-bitni registar koji ukazuje na jedan od osam registara u polju od osam registara u polju Register FileRegister File..

Blok Blok WP WP ima sledeće portove:ima sledeće portove: ClkClk – ulaz taktnog signala (kad je =1 registar – ulaz taktnog signala (kad je =1 registar

pamti sadržaj na ulazu),pamti sadržaj na ulazu), DataData – trobitni ulaz – trobitni ulaz Q Q – trobitni izlaz koji definiše registar u – trobitni izlaz koji definiše registar u

registarskom polju,registarskom polju, WPresetWPreset – kontrolni ulaz (ako je =1 izlaz – kontrolni ulaz (ako je =1 izlaz Q Q

je nula vektor),je nula vektor), WPadd – WPadd – kontrolni ulaz (ako je =1 ulaz se kontrolni ulaz (ako je =1 ulaz se

dodaje na trenutno stanje dodaje na trenutno stanje WPWP-a).-a).

CLK

Q(2:0)DATA(2:0)

WPadd

WPreset

U1

WP

Page 30: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Blok FRBlok FR

FR FR je 2-bitni registar koji opisuje je 2-bitni registar koji opisuje stanje aritmetičko-logičke jedinice. stanje aritmetičko-logičke jedinice.

Blok Blok FR FR ima sledeće portove:ima sledeće portove: ClkClk – ulaz taktnog signala (kad je =1 – ulaz taktnog signala (kad je =1

registar pamti sadržaj na ulazu),registar pamti sadržaj na ulazu), Cout, Zout Cout, Zout – 1-bitni ulazi,– 1-bitni ulazi, C,ZC,Z – 1-bitni izlazi, – 1-bitni izlazi, CsetCset – kontrolni ulaz (ako je =1 izlaz – kontrolni ulaz (ako je =1 izlaz

C C se postavlja na 1),se postavlja na 1), CresetCreset – kontrolni ulaz (ako je =1 – kontrolni ulaz (ako je =1

izlaz izlaz C C se postavlja na 0),se postavlja na 0), ZsetZset – kontrolni ulaz (ako je =1 izlaz – kontrolni ulaz (ako je =1 izlaz

Z Z se postavlja na 1),se postavlja na 1), ZresetZreset – kontrolni ulaz (ako je =1 – kontrolni ulaz (ako je =1

izlaz izlaz ZZ se postavlja na 0). se postavlja na 0).

CLK

C

CReset

Z

CSet

Cout

ZResetZSetZout

U2

flags

Page 31: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Blok RF (registarsko polje)Blok RF (registarsko polje)

Register File Register File predstavlja polje od osam 16-bitnih predstavlja polje od osam 16-bitnih registara. registara.

Blok Blok Register File Register File ima sledeće portove:ima sledeće portove: ClkClk – ulaz taktnog signala (kad je =1 registar – ulaz taktnog signala (kad je =1 registar

pamti sadržaj na ulazu),pamti sadržaj na ulazu), DataData -16-bitni ulaz -16-bitni ulaz Rd, RsRd, Rs –16-bitni izlazi koji predstavljaju –16-bitni izlazi koji predstavljaju

operande za aritmetičko-logičku jedinicu,operande za aritmetičko-logičku jedinicu, WPWP– 3-bitni kontrolni signal koji definiše – 3-bitni kontrolni signal koji definiše

registar,registar, SelSel– 4-bitni kontrolni signal (donja dva bita se – 4-bitni kontrolni signal (donja dva bita se

koriste za definisanje izvora(koriste za definisanje izvora(sourcesource), a gornja dva ), a gornja dva za definisanje odredišta (za definisanje odredišta (destinationdestination) ),) ),

WELWEL– kontrolni signal (ako je =1 na mestu osam – kontrolni signal (ako je =1 na mestu osam nižih bitova u registru koji je definisan kontrolnim nižih bitova u registru koji je definisan kontrolnim signalom signalom WP WP upisaće se nižih osam bitova sa upisaće se nižih osam bitova sa ulaza ulaza DATADATA), ),

WEHWEH– kontrolni signal (ako je =1 na mestu osam – kontrolni signal (ako je =1 na mestu osam viših bitova u registru koji je definisan kontrolnim viših bitova u registru koji je definisan kontrolnim signalom signalom WP WP upisaće se osam viših bitova sa upisaće se osam viših bitova sa ulaza ulaza DATADATA).).

CLK

RD(15:0)

DATA(15:0)

RS(15:0)

Sel(3:0)

WEHWEL

WP(2:0)

U3

registar_file

Page 32: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Aritmetičko-logička jedinicaAritmetičko-logička jedinica

U sledećoj tabeli prikazane su operacije koje izvršava aritmetičko-logička jedinica procesora U sledećoj tabeli prikazane su operacije koje izvršava aritmetičko-logička jedinica procesora SAYEH.SAYEH.

OznakaOznaka OperacijaOperacija ALUselALUsel RTLRTL And And Logička ' I ' operacija Logička ' I ' operacija 0110 0110 Rd <= Rd & Rs Rd <= Rd & Rs

OrOr Logička ' ILI ' Logička ' ILI ' operacija operacija

0111 0111 Rd <= Rd I Rs Rd <= Rd I Rs

NotNot Negacija Negacija 1000 1000 Rd <= ~Rs Rd <= ~Rs

ShlShl Pomeranje ulevoPomeranje ulevo 1001 1001 Rd <= sla Rs Rd <= sla Rs

ShrShr Pomeranje udesnoPomeranje udesno 1010 1010 Rd <= sra Rs Rd <= sra Rs

AddAdd SabiranjeSabiranje 1011 1011 Rd <= Rd + Rs Rd <= Rd + Rs

SubSub OduzimanjeOduzimanje 1100 1100 Rd <= Rd - Rs Rd <= Rd - Rs

MulMul MnoženjeMnoženje 1101 1101 Rd <= Rd * Rs Rd <= Rd * Rs :8-:8-bitnobitnomnoženjemnoženje

CmpCmp PoređenjePoređenje 1101 1101 Rd, Rs Rd, Rs (ako su (ako su jednaki:jednaki:Z=1Z=1; ako je ; ako je Rd<Rs: C=1Rd<Rs: C=1))

Page 33: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Aritmetičko-logička jedinicaAritmetičko-logička jedinica Aritmetičko-logička jedinica ima sledeće portove:Aritmetičko-logička jedinica ima sledeće portove: ClkClk – ulaz taktnog signala, – ulaz taktnog signala, B15to0B15to0 – ulazni kontrolni signal (ako je =1 ulaz – ulazni kontrolni signal (ako je =1 ulaz BB se propusti na izlaz se propusti na izlaz

ALUoutALUout),), AandBAandB – ulazni kontrolni signal (ako je =1 izvršava se logička – ulazni kontrolni signal (ako je =1 izvršava se logička

operacija 'i' ),operacija 'i' ), AorBAorB – ulazni kontrolni signal (ako je =1 izvršava se logička operacija – ulazni kontrolni signal (ako je =1 izvršava se logička operacija

'ili' ),'ili' ), NotBNotB – ulazni kontrolni signal (ako je =1 vrši se komplementiranje – ulazni kontrolni signal (ako je =1 vrši se komplementiranje

ulaza ulaza BB),), AaddBAaddB – ulazni kontrolni signal (ako je =1 izvršava se sabiranje nad – ulazni kontrolni signal (ako je =1 izvršava se sabiranje nad

ulaznim operandima),ulaznim operandima), AsubBAsubB – ulazni kontrolni signal (ako je =1 – ulazni kontrolni signal (ako je =1 ALUALU jedinica od operanda jedinica od operanda

na ulazu na ulazu AA oduzima operand na ulazu oduzima operand na ulazu BB),), AmulBAmulB – ulazni kontrolni signal (ako je =1 izvršava se množenje – ulazni kontrolni signal (ako je =1 izvršava se množenje

ulaznih operanada),ulaznih operanada), AcmpBAcmpB – ulazni kontrolni signal (ako je =1 ulaz – ulazni kontrolni signal (ako je =1 ulaz AA se poredi sa ulazom se poredi sa ulazom

BB),), ShrBShrB– ulazni kontrolni signal (ako je =1 sadržaj ulaza – ulazni kontrolni signal (ako je =1 sadržaj ulaza BB se pomera za se pomera za

jedno mesto ulevo),jedno mesto ulevo), ShlBShlB– ulazni kontrolni signal (ako je =1 sadržaj ulaza – ulazni kontrolni signal (ako je =1 sadržaj ulaza BB se pomera za se pomera za

jedno mesto udesno),jedno mesto udesno), 16-bitni ulaz 16-bitni ulaz AA – ulaz podataka, – ulaz podataka, 16-bitni ulaz 16-bitni ulaz BB – ulaz podataka, – ulaz podataka, 16-bitni izlaz 16-bitni izlaz ALUoutALUout – izlaz rezultata operacije, – izlaz rezultata operacije, jednobitni izlazi jednobitni izlazi Cout, ZoutCout, Zout – izlazi statusnih markera. – izlazi statusnih markera.

A(15:0)

ALUout(15:0)

AaddB

Cout AandB

Zout

AcmpB

AmulB

AorB

AsubB

B(15:0)

B15to0

Clk

NotB

ShlB

ShrB

U1

ALU

Page 34: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Blok memorijaBlok memorija

Blok memorije ima sledeće portove:Blok memorije ima sledeće portove: 16-bitni ulaz 16-bitni ulaz AddrAddr – adresni ulaz – adresni ulaz

memorije,memorije, jednobitni ulaz jednobitni ulaz RERE – kontrolni signal – kontrolni signal

(ako je =1 dozvoljeno je iščitavanje (ako je =1 dozvoljeno je iščitavanje podataka iz memorije),podataka iz memorije),

jednobitni ulaz jednobitni ulaz WEWE – kontrolni signal – kontrolni signal (ako je =1 dozvoljeno je upisivanje (ako je =1 dozvoljeno je upisivanje podataka u memoriju),podataka u memoriju),

DataData – 16-bitni ulaz podataka, – 16-bitni ulaz podataka, QQ– 16-bitni izlaz podataka.– 16-bitni izlaz podataka.

ADDR(15:0)

Q(15:0)

DATA(15:0)REWE

U1

memorija

Page 35: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

MultiplekserMultiplekser

Multiplekser SAYEH procesora ima Multiplekser SAYEH procesora ima sledeće portove:sledeće portove:

I0I0 i i I1I1– 4-bitni ulazi,– 4-bitni ulazi, O - O - 4-bitni izlaz,4-bitni izlaz, ShadowShadow – kontrolni signal (ako je =1 – kontrolni signal (ako je =1

na izlaz se vodi na izlaz se vodi I0I0, a ako je =0 na , a ako je =0 na izlaz se vodi izlaz se vodi I1I1).).

I0(11:8)O(3:0)

I1(3:0)

Shadow

U2

mux

Page 36: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Trostatički bafer 1Trostatički bafer 1

Bafer 1 SAYEH procesora ima Bafer 1 SAYEH procesora ima sledeće portove:sledeće portove:

II– 8-bitni ulaz,– 8-bitni ulaz, O - O - 8-bitni izlaz,8-bitni izlaz, IR_on_LOpndBusIR_on_LOpndBus – kontrolni signal – kontrolni signal

(ako je =1 ulaz (ako je =1 ulaz II se vodi na izlaz se vodi na izlaz O O kojikoji se dalje upisuje na mesto nižih 8 se dalje upisuje na mesto nižih 8 bitova operanda Rs).bitova operanda Rs).

O(7:0)

I(7:0)

IR_on_LOpndBus

U1

buff1

Page 37: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Trostatički bafer 2Trostatički bafer 2

Bafer 2 SAYEH procesora ima Bafer 2 SAYEH procesora ima sledeće portove:sledeće portove:

II– 8-bitni ulaz,– 8-bitni ulaz, O - O - 8-bitni izlaz,8-bitni izlaz, IR_on_HOpndBusIR_on_HOpndBus – kontrolni signal – kontrolni signal

(ako je =1 ulaz (ako je =1 ulaz II se vodi na izlaz se vodi na izlaz O O kojikoji se dalje upisuje na mesto viših 8 se dalje upisuje na mesto viših 8 bitova operanda Rs).bitova operanda Rs).

I(7:0)O(7:0)

IR_on_HOpndBus

U2

buff2

Page 38: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Trostatički bafer 3Trostatički bafer 3

Bafer 3 SAYEH procesora ima Bafer 3 SAYEH procesora ima sledeće portove:sledeće portove:

II– 16-bitni ulaz,– 16-bitni ulaz, O - O - 16-bitni izlaz,16-bitni izlaz, RFright_on_OpndBusRFright_on_OpndBus – kontrolni – kontrolni

signal (ako je =1 ulaz signal (ako je =1 ulaz II se vodi na se vodi na izlaz izlaz O O kojikoji se dalje vodi na ulaz se dalje vodi na ulaz BB aritmetičko-logičke jedinice).aritmetičko-logičke jedinice).

I(15:0)

O(15:0)

RFright_on_OpndBus

U3

buff3

Page 39: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Trostatički bafer 4Trostatički bafer 4

Bafer 4 SAYEH procesora ima Bafer 4 SAYEH procesora ima sledeće portove:sledeće portove:

II– 16-bitni ulaz,– 16-bitni ulaz, O - O - 16-bitni izlaz,16-bitni izlaz, Rs_on_AddressUnitRsideRs_on_AddressUnitRside – –

kontrolni signal (ako je =1 ulaz kontrolni signal (ako je =1 ulaz I I (odnosno operand Rs) se vodi na izlaz (odnosno operand Rs) se vodi na izlaz O O kojikoji se dalje vodi na ulaz se dalje vodi na ulaz Rside Rside bloka bloka PCPC).).

I(15:0)O(15:0)

Rs_on_AdressUnitRSide

U4

buff4

Page 40: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Trostatički bafer 5Trostatički bafer 5

Bafer 5 SAYEH procesora ima Bafer 5 SAYEH procesora ima sledeće portove:sledeće portove:

II– 16-bitni ulaz,– 16-bitni ulaz, O - O - 16-bitni izlaz,16-bitni izlaz, Rd_on_AddressUnitRsideRd_on_AddressUnitRside – –

kontrolni signal (ako je =1 ulaz kontrolni signal (ako je =1 ulaz I I (odnosno operand Rd) se vodi na (odnosno operand Rd) se vodi na izlaz izlaz O O kojikoji se dalje vodi na ulaz se dalje vodi na ulaz Rside Rside bloka bloka PCPC). ).

I(15:0) O(15:0)

Rd_on_AdressUnitRSide

U5

buff5

Page 41: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Trostatički bafer 6Trostatički bafer 6

Bafer 6 SAYEH procesora ima Bafer 6 SAYEH procesora ima sledeće portove:sledeće portove:

II– 16-bitni ulaz,– 16-bitni ulaz, O - O - 16-bitni izlaz,16-bitni izlaz, ALUout_on_DatabusALUout_on_Databus – kontrolni – kontrolni

signal (ako je =1 ulaz signal (ako je =1 ulaz I I (odnosno (odnosno izlaz iz aritmetičko-logičke jedinice) izlaz iz aritmetičko-logičke jedinice) se vodi na izlaz se vodi na izlaz O O tj. na magistralu tj. na magistralu podataka).podataka).

ALUout_on_Databus

O(15:0)

I(15:0)

U6

buff6

Page 42: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Trostatički bafer 7Trostatički bafer 7

Bafer 7 SAYEH procesora ima Bafer 7 SAYEH procesora ima sledeće portove:sledeće portove:

II– 16-bitni ulaz,– 16-bitni ulaz, O - O - 16-bitni izlaz,16-bitni izlaz, Address_on_DatabusAddress_on_Databus – kontrolni – kontrolni

signal (ako je =1 ulaz signal (ako je =1 ulaz I I (odnosno (odnosno adresa koju generiše blok adresa koju generiše blok PCPC) se vodi ) se vodi na magistralu podataka). na magistralu podataka).

Address_on_Databus

O(15:0)

I(15:0)

U7

buff7

Page 43: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

KontrolerKontroler

Upravljačka jedinica služi da na osnovu trenutne instrukcije izvrši generisanjeUpravljačka jedinica služi da na osnovu trenutne instrukcije izvrši generisanje

upravljačkih signala.upravljačkih signala. Upravljačka jednica procesora SAYEH je realizovana kao Upravljačka jednica procesora SAYEH je realizovana kao upravljačka jedinica sa direktnim upravljanjemupravljačka jedinica sa direktnim upravljanjem (eng. (eng. hardwired controlhardwired control))..

Page 44: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

KontrolerKontroler

Blok CU ima sledeće portove: Blok CU ima sledeće portove: ClockClock – taktni signal procesora, – taktni signal procesora, IRIR – tekuća instrukcija, – tekuća instrukcija, ExternalExternal ResetReset – signal kojim se – signal kojim se

resetuje stanje procesora,resetuje stanje procesora, MemDataReadyMemDataReady – signali dozvole – signali dozvole

(ako je =1 moguće je čitanje podataka (ako je =1 moguće je čitanje podataka iz memorije ili upis podataka u iz memorije ili upis podataka u memoriju),memoriju),

jednobitni ulazi jednobitni ulazi C, ZC, Z – statusni – statusni markeri ALU-a,markeri ALU-a,

ReadIO, WriteIOReadIO, WriteIO – signali koji se – signali koji se šalju ulazno-izlaznim jedinicama,šalju ulazno-izlaznim jedinicama,

36-bitni izlaz 36-bitni izlaz ControlControl – upravljački – upravljački signali izvršne jedinice.signali izvršne jedinice.

C

ALUout_on_DatabusClk

AaddBExternal_Reset

AandB

IR(15:0)

AcmpB

MemDataReady

Adress_on_DatabusZ

AmulB

AorB

AsubB

B15to0

CReset

CSet

IR_on_HOpndBus

IR_on_LOpndBus

K

Load

NotB

PCplus1

PCplusI

R0plus0

R0plusI

RE

RFright_on_OpndBus

ResetPC

Rl_on_AddressUnitRside

Rs_on_AddressUnitRside

Shadow

ShlB

ShrB

WE

WEH

WEL

WPadd

WPreset

ZReset

ZSet

jmp

ReadIO

WriteIO

U1

control

Control

Page 45: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Procesor SAYEHProcesor SAYEH

Blokovi koji su do sada opisani povezani su na sledeći način:Blokovi koji su do sada opisani povezani su na sledeći način:

ADDR(15:0)

Q(15:0)

DATA(15:0)REWE

U1

memorija

CLK

RD(15:0)

DATA(15:0)

RS(15:0)

Sel(3:0)

WEHWEL

WP(2:0)

U2

registar_file

A(15:0)

ALUout(15:0)

AaddB

Cout AandB

Zout

AcmpB

AmulB

AorB

AsubB

B(15:0)

B15to0

Clk

NotB

ShlB

ShrB

U3

alu

CLK

C

CReset

Z

CSet

Cout

ZResetZSetZout

U4

flags

IR(7:0)

izl(15:0)

PC(15:0)

PCplus1

PCplusI

R0plus0

R0plusI

RSide(15:0)

ResetPCclk

jmp

U5

adr_unt

C

ALUout_on_DatabusClk

AaddBExternal_Reset

AandB

IR(15:0)

AcmpB

MemDataReady

Adress_on_DatabusZ

AmulB

AorB

AsubB

B15to0

CReset

CSet

IR_on_HOpndBus

IR_on_LOpndBus

K

Load

NotB

PCplus1

PCplusI

R0plus0

R0plusI

RE

RFright_on_OpndBus

ResetPC

Rl_on_AddressUnitRside

Rs_on_AddressUnitRside

Shadow

ShlB

ShrB

WE

WEH

WEL

WPadd

WPreset

ZReset

ZSet

jmp

ReadIO

WriteIO

U6

control

CLK Q(15:0) DATA(15:0)

Q1(7:0)

LOAD

U7

irI0(11:8)

O(3:0)I1(3:0)

Shadow

U8

mux

CLK

IZL(2:0)

K

ULAZ(2:0)

U10

novo

O(7:0)

I(7:0)

IR_on_LOpndBus

U11

buff1

CLK

Q(2:0)DATA(2:0)

WPadd

WPreset

U12

WP

I(7:0)O(7:0)

IR_on_HOpndBus

U13

buff2

I(15:0)O(15:0)

RFright_on_OpndBus

U14

buff3

I(15:0)O(15:0)

Rs_on_AdressUnitRSide

U15

buff4I(15:0) O(15:0)

Rd_on_AdressUnitRSide

U16

buff5

ALUout_on_Databus

O(15:0)

I(15:0)

U17

buff6

Address_on_Databus

O(15:0)

I(15:0)

U18

buff7

Opnd(15:0)

Opnd(15:8)

Irout(7:0)

Irout(3:1)

Ir_bus(15:0)Ir_bus(11:8)

Ir_bus(3:0)

clock

Opnd(7:0)

ExtResetMemDatReady

ReadIOWriteIO

Page 46: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Testiranje sintetiTestiranje sintetizovanog procesorazovanog procesora

Programskom sekvencom od šest naredbi testiraćemo korektnost rada Programskom sekvencom od šest naredbi testiraćemo korektnost rada sintetizovanog procesora SAYEH.sintetizovanog procesora SAYEH.

Add R1, R6; R1 ← R1 + R6Add R1, R6; R1 ← R1 + R6 Shl R7; Shl R7; R0 ← Shl R7R0 ← Shl R7 Or R3, R7; R3 ← R3 Or R7Or R3, R7; R3 ← R3 Or R7 Not R5; Not R5; R0 ← Not R5 R0 ← Not R5 Sub R1, R6; R1 ← R1 – R6Sub R1, R6; R1 ← R1 – R6 Sta (R3), R4; mem(R3) ← R4Sta (R3), R4; mem(R3) ← R4

Page 47: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

DefinisanjeDefinisanje inicijalnih vrednosti memorijskih lokacijainicijalnih vrednosti memorijskih lokacija Sadržaj programske memorije za odgovarajuću programsku sekvencu treba da bude Sadržaj programske memorije za odgovarajuću programsku sekvencu treba da bude

sledećeg oblika:sledećeg oblika: Memory[0]=Memory[0]=10111011011001100000000000000000=B600: =B600: Add Add R1,R6R1,R6 Memory[1]=Memory[1]=100110010011001100000000000000=9300: 00=9300: Shl Shl R7R7 Memory[2]=Memory[2]=011101111111111100000000=7F00: 00000000=7F00: Or Or R3,R7R3,R7 Memory[3]=Memory[3]=10001000000100010000000000000000=8100: =8100: Not Not R5R5 Memory[4]=Memory[4]=11001100011001100000000000000000=C600: =C600: SubSub R1,R6 R1,R6 Memory[5]=Memory[5]=0011001111001100000000000000000=3C00: 0=3C00: Sta (R3),R4Sta (R3),R4 Napomena: Mašinski kod, četiri MS bita instrukcije, označen je crvenom bojom, Napomena: Mašinski kod, četiri MS bita instrukcije, označen je crvenom bojom,

naredna četiri bita označena plavom bojom specificiraju izvorišni i odredišni naredna četiri bita označena plavom bojom specificiraju izvorišni i odredišni operand instrukcije, zadnjih osam bitova specificiraju neposrednu vrednost opkoda operand instrukcije, zadnjih osam bitova specificiraju neposrednu vrednost opkoda instrukcije, tj. polje koje se naziva instrukcije, tj. polje koje se naziva imm.imm. Kada se opkodom ne specificira korišćenje Kada se opkodom ne specificira korišćenje polja polja immimm tada je njegova vrednost 00h. tada je njegova vrednost 00h.

Page 48: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Definisanje sadržaja registara registarskog poljaDefinisanje sadržaja registara registarskog polja

Sadržaj registara registarskog polja pre početka izvršenja programske sekvence Sadržaj registara registarskog polja pre početka izvršenja programske sekvence treba biti sledeći:treba biti sledeći:

Reg_fileReg_file[0]=0000000000000000=0000; [0]=0000000000000000=0000; Reg_fileReg_file[1]=0000000000000001=0001;[1]=0000000000000001=0001; Reg_fileReg_file[2]=0000000000001010=000A;[2]=0000000000001010=000A; Reg_fileReg_file[3]=0000000000000011=0003;[3]=0000000000000011=0003; Reg_fileReg_file[4]=0000000000000100=0004; [4]=0000000000000100=0004; Reg_fileReg_file[5]=0000000000000101=0005;[5]=0000000000000101=0005; Reg_fileReg_file[6]=0000000000000110=0006;[6]=0000000000000110=0006; Reg_fileReg_file[[77]=0000000000000111=0007;]=0000000000000111=0007;

Page 49: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Sadržaj registara pre izvršenja programske sekvenceSadržaj registara pre izvršenja programske sekvence

Page 50: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Sadržaj registara nakon prve instrukcije ( Add R1,R6 : R1 ← R1 + R6 )Sadržaj registara nakon prve instrukcije ( Add R1,R6 : R1 ← R1 + R6 )

Page 51: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Sadržaj registara nakon druge instrukcije (Shl R7; R0 ← Shl R7)Sadržaj registara nakon druge instrukcije (Shl R7; R0 ← Shl R7)

Page 52: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Sadržaj registara nakon treće instrukcije (Or R3,R7; R3 ← R3 Or R7 )Sadržaj registara nakon treće instrukcije (Or R3,R7; R3 ← R3 Or R7 )

Page 53: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Sadržaj registara nakon četvrte instrukcije(Not R5; R0 ← Not R5 )Sadržaj registara nakon četvrte instrukcije(Not R5; R0 ← Not R5 )

Page 54: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Sadržaj registara nakon pete instrukcije (Sub R1,R6; R1 ← R1 – R6)Sadržaj registara nakon pete instrukcije (Sub R1,R6; R1 ← R1 – R6)

Page 55: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Sadržaj registara i memorije nakon šeste instrukcije (Sta (R3),R4; mem(R3) ← R4)Sadržaj registara i memorije nakon šeste instrukcije (Sta (R3),R4; mem(R3) ← R4)

Page 56: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

Zaključak VHDL je jedan od najčešće korišćenih jezika za opis hardware-a

Prednosti upotrebe VHDL-a : jednostavna i efikasna implementacija skraćeno vreme dizajniranja lakša detekcija grešaka jednostavno testiranje visok nivo apstrakcije maksimalno tačan i pouzdan dizajn uz najmanju cenu u

najkraćem roku razvijanja

Zbog navedenih prednosti VHDL se često koristi u procesima dizajniranja komponenti i razvoja složenih sistema

Page 57: ELEKTRONSKI FAKULTET U NIŠU KATEDRA ZA ELEKTRONIKU SEMINARSKI RAD VHDL OPIS SAYEH PROCESORA

AutoriAutoriIme i prezime : Ime i prezime : Nikola SekulovićNikola SekulovićRodjen :Rodjen : 27.04.1983.27.04.1983.Mesto : Mesto : NiNiššŠkola : Škola : Elektronski fakultet , Elektronski fakultet ,

NišNišSmer : Smer : telekomunikacijetelekomunikacijeBroj indeksa : Broj indeksa : 1096310963Kontakt : Kontakt : [email protected]@bankerinter.net

Ime i prezime : Ime i prezime : Lazar VelimirovićLazar VelimirovićRodjen : Rodjen : 17.05.1983.17.05.1983.Mesto : Mesto : ProkupljeProkupljeŠkolaŠkola :: Elektronski fakultet , Elektronski fakultet ,

NišNišSmer : Smer : telekomunikacije telekomunikacijeBroj indeksa :Broj indeksa : 11017 11017Kontakt : Kontakt : [email protected]@bankerinter.net