Architektura Komputerów
Transkrypt
Architektura Komputerów
WYKŁAD I (4.10.2006) 1.Budowa tak zwanej jednostki centralnej. Jednostka centralna = procesor + pamięć operacyjna Wyróżniamy dwa typy obudów: a) AT (starszy typ) b) ATX Obudowy te różnią się rozmieszczeniem elementów i zasilaczem. W obudowie AT rozmieszczenie elementów jest dowolne. W obudowie ATX rozmieszczenie jest zgodne ze standardem. Zasilacz AT : +5V,-5V,+12V,-12V Zasilacz ATX : +5V,-5V,+12V,-12V,+3,3V Zasilacz AT jest sterowany mechanicznym wyłącznikiem 230V. Zasilacz ATX jest sterowany elektronicznym wyłącznikiem +5V. Obudowy ATX są bezpieczniejsze. 2. Przycisk RESET : Trzy sposoby restartowania komputera: a) restart gorący Ctrl+Alt+Delete – jeśli procesor pracuje w trybie rzeczywistym to nacisnięcie spowoduje skrócony restart bo niewykonywane są niektóre testy; w trybie chronionym uruchamiany jest progam który umożliwia restart komputera b) restart zimny – naciśnięcie RESET Reset NOIZ=NOTTON 0 0 0 Reset 1 0 CPU Reset ( 3,3V ) Zasilacz ( P.G. ) P.G. - Power Good Po naciśnięciu Reset: 1 1 0 0 1 Po naciśnięciu Power: 0 0 1 1 0 1 +5V -5V +12V -12V +3,3V Tolerancja ±5 % ±8 % ±20 % Wymagania CPU odnosnie przycisku „RESET” : 4 cykle zegara c) wyłączenie zasilania – odczekanie 1min i włączenia ponownego 3. Gniazdo PS/2 – klawiatura: 6 stykowe – 4 styki używane, DIN 5 stykowe – 4 styki używane 4. Gniazdo PS/2 – mysz 5. Gniazda portów szeregowych: RS232C 9 lub 25 stykowe męskie transmisja szeregowa tzn. „bit za bitem” =>modem, mysz maksymalna długość kabla 12m 200m (pętla prądowa) odporne na zakłócenie sygnału maksymalny transfer 115 200 bps 14 kB/s 57 600 bps 28 800 bps 14 400 bps 9 600 bps 2 400 bps 2400 bodów 6. Gniazda portów równoległych: 25 stykowe żeńskie standard CENTRONICS transmisja równoległa, 8 linii danych tryby SPP 300 kB/s EPP 2 MB/s ECP 2 MB/s maksymalna długość kabla zwykły 2m ulepszony 5m 7. USB Universal Serial Bus : Rok 1995 1.0 1,5 Mb/s ~ 190 kB/s bezpłatny SPP SPP 300 300 kB kB EPP 2 MB ECP 2 MB 1.1 2.0 12 Mb/s ~ 1,5 MB/s 480 Mb/s ~ 60 MB/s Cecha USB: hotplugable (podpinanie na gorąco) 8. FireWire (McIntosh) 100 Mb/s licencja 200 Mb/s 400 Mb/s Też jest hotplugable. 9. Gniazda kart sieciowych: 1,2,3,6 a) RJ-45 8 stykowe 10 Mb/s, 100 Mb/s, 1000 Mb/s => Gigabit Ethernet 8 styków b) BNC c) AUI (DIX) 15 stykowe żeńskie 10. Gniazda modemu wewnętrznego: 2xRJ-11 4 stykowe 11. Gniazda karty dźwiękowej: 3x minijack Line in Line out mic analogowe 12. Joystic MIDI 15 stykowe żeńskie 13. SPDIF – złącze cyfrowe kart dźwiękowych Sony Philips Digital Interface Format 14. Gniazda kart graficznych: a) VGA D-Sub 15 pin 15 stykowe żeńskie R,G,B - analog HS, VS - cyfrowe b) DVI – cyfrowe c) s-video WYKŁAD II (11.10.2006) 1. Schemat Blokowy Mikrokomputera 20 lini 30,31,32 ROM 256 kB, 512 kB 8 bitów 30 lini RAM 512 MB 64 bity 3 CPU 36 64 1 2 8,16,32,64 bity, zależy od urządzenia 64 bity 10,11,12 max 16 lini CMK Kontrolery urządzeń zewnętrznych Urządzenia zewnetrzne program CMK – Centralna Magistrala Komputera CPU – Central Processors Unit Przykładowe mikroprocesory: a) koprocesor karty graficznej b) koprocesor karty dźwiekowej c) koprocesor karty sieciowej d) kontroler twardego dysku ROM – READ ONLY MEMORY – w czasie normalnej pracy służy tylko do odczytu RAM – RANDOM ACCESS MEMORY – pamięć o dostępie swobodnym 1 B = 8 b (bitów) 1 kB = 1024 B 1 MB = 1024 kB 1 GB = 1024 MB 1 TB = 1024 GB Urządzenia zewnetrzne – wszystkie z wyjątkiem CPU, ROM i RAM kontroler Monitor => karta graficzna Dysk => kontroler HDD Klawiatura => kontroler klawiatury 1 Magistrala danych służy do przesyłania danych. Bardzo istotna jest szerokość magistrali danych. Ona decyduje o jakości komputera. Jest różna w różnych miejscach. 3 Magistrala adresowa służy do przesyłania adresu. Adres jest to numer miejsca do którego wysyłamy dane albo odczytujemy dane. Adresy posiadają komórki pamięci operacyjnej (słowa), ale także kontrolery urządzeń zewnętrznych. Szerokość magistrali adresowej jest różna w różnych miejscach. Pentium PRO => Pentium 4 (32 – bit) 36 lini adresowych 2 36 adresów 2 36 B=26⋅210⋅210⋅210 B=64 GB 1GB 30 lini 31 lini 32 lini 1 MB 1 kB 1 GB 2 GB 4 GB 2 Magistrala sterująca służy do przesyłania sygnałów sterujących i statusowych. 2. Schemat działania komputera Programy mogą być uruchamiane wyłącznie z pamięci operacyjnej. Ponieważ jest wielokrotnie szybsza. 3. Adresowanie Ze względu na sposób adresowania rozróżniamy 2 architektury komputera: a) architektura z pojedyńczą przestrzenią adresową b) architektura z podwójną przestrzenią adresową Ad a) <0,n> - przydzielamy adresy bajtom pamięci i kontrolerom urządzeń zewnętrznych <0,n> - przestrzeń adresowa Ad b) <0,n> - adresy pamięci operacyjnej (ROM i RAM) <0,k> - adresy kontrolerów urządzeń wejścia-wyjścia 〈 0, k 〉⊂〈0, n 〉 Numery się dublują np.100 4 dodatkowe linie sterujące odczyt z pamięci IOR - Input Output Read 1 0 IOW - Input Output Write 0 0 MEMR - Memory Read 0 1 MEMW - Memory Write 0 0 ustawiam sygnały IOR - negacje powodują że sygnał aktywnym jest 0 0 0 0 0 błąd zapis w pamięci 1 0 1 1 0 1 1 1 1 1 0 1 1 1 nic nie robimy 1 1 0 1 1 1 1 1 0 1 Adresowanie pamięci. Każde słowo ma własny niepowtarzalny adres. W technice mikrokomputerowej słowem adresowalnym jest 1 bit. Adresowanie wejścia i wyjscia. Każdy kontr. układ wejścia-wyjścia otrzymuje od kilku do kilkudziesięciu adresów. Zwykle są to kolejne adresy. Najmniejszy z nich nazywamy adresem bazowym przestrzeni wejścia-wyjścia. Port jest to układ logiczny, który ma przydzielony conajmniej 1 adres w przestrzeni wejściawyjścia. Są to porty, które mają gniazda wewnątrz komputera lub nie mają wogóle. Gniazda bez portów, np: MiniJack Port który ma gniazdo wewnątrz komputera: IDE Port bez gniazda: zegar czasu rzeczywistego, port o numerze 70, kontroler przerwań I kanał IDE 1F0...1F7 II kanał IDE 170...177 LPT 1 378...37F COM 1 3F8...3FF COM 2 2F8...2FF Klawiatura jeden port Karta Graficzna 03C0...03DF 32 adresy Niektóre urządzenia zewnętrzne otrzymują również pewną pulę pamięci adresów RAM. Wtedy procesor może bezpieczniej zapisywać i odczytywać informacje z ich pamięci DMI – Desktop Management Interface – program w pamięci komputera oraz specjalny obszar DMI Pool. W tym obszarze opisane są wszystkie urządzenia na płycie głównej. WYKŁAD (18.10.2006) Najważniejsze Standardy Architektury Magistrali Centralnej 1. 2. 3. 4. 5. ISA MCA EISA VLB PCI Ad 1. ISA – Industry Standard Architecture a) magistrala danych 8 lub 16 bitów b) maksymalna częstotliwość taktowania 8,33 Mhz c) maksymalny transfer 1 transfer 2 takty zegara 2⋅8,33 [ B⋅MHz ]≈8 MB/ s 2 d) typ gniazdo-rozszerzeń 98 styków 36 62 8 bitów 8 bitów e) ręczna konfiguracja karty rozszerzeń f) brak opłat licencyjnych 1985 Ad 2. MCA – Micro Channel Architecture a) 1987 IBM b) magistrala danych 16 lub 32 bitowa c) maksymalna częstość zegara 10 Mhz, 20 Mhz, 33 Mhz d) maksymalny transfer 1 transfer 1 takt zegara około 40 MB/s, 80 MB/s, 132 MB/s 16 bit 2 x 58 styków 32 bit 2 x 93 styki e) możliwość automatycznej modyfikacji karty rozszerzeń f) chroniony licencją g) wysoki koszt kart rozszerzeń, płyt głównych, itp... Ad 3. EISA – Extended ISA a) magistrala danych 32 bitowa b) maksymalna częstotliwość zegara 8,33...33MHz c) maksymalny transfer 1 transfer 1 takt zegara 33 MB/s...132 MB/s d) rozbudowane gniazdo ISA, głębszy poziom styków e) możliwość automatycznej konfiguracji kart f) bez licencji Ad 4. VLB – Vesa Local Bus VESA – Video Electronics Standards Association ISA + VLB magistrala lokalna Magistrala lokalna była to lekko zmodyfikowana wyprowadzona na zewnątrz procesora magistrala procesora 80486. a) magistrala danych ISA 8 lub 16 bit VLB b) taktowanie ISA 8 32 bity 1.0 64 bity 2.0 8,32 MHz, 16 MHz, 20 MHz, 33 MHz, 40 MHz, 50 MHz, 66 MHz c) transfer 1 transfer 1 cykl zegara 1.0 64 MB/s, 132 MB/s, 160 MB/s max 264 MB/s d) gniazda 116 styków 8 bit 8 bit 32 bit VLB ISA czarne bązowe maksymalna ilość gniazd VLB – 3 1988 – 1993 e) ręczna konfiguracja kart f) bez licencji Ad 5. PCI – Peripheral Component Interconnect Ten standard ma 13 lat. Magistrala PCI może służyć do tworzenia złożonych systemów komputerowych. W jednym systemie może współpracować maksymalnie 256 magistrali PCI. Każda z nich może obsługiwać do 32 urządzeń. A każde urządzenie może pełnić do 8 funkcji. a) magistrala danych 32 lub 64 bitowa b) maksymalny transfer 1 transfer 1 takt zegara 132 MB/s (32 – bity) 264 MB/s (64 – bity) d) gniazda rozszerzeń ( kolor biały) 32 bit 5V 32 bit 3,3V 64 bit 5V 64 bit 3,3V e) plug&play f) bez licencji Istnieją 2 typy urządzeń PCI a) inicjatory b) slave'y Transmisje mogą się odbywać między 2 inicjatorami lub inicjatorem lub slave'em ale nigdy między slave'ami. Schemat Magistrali PCI CPU RAM sterowanie układem pamięci sterowanie magistrali lokalnej PCI karta sieciowa karta graficzna magistrala lokalna PCI 33 MHz 132 MB/s kontroler ISA ROM I S A A HOST IDE SCSI kontroler FDD kontroler klawiatury Schemat Blokowy Współczesnego Mikrokomputera CPU FSB Front Side Bus magistrala AGP magistrala pamięci AGP Mostek północny RAM magistrala międzymostkowa AC - 97 Mostek południowy ISC I S A magistrala lokalna PCI karta sieciowa USB HDD Chipset to układ scalony który zbudowany jest z kilku bloków logicznych pełniących różne funkcje. Sposoby przyspieszania transmisji na magistralach: a) SDR – Single Data Rate 1 transfer 1 cykl zegara b) DDR – Double Data Rate 1 takt 2 porcje danych c) QDR – Quad Data Rate 1 takt zegara d) ODR – Octet Data Rate WYKŁAD (25.10.2006) 4 porcje danych Gniazdo zasilania AT 12 1 P8 P9 1. Orange P.G (Power Good) (+ 5V) 2. Red +5V 3. Yellow +12V 4. Blue -12V 5. Black GND 6. Black GND 7. Black GND 8. Black GND 9. White -5V 10. Red +5V 11. Red +5V 12. Red +5V Uwaga: Urządzenia elektroniczne korzystają z napięcia +5V. Wiatraczki i sliniczki +12V, -12V port szeregowy. Gniazdo zasilania ATX 1 2 3 11 12 1. +3,3V 2. +3,3V 3. GND (masa) 4. +5V 5. GND 6. +5V 7. GND 8. PW OK 9. 5VSB 10. +12V 11. +3,3V 12. -12V 13. GND 14. PS – ON 15. GND 16. GND 17. GND 10 20 18. -5V 19. +5V 20. +5V 8. Power OK (P.G.) (+5V) 9. +5V Standby 1. PS ON (Soft On/Off) WYKŁAD (08.11.2006) Pamięć Operacyjna We współczesnych komputerach stosuje się półprzewodnikową pamięć operacyjną. 1.Definicja układu scalonego Miniaturowy układ elektroniczny, zminiaturyzowany układ elektroniczny, że na tak zwanej wspólnej płytce podłoża wykonane są wszystkie elementy układu w postaci złączy półprzewodnikowych. Elementy układu są ścieżkami. Podłoże: krzem, german, arsenek gdu i inne. Dolina Krzemu płytka krzemowa: 3,3 mln tranzystorów 2.Najważniejsze parametry układu pamięci. a) pojemność 1kB=1024B 1MB=1024kB 1GB=1024MB 1TB=1024GB 1pB=1024TB 1eB=1024pB ? 1MB=1000kB 210=1024 Przyjęcie takich jednostek upraszcza architekturę komputera i systemu operacyjnego. 1kb = 1024b kilobit 1Mb = 1024kb megabit b) częstotliwość zegara taktującego 100MHz, 166MHz, 200MHz, 266MHz Układy pamięci są schynchronizowane z sygnałem zegara. Częstotliwość nominalna – ta którą zaleca producent Częstotliwość maksymalna – overclocking – częstotliwość przy której układ pracuje poprawnie zapewniając odpowiednie chłodzenie c) czas dostępu do pamięci(max) Czas dostępu jest to czas jaki upływa do uzyskania adresu na wyjścia danych. d) napięcie zasilania 5V, 3,3V, 2,5V, 1,7V, 1,5V zmniejszanie układu napięcia – mniejsze grzanie układu e) organizacja pamięci 1. Organizacja 2D (każda komórka ma dwie linie: 1 wybierającą i 1 linię danych) – two dimensions linie wybierające 0 0 1 Matryca adres 16 . . . Dekodera Matryca . . . Pamięci 64 0 216=65536 linie danych 216 B=64kB Zaleta: duża szybkość działania Wada: skomplikowana budowa dekodera i nie da się osiągnąć dużychpojemności. 16 wejść a wyjść 65536 2. Organizacja 3D I cz. dekoder 1 części adresu 64kB . . . 256 Matryca Pamięci 256 . .. dekoder 2 części adresu II cz. adresu linie danych Każda komórka ma 3 linie: 2 wybierające i 1 linie danych. Zaleta: prosta budowa dekodera. Łatwo osiągnąć duże pojemności. Wada: wolne działanie 3.Organizacja 2 1 D 2 rozmiar rzędu 16 x 8 bitów dekoder adresu rzędu adres rzędu --------------------- . . . 256 1 kol RAS adres kolumny 0 1 0 1 2 kol 3 kol Dekoder adresu kolumny 16 kol 128 lini CAS Multiplekser Demultiplekser 5 Adres 26 bitowy 0 1 1 0 1...1 1 0 1 0 1 0 1 22 bity adres kolumny adres rzędu dane odczytuje z 6 kolumny RAS – Row Addres Strobe CAS – Column Addres Strobe EDO – RAM 3. Układy scalone pamięci RAM Wyróżniamy 2 typy układów scalonych pamięci RAM: a) dynamiczne DRAM – Dynamic RAM b) układy statyczne SRAM – Static RAM 1968 INTEL Ad a) 1. Komórka pamięci jest mikroskopijnym kondensatorem < 0,01 pF kondensator naładowany 1 kondensator rozładowany 0 linia danych wyłącznik + 5V C bramka linia wybierająca + 5V linia danych 1 komórka ~ 1 tranzystor Konieczność odświeżania U odświeżanie Jak często? Około 60 razy na sekundę T Odświeżanie trwa 7-12 ms t WYKŁAD (15.11.2006) Pamięć Statyczna 38 lat temu 1 komórka = 1 przerzutnik bistabilny (mikroskopijny wykonany w technice scalonej) 4 tranzystory dwa stany stabilne S 0 Q R we a wy 1 0 a 0 a 1 0 0 0 1 Nie trzeba odświeżać ! Trzeba cały czas zasilać Dynamiczna DRAM 1. 1 komórka = 1 tranzystor 2. konieczność odświeżania 3. prosta budowa, łatwo osiągnąć duże pojemności 4. dużo wolniejsza;czas dostępu: 15 ns, 20 ns 5. pobór mocy: średni 6. niska cena Statyczna SRAM 1. 1 komórka = 1 przerzutnik bistabilny(4tranz) 2. nie potrzeba odświeżać 3. skomplikowana budowa, trudno osiągnąć duże pojemności 4. szybsza;czas dostępu: 1,2,5 ns 5. pobór mocy: duży w czasie zapisu 6. wysoka cena Gdyby cena nie odgrywała roli to używano by pamięci statycznej. W pierwszych mikrokomputerach była wyłącznie pamięć dynamiczna. Współczesne mikrokomputery posiadają pamięć statyczną i dynamiczną ! Maksimum wydajności i minimalna cena. Główną pamięć RAM zbudowano z układów dynamicznych. Z układów statycznych zbudowana jest szybka pamięć buforowa pracująca pomiędzy procesorem i pamięcią dynamiczną ! Cache Memory ( Pamięć podręczna ) linijki L1 L2 Cache Memory 1000 razy mniejsza 512kB CPU superszybka SRAM pamięć RAM linijka DRAM wolna Współczynnik trafień = ilość odczytów z pamięci cache / ilość wszystkich odczytów [ % ] W prawidłowo skonfigurowanym komputerze współczynnik trafień = 92 – 95 % Dla każdego komputera istnieje optymalna wartość pamięci cache. S opt =512 kB S cache512kB to współczynnik trafień gwałtownie maleje S cache512kB to współczynnik trafień rośnie minimalnie Współczesne komputery posiadają 2 poziomową pamięć Cache. Cache Memory L1 ( Level 1 ) Cache Memory L2 ( Level 2 ) Pamięć Cache L1 jest zintegrowana z rdzeniem procesora. Pamięć Cache L1 jest podzielona na 2 części: a) Cache L1 Dane b) Cache L1 Kod Programu Cache L2 2 x kilkadziesiąt kB 256kB, 512kB, 1MB, 2MB Dawniej pamięć Cache L2 była montowana na płycie głównej. Potem była montowana na specjalnej płytce montażowej. Następnie w obudowie procesora na osobnej płytce krzemowej. Obecnie montowana jest na wspólnej płytce z rdzeniem procesora. rdzeń Cache L2 Cache L1 płytka krzemowa Jeżeli wyłończymy pamięć Cache L2 to wydajność spada około 40%. Jeżeli wyłończymy pamięć Cache L1 to wydajność komputera spada o 90%. MODUŁY PAMIĘCI a) pierwsze mikrokomputery nie posiadały modułów; pamięć była montowana bezpośrednio na płycie głównej b) moduł jest to płytka drukowana do której przylutowano układy scalone pamięci SIPP c) SIMM – 30 stykowe 1 bajt – 8 lini danych; 2 banki po 4 gniazda SIMM – 72 stykowe 4 bajty – 32 linie danych Single In Line Memory Module 386 486 32 linie danych Bank jest to zespół gniazd umożliwiającym modułom obsadzanie modułami pełnej magistrali danych. d) moduły DIMM – Dual In Line Memory Module SDRAM DDRAM DDR2 168 184 240 styków e) RIMM – RamBus BUDOWA MODUŁU płytka drukowana układy pamięci dynamicznej oporniki Moduły DIMM i RIMM mają dodatkowo układ SPD – Serial Presence Detect . W tym układzie zapisane są najważniejsze parametry modułu, np: pojemność, częstotliwość taktowania, data produkcji. TESTOWANIE PAMIĘCI RAM Trzy rodzaje testów a) test zawarty w biosie komputera POST --> testy Test pobieżny pozwala na wykrycie zasadniczych uszkodzeń pamięci RAM. b) testy zawarte w popularnych programach narzędziowych c) testy profesjonalne ( nie może być uruchamiany z systemu WINDOWS ) mini system operacyjny + program testowy memtest – 86 goldmemory 2,5 – 2 – 2 – 6 Google: timingi Cas Latency Co to za liczby ? Elementy składowe typowego BIOSU: 1. 2. 3. 4. Procedura startowa Testy POST Procedury obsługi przerwań – sprzętowych Procedury obsługi przerwań – programowych Są krótkie programy, które mogą być uruchamiane za pomocą innych programów INT n numer przerwania n∈〈 0...255〉 INT 21 3 – 4 – od tych programów pochodzi nazwa BIOS 5. Procedury Plug&Play pozwalają na rozpoznanie i zainstalowanie urządzeń. (Plug&Pray ) 6. Program DMI i blok danych DMI – rozpoznaje urządzenia zainstalowane w komputerze i zapisuje w bloku DMI 7. Program ESCD i blok danych ESCD – rozdziela i przydziela zasoby 8. Program kompresujący 9. Blok zawierający logo użytkownika 10. Program Setup BIOS ( są BIOS – y , które nie posiadają tego składnika, około 95% ma) --> pamięć CMOS Najbardziej znani producenci BIOSU: a) AMI b) Award c) Phoenix d) Quadtel e) Insyde Software f) General Software WYKŁAD Aktualizacja BIOSU płyty głównej, karty graficznej i innych urządzeń. http://www.wimbios.com I Aktualizacja BIOSU płyty głównej. 1. Rozpoznawanie płyty głównej, typu i daty BIOSU, typu układu scalonego BIOSU itp. 2. Aktualizację BIOSU powinno się przeprowadzić gdy tego trzeba. Rozpoznawanie płyty głównej – program AIDA32. Ściągamy z sieci nową wersję BIOSU i programu nagrywającego. 3. Tworzymy dyskietkę instalacyjną - plik z nowym BIOS – em abc.bin 256kB, 512kB - program nagrywający 4. Wykonanie kopii bezpieczeństwa BIOSU 5. Start z dyskietki, uruchamianie programu nagrywającego awd800.exe /? Jak wykonać kopię bezpieczeństwa BIOSU ? awd800.exe stbios.bin|pn|sy BIOS jest wyjmowalny. W razie uszkodzenia BIOSU : a) układ EPPOM wyjmowalny b) jeśli BIOS jest bootowalny nie programujemy Boot Blocku Start z Boot Blocku klawiatura napęd FDD karta graficzna ISA Nagrywanie w trybie wsadowym autoexec.bat awd800 nowybios.bin|py Dual BIOS Aktualizacja BIOSU Karty Graficznej. Aktualizacja BIOSU Routerów. Aktualizacja BIOSU przełączników routerów, punktów dostępowych. Njalepiej wykonywać w trybie serwisowym. WYKŁAD ( 06.12.2006 ) Pamięć Cache Memory ( Pamięć Podręczna ) 1. Cel stosowania pamięci Cache. Cache linijki wiersze CPU 2. Topologie pamięci Cache. 3. Budowa pamięci Cache. Katalog znacznik dane status różne linijki linijka pamięci Cache 4. Sposoby odwzorowania bloku pamięci RAM do linijki pamięci Cache. 64B = 64 bajty ( długość linijki ) adres 1010101001... 6 bitów adres bajtu w linijce adres słowa | 101000... | 000 000 111 111 | blok danych 256 linijek . . . 174 Dane Z adresu danych wynika jednoznacznie numer linijki do której te dane moga być wpisane. Zaleta: duża szybkość działania; na sprawdzenie potrzebne jest tylko 1 porównanie Wada: słabe wykorzystanie pojemności pamięci Cache b) odwzorowanie wpełni skojarzeniowe W tym odwzorowaniu dane mogą być zapisane w dowolnej linijce. Procesor musi wykonać maksymalnie 256 porównań. Zaleta: Efektywne wykorzystanie pojemności pamięci. Wada: Duża ilość porównań – wolne działanie pamięci c) odwzorowanie sekcyjno skojarzeniowe Z adresu danych wynika numer sekcji w której muszą być umieszczone. Mogą być umieszczone w dowolnej linijce należącej do sekcji. Na sprawdzenie czy dane są w pamięci Cache wystarczy kilka porównań. Te sposób jest powszechnie stodowany. Algorytm Usuwania Linijki: a) LRU b) LFU c) FIFO d) losowy 6. tryby pracy pamięci Cache Dwa Tryby pracy: a) write through – polega na tym, że po modyfikacji bajtów w linijce jest ona natychmiast przypisywana do pamięci RAM b) right back – linijka jest przypisywana do pamięci RAM tylko wtedy gdy traci ważność 7. Pamięć Cache w systemach wieloprocesorowych. Jaką pamięć Cache masz w swoim komputerze? Odp: Pamięć podręczna L1 kodu 64kB Pamięć podręczna L1 danych 64kB Pamięć podręczna L2 64kB( On – Die, Full – Speed ) WYKŁAD Architektura procesora 2. Przykłady mikroprocesorów: a) komputer PC b) telefon komórkowy c) samochód osobowy ( mikrokomputer jednoukładowy = mikroproceosr + układ we/wy ) d) pralka automatyczna 3. Typowe bloki funkcjonalne mikroprocesora: a) arytmometr ALU – Arithmetic Logic Unit JAL – Jednostka Arytmetyczno Logiczna ( najważniejszy ) – – – – operacje arytmetyczne + , - , / , * operacje logiczne AND, OR, XOR, NOT, zerowanie, jedynkowanie operacje na bitach: przesunięcia, obroty, testowanie bitu, ustawanie bitu, zerowanie bitu inne format stałoprzecinkowy: ( liczby całkowite ) format zmiennoprzecinkowy: ( liczby rzeczywiste ) b) FPU – Floating Point Unit 3. Typowe bloki funkcjonalne mikroprocesora c) dekoder rozkazów d) BIU – Bus Interface Unit – zespół łącza z magistralą systemowa e) magistrala wewnętrzna procesora f) zespół rejestrów rejestr = komórka pamięci procesora Rejestry mają różną długość, np: Pentium IV 11 bitów, 16, 32, 64, 80, 128 Klasa procesora <-- jest wyznaczona przez długość rejestrów uniwersalnych 4. Lista rozkazów procesora Figure 3 – 1 | A -32 Basic Execution Environment kartka z ćwiczeń 45 – 550 rozkazów Dwie klasy procesorów ze względu na liczbę rozkazów. a) CISC – Complex Instruction Set Computer – o złożonej liście rozkazów ( Pentium IV pięćset kilkadziesiąt rozkazów ) – rozkazy mają różną dłuogść i czas wykonania – duża ilość trybów odzerowania b) RISC – Reduced Instruction Set Computer – krótka lista rozkazów ( 40 – 50 ) – rozkazy mają taką samą długość i czas wykonania – mała ilość trybów adresowania Przykłady: CISC – x86, Pentium, 486, AMD – M68000 RISC – Intel 80860 – – – – – – – – Intel 80960 IBM 801 POWER PC MIPS ARM Motorola 88000 AMD 29000 SPARC Możliwości obu klas są takie same ! W rozwiązaniach graficznych przewagę mają procesory RISC. Procesory Pentium posiadają pewne elementy architektury RISC. 5. Architektura procesora Pentium IV ( 32 bitowy ) http://www.tomshardware.pl/cpu/20001120/p4-01.html – – – a) BIU – Bus Interface Unit Quad Pumped QDR – Quad Data Rate 3,26B/s 4 porcje danych w 1 takcie zegara RAM Bus b) Pamięć Cache L2 1MB, 512kB, 256kB, 2MB c) magistrala wewnętrzna 256 – bitowa ( 32 B ) takt rdzenia procesora Pentium IV 2GHz 32B⋅2GHZ=64GB/ s d) pamięć Cache L1 danych 8kbytes 4 – way AMD – 64kB e) Sprzętowy Układ Przewidywania Danych ( Hardware Data Prefetch ) f) Blok Dekodowania Rozkazów Instruction TLB – kolejka rozkazów Dynamic Branch Preditor – Układ Przewidywania Rozgałęzień Dekoder Rozkazów – Instruction Decoder rozkazy maszynowe tłumaczenie mikrorozkazy ( mikrooperacje ) Mikrooperacje mają taką samą długość i podobny czas wykonania. 1 rozkaz = 64 bity – – Execution Tracelock – Pamięć Cache ze śledzeniem ( L1 dla kodu programu --> 12 kmop ~ 96kB ) pamięć ROM mikrooperacji Część mikrooperacji wiąże się z rozgałęzieniem. – Trace Cache Branch Prediction – Układ Sledzenia Rozgałęzień Przykłady Procesorów: 1971 Intel 4004 34 rozkazy, prędkość 60 tys./s, długość słowa 4 bity ( układ sterujący do kalkulatora ) 2300 tranzystorów 1972 8008 45 rozkazów, 300 tys./s, długość słowa 8 bitów, 3500 tranzystorów 8080 6000 tranzystorów 8086 29 000 tranzystorów VI 1978 57 rozkazów III 1993 Pentium 3,1 mln tranzystorów 1974 WYKŁAD ( 20.12.2006 ) http://www.tomshardware.pl/cpu/20001120/p4-09.html 7. Blok alokacji zasobów a) Jest to blok zmiany nazwy rejestrów x86 EAX – akumulator b) kolejka operacji arytmetyczno – logicznych; stało i zmiennoprzecinkowe uop integer – operacja stałoprzecinkowa 3254 – 128 uop fp – operacja zmiennoprzecinkowa 25⋅376⋅10−6−3.72⋅10−23 c) kolejka uop dotycząca pamięci ( adresowanie ) d) harmonogram operacji stałoprzecinkowych e) harmonogram operacji zmiennoprzecinkowych f) rejestry zmiennoprzecinkowe 80 – bitowe arytmetyczne; 128 – bitowe SSE; 64 – bitowe MMX g) rejestry stałoprzecinkowe 16 i 32 – bitowe 8. Blok Wykonawczy ( Rapid Execution Engine ) a) 4 x ALU ( 2 x 2 ALU ) b) 1 x Slow ALU c) 4 x AGU Address Generation Unit d) 1⋅FPU Floating Point Unit FMul FAdd operacje arytmetyczne MMX – multimedialne SSE SSE2 SSE3 pojedyńczy rozkaz operuje na ciągu bajtów e) 1 FPAGU – FP Store FP Move II Pierścienie ochrony zadań 8086 nie posiadał sprzętowych mechanizmów separacji i ochrony zadań DOS 80286 80386 486 Pentium najnowsze mają wbudowane mechanizmy separacji i ochrony uruchomionych zadań a także ochrony pamięci 3 2 pierścienie ochrony zadań 1 Każde zadanie uruchomione jest w konkretnym pierścieniu 0 – najwyższe uprzywilejowanie 1 2 3 – najniższe uprzywilejowanie init 0 – level abc – 0 cdf – 3 Zadania uruchomione w pierścieniu 0 mają dostępne wszystkie rozkazy i całą pamięć operacyjną. Zadania w pierścieniach 1, 2, 3 mają ograniczone zbiory rozkazów R 0⊃ R1 ⊃R 2⊃R 3 0 1 2 3 pierścień 0 – jądro systemu operacyjnego + moduły jądra pierścień 1 – sterowanie współpracujące z jądrem pierścień 2 – usługi systemu operacyjnego nie wymagające uprzywilejowania pierścień 3 – programy użytkownika WIN 95 i WIN98 korzystają tylko z pierścieni 0 i 3 Przejście pomiędzy pierścieniami – 47 cykli zegara WIN ME, NT, 2000, XP używają pierścieni 0,1,2,3 Linux też używa pierścieni 0,1,2,3 Uwaga : Poszczególne podprogramy mogą być uruchamiane na różnych poziomach uprzywilejowania. W czasie wykonywania niektórych programów mogą zmieniać pierścień , jednak muszą przejść przez bramę. Zmiana poziomu uprzywilejowania odbywa się przez bramę gate. Ta brama posiada deskryptor tzw gate descriptor. Serwer NetWare Run Level 3 Load program.nld Run Level 2 III Testowanie wydajności procesora Różne jednostki wydajności procesorów a) Intel iComp 100 <--> 80486 – SX – 25MHz Intel iComp2.0 200 <--> Pentium 120 Mhz iComp3.0 1000 <--> Pentium II 350 Mhz b) SPEC int 2004 SPEC fp 2004 c) Phrystones / sec kWhetstones / sec d) Mflops wydajność Gflops superkomputera Tflops e) różnorodne uniwersalne testy, np: Performance Test