Procesor Intel C8080A w 40-końcówkowej obudowie
Klon procesora C8080A firmy AMD

Intel 8080 jest jednym z pierwszych mikroprocesorów, wyprodukowany przez Intela w kwietniu 1974 jest 8-bitowym mikroprocesorem wykonanym w technologii n-MOS, pracującym z częstotliwością taktowania 2 MHz. Jest on uniwersalną jednostką centralną złożoną z jednostki arytmetyczno-logicznej, rejestrów roboczych i układu sterowania. Dane i instrukcje są przesyłane do i z pamięci za pośrednictwem 8-bitowej szyny danych, pamięć jest adresowana 16-bitową szyną adresową.

Wyprodukowany w 1978 roku 16-bitowy procesor 8086, który jest protoplastą wszystkich stosowanych w komputerach zgodnych z PC, zawiera wszystkie instrukcje procesora 8080, ale mają one inne kody maszynowe i dlatego jest zgodny na poziomie programu źródłowego w kodzie asemblera z procesorem 8080.

Spis treści

edytuj Charakterystyka

  • sÅ‚owo 8-bitowe
  • 72 instrukcje
  • bezpoÅ›rednie adresowanie pamiÄ™ci o pojemnoÅ›ci do 64 KB
  • arytmetyka dwójkowa i dziesiÄ™tna kodowana dwójkowo (BCD)
  • 8 rejestrów programowych dostÄ™pnych dla programisty
  • cykl pracy 2μs, wymuszany przez 2-fazowy zegar zewnÄ™trzny
  • czÄ™stotliwość zegara 2-3 MHz (podstawowy cykl rozkazowy – 4 takty)
  • 3 napiÄ™cia zasilajÄ…ce: +5V, +12V, -5V
  • ubogi zestaw trybów adresowania i nieuporzÄ…dkowana lista rozkazów
  • konieczność stosowania dodatkowych ukÅ‚adów: zegar i sterownik systemu

edytuj Schemat blokowy

Architektura procesora 8080

W strukturze mikroprocesora można wyróżnić cztery bloki funkcjonalne:

  • blok rejestrów wraz z ukÅ‚adem wybierajÄ…cym
  • jednostkÄ™ arytmetyczno-logicznÄ…
  • ukÅ‚ad sterowania z rejestrem rozkazów
  • dwukierunkowy, trójstanowy bufor szyny danych

edytuj Blok rejestrów z układem wybierającym

Blok rejestrów z układem wybierającym jest statyczną pamięcią z dostępem swobodnym (RAM), zorganizowaną w ten sposób, że tworzy następujące rejestry:

  • licznik rozkazów (PC) – 16-bitowy
  • wskaźnik stosu (SP) – 16-bitowy
  • sześć oÅ›miobitowych rejestrów uniwersalnych: B, C, D, E, H, L, które można łączyć w pary
  • rejestr pomocniczy skÅ‚adajÄ…cy siÄ™ z dwóch oÅ›miobitowych rejestrów W oraz Z

Licznik rozkazów zawiera adresy wykonywanych instrukcji. Przy pobraniu każdego bajtu z pamięci zewnętrznej i wchodzącego w skład instrukcji, zawartość licznika jest automatycznie zwiększana o 1. Stos śladów organizowany jest w pamięci zewnętrznej RAM. Wskaźnik tego stosu (SP) zawiera adres następnego, wolnego miejsca na stosie. Sześć ośmiobitowych rejestrów uniwersalnych jest dostępnych dla programisty i można je używać pojedynczo (jako rejestry 8-bitowe) lub w parach, jako rejestry 16-bitowe. W ten sposób można łączyć w pary rejestry B-C, D-E i H-L. Rejestr pomocniczy wytworzony z rejestrów W i Z nie jest dostępny dla programisty i wykorzystywany jest do operacji wewnętrznych.

Dane ośmiobitowe są wprowadzane do bloku rejestrów poprzez multiplekser. Między blokami rejestrów a rejestrem adresów i buforem adresów mogą zachodzić przesłania. Informacja szesnastobitowa może być zwiększona lub zmniejszona o 1, co zachodzi w układzie generacji następnika i poprzednika. Korzysta się z tego przy aktualizacji zawartości licznika rozkazów i wskaźnika stosu. Rejestr adresów jest połączony z trójstanowym buforem, który można wprowadzić w stan wysokiej impedancji, gdy wymagane jest odizolowanie mikroprocesora od pamięci zewnętrznej, tj. wtedy, gdy urządzenia zewnętrzne przesyłają dane bezpośrednio do pamięci z pominięciem jednostki centralnej (DMA).

edytuj Jednostka arytmetyczno-logiczna

Jednostka arytmetyczno-logiczna może wykonywać działania w arytmetyce dwójkowej, operując liczbami ośmiobitowymi, do realizacji arytmetyki dziesiętnej wprowadzono rozkazy korekcji po dodawaniu i odejmowaniu. Z jednostką ALU związany jest rejestr znaczników, którego zawartość tworzy warunki pracy przy wykonywaniu operacji arytmetycznych, logicznych i instrukcji warunkowych. Poszczególne bity tego rejestru służą do określenia:

  • zera na wyjÅ›ciu sumatora
  • przeniesienia
  • znaku parzystoÅ›ci
  • przeniesienia połówkowego

edytuj Układ sterowania z rejestrem rozkazów

Rejestr rozkazów jest rejestrem ośmiobitowym, do którego na początku każdego cyklu rozkazowego jest przesyłany pierwszy bajt instrukcji (zawierający kod instrukcji) pobrany z zewnętrznej pamięci przez szynę danych D0 ... D7 i wewnętrzną szynę danych. Zawartość rejestru rozkazowego jest dostępna dla dekodera instrukcji, który generuje, wraz z układem sterującym sygnały sterujące dla wszystkich układów mikroprocesora. Do układów są doprowadzone końcówki ф1, ф2, READY, INT, RESET i HOLD, przez które wprowadza się dodatkowe informacje sterujące. Z układu sterowania jest wyprowadzonych na zewnątrz sześć wyjść identyfikujących stany i cykle mikroprocesora dla układów zewnętrznych. Są to INTE, HLDA, DBIN, SYNC, WR i WAIT.

edytuj Bufor szyny danych

Bufor szyny danych jest ośmiobitowym, dwukierunkowym rejestrem służącym do odizolowania wewnętrznej szyny danych od końcówek D0 ... D7 stanowiących zewnętrzną szynę danych. Lista rozkazów 8080 obejmuje:

  • przesÅ‚ania miÄ™dzy rejestrami procesora lub rejestrem a pamiÄ™ciÄ… zaadresowanÄ… w jednym z trzech trybów (natychmiastowy, bezpoÅ›redni, zawartoÅ›ciÄ… pary rejestrów)
  • operacje arytmetyczne dodawania, odejmowania, porównywania wykonywane na oÅ›miobitowych liczbach dwójkowych, caÅ‚kowitych bez znaku lub ze znakiem w kodzie U2, jednym z argumentów operacji jest zawartość akumulatora, drugim – zawartość rejestru roboczego, argument bezpoÅ›redni lub zawartość komórki pamiÄ™ci zaadresowanej parÄ… H-L
  • dodawanie dwucyfrowych liczb dziesiÄ™tnych, wykonywane metodÄ… korekcji zawartoÅ›ci akumulatora
  • dodawanie i odejmowanie wielokrotnej precyzji
  • operacje logiczne na sÅ‚owach oÅ›miobitowych
  • operacje przesyÅ‚ania, zwiÄ™kszania, zmniejszania i dodawania szesnastobitowych adresów traktowanych jako liczby caÅ‚kowite bez znaku
  • rozkazy skoku, przy czym skok warunkowy jest skokiem bezwzglÄ™dnym, a warunkiem skoku jest stan wybranego znacznika w rejestrze stanu
  • rozkazy wejÅ›cia/wyjÅ›cia realizujÄ…ce przesÅ‚ania miÄ™dzy akumulatorem a ukÅ‚adem sprzÄ™gajÄ…cym, którego numer jest podany w rozkazie

edytuj Historia

W Polsce pod koniec lat 70. zakłady półprzewodnikowe CEMI produkowały mikroprocesor o nazwie MCY7880 w pełni zgodny z 8080 oraz dodatkowe układy wspomagające zgodne z układami Intela.

edytuj Zobacz też