Wstęp doinformatyki Architektura co to jest? Architektura Model komputera Dr inż Ignacy Pardyka Slajd 1 Slajd 2 Od układów logicznych do CPU Automat skończony Slajd 3 Slajd 4 Ile jest automatów skończonych? Maszyny Turinga (1936) Alan Turing, (1912-1954) skończona liczba stanów w danej chwili w jednym stanie wkażdym stanie instrukcje dla maszyny do wykonania po przeczytaniu symbolu sterującego decyzja, który stan następny Slajd 5 Slajd 6 1
Maszyna Turinga przykład 1 Maszyna Turinga - przykład 2 Dwa stany: 0 i 1 jeśli jest w stanie 0 i przeczyta A, przesuwa głowicę na prawo i wraca do stanu 0 jeśli jest w stanie 0 i przeczyta B, zmienia symbol na A i przechodzi do stanu 1 Maszyna czyta ciąg symboliaib, zatrzymując się po przeczytaniu sekwencji BA Tuzatrzymasię na4symboluod lewej Stan 0: jeszcze nie przeczytano B Stan 1: przeczytano przynajmniej jedno B Slajd 7 Slajd 8 Maszyna Turinga - przykład 3 Maszyna Turinga - przykład obliczania funkcji Ackermana Stan 0: czytaj i przesuń wprawo,pozostań w stanie 0 aż do przeczytania znaku - Stan 1: jeśli możliwe, odejmij 1 od liczby po prawej stronie Stan 3: czytaj znak i przesuwaj w lewo, aż do przeczytania - Stan 4: dodaj 1 do liczby po lewej stronie Stany 1 i 4 to podmaszyny, np stan 4: Slajd 9 Slajd 10 Prosty komputer: N*(N-1) Obliczanie wyrażenia N*(N-1) Etapy Sterowanie FSM - Automat skończony? Slajd 11 Slajd 12 2
Stany automatu sekwencyjnego Operacje równoległe Niektóre operacje mogą być wykonane równolegle! Czy ten automat może obliczyć silnię? Slajd 13 Slajd 14 Modyfikacja: N! Stany automatu: N! Trzeba dodać trochę logiki (sprzęt) i przeprogramować układ sterowania Slajd 15 Slajd 16 Model von Neumanna (1940) Model von Neumanna (1940) Uniwersalna Maszyna Turinga Slajd 17 Slajd 18 3
Model β RISC Model β RISC - instrukcje OPCODE (6 bit) kod operacji R (5 bit) adres operandu (jeden z 32 rejestrów) 16 bit stała Slajd 19 Slajd 20 Model β RISC - instrukcje Model β RISC instrukcjezestałą Dodaj zawartość ra do stałej; wynik zapisz do rc Slajd 21 Slajd 22 Model β RISC pierwszy program Model β RISC operacie z pamięcią: ładowanie i zapamiętywanie Slajd 23 Slajd 24 4
Model β RISC konwencje Model β RISC tryby adresowania Slajd 25 Slajd 26 Model β RISC instrukcje skoku Model β RISC program obliczania n! w języku C w języku assemblera Slajd 27 Slajd 28 Model β RISC język - podsumowanie Wykonywanie programu Przepływ danych Pamięć 11 11 0110 1010 1111 0101 10 1010 1111 0101 10 11 11 0110 11 0110 1010 1111 0101 10 11 0101 10 11 11 0110 1010 1111 program&dane I/O Cykle: Pobierz Dekoduj Wykonaj Sterowanie Slajd 29 5
Pamięć Zawiera instrukcje i dane programu Instrukcje są pobierane automatycznie przez układ sterowania Dane przesyłane są pomiędzy pamięcią i procesorem Instrukcje przesyłania danych rejestry procesor load (lw) save (sw) address data 0 Byte (8bits) 1 2 3 4 pamięć word Model pamięci Adresowane bajty pamięci (1 byte = 8 bits) Load pobierz dane z pamięci; store zapamiętaj dane w pamięci Jednostka transferu: word (4 bytes) M[0], M[4], M[],, M[4,294,967,292] Słowo musi rozpoczynać się od określonego adresu 0,4, Adres jest 32 bitowy 2 32 bajtów lub 2 30 słowa Porządek pamiętania Load / Store +1 +2 +3 big endian (3101) 10 = 12 *16 2 + 1 *16 1 + 13 *16 0 0c 1d = ( 0c 1d) 16 +1 +2 +3 1d 0c little endian A[0] = h + A[2]; lw $t0, 8($s1) add $t0,$s2,$t0 Sw $t0, 0($s1) $s0 $s1 $s2 h rejestry Base address ($s1) Offset (8) +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 A[0] A[1] A[2] ALU I- instruction 32-bit memory address 6