thumb|Procesor 8085AH-2 Intel thumb|Procesor Intel 8085 Intel 8085 – 8-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 thumb|400px|Architektura mikroprocesora i8085
Elementy mikroprocesora 8085 Jednostka sterująca 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 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 Licznik instrukcji (PC) procesora jest 16-bitowy, wskazuje adres kolejnej instrukcji programu, która ma być pobrania z pamięci.
Jednostka arytmetyczno logiczna 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 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 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 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 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 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 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 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 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.
Przypisy
Kategoria:Procesory Intel