to get the file

Transkrypt

to get the file
Architektura Systemów Komputerowych
Tematy projektowe
mgr inż. Leszek Ciopiński
Część wspólna wszystkich projektów
W ramach projektu należy zaprojektować mikroprogramowalny układ sterowania realizujący
rozkazy opisane w tematach projektów. Projekt składa się z trzech części:
• Zaproponowana struktura układu
• Mikroprogram napisany w postaci listy
• Zakodowana wersja mikroprogramu
Projekty realizowane są w grupach czteroosobowych. W przypadku, gdy liczba osób
nieprzydzielonych do żadnej grupy wyniesie:
• 1 lub 2 – osoby te zostaną przyłączone do innych grup, a grupy te dostaną dodatkowe
zadania do zrealizowania (kolejne rozkazy)
• 3 – osoby te utworzą grupę, która otrzyma zadanie pomniejszone o pewną ilość rozkazów
Oznaczenia przyjęte w opisie listy rozkazów procesora:
REG - rejestr 16-bitowy A, B, C, D, E, F, ADH, ADL,
RA
- rejestr 32-bitowy AD lub SP,
[RA] - adres argumentu w rejestrze (adresowanie rejestrowe pośrednie,
st16[RA] – adresowanie bazowe,
adr
- adres 32-bitowy (adresowanie bezpośrednie),
[adr] - adresowanie pośrednie,
st8
- stałą 8-bitowa,
st16 - stała 16-bitowa,
st32 - stała 32-bitowa.
Zakładamy, że pierwszy bajt każdego rozkazu ma następującą budowę:
B7..B3 - numer grupy rozkazów
B2..B0 – numer rozkazu w grupie
Tematy projektów teoretycznych
Pracę należy wykonać w formie sprawozdania. Ocena uzależniona jest od jakości
zaproponowanego rozwiązania, ilości zrealizowanych rozkazów, zastosowanych technik
optymalizacji lub obniżenia kosztów procesora oraz od wyników obrony projektu.
Architektura Systemów Komputerowych 2
Projekt
strona 1 z 4
Grupa 1:
1.
2.
3.
4.
5.
6.
STO RA, adr
XOR [RA], REG
ABS adr
SHL [RA],n
LOOP st16
ADD RA, st16
zapis podwójnego słowa z rejestru adresowego do pamięci
suma wyłączna słowa z pamięci z rejestrem roboczym
wartość bezwzględna słowa w pamięci
przesuniecie w lewo słowa pamięci
skok względny gdy rejestr C≠0, C ← C-1
dodanie stałej 16-bitowej do rejestru adresowego
Grupa 2:
1.
2.
3.
4.
5.
6.
SUB REG, REG
odjęcie rejestru od rejestru roboczego
JNV st16
skoki warunkowe, adresowanie względne
NEG REG
zmiana znaku zawartości rejestru
ADD RA, REG
dodanie słowa z rejestru REG do rejestru adresowego
SUB REG, REG, st16[RA]
odjęcie 2 rejestrów i umieszczenie wyniku w pamięci
VINC n
nkrementacja wektora w pamięci (inkrementacja każdego elementu)
Grupa 3:
1.
2.
3.
4.
5.
6.
STO st16, [RA]
DEC REG
CMP REG, REG
XCHG REG, adr
SET REG
JMP st16[RA]
zapis stałej 16-bitowej do pamięci
dekrementacja z nasyceniem (U2) zawartości rejestru,
porównanie zawartości rejestrów roboczych
wymiana danych rejestr-pamięć
wypełnienie rejestru wartością 1
skok bezwarunkowy
Grupa 4:
1.
2.
3.
4.
5.
6.
ADC REG, REG
dodanie rejestru do rejestru roboczego z przeniesieniem
JNV st16
skoki warunkowe, adresowanie względne
NEG REG
zmiana znaku zawartości rejestru
AND REG, REG
iloczyn logiczny rejestrów roboczych
ADD REG, REG, st16[RA]
dodanie 2 rejestrów i umieszczenie wyniku w pamięci
XLAT RA, [adr]
translacja wartości z pamięci o adresie w RA wg tabeli
o adresie początkowym w [adr] (adresowanie pośrednie), RA++
Grupa 5:
1.
2.
3.
4.
5.
6.
STO RA, adr
XOR [RA], REG
XOR REG, sta16
NOT [REG]
VDEC n
ADD RA, st16
zapis podwójnego słowa z rejestru adresowego do pamięci
suma wyłączna słowa z pamięci z rejestrem roboczym
suma wyłączna rejestru roboczego i stałej
negacja logiczna słowa w pamięci
dekrementacja wektora w pamięci
dodanie stałej 16-bitowej do rejestru adresowego
Grupa 6:
1. STO st16, [RA]
2. JNV st16
3. CMP REG, [adr]
zapis stałej 16-bitowej do pamięci
skoki warunkowe, adresowanie względne
porównanie słowa z pamięci z rejestrem roboczym
Architektura Systemów Komputerowych 2
Projekt
strona 2 z 4
4. SHL [RA],n
przesuniecie w lewo słowa pamięci
5. SBC REG,REG
odjęcie rejestru od rejestru roboczego z pożyczką
6. XCHG REG, st16[RA] wymiana danych rejestr-pamięć
Grupa 7:
1.
2.
3.
4.
5.
6.
SUB REG, REG
DEC REG
CMP REG, REG
DEC adr
CALL adr
XLAT RA, [adr]
odjęcie rejestru od rejestru roboczego
dekrementacja z nasyceniem (U2) zawartości rejestru,
porównanie zawartości rejestrów roboczych
dekrementacja słowa w pamięci
wywołanie procedury
translacja wartości z pamięci o adresie w RA wg tabeli
o adresie początkowym w [adr] (adresowanie pośrednie), RA++
Grupa 8:
1.
2.
3.
4.
5.
6.
STO st16, [RA]
zapis stałej 16-bitowej do pamięci
XOR [RA], REG
suma wyłączna słowa z pamięci z rejestrem roboczym
CMP REG, [adr]
porównanie słowa z pamięci z rejestrem roboczym
SUB REG, REG, [RA] odjęcie 2 rejestrów i umieszczenie wyniku w pamięci
LOOP st16
skok względny gdy rejestr C≠0, C ← C-1
ADD RA, st16
dodanie stałej 16-bitowej do rejestru adresowego
Grupa 9:
1.
2.
3.
4.
5.
6.
ADC REG, REG
dodanie rejestru do rejestru roboczego z przeniesieniem
SHR [adr],n
przesunięcie w prawo słowa w pamięci
XOR REG, sta16
suma wyłączna rejestru roboczego i stałej
ADD RA, REG
dodanie słowa z rejestru REG do rejestru adresowego
ADD REG, REG, st16[RA]
dodanie 2 rejestrów i umieszczenie wyniku w pamięci
CMPGE REG, REG, st16
porównanie 2 rejestrów i skok gdy większe lub równe,
Grupa 10:
1.
2.
3.
4.
5.
STO RA, adr
DEC REG
CMP REG, REG
JB st16
SUB REG, adr
6. CLR [RA]
zapis podwójnego słowa z rejestru adresowego do pamięci
dekrementacja z nasyceniem (U2) zawartości rejestru,
porównanie zawartości rejestrów roboczych
skok gdy mniejsze (NKB)
odjęcie z nasyceniem (U2) słowa z pamięci od rejestru
roboczego
zerowanie słowa w pamięci adresowanie rejestrowe pośrednie
Grupa 11:
1.
2.
3.
4.
5.
6.
STO st16, [RA]
zapis stałej 16-bitowej do pamięci
SHR [adr],n
przesunięcie w prawo słowa w pamięci
NEG REG
zmiana znaku zawartości rejestru
SUB REG, REG, [RA] odjęcie 2 rejestrów i umieszczenie wyniku w pamięci
VDEC n
dekrementacja wektora w pamięci
VINC n
inkrementacja wektora w pamięci (inkrementacja każdego elementu)
Architektura Systemów Komputerowych 2
Projekt
strona 3 z 4
Tematy projektów praktycznych
Wynikiem projektu powinien być układ realizujący podane dla danej grupy rozkazy zrealizowany
w środowisku Altera Quartus II. Jako sprawozdanie projektu należy wykonać dokumentację
(możliwie jak najkrótszą) informującą o dokonanych zmianach w architekturze i prezentującą
wyniki eksperymentów (z odpowiednim komentarzem) potwierdzających prawidłowość
implementacji projektu (np. zrzut ekranu z wynikami ModelSim Altera Starter Edition).
W ramach projektu można używać komponentów dostarczonych przez prowadzącego (np.: plik
rejestrów), środowisko Altera Quartus II (włączając w to pakiety dodatkowe) lub innych, pod
warunkiem posiadania odpowiedniej licencji i zgody prowadzącego na ich użycie.
Ocena końcowa z projektu uzależniona jest od jakości wykonanego projektu, sprawozdania
i wyniku obrony.
Grupa A:
1. LOAD REG, [RA]
2. JNV st16
3. NEG REG
odczyt słowa z pamięci do rejestru roboczego
skoki warunkowe, adresowanie względne
zmiana znaku zawartości rejestru
Grupa B:
1. LOAD REG, [adr]
2. AND REG, REG
3. XCHG REG, st16[RA]
odczyt słowa z pamięci do rejestru roboczego
iloczyn logiczny rejestrów roboczych
wymiana danych rejestr-pamięć
Grupa C:
1. STO REG, [RA]
2. STO st32, adr
3. ADD RA, REG
zapis słowa z rejestru roboczego do pamięci
zapis stałej 32-bitowej do pamięci
dodanie słowa z rejestru REG do rejestru adresowego
Grupa D:
1. STO REG, [adr]
2. CMP REG, [RA]
3. SBC REG,REG
zapis słowa z rejestru roboczego do pamięci
porównanie słowa z pamięci z rejestrem roboczym
odjęcie rejestru od rejestru roboczego z pożyczką
Grupa E:
1. MOV REG, REG
2. SUB REG, REG, [RA]
3. JMP st16[RA]
Architektura Systemów Komputerowych 2
przesłanie słowa z rejestru do rejestru
odjęcie 2 rejestrów i umieszczenie wyniku w pamięci
skok bezwarunkowy
Projekt
strona 4 z 4

Podobne dokumenty