Architektura mikroprocesora - budowa i ogólna charakterystyka. Mikroprocesory

Wstęp

Wstęp


Mikroprocesory i mikrokontrolery to jeden z najdynamiczniej rozwijających się obszarów współczesnej technologii elektronicznej. Te urządzenia elektroniczne, wprowadzone po raz pierwszy w 1971 roku, szybko ewoluowały od prostych urządzeń wykonujących proste obliczenia do nowoczesnych, wysokowydajnych procesorów, które wykonują setki milionów operacji na sekundę. Jeszcze bardziej imponujące jest wykładnicze rozszerzenie obszarów ich zastosowań. Obecnie w produkcji i życiu codziennym otaczają nas dziesiątki mikroprocesorów i mikrokontrolerów wbudowanych w sprzęt do różnych celów. To nie tylko komputery osobiste, które stały się obowiązkowym atrybutem zarówno wnętrz domowych, jak i stanowisk pracy specjalistów w wielu obszarach produkcji i usług. Należą do nich nowoczesny sprzęt AGD, obiekty rekreacyjne, elektronika samochodowa i sprzęt medyczny, sprzęt komunikacyjny, różnorodne urządzenia i systemy stosowane w urządzeniach produkcyjnych i wiele innych.

Znajomość podstaw technologii mikroprocesorowej jest niezbędna wielu specjalistom, zarówno tym, którzy opracowują nowe typy urządzeń opartych na nowoczesnych mikroprocesorach i mikrokontrolerach, jak i tym, którzy w swojej działalności zawodowej wykorzystują sprzęt realizowany na ich bazie. Podręcznik ten ma na celu pomóc szerokiemu gronu specjalistów przeszkolonych w placówkach edukacyjnych dla różnych sektorów gospodarki narodowej w opanowaniu tej technologii.

Nowoczesna elektroniczna technologia cyfrowa jest szeroko stosowana w gospodarce narodowej. Obecnie powstały cztery generacje komputerów o udoskonalonych wskaźnikach technicznych i ekonomicznych, co przyczynia się do dalszego poszerzania zakresu zastosowań komputerów i ich wydajności.

Mikrokontrolery są najbardziej rozpowszechnionym przedstawicielem technologii mikroprocesorowej. Mikrokontrolery umożliwiają integrację wysokowydajnego procesora, pamięci i zestawu urządzeń peryferyjnych w jednym chipie minimalne koszty wdrażać szeroką gamę systemów sterowania dla różnych obiektów i procesów. Zastosowanie mikrokontrolerów w układach sterowania i przetwarzania informacji zapewnia wyjątkowo wysokie wskaźniki efektywności przy stosunkowo niskim koszcie. Praktycznie nie ma alternatywy dla mikrokontrolerów, jeśli chodzi o tworzenie wysokiej jakości i tanich systemów. Czasami system może składać się tylko z jednego mikrokontrolera. Wyjątkiem jest zastosowanie programowalnych układów scalonych logicznych (FPGA) w dziedzinie przetwarzania sygnałów, gdy wymagane jest równoległe przetwarzanie dużego strumienia danych wejściowych.

mikroprocesor architektura mikrokontrolera obliczenia

1. Mikroprocesory, funkcjonalność i rozwiązania architektoniczne


Rozwój technologii sprawia, że ​​wszystko można stworzyć na chipie więcej elementy aktywne - tranzystory, które można wykorzystać do realizacji nowych rozwiązań architektonicznych i konstrukcyjnych, zapewniających zwiększoną wydajność i rozszerzoną funkcjonalność mikroprocesorów. Rozważmy pokrótce główne z tych rozwiązań.

Architektura procesora to zespół sprzętu i oprogramowania dostarczany użytkownikowi. W tym ogólna koncepcja obejmuje zestaw rejestrów dostępnych programowo i urządzeń wykonawczych (operacyjnych), system podstawowych poleceń i metod adresowania, objętość i strukturę pamięci adresowalnej, rodzaje i metody przetwarzania przerwań. Przykładowo wszystkie modyfikacje procesorów Pentium, Celeron, i486 oraz i386 mają architekturę IA-32 (architektura Intel - 32 bity), która charakteryzuje się standardowym zestawem rejestrów udostępnianym użytkownikowi, wspólnym systemem podstawowych poleceń i metod organizowanie i adresowanie pamięci, ta sama implementacja ochrony pamięci i usług przerwań.

Opisując architekturę i działanie procesora, jego reprezentację stosuje się zwykle w postaci zestawu rejestrów dostępnych programowo, które tworzą rejestr lub model programu. Rejestry te zawierają przetwarzane dane (operandy) i informacje sterujące. Odpowiednio model rejestru obejmuje grupę rejestrów ogólnego przeznaczenia służących do przechowywania operandów oraz grupę rejestrów usługowych, które zapewniają kontrolę wykonywania programu i trybu pracy procesora, organizację dostępu do pamięci (ochrona pamięci, organizacja segmentów i stron itp.). ).

Rejestry ogólnego przeznaczenia tworzą RRAM - wewnętrzną pamięć rejestrową procesora (patrz rozdział 1.3). Skład i liczba rejestrów usługowych jest określona przez architekturę mikroprocesora. Zazwyczaj obejmują one:

Licznik programów PC (lub CS+IP w architekturze mikroprocesorowej Intel),

rejestr stanu SR (lub EFLAGS),

rejestry kontrolne trybu pracy procesora CR (Control Register),

rejestry realizujące organizację pamięci segmentowej i stronicowej,

rejestry umożliwiające debugowanie programów i testowanie procesorów.

Oprócz, różne modele mikroprocesory zawierają szereg innych wyspecjalizowanych rejestrów.

Funkcjonowanie procesora jest reprezentowane w postaci realizacji transferów rejestrów - procedur sprawdzania i zmiany stanu tych rejestrów poprzez odczyt i zapis ich zawartości. W wyniku takich transferów adresowanie i wybieranie poleceń i operandów, przechowywanie i przekazywanie wyników, zmiana kolejności poleceń i trybów pracy procesora zgodnie z pojawieniem się nowych treści w rejestrach usługowych, a także wszelkie inne procedury, które wdrożyć proces przetwarzania informacji zgodnie z dane warunki.

Niektóre procesory przydzielają rejestry używane podczas wykonywania programy aplikacyjne i są dostępne dla każdego użytkownika oraz rejestry sterujące trybem pracy całego systemu i dostępne tylko dla uprzywilejowanych programów wchodzących w skład systemu operacyjnego (nadzorcy). Odpowiednio, takie procesory są reprezentowane jako model rejestru użytkownika, który obejmuje rejestry używane podczas wykonywania programów użytkowych, lub model rejestru nadzorcy, który zawiera cały zestaw rejestrów procesora dostępnych dla oprogramowania, używanych przez system operacyjny.

Struktura mikroprocesora określa skład i interakcję głównych urządzeń i bloków znajdujących się na jego chipie. Struktura ta obejmuje:

procesor(rdzeń procesora), składający się z urządzenia sterującego (CU), jednego lub większej liczby urządzeń operacyjnych (OU),

pamięć wewnętrzna(RAM, pamięć podręczna, w mikrokontrolerach - jednostki RAM i ROM),

jednostka interfejsu, która zapewnia wyjście do magistrali systemowej i wymianę danych z urządzeniami zewnętrznymi poprzez połączenie równoległe lub Porty szeregowe wejście wyjście,

urządzenia peryferyjne (moduły czasowe, przetworniki analogowo-cyfrowe, specjalistyczne sterowniki),

różne obwody pomocnicze (generator zegara, obwody do debugowania i testowania, zegar watchdog i wiele innych).

Skład urządzeń i bloków wchodzących w skład struktury mikroprocesora oraz zaimplementowane mechanizmy ich współdziałania wyznacza cel funkcjonalny i zakres mikroprocesora.

Architektura i struktura mikroprocesora są ze sobą ściśle powiązane. Realizacja określonych cech architektury wymaga wprowadzenia niezbędnego sprzętu (urządzeń i bloków) do struktury mikroprocesora oraz zapewnienia odpowiednich mechanizmów ich wspólnego funkcjonowania.

Nowoczesne mikroprocesory realizują następujące opcje architektury: (komputer ze złożonym zestawem instrukcji) - architektura jest zaimplementowana w wielu typach mikroprocesorów, które wykonują duży zestaw instrukcji wieloformatowych przy użyciu wielu metod adresowania. Jest to klasyczna architektura procesorów, która rozpoczęła swój rozwój w latach 40. ubiegłego wieku wraz z pojawieniem się pierwszych komputerów. Typowym przykładem procesorów CISC jest rodzina mikroprocesorów Pentium. Wykonują ponad 300 poleceń o różnej złożoności, o rozmiarze od 1 do 15 bajtów i zapewniających ponad 10 na różne sposoby adresowanie. Tak duża różnorodność wykonywanych poleceń i sposobów adresowania pozwala programiście zaimplementować najskuteczniejsze algorytmy rozwiązywania różnych problemów. Jednak znacznie komplikuje to strukturę mikroprocesora, zwłaszcza jego urządzenia sterującego, co prowadzi do wzrostu rozmiaru i kosztu kryształu oraz spadku wydajności. Jednocześnie wiele poleceń i metod adresowania jest używanych dość rzadko. Dlatego od lat 80-tych ubiegłego wieku architektura procesorów ze zredukowanym zestawem instrukcji (procesory RISC) podlega intensywnemu rozwojowi (komputer ze zredukowanym zestawem instrukcji) - architekturę wyróżnia zastosowanie ograniczonego zestawu poleceń ustalony format. Nowoczesne procesory RISC zazwyczaj implementują około 100 instrukcji, które mają stały format długości 2 lub 4 bajtów. Znacząco zmniejsza się także liczba stosowanych metod adresowania. Zazwyczaj w procesorach RISC wszystkie instrukcje przetwarzania danych wykonywane są wyłącznie z adresowaniem rejestrowym lub bezpośrednim. Ponadto, aby zmniejszyć liczbę dostępów do pamięci, procesory RISC mają zwiększoną objętość wewnętrznej pamięci RAM - z 32 do kilkuset rejestrów, podczas gdy w procesorach CISC liczba rejestrów ogólnego przeznaczenia wynosi zwykle 8-16.

Dostęp do pamięci w procesorach RISC wykorzystywany jest jedynie w operacjach ładowania danych do pamięci lub przenoszenia wyników z pamięci do pamięci. W tym przypadku niewielka liczba najbardziej proste sposoby adresowanie: rejestr pośredni, indeks i inne. W rezultacie struktura mikroprocesora zostaje znacznie uproszczona, jego rozmiar i koszt są zmniejszone, a produktywność znacznie zwiększona.

Te zalety architektury RISC doprowadziły do ​​tego, że wiele nowoczesnych procesorów CISC wykorzystuje rdzeń RISC, który realizuje przetwarzanie danych. W tym przypadku przychodzące złożone i wieloformatowe polecenia są wstępnie konwertowane na sekwencję prostych operacji RISC, które są szybko wykonywane przez ten rdzeń procesora. Tak działają na przykład najnowsze modele mikroprocesorów Pentium i K7, które według zewnętrznych wskaźników należą do procesorów CISC. Zastosowanie architektury RISC jest cechą charakterystyczną wielu współczesnych mikroprocesorów (Very Large Order Word) – architektura pojawiła się stosunkowo niedawno – w latach 90-tych. Jego osobliwością jest stosowanie bardzo długich poleceń (do 128 bitów), których poszczególne pola zawierają kody zapewniające wykonanie różne operacje. Zatem jedno polecenie powoduje wykonanie kilku operacji jednocześnie, które można wykonywać równolegle na różnych urządzeniach operacyjnych wchodzących w skład struktury mikroprocesora. Podczas tłumaczenia programów napisanych w języku wysokiego poziomu odpowiedni kompilator generuje „długie” instrukcje VLIW, z których każda zapewnia wykonanie przez procesor całej procedury lub grupy operacji. Architektura ta jest zaimplementowana w niektórych typach nowoczesnych mikroprocesorów (PA8500 firmy Hewlett-Packard, Itanium – wspólne opracowanie Intela i Hewlett-Packard, niektóre typy DSP – cyfrowe procesory sygnałowe) i jest bardzo obiecująca w tworzeniu nowej generacji ultra- procesory o dużej wydajności.

Oprócz zestawu poleceń do wykonania i metod adresowania, ważną cechą architektury mikroprocesorów jest zastosowana implementacja pamięci oraz organizacja pobierania poleceń i danych. Zgodnie z tymi cechami procesory o architekturze Princeton i Harvard różnią się. Te opcje architektoniczne zostały zaproponowane pod koniec lat 40. przez specjalistów z uniwersytetów Princeton i Harvard w USA, odpowiednio dla opracowanych przez nich modeli komputerowych.

Architektura Princeton, często nazywana architekturą Von Neumanna, charakteryzuje się wykorzystaniem współdzielonej pamięci RAM do przechowywania programów, przechowywania danych i organizacji stosu. Aby uzyskać dostęp do tej pamięci, używana jest wspólna magistrala systemowa, przez którą zarówno polecenia, jak i dane wchodzą do procesora. Struktura i funkcjonowanie systemu cyfrowego z architekturą Princeton opisano w rozdziale 1. Architektura ta ma szereg istotnych zalet. Dostępność wspólna pamięć pozwala na szybką redystrybucję jego woluminu w celu przechowywania oddzielnych tablic poleceń, danych i implementacji stosu w zależności od rozwiązywanych zadań. Dzięki temu możliwe jest efektywniejsze wykorzystanie dostępnej ilości pamięci RAM w każdym z nich konkretny przypadek aplikacje mikroprocesorowe. Zastosowanie wspólnej magistrali do przesyłania poleceń i danych znacznie upraszcza debugowanie, testowanie i bieżące monitorowanie pracy systemu oraz zwiększa jego niezawodność. Dlatego architektura Princeton dominowała w informatyce przez długi czas.

Ma jednak również istotne wady. Główną z nich jest konieczność sekwencyjnego wybierania poleceń i przetwarzanych danych zgodnie z ogólną zasadą magistrala systemowa. W tym przypadku wspólna magistrala staje się „wąskim gardłem” (wąskim gardłem), co ogranicza wydajność systemu cyfrowego. Stale rosnące wymagania dotyczące wydajności systemów mikroprocesorowych doprowadziły w ostatnich latach do coraz szerszego wykorzystania architektury harwardzkiej przy tworzeniu wielu typów nowoczesnych mikroprocesorów.

Architektura Harvardu charakteryzuje się fizycznym oddzieleniem pamięci instrukcji (programów) i pamięci danych. Jego pierwotna wersja wykorzystywała również oddzielny stos do przechowywania zawartości licznika programu, co zapewniało możliwość wykonywania zagnieżdżonych podprogramów. Każda pamięć połączona jest z procesorem oddzielną magistralą, co pozwala na jednoczesny odczyt i zapis danych podczas wykonywania bieżącego polecenia, aby pobrać i zdekodować kolejne polecenie. Dzięki takiemu oddzieleniu strumieni poleceń i danych oraz połączeniu ich operacji pobierania, osiągana jest wyższa wydajność niż przy zastosowaniu architektury Princeton.

Wady architektury harwardzkiej wiążą się z koniecznością stosowania większej liczby magistral, a także ze stałą ilością pamięci przeznaczonej na polecenia i dane, której przeznaczenia nie można szybko redystrybuować zgodnie z wymaganiami stawianego problemu. rozwiązany. Dlatego konieczne jest użycie większej pamięci, której stopień wykorzystania przy rozwiązywaniu różnych problemów jest niższy niż w systemach o architekturze Princeton. Jednak rozwój technologii mikroelektronicznej pozwolił w dużej mierze przezwyciężyć te niedociągnięcia, dlatego architektura harwardzka jest szeroko stosowana w Struktura wewnętrzna nowoczesne, wysokowydajne mikroprocesory, które wykorzystują oddzielną pamięć podręczną do przechowywania instrukcji i danych. Jednocześnie zasady architektury Princeton są realizowane w strukturze zewnętrznej większości systemów mikroprocesorowych.

Architektura Harvarda jest również szeroko stosowana w mikrokontrolerach - wyspecjalizowanych mikroprocesorach do sterowania różnymi obiektami, których program roboczy jest zwykle przechowywany w osobnej pamięci ROM.

Nowoczesne mikroprocesory wykorzystują różnorodne techniki przewidywania rozgałęzień. Najprościej jest tak, że procesor zapisuje wynik wykonania poprzednich poleceń rozgałęzienia pod danym adresem i wierzy, że kolejne polecenie uzyskując dostęp do tego adresu da podobny wynik. Ta metoda predykcji zakłada większe prawdopodobieństwo ponownego dostępu do określonego polecenia określonego przez dany warunek rozgałęzienia. Do realizacji tej metody przewidywania rozgałęzień wykorzystywana jest specjalna pamięć BTB (Branch Target Buffer), w której przechowywane są adresy wcześniej wykonanych rozgałęzień warunkowych. Po odebraniu podobnego polecenia gałęzi przewidywane jest przejście do gałęzi wybranej w poprzednim przypadku, a polecenia z odpowiedniej gałęzi są ładowane do potoku. Przy prawidłowym przewidywaniu rurociąg nie wymaga przeładowania, a jego wydajność nie ulega zmniejszeniu. Skuteczność tej metody predykcji zależy od pojemności BTB i okazuje się dość wysoka: prawdopodobieństwo prawidłowej predykcji wynosi 80% lub więcej. Zwiększoną dokładność predykcji uzyskuje się stosując bardziej złożone metody, gdy przechowuje się i analizuje prehistorię przejść – wyniki kilku poprzednich poleceń rozgałęzień pod danym adresem. W tym przypadku możliwe jest określenie najczęściej realizowanego kierunku rozgałęzień, a także identyfikacja przejść naprzemiennych. Implementacja takich algorytmów wymaga stosowania bardziej złożonych bloków predykcyjnych, ale prawdopodobieństwo prawidłowej predykcji wzrasta do 90-95%.

Możliwość zwiększenia wydajności procesora osiąga się również poprzez wprowadzenie do struktury procesora kilku równoległych urządzeń operacyjnych, zapewniających jednoczesne wykonywanie kilku operacji. Ta struktura procesora nazywana jest superskalarną. Procesory te realizują równoległą pracę kilku potoków wykonawczych, z których każdy otrzymuje do wykonania jedną z wybranych i zdekodowanych instrukcji. W idealnym przypadku liczba jednocześnie wykonywanych instrukcji jest równa liczbie urządzeń operacyjnych zawartych w potokach wykonawczych. Jednak podczas wykonywania rzeczywistych programów trudno zapewnić pełne obciążenie wszystkich potoków wykonawczych, dlatego w praktyce efektywność wykorzystania struktury superskalarnej jest nieco niższa. Nowoczesne procesory superskalarne zawierają od 4 do 10 różnych urządzeń operacyjnych, których równoległa praca zapewnia wykonanie średnio od 2 do 6 instrukcji na cykl zegara.

Efektywną jednoczesną pracę kilku potoków wykonawczych zapewnia wstępne pobieranie i dekodowanie szeregu poleceń oraz wybieranie z nich grupy poleceń, które mogą być wykonywane jednocześnie. W nowoczesnych procesorach superskalarnych próbkowanych jest kilkadziesiąt instrukcji, które są dekodowane, analizowane i grupowane w celu równoległego ładowania do potoków wykonawczych. Zazwyczaj procesory posiadają kilka urządzeń do wykonywania operacji na liczbach całkowitych, jedno lub więcej urządzeń do przetwarzania liczb zmiennoprzecinkowych, poszczególne urządzenia do przetwarzania specjalnych formatów danych wideo i audio. Urządzenia do generowania adresów i pobierania argumentów dla załadowanych instrukcji również działają równolegle. W tym przypadku zazwyczaj realizowane jest wstępne (spekulacyjne) pobieranie operandów, dzięki czemu w przypadku poleceń przychodzących do wykonania operandy są już gotowe i zapisywane w specjalnych rejestrach. Aby zapewnić jak najpełniejsze ładowanie potoków wykonawczych, w procesie analizy i grupowania zdekodowanych poleceń istnieje możliwość zmiany ich kolejności. W rezultacie instrukcje są wykonywane nie w kolejności, w jakiej zostały pobrane z pamięci, ale w miarę przygotowania niezbędnych argumentów i elementów wykonawczych. W ten sposób później otrzymane polecenia mogą zostać wykonane przed wcześniej wybranymi. Aby wyniki zostały zapisane w pamięci zgodnie z początkową kolejnością otrzymywania poleceń programu, należy zastosować specjalny pamięć buforowa, przywracając kolejność wydawania wyników zgodnie z wykonywanym programem.

Jednoczesna realizacja dyspozycji może nie być możliwa, jeśli mają one dostęp do tego samego rejestru. Biorąc pod uwagę ograniczoną pojemność pamięci RRAM procesora, takie przypadki mogą zdarzać się dość często, co zmniejsza wydajność potoków wykonawczych. Dlatego wiele procesorów wprowadza specjalne bloki rejestrów, które duplikują RSD. Kiedy odbierane są polecenia uzyskujące dostęp do tych samych rejestrów RSD, są one przekierowywane do zduplikowanych bloków rejestrów - „zmiany nazwy” rejestrów. Dzięki temu możliwe jest jednoczesne wykonywanie takich poleceń, co pozwala na efektywniejszą pracę równoległą potoków wykonawczych.


Ryż. 1. Klasyfikacja współczesnych mikroprocesorów ze względu na funkcjonalność.


Chociaż mikroprocesor jest uniwersalnym narzędziem do cyfrowego przetwarzania informacji, pewne obszary zastosowań wymagają wdrożenia pewnych specyficznych opcji dotyczących ich struktury i architektury. Dlatego też, ze względu na ich funkcjonalność, wyróżnia się dwie klasy: mikroprocesory ogólnego przeznaczenia i mikroprocesory specjalistyczne (rysunek 1). Wśród mikroprocesorów specjalistycznych najpowszechniej stosowane są mikrokontrolery przeznaczone do wykonywania funkcji sterujących dla różnych obiektów oraz cyfrowe procesory sygnałowe (DSP – Digital Signal Processor), które skupiają się na realizacji procedur zapewniających niezbędną konwersję sygnałów analogowych przedstawionych w postaci cyfrowej.

Mikroprocesory ogólnego przeznaczenia są przeznaczone do rozwiązywania szerokiego zakresu zadań związanych z przetwarzaniem różnorodnych informacji. Ich głównymi obszarami zastosowania są komputery osobiste, stacje robocze, serwery i inne systemy cyfrowe przeznaczone do masowego użytku. Do tej klasy zaliczają się procesory CISC Pentium Intel, Zaawansowane mikrourządzenia (AMD) K7, 680x0 Motoroli, procesory PowerPC RISC produkowane przez Motorolę i IBM, SPARC firmy Sun Microsystems oraz szereg innych produktów różnych producentów.

Rozszerzanie zakresu zastosowań takich mikroprocesorów osiąga się głównie poprzez zwiększenie produktywności, a tym samym zwiększenie zakresu zadań, które można za ich pomocą rozwiązać. Dlatego głównym kierunkiem rozwoju tej klasy mikroprocesorów jest zwiększanie produktywności. Zwykle są to mikroprocesory 32-bitowe (niektóre mikroprocesory w tej klasie mają strukturę 64-bitową lub 128-bitową), które są produkowane przy użyciu najnowocześniejszych technologii przemysłowych, aby zapewnić maksymalną częstotliwość pracy.

Wiele najpopularniejszych mikroprocesorów tej klasy (Pentium, AMD K7 i kilka innych) należy zaliczyć do procesorów CISC, ponieważ wykonują one duży zestaw instrukcji wieloformatowych przy użyciu wielu metod adresowania. Jednakże ich wewnętrzna struktura zawiera procesor RISC, który realizuje przychodzące polecenia po przekształceniu ich w ciąg prostych operacji RISC. Szereg innych mikroprocesorów w tej klasie bezpośrednio implementuje architekturę RISC. Można zatem założyć, że zastosowanie architektury RISC jest typowe dla większości tych mikroprocesorów.

W wielu najnowszych projektach (Itanium, PA8500) niektórych wiodących producentów z powodzeniem zastosowano zasady architektury VLIW, która może konkurować z architekturą RISC w rywalizacji o osiągnięcie najwyższej wydajności.

Prawie wszystkie współczesne mikroprocesory tej klasy wykorzystują wewnętrzną architekturę Harvardu, gdzie separacja strumieni instrukcji i danych realizowana jest za pomocą oddzielnych bloków pamięci podręcznej (rys. 1). W większości przypadków mają one strukturę superskalarną z kilkoma potokami wykonawczymi (w nowoczesnych modelach do 10), które zawierają do 20 etapów.

Ze względu na swoją wszechstronność, mikroprocesory ogólnego przeznaczenia znajdują zastosowanie również w wyspecjalizowanych systemach, gdzie wymagana jest wysoka wydajność. Na ich bazie realizowane są komputery jednopłytkowe oraz komputery przemysłowe, które znajdują zastosowanie w układach sterowania różnymi obiektami. Komputery jednopłytkowe (wbudowane) zawierają na płytce niezbędne dodatkowe mikroukłady, które zapewniają ich specjalistyczne zastosowanie i są przeznaczone do integracji ze sprzętem o różnym przeznaczeniu. Komputery przemysłowe umieszczone są w specjalnie zaprojektowanych obudowach, które zapewniają ich niezawodną pracę w trudnych warunkach przemysłowych. Zazwyczaj komputery takie działają bez standardowych urządzeń peryferyjnych (monitora, klawiatury, myszy) lub korzystają ze specjalnych wersji tych urządzeń, zmodyfikowanych pod kątem specyficznych warunków aplikacji.

2. Mikrokontrolery, funkcjonalność i rozwiązania architektoniczne


Mikrokontrolery są najbardziej rozpowszechnionym przedstawicielem technologii mikroprocesorowej. Integrując w jednym chipie wysokowydajny procesor, pamięć i zestaw urządzeń peryferyjnych, mikrokontrolery umożliwiają realizację szerokiej gamy systemów sterowania dla różnych obiektów i procesów przy minimalnych kosztach. Zastosowanie mikrokontrolerów w układach sterowania i przetwarzania informacji zapewnia wyjątkowo wysokie wskaźniki efektywności przy stosunkowo niskim koszcie. Praktycznie nie ma alternatywy dla mikrokontrolerów, jeśli chodzi o tworzenie wysokiej jakości i tanich systemów. Czasami system może składać się tylko z jednego mikrokontrolera. Wyjątkiem jest zastosowanie programowalnych układów scalonych logicznych (FPGA) w dziedzinie przetwarzania sygnałów, gdy wymagane jest równoległe przetwarzanie dużego strumienia danych wejściowych. Główną cechą klasyfikacyjną mikrokontrolerów jest pojemność mikroprocesora. Dostępne są mikrokontrolery 4-, 8-, 16-, 32-bitowe. Pojemność bitowa mikrokontrolera zależy od dokładności danych potrzebnych do sterowania obiektem. Najbardziej rozpowszechnionym i stale poszerzającym się obszarem ich zastosowań są mikrokontrolery 8-bitowe, które są tańsze od 16- i 32-bitowych i charakteryzują się większą funkcjonalnością.

Przemysł produkuje bardzo szeroką gamę mikrokontrolerów wbudowanych. W nich wszystkie niezbędne zasoby (pamięć, urządzenia wejścia/wyjścia itp.) znajdują się na tym samym chipie co rdzeń procesora. Jeśli dostarczysz impulsy zasilania i zegara do odpowiednich wejść MK, możemy powiedzieć, że „ożyje” i będziesz mógł z nim pracować. Zazwyczaj mikrokontrolery zawierają znaczną liczbę urządzeń pomocniczych, co zapewnia ich włączenie do rzeczywistego systemu przy minimalnej liczbie dodatkowych komponentów. Do MK zaliczają się:

Schemat pierwsze uruchomienie procesor (Resetuj);

Generator zegara;

PROCESOR;

Pamięć programu (E(E)PROM) i interfejs programowy;

Urządzenia do wprowadzania/wyprowadzania danych;

Timery rejestrujące liczbę cykli poleceń.

Ogólną strukturę MC pokazano na rysunku 4. Struktura ta daje wyobrażenie o tym, jak MC komunikuje się ze światem zewnętrznym.


Rysunek 2 - budowa mikrokontrolera


Bardziej złożone mikrokontrolery wbudowane mogą dodatkowo realizować następujące możliwości:

Wbudowany monitor/debugger programów;

Narzędzia do programowania wewnętrznej pamięci programu (ROM);

Obsługa zakłóceń z różnych źródeł;

We/Wy analogowe;

Szeregowe wejścia/wyjścia (synchroniczne i asynchroniczne);

Równoległe wejście/wyjście (w tym interfejs z komputerem);

Podłączenie pamięci zewnętrznej (tryb mikroprocesorowy).

Wszystkie te cechy znacząco zwiększają elastyczność wykorzystania MK i ułatwiają proces tworzenia systemów w oparciu o niego.

Niektóre mikrokontrolery (zwłaszcza 16- i 32-bitowe) wykorzystują tylko pamięć zewnętrzną, która obejmuje zarówno pamięć programu (ROM), jak i pewną ilość pamięci danych (RAM) wymaganą do tej aplikacji. Znajdują zastosowanie w systemach, gdzie wymagana jest duża ilość pamięci, a stosunkowo niewielka duża liczba urządzenia wejścia/wyjścia (porty). Typowym przykładem zastosowania takiego MK z pamięcią zewnętrzną jest kontroler dysku twardego (HDD) z buforem pamięci podręcznej, który zapewnia pośrednie przechowywanie i dystrybucję dużych ilości danych (rzędu kilku megabajtów). Pamięć zewnętrzna pozwala takiemu mikrokontrolerowi działać z większą szybkością niż mikrokontroler wbudowany.

Cyfrowe procesory sygnałowe (DSP) to stosunkowo nowa kategoria procesorów. Zadaniem procesora DSP jest odbiór bieżących danych z systemu analogowego, ich przetworzenie i wygenerowanie odpowiedniej odpowiedzi w czasie rzeczywistym. Zwykle wchodzą w skład systemów, służą jako urządzenia sterujące urządzeniami zewnętrznymi i nie są przeznaczone do samodzielnego użytku.

Mikrokontrolery to wyspecjalizowane mikroprocesory, które koncentrują się na wdrażaniu urządzeń sterujących wbudowanych w różnorodne urządzenia. Ze względu na ogromną liczbę obiektów sterowanych za pomocą mikrokontrolerów, ich roczna wielkość produkcji przekracza 2 miliardy sztuk, przekraczając o rząd wielkości wielkość produkcji mikroprocesorów ogólnego stosowania. Gama produkowanych mikrokontrolerów jest również bardzo szeroka i obejmuje kilka tysięcy typów.

Cecha charakterystyczna Struktura mikrokontrolerów polega na umieszczeniu pamięci wewnętrznej i dużego zestawu urządzeń peryferyjnych w jednym chipie z centralnym procesorem. Urządzenia peryferyjne zazwyczaj zawierają wiele 8-bitowych równoległych portów we/wy (od 1 do 8), jeden lub dwa Port szeregowy, blok czasowy, przetwornik analogowo-cyfrowy. Ponadto różne typy mikrokontrolerów zawierają dodatkowe, wyspecjalizowane urządzenia - moduł generujący sygnał z modulacją szerokości impulsu, sterownik wyświetlacza ciekłokrystalicznego i szereg innych. Dzięki zastosowaniu pamięci wewnętrznej i urządzeń peryferyjnych układy sterowania realizowane w oparciu o mikrokontrolery zawierają minimalną liczbę elementów dodatkowych.

Wskutek szeroki zasięg Przy rozwiązywaniu problemów kontrolnych wymagania dotyczące wydajności procesora, ilości wewnętrznej pamięci poleceń i danych oraz zestawu niezbędnych urządzeń peryferyjnych okazują się bardzo zróżnicowane. Aby sprostać wymaganiom konsumentów, produkowana jest szeroka gama mikrokontrolerów, które zwykle dzieli się na 8-, 16- i 32-bitowe.

Mikrokontrolery bitowe stanowią najliczniejszą grupę tej klasy mikroprocesorów. Mają stosunkowo niską wydajność, która jednak jest wystarczająca do rozwiązania szerokiego zakresu problemów związanych z zarządzaniem różnymi obiektami. Są to proste i tanie mikrokontrolery przeznaczone do stosowania w stosunkowo prostych urządzeniach produkowanych masowo. Główne obszary ich zastosowania to sprzęt gospodarstwa domowego i pomiarowy, automatyka przemysłowa, elektronika samochodowa, sprzęt telewizyjny, wideo i audio, łączność, urządzenia medyczne.

Mikrokontrolery te charakteryzują się realizacją architektury harwardzkiej, która wykorzystuje wydzieloną pamięć do przechowywania programów i danych. Do przechowywania programów w różne rodzaje Mikrokontrolery wykorzystują albo pamięć ROM programowalną przez maskę (ROM), jednorazowo programowalną pamięć ROM (PROM) lub pamięć ROM programowalną elektrycznie (EPROM, EEPROM lub Flash). Wewnętrzna pamięć programu ma zwykle pojemność od kilku jednostek do dziesiątek kilobajtów. Do przechowywania danych wykorzystywany jest blok rejestrów zorganizowany w postaci kilku banków rejestrów lub wewnętrznej pamięci RAM. Objętość wewnętrznej pamięci danych waha się od kilkudziesięciu bajtów do kilku KB. Szereg mikrokontrolerów z tej grupy pozwala w razie potrzeby na dodatkowe podłączenie zewnętrznej pamięci poleceń i danych o pojemności do 64 - 256 KB.

Mikrokontrolery z tej grupy wykonują zazwyczaj stosunkowo niewielki zestaw instrukcji (50-100), stosując najprostsze metody adresowania. Szereg najnowszych modeli tych mikrokontrolerów realizuje zasady architektury RISC, co może znacznie zwiększyć ich wydajność. W rezultacie takie mikrokontrolery RISC zapewniają wykonanie większości instrukcji w jednym cyklu zegara.

Mikrokontrolery bitowe w wielu przypadkach są ulepszoną modyfikacją swoich 8-bitowych prototypów. Charakteryzują się nie tylko zwiększoną pojemnością bitową przetwarzanych danych, ale także rozbudowanym systemem poleceń i sposobów adresowania, zwiększonym zestawem rejestrów i ilością adresowalnej pamięci, a także szeregiem innych dodatkowe funkcje, których zastosowanie może poprawić produktywność i zapewnić nowe obszary zastosowań. Zazwyczaj mikrokontrolery te pozwalają na rozbudowę pamięci programu i danych do kilku MB poprzez podłączenie zewnętrznych układów pamięci. W wielu przypadkach są one realizowane kompatybilność oprogramowania z tańszymi modelami 8-bitowymi. Głównymi obszarami zastosowań takich mikrokontrolerów jest skomplikowana automatyka przemysłowa, sprzęt telekomunikacyjny, sprzęt medyczny i pomiarowy.

Mikrokontrolery bitowe zawierają procesor o wysokiej wydajności, który pod względem możliwości jest porównywalny z tańszymi modelami mikroprocesorów ogólnego przeznaczenia. W niektórych przypadkach procesor stosowany w tych mikrokontrolerach jest podobny do procesorów CISC lub RISC, które są lub były wcześniej produkowane jako mikroprocesory ogólnego przeznaczenia. Na przykład 32-bitowe mikrokontrolery firmy Intel korzystają z procesora i386, mikrokontrolery firmy Motorola powszechnie korzystają z procesora 68020, a wiele innych mikrokontrolerów używa rdzeń procesora Stosowane są procesory RISC typu PowerPC. W oparciu o te procesory wdrażano różne modele komputerów osobistych. Wprowadzenie tych procesorów do mikrokontrolerów umożliwia wykorzystanie w odpowiednich układach sterowania ogromnej ilości oprogramowania aplikacyjnego i systemowego, które zostało wcześniej stworzone dla odpowiednich komputerów osobistych.

Oprócz 32-bitowego procesora, w chipie mikrokontrolera mieści się wewnętrzna pamięć poleceń o pojemności do kilkudziesięciu kilobajtów, pamięć danych o pojemności do kilku kilobajtów, a także złożone funkcjonalne urządzenia peryferyjne - procesor czasowy , procesor komunikacyjny, moduł wymiany szeregowej i szereg innych. Mikrokontrolery współpracują z pamięcią zewnętrzną o pojemności do 64 MB i większej. Są szeroko stosowane w układach sterowania obiekty złożone automatyka przemysłowa (silniki, urządzenia zrobotyzowane, złożone urządzenia automatyzacji produkcji), aparatura kontrolno-pomiarowa i sprzęt telekomunikacyjny.

Wewnętrzna struktura tych mikrokontrolerów implementuje architekturę Princeton lub Harvard. Zawarte w nich procesory mogą mieć architekturę CISC lub RISC, a niektóre z nich zawierają kilka potoków wykonawczych, które tworzą strukturę superskalarną.

3. Komputery elektroniczne. Klasyfikacja komputerowa


Architektura komputera to najbardziej ogólne zasady budowy komputera, które realizują programową kontrolę działania i interakcji jego głównych jednostek funkcjonalnych.

Architektura komputera jest zwykle rozumiana jako zbiór ogólne zasady organizacja sprzętu i oprogramowania oraz ich główne cechy, które determinują funkcjonalność komputera przy rozwiązywaniu odpowiednich typów problemów. Architektura komputera obejmuje zarówno strukturę odzwierciedlającą skład komputera i oprogramowania, jak i wsparcie matematyczne. Struktura komputera to zbiór elementów i połączeń między nimi. Podstawowa zasada budowania wszystkiego nowoczesne komputery jest kontrola oprogramowania.

Klasyczna architektura komputera. Podstawy doktryny architektury komputery zostały założone przez Johna von Neumanna<#"229" src="doc_zip5.jpg" />

Rysunek 3 - Struktura komputera


Klasyfikacje komputerowe. Klasyfikacja Flynna.<#"justify">· OKOD (SISD) (pojedynczy strumień instrukcji / pojedynczy strumień danych) - pojedynczy strumień poleceń i jeden strumień danych. W takich maszynach występuje tylko jeden strumień poleceń, wszystkie polecenia są przetwarzane sekwencyjnie, jedno po drugim i każde polecenie inicjuje jedną operację na jednym strumieniu danych.

· SIMD (pojedynczy strumień instrukcji / wielokrotny strumień danych) - pojedynczy strumień instrukcji i wielokrotny strumień danych. W architekturach tego typu zachowany jest jeden strumień poleceń, który w odróżnieniu od poprzedniej klasy zawiera polecenia wektorowe. Dzięki temu można wykonać jedną operację arytmetyczną na wielu danych – elementach wektorowych – jednocześnie.

· MISD (wielokrotny strumień instrukcji / pojedynczy strumień danych) - wielokrotny strumień poleceń i pojedynczy strumień danych. Z definicji wynika obecność w architekturze wielu procesorów przetwarzających ten sam strumień danych. Jednak ani Flynn, ani inni eksperci w dziedzinie architektury komputerów nie byli jak dotąd w stanie dostarczyć przekonującego przykładu rzeczywistego systemu komputerowego zbudowanego na tej zasadzie.

· MIMD (wielokrotny strumień instrukcji / wielokrotny strumień danych) - wiele strumieni poleceń i wiele strumieni danych. W tej klasie zakłada się, że system komputerowy składa się z kilku urządzeń przetwarzających polecenia, połączonych w jeden kompleks, z których każde pracuje z własnym strumieniem poleceń i danych.

Architektura OKOD obejmuje wszystkie wersje systemów jednoprocesorowe i jednomaszynowe, tj. z jednym komputerem. Wszystkie komputery klasyczna struktura zaliczać się do tej klasy. Tutaj zapewniona jest równoległość obliczeń poprzez połączenie wykonywania operacji przez oddzielne bloki ALU, a także praca równoległa urządzenia wejścia/wyjścia i procesor. Wzorce organizacji proces obliczeniowy w tych strukturach są dość dobrze zbadane.

Architektura OKMD polega na tworzeniu struktur przetwarzania wektorowego lub macierzowego. Systemy tego typu budowane są zazwyczaj jako jednorodne, tj. elementy przetwarzające zawarte w systemie są identyczne i wszystkimi steruje się tą samą sekwencją poleceń. Jednakże każdy procesor przetwarza własny strumień danych. Zagadnienia przetwarzania macierzy lub wektorów (tablic), problemy rozwiązywania układów liniowych i nieliniowych, algebraicznych i równania różniczkowe, problemy teorii pola itp. W strukturach tej architektury pożądane jest zapewnienie połączeń pomiędzy procesorami odpowiadających zaimplementowanym zależnościom matematycznym. Z reguły połączenia te przypominają macierz, w której każdy element przetwarzający jest połączony ze swoimi sąsiadami.

Według tego schematu zbudowano systemy: pierwszy superkomputer - ILLIAC-IV, krajowe systemy równoległe - PS-2000, PS-3000. Idea przetwarzania wektorowego znalazła szerokie zastosowanie w tak znanych superkomputerach jak Cyber-205 oraz Gray-I, II, III. Wąskim gardłem takich systemów jest konieczność zmiany przełączania pomiędzy procesorami, gdy połączenie między nimi różni się od macierzowego. Ponadto problemy, które pozwalają na szeroką równoległość macierzy, stanowią raczej wąską klasę problemów. Struktury VS tego typu są w istocie strukturami wyspecjalizowanych superkomputerów.

Trzeci typ architektury MCOD polega na budowie czegoś w rodzaju potoku procesorowego, w którym wyniki przetwarzania są przesyłane łańcuchem z jednego procesora do drugiego. Korzyści z tego rodzaju przetwarzania są oczywiste. Prototypem takich obliczeń może być schemat dowolnego przenośnika produkcyjnego. W nowoczesnych komputerach zgodnie z tą zasadą realizowany jest schemat łączenia operacji, w którym różne bloki funkcyjne i każdy z nich odgrywa swoją rolę w całym cyklu przetwarzania poleceń.

W komputerach tego typu potok powinien być utworzony przez grupy procesorów. Jednak przechodząc na poziom systemowy, w uniwersalnych obliczeniach bardzo trudno jest zidentyfikować taki regularny charakter. Ponadto w praktyce nie jest możliwe zapewnienie „większej długości” takiego przenośnika, przy której osiąga się najwyższy efekt. Jednocześnie obwód potokowy znalazł zastosowanie w tak zwanych skalarnych procesorach superkomputerowych, w których wykorzystuje się je jako specjalne procesory do wspomagania przetwarzania wektorowego.

Architektura MCMD zakłada, że ​​wszystkie procesory w systemie działają według własnych programów z własnym strumieniem instrukcji. W najprostszym przypadku mogą być autonomiczne i niezależne. Ten schemat korzystania z samolotów jest często stosowany w wielu dużych centrach komputerowych w celu zwiększenia przepustowości centrum. Bardzo interesująca jest możliwość skoordynowanej pracy komputerów (procesorów), gdy każdy element wykonuje część wspólnego zadania. Ogólny podstawy teoretyczne Ten rodzaj pracy jest praktycznie nieobecny. Możemy jednak podać przykłady dużej wydajności tego modelu obliczeniowego. Takie systemy mogą być wielomaszynowe i wieloprocesorowe. Na przykład krajowy projekt maszyny o dynamicznej architekturze (DMA) - ES-2704, ES-2727 pozwolił na jednoczesne wykorzystanie setek procesorów.

Architektura komputera obejmuje zarówno strukturę odzwierciedlającą skład komputera i oprogramowania, jak i wsparcie matematyczne. Struktura komputera to zbiór elementów i połączeń między nimi. Podstawową zasadą budowy wszystkich współczesnych komputerów jest sterowanie programowe. Podstawy doktryny architektury komputerowej położył John von Neumann. Połączenie tych zasad dało początek klasycznej (von Neumanna) architekturze komputerowej.


Mikroprocesor(MP) to urządzenie sterowane programowo, przeznaczone do przetwarzania informacji cyfrowych i sterowania procesem tego przetwarzania i wykonane jest w postaci jednego lub większej liczby dużych układów scalonych (LSI).

Pojęcie duży układ scalony obecnie nie jest jasno określone. Wcześniej uważano, że do tej klasy powinny należeć mikroukłady zawierające ponad 1000 elementów w chipie. Rzeczywiście, pierwsze mikroprocesory mieszczą się w tych parametrach. Na przykład 4-bitowa sekcja procesora zestawu mikroprocesora K584, wyprodukowanego pod koniec lat 70. XX wieku, zawierała około 1500 elementów. Obecnie, gdy mikroprocesory zawierają dziesiątki milionów tranzystorów, a ich liczba stale rośnie, przez LSI rozumiemy funkcjonalnie złożony układ scalony.

Układ mikroprocesorowy(MPS) to funkcjonalnie kompletny produkt składający się z jednego lub większej liczby urządzeń, których podstawą jest mikroprocesor.

Mikroprocesor charakteryzuje się dużą liczbą parametrów i właściwości, gdyż jest z jednej strony złożonym funkcjonalnie urządzeniem obliczeniowym, a z drugiej urządzeniem elektronicznym, produktem przemysłu elektronicznego. Jako środek technologia komputerowa charakteryzuje się przede wszystkim swoim architektura, czyli zestaw właściwości oprogramowania i sprzętu udostępnianych użytkownikowi. Obejmuje to system instrukcji, typy i formaty przetwarzanych danych, tryby adresowania, liczbę i rozkład rejestrów, zasady współpracy z pamięcią RAM i urządzeniami zewnętrznymi (charakterystyka systemu przerwań, bezpośredni dostęp do pamięci itp.). Ze względu na architekturę mikroprocesory dzieli się na kilka typów (ryc. 1.1).

Uniwersalne mikroprocesory przeznaczone są do rozwiązywania problemów cyfrowego przetwarzania różnego rodzaju informacji, od obliczeń inżynierskich po pracę z bazami danych, nie podlegając ścisłym ograniczeniom w zakresie czasu potrzebnego na realizację zadania. Ta klasa mikroprocesorów jest najbardziej znana. Zawiera tak znane mikroprocesory, jak seria Pentium MP firmy Intel i rodzina Athlon MP firmy AMD.

Ryż. 1.1. Klasyfikacja mikroprocesorów

Charakterystyka uniwersalnych mikroprocesorów:

    głębia bitowa: określona przez maksymalną pojemność bitową danych całkowitych przetwarzanych w 1 cyklu zegara, czyli w rzeczywistości pojemność bitową jednostki arytmetyczno-logicznej (ALU);

    rodzaje i formaty przetwarzanych danych;

    system poleceń, tryby adresowania argumentów;

    pojemność bezpośrednio adresowalnej pamięci RAM: określona przez szerokość bitową szyny adresowej;

    częstotliwość synchronizacja zewnętrzna. Dla częstotliwości synchronizacji zwykle podaje się jej maksymalną możliwą wartość, przy której gwarantowana jest praca obwodu. W przypadku obwodów złożonych funkcjonalnie, które obejmują mikroprocesory, czasami wskazywana jest również minimalna możliwa częstotliwość synchronizacji. Zmniejszenie częstotliwości poniżej tego limitu może spowodować awarię obwodu. Jednocześnie w zastosowaniach MP, w których nie jest wymagana wysoka wydajność, zmniejszenie częstotliwości synchronizacji jest jednym z obszarów oszczędzania energii. W wielu nowoczesnych mikroprocesorach, gdy częstotliwość maleje, zamienia się w<спящий режим>, w którym zachowuje swój stan. Częstotliwość zegara w ramach tej samej architektury pozwala na porównanie wydajności mikroprocesorów. Jednak różne decyzje dotyczące architektury wpływają znacznie bardziej na wydajność niż na częstotliwość;

    wydajność: określana za pomocą specjalnych testów, a zestaw testów dobierany jest w taki sposób, aby w miarę możliwości obejmowały różne cechy mikroarchitektury procesora mające wpływ na wydajność.

Mikroprocesory uniwersalne dzieli się zazwyczaj na CISC- I Mikroprocesory RISC.Mikroprocesory CISC(Completed Order Set Computing - obliczenia z pełnym systemem instrukcji) obejmuje cały klasyczny zestaw instrukcji z szeroko rozwiniętymi trybami adresowania argumentów. Do tej klasy zaliczają się na przykład mikroprocesory typu Pentium. W tym samym czasie Mikroprocesory RISC(obliczanie zredukowanego zestawu instrukcji - obliczenia ze zredukowanym systemem instrukcji) wykorzystują, jak wynika z definicji, zmniejszoną liczbę poleceń i trybów adresowania. Tutaj przede wszystkim powinniśmy wyróżnić mikroprocesory takie jak Alpha 21x64, Power PC. Liczba instrukcji w zestawie instrukcji jest najbardziej oczywista, ale dziś nie jest to najważniejsza różnica w tych kierunkach rozwoju uniwersalnych mikroprocesorów. Inne różnice rozważymy, badając cechy ich architektury.

Mikrokontrolery jednoukładowe(OMK lub po prostu MK) przeznaczone są do stosowania w układach automatyki przemysłowej i domowej. Są to duże układy scalone, w skład których wchodzą wszystkie urządzenia niezbędne do realizacji minimalnie skonfigurowanego cyfrowego układu sterowania: procesor (zwykle liczba całkowita), pamięć poleceń, pamięć danych, generator zegara, programowalne urządzenia służące do komunikacji ze środowiskiem zewnętrznym (przerwania kontrolera, timer- liczniki, różne porty wejścia/wyjścia), czasami przetworniki analogowo-cyfrowe i cyfrowo-analogowe itp. W niektórych źródłach ta klasa mikroprocesorów nazywana jest mikrokomputerami jednoukładowymi (SMC).

Obecnie dwie trzecie wszystkich mikroprocesorowych LSI produkowanych na świecie to MP tej klasy, a prawie dwie trzecie z nich ma pojemność bitową nieprzekraczającą 16 bitów. Klasa mikrokontrolerów jednoukładowych obejmuje przede wszystkim mikroprocesory z serii MCS-51 firmy Intel i podobne mikroprocesory innych producentów, których architektura stała się de facto standardem.

Charakterystyczne cechy architektury mikrokontrolerów jednoukładowych:

    fizyczne i logiczne oddzielenie pamięci instrukcji od pamięci danych (architektura harwardzka), podczas gdy w klasycznej architekturze Neumanna programy i dane znajdują się na wspólnym urządzeniu magazynującym i mają ten sam mechanizm dostępu;

    uproszczony i zadaniowy system dowodzenia: MK z reguły nie posiada narzędzi do przetwarzania danych zmiennoprzecinkowych, ale jednocześnie w systemie dowodzenia znajdują się polecenia nastawione na efektywną pracę z czujnikami i elementami wykonawczymi, np. polecenia dla przetwarzanie informacji bitowych;

    najprostsze tryby adresowania argumentów.

Główne cechy mikrokontrolerów(jako przykład podano wartości liczbowe dla MK-51):

    Rozmiar bitowy (8 bitów).

    Pojemność wewnętrznej pamięci poleceń i pamięci danych, możliwości i ograniczenia ich rozbudowy:

    wewnętrzna pamięć poleceń - 4 KB (rozkaz ma średnio 2 bajty, więc w pamięci wewnętrznej można zapisać program o długości około 2000 poleceń); możliwość rozbudowy poprzez podłączenie pamięci zewnętrznej do 64 KB;

    wbudowana pamięć danych 128 bajtów (można podłączyć pamięć zewnętrzną o łącznej pojemności do 64 KB).

Częstotliwość zegara:

  • częstotliwość zewnętrzna 12 MHz;

    częstotliwość cyklu maszyny 1 MHz.

Możliwości interakcji z urządzeniami zewnętrznymi: liczba i przeznaczenie portów I/O, charakterystyka systemu przerwań, obsługa programowa interakcji z urządzeniami zewnętrznymi.

Dostępność i charakterystyka wbudowanych przetworników analogowo-cyfrowych (ADC) i przetworników cyfrowo-analogowych (DAC) w celu uproszczenia koordynacji z czujnikami i elementami wykonawczymi układu sterowania.

Partycjonowane mikroprocesory(inne nazwy: mikroprogramowalne i bit-modularne) to mikroprocesory przeznaczone do budowy specjalizowanych procesorów. Są to sekcje mikroprocesorowe o stosunkowo małej pojemności (od 2 do 16) z dostępem użytkownika do poziomu sterowania mikroprogramem i możliwością łączenia kilku sekcji.

Organizacja ta pozwala zaprojektować procesor o wymaganej wydajności i ze specjalistycznym systemem instrukcji. Ze względu na małą pojemność bitową sekcje mikroprocesorów można budować przy użyciu technologii szybkich. Połączenie wszystkich tych czynników umożliwia stworzenie procesora najlepiej zorientowanego na daną klasę algorytmów, zarówno pod względem systemu rozkazów i trybów adresowania, jak i formatów danych.

Jednym z pierwszych zestawów partycjonowanych mikroprocesorów były MP LSI z rodziny Intel 3000. W naszym kraju były produkowane w ramach serii K589 i 585. Elementami procesora tej serii był mikroprocesor dwubitowy. Najpopularniejszym zestawem mikroprocesorów partycjonowanych jest Am2900, który jest oparty na sekcjach 4-bitowych. W naszym kraju analog tego zestawu został wyprodukowany w ramach serii K1804. W zestawie znajdował się następujący BIS:

  • bit przekrojowy ALU;

    blok przyspieszonego transferu;

    bitowa sekcja ALU ze sprzętową obsługą mnożenia;

    rodzaj obwodów sterujących mikroprogramem;

    kontroler stanu i zmiany;

    kontroler przerwań priorytetowych.

Główną wadą systemów mikroprocesorowych opartych na partycjonowanych mikroprocesorowych LSI jest złożoność projektowania, debugowania i programowania systemów na nich opartych. Stosowanie specjalizowanego systemu poleceń doprowadziło do niekompatybilności oprogramowania tworzonego dla różnych mikroprocesorów. Możliwość stworzenia specjalizowanego procesora, optymalnego pod wieloma względami, wymagała pracy wykwalifikowanych programistów przez długi okres czasu. Jednak szybki rozwój technologii elektronicznych doprowadził do tego, że podczas projektowania specjalizowanego procesora opracowano uniwersalny mikroprocesor, którego możliwości pokryły hipotetyczny zysk z zaprojektowania specjalistycznego urządzenia. Doprowadziło to do tego, że obecnie ta klasa mikroprocesorowych LSI praktycznie nie jest stosowana.

Cyfrowe procesory sygnałowe, Lub cyfrowe procesory sygnałowe, to dynamicznie rozwijająca się klasa mikroprocesorów przeznaczona do rozwiązywania problemów cyfrowego przetwarzania sygnałów - przetwarzania sygnałów audio, obrazów, rozpoznawania wzorców itp. Zawierają wiele cech mikrokontrolerów jednoukładowych: architekturę Harvarda, wbudowaną pamięć poleceń i danych, zaawansowaną możliwości pracy z urządzeniami zewnętrznymi. Jednocześnie zawierają cechy uniwersalnych MP, zwłaszcza o architekturze RISC: potokową organizację pracy, oprogramowanie i sprzęt do wykonywania operacji zmiennoprzecinkowych, sprzętową obsługę skomplikowanych obliczeń specjalistycznych, zwłaszcza mnożenia.

Jako produkt elektroniczny Mikroprocesor charakteryzuje się szeregiem parametrów, z których najważniejsze to:

    Wymagania dotyczące synchronizacji: maksymalna częstotliwość, stabilność.

    Liczba i parametry zasilaczy, wymagania dotyczące ich stabilności. Obecnie istnieje tendencja do zmniejszania napięcia zasilania, co zmniejsza oddawanie ciepła w obwodzie i prowadzi do wzrostu częstotliwości jego pracy. O ile pierwsze mikroprocesory pracowały z napięciem zasilania +-15V, to obecnie poszczególne obwody wykorzystują źródła o napięciu mniejszym niż 1 V.

    Rozpraszanie mocy- jest to strata mocy na stopniu wyjściowym obwodu, która zamienia się w ciepło i nagrzewa tranzystory wyjściowe. Innymi słowy, charakteryzuje szybkość wydzielania ciepła przez LSI, która w dużej mierze determinuje wymagania dotyczące projektu układu mikroprocesorowego. Ta cecha jest szczególnie ważna w przypadku wbudowanych MPS.

    Poziomy sygnału logicznego zera i logicznej jedynki, które są powiązane z wartościami znamionowymi zasilaczy.

    Typ obudowy - pozwala ocenić przydatność obwodu do pracy w określonych warunkach, a także możliwość zastosowania nowego LSI jako zamiennika istniejącego na płytce.

    Temperatura otoczenia, w której obwód może działać. Mamy tutaj dwa zakresy:

    komercyjny (0 0 C ... +70 0 C);

    przedłużony (-40 0 C ... +85 0 C).

Odporność na hałas- określa zdolność obwodu do wykonywania swoich funkcji w obecności zakłóceń. Odporność na zakłócenia ocenia się na podstawie natężenia zakłóceń, przy którym zakłócenie funkcji urządzenia nie przekracza jeszcze dopuszczalnych granic. Im silniejsze zakłócenia, w jakich urządzenie działa, tym większa jest jego odporność na zakłócenia.

Ładowność lub współczynnik rozdmuchu wyjściowego wyznacza się przez liczbę obwodów tego samego szeregu, których wejścia można podłączyć do wyjścia danego obwodu bez zakłócania jego pracy. Im większa nośność, tym szersze możliwości logiczne obwodu i tym mniej takich mikroukładów potrzeba do zbudowania złożonego urządzenia obliczeniowego. Jednakże wraz ze wzrostem tego współczynnika odporność na zakłócenia i wydajność pogarszają się.

Niezawodność to zdolność obwodu do utrzymania poziomu jakości działania w określonych warunkach i przez określony czas. Zwykle charakteryzuje się wskaźnikiem awaryjności (godzina-1) lub średnim czasem między awariami (godzina). Obecnie ten parametr dla dużych układów scalonych zwykle nie jest podawany przez producenta. Niezawodność MP LSI można ocenić na podstawie wskaźników pośrednich, na przykład niezawodności produktu jako całości cytowanej przez twórców technologii komputerowej.

Charakterystyka procesu technologicznego. Głównym wskaźnikiem jest tutaj rozdzielczość procesu. Obecnie jest to 32 nm, czyli około 30 tysięcy linii na 1 mm. Bardziej zaawansowany proces technologiczny umożliwia stworzenie mikroprocesora o większej mocy funkcjonalny możliwości.

Ryż. 1.2. Koszty produkcji systemu mikroprocesorowego

Koszty wytworzenia urządzeń wykorzystujących mikroprocesorowe LSI przedstawiono na rys. 1.2. Tutaj:

  1. koszty wytworzenia LSI (im większy stopień integracji elementów na chipie, tym droższa jest produkcja układu);

    koszty montażu i konfiguracji systemu mikroprocesorowego (wraz ze wzrostem funkcjonalności MP do stworzenia MPS potrzeba mniej obwodów);

    całkowity koszt systemu mikroprocesorowego, na który składają się koszty (1) i (2). Ma pewną optymalną wartość dla ten poziom rozwój technologii;

    przejście na nową technologię (inna liczba elementów na chipie będzie optymalna, a całkowity koszt produktu zostanie obniżony).

W 1965 roku Gordon Moore sformułował hipotezę znaną obecnie jako<закон Мура>, zgodnie z którym co 1,5-2 lata liczba tranzystorów w układzie scalonym będzie się podwajać. Zapewnia to ciągłe doskonalenie procesów technologicznych do produkcji mikroukładów.

Najbardziej zaawansowany technologicznie Firma Intel Istnieje sześć etapów cyklu życia technologii półprzewodnikowych tworzonych i wykorzystywanych przez korporację.

Najwcześniejszy etap odbywa się poza firmą Intel – w laboratoriach uniwersyteckich i niezależnych ośrodkach badawczych, gdzie poszukuje się nowych zasad i metod fizycznych, które mogą stanowić podstawę naukową i technologiczną na nadchodzące lata. Korporacja finansuje te badania.

W drugim etapie badacze Intela wybierają najbardziej obiecujące obszary rozwoju nowych technologii. W takim przypadku zwykle rozważa się 2-3 opcje rozwiązania.

Głównym zadaniem trzeciego etapu jest całkowite wstępne opracowanie nowej technologii i wykazanie jej wykonalności.

Następnie rozpoczyna się czwarty etap, którego głównym celem jest zapewnienie osiągnięcia określonych wartości takich kluczowych wskaźników technicznych i ekonomicznych, jak wydajność odpowiednich produktów, niezawodność, koszt i kilka innych. Zakończenie etapu potwierdza wypuszczenie na rynek pierwszej partii przemysłowej nowych produktów.

Piąty etap to przemysłowy rozwój nowych technologii. Problem ten jest nie mniej złożony niż rozwój samej technologii, ponieważ niezwykle trudno jest dokładnie odtworzyć w rzeczywistych warunkach produkcyjnych to, co uzyskano w laboratorium. Zwykle wtedy powstają opóźnienia w wypuszczeniu nowych produktów na rynek, w osiągnięciu zaplanowanych wolumenów dostaw i kosztów produkcji.

Ostatnim, szóstym etapem cyklu życia technologii (przed zaprzestaniem jej stosowania) jest dojrzałość. Dojrzała technologia, poddawana pewnym ulepszeniom w celu zwiększenia wydajności sprzętu i obniżenia kosztów produkcji, zapewnia główne wolumeny produkcji. W miarę wprowadzania nowych, bardziej zaawansowanych technologii<старые>produkcja jest likwidowana.

Ale nie od razu: najpierw są przenoszone do produkcji mikroukładów o niższej prędkości lub z mniejszą liczbą tranzystorów, na przykład peryferyjnych LSI.

Struktura i cechy architektury mikroprocesora Pentium 4

Mikroprocesor Pentium 4 jest ostatecznym modelem 32-bitowych mikroprocesorów firmy INTel o architekturze IA-32. Główne cechy tego procesora:

    nowa mikroarchitektura procesora NetBurst (sieć pakietowa);

    nowa magistrala systemowa FSB.

Mikroarchitektura procesora determinuje realizację jego wewnętrznej struktury, zasady wykonywania przychodzących poleceń oraz sposoby umieszczania i przetwarzania danych. Mikroarchitektura NetBurst różni się od swoich poprzedników pod wieloma względami:

    Stosowana jest struktura harwardzka z oddzieleniem przepływu poleceń i danych.

    Do wykonywania poleceń wykorzystuje technologię hyper-pipeline (Hyper-PIPelINed Technology), w której liczba stopni potokowych sięga 31 (w Pentium III – 11 stopni). Zatem jednocześnie w procesie realizacji różne etapy implementacja może zawierać ponad 30 poleceń.

    Wykorzystuje się wykonanie dynamiczne, zbudowane na trzech podstawowych koncepcjach: przewidywanie rozgałęzień, dynamiczna analiza przepływu danych i wykonanie spekulacyjne (wykonanie OUT-oforder). Podobny mechanizm, zwany Dynamic Execution, jest stosowany w Pentium III MP, ale w Intel Pentium 4 jest ulepszona.

    Operacje arytmetyczne i logiczne wykonywane są z dwukrotnie większą częstotliwością taktowania procesora, co pozwala na uzyskanie wyników dla dwóch instrukcji w jednym cyklu zegara.

    Pamięć podręczna L2 o wielkości 256 KB jest umieszczona bezpośrednio na matrycy procesora, co zapewnia krótszy czas dostępu w porównaniu do Pentuima III, który znajduje się na osobnej kości we współdzielonej obudowie z procesorem.

    W nowym bloku SSE-2 znacznie rozszerzono możliwości przetwarzania liczb w oparciu o zasadę SIMD.

Przyjrzyjmy się tym funkcjom bardziej szczegółowo. zanim Struktura Pentium 4 MP

Polecenia i dane wprowadzane są do mikroprocesora poprzez moduł interfejsu systemowego.

Każdy procesor x86 musi być wyposażony w magistralę procesora. Magistrala ta służy jako kanał komunikacyjny między procesorem a wszystkimi innymi urządzeniami w komputerze: pamięcią, kartą graficzną, dyskiem twardym i tak dalej. Zatem klasyczny schemat organizacji interfejsu procesora zewnętrznego zakłada, że ​​równoległa multipleksowana magistrala procesora, potocznie zwana FSB (Front Side Bus), łączy procesor (czasami dwa procesory lub nawet więcej) i kontroler zapewniający dostęp do pamięci RAM i urządzeń zewnętrznych . Kontroler ten jest zwykle częścią mostka północnego zestawu logicznego systemu (chipsetu). Aby przyspieszyć wymianę pamięci, Pentium 4 wykorzystuje nową implementację magistrali systemowej, zapewniając wymianę z równoważną częstotliwością 400 MHz. Szybkość tę osiąga się dzięki zastosowaniu nowego typu ultraszybkiej dwukanałowej pamięci RDRAM oraz specjalnego układu MCH (Memory ConTROller Hub), który realizuje 4 kanały przesyłania danych. Przy częstotliwości taktowania 100 MHz na kanał zapewniony jest całkowity kurs wymiany odpowiadający 400 MHz. Magistrala zawiera 64-bitową dwukierunkową magistralę danych zapewniającą przepustowość 3,2 GB/s oraz 36-bitową magistralę adresową (33 linie adresowe A35-A3 i 8 bajtowe linie wyboru BE7-BE0), która umożliwia adresowanie pamięci fizycznej w górę do 64 GB. To właśnie czterokrotnie zwiększona częstotliwość przesyłania danych jest jednym z głównych powodów do dumy twórców Pentium 4. Jednak w przypadku licznych małych żądań, gdzie dane mieszczą się przeważnie w jednej 64-bajtowej porcji (i co za tym idzie, możliwości nie stosuje się transferu wielokanałowego), ważniejsza jest częstotliwość taktowania. Najnowsze modele Pentium 4 działają na magistrali FSB 150 MHz, co zapewnia równoważną prędkość FSB 600 MHz i przepustowość 4,8 GB/s.

Informacje odbierane poprzez magistralę systemową przechowywane są w 256 KB pamięci podręcznej poziomu 2 (L2), wspólnej dla poleceń i danych, która jest zlokalizowana bezpośrednio w chipie MP. Szerokość magistrali, po której następuje wymiana danych pomiędzy pamięcią podręczną L2 a procesorem, wynosi 256 bitów (32 bajty), a jej częstotliwość taktowania pokrywa się z częstotliwością zegara rdzenia procesora.

Wewnętrzny projekt Harvardu jest zaimplementowany w warstwie pamięci podręcznej poziomu 1 (L1) poprzez oddzielenie strumieni instrukcji i danych. Pamięć podręczna danych poziomu 1 ma pojemność 8 KB. Zamiast pamięci podręcznej instrukcji poziomu 1, Pentium 4 wykorzystuje zdekodowaną pamięć podręczną instrukcji (mikroinstrukcje). Execution TRace Cache to nazwa i jednocześnie sposób implementacji pamięci podręcznej instrukcji L1 w architekturze NetBurst. Treść semantyczną tego terminu można przetłumaczyć jako „ślad pamięci podręcznej wykonanych mikrorozkazów”. Execution TRace Cache przechowuje mikroinstrukcje (?ops), które zostały uzyskane w wyniku dekodowania strumienia wejściowego instrukcji kodu wykonywalnego i są gotowe do przesłania do potoku w celu wykonania. Pojemność pamięci podręcznej TRace wykonania wynosi 12 KB.

Po zapełnieniu pamięci podręcznej mikrorozkazów prawie każda instrukcja będzie w niej przechowywana w zdekodowanej formie. Dlatego też, gdy nadejdzie kolejne polecenie, blok śledzący wybiera z tej pamięci podręcznej niezbędne mikrorozkazy, aby zapewnić jego wykonanie.

Jeżeli w strumieniu poleceń pojawi się instrukcja rozgałęzienia warunkowego, zostaje uruchomiony mechanizm przewidywania rozgałęzień, który generuje adres kolejnej wybranej instrukcji przed określeniem warunku wykonania rozgałęzienia.

Po utworzeniu strumieni mikrorozkazów przydzielane są rejestry niezbędne do wykonania zdekodowanych instrukcji.

Procedura ta jest realizowana poprzez blok alokacji rejestrów. Przydziela dla każdego rejestru logicznego określonego w poleceniu (rejestr argumentów całkowitych EAX, EBX itp., rejestr argumentów zmiennoprzecinkowych ST0-ST7 lub rejestr blokowy MMX, SSE) jeden ze 128 rejestrów fizycznych zawartych w blokach rejestru podstawieniowego (BRZ) liczba całkowita blok mikroprocesora i blok przetwarzania liczb zmiennoprzecinkowych. Ta procedura pozwala zminimalizować konflikty potoków i umożliwia jednoczesne lub naprzemienne wykonywanie instrukcji korzystających z tych samych rejestrów logicznych.

Etapy dystrybucji/zmiany nazwy potoku mogą wydać trzy mikrorozkazy na cykl zegara do następnego etapu potoku.

Wybrane mikrorozkazy umieszczane są w kolejce mikrorozkazów. Zawiera mikropolecenia, które realizują wykonanie do 120 odebranych i zdekodowanych poleceń, które następnie są wysyłane do elementów wykonawczych. Należy pamiętać, że w procesorach Pentium III w kolejce znajdują się mikroinstrukcje dla 40 przychodzących poleceń. Znaczące zwiększenie liczby poleceń w kolejce pozwala na sprawniejszą organizację przepływu ich wykonywania poprzez zmianę kolejności wykonywania poleceń i wyróżnianie poleceń, które można wykonywać równolegle. Funkcje te są realizowane przez jednostkę dystrybucji mikropoleceń. Wybiera mikrorozkazy z kolejki nie w kolejności ich nadejścia, ale w miarę, jak odpowiednie operandy i elementy wykonawcze są gotowe. Dzięki temu polecenia otrzymane później mogą zostać wykonane przed wcześniej wybranymi poleceniami. W tym przypadku jednoczesne wykonanie kilku mikropoleceń (poleceń) realizowane jest w równoległych urządzeniach operacyjnych. W ten sposób zostaje zakłócona naturalna kolejność poleceń (mikroinstrukcji), aby zapewnić pełniejsze obciążenie połączonych równolegle elementów wykonawczych i zwiększyć wydajność procesora.

Adresy operandów pobieranych z pamięci są obliczane przez jednostkę generowania adresów (AFU), która implementuje interfejs z pamięcią podręczną danych poziomu 1. Zgodnie ze sposobami adresowania określonymi w instrukcjach dekodowanych tworzy się 48 adresów do ładowania operandów z pamięci do rejestru BRZ i 24 adresy do zapisu z rejestru do pamięci (w Pentium III tworzy się 16 adresów do ładowania rejestrów i 12 adresów do zapisu w pamięci). W tym przypadku BFA generuje adresy argumentów dla poleceń, które nie zostały jeszcze odebrane do wykonania. Podczas uzyskiwania dostępu do pamięci BFA jednocześnie podaje adresy dwóch operandów: jeden do załadowania operandu do danego rejestru BRZ, drugi do przesłania wyniku z BRZ do pamięci. W ten sposób realizowana jest procedura wstępnego odczytu danych do późniejszego przetwarzania w jednostkach wykonawczych (próbkowanie spekulatywne).

Podobnie zorganizowana jest praca równoległa bloków SSE, FPU, MMX, które wykorzystują oddzielny zestaw rejestrów i blok do generowania adresów argumentów.

Kiedy operand jest pobierany z pamięci, uzyskiwany jest dostęp do pamięci podręcznej danych (L1), która ma oddzielne porty do odczytu i zapisu. W jednym cyklu zegara pobierane są argumenty dwóch instrukcji.

Podczas tworzenia adresów zapewniony jest dostęp do określonego segmentu pamięci. Każdy segment można podzielić na strony. Aby skrócić czas nadawania, stosuje się go bufor translacji adresu strony asocjacyjnej TLB, który przechowuje adresy bazowe najczęściej używanych stron.

Mikropolecenia wchodzą do rdzenia wykonawczego z jednostki dystrybucyjnej przez 4 porty do 8 jednostek wykonawczych. Porty te pełnią rolę bram do funkcjonalny urządzenia. Do przetwarzania danych całkowitych i wykonywania operacji logicznych Pentium 4 wykorzystuje 4 jednostki arytmetyczno-logiczne (ALU) tego samego typu. Przetwarzanie zmiennoprzecinkowe odbywa się w FPU. Bloki MMX i SSE są przeznaczone do wykonywania tego typu poleceń.

W jednym cyklu zegara przez porty może przejść do sześciu mikropoleceń. To więcej niż jest w stanie wykonać preprocesor (3 mikrorozkazy na cykl zegara), co daje pewną swobodę w przypadku gwałtownego wzrostu liczby mikrorozkazów gotowych do wykonania. Superskalarna architektura mikroprocesora jest realizowana poprzez organizację rdzenia wykonawczego MP w postaci szeregu równoległych bloków roboczych.

Jednostki arytmetyczno-logiczne ALU przetwarzają operandy całkowite pochodzące z określonych rejestrów BRZ. Do tych rejestrów wpisywany jest także wynik operacji. Jednocześnie sprawdzane są warunki rozgałęzienia dla instrukcji rozgałęzienia warunkowego i wysyłane są sygnały przeładowania potoku poleceń w przypadku niepoprawnie przewidywanego rozgałęzienia. Częstotliwość zegara roboczego modułów ALU jest dwukrotnie większa od częstotliwości zegara procesora. Osiąga się to poprzez wyzwalanie zarówno narastającym, jak i opadającym zboczem sygnału zegara głównego. Zatem każdy moduł ALU jest w stanie wykonać do dwóch operacji na liczbach całkowitych na cykl procesora.

Wydajność potoku jest znacznie zmniejszona ze względu na konieczność jego ponownego załadowania podczas wykonywania rozgałęzień warunkowych, gdy konieczne jest wyczyszczenie wszystkich poprzednich etapów i wybranie polecenia z innej gałęzi programu. Aby skrócić czas stracony na przeładunek przenośnika, wprowadzono udoskonalenie blok przewidywania rozgałęzień. Jej główną częścią jest pamięć asocjacyjna zwana buforem adresów rozgałęzień BTB, w której przechowywane są 4092 adresy wcześniej wykonanych rozgałęzień. Należy zauważyć, że BTB procesora Pentium III przechowuje adresy tylko 512 przejść. Ponadto BTB zawiera bity historii rozgałęzień, które wskazują, czy rozgałęzienie zostało wykonane na poprzednich próbkach instrukcji. Po odebraniu kolejnego polecenia skoku warunkowego podany w nim adres jest porównywany z zawartością BTB. Jeżeli tego adresu nie ma w BTB, czyli nie było wcześniejszych przejść na ten adres, to przewidywany jest brak rozgałęzień. W tym przypadku pobieranie i dekodowanie instrukcji następujących po instrukcji skoku jest kontynuowane. Jeżeli podany w poleceniu adres przejścia odpowiada któremukolwiek z adresów zapisanych w BTB, analizowana jest historia. W procesie analizy wyznaczany jest najczęściej realizowany kierunek rozgałęzień, a także identyfikowane są przejścia naprzemienne. Jeśli przewiduje się wykonanie gałęzi, wówczas wybierana jest instrukcja znajdująca się pod przewidywanym adresem i ładowana do potoku. Bardziej zaawansowany mechanizm przewidywania rozgałęzień w Pentium 4 MP zapewnia redukcję liczby błędnie przewidywanych rozgałęzień średnio o 33% w porównaniu do Pentium III. W związku z tym liczba ponownych uruchomień rurociągu w przypadku nieprawidłowego przewidywania odgałęzienia jest znacznie zmniejszona.

Pentium 4 integruje także zestaw 144 nowych instrukcji SIMD, które umożliwiają jednoczesne wykonanie jednej operacji na wielu operandach. Rozważmy bardziej szczegółowo funkcje korzystania z tego schematu przetwarzania danych.

Technologia MMX jest efektem współpracy twórców architektury mikroprocesorowej INtel z programistami. Podczas jego opracowywania zbadano szeroką gamę programów do przetwarzania informacji audiowizualnych: przetwarzanie obrazu, wideo MPEG, synteza muzyki, kompresja i rozpoznawanie mowy, obsługa wideokonferencji, programy do gier komputerowych itp. W wyniku tej analizy zidentyfikowano: : główne cechy takich programów:

    wykorzystanie całego rodzaju danych o małej głębi bitowej, na przykład 8-bitowych pikseli graficznych i 16-bitowej digitalizacji dźwięku;

    krótkie cykle z wysokie szanse powtarzalność;

    duża liczba operacji mnożenia i sumowania, w tym ze względu na powszechne zastosowanie szybka konwersja Fouriera;

    stosowanie algorytmów wymagających intensywnych obliczeń;

    powszechne stosowanie wysoce równoległych operacji.

Zauważono, że w aplikacjach multimedialnych 80% czasu wykonania programu przypada na 10-20% kodu programu.

Mała szerokość danych wymaga dodatkowych kroków podczas przetwarzania ich na 32-bitowym mikroprocesorze, jednocześnie uniemożliwiając wykorzystanie pełnej mocy architektury 32-bitowej.

Prostym i przejrzystym przykładem tego typu przetwarzania jest zmiana wartości wszystkich pikseli pamięci wideo o określoną wartość. Niech pojemność pamięci wideo będzie wynosić 1 MB, a każdy piksel będzie kodowany w 1 bajcie. Następnie, aby wykonać określoną akcję, konieczne będzie wykonanie około 1 miliona operacji w celu dodania stałej do jednobajtowego operandu wybranego z pamięci. Jednoczesne wykonanie takich akcji na 4 argumentach, co zmniejszyłoby liczbę operacji 4-krotnie, jest w klasycznej architekturze IA-32 niemożliwe ze względu na brak odpowiednich poleceń w systemie poleceń i stosowanych formatach danych.

Główne wysiłki twórców technologii MMX miały na celu wyeliminowanie tych sprzeczności. Procesor Pentium MMX, który jako pierwszy wdrożył nową technologię, został wprowadzony przez firmę INTel w styczniu 1997 r. Pozwoliło to na wzrost wydajności w standardowych testach o 10-20%, a w przypadku specjalistycznych aplikacji multimedialnych o 50%.

W tym rozdziale skupiono się na cechach architektonicznych mikroprocesorów. Zawiera ogólne informacje o mikroprocesorach, omawia zasady budowy - organizacja funkcjonalna) typy danych, pamięć rejestrów, metody adresowania i systemy rozkazów mikroprocesorów. Prezentowany materiał zilustrowano na najprostszych procesorach 8- i 16-bitowych.

Podstawowe koncepcje

Mikroprocesor to sterowane programowo urządzenie w postaci układu scalonego (LSI lub VLSI) przeznaczone do przetwarzania informacji cyfrowej. Ponieważ wszystkie nowoczesne mikroprocesory są zintegrowane, termin procesor stał się synonimem mikroprocesora.

Mikrokontroler jest specjalizowanym procesorem przeznaczonym do realizacji funkcji sterujących (sterowania).

(xtypo_quote)Digital Signal Processor (DSP) to wyspecjalizowany procesor przeznaczony do przetwarzania sygnałów cyfrowych. (/xtypo_quote)
System mikroprocesorowy to kompletny funkcjonalnie produkt składający się z kilku urządzeń cyfrowych, w tym procesora. Koncepcja ta łączy szeroką gamę gotowych produktów, począwszy od mikrokontrolerów wykonanych na układach scalonych, a skończywszy na systemach komputerowych, które stanowią zbiór indywidualnych urządzeń konstrukcyjnych (jednostka systemowa, klawiatura, monitor itp.). Poniżej rozważymy najprostsze (jednoukładowe) systemy mikroprocesorowe zawierające oprócz procesora pamięć główną i urządzenia wejścia/wyjścia. Takie systemy mikroprocesorowe można sklasyfikować jako mikroprocesory.

Pod organizacja procesora zrozumieć całość swoich węzłów (urządzenia, bloki, moduły), połączenia między węzłami i ich cechy funkcjonalne. Organizacja określa organizację sprzętową procesora, to znaczy skład i interakcję jego sprzętu. Istnieją dwa poziomy organizacji:

● organizacja fizyczna w formie schematu połączeń;

● logiczna organizacja w formie schematu strukturalno-funkcjonalnego.

Poniżej rozważymy organizację mikroprocesorów na poziomie logicznym lub strukturalną i funkcjonalną organizację procesorów.

Pod architekturę procesora zrozumiemy całość jego oprogramowania i sprzętu, który zapewnia przetwarzanie informacji cyfrowych (wykonanie programu), tj. całość wszystkich narzędzi dostępnych dla programu (lub użytkownika). To bardziej ogólne pojęcie w porównaniu z koncepcją organizacji obejmuje zbiór dostępnych programowo rejestrów i urządzeń operacyjnych, system podstawowych poleceń i metod adresowania, objętość i organizację pamięci adresowalnej, rodzaje i metody przetwarzania danych (wymiana, przerwania, dostęp do pamięci itp.).

(xtypo_quote) Przykładowo nowoczesne 32-bitowe procesory x86 z architekturą IA-32 (architektura Intel - 2 bity) mają standardowy zestaw rejestrów, wspólny system podstawowych instrukcji, te same metody organizacji i adresowania pamięci, ochrony pamięci i przerwać obsługę. Należy pamiętać, że pojęcie architektury w większym stopniu charakteryzuje właściwości systemu niż właściwości urządzenia. (/xtypo_quote)

Główne typy architektury

Ze względu na formaty używanych poleceń (instrukcji) możemy wyróżnić:

● Architektura CISC, która odnosi się do procesorów (komputerów) z pełnym zestawem instrukcji (komputer z kompletnym zestawem instrukcji – CISC). Jest zaimplementowany w wielu typach mikroprocesorów (na przykład Pentium), które wykonują duży zestaw instrukcji wieloformatowych przy użyciu wielu metod adresowania.

Zestaw instrukcji procesorów o architekturze CISC może zawierać kilkaset instrukcji różne formaty(od 1 do 15 bajtów) lub stopni złożoności i wykorzystują ponad 10 różnych metod adresowania, co pozwala programiście na implementację najskuteczniejszych algorytmów rozwiązywania różnych problemów.

Rozwój tradycyjnego CISC

Architektury mikroprocesorowe, drogą poszerzania funkcjonalności i obniżania kosztów programowania, doprowadziły do ​​wzrostu liczby instrukcji w zestawie i liczby mikrorozkazów w zespole. Konsekwencją tego była komplikacja układów scalonych i zmniejszenie szybkości wykonywania programu. Jednym z możliwych sposobów wyeliminowania tych niedociągnięć jest zastosowanie zredukowanego zestawu poleceń, których organizacja zależy od zwiększenia szybkości ich wykonywania;

● Architektura RISC, która odnosi się do procesorów (komputerów) ze zredukowanym zestawem instrukcji (Reduced Order Set Computer - RISC). Pojawienie się architektury RISC jest podyktowane faktem, że wiele poleceń CISC i metod adresowania jest stosowanych dość rzadko. Główną cechą architektury RISC jest to, że system rozkazów składa się z niewielkiej liczby często używanych instrukcji tego samego formatu, które mogą być wykonane w jednym cyklu poleceń (cyklu) centralnego procesora. Bardziej złożone, rzadko używane polecenia są implementowane na poziomie programu. Jednak ze względu na znaczny wzrost szybkości wykonywania instrukcji, średnia wydajność procesorów RISC może być wyższa niż procesorów o architekturze CISC.

(xtypo_quote)Większość instrukcji procesorów RISC obejmuje operacje między rejestrami. Aby uzyskać dostęp do pamięci, najprostszymi operacjami z punktu widzenia czasochłonności są operacje ładowania do rejestrów i zapisu do pamięci. (/xtypo_quote)

Nowoczesne procesory RISC implementują około 100 instrukcji o ustalonym formacie o długości 4 bajtów i wykorzystują niewielką liczbę najprostszych metod adresowania (rejestr, indeks i kilka innych).

Aby zmniejszyć liczbę dostępów do zewnętrznej pamięci RAM, procesory RISC zawierają dziesiątki do setek rejestrów ogólnego przeznaczenia (GPR), podczas gdy w CISC-procesory tylko 8-16 rejestrów. Dostęp do pamięci zewnętrznej w procesorach RISC wykorzystywany jest jedynie w operacjach ładowania danych do RON lub przenoszenia wyników z RON do pamięci. Redukując sprzęt wymagany do dekodowania i wykonywania złożonych poleceń, układy scalone procesorów RISC zostały znacznie uproszczone, a ich koszt obniżony. Ponadto znacznie poprawia się produktywność. Dzięki tym zaletom wiele nowoczesnych
Procesory CI SC (najnowsze modele Pentium i K7) korzystają z rdzenia RISC. W tym przypadku złożone polecenia CI SC są wstępnie konwertowane na sekwencję prostych operacji RISC i szybko wykonywane przez rdzeń RISC;

● Architektura VLIW, która odnosi się do mikroprocesorów używających bardzo długich instrukcji (Very Large Order Word – VLIW). Poszczególne pola poleceń zawierają kody wykonujące różne operacje. Jedno polecenie VLIW może wykonać kilka operacji jednocześnie w różnych węzłach mikroprocesora. Tworzenie „długich” poleceń VLIW odbywa się za pomocą odpowiedniego kompilatora podczas tłumaczenia programów napisanych w języku wysokiego poziomu.

(xtypo_quote)VLIW -architektura zaimplementowany w niektórych typach nowoczesnych mikroprocesorów i jest bardzo obiecujący w kontekście tworzenia nowej generacji procesorów o ultrawysokiej wydajności. (/xtypo_quote)

W oparciu o sposób organizacji doboru poleceń i danych wyróżnia się dwa typy architektur:

● Architektura Princeton, czyli architektura von Neumanna, której cechą charakterystyczną jest (ryc. 2.1.1) zastosowanie:

Wspólna pamięć główna (o dostępie swobodnym) do przechowywania programów i danych, która pozwala szybko i efektywnie redystrybuować jej objętość w zależności od rozwiązywanych zadań w każdym konkretnym przypadku użycia mikroprocesora;

Wspólna magistrala, poprzez którą polecenia i dane przesyłane są do procesora, a wyniki zapisywane są do pamięci RAM, co znacznie ułatwia debugowanie, testowanie i bieżące monitorowanie funkcjonowania systemu oraz zwiększa jego niezawodność. Aby oddzielić instrukcję od danych, zawsze najpierw z pamięci pobierany jest kod wykonywanej operacji, a następnie dane. Domyślnie kod operacji ładowany jest do rejestru poleceń, a dane do bloku rejestru (rys. 2.1.1). Ze względu na ograniczoną liczbę pinów zewnętrznych, magistrala wspólna pracuje zazwyczaj w trybie multipleksowania czasu, czyli tzw. przeciwne kierunki wymiana danych pomiędzy mikroprocesorem, pamięcią lub innymi urządzeniami zewnętrznymi jest rozdzielona w czasie.

Wada architektury Princeton

Stosowanie wspólnej magistrali do przesyłania poleceń i danych ogranicza wydajność systemu cyfrowego;

● Architektura Harvarda (twórca Howard Aiken), której cechą charakterystyczną jest fizyczne oddzielenie pamięci instrukcji (programów) od pamięci danych (rys. 2.1.2). Okoliczność ta jest spowodowana stale rosnącymi wymaganiami dotyczącymi wydajności systemów mikroprocesorowych. Pamięć poleceń i pamięć danych są podłączone do procesora osobnymi magistralami. Dzięki rozdzieleniu strumieni poleceń i danych oraz połączeniu operacji ich wyszukiwania (i rejestrowaniu wyników przetwarzania) zapewniona jest wyższa wydajność niż przy zastosowaniu architektury Princeton.

Wady architektury harwardzkiej

Zwiększona złożoność projektu ze względu na zastosowanie oddzielnych magistral dla poleceń i danych; stała ilość pamięci na polecenia i dane; wzrost całkowitej ilości pamięci ze względu na niemożność jej optymalnej redystrybucji między poleceniami i danymi. Architektura Harvarda jest szeroko stosowana w mikrokontrolerach - wyspecjalizowanych mikroprocesorach do sterowania różnymi obiektami, a także w strukturze wewnętrznej nowoczesnych mikroprocesorów o dużej wydajności w pamięci podręcznej z wydzielonym przechowywaniem instrukcji i danych.

Jednocześnie zasady architektury Princeton są realizowane w strukturze zewnętrznej większości systemów mikroprocesorowych.

Należy pamiętać, że architektura mikroprocesora jest ściśle powiązana z jego strukturą. Realizacja określonych cech architektonicznych wymaga wprowadzenia w strukturę mikroprocesora odpowiednich urządzeń i zapewnienia mechanizmów ich wspólnego funkcjonowania.

Mikroprocesory

Wstęp

Komputery stały się powszechne od lat 50. XX wieku. Wcześniej były to bardzo duże i drogie urządzenia, używane jedynie w agencjach rządowych i dużych firmach. Rozmiar i kształt komputerów cyfrowych zmieniły się nie do poznania w wyniku rozwoju nowych urządzeń zwanych mikroprocesorami.

Mikroprocesor (MP) to sterowane programowo elektroniczne urządzenie cyfrowe przeznaczone do przetwarzania informacji cyfrowych i sterowania procesem tego przetwarzania, wykonane na jednym lub większej liczbie układów scalonych o wysokim stopniu integracji elementów elektronicznych.

W 1970 roku Marchian Edward Hoff z Intela zaprojektował układ scalony podobny w swoich funkcjach do centralnego procesora dużego komputera - pierwszego mikroprocesora Intel-4004, który został wprowadzony do sprzedaży w 1971 roku.

To był prawdziwy przełom, bo mierzący niecałe 3 cm Intel-4004 MP był wydajniejszy od gigantycznej maszyny ENIAC. Co prawda działał znacznie wolniej i mógł przetwarzać tylko 4 bity informacji na raz (procesory mainframe przetwarzały 16 lub 32 bity jednocześnie), ale pierwszy MP był dziesiątki tysięcy razy tańszy.

Kryształ był 4-bitowym procesorem o klasycznej architekturze komputerowej typu Harvard i został wyprodukowany przy użyciu zaawansowanej technologii MOS z kanałem p przy standardach konstrukcyjnych wynoszących 10 mikronów. Obwód elektryczny urządzenia składał się z 2300 tranzystorów. MP działał z częstotliwością zegara 750 kHz, a czas trwania cyklu sterującego wynosił 10,8 μs. Układ i4004 posiadał stos adresowy (licznik programu i trzy rejestry stosu LIFO), blok RON (rejestry pamięci szeregowej lub plik rejestru - RF), 4-bitową równoległą jednostkę ALU, akumulator, rejestr poleceń z dekoderem poleceń oraz obwód sterujący, a także obwód komunikacyjny z urządzeniami zewnętrznymi. Wszystkie te jednostki funkcjonalne zostały połączone 4-bitową kartą SD. Pamięć instrukcji sięgała 4 KB (dla porównania: pojemność pamięci minikomputera na początku lat 70. rzadko przekraczała 16 KB), a procesor RF miał 16 rejestrów 4-bitowych, które można było również wykorzystać jako 8 rejestrów 8-bitowych. Ta organizacja RON została zachowana w kolejnych parlamentarzystach Intela. Trzy rejestry stosu zapewniały trzy poziomy zagnieżdżenia podprogramów. i4004 MP został zamontowany w plastikowej lub metalowo-ceramicznej obudowie DIP (Dual In-line Package) z zaledwie 16 pinami.

Jego system instrukcji zawierał tylko 46 instrukcji.

Jednocześnie kryształ miał bardzo ograniczone fundusze wejście/wyjście, a system dowodzenia nie posiadał logicznych operacji przetwarzania danych (AND, OR, EXCLUSIVE OR), dlatego musiały być realizowane za pomocą specjalnych podprogramów. Moduł i4004 nie miał możliwości zatrzymania (polecenia HALT) i obsługi przerwań.

Cykl poleceń procesora składał się z 8 cykli zegara głównego oscylatora. Występowała multipleksowana SHA (szyna adresowa)/SD (szyna danych), 12-bitowy adres był przesyłany w 4-bitach.

1 kwietnia 1972 roku Intel rozpoczął sprzedaż pierwszego w branży urządzenia 8-bitowego, i8008. Kryształ został wyprodukowany przy użyciu technologii MOS z kanałem p, przy standardach konstrukcyjnych wynoszących 10 mikronów i zawierał 3500 tranzystorów. Procesor pracował z częstotliwością 500 kHz z czasem trwania cyklu maszynowego 20 μs (10 okresów oscylatora głównego).

W przeciwieństwie do swoich poprzedników, MP miał architekturę komputera typu Princeton i umożliwiał wykorzystanie kombinacji ROM i RAM jako pamięci.

W porównaniu do i4004 liczba RON spadła z 16 do 8, a do przechowywania adresu do pośredniego adresowania pamięci wykorzystano dwa rejestry (ograniczenie technologii - blok RON, podobny do kryształów 4004 i 4040 w MP 8008 , została zaimplementowana jako pamięć dynamiczna). Czas trwania cyklu maszyny został skrócony niemal o połowę (z 8 do 5 stanów). Aby zsynchronizować pracę z wolnymi urządzeniami, wprowadzono sygnał GOTOWOŚCI.

System dowodzenia składał się z 65 instrukcji. MP mógłby zaadresować 16 KB pamięci. Jego wydajność w porównaniu do czterocyfrowy MP wzrosło 2,3 razy. Do połączenia procesora z pamięcią i urządzeniami wejścia/wyjścia potrzeba było średnio około 20 średnich układów scalonych.

Możliwości technologii kanału p do tworzenia złożonych MP o wysokiej wydajności zostały prawie wyczerpane, więc „kierunek głównego uderzenia” został przeniesiony do technologii n-kanałowej MOS.

1 kwietnia 1974 roku uwagę wszystkich zainteresowanych zaprezentowano procesorem Intel 8080 MP. Dzięki zastosowaniu technologii p-MOS o standardach konstrukcyjnych wynoszących 6 mikronów, możliwe było umieszczenie na chipie 6 tysięcy tranzystorów. Częstotliwość taktowania procesora zwiększono do 2 MHz, a czas trwania cyklu poleceń wynosił już 2 μs. Ilość pamięci adresowalnej przez procesor została zwiększona do 64 KB. Dzięki zastosowaniu 40-pinowej obudowy możliwe było oddzielenie całkowitej liczby ShA i ShD zmniejszono liczbę mikroukładów wymaganych do zbudowania systemu w minimalnej konfiguracji do 6 (ryc. 1).

Ryż. 1. Mikroprocesor Intela 8080.

W Federacji Rosyjskiej wprowadzono wskaźnik stosu, który jest aktywnie używany podczas przetwarzania przerwań, a także dwa programowo niedostępne zarejestruj się do przelewów wewnętrznych. Blok RON został zaimplementowany na statycznych układach pamięci. Wyłączenie akumulatora z RF i jego wprowadzenie do ALU uprościło wewnętrzny obwód sterujący magistralą.

Nowością w architekturze MP jest zastosowanie wielopoziomowego systemu przerwań wektorowych. To rozwiązanie techniczne umożliwiło zwiększenie całkowitej liczby źródeł przerwań do 256 (przed pojawieniem się kontrolerów przerwań LSI schemat generowania wektorów przerwań wymagał użycia aż do 10 dodatkowych chipów integrujących medium). W i8080 wprowadzono mechanizm bezpośredniego dostępu do pamięci (DMA) (jak poprzednio w komputerach mainframe IBM System 360 itp.).

PDP otworzyło zielone światło dla stosowania tak skomplikowanych urządzeń w mikrokomputerach, jak urządzenia pamięci masowej dyski magnetyczne i wyświetlacze taśmowe na kineskopach, które zamieniły mikrokomputer w pełnoprawny system komputerowy.

Tradycją firmy, począwszy od pierwszego kryształu, była produkcja nie oddzielnego chipa procesora, ale rodziny LSI przeznaczonych do wspólnego użytku.

Architektura mikroprocesora

Główne cechy mikroprocesora

Mikroprocesor charakteryzuje się:
1) częstotliwość zegara, która określa maksymalny czas wykonania przełączania elementów w komputerze;
2) głębia bitowa, tj. maksymalna liczba jednocześnie przetwarzanych bitów binarnych.

Wydajność MP oznaczona jest m /n /k / i obejmuje:
m - pojemność rejestrów wewnętrznych, określa, czy należą one do określonej klasy procesorów;
n - szerokość magistrali danych, określa prędkość przesyłania informacji;
k - szerokość szyny adresowej, określa rozmiar przestrzeni adresowej. Na przykład i8088 MP charakteryzuje się wartościami m /n /k=16/8/20;
3) architektura. Koncepcja architektury mikroprocesora obejmuje system poleceń i metod adresowania, możliwość łączenia wykonywania poleceń w czasie, obecność dodatkowe urządzenia jako część mikroprocesora, zasady i sposoby jego działania. Identyfikuje pojęcia mikroarchitektura I makroarchitektura.

Mikroarchitektura mikroprocesor to organizacja sprzętowa i struktura logiczna mikroprocesora, rejestrów, obwodów sterujących, urządzeń arytmetyczno-logicznych, urządzeń pamięci masowej i łączących je autostrad informacyjnych.

Makroarchitektura- jest to system poleceń, rodzajów przetwarzanych danych, trybów adresowania i zasad działania mikroprocesora.

Ogólnie rzecz biorąc, architektura komputera jest rozumiana jako abstrakcyjna reprezentacja maszyny w kategoriach podstawowych modułów funkcjonalnych, języka komputerowego i struktury danych.

Budowa typowego mikroprocesora

Architekturę typowego małego systemu obliczeniowego opartego na mikrokomputerze pokazano na ryc. 2.1 Ten mikrokomputer zawiera wszystkie 5 głównych bloków maszyna cyfrowa: urządzenie wejściowe informacji, urządzenie sterujące (CU), jednostka arytmetyczno-logiczna (ALU) (zawarta w mikroprocesorze), urządzenia pamięci (SRAM) i urządzenie wyjściowe informacji.

Ryż. 2.1. Architektura typowego mikroprocesora.

Mikroprocesor koordynuje pracę wszystkich urządzeń systemu cyfrowego za pomocą magistrali sterującej (CB). Oprócz SHU istnieje 16-bitowa magistrala adresowa (ABA), która służy do wyboru konkretna komórka pamięć, port wejściowy lub port wyjściowy. 8-bitowa magistrala informacyjna lub magistrala danych (SD) zapewnia dwukierunkowy transfer danych do i z mikroprocesora. Należy pamiętać, że MP może wysyłać informacje do pamięci mikrokomputera lub do jednego z portów wyjściowych, a także odbierać informacje z pamięci lub z jednego z portów wejściowych.

Pamięć tylko do odczytu (ROM) w mikrokomputerze zawiera określony program (w praktyce program inicjujący komputer). Programy można ładować do pamięci o dostępie swobodnym (RAM) i z zewnętrznego urządzenia pamięci masowej (ERM). To są programy użytkownika.

Jako przykład ilustrujący działanie mikrokomputera rozważ procedurę, której wdrożenie wymaga wykonania następującej sekwencji elementarnych operacji:
1. Naciśnij klawisz litery „A” na klawiaturze.
2. Umieść literę „A” w pamięci mikrokomputera.
3. Wyświetl literę „A” na ekranie wyświetlacza.

Jest to typowa procedura wejścia-przechowania-wyjścia, której rozważenie pozwala wyjaśnić zasady korzystania z niektórych urządzeń wchodzących w skład mikrokomputera.

Na ryc. 2.2 pokazuje szczegółowy schemat wykonania procedury wejście-przechowywanie-wyjście. Należy pamiętać, że instrukcje są już załadowane do pierwszych sześciu komórek pamięci. Zapisany program zawiera następujący łańcuch poleceń:
1. Wprowadź dane z portu wejściowego 1.
2. Zapisz dane w komórce pamięci 200.
3. Wyślij dane do portu wyjściowego 10.

Ryż. 2.2. Schemat wykonania procedury wejście-zapamiętanie-wyjście.

W tym programie są tylko trzy polecenia, chociaż na ryc. 2.2 może się wydawać, że w pamięci programu zapisanych jest sześć instrukcji. Dzieje się tak dlatego, że zespół jest zwykle podzielony na części. Pierwszą częścią polecenia 1 w powyższym programie jest polecenie wprowadzenia danych. Druga część polecenia 1 określa skąd mają zostać wprowadzone dane (z portu 1). Pierwsza część polecenia, która określa konkretną akcję, nazywana jest kodem operacji (OPC), a druga część nazywana jest operandem. Kod operacji i operand znajdują się w oddzielnych lokalizacjach pamięci programu. Na ryc. 2.2 COP jest przechowywany w komórce 100, a kod argumentu jest przechowywany w komórce 101 (port 1); ta ostatnia wskazuje, skąd należy zaczerpnąć informacje.

W MP na ryc. 2.2 podświetlone są jeszcze dwa nowe bloki - rejestry: akumulator i rejestr poleceń.

Rozważmy przekazywanie poleceń i danych wewnątrz mikrokomputera za pomocą ponumerowanych okręgów na schemacie. Przypomnijmy, że mikroprocesor jest centralnym węzłem kontrolującym przepływ wszystkich danych i wykonywanie operacji.

Zatem podczas wykonywania typowej procedury wejścia-przechowywania-wyjścia w mikrokomputerze następuje następująca sekwencja działań:
1. MP wysyła adres 100 do szyny adresowej. Szyną sterującą wysyłany jest sygnał, który ustawia pamięć programu (określony mikroukład) w tryb odczytu.
2. Pamięć programu wysyła pierwsze polecenie („Wprowadź dane”) szyną danych, a MP odbiera tę zakodowaną wiadomość. Polecenie umieszczane jest w rejestrze poleceń. MP dekoduje (interpretuje) odebrane polecenie i stwierdza, że ​​polecenie wymaga argumentu.
3. MP wydaje adres 101 ShA; Sterownia służy do przeniesienia pamięci programu do trybu odczytu.
4. Operand „From port 1” jest wysyłany z pamięci programu do SD. Ten operand jest w środku pamięć programu w komórce 101. Kod argumentu (zawierający adres portu 1) jest przesyłany przez SD do MP i wysyłany do rejestru poleceń. MP dekoduje teraz pełne polecenie („Wprowadź dane z portu 1”).
5. MP za pomocą SHA i SHU łącząc go z urządzeniem wejściowym otwiera port 1. Cyfrowy kod litery „A” jest przesyłany do akumulatora znajdującego się wewnątrz MP i niezapomniany. Ważne Należy zauważyć, że podczas przetwarzania każdego polecenia programu MP działa zgodnie z mikroprocedurą próbkowanie-dekodowanie-wykonanie.
6. MP uzyskuje dostęp do komórki 102 poprzez ShA. Sterownia służy do przeniesienia pamięci programu do trybu odczytu.
7. Kod komendy „Zapamiętaj dane” wysyłany jest do SD i wysyłany do MP, gdzie zostaje umieszczony w rejestrze komend.
8. MP dekoduje tę instrukcję i stwierdza, że ​​wymaga ona argumentu. MP uzyskuje dostęp do komórki pamięci 103 i aktywuje wejście do odczytu układów pamięci programu.
9. Z pamięci programu do karty SD zostaje wysłany kod komunikatu „In memory cell 200”. MP bierze ten argument i umieszcza go w rejestrze instrukcji. Z pamięci programu wybierane jest kompletne polecenie „Zapisz dane w komórce pamięci 200” i dekodowane.
10. Teraz rozpoczyna się proces wykonywania poleceń. MP przekazuje adres 200 do SHA i aktywuje wejście zapisu związane z pamięcią danych.
11. MP przekazuje informacje zgromadzone w akumulatorze do pamięci danych. Kod litery „A” przesyłany jest za pomocą karty SD i zapisywany w komórce 200 tej pamięci. Drugie polecenie zostało wykonane. Proces zapamiętywania nie niszczy zawartości baterii. Nadal zawiera kod litery „A”.
12. MP uzyskuje dostęp do komórki pamięci 104, aby wybrać następne polecenie i przełącza pamięć programu w tryb odczytu.
13. Kod komendy wyjściowej danych jest wysyłany poprzez SD do MP, który umieszcza go w rejestrze komend, odszyfrowuje i stwierdza, że ​​potrzebny jest operand.
14. MP nadaje adres 105 SHA i ustawia pamięć programu w tryb odczytu.
15. Z pamięci programu poprzez SD, MP otrzymuje kod argumentu „Do portu 10”, który następnie jest umieszczany w rejestrze poleceń.
16. MP odszyfrowuje pełne polecenie „Wyprowadź dane do portu 10”. Za pomocą ShA i ShU łączących go z urządzeniem wyjściowym, MP otwiera port 10 i wysyła kod litery „A” (nadal znajdującej się w baterii) za pośrednictwem ShD. Litera „A” jest wyświetlana przez port 10 na ekranie wyświetlacza.

W większości systemów mikroprocesorowych (MPS) informacja jest przekazywana w sposób podobny do omówionego powyżej. Najbardziej znaczące różnice są możliwe w blokach wejściowych i wyjściowych.

Podkreślmy jeszcze raz, że mikroprocesor jest sercem systemu i steruje wszystkimi operacjami. Jego praca reprezentuje sekwencyjną implementację mikroprocedur próbkowania, deszyfrowania i wykonywania. Jednakże rzeczywistą kolejność operacji w MPS wyznaczają polecenia zapisane w pamięci programu.

Zatem w MPS mikroprocesor wykonuje następujące funkcje:
- pobieranie poleceń programu z pamięci głównej;
- dekodowanie poleceń;
- wykonywanie operacji arytmetycznych, logicznych i innych kodowanych w poleceniach;
- kontrola przepływu informacji pomiędzy rejestrami a pamięcią główną, pomiędzy urządzeniami wejścia/wyjścia;
- przetwarzanie sygnałów z urządzeń wejścia/wyjścia, w tym realizacja przerwań z tych urządzeń;
- zarządzanie i koordynacja pracy głównych jednostek MP.

Wstęp

1.3 Przegląd istniejących typów architektur mikroprocesorów

2. Urządzenie sterujące

3. Funkcje kontroli oprogramowania i oprogramowania sprzętowego

4. Tryby adresowania

Wniosek


Proces interakcji człowieka z komputerem trwa już ponad 40 lat. Do niedawna w procesie tym mogli uczestniczyć jedynie specjaliści – inżynierowie, matematycy – programiści, operatorzy. W ostatnich latach nastąpiły dramatyczne zmiany w dziedzinie informatyki. Dzięki rozwojowi i zastosowaniu mikroprocesorów w strukturze komputera pojawiły się małe, przyjazne dla użytkownika komputery osobiste. Sytuacja się zmieniła, rolą użytkownika może być nie tylko informatyk, ale także każda osoba, czy to uczeń, czy gospodyni domowa, lekarz czy nauczyciel, robotnik czy inżynier. Zjawisko to często nazywane jest zjawiskiem komputerów osobistych. Obecnie światowa flota komputerów osobistych przekracza 20 milionów.

Dlaczego wystąpiło to zjawisko? Odpowiedź na to pytanie można znaleźć, jeśli jasno sformułowamy, czym jest komputer osobisty i jakie są jego główne cechy. Należy poprawnie postrzegać samą definicję słowa „osobisty”, nie oznacza to jednak, że komputer należy do danej osoby jako własność osobista. Definicja „osobistego” powstała, ponieważ dana osoba miała możliwość komunikowania się z komputerem bez pośrednictwa profesjonalnego programisty, niezależnie, osobiście. Nie jest konieczna znajomość specjalnego języka komputerowego. Istniejące w komputerze oprogramowanie zapewni korzystną „przyjazną” formę dialogu pomiędzy użytkownikiem a komputerem.

Obecnie jednym z najpopularniejszych komputerów jest model IBM PC i jego unowocześniona wersja IBM PC XT, który uważany jest za podstawowy model komputera osobistego pod względem architektury, oprogramowania i wyglądu zewnętrznego.

Podstawą komputera osobistego jest jednostka systemowa. Organizuje pracę, przetwarza informacje, dokonuje obliczeń, zapewnia komunikację człowieka z komputerem. Użytkownik nie musi dokładnie rozumieć działania jednostki systemowej. To jest dla specjalistów. Musi jednak wiedzieć, z jakich bloków funkcjonalnych składa się komputer. Nie mamy jasnego pojęcia o zasadzie działania wewnętrznych bloków funkcjonalnych otaczających nas obiektów - lodówki, kuchenki gazowej, pralki, samochodu, ale musimy wiedzieć, jaka jest podstawa działania te urządzenia, jakie są możliwości ich bloków składowych.

1. Ogólna charakterystyka architektury procesora

1.1 Podstawowa struktura systemu mikroprocesorowego

Za zarządzanie systemem odpowiedzialna jest jednostka centralna (CPU), która połączona jest z pamięcią i układem wejścia/wyjścia odpowiednio poprzez kanały pamięci i wejścia/wyjścia. Procesor odczytuje instrukcje z pamięci tworzącej program i dekoduje je. Zgodnie z wynikiem instrukcji dekodowania pobiera dane z pamięci portów wejściowych, przetwarza je i wysyła z powrotem do pamięci lub portów wyjściowych. Istnieje również możliwość przesyłania danych I/O z pamięci do urządzeń zewnętrznych i odwrotnie, z pominięciem procesora. Mechanizm ten nazywany jest bezpośrednim dostępem do pamięci (DMA).

Z punktu widzenia użytkownika przy wyborze mikroprocesora wskazane jest posiadanie jakiejś ogólnej, kompleksowej charakterystyki możliwości mikroprocesora. Programista musi zrozumieć i zrozumieć tylko te elementy mikroprocesora, które są wyraźnie odzwierciedlone w programach i należy je wziąć pod uwagę przy opracowywaniu obwodów i programów do funkcjonowania systemu. Takie cechy definiuje koncepcja architektury mikroprocesora.

1.2 Koncepcja architektury mikroprocesora

Architekturę typowego małego systemu obliczeniowego opartego na mikrokomputerze pokazano na ryc. 1. Taki mikrokomputer zawiera wszystkie 5 głównych bloków maszyny cyfrowej: urządzenie wejściowe informacji, jednostkę sterującą (CU), jednostkę arytmetyczno-logiczną (ALU) (zawartą w mikroprocesorze), urządzenia pamięci masowej (SRAM) i moduł informacyjny urządzenie wyjściowe.

Ryż. 1. Architektura typowego mikroprocesora.

Mikroprocesor koordynuje pracę wszystkich urządzeń systemu cyfrowego za pomocą magistrali sterującej (CB). Oprócz SHU istnieje 16-bitowa magistrala adresowa (ABA), która służy do wyboru konkretnej komórki pamięci, portu wejściowego lub portu wyjściowego. 8-bitowa magistrala informacyjna lub magistrala danych (SD) zapewnia dwukierunkowy transfer danych do i z mikroprocesora. Należy pamiętać, że MP może wysyłać informacje do pamięci mikrokomputera lub do jednego z portów wyjściowych, a także odbierać informacje z pamięci lub z jednego z portów wejściowych.

Pamięć tylko do odczytu (ROM) w mikrokomputerze zawiera określony program (w praktyce program inicjujący komputer). Programy można ładować do pamięci o dostępie swobodnym (RAM) i z zewnętrznego urządzenia pamięci masowej (ERM). To są programy użytkownika.

Jako przykład ilustrujący działanie mikrokomputera rozważ procedurę, której wdrożenie wymaga wykonania następującej sekwencji elementarnych operacji:

1. Naciśnij klawisz litery „A” na klawiaturze.

2. Umieść literę „A” w pamięci mikrokomputera.

3. Wyświetl literę „A” na ekranie wyświetlacza.

Jest to typowa procedura wejścia-przechowania-wyjścia, której rozważenie pozwala wyjaśnić zasady korzystania z niektórych urządzeń wchodzących w skład mikrokomputera.

Na ryc. Rysunek 2 przedstawia szczegółowy schemat wykonania procedury wejście-przechowywanie-wyjście. Należy pamiętać, że instrukcje są już załadowane do pierwszych sześciu komórek pamięci. Zapisany program zawiera następujący łańcuch poleceń:

1. Wprowadź dane z portu wejściowego 1.

2. Zapisz dane w komórce pamięci 200.

3. Wyślij dane do portu wyjściowego 10.

W tym programie są tylko trzy polecenia, chociaż na ryc. 2 może się wydawać, że w pamięci programu przechowywanych jest sześć instrukcji. Dzieje się tak dlatego, że zespół jest zwykle podzielony na części. Pierwszą częścią polecenia 1 w powyższym programie jest polecenie wprowadzenia danych. Druga część polecenia 1 określa skąd mają zostać wprowadzone dane (z portu 1). Pierwsza część polecenia, która określa konkretną akcję, nazywana jest kodem operacji (OPC), a druga część nazywana jest operandem. Kod operacji i operand znajdują się w oddzielnych lokalizacjach pamięci programu. Na ryc. 2 COP jest przechowywane w komórce 100, a kod argumentu jest przechowywany w komórce 101 (port 1); ta ostatnia wskazuje, skąd należy zaczerpnąć informacje.

W MP na ryc. 2 podświetlone są jeszcze dwa nowe bloki - rejestry: akumulator i rejestr poleceń.


Ryż. 2. Schemat wykonania procedury wejście-zapamiętanie-wyjście

Rozważmy przekazywanie poleceń i danych wewnątrz mikrokomputera za pomocą ponumerowanych okręgów na schemacie. Przypomnijmy, że mikroprocesor jest centralnym węzłem kontrolującym przepływ wszystkich danych i wykonywanie operacji.

Zatem podczas wykonywania typowej procedury wejścia-przechowywania-wyjścia w mikrokomputerze następuje następująca sekwencja działań:

1. MP wysyła adres 100 do szyny adresowej. Szyną sterującą wysyłany jest sygnał, który ustawia pamięć programu (określony mikroukład) w tryb odczytu.

2. Pamięć programu wysyła pierwsze polecenie („Wprowadź dane”) szyną danych, a MP odbiera tę zakodowaną wiadomość. Polecenie umieszczane jest w rejestrze poleceń. MP dekoduje (interpretuje) odebrane polecenie i stwierdza, że ​​polecenie wymaga argumentu.

3. MP wydaje adres 101 ShA; Sterownia służy do przeniesienia pamięci programu do trybu odczytu.

4. Operand „From port 1” jest wysyłany z pamięci programu do SD. Operand ten znajduje się w pamięci programu w komórce 101. Kod operandu (zawierający adres portu 1) jest przesyłany przez SD do MP i wysyłany do rejestru poleceń. MP dekoduje teraz pełne polecenie („Wprowadź dane z portu 1”).

5. MP za pomocą SHA i SHU łącząc go z urządzeniem wejściowym otwiera port 1. Cyfrowy kod litery „A” jest przesyłany do baterii znajdującej się wewnątrz MP i jest przechowywany. Należy pamiętać, że podczas przetwarzania przy każdym poleceniu programu MP działa zgodnie z mikroprocedurą próbkowania-dekodowania-wykonania.

6. MP uzyskuje dostęp do komórki 102 poprzez ShA. Sterownia służy do przeniesienia pamięci programu do trybu odczytu.

7. Kod komendy „Zapamiętaj dane” wysyłany jest do SD i wysyłany do MP, gdzie zostaje umieszczony w rejestrze komend.

8. MP dekoduje tę instrukcję i stwierdza, że ​​wymaga ona argumentu. MP uzyskuje dostęp do komórki pamięci 103 i aktywuje wejście do odczytu układów pamięci programu.

9. Z pamięci programu do karty SD zostaje wysłany kod komunikatu „In memory cell 200”. MP bierze ten argument i umieszcza go w rejestrze instrukcji. Z pamięci programu wybierane jest kompletne polecenie „Zapisz dane w komórce pamięci 200” i dekodowane.

10. Teraz rozpoczyna się proces wykonywania poleceń. MP przekazuje adres 200 do SHA i aktywuje wejście zapisu związane z pamięcią danych.

11. MP przekazuje informacje zgromadzone w akumulatorze do pamięci danych. Kod litery „A” przesyłany jest za pomocą karty SD i zapisywany w komórce 200 tej pamięci. Drugie polecenie zostało wykonane. Proces zapamiętywania nie niszczy zawartości baterii. Nadal zawiera kod litery „A”.

12. MP uzyskuje dostęp do komórki pamięci 104, aby wybrać następne polecenie i przełącza pamięć programu w tryb odczytu.

13. Kod komendy wyjściowej danych jest wysyłany poprzez SD do MP, który umieszcza go w rejestrze komend, odszyfrowuje i stwierdza, że ​​potrzebny jest operand.

14. MP nadaje adres 105 SHA i ustawia pamięć programu w tryb odczytu.

15. Z pamięci programu poprzez SD, MP otrzymuje kod argumentu „Do portu 10”, który następnie jest umieszczany w rejestrze poleceń.

16. MP odszyfrowuje pełne polecenie „Wyprowadź dane do portu 10”. Za pomocą ShA i ShU łączących go z urządzeniem wyjściowym, MP otwiera port 10 i wysyła kod litery „A” (nadal znajdującej się w baterii) za pośrednictwem ShD. Litera „A” jest wyświetlana przez port 10 na ekranie wyświetlacza.

W większości systemów mikroprocesorowych (MPS) informacja jest przekazywana w sposób podobny do omówionego powyżej. Najbardziej znaczące różnice są możliwe w blokach wejściowych i wyjściowych.

Podkreślmy jeszcze raz, że mikroprocesor jest sercem systemu i steruje wszystkimi operacjami. Jego praca reprezentuje sekwencyjną implementację mikroprocedur próbkowania, deszyfrowania i wykonywania. Jednakże rzeczywistą kolejność operacji w MPS wyznaczają polecenia zapisane w pamięci programu.

Zatem w MPS mikroprocesor wykonuje następujące funkcje:

Pobieranie poleceń programu z pamięci głównej;

Deszyfrowanie poleceń;

Wykonywanie operacji arytmetycznych, logicznych i innych kodowanych w poleceniach;

Kontrola przepływu informacji pomiędzy rejestrami a pamięcią główną, pomiędzy urządzeniami wejścia/wyjścia;

Przetwarzanie sygnałów z urządzeń wejścia/wyjścia, w tym realizacja przerwań z tych urządzeń;

Zarządzanie i koordynacja pracy głównych jednostek MP.


Istnieje kilka podejść do klasyfikacji mikroprocesorów według typu architektury. Istnieją zatem MP o architekturze CISC (Complete Order Set Computer), charakteryzującej się pełnym zestawem instrukcji, oraz o architekturze RISC (Reduce Order Set Computer), która definiuje system ze zredukowanym zestawem poleceń tego samego formatu, wykonywanymi w jeden cykl zegara MP.

Definiując głębię bitową jako główną cechę MP, wyróżnia się następujące typy architektury MP:

Ze stałą głębią bitową i listą poleceń (jednoukładowy);

Z możliwością rozbudowy (sekcja) i sterowaniem mikroprogramowym.

Analizując przestrzenie adresowe programów i danych, wyznacza się MP o architekturze von Neumanna (pamięć programu i pamięć danych znajdują się w tej samej przestrzeni i nie ma znaków wskazujących rodzaj informacji w komórce pamięci) oraz MP o architekturze Harvarda Architektura laboratoryjna (pamięć programu i pamięć danych są oddzielone, mają własne przestrzenie adresowe i sposoby dostępu do nich).

Rozważmy bardziej szczegółowo główne typy rozwiązań architektonicznych, podkreślając związek z metodami adresowania pamięci.

1. Architektura rejestru jest określona przez obecność wystarczająco dużego pliku rejestru wewnątrz MP. Instrukcje mają dostęp do operandów znajdujących się na jednym z dwóch nośników pamięci: pamięci RAM lub rejestrach. Rozmiar rejestru jest zwykle stały i odpowiada rozmiarowi słowa fizycznie zaimplementowanego w pamięci RAM. Dostęp do dowolnego rejestru można uzyskać bezpośrednio, ponieważ rejestry są reprezentowane jako tablica elementów pamięci – plik rejestru. To typowe działania arytmetyczne tylko w rejestrze, a polecenie zawiera dwa operandy (oba w rejestrze lub jeden operand w rejestrze, a drugi w RAM).

DO ten typ architektura obejmuje mikroprocesor firmy Zilog. Procesor Z80, pomysł Zilog, oprócz rozszerzonego systemu instrukcji, jednej mocy znamionowej i możliwości wykonywania programów napisanych dla i8080, miał zalety architektoniczne.

Ryż. 3. Mikroprocesor Z80 firmy Zilog.

Oprócz głównego zestawu RON, w krysztale zaimplementowano drugi zestaw podobnych rejestrów. To znacznie uprościło pracę przy wywoływaniu podprogramów lub procedur obsługi przerwań, ponieważ programista mógł zastosować dla nich alternatywny zestaw rejestrów, unikając przechowywania zawartości RON dla programu głównego na stosie za pomocą operacji PUSH. Dodatkowo w systemie rozkazowym uwzględniono szereg instrukcji specjalnych, skupionych na przetwarzaniu poszczególnych bitów, a dla wsparcia dynamicznej regeneracji pamięci wprowadzono do obwodu procesora odpowiedni sprzęt. Z80 był stosowany w maszynach Sinclair ZX, Sinclair Spectrum, Tandy TRS80.

Ostateczną opcją jest architektura z adresowaniem poprzez akumulatory (mniejszy zestaw poleceń).

MP Motoroli miał szereg znaczących zalet. Po pierwsze kryształ MC6800 wymagał do działania jednej mocy znamionowej, a system poleceń okazał się dla programisty bardzo przejrzysty. Architektura MP miała również wiele funkcji.

Rysunek 4. Mikroprocesor MC6800 firmy Motorola.

Mikroprocesor MC 6800 zawierał dwie baterie, a wynik operacji ALU można było umieścić w dowolnej z nich. Ale najcenniejszą cechą struktury MC 6800 było automatyczne zapisywanie zawartości wszystkich rejestrów procesora na stosie podczas przetwarzania przerwań (Z80 potrzebował do tego kilku poleceń PUSH). Procedura przywracania RON ze stosu została również wykonana sprzętowo.

2. Architektura stosu umożliwia utworzenie pola pamięci o uporządkowanej kolejności zapisywania i odtwarzania informacji.

Ogólnie rzecz biorąc, polecenia są domyślnie adresowane do elementu stosu na górze stosu lub do dwóch górnych elementów stosu.

3. Architektura MP, skupiona na pamięci RAM (typ pamięci do pamięci), zapewnia wysoka prędkość pracy i dużej pojemności informacyjnej rejestrów roboczych i stosu, gdy są one zorganizowane w pamięci RAM.

Ten typ architektury nie definiuje wyraźnie akumulatora, rejestrów ogólnego przeznaczenia ani stosu; Wszystkie operandy instrukcji adresowane są do obszaru pamięci głównej.

Z punktu widzenia znaczenia dla użytkownika-programisty architektura jest ogólnie rozumiana jako zbiór następujących komponentów i cech:

Rozmiar bitowy adresów i danych;

Skład, nazwy i przeznaczenie rejestrów dostępnych programowo;

Formaty i systemy dowodzenia;

Tryby adresowania pamięci;

Metody maszynowej reprezentacji różnych typów danych;

Struktury przestrzeni adresowej;

Metoda adresowania urządzenia zewnętrzne oraz środki do wykonywania operacji wejścia/wyjścia;

Klasy przerwań, cechy inicjowania i przetwarzania przerwań.

2. Urządzenie sterujące

Kody operacji poleceń programu, odbierane przez część sterującą mikroprocesora, odszyfrowywane i konwertowane w nim, dostarczają informacji o tym, jakie operacje należy wykonać, gdzie dane znajdują się w pamięci, gdzie należy wysłać wynik i gdzie dalej znajduje się polecenie do wykonania.

Urządzenie sterujące posiada wystarczające środki, aby po odebraniu i zinterpretowaniu informacji otrzymanych w poleceniu zapewnić przełączenie (aktywację) wszystkich wymaganych części funkcjonalnych maszyny, a także dostarczyć do nich dane i dostrzec uzyskane wyniki. To właśnie zadziałanie, czyli zmiana stanu binarnych elementów logicznych na przeciwny, pozwala poprzez bramki przełączające na wykonanie elementarnych operacji logicznych i arytmetycznych, a także przeniesienie wymaganych operandów do części funkcjonalnych mikrokomputera.

Urządzenie sterujące, w ściśle określonej kolejności w zegarowych i cyklicznych przedziałach czasu pracy mikroprocesora (cykl to minimalny przedział działania, w którym wykonywana jest jedna elementarna czynność; cykl to przedział czasu, w którym wykonywana jest jedna operacja maszyny) wykonuje: polecenie wybór; interpretowanie go w celu analizy formatu, charakterystyki usługi i obliczenia adresu operandu (operandów); ustalenie nazewnictwa i sekwencji czasowej wszystkich sygnałów kontroli funkcjonalnej; generowanie impulsów sterujących i ich przesyłanie do szyn sterujących części funkcjonalnych mikrokomputera i zaworów pomiędzy nimi; analizowanie wyniku operacji i zmiana jego stanu w celu ustalenia lokalizacji (adresu) kolejnego polecenia.


Mikroprocesory wykorzystują dwie metody generowania zestawu funkcjonalnych sygnałów sterujących: oprogramowanie i mikroprogram.

Wykonywanie operacji w maszynie sprowadza się do elementarnych przekształceń informacji (przenoszenie informacji pomiędzy węzłami w blokach, przesuwanie informacji w węzłach, logiczne operacje bitowe, sprawdzanie warunków itp.) w elementach logicznych, węzłach i blokach pod wpływem sygnałów sterowania funkcjonalnego zarządzanie blokami (urządzeniami). Elementarne przekształcenia, których nie da się rozłożyć na prostsze, wykonywane są w ciągu jednego cyklu zegarowego sygnałów synchronizacji i nazywane są mikrooperacjami.

W urządzeniach sterujących sprzętem (obwodem) każda operacja ma swój własny zestaw obwodów logicznych, które generują określone sygnały funkcjonalne do wykonywania mikrooperacji w pewne momenty czas. Dzięki tej metodzie konstruowania urządzenia sterującego realizacja mikrooperacji odbywa się poprzez połączone ze sobą obwody logiczne, dlatego komputer ze sprzętowym urządzeniem sterującym nazywany jest komputerem ze sztywną logiką sterowania. Pojęcie to odnosi się do utrwalenia systemu dowodzenia w strukturze połączeń komputerowych i oznacza praktyczną niemożność jakichkolwiek zmian w komputerowym systemie dowodzenia po jego wytworzeniu.

Gdy urządzenie sterujące jest realizowane mikroprogramowo, do tego ostatniego wprowadzana jest pamięć, której każdy bit kodu wyjściowego określa pojawienie się określonego funkcjonalnego sygnału sterującego. Dlatego każdej mikrooperacji przypisany jest własny kod informacyjny - mikrokomenda. Zestaw mikropoleceń i kolejność ich wykonywania zapewniają wykonanie każdej złożonej operacji. Zbiór mikrooperacji nazywany jest mikroprogramami. Metoda sterowania operacjami poprzez sekwencyjne odczytywanie i interpretowanie mikropoleceń z pamięci (najczęściej stosowane są szybkie programowalne w postaci pamięci mikroprogramu) matryce logiczne), a także wykorzystanie kodów mikrorozkazów do generowania funkcjonalnych sygnałów sterujących, nazywane jest mikroprogramem, a mikrokomputery z tą metodą sterowania nazywane są mikroprogramami lub z przechowywaną (elastyczną) logiką sterującą.

Mikroprogramy podlegają wymaganiom dotyczącym kompletności funkcjonalnej i minimalizmu. Pierwsze wymaganie jest konieczne, aby zapewnić możliwość tworzenia mikroprogramów dla dowolnych operacji maszynowych, drugie wiąże się z chęcią zmniejszenia ilości wykorzystywanego sprzętu. Uwzględnienie współczynnika szybkości prowadzi do ekspansji mikroprogramów, ponieważ komplikacja tego ostatniego umożliwia skrócenie czasu wykonywania poleceń programu.

Konwersja informacji odbywa się w uniwersalnej jednostce arytmetyczno-logicznej mikroprocesora. Zwykle jest zbudowany w oparciu o kombinacyjne układy logiczne.

Aby przyspieszyć wykonanie niektórych operacji, wprowadza się dodatkowe specjalne jednostki operacyjne (na przykład przesuwniki cykliczne). Dodatkowo do zestawu mikroprocesorowego (MPC) LSI wprowadzane są wyspecjalizowane jednostki operacyjne ekspanderów arytmetycznych.

Możliwości operacyjne mikroprocesora można rozszerzyć poprzez zwiększenie liczby rejestrów. Jeżeli w buforze rejestru nie ma przypisanych funkcji rejestrowych, wówczas można je wykorzystać zarówno do przechowywania danych, jak i do przechowywania adresów. Takie rejestry mikroprocesora nazywane są rejestrami ogólnego przeznaczenia (GPR). W miarę rozwoju technologii faktycznie zaczęto produkować 16, 32 lub więcej rejestrów w mikroprocesorze.

Ogólnie rzecz biorąc, zasada sterowania mikroprogramem (PMC) obejmuje następujące elementy:

1) każda operacja realizowana przez urządzenie jest ciągiem elementarnych działań – mikrooperacji;

2) warunki logiczne służą do kontrolowania kolejności mikrooperacji;

3) proces wykonywania operacji w urządzeniu opisany jest w postaci algorytmu, przedstawionego w postaci mikrooperacji i warunków logicznych, zwanego mikroprogramem;

4) oprogramowanie sprzętowe służy jako forma reprezentacji funkcji urządzenia, na podstawie której określa się strukturę i kolejność działania urządzenia w czasie.

PMU zapewnia elastyczność układu mikroprocesorowego i pozwala na orientację problemową mikro- i minikomputerów.

4. Tryby adresowania

Aby współdziałać z różnymi modułami, komputer musi posiadać środki umożliwiające identyfikację komórek pamięci zewnętrznej, komórek pamięci wewnętrznej, rejestrów MP i rejestrów urządzeń wejścia/wyjścia. Dlatego każdej z komórek pamięci przypisany jest adres, tj. jednoznaczna kombinacja bitów. Liczba bitów określa liczbę identyfikowanych komórek. Zazwyczaj komputer ma różne przestrzenie adresowe dla pamięci i rejestrów MP, a czasami - oddzielne przestrzenie adresowe dla rejestrów urządzeń wejścia/wyjścia i pamięci wewnętrznej. Ponadto pamięć przechowuje zarówno dane, jak i instrukcje. Dlatego dla komputerów opracowano wiele sposobów dostępu do pamięci, zwanych trybami adresowania.

Tryb adresowania pamięci to procedura lub schemat konwersji informacji adresowych operandu na jego adres wykonania.

Wszystkie metody adresowania pamięci można podzielić na:

1) bezpośredni, gdy adres wykonawczy jest pobierany bezpośrednio z polecenia lub obliczany na podstawie wartości określonej w poleceniu i zawartości dowolnego rejestru (adresowanie bezpośrednie, rejestr, baza, indeks itp.);

2) pośrednie, co zakłada, że ​​polecenie zawiera wartość adresu pośredniego, tj. adresy komórki pamięci, w której znajduje się ostateczny adres wykonania (adresowanie pośrednie).

Każdy mikrokomputer implementuje tylko niektóre tryby adresowania, których użycie z reguły zależy od architektury mikrokomputera.

Wniosek

Liczba komputerów osobistych zarówno na świecie, jak i zwłaszcza w Rosji, szybko rośnie; Rynek komputerów osobistych jest najbardziej obiecujący i dochodowy spośród innych rynków komputerowych. W Ameryce Północnej i Europie Zachodniej odsetek gospodarstw domowych posiadających komputer osobisty zbliża się do 30. Bez wątpienia w dzisiejszych czasach każdy powinien poznać i zrozumieć obsługę komputera nie tylko teoretycznie, ale co najważniejsze, praktycznie.

Analiza nowych rozwiązań budowy struktury komputera pokazuje, że podstawą każdego komputera jest procesor, pamięć oraz urządzenia wejściowe i wyjściowe. Rozważmy najpopularniejszy schemat strukturalny, który leży u podstaw najpopularniejszych modeli komputerów, w szczególności osobistych.

Nowoczesny komputer można w większości przypadków przedstawić za pomocą uproszczonego schematu blokowego, w którym rozróżnia się części centralne i peryferyjne. Część środkowa zawiera procesor i pamięć wewnętrzną, część peryferyjna obejmuje urządzenia wejścia-wyjścia i pamięć zewnętrzna. Oparte na uproszczeniu Schemat blokowy Omówiono zasady trunkingu, modułowości i mikroprogramowania.

Nie należy mieć nadziei, że rozwój technologii komputerowej w jakiś sposób radykalnie zmieni naszą egzystencję. Komputer to nie więcej (ale nie mniej) niż jeden z potężnych motorów postępu (takich jak energetyka, metalurgia, chemia, inżynieria mechaniczna), który na swoich „żelaznych ramionach” przejmuje tak ważną funkcję, jak rutyna przetwarzania informacji. Ta rutyna zawsze i wszędzie towarzyszy najwyższym wzlotom ludzkiej myśli. To właśnie w tej rutynie bardzo często toną śmiałe decyzje niedostępne dla komputera. Dlatego tak ważne jest „przerzucenie” rutynowych operacji na komputer, aby uwolnić człowieka dla jego prawdziwego celu – kreatywności.

Przyszłość technologii mikroprocesorowej wiąże się dziś z dwoma nowymi kierunkami – nanotechnologią i kwantową systemy komputerowe. Badania te, wciąż w większości teoretyczne, dotyczą wykorzystania cząsteczek, a nawet cząstek subatomowych jako elementów składowych obwodów logicznych: podstawą obliczeń nie powinny być obwody elektryczne, jak obecnie, ale położenie poszczególnych atomów czy kierunek obrotu elektronów. Jeśli powstaną „mikroskopijne” komputery, zostaną one ominięte nowoczesne samochody na wiele sposobów.

Bibliografia

1. Balashov E.P., Grigoriev V.L., Petrov G.A. Mikro- i minikomputery. – Petersburg: Energoatomizdat, 2004.

2. Eremin E.A. Popularne wykłady na temat projektowania komputerów. – Petersburg: BHV-Petersburg, 2003.

3. Ibrahim K.F. Urządzenie komputerowe i konfiguracja / za. z angielskiego – M.: Binom, 2004..

4. Kosarev V.P., Surkov E.M., Bakova I.V. Techniczne środki systemów sterowania. - M.: Wydawnictwo „Finanse i Statystyka”, 2006.

5. Leontyev V.P. Najnowsza encyklopedia komputera osobistego 2003. – M.: OLMA-PRESS, 2004.

6. Stallings W. Organizacja strukturalna i architektura systemów komputerowych. – M.: Williams, 2002.

7. Wynn L. Roche. Biblia o modernizacji komputera osobistego. – M.: Tivali-Style, 2005.

8. Figurnov V.E. IBM PC dla użytkownika, wydanie 6, poprawione i rozszerzone. – M.: INFRA-M, 1996.