Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałBogusław Cichoń Został zmieniony 9 lat temu
1
Architektura systemów komputerowych (jesień 2015) Wykład 5 Budowa i działanie komputera dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki http://wbieniec.kis.p.lodz.pl/pwsz
2
Działanie komputera Podstawowa funkcja komputera – wykonywanie programów Na najwyższym poziomie możemy opisać system komputerowy poprzez: Opisanie zewnętrznego zachowania każdego modułu (danych i sygnałów kontrolnych, które wymienia on z innymi modułami) Podanie struktury połączeń i sterowania wymaganego do zarządzania tą strukturą 2
3
Struktura logiczna komputera MAR - rejestr adresowy pamięci - określa adres w pamięci następnego zapisu lub odczytu MBR - rejestr buforowy pamięci - zawiera dane, które mają być zapisane w pamięci lub dane odczytane z pamięci I/OAR - rejestr adresowy we/wy - określa konkretne urządzenie we/wy I/OBR - rejestr buforowy we/wy - wykorzystywany do wymiany danych między modułem we/wy a jednostką centralną PC - licznik rozkazu - rejestr zawierający informacje który rozkaz ma być pobrany IR - rejestr rozkazu - do przechowywania pobranego rozkazu ACC – akumulator – rejestr w którym wykonywane są wszystkie operacje arytmetyczno logiczne 3
4
Struktura fizyczna komputera 4 Rezonator kwarcowy Zegar MIKROPROCESOR Szyna danych Pamięć programu (ROM) Pamięć danych (RAM) Progra mowa ne układy I/O Szyny we/wy Urządzenia wejścia wyjścia szyna adresowa Szyny we/wy Szyna sterowania sterowanie
5
Elementy składowe komputera 5 Szyna, magistrala (ang. bus) - wiązka przewodów lub zespół ścieżek na płytce obwodu drukowanego, do wzajemnej komunikacji pomiędzy elementami komputera: Procesorem Pamięcią operacyjną Urządzeniami wejścia / wyjścia W definicji szyny, prócz samych przewodów sygnałowych, mieści się ściśle zdefiniowany protokół, precyzujący zbiór komunikatów. W typowym systemie komputerowym, magistrala systemowa dzieli się na trzy szyny: szynę danych (ang. data bus) szynę adresową (ang. address bus); szynę sygnałów sterujących (ang. control bus).
6
Elementy składowe komputera 6 Szyna, magistrala (ang. bus) - wiązka przewodów lub zespół ścieżek na płytce obwodu drukowanego, do wzajemnej komunikacji pomiędzy elementami komputera. Jednostka centralna (ang. central processing unit, CPU) - element komputera, który pobiera i wykonuje rozkazy. W definicji szyny, prócz samych przewodów sygnałowych, mieści się ściśle zdefiniowany protokół, precyzujący zbiór komunikatów. Przykłady standardów szyn: ISA, PCI, PCI express, AGP, SCSI, PCMCIA. 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.
7
Elementy składowe komputera 7 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. 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.
8
Budowa procesora 8
9
9 Jednostka arytmetyczno-logiczna zwana również arytmometrem (ALU 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. 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. Typowe operacje wykonywane przez ALU: suma logiczna OR i iloczyn logiczny AND różnica symetryczna XOR, negacja logiczna NOT, Dodawanie i odejmowanie arytmetyczne liczb 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.
10
Budowa procesora 10 Rejestr (ang. register) – część procesora przechowująca dane lub adres. Dekoder rozkazu (ang. instruction decoder) – dekoder tłumaczący kod rozkazu na mikrorozkazy realizowane przez układy wewnętrzne procesora. Podstawowe rejestry procesora: akumulator (ang. accumulator, A, ACC), rejestry robocze (ang. general purpose registers), licznik rozkazów (ang. program counter, PC), wskaźnik stosu (ang. stack pointer, SP), rejestr stanu (wskaźnikó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).
11
Operacje sprzętowe komputera 11 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 operacje na rejestrach wewnętrznych procesora, obsługa przerwań.
12
Nawiązanie do historii informatyki 12 Maszyna Turinga Alan Turing w 1936 opisał tok myślenia prowadzący od obliczeń wykonywanych ręcznie do obliczeń wykonywanych przez prostą abstrakcyjną maszynę, która była w stanie wykonywać zaprogramowaną matematyczną operację czyli tak zwany algorytm. Maszyna mogła wykonać jednak tylko jeden, określony algorytm. Liczby miały być podawane maszynie za pomocą papierowej taśmy Maszyna Turinga jest uniwersalnym modelem wszelkich obliczeń Posiada ona obecnie olbrzymie znaczenie teoretyczne, ponieważ wszystkie współczesne komputery dają się do niej sprowadzić TEZA: Problem jest rozwiązalny na komputerze, jeśli da się zdefiniować rozwiązującą go maszynę Turinga
13
Maszyna von Neumanna Maszyna von Neumanna to konkretyzacja maszyny Turinga, pozwalająca na zaprojektowanie rzeczywistego komputera Maszyna von Neumanna składa się z procesora (CPU) oraz pamięci, w której przechowywane są dane oraz rozkazy Model działania maszyny von Neumanna: 1. pobieranie rozkazu z pamięci 2. pobieranie danych z pamięci wskazanych w rozkazie 3. wykonywanie rozkazu (przetwarzanie danych) 4. zapisywanie wyniku w pamięci 5. powrót do punktu 1 13
14
Cykl pracy komputera 14 Wykonywanie programu Program składa się z zestawu rozkazów przechowywanych w pamięci Jednostka centralna realizuje program poprzez wykonywanie rozkazów w nim zawartych Przetwarzanie rozkazów realizowane jest przez procesor w dwóch krokach: Pobranie rozkazu z pamięci Wykonanie rozkazu Cykl rozkazowy (ang. instruction cycle) - ciąg czynności, które wykonuje układ sterowania jednostki centralnej w czasie realizowania jednego rozkazu.
15
Fazy wykonania rozkazu 15 F – pobranie kodu rozkazu z pamięci (fetch) Wykonanie rozkazu przez procesor można podzielić na 4/5 kolejno następujących po sobie faz: D – dekodowanie (decode) wraz z obliczaniem adresów operandów i ich pobraniem P – opcjonalne pobranie argumentu z pamięci. E – wykonanie (execute), W – zapamiętanie wyniku (write), w szczególności transfer rejestr – pamięć.
16
Cykl rozkazowy - pobieranie 16 Licznik programu (PC – Program Counter) przechowuje adres następnej instrukcji do wykonania Procesor pobiera instrukcję z pamięci spod adresu wskazywanego przez PC Zwiększany jest licznik PC (incrementacja PC) Instrukcja ładowana jest do rejestru rozkazowego IR (Instruction Register) Procesor interpretuje rozkaz i przeprowadza wymagane działanie (przechodzi do cyklu wykonywania)
17
Cykl rozkazowy - schemat 17
18
Cykl rozkazowy - wykonanie 18 Istnieją cztery kategorie cykli Przesłanie procesor pamięć Przesłanie procesor wejście/wyjście Przetwarzanie danych (operacje arytmetyczne lub logiczne na danych) Sterowanie – zmiana sekwencji operacji np. rozkaz skoku Kombinacja wyżej wymienionych działań Cykl maszynowy (ang. machine cycle) – cykl, w którym następuje przesłanie danych (odczyt lub zapis) między: - jednostką centralną a pamięciową lub układem wejścia – wyjścia, - rejestrami procesora. Na cykl rozkazowy składają się jeden lub kilka cykli maszynowych.
19
Cykl maszynowy i takt 19 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.
20
Przykład wykonania programu (1) 20 Pobierz instrukcję spod adresu 300 wskazywanego przez licznik programu
21
Przykład wykonania programu (2) 21 Pobierz i wykonaj instrukcję 1 z parametrem 940 (załadowanie liczby do akumulatora)
22
Przykład wykonania programu (3) 22 Pobierz i wykonaj instrukcję 5 z parametrem 941 (dodanie liczby do akumulatora)
23
Przykład wykonania programu (4) 23 Wynik działania jest w akumulatorze
24
Przykład wykonania programu (5) 24 Pobierz instrukcję 2 z parametrem 941 (przepisanie zawartości akumulatora do pamięci)
25
Przykład wykonania programu (6) 25 Wykonaj instrukcję
26
Graf cyklu rozkazowego 26
27
Inny przykład programu 27 Załóżmy, że R1, R2, R3 – rejestry robocze, [R1], [R2], [R3] – adres komórki pamięci zapisanej w rejestrze MOV R2, #n; MOV [R1],[R3+]; Znaczenie: Wstaw do R2 wartość n wykonaj n-razy: { [R1] [R3] R1 R1 + 1 R3 R3 + 1 } Jaki będzie efekt działania?
28
Typy rozkazów procesora 28 Rozkazy maszynowe są przetwarzane przez procesor jako dane binarne (zerojedynkowe). Każdy rozkaz posiada unikatowy kod operacji (ang. opcode) oraz opcjonalnie dodatkowe elementy: odniesienie do argumentów źródłowych (SA ang. Source arguments), którymi mogą być: dane bezpośrednie, adresy pamięci lub układów we- wy, rejestry procesora; odniesienie do argumentów przeznaczenia (DA ang. Destination args.) 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.
29
Przykłady rozkazów 29 NOP; nic nie rób ADD A, R1;A A + R1 ADD – opcode, A, R1 – argumenty źródłowe, A – argument przeznaczenia. SJMP adres;PC adres SJMP – opcode, adres – adres następnego rozkazu. NOP – opcode
30
Typowe operacje procesora – transfer danych 30 moveskopiuj SA -> DA store zapisz SA w pamięci load odczytaj DA z pamięci clear wyzeruj SDA (ustaw 0...0b) set ustaw SDA (ustaw 1...1b) push zachowaj SA na wierzchołku stosu pop załaduj DA z wierzchołka stosu
31
Typowe operacje procesora – arytmetyczne 31 add SDA <- SDA + SA subtract SDA <- SDA – SA multiply DA1...2 <- SA * SA divide DA1...2 <- SA / SA absolute SDA <- |SDA| negate SDA <- - SDA increment SDA <- SDA + 1 decrement SDA <- SDA – 1 compare SA1 – SA2
32
Typowe operacje procesora – logiczne 32 AND SDA <- SDA & SA OR SDA <- SDA | SA NOT SDA <- ~SDA XOR SDA <- SDA ^ SA test SA1 & SA2, (flaga Z) compare SA1 – SA2, (flaga Z) shift przesuń w prawo/lewo SDA rotate obracaj w prawo/lewo SDA
33
Typowe operacje procesora – sterowanie programem 33 jump DA skocz pod adres [DA] jump conditional DA skocz pod adres [DA] jeśli flaga Z=0 jump to subroutine DA skocz do podprogramu, zachowaj na stosie adres powrotu return pobierz ze stosu adres powrotu i wróć execute pobierz argument i wykonaj rozkaz PC bez zmian skip pomiń następny rozkaz skip conditional – pomiń następny rozkaz, jeśli flaga Z=0 wait – zatrzymaj program dopóki flaga Z=0 NOP– pusta operacja
34
Koniec wykładu 5 34
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.