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:

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:

Typowe znaczniki (flagi) ustawiane w wyniku operacji:

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:

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:

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.

Wskaźnik 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:

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:

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 źró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 źró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:

Opis skrótów:

aź – argument źródłowy,

ad – argument docelowy (przeznaczenia),

aźd – argument jednocześnie źródłowy i docelowy.

Rodzaj operacji

Nazwa

operacji

Opis
Transfer danych

Move

Store

Load

Exchange

Clear

Set

Push

Pop

skopiuj aź ad

zapisz aź w pamięci

odczytaj ad z pamięci

aźd1 aźd2

wyzeruj aźd (0...0b)

ustaw aźd (1...1b)

zachowaj aź na stosie

załaduj ad ze stosu

Arytmetyczne

Add

Subtract

Multiply

Divide

Absolute

Negate

Increment

Decrement

Compare

aźd aźd + aź

aźd aźd – aź

ad1...2 aź * aź

ad1...2 aź / aź

aźd |aźd|

aźd - aźd

aźd aźd + 1

aźd aźd – 1

aź1 – aź2, (flagi OV, Z, C, S)

Logiczne

AND

OR

NOT

EX-OR

Test

Compare

Shift

Rotate

aźd aźd ∧ aź

aźd aźd ∨ aź

aźd neguj aźd

aźd aźd ⊕ aź

aź1 ∧ aź2, (flaga Z)

aź1 – aź2, (flaga Z)

przesuń w prawo/lewo aźd

obracaj w prawo/lewo aźd

Konwersji

Translate

Convert

aźdtabela przyporząd.aźd

zmiana postaci aźd na inną

Wejścia-wyjścia

Input

Output

Start I/O

Test I/O

odczytaj aź z układu we-wy

zapisz ad do układu we-wy

zapisz kod do układu I/O

odczytaj kod stanu z układu I/O

Sterowania systemowego

Set control bits

Clear control bits

ustaw flagi ogólnego przeznaczenia i systemowe

zeruj flagi ogólnego przeznaczenia i systemowe

Przekazywania sterowania

Jump (branch)

Jump conditional

Jump to Subroutine

Return

Execute

Skip

Skip conditional

Halt

Wait (hold)

No operation

skocz pod adres ad,

czyli PC ad

skocz pod adres ad, jeśli warunek spełniony/nie spełniony

skocz do podprogramu, zachowaj na stosie adres powrotu

wróć z podprogramu (pobierz ze stosu adres powrotu)

pobierz argument i wykonaj jak rozkaz, PC bez zmian

pomiń następny rozkaz

pomiń następny rozkaz, jeśli warunek spełniony/nie spełniony

zatrzymaj wykonywanie programu

zatrzymaj wykonywanie programu a następnie wznów po spełnieniu warunku

nie wykonuj żadnego działania


Wyszukiwarka

Podobne podstrony:
wyklad 2012 10 25 (Struktury systemów komputerowych)
Podstawy Informatyki Wykład V Struktury systemów komputerowych
wyklad 2012 10 25 (Struktury systemów komputerowych)
Podstawy Informatyki Wykład V Struktury systemów komputerowych
ukl 74xx, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Archit
wyk.9, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Assembler
Sprawozdanie 2, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych,
wyk.7.1, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Assembl
wyk.7, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Assembler
wyk.8, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Assembler
ukl 74xx, Informatyka PWr, Algorytmy i Struktury Danych, Architektura Systemów Komputerowych, Archit
borzemski,organizacja systemów komputerowych, STRUKTURA I DZIAŁANIE PROCESORA
10 Reprezentacja liczb w systemie komputerowymid 11082 ppt
Abstrakcyjne wyobrażenie elementów systemu komputerowego
Opis oprogramowania wspomagające analizę komponentów systemu komputerowego, Prace kontrolne
Bezpieczeństwo systemów komputerowych
Niektóre prawne aspekty włamań do systemu komputerowego
tranzystory mosfet(1), Architektura systemów komputerowych, Sentenza, Sentenza

więcej podobnych podstron