7126


13. Procesor

Procesor jest jednostką centralną. Zajmuje się przetwarzaniem informacji
i dlatego czasami nazywany jest „sercem” albo „mózgiem” komputera. Zawiera on układ arytmetyczno-logiczny przeznaczony do wykonywania operacji arytmetycznych (np. dodawania) oraz logicznych (porównywania liczb) i układ sterowania zawiadujący pracą procesora i innych elementów komputera. Ma on także układy służące do pamiętania i przetwarzania informacji tzw. rejestry.

Każdy procesor ma co najmniej dwa rejestry. Pierwszy zwany „licznikiem rozkazów” (ang. Program Counter), służy do pobierania z pamięci kolejnych instrukcji programu. Drugi - „akumulator” - jest używany do przechowywania danej, na której obecnie jest wykonywana operacja lub wyniku operacji. Współczesne mikroprocesory mają kilkanaście różnych rejestrów. Procesor może wykonywać kilkadziesiąt, a nawet kilkaset ustalonych operacji. Operacje te są bardzo proste, dlatego każde zadanie musi być najpierw podzielone na elementarne instrukcje. Ciąg takich operacji nosi nazwę programu w języku maszynowym lub programu binarnego, a same operacje nazywa się rozkazami maszynowymi.

13.1. Mikroprocesor

Mikroprocesor jest skomplikowanym automatem, który może wykonywać kilkaset czynności - tzn. rozkazów maszynowych. Każdy rozkaz ma własny kod, liczbę zapisywaną w jednym lub kilku bajtach. Procesor pobiera z pamięci kolejne bajty, traktując je jako rozkazy lub dane i wykonuje zaprogramowane operacje. Mikroprocesor pracuje w takt impulsów zegarowych. Zegarem nazwano układ , który wytwarza sygnał w formie impulsów prostokątnych.

Rys.13.1. Impuls zegarowy

Od częstotliwości sygnału zegarowego zależy szybkość pracy procesora, na ogół im większa częstotliwość, tym szybsza praca. Wszystkie mikroprocesory zawierają podobne elementy:

Podstawowymi rejestrami, które znajdują się w każdym mikroprocesorze są:

Procesor zawiera jeszcze kilka lub kilkanaście rejestrów używanych w czasie wykonywania niektórych rozkazów, np. wskaźnik stosu, służący do adresowania pamięci.

0x01 graphic

Rys. 13.2. Schemat budowy mikroprocesora

13.2. Zasada działania mikroprocesora

Procesor pobiera z pamięci kod rozkazu wskazywanego przez licznik rozkazów i umieszcza go w rejestrze rozkazów. Układ sterowania dekoduje go, i na jego podstawie steruje pracą rejestrów układu arytmetyczno-logicznego oraz wewnętrznych szyn. Wykonanie instrukcji jest podzielone na kilka faz. Pierwszą fazą jest pobranie z pamięci kodu. Następnie, jeśli dany rozkaz tego wymaga, pobiera z pamięci lub rejestrów dane tzw. argumenty. Wreszcie wykonuje operację i wynik umieszcza w jednym z rejestrów procesora lub w pamięci. Zawartość licznika rozkazów jest zwiększana, mikroprocesor pobiera z pamięci następny rozkaz programu.

Przerwanie opisanej procedury powoduje sygnał podany z urządzenia zewnętrznego albo procesora. Przerwa (ang. interupt) on wtedy wykonanie programu. Zapamiętana zostaje zawartość licznika rozkazów i rozpoczyna się wykonywanie programu obsługi przerwania. Adres tego programu jest przesyłany przez specjalny układ przerwań. Takie przerwania są wykorzystywane do współpracy z urządzeniami wejścia/wyjścia. Przerwanie może być także spowodowane wykonaniem specjalnego rozkazu maszynowego (przerwanie programowe). Adres programu obsługi przerwania jest wtedy ustalony. Przerwania programowe służą zwykle do wywoływania programów systemu operacyjnego. Po zakończeniu obsługi przerwania wznawiane jest wykonywanie przerwanego programu.

Wszystkie operacje wykonywane przez procesor synchronizowane są impulsami przychodzącymi z zegara. Jedna instrukcja jest wykonywana w czasie kilku taktów zegara. Gdy jego częstotliwość jest większa, procesor pracuje szybciej.

13.3. Rozkazy maszynowe

Rozkazy wykonywane przez mikroprocesory można podzielić na następujące grupy:

Mikroprocesory różnią się między sobą zbiorem (listą) rozkazów oraz organizacją rejestrów. Dlatego programy napisane w języku procesora jednego typu nie mogą być wykonywane przez inny procesor.

13.4. Mikroprocesory 8 i 16 bitowe

Pierwsze mikroprocesory przetwarzały dane 4 - bitowe. Obecnie stosuje się układy 8 -, 16 - , a nawet 32 - bitowe. W mikroprocesorach 8 - bitowych organizacja wewnętrzna (rejestry, arytmometr) oraz rozkazy są 8 - bitowe. Szyna danych jest także 8 - bitowa, lecz adresy 16 - bitowe, co ogranicza przestrzeń adresową do 64 kB.

Mikroprocesory 16 - bitowe mogą pamiętać i przetwarzać 2 - bajtowe słowa. Szyna danych jest zwykle także 16 - bitowa, choć produkuje się procesory z 8 - bitową szyną danych. Przestrzeń adresowa jest tu znacznie większa - od 1 do kilkunastu MB. Procesory 16 - bitowe przewyższają układy 8 - bitowe:

Przyspieszenie obliczeń w mikroprocesorach 16 - bitowych uzyskano dzięki 16 - bitowej organizacji, szybszym zegarom oraz równoczesnemu wykonywaniu niektórych faz rozkazów maszynowych.

Procesory 16 - bitowe mają także kilka wad w stosunku do 8 - bitowych:

Ponadto, zastosowanie procesorów synchronizowanych z bardzo szybkimi zegarami wymaga użycia znacznie droższych, szybszych pamięci oraz układów towarzyszących.



Wyszukiwarka