Intel 8085

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
Procesor 8085AH-2 Intel
Procesor Intel 8085

Intel 80858-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.

Architektura mikroprocesora 8085[edytuj | edytuj kod]

Architektura mikroprocesora i8085.

Elementy mikroprocesora 8085[edytuj | edytuj kod]

Jednostka sterująca[edytuj | edytuj kod]

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 | edytuj kod]

Licznik rozkazów (PC) procesora jest 16-bitowy, wskazuje adres kolejnej instrukcji do pobrania z pamięci.

Rejestr adresów[edytuj | edytuj kod]

Rejestr adresów jest 16-bitowy, wpisana jest do niego wartość licznika PC

Jednostka arytmetyczno logiczna[edytuj | edytuj kod]

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 | edytuj kod]

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 | edytuj kod]

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 | edytuj kod]

Dekoder rozkazów służy do dekodowania rozkazów,

Rejestr flagowy[edytuj | edytuj kod]

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 | edytuj kod]

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 | edytuj kod]

Wskaźnik stosu (SP) est rejestrem 16-bitowym, który wykorzystuje się do ustalenia adresu do zapisu i odczytu danych z operacji na stosie.