Struktura systemu komputerowego


Struktura systemu komputerowego
Maszyna von Neumanna (ang. von Neumann machine) - koncepcja komputera,
utrzymującego w pamięci zarówno program jak i dane; możliwość wymiany programu i
danych na inne; zarówno program, jak i dane są przechowywane w pamięci w kodzie
dwójkowym, a ich przetwarzanie odbywa się w arytmometrze; rozkazy są podzielone na dwie
części: polecenie i adres argumentu (argumentów).
Operacje sprzętowe w komputerze:
odczyt z pamięci programu do procesora,
odczyt z pamięci danych do procesora,
zapis danych z procesora do pamięci danych,
odczyt z układów wejścia-wyjścia do procesora,
zapis danych z procesora do układów wejścia-wyjścia,
bezpośredni odczyt z pamięci danych przez układy wejścia-wyjścia (ang. direct memory access,
DMA),
bezpośredni zapis do pamięci danych przez układy wejścia-wyjścia (ang. direct memory access,
DMA),
operacje na rejestrach wewnętrznych procesora,
obsługa przerwań.
Elementy składowe komputera:
Szyna, magistrala (ang. bus) - wiązka przewodów lub zespół ścieżek na płytce obwodu
drukowanego, do wzajemnej komunikacji pomiędzy elementami komputera. W definicji
szyny, prócz samych przewodów sygnałowych, mieści się ściśle zdefiniowany protokół
(standard) precyzujący zbiór komunikatów. Przykłady standardów szyn: ISA, PCI, SCSI,
PCMCIA.
Jednostka centralna (ang. central processing unit, CPU) - element komputera, który pobiera
i wykonuje rozkazy. Składa się z jednostki arytmetyczno-logicznej, jednostki sterującej,
rejestrów, dekodera rozkazów. W przypadku komputerów jednoprocesorowych oznacza po
prostu procesor. Natomiast, jeśli mówimy o komputerze wieloprocesorowym, CPU oznacza
wszystkie procesory lub procesor nadrzędny.
Pamięć danych (ang. data memory)  pamięć do zapisu i odczytu przeznaczona do
przechowywania danych.
Pamięć programu (ang. program memory)  pamięć do odczytu przeznaczona do
przechowywania kodu programu.
Układ wejścia-wyjścia (ang. input-output circuit, I/O) - element komputera, służący do
wymiany informacji między komputerem a urządzeniem zewnętrznym.
Elementy składowe procesora:
Jednostka arytmetyczno-logiczna zwana również arytmometrem (ang. Arithmetic Logical
Unit), część procesora wykonująca podstawowe operacje arytmetyczne i logiczne, pobierającą
argumenty działań z rejestrów procesora lub z pamięci oraz określająca znaczniki w rejestrze
stanu procesora.
Typowe operacje wykonywane przez ALU:
suma logiczna OR (funkcja alternatywy),
iloczyn logiczny AND (funkcja koniunkcji),
różnica symetryczna EX-OR (funkcja różnowartościowości),
negacja logiczna NOT,
dodawanie i odejmowanie arytmetyczne liczb w naturalnym kodzie dwójkowym (NKB) i liczb
dziesiętnych w kodzie BCD (ang. binary coded decimal),
mnożenie i dzielenie arytmetyczne liczb w naturalnym kodzie dwójkowym (NKB) i liczb dziesiętnych
(BCD),
porównywanie logiczne dwóch sekwencji bitów,
porównywanie arytmetyczne dwóch liczb,
przesunięcia i rotacje,
zerowanie, ustawianie, negowanie i testowanie bitów.
Typowe znaczniki (flagi) ustawiane w wyniku operacji:
zera (ang. zero, Z),
znaku (ang. sign, S),
parzystości (ang. parity, P),
przepełnienia (ang. overflow, OV),
przeniesienia (ang. carry, C),
przeniesienia połówkowego (ang. auxiliary carry, AC).
Jednostka sterująca (ang. control unit) - część procesora, która zapewnia przebieg operacji
zdefiniowanej kodem rozkazu, steruje przenoszeniem danych wewnątrz procesora oraz
wymianą danych i sygnałów sterujących poprzez magistrale zewnętrzne.
Dekoder rozkazu (ang. instruction decoder)  dekoder tłumaczący kod rozkazu na
mikrorozkazy realizowane przez układy wewnętrzne procesora.
Rejestr (ang. register)  część procesora przechowująca dane lub adres.
Podstawowe rejestry procesora:
akumulator (ang. accumulator, A, ACC),
rejestry robocze (ang. general purpose registers),
licznik rozkazów (ang. program counter, PC),
wskaznik stosu (ang. stack pointer, SP),
rejestr stanu (wskazników, flag) (ang. flag register, F, program status word, PSW),
rejestr rozkazów (ang. instruction register, IR),
pamięć podręczna (ang. cache memory) - jako zbiór rejestrów,
rejestry buforowe danych i adresu (ang. buffer registers).
Cykl pracy komputera:
Cykl rozkazowy (ang. instruction cycle) - ciąg czynności, które wykonuje układ sterowania
jednostki centralnej w czasie realizowania jednego rozkazu. Na cykl rozkazowy składają się:
jednakowa dla wszystkich rozkazów faza pobrania, w której pobierany jest kod operacji z
komórki pamięci o adresie zapisanym w liczniku rozkazów (zawartość licznika zwiększa się,
a kod operacji jest dekodowany) oraz faza wykonania, w której następuje realizacja operacji
wskazanej przez rozkaz. Jeżeli w treści wykonywanego rozkazu jest adres lub argument
bezpośredni, to w fazie wykonywania może nastąpić kolejne zwiększenie zawartości licznika
rozkazów. Na cykl rozkazowy składają się jeden lub kilka cykli maszynowych.
Cykl maszynowy (ang. machine cycle) - cykl, w którym następuje przesłanie danych (odczyt lub
zapis) między:
- jednostką centralną a pamięcią lub układem wejścia wyjścia, - rejestrami procesora.
W zależności od rodzaju przesłania rozróżnia się cykl maszynowy: pobrania kodu operacji,
odczytu i zapisu pamięci/rejestrów, odczytu i zapisu wejścia-wyjścia, przyjęcia przerwania.
Jeden cykl maszynowy wykonywany jest w czasie jednego lub kilku/kilkunastu (w zależności
od procesora i rodzaju cyklu) taktów zegara systemowego.
Zegar systemowy (ang. system clock)  generator impulsów prostokątnych, taktuje procesor,
układy pamięciowe i układy wejścia-wyjścia.
Cykl pamięci (ang. memory cycle) - ciąg operacji składających się na jeden dostęp (odczyt
lub zapis) do pamięci. W każdym cyklu maszynowym następuje wysłanie:
adresu na magistralę adresową,
danych na magistralę danych,
sygnałów sterujących, informujących o rodzaju cyklu, na magistralę sterującą.
Układy pamięci lub wejścia - wyjścia powinny w tym czasie wykonać odpowiednie czynności
- zapisać dane lub wysłać je na magistralę danych. Cykl pamięci często jest utożsamiany z
cyklem maszynowym.
Licznik rozkazów (ang. program counter)  rejestr procesora; adresuje pamięć programu,
przechowując adres, spod którego należy pobrać kod następnego rozkazu lub argument
bieżącego rozkazu (np. rozkaz MOVC A,@A+PC z listy procesora Intel 8051).
Przykład:
Rozkazy Znaczenie
MOV R2, #n; R2 n
MOV [R1],[R3+]; wykonaj n-razy:
{
[R1] [R3]
R1 R1 + 1
R3 R3 + 1
}
R1, R2, R3  rejestry robocze,
[Rx]  adres komórki pamięci zapisanej w Rx.
Wskaznik stosu (ang. stack pointer)  rejestr procesora; adresuje pamięć o organizacji typu
 stos (ang. LIFO  last in first out), wskazując tzw. wierzchołek stosu, czyli adres ostatnio
zapisanych danych. Wykorzystywany jest do:
tymczasowego zapisu danych:
ż przechowywanych w rejestrach (rozkazy połóż na stos, zdejmij ze stosu),
ż w fazie wykonywania niektórych rozkazów przez mikroprocesor (np. dodawanie danych
wielobajtowych);
zapisu zawartości licznika rozkazów PC podczas wykonywania rozkazu wywoływania
podprogramu lub obsługi przerwania. Adres przechowywany w PC zostaje zapamiętany na
stosie w celu umożliwienia powrotu do programu głównego po zakończeniu wykonywania
podprogramu;
przechowywania danych wyrażanych za pomocą notacji przyrostkowej, zwanej również
odwrotną notacją polską.
Rozkazy procesora  typy i przetwarzanie
Rozkazy maszynowe są przetwarzane przez procesor jako dane binarne (zerojedynkowe).
Każdy rozkaz posiada unikatowy kod operacji oraz opcjonalnie dodatkowe elementy:
przedrostek (ang. prefix)  warunkuje sposób wykonania rozkazu,
kod operacji (ang. opcode)  określa operację, jaka ma być przeprowadzona;
przyrostek (ang. postfix)  określa rodzaj i typ argumentów,
odniesienie do argumentów zródłowych (ang. source), którymi mogą być: dane
bezpośrednie, adresy pamięci lub układów we-wy, rejestry procesora;
odniesienie do argumentów przeznaczenia (ang. destination) lub wyniku (ang. result),
którymi mogą być: adresy pamięci lub układów we-wy, rejestry procesora;
odniesienie do następnego rozkazu  określa adres następnego rozkazu, który będzie
wykonany po rozkazie bieżącym.
Przykład 1:
NOP; nic nie rób
NOP  opcode zapisany w języku symbolicznym, tzw. mnemonik,
Przykład 2:
ADD A , R1; A A + R1
ADD  opcode,
A, R1  argumenty zródłowe, A  argument przeznaczenia.
Przykład 3:
MOVX A , @R1; A [R1]
MOV  opcode, X  przyrostek, oznacza zewnętrzną pamięć lub układy wejścia-wyjścia,
[R1]  argument zródłowy, A  argument przeznaczenia.
Przykład 4:
LJMP adres; PC adres
L  przyrostek (ang. long)
JMP  opcode,
adres  adres następnego rozkazu.
Typowe rodzaje operacji wykonywane przez procesor:
transferu (przesłań) danych,
arytmetyczne,
logiczne,
konwersji (translacji),
wejścia-wyjścia,
sterowania systemowego,
przekazywania sterowania.
Opis skrótów:
az  argument zródłowy,
ad  argument docelowy (przeznaczenia),
azd  argument jednocześnie zródłowy i docelowy.
Rodzaj Nazwa
Opis
operacji operacji
Move skopiuj az ą ad
Store zapisz az w pamięci
Load odczytaj ad z pamięci
Transfer Exchange azd1 ą azd2
danych Clear wyzeruj azd (0...0b)
Set ustaw azd (1...1b)
Push zachowaj az na stosie
Pop załaduj ad ze stosu
Add azd azd + az
Subtract azd azd  az
Multiply ad1...2 az * az
Divide ad1...2 az / az
Arytmetyczne Absolute azd |azd|
Negate azd - azd
Increment azd azd + 1
Decrement azd azd  1
Compare az1  az2, (flagi OV, Z, C, S)
AND
azd azd Ł az
OR
azd azd az
NOT
azd neguj azd
EX-OR
azd azd az
Logiczne Test
az1 Ł az2, (flaga Z)
Compare
az1  az2, (flaga Z)
przesuń w prawo/lewo azd
Shift
obracaj w prawo/lewo azd
Rotate
Translate azdątabela przyporząd.ąazd
Konwersji
Convert zmiana postaci azd na inną
Input odczytaj az z układu we-wy
Wejścia- Output zapisz ad do układu we-wy
wyjścia Start I/O zapisz kod do układu I/O
Test I/O odczytaj kod stanu z układu I/O
Sterowania Set control bits ustaw flagi ogólnego przeznaczenia i systemowe
systemowego Clear control bits zeruj flagi ogólnego przeznaczenia i systemowe
Jump (branch) skocz pod adres ad,
Jump conditional czyli PC ad
skocz pod adres ad, jeśli warunek spełniony/nie
Jump to spełniony
Subroutine
Return
skocz do podprogramu, zachowaj na stosie adres
Execute powrotu
wróć z podprogramu (pobierz ze stosu adres
Przekazywania Skip powrotu)
sterowania Skip conditional pobierz argument i wykonaj jak rozkaz, PC bez
Halt zmian
pomiń następny rozkaz
Wait (hold) pomiń następny rozkaz, jeśli warunek spełniony/nie
spełniony
No operation zatrzymaj wykonywanie programu
zatrzymaj wykonywanie programu a następnie
wznów po spełnieniu warunku
nie wykonuj żadnego działania


Wyszukiwarka

Podobne podstrony:
SO 02 Struktury Systemow Komputerowych
mikronapedy w systemach komputerowych
STRUKTURA SYSTEMOW INFORMACYJNYCH STREFY SCHENGEN
Bezpieczeństwo systemňw komputerowych praca dyplomowa
Bezpieczeństwo systemów komputerowych
06 struktury systemow logistycznych
10 System komputerowy, rodzaje, jednostki pamięciid113
Systemy komputerowe
Systemy komputerowe
Administrator systemow komputerowych!3102
informatyka system komputerowy w firmie usługowej
Analityk systemów komputerowych!3103
Administrowanie systemami komputerowymi
Bezpieczeństwo systemów komputerowych 2
Podstawowe pojęcia dotyczące systemu komputerowego

więcej podobnych podstron