Architektura komputerów 1
Prof. PWr dr hab. inż. Janusz Biernat
Wykład 01
Architektura i organizacja komputera
ARCHITEKTURA KOMPUTERA specyfikacja funkcjonalnych cech komputera opisanych listą
rozkazów i wskazaniem obiektu ich oddziaływania (architektura listy rozkazów ISA).
ORGANIZACJA KOMPUTERA (STRUKTURA LOGICZNA) odwzorowująca cechy
funkcjonalne i nadająca kształt operacyjny (architektura układów HSA).
WYKONANIE (TECHNOLOGIA).
Komputer z programem przechowywanym (pamiętanym)
teoria informacji (Claude Shannon, 1936)
koncepcja jednolitego przetwarzania (Alan Turing, 1937)
program-stored computer (J. von Neumann, 1945)
Jak działa komputer?
... ! (CU: słowo: M ALU) !
Śą
(interpretacja CU: polecenie)
! (CU: słowo: M ALU) !
Śą
(interpretacja CU: argument)...
! (CU: słowo: M ALU) !
Śą
(interpretacja CU: słowo AC Śą M)
! (CU: słowo: M ALU)...
Śą
(AC rejestr akumulatora)
Gdzie jest kolejne słowo?
" Wskazanie explicite adres
" domniemanie następne
Śą licznik programu (PC)
Jednolita reprezentacja działań i danych
informacja (wszystko jest informacją)
Śą teoria informatyczna Śą
reprezentacja 0/1.
Interpretacja informacji jest wyłącznym
przymiotem (cechą) procesora. Procesor
realizuje dostęp do informacji.
Jednostki informacji:
bit
bajt 8 bitów
p
słowo= bajtów
2 śą4=22źą - najczęściej spotykana długość słowa
Jednostka wykonawcza ALU (JAL) arithmetic logic unit, dzisiaj najczęściej wiele różnych
wyspecjalizowanych jednostek wykonawczych.
Koncepcja pamięci
Abstrakcja
Pamięć uporządkowany zbiór słów (informacji)
" każde słowo ma ustalone miejsce w zbiorze -można mu jednoznacznie przypisać numer
porządkowy unikatowy wskaznik lokacji (adres),
" rozmiar każdego słowa jest taki sam,
" słowa nie mają etykiet wskazujących ich znaczenie,
" znaczenie słowa nie zależy od jego lokalizacji w pamięci,
" interpretacja słowa (określenie treści) zależy od stanu procesora podczas pobierania słowa z
pamięci treść słowa może oznaczać:
ć% kod rozkazu (polecenia), ang. op-code,
ć% argument (daną użytkownika), ang. user data,
ć% parametr stanu (daną systemową), ang. system data.
(Tylko w architekturze Pentium istnieje rozróżnienie wejścia/wyjścia)
Realizacja
Pamięć zbiór komórek pamięci główny magazyn informacji
" każda komórka pamięci (ang. memory cell) zawiera jedno słowo,
" zawartość komórki pamięci (treść słowa) może zmienić tylko procesor, dokonując
przesłania do pamięci wyniku wykonania rozkazu.
Jeżeli chcemy efektywnie wykorzystać magazyn informacji to słowo nie może być za długie.
Wpasowanie na granicy słowa wpasowanie poprawne to wpasowanie bajtu
początkowego tak by było m zer (słowo=2m zer)
Nawigacja gdzie są potrzebne słowa?
Tryb control flow polecenie (rozkaz) czeka na dane:
" najpierw musi być pobrane słowo polecenia,
ć% musi być ustalona lokacja pierwszego pobieranego słowa,
" z interpretacji słowa wynika zapotrzebowanie na argumenty,
" kolejne słowo polecenia musi być wskazane,
ć% w treści polecenia bieżącego,
Śą
ć% automatycznie licznik rozkazów (program counter) typowe realizacje procesora.
(Sterowanie kolejnością poleceń (w algorytmie) control flow (przepływ sterowania) tryb na
zewnątrz procesora odpowiada poprawnemu wykonaniu algorytmu:
Śą ! Śą
polecenie (zidentyfikowane przez procesor) dane przetwarzanie wynik)
Tryb data flow dane czekają na polecenie:
" osobne strumienie danych i poleceń,
" zestawy poleceń tworzą sekwencję opisaną przez algorytm,
ć% możliwe przetwarzanie współbieżne,
" zestawy danych są (częściowo) uporządkowane,
ć% możliwe jednoczesne przetwarzanie danych przez kilka rozkazów.
Brak komercyjnych realizacji procesorów dla trybu data flow, powszechne realizacje jednostek
wykonawczych.
Śą
(Sterowanie dostępnością danych data flow jednostka wykonawcza ten tryb ma niewielka
zależność od algorytmu:
Śą ! Śą
dane polecenie (sprawdzane czy można wykonać) przetwarzanie wynik
Działanie to może odbywać się w tle, czyli czas wykonania konkretnego działania widoczny na
zewnątrz może wynosić 0)
Sterowanie wykonaniem programu udany kompromis
Adres (lokacja) kolejnego słowa polecenia
" wskazanie automatycznie (licznik rozkazów) powiązanie sekwencyjne:
ć% zaleta: w kodzie słowa nie jest potrzebny adres kolejnego polecenia,
ć% wada: wykluczone sterowanie kolejne polecenie nie zależy od wyniku poleceń
wcześniejszych,
" wskazany w treści polecenia bieżącego powiązanie łańcuchowe:
ć% zaleta: rozwiązanie elastyczne, sterowanie dowolne,
ć% wada: konieczna rozbudowa kodu o adres kolejnego polecenia.
Kompromis:
Śą
" zasada powiązanie sekwencyjne licznik rozkazów,
Śą
" wyjątek powiązanie łańcuchowe możliwość sterowania:
Śą
ć% specjalne rozkazy skoku (jump)/ rozgałęzienia (branch) wymuszenie stanu licznika
rozkazów
Polecenia (ISA) i układu (HSA)
Architektura listy rozkazów (ISA) opis dostępnych poleceń (instrukcji)
1. Identyfikacja i organizacja danych adresowanie pamięci
a) struktury danych,
b) rozpoznawanie typu danej.
2. Działania na danych (CPU)
a) kategorie działań i schematy wykonania działań,
b) algorytmy działań elementarnych.
3. Program i sterowanie jego przebiegiem
a) domniemana i wymuszona kolejność działań,
b) przekazywanie sterowania.
4. Wspomaganie ochrony danych.
Architektura sprzętu (HSA) organizacja komputera
1. Struktura bloków funkcjonalnych.
2. Organizacja pamięci.
3. Buforowanie danych.
4. Układ sterowania.
5. Przetwarzanie współbieżne.
Obszary architektury komputerów
Strefa kompilatora (struktury danych i algorytmy)
" typy danych umowy i standardy (ASCII, NB, U2, IEEE754),
Śą
" struktury danych i adresowanie tryby adresowania,
" działania i ich cechy,
" sterowanie, procedury i funkcje.
Sfera wykonania (organizacja i struktury wykonawcze)
" układy arytmetyczne,
" organizacja pamięci i buforowanie danych (pamięć podręczna, kolejki),
" przetwarzanie potokowe i współbieżność w trybie data flow,
" transmisja danych.
Sfera zarządzania (system operacyjny)
" zarządzanie procesami i ochrona danych,
" pamięć wirtualna i zarządzanie pamięcią,
" przerwania i obsługa zdarzeń:
ć% obsługa wyjątków,
ć% obsługa wejścia i wyjścia.
Dane
kody poleceń + parametry stanu + argumenty (dane użytkownika)
Typy skalarne:
" jakościowe (enumeration) cechy obiektu (attribute), kody informacji,
ć% logiczne (boolean), znakowe (character), opisowe (descriptive);
" nieciągłe (discrete), w szczególności:
ć% całkowite (integer) i porządkowe / naturalne (cardinals / natural),
" pseudo-ciągłe (non-discrete), w szczególności:
ć% zmiennoprzecinkowe (floating-point) standard IEEE754.
Typy strukturalne zbiory danych skalarnych lub strukturalnych i obejmują:
" wektory (vectors) i tablice (arrays) uporządkowane zbiory danych,
ć% łańcuchy (strings) uporządkowane ciągi (wektory) znaków,
" rekordy (records) regularne struktury danych dowolnych typów,
" zestawy (sets) nieuporządkowane zbiory danych.
Typy wskaznikowe (access) identyfikują lokalizację (adres) obiektu.
Kody liczb:
liczby naturalne 12358 liczby stałoprzecinkowe
liczby dziesiętne 1,2358 liczby stałoprzecinkowe
Żą
3,51"10-27/ 3,51 E 27
ą ą
notacja wykładnicza/inżynierska - liczby zmiennoprzecinkowe
mnożnik wykładnik
, -2 to współczynnik skali.
1,23=123"10-2
System uzupełnieniowy
0000059
śą X -Y źąąY = X
01248 -0001283
-00059 9...998776 Śą śą9źą8776
001189 ą 1283 śą9źą=1-minus1
0...000059
Wyszukiwarka
Podobne podstrony:
W02 AK1 BiernatW01 AK2 BiernatBD 2st 1 2 w01 tresc 1 1W01 NIDUC ZamojskiStrona biernaw01W01 Matlab1w01 demo problemy spoleczne i wspolpracaW01 Fizyka HaranLP mgr W01 Podst pojeciaAire W01MB W01 PWrMES JCh MM WW OKnO w01 podstawowe pojeciaInstrukcja GECO Z 502 P01 S v01 w01 POLAK1 pytania testowewięcej podobnych podstron