logo

Rejestry mikroprocesora 8085

Wstęp :

A mikroprocesor to wielofunkcyjne, programowalne, sterowane zegarem, oparte na rejestrach urządzenie elektroniczne, które odczytuje instrukcje binarne z urządzenia magazynującego zwanego pamięcią, przyjmuje dane binarne jako dane wejściowe i przetwarza je zgodnie z tymi instrukcjami oraz dostarcza wyniki w postaci wyjściowej. Mikroprocesor 8085 jest 8-bitowym mikroprocesorem drugiej generacji i stanowi podstawę do badania i wykorzystania wszystkich mikroprocesorów dostępnych na rynku.



np.argmax

Dlaczego warto używać rejestrów w mikroprocesorze 8085?

Oto kilka powodów, dla których rejestry są używane w mikroprocesorze 8085:

  1. Magazyn tymczasowy: Rejestry służą jako tymczasowe miejsca przechowywania danych, które muszą zostać przetworzone przez mikroprocesor. Na przykład podczas wykonywania operacji arytmetycznych operandy są zwykle przechowywane w rejestrach.
  2. Adresowanie: Rejestry służą do adresowania komórek pamięci w mikroprocesorze 8085. Rejestr licznika programu (PC) śledzi lokalizację pamięci bieżącej instrukcji, podczas gdy rejestr wskaźnika stosu (SP) śledzi szczyt stosu.
  3. Wejście/wyjście: Rejestry służą do komunikacji z urządzeniami wejścia/wyjścia (I/O). Na przykład rejestr akumulatora (A) służy do komunikacji z magistralą danych, która jest podłączona do urządzeń wejścia/wyjścia.
  4. Informacje o statusie: Rejestry służą do przechowywania informacji o stanie mikroprocesora. Na przykład rejestr flagowy przechowuje informacje o wynikach operacji arytmetycznych i logicznych, w tym o tym, czy wynik jest ujemny, zerowy czy przeniesiony.
  5. Optymalizacja: Rejestry służą do optymalizacji wydajności mikroprocesora. Używając rejestrów do przechowywania często używanych danych i instrukcji, mikroprocesor może uzyskać dostęp do tych informacji szybciej, niż gdyby musiał je odzyskać z pamięci.

Rejestry w 8085:



(a) Rejestry ogólnego przeznaczenia – Model 8085 ma sześć rejestrów ogólnego przeznaczenia do przechowywania danych 8-bitowych; są one identyfikowane jako B, C, D, E, H i L. Można je łączyć jako pary rejestrów – BC, DE i HL, aby wykonać około 16-bitową operację. Rejestry te służą do przechowywania lub kopiowania danych tymczasowych za pomocą instrukcji podczas wykonywania programu.

(b) Rejestry specjalnego przeznaczenia –

    Akumulator: Akumulator to 8-bitowy rejestr (może przechowywać 8-bitowe dane), który jest częścią jednostki arytmetyczno-logicznej (ALU). Po wykonaniu operacji arytmetycznych lub logicznych wynik zapisywany jest w akumulatorze. Akumulator definiuje się także jako rejestr A. Rejestry flagowe: Rejestr flagowy jest rejestrem specjalnego przeznaczenia i całkowicie różni się od innych rejestrów w mikroprocesorze. Składa się z 8 bitów i tylko 5 z nich jest użytecznych. Pozostałe trzy pozostają wolne i będą używane w przyszłych wersjach Intela. Te 5 flag jest ustawianych lub resetowanych (gdy wartość flagi wynosi 1, mówi się, że jest ustawiona, a gdy wartość wynosi 0, mówi się, że jest resetowana ) po operacji zgodnie ze stanem danych wyniku w akumulatorze i innych rejestrach. Pięć rejestrów flagowych to:
      Flaga znaku: zajmuje siódmy bit rejestru flagi, zwany także bitem najbardziej znaczącym. Pomaga programiście dowiedzieć się, czy liczba przechowywana w akumulatorze jest dodatnia czy ujemna. Jeśli flaga znaku jest ustawiona, oznacza to, że liczba przechowywana w akumulatorze jest ujemna, a jeśli zostanie wyzerowana, liczba będzie dodatnia. Zero Flag: : Zajmuje szósty bit rejestru flag. Jest ustawiany, gdy operacja wykonana w ALU daje zero (wszystkie 8 bitów wynosi zero), w przeciwnym razie jest resetowany. Pomaga w określeniu, czy dwie liczby są równe, czy nie. Pomocnicza flaga przenoszenia: zajmuje czwarty bit rejestru flag. W operacji arytmetycznej, gdy flaga przeniesienia jest generowana przez trzeci bit i przekazywana do czwartego bitu, ustawiana jest flaga Auxiliary Carry. Jeśli nie, flaga jest resetowana. Ta flaga jest używana wewnętrznie dla operacji BCD (liczba dziesiętna zakodowana binarnie). Notatka - Jest to jedyny rejestr flagowy w 8085, do którego użytkownik nie ma dostępu. Flaga parzystości: zajmuje drugi bit rejestru flag. Ta flaga sprawdza liczbę jedynek w akumulatorze. Jeśli akumulator zawiera parzystą liczbę jedynek, wówczas flaga ta jest ustawiana i mówi się, że ma parzystość. Z drugiej strony, jeśli liczba jedynek jest nieparzysta, wówczas jest ona resetowana i mówi się, że jest to nieparzysta liczba. Carry Flag: Zajmuje zerowy bit rejestru flag. Jeśli operacja arytmetyczna zakończy się przeniesieniem (jeśli wynik jest większy niż 8 bitów), wówczas ustawiana jest flaga przeniesienia; w przeciwnym razie zostanie zresetowany.

(c) Rejestry pamięci – Istnieją dwa 16-bitowe rejestry używane do przechowywania adresów pamięci. Rozmiar tych rejestrów wynosi 16 bitów, ponieważ adresy pamięci mają 16 bitów. Oni są :-



    Licznik programu: Ten rejestr służy do sekwencjonowania wykonywania instrukcji. Zadaniem licznika programu jest wskazanie adresu pamięci, z którego ma zostać pobrany kolejny bajt. Podczas pobierania bajtu (kodu maszynowego) licznik programu jest zwiększany o jeden, aby wskazać następną komórkę pamięci. Wskaźnik stosu: służy jako wskaźnik pamięci. Wskazuje miejsce w pamięci do odczytu/zapisu, zwane stosem. Podczas operacji push i pop wartość ta jest zawsze zwiększana/zmniejszana o 2.
      Flaga znaku (7 bit): Jest resetowana (0), co oznacza, że ​​liczba przechowywana w akumulatorze jest dodatnia. Flaga zera (6 bit): Jest resetowana (0), zatem wynik operacji wykonywanych w ALU jest niezerowy. Pomocnicza flaga przeniesienia (4. bit): Widzimy, że b3 generuje przeniesienie, które jest pobierane przez b4, dlatego ustawiana jest pomocnicza flaga przeniesienia (1). Flaga parzystości (2. bit): Jest resetowana (0), co oznacza, że ​​parzystość jest nieparzysta. Akumulator przechowuje nieparzystą liczbę jedynek. Flaga przenoszenia (0-ty bit): Jest ustawiona (1), na wyjściu pojawia się więcej niż 8 bitów.

Zastosowania rejestrów mikroprocesora 8085:

porównanie lwa i tygrysa

Oto kilka typowych zastosowań różnych rejestrów w mikroprocesorze 8085:

  1. Rejestr akumulatora (A): Rejestr akumulatora jest najczęściej używanym rejestrem w mikroprocesorze 8085. Służy do operacji arytmetycznych i logicznych, a także do operacji wejścia/wyjścia (I/O). Akumulator służy również jako tymczasowe miejsce przechowywania danych.
  2. Rejestr licznika programu (PC): Rejestr PC służy do śledzenia lokalizacji pamięci bieżącej instrukcji. Kiedy instrukcja jest wykonywana, rejestr PC jest automatycznie zwiększany, aby wskazać następną instrukcję w pamięci.
  3. Rejestr wskaźnika stosu (SP): Rejestr SP służy do śledzenia szczytu stosu. Stos służy do tymczasowego przechowywania danych i adresów zwrotnych podczas wywołań podprogramów.
  4. Rejestr flagowy: Rejestr flagowy służy do przechowywania informacji o stanie wyników operacji arytmetycznych i logicznych, w tym o tym, czy wynik jest ujemny, zerowy czy przeniesiony.
  5. Rejestry ogólnego przeznaczenia (B, C, D, E, H i L): Rejestry te służą do ogólnego przechowywania danych, a także do adresowania komórek pamięci. Można ich używać parami jako rejestry 16-bitowe, takie jak BC, DE i HL, w celu bardziej wydajnego adresowania lokalizacji pamięci.
  6. Rejestr instrukcji (IR) i rejestr cykli maszyny (MCR): Rejestry te są używane wewnętrznie przez mikroprocesor do dekodowania instrukcji i kontrolowania taktowania cykli maszyny.

Cechy tych rejestrów to:

  1. Wszystkie rejestry mikroprocesora 8085 są bezpośrednio dostępne z poziomu jednostki arytmetyczno-logicznej (ALU), co pozwala na efektywne przetwarzanie danych.
  2. Rejestr akumulatora jest domyślnym miejscem docelowym dla większości instrukcji arytmetycznych i logicznych, co upraszcza programowanie.
  3. Rejestry ogólnego przeznaczenia mogą być używane do przechowywania danych podczas obliczeń, ale mogą być również używane do przechowywania adresów pamięci, dzięki czemu są przydatne do uzyskiwania dostępu do komórek pamięci.
  4. Rejestry licznika programu i wskaźnika stosu są kluczowe dla zarządzania przepływem instrukcji i danych w programie.
  5. Rejestr flagowy dostarcza cennych informacji o wynikach operacji arytmetycznych i logicznych, pozwalając na sprawne podejmowanie decyzji w programach.
  6. Rejestr instrukcji przechowuje aktualnie wykonywaną instrukcję, umożliwiając sprawne dekodowanie i generowanie sygnału sterującego przez jednostkę sterującą.

Zalety:

    Szybki dostęp: Rejestry zapewniają szybki i skuteczny sposób dostępu do danych i wykonywania operacji. Ponieważ rejestry znajdują się wewnątrz procesora, można uzyskać do nich szybki dostęp, bez konieczności oczekiwania na pobranie danych z pamięci. Ograniczony dostęp do pamięci: użycie rejestrów może pomóc w zmniejszeniu liczby wymaganych dostępów do pamięci, co może poprawić ogólną wydajność systemu. Specjalna funkcjonalność: Każdy rejestr w mikroprocesorze 8085 ma określoną funkcję, taką jak akumulator operacji arytmetycznych i licznik programu do przechowywania adresu następnej instrukcji. Ta wyspecjalizowana funkcjonalność może ułatwić programowanie i debugowanie. Mniejsza złożoność: Zapewniając dedykowane rejestry do określonych celów, mikroprocesor 8085 zmniejsza złożoność procesu programowania i wykonywania.

Niedogodności:

    Ograniczona pojemność pamięci: Mikroprocesor 8085 ma ograniczoną liczbę rejestrów, co może ograniczać ilość danych, które można w dowolnym momencie przechowywać i którymi można manipulować. Złożone tryby adresowania: Niektóre tryby adresowania stosowane w mikroprocesorze 8085 mogą być złożone, co może utrudniać programowanie. Przełączanie kontekstu: W niektórych przypadkach przełączanie między różnymi zestawami rejestrów może zwiększyć obciążenie i złożoność procesu programowania. Brak elastyczności: Stała liczba i funkcja rejestrów w mikroprocesorze 8085 może ograniczać elastyczność systemu i utrudniać dostosowanie się do zmieniających się wymagań.