Mikroprocesor - budowa, działanie

MikroprocesorMikroprocesor jest to układ zdolny wykonywać operacje arytmetyczno - logiczne w sposób programowany. Wykonany jest w technologii półprzewodnikowej o dużym stopniu scalenia. Mikroprocesor zawiera następujące, podstawowe zespoły funkcjonalne: układ arytmetyczno, logiczny ALU (Arithmetic Logic Unit), zespół rejestrów ogólnego przeznaczenia, układ sterowania z rejestrem rozkazów i dekoderem rozkazów

Mikroprocesor to na przykład Intel 8086, albo Intel 8088. Mikroprocesory Intela 8088 i 8086 różnią się w zasadzie jedynie szerokością magistrali danych.

Z punktu widzenia programisty mikroprocesory Intel 8086 i Intel 8088 są identyczne, choć różnią się sprzętowo. Intel 8086 ma magistralę 16 bitową, 8088 ma tylko ośmiobitową.

Oznacza to, iż 8086 może przekazywać dane do pamięci operacyjnej po 16 bitów (2 bajty), natomiast 8088 może wymieniać dane bajt po bajcie. Dzięki temu Intel 8086 ma, przy identycznej jak Intel 8088 częstotliwość zegara, sprawność wyższą o około 35 procent.

Działanie mikroprocesora

Mikroprocesory 8086 i 8088 składają zasadniczo się z dwóch części. Dwóch "podprocesorów", które pracują w dużym stopniu od siebie niezależnie. Są to: układ wykonawczy EU (Execution Unit), który rozpoznaje przekazywane przez BIU rozkazy i steruje ich wykonaniem, układ sterowania magistrali BIU (Interface Unit), który organizuje współpracę z otoczeniem, czyli z pamięcią i układami wejścia - wyjścia komputera. Obydwa układy współpracują ze sobą w sposób asynchroniczny. Oznacza to, że w momencie gdy jeden układ pobiera rozkaz, drugi go wykonuje. BIU wyznacza adresy fizyczne odwołań do pamięci oraz steruje wprowadzeniem kodów argumentów kolejnych rozkazów, aż do zapełnienia kolejki rozkazów.

W tym samym czasie układ wykonawczy EU zajęty jest dekodowaniem i wykonywaniem pobranego z kolejki rozkazu. Gdy EU rozpozna konieczność wykonania dodatkowej operacji odczytu, lub zapisu danych, wystawia odpowiednie zlecenie dla BIU. BIU realizuje je natychmiast po zakończeniu aktualnie wykonywanego cyklu rozkazu. W mikroprocesorze 8086 przeciętny czas wykonania rozkazów jest dłuższy niż cykl wprowadzania kodu. Gdy w programie zdarzy się skok od głównego ciągu rozkazów programu, wówczas kolejka rozkazów jest zapisywana od początku. Układ EU musi zaczekać do czasu wprowadzenia kodu pierwszej operacji z nowego obszaru. Podobnie, odwołanie do danej, którą należy odczytać z pamięci, wstrzymuje pracę EU do momentu, aż BIU zrealizuje zlecenie. Może być i tak, że układ BIU jest w stanie pasywnym, nie mając żadnych zleceń od EU.

Bezpośredni dostęp do pamięci - DMA

Unikając zbytniego obciążenia mikroprocesora można, przesyłać dane do i z pamięci komputera bez udziału mikroprocesora. Operacja ta nosi nazwę bezpośredniego dostępu do pamięci lub DMA (Direct Memory Access) i jest obsługiwana przez układ znany jako 8237A lub sterownik DMA. Głównym zadaniem sterownika jest umożliwienie czytania i zapisywania danych, przez napęd dysku, bez zatrudniania mikroprocesora. Ponieważ operacja wejścia lub wyjścia dla dysku jest wolna w porównaniu do prędkości procesora, DMA może znacznie przyspieszyć działanie komputera. W opisach dotyczących mikro procesora wiele razy przewiną się pojęcia rozkaz i rejestr. Z punktu widzenia programisty są to najważniejsze pojęcia.

Program

Aby komputer (procesor plus układy we-wy) mógł wykonać pewne zadanie, w jego pamięci musi istnieć odpowiedni program. By zapisać program w języku Assembler, wówczas należy najpierw znać operacje, jakie jest w stanie wykonać mikroprocesor. Każdy mikroprocesor ma listę możliwych do wykonania rozkazów. Wewnątrz mikroprocesora 8086/88 jest programowo dostępnych 14 rejestrów, poprzez które mikroprocesor ma dostęp do ponad miliona bajtów pamięci i do 65536 portów wejścia/wyjścia. Rejestry tworzą obszar o wielkości 28 bajtów. Mają one literowe oznaczenia i służą do tymczasowego przechowywania danych. Rejestry, w sensie fizycznym, są to przerzutniki elektroniczne, układy tranzystorowe mogące łatwo znajdować się w stanie wysokim i niskim (High (H), Low (L)), a zatem służyć mogą i służą do zapamiętywania liczb binarnych 0 i 1.

Komentarze