W01 AK1 Biernat


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 Biernat
W01 AK2 Biernat
BD 2st 1 2 w01 tresc 1 1
W01 NIDUC Zamojski
Strona bierna
w01
W01 Matlab1
w01 demo problemy spoleczne i wspolpraca
W01 Fizyka Haran
LP mgr W01 Podst pojecia
Aire W01
MB W01 PWr
MES JCh MM WW OKnO w01 podstawowe pojecia
Instrukcja GECO Z 502 P01 S v01 w01 POL
AK1 pytania testowe

więcej podobnych podstron