Architektura systemów komputerowych II niestacjonarne (projekt)
Zasady zaliczania i tematy projektów

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:


Projekty realizowane są w grupach czteroosobowych. W przypadku, gdy liczba osób nieprzydzielonych do żadnej grupy wyniesie:
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, PC 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 młodszy bajt każdego rozkazu ma następującą budowę:
B7..B2-numer grupy rozkazów
B1..B0numer rozkazu w grupie


Tematy projektów
Pracę należy wykonać w formie sprawozdania. Ocena uzależniona jest od jakości zaproponowanego rozwiązania, liczby zrealizowanych rozkazów, zastosowanych technik optymalizacji lub obniżenia kosztów procesora, stopnia zaawansowania pracy oraz od wyników obrony projektu.

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.

Dodatkowe informacje można znaleźć pod linkiem: [link]
Niektóre materiały są zabezpieczone hasłem - w tej sprawie proszę wysyłać maila, na który zwrotnie zostanie przesłane owe hasło.


Zadanie 1:

1.XNOR REG, REG negacja alternatywy wykluczającej rejestrów roboczych
2.JNZ st16 skoki warunkowe, adresowanie względne
3.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++

Zadanie 2:
1.JMP st16 skok bezwarunkowy pod podany adres,
2.LOOP st32 skok bezwzględny, gdy rejestr C≠0, C ← C-1
3.OR [adr], REG, [RA]suma logiczna wartości z rejestru REG i pamięci [RA], wynik zapisany w [adr]

Zadanie 3:
1.SUB REG, st16 odjęcie od rejestru stałej wartości 16-bitowej
2.CALL [adr] wywołanie procedury, adresowanie połrednie
3.ADD REG, REG, st16[RA]zsumowanie 2 rejestrów i umieszczenie wyniku w pamięci

Zadanie 4:
1.CMP REG, adr porównanie zawartości rejestru roboczego z wartością w pamięci
2.JMP st16 skok bezwarunkowy
3.ADC REG, REG, st16[RA]dodanie 2 rejestrów z przeniesieniem i umieszczenie wyniku w pamięci

Zadanie 5:
1.ADD RA, st32 dodanie stałej 32-bitowej do rejestru adresowego
2.DEC adr dekrementacja z nasyceniem (U2) słowa w pamięci,
3.CMP REG, st16[RA]porównanie zawartości rejestrze ze słowem w pamięci




Strona główna O mnie Praca badawcza Dydaktyka Kontakt Oferta dla przemysłu

Aktualizacja Październik 2021

Opracowanie - MW