220
Rys. 6.1. Koszt urządzeń cy....nwych budowanych jako układy konwencjonalne i jako programowane przy wykorzystaniu komputerów i mikrokomputerów
spodarstwie domowym (sterowanie pralkami, kuchniami), motoryzacji (sterowanie silnikiem i monitorowanie stanu pojazdu), miernictwie (złożone mierniki cyfrowe dokonujące oprócz pomiarów, matematycznej obróbki ich wyników, np. obróbki statystycznej), itp. Wydaje się, że tak jak przewrotem w obniżce kosztów i rozszerzeniu zastosowań układów cyfrowych było pojawienie się układów scalonych SSI i MSI, tak w chwili obecnej stoimy u progu następnego przewrotu wywołanego tym razem tanim pP i pK.
Oczywiście układy programowane mają swoje wady, z których podstawowa to mała szybkość działania w stosunku do rozwiązań konwencjonalnych. Jak zobaczymy później, każda, nawet najprostsza operacja logiczna czy arytmetyczna wymaga na jej przeprowadzenie kilkunastu impulsów zegarowych o częstotliwości rzędu 1 KHz, co w porównaniu z czasem propagacji układu konwencjonalnego rzędu 30 ns daje czas kilkaset razy większy.
Pojawienie się pP i pK było naturalną konsekwencją dotychczasowego rozwoju produkcji cyfrowych układów scalonych. Po opanowaniu technologii produkcji układów SSI i MSI a później układów ISI, w końcu lat sześćdziesiątych zaczęło brakować bodźców do dalszego rozwijania układów LSI. Było to konsekwencją faktu, że układy scalone im bardziej były złożone, tym bardziej specjalizowane i produkowano je najczęściej na indywidualne,stosunkowo niewielkie liczebnie zamówienia (np. na potrzeby badań kosmicznych, wojska czy rozpoczynającej się w owym czasie produkcji kalkulatorów itp.). Wyprodukowanie scalonego pP przez amerykańską firmę INTEL w roku 1972 było posunięciem usuwającym wszystkie wspomniane wyżej ograniczenia dotyczące rozwoju układów LSI. Stało się tak dlatego, że pP i zbudowany na jego bazie pK jest układem uniwersalnym! Uniwersalnym, ponieważ każdy użytkownik kupuje taki sam pK i poprzez napisanie odpowiedniego programu otrzymuje Inaczej £lałający, zgodny ze swoimi życzeniami, układ cyfrowy. Taka sytuacja oznaczała produkcję długich serii pP i układów pomocniczych składających się na pK, a tym samym obniżenie ich ceny .W chwili obecnej (1978 r.) cena przeciętnego pP wynosi około $ 12 a cena pK około $ 200 USA wobec kilkakrotnie większej ceny przed kilku laty.
Taki niski koszt pP i pK spowodował już i będzie powodował w przyszłości, że coraz większy procent układów cyfrowych będzie wykonywanych jako układy programowane. Uwzględniając ten stan rzeczy nauczanie techniki cyfrowej musi dotyczyć także znajomości pP, pK i ich programowania czyli elementów informatyki.
Niniejszy rozdział podaje podstawowe wiadomości dotyczące budowy,działania i programowania pK na przykładzie konkretnego, typowego systemu MCS-80. Zakładamy, że Czytelnik nie zna informatyki lub, że zna Ją tylko od strony programowania w wysoko zorganizowanych językach AIGOL lub FORTRAN i wobec tego wykład będzie wyjaśniał wszystkie potrzebne tutaj podstawowe zagadnienia. Kolejno omówimy budowę i działanie pP Intel 8080 wchodzącego w skład systemu MCS-80, programowanie w Języku maszynowym i symbolicznym ze szczególnym uwzględnieniem syntezy układów logiki programowej oraz współpracę pP z pozostałymi układami tworzącymi system.
6.2. BUDOWA I ZASADA DZIAŁANIA KOMPUTERA
Działanie maszyny cyfrowej polega na wykonywaniu określonych operacji logicznych i arytmetycznych. Przykładowymi operacjami mogą być np.: przemieszczenie liczby pomiędzy rejestrami wewnątrz maszyny, odczytanie danej z wejścia i umieszczenie jej w pamięci, dodanie dwóch liczb umieszczonych w pamięci itp. Komputer wykonuje poszczególne operacje na podstawie dostarczonych mu rozkazów; każdy rozkaz jest zakodowany jako kombinacja cyfr dwójkowych. Dla każdego komputera zdefiniowana jest lista rozkazów, które akceptuje i wykonuje.
Komputer może w danej chwili wykonywać tylko jeden rozkaz, czyli dla rozwiązania postawionego zadania musi wykonać przygotowaną wcześniej odpowiednią sekwencję rozkazów zwaną programem. Dla scharakteryzowania takiego programu mówi się, że został napisany w języku maszynowym, aby podkreślić, że użyto w nim rozkazów maszynowych rozumianych bezpośrednio przez komputer, w odróżnieniu od programóe przygotowanych w wysoko zorganizowanych językach jak AIGOL, FORTRAN itp. Programy w tych językach są ciągami instrukcji, które przed wykonaniem muszą być zamienione na ciąg rozkazów maszynowych, czyli na program w języku maszynowym.
Program maszynowy w postaci sekwencji zakodowanych rozkazów maszynowych umieszczony jest w pamięci, skąd następnie komputer sam je pobiera i wykonuje.
Przy dalszym omawianiu działania komputera skorzystamy z rys. 6.2, gdzie przedstawiono Jego schemat blokowy.
Przyjmijmy, więc, że program znajduje się w pamięci komputera (pamięć programu na rys. 6.2). Jest to pamięć typu RAM lub ROM zorganizowana w