Przejdź do zawartości

Intel 8085

Z Wikipedii, wolnej encyklopedii
Procesor 8085AH-2 Intel
Procesor Intel 8085

Intel 80858-bitowy mikroprocesor wprowadzony przez firmę Intel w 1976 roku.

Następca układu 8080, całkowicie z nim zgodny programowo, w porównaniu z 8080 wymagał jednak mniejszej liczby układów scalonych tworzących niezbędne otoczenie procesora, umożliwiając w ten sposób zmniejszenie kosztów budowy mikrokomputera.

Cyfra „5” w nazwie modelu oznaczała, że 8085 potrzebował tylko +5 V napięcia zasilania, w odróżnieniu od +5 V, -5 V i +12 V wymaganych przez 8080.

Mikroprocesory 8080 i 8085 były używane w komputerach działających z systemem operacyjnym CP/M-80; 8085 był także powszechnie stosowany jako sterownik w wielu urządzeniach (dzięki uproszczeniu konstrukcji systemu w stosunku do 8080). Oba te procesory zostały w późniejszym czasie zdystansowane przez mikroprocesor Z80 firmy Zilog, który stał się najpopularniejszym mikroprocesorem 8-bitowym używanym w Europie w komputerach domowych na początku lat 1980.

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 sygnały sterujące dla pobierania i wykonywania instrukcji. Wytwarza ona dwa rodzaje sygnałów sterujących:

  • zewnętrzne – sterują pracą pamięci i układów wejścia wyjścia, należą do nich:
    • IO/-M (wybór wejścia-wyjścia/ pamięci)
    • -WR (sygnał zapisu danych)
    • -RD (sygnał odczytu danych)
    • S0, S1 - informacja o typie cyklu szyny
    • ALE - sterowanie zatrzasku adresu

Sygnały -WR i -RD są aktywne poziomem niskim.

  • wewnętrzne – sterują działaniem wewnętrznych bloków mikroprocesora.

Szyna danych i adresowa

[edytuj | edytuj kod]

Istotną modyfikację w stosunku do 8080 stanowiło wprowadzenie w 8085 multipleksowanej szyny adresowej i danych - linie AD7..0 służyły na początku każdego cyklu transmisji do przesłania adresu, a następnie do przesłania danych. Udostępnienie adresu na zewnątrz procesora przez cały czas trwania cyklu transmisji wymagało użycia zewnętrznego zatrzasku adresu (np. w postaci układu 74573), sterowanego sygnałem ALE. Pomimo konieczności użycia zatrzasku adresu, konstrukcja jednostki centralnej z 8085 była znacznie prostsza niż z 8080, dzięki eliminacji dodatkowych zasilań i układów generatora zegara 8224 i sterownika szyny 8228.

Licznik instrukcji

[edytuj | edytuj kod]

Licznik instrukcji (PC) procesora jest 16-bitowy, wskazuje adres kolejnej instrukcji programu, która ma być pobrania z pamięci.

Jednostka arytmetyczno logiczna

[edytuj | edytuj kod]

Jednostka arytmetyczno logiczna (ALU) wykonuje podstawowe operacje arytmetyczne i logiczne na danych ośmiobitowych oraz kilka operacji na danych 16-bitowych, pożytecznych przy wyliczaniu adresów. Zestaw dostępnych operacji zawiera:

  • dodawanie zwykłe i z przeniesieniem wchodzącym,
  • odejmowanie zwykłe i z pożyczką wchodzącą,
  • inkrementacja/dekrementacja (zwiększanie/zmniejszanie o 1),
  • korekcja wyniku po dodawaniu liczb w kodzie BCD,
  • suma logiczna, iloczyn logiczny, różnica symetryczna (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]

8-bitowy rejestr akumulatora (A) zawiera argument źródłowy i wynik operacji dwuargumentowych na danych 8-bitowych wykonywanych w ALU. Służy do wykonywania obliczeń oraz do interakcji z układami wejścia/wyjścia.

Rejestry danych i adresowe

[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 8-bitowych rejestrów roboczych ogólnego przeznaczenia: B, C, D, E, H, L, połączonych w trzy pary 16-bitowe, BC, DE i HL, służące jako rejestry adresowe lub danych. Ponadto procesor jest wyposażony w rejestr wskaźnika stosu SP, zawierający adres danej ostatnio umieszczonej na stosie.

Wskaźnik stosu

[edytuj | edytuj kod]

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

Rejestr instrukcji

[edytuj | edytuj kod]

8-bitowy rejestr instrukcji (IR) przechowuje kod operacyjny aktualnie wykonywanej instrukcji; jest on używany wewnętrznie przez jednostkę sterującą. Jego zawartość steruje dekoderem instrukcji.

Rejestr znaczników

[edytuj | edytuj kod]

Rejestr znaczników mikroprocesora 8085 zawiera 7 znaczników, o 2 więcej niż w 8080. Znaczniki przechowują atrybuty wyniku ostatnio wykonanej operacji arytmetycznej lub logicznej. Instrukcje przesłań danych nie wpływają na stan znaczników. Rejestr znaczników 8085 zawiera następujące znaczniki:

  • S - znaku
  • Z - zera
  • C przeniesienia
  • AC - przeniesienia pomocniczego
  • P - parzystości
  • V - nadmiaru dodawania/odejmowania w kodzie U2 - nie występuje w 8080, wpływa na wykonanie instrukcji RSTV
  • UI - nadmiaru/niedomiaru inkrementacji/dekrementacji 16-bitowej bez znaku oraz porównania liczb 8-bitowych ze znakiem – nie występuje w 8080, wpływa na wykonanie instrukcji JUI i JNUI

Wejście SID i wyjście SOD

[edytuj | edytuj kod]

Mikroprocesor jest wyposażony w jedno wyjście bitowe i jedno wejście bitowe. Mogą one służyć do programowej realizacji szeregowej transmisji asynchronicznej w standardzie UART lub w dowolnym innym charakterze, np. do testowania stanu przycisku i sterowania diodą LED. Do sterowania wyjściem SOD służy instrukcja SIM, a do odczytu stanu wejścia SID - instrukcja RIM.

Przerwania

[edytuj | edytuj kod]

Oprócz przerwania INT, obsługiwanego analogicznie jak w układzie 8080, mikroprocesor 8085 jest wyposażony w cztery wejścia zgłaszania przerwań, których uaktywnienie powoduje wywołanie procedury spod określonego adresu:

  • RST5.5 - przerwanie maskowalne, zgłaszane poziomem wysokim, adres 0x002c
  • RST6.5 - przerwanie maskowalne, zgłaszane poziomem wysokim, adres 0x0034
  • RST7.5 - przerwanie maskowalne, zgłaszane zboczem narastającym, adres 0x003c
  • TRAP - przerwanie niemaskowalne, zgłaszane zboczem narastającym, adres 0x0024

Przerwania maskowalne mogą być indywidualnie włączane i wyłączane przy użyciu instrukcji SIM

Lista instrukcji

[edytuj | edytuj kod]

8085 wykonuje wszystkie instrukcje 8080 oraz 12 własnych, których kody operacyjne w 8080 stanowiły aliasy kodów innych, udokumentowanych instrukcji. Spośród rozszerzeń listy instrukcji, dokumentacja większości producentów zawierała opis tylko dwóch instrukcji: RIM i SIM, używanych do sterowania przerwaniami i jednobitowym wejściem SOD i wyjściem SID. Publikacja opisu pozostałych instrukcji, znacznie ułatwiających operacje i adresowanie danych w programach pisanych w językach wysokiego poziomu, została wstrzymana, prawdopodobnie z powodu planów wprowadzenia procesora 8086, który nie miał odpowiedników dla tych instrukcji. Oficjalny opis tych instrukcji jest dostępny w dokumencie[1].

Przypisy

[edytuj | edytuj kod]
  1. Tundra Semiconductor Corporation, 8000 Series Components Manual, 1996.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy