Intel 8085
Intel 8085 – 8-bitowy mikroprocesor produkowany przez firmę Intel w latach siedemdziesiątych.
Był całkowicie zgodny w asemblerowych programach źródłowych z jego słynnym starszym bratem 8080, wymagał jednak mniej układów scalonych wymaganych do jego pracy, pozwalając w ten sposób na zmniejszenie kosztów budowy komputerów.
Cyfra "5" w nazwie modelu oznaczała, że 8085 potrzebował tylko +5 V napięcia zasilania, w odróżnieniu od +5V, -5V i +12V wymaganych przez 8080. Oba te procesory były używane w komputerach bazujących na systemie operacyjnym CP/M, a 8085 był później także powszechnie używany jako kontroler w wielu urządzeniach (właśnie z powodu zmniejszenia wymaganej ilości chipów pomocniczych). Oba te procesory zostały w późniejszym czasie zdystansowane przez mikroprocesor Z80 firmy Zilog, który stał się najpopularniejszym procesorem używanym w komputerach domowych we wczesnym okresie lat osiemdziesiątych.
Spis treści |
Architektura mikroprocesora 8085 [edytuj]
Elementy mikroprocesora 8085 [edytuj]
Jednostka sterująca [edytuj]
Jednostka sterująca (CU) wytwarza wszystkie sygnały sterujące dla pobierania i wykonywania rozkazów. Każdy rozkaz ma określony skutek w funkcjach sterujących. Od CU zależy w jaki sposób dany procesor zachowuje się. Wytwarza ona dwa rodzaje sygnałów sterujących:
- zewnętrzne – są wysyłane do pamięci i układów wejścia wyjścia, należą do nich:
- MEMR (odczyt pamięci)
- MEMW (zapis do pamięci)
- IOR (odczyt układu wejścia wyjścia)
- IOW (zapis do urządzenia wyjściowego)
Wszystkie te sygnały są aktywne dla zera logicznego.
- wewnętrzne – dochodzą do wszystkich elementów znajdujących się w strukturze mikro procesora i w razie potrzeby je uaktywniają.
Licznik rozkazów [edytuj]
Licznik rozkazów (PC) procesora jest 16-bitowy, wskazuje adres kolejnej instrukcji do pobrania z pamięci.
Rejestr adresów [edytuj]
Rejestr adresów jest 16-bitowy, wpisana jest do niego wartość licznika PC
Jednostka arytmetyczno logiczna [edytuj]
Jednostka arytmetyczno logiczna (ALU) wykonuje podstawowe operacje arytmetyczne i logiczne na danych ośmiobitowych, posada też kilka rozkazów do operacji na rejestrach szesnastobitowych, przewidzianych do adresowania pamięci. W mikroprocesorze 8085 wykonywane są:
- dodawanie z przeniesieniem i bez,
- odejmowanie z pożyczką i bez,
- zwiększanie i zmniejszanie o 1,
- normalizacja po dodawaniu i odejmowaniu liczby w kodzie BCD,
- suma modulo 2 (XOR),
- negacja zawartości akumulatora,
- przesunięcie/rotacja zawartości akumulatora w lewo, i w prawo, z uwzględnieniem lub bez bitu przeniesienia,
- porównywanie liczb.
Akumulator [edytuj]
Akumulator (A) jest 8-bitowy, zawiera argument lub pierwszy argument przy operacjach dwuargumentowych dla operacji wykonywanych w ALU. Trafia do niego większość wyników wykonywanych w ALU. Pośredniczy z układami wymiany danych wejścia/wyjścia, to znaczy że w akumulatorze musi znajdować się wartość, która jest wysłana na port wyjściowy i tam trafia wartość odczytana z portu wejściowego.
Rejestr rozkazów [edytuj]
Rejestr (RR) rozkazów 8-bitowy pomocniczy rejestr, wpisywany jest do niego bajt pobrany z pamięci, który ma być następnie zdekodowany.
Dekoder rozkazów [edytuj]
Dekoder rozkazów służy do dekodowania rozkazów,
Rejestr flagowy [edytuj]
Rejestr flagowy (znaczników) jest 8-bitowy, zawiera on informacje o wynikach działań wykonywanych w ALU. Zawarte w nim różne informacje w zależności, jednak większość z nich wskazuje następujące sytuacje:
- zera (Z)
- przeniesienia (CY)
- znaku (S)
- przeniesienia połówkowego (AC)
- parzystości (P)
Rejestry robocze [edytuj]
Rejestry robocze (pomocnicze) służą do przechowywania danych pomocniczych, które są zazwyczaj drugimi argumentami dla ALU lub do przechowywania wyników operacji cząstkowych. Procesor ma 6 ośmiobitowych rejestrów roboczych ogólnego przeznaczenia: B, C, D, E, H, L. Możemy je odpowiednio grupować w pary tworząc rejestry 16-bitowe: BC, DE, HL. Zadaniem rejestrów 16-bitowych jest adresowanie pamięci mogą być wykorzystywane jako liczniki 16-bitowe.
Wskaźnik stosu [edytuj]
Wskaźnik stosu (SP) est rejestrem 16-bitowym, który wykorzystuje się do ustalenia adresu do zapisu i odczytu danych z operacji na stosie.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||