Architektura komputera opiera się na 3 kluczowych założeniach:
Procesor: jest to element elektroniczny ( układ scalony) przeznaczony do realizacji elementarnych instrukcji (operacji arytmetyczno-logicznych, przesłań i innych) na wektorach informacji cyfrowej (zwanymi danymi) wprowadzanych z jego otoczenia (pamięć, układy we/wy). Rodzaj wykonywanej operacji jest określony przez inne wektory cyfrowe zwane rozkazami i pobieranie z pamięci. Zbiór wszystkich rozkazów nazywamy listą rozkazów danego procesora. Wyniki wykonywanych operacji CPU może przesłać do swojego otoczenia (pamięć, układy we/wy). Procesory mogą się od siebie różnić między innymi architekturą (RISC albo CISC), ilością przetwarzanych jednocześnie bitów albo częstotliwością taktowania. Zadania mikroprocesora:
REJESTRY Rejestrem nazywamy układ zbudowany np. z przerzutników, służących do krótko terminowego przechowywania (pamiętania) niewielkiej ilości informacji (słów binarnych) lub do zmiany postaci informacji z równoległej na szeregową lub odwrotnie. Rejestry widzialne dla użytkownika:
Rejestr widzialny dla użytkownika jest rejestrem, do którego można odnosić się za pomocą języka maszynowego, którym posługuje się procesor.
Rejestry ogólnego przeznaczenia (robocze) mogą być przypisane przez programistę wielu funkcjom. Dowolny rejestr roboczy może zawierać argument dowolnego kodu operacji a czasami rejestry są dedykowane np. operacjom zmiennoprzecinkowym. W pewnych sytuacjach mogą być używane do funkcji adresowania. Rejestry danych mogą być używane tylko do przechowywania danych i nie można ich używać do obliczania adresów argumentów
Rejestry adresowe mogą być w pewnym stopniu uniwersalne lub mogą być przypisane określonym trybom adresowania, np. wskaźnik segmentu, wskaźnik stosu.
Rejestry kodów warunkowych służą do przechowywania kodów warunkowych ( nazywane także znacznikami stanu lub flagami).
Kody warunkowe są bitami ustalonymi sprzętowo przez procesor w wyniku operacji. Na przykład operacja arytmetyczna może dawać wynik dodatni, ujemny, zerowy, ustalany jest również kod warunkowy.
W skład rejestrów sterowania i stanu można zaliczyć:
Licznik programu (PC) zawiera zawsze adres komórki pamięci z następnym w kolejności realizacji rozkazem programu. Zawartość PC jest automatycznie zwiększana o 1 po każdorazowym przesłaniu jego zawartości na wyjście adresowe. Ilość bitów licznika rozkazów determinuje maksymalną pojemność pamięci, którą CPU może zaadresować.
Rejestr rozkazu (IR) przeznaczony jest do przechowywania rozkazu wykonywanego przez układ sterowania. Do rejestru tego wporwadzane są rozkazy kolejno po sobie w koljności ustalonej przez programistę (program).
Rejestr adresowy pamięci (MAR) przeznaczony jest do przechowywania adresu komórki pamięci, którą CPU wymienia dane. Liczba bitów rejestru PAP jest = liczbie bitów licznika adresów. Rejestr buforowy pamięci (MBR) służy do wymiany danych z pamięcią - jest połączony z magistralą danych. |
Rejestr stanu (PSW) przeznaczony jest do przechowywania wektora statusowego charakteryzującego pewne cechy wyniku wykonanej operacji arytmetycznej lub tragicznej, np. to czy wynik jest zerem, czy powstało przeniesienie lub nadmiar, czy wynik jest liczbą dodatnią czy ujemną i inne. Poszczególne bity rejestru stanu (F) mogą być testowane przez układ sterowania lub programistę.
W rejestrze PSW występują zwykle następujące pola (znaczniki):
Układ arytmetyczno - logiczny (ALU), sterowany układ elektroniczny wykonujący operacje arytmetyczne i logiczne na wektorach informacji cyfrowej. ALU jest często nazywany układem wykonawczym procesora. ALU- jest kombinacyjny, który realizuje różne funkcje w zależności od zaprogramowanej operacji, tzn. rozkazu umieszczonego w programie. ALU wykonuje działania na co najmniej dwóch wektorach informacji cyfrowej, zwanych operandami. Jeden z nich musi być w rejestrze zwanym akumulatorem ( A), drugi w rejestrze ogólnego przeznaczenia w mikroprocesorze lub w komórce pamięci. Wynik operacji zostaje zazwyczaj przekazany do akumulatora.
Operacje realizowane przez ALU różnią się w zależności od typu mikroprocesora. Najczęściej jednak ALU wykonuje następujące operacje standardowe:
Akumulator jest rejestrem, na którego zawartości wykonywane są operacje arytmetyczno-logiczne jednooperandowe, którego zawartość stanowi jedne z operandów operacji dwuoperandowych i w którym pozostaje wynik tych operacji. Jest on również odbiornikiem lub nadajnikiem dla danych przekazywanych przez układy we/wy.
UKŁAD STEROWANIA Jednostka sterująca realizuje dwa podstawowe działania:
Układ sterujący wyznacza algorytm wykonywania rozkazu (na podstawie treści rozkazu) i steruje jego wykonaniem otwierając odpowiednie drogi przepływu danych i określając działania realizowane przez układ operacyjny (ALU + zespół rejestrów)
Układy sterujące procesów zawierają więc wiele mikroprogramów (po jednym dla każdego rozkazu). Najczęściej układy sterowania budowane są jako tzw. Układy mikroprogramowane. Koncepcja takich układów polega na wykorzystaniu pamięci stałej wraz z odpowiednim układem adresowania. STOS I WSKAŹNIK STOSU Stos stanowi zespół rejestrów (komórek pamięci), z których możliwe jest odczytywanie zawartości wyłącznie w kolejności odwrotnej do kolejności zapisywania.
Wskaźnik stosu (WS) jest to rejestr, który przechowuje adres ostatnio zapisanej komórki stosu. DZIAŁANIE KOMPUTERA Podstawowym zadaniem komputera jest wykonywanie programu. Program przeznaczony jest do wykonania składa się z zestawu rozkazów przechowywanych w pamięci. Jednostka centralna realizuje pracę, wykonując rozkazy wyszczególnione w programie. Działanie mikroprocesora polega najogólniej na przemiennie realizowanych operacjach:
Wykonywanie rozkazu może zawierać kilka operacji i zależy od natury rozkazu.
Fazę pobierania i wykonywanie rozkazu nazywa się łącznie cyklem rozkazowym lub cyklem instrukcyjnym. Składa się on z kilku faz zwanych CYKLAMI MASZYNOWYMI, których liczba odpowiada liczbie dostępów do pamięci |
Cykl maszynowy - każdorazowe odwołanie się mikroprocesora do pamięci w celu odczytania rozkazu, pobrania argumentów do obliczania lub przesłania wyniku. Pierwszy cykl maszynowy w każdym cyklu rozkazowym, to cykl pobrania kod rozkazu.
Format rozkazu - rozkazy w komputerze są przechowywane w formie postaci binarnej. Zbiór wszystkich rozkazów dla mikroprocesora określamy jako lista rozkazów. Elementami rozkazu maszynowego (komputerowego) są:
TRYBY ADRESOWANIA Argumenty operacji mogą znajdować się w:
W zależności od miejsca, gdzie znajdują się argumenty, stosuje się odpowiednie rozkazy, które występują w różnych odmianach (rozkazy o różnych trybach adresowania).
Kod operacyjny|Argument ->(RAM) kod rozkazu->Argument
Kod operacyny| numer rejestru -> (blok rejestrów) Argument
Kod operacyjny|Adres argumentu -> (RAM) Argument
Kod operacyjny|Nr. Rejestru->(blok rejestru)Adres argumentu->(RAM)Argument
Kod oper.|Adres pamięci->(RAM) Adres argumentu ->Argument
ARCHITEKTURA CISC CISC - wykorzystuje złożoną listę rozkazów. Na wykonanie jednego rozkazu (insttrukcji) trzeba więcej niż jednego cyklu zegara procesora. W klasycznych komputerach istnieje możliwie uniwersalny zestaw wielu rozkazów, umożliwiający optymalizacje programów pisanych w asemblerze. Procesory CISC charakteryzują wspólne cechy: lista rozkazów) Architektura CISC to architektura mikroprocesorów, która charakteryzuje się dużym zestawem rozkazów i próbuje za pomocą jednego rozkazu wykonać jak największą liczbę zadań i nie kładąca nacisku na szybkość z jaką wykonywane być mogą poszczególne instrukcje. Instrukcje architektury CISC nie są wykonywane tak szybko, jak instrukcje architektury RISC, ale każda z nich wykonuje więcej czynności.
ARCHITEKTURA RISC -uproszczona lista rozkazów Cechy:
DZIAŁANIE JEDNOSTKI STERUJĄCEJ:
Wykonywanie programu -> Cykl rozkazowy -> A:Pobieranie-> B:Adresowanie pośrednie-> Wykonywanie Do A,B: wykonanie operacji
WYDAJNOŚĆ MIKROPROCESORA Obliczając wydajność procesora, bierzemy pod uwagę przede wszystkim czas, jaki zajmuje procesorowi wykonanie programu. Jest to czas CPU i wyraża się zależnością: Czas CPU(liczba cyklu programu(n)) x czas cyklu zegara (T)= CPI x liczba rozkazów (1) x T Gdzie CPU jest średnią liczbą cykli zegara na rozkaz. Im mniejszy jest czas CPU, tym lepsza wydajność procesora, którą możemy wyrazić szybkością wykonywania zadań:
Ponieważ 1/T = częstotliwość zegara(f) to Jeśli f jest wyrażone w MHz, a 1 w milionach rozkazów, to P wyrażają się w MIPS-ach, czyli miliony rozkazów na sekundę
Czynniki zwiększające szybkość mikroprocesora:
mniejsza liczba cykli zegarowych potrzebnych na wykonanie rozkazu itp. |
|
|