1 / 8

Współczesne komputery

Współczesne komputery. wielopoziomowe. Poziom 0 – złożony z bramek logicznych, z których można zbudować jednobitowe pamięci. Łącząc je w zestawy po 8, 16, 32 lub 64 buduje się rejestry. Z bramek budowane są także jednostki wykonawcze procesora.

scout
Télécharger la présentation

Współczesne komputery

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Współczesne komputery wielopoziomowe

  2. Poziom 0 – złożony z bramek logicznych, z których można zbudować jednobitowe pamięci. Łącząc je w zestawy po 8, 16, 32 lub 64 buduje się rejestry. Z bramek budowane są także jednostki wykonawcze procesora. Poziom 1 – zbiór rejestrów (zw. 8-32) połączonych z arytmometrem (jedn. arytm.-logiczną [ALU]) – tworzą tzw. „ścieżkę danych”. Pracą ścieżki zarządzał zwykle „mikroprogram”, obecnie przeważają konstrukcje gdzie tę funkcje pełni sprzęt. Poziom 2 – poziom architektury listy rozkazów (ISA – Instruction Set Architecture), rozkazy są albo interpretowane przez mikroprogram, albo przez obwody wykonawcze. Poziom 3 – zwykle hybrydowy, wiekszość rozkazów pochodzi z poziomu ISA, ale są również inne, Jak np. inna organizacja pamięci, możliwości uruchamiania wielu programów itp. Funkcje tego poziomu są wykonywane przez interpreter pracujący na poziomie 2 (system operacyjny). Jeżeli rozkaz pochodzi z poziomu 2 wykonywany jest bezpośrednio przez mikroprogram (lub obwody wykonawcze), inne są Interpretowane – stąd „hybrydowy charakter” Poziom 4 – poziom aplikacji, tutaj zwykle mamy do czynienia z translatorami. Poziom assemblera to symboliczna reprezentacja jednego z języków z niższej warstwy program zawiera słowa i symbole, nie składa się wyłacznie z liczb, jak to ma miejsce na poziomach niższych. Poziom 5 – języki wysokiego poziomu (C, C++, Fortran, Java, LISP itd..)

  3. Dwa ważne rejestry: „Licznik” programuPC (Program Counter) Rejestr rozkazów IR (instruction register) Cykl rozkazowy (instruction cycle), lub cykl pobierania-dekodowania-wykonania (fetch-decode-execute cycle) 1. Pobierz kolejny rozkaz z pamięci do IR 2. Zmień wartośc IC, żeby wskazywał na następny rozkaz 3. Określ typ pobranej instrukcji 4. Jeżeli instrukcja korzysta ze słowa w pamięci, określ położenie tego słowa 5. Jeżeli to potrzebne, pobierz słowo do rejestru jednostki centralnej 6. Wykonaj instrukcję 7. Przejdź do kroku 1

  4. Dwie drogi: • Rozbudowa listy rozkazów, głównie interpretowanych – do kilkuset • CISC – Complex Instruction Set Computer • 2. w 1980 nowa wizja procesora: • ograniczona lista rozkazów, • sterowanie sprzętowe • architektura RISC (Reduced Instruction Set Computer) • Współczesne reguły projektowania: • Wszystkie instrukcje wykonywane bezpośrednio w warstwie sprzętowej • (jedynie te rzadziej używane moą być wykonywane jako sekwencje • mikroinstrukcji) • Maksymalizowanie szybkości inicjowania rozkazów • Dokodowanie instrukcji powinno być łatwe, proste rozkazy, najlepiej • o stałej długości i z małą liczbą pól (parametrów) • Tylko rozkazy ładowania i zapisywania danych odwołują się do pamieci • Duża liczba rejestrów (co najmniej 32)

  5. Równoległość na poziomie rozkazów, Potoki wykonawcze: W maszynie IBM Stretch (1959) wprowadzono po raz pierwszy tzw. bufor wstępnego pobierania rozkazów (prefetch buffer) – jeszcze w trakcie wykonywania poprzedniego rozkazu do tego bufora kopiowano następny rozkaz z pamięci. Rozwinięciem tej idei jest tzw. potok (pipeline):

  6. Załóżmy, że czas trwania jednego cyklu to 2 ns, Przejście pojedynczego rozkazu przez cały potok trwa 10 ns Szybkość komputera to 100 MIPS (megainstructions per second)??? Jeżeli długość cyklu to T ns, a potok ma n stopni to opóźnienie wynosi nT ns, Ale jeżeli w każdym cyklu zegara wykonywany jest jeden rozkaz, To w 1 sekundzie wykonuje się 109/T cykli czyli 109/T rozkazów Jeżeli T = 2 ns to maszyna z przykładu osiąga 500 MIPS

  7. Architektury superskalarne Dwa równoległe potoki z wspólną jednostką pobierania rozkazów, Synchronizacja? Pentium – dwa potoki: główny mógł wykonywać dowolny rozkaz, drugi tylko proste rozkazy stałoprzecinkowe. Dziś wrócono do konstrukcji z równoległymi potokami.

  8. Komputery macierzowe: ILLIAC IV - SIMD – Single Instruction Stream Multiple Data Stream Komputery wektorowe Wydajne operacje na parach elementów danych, wszystkie operacje dodawania Trafiają do jednego, wydajnego sumatora (np.. Cray) Systemy wieloprocesorowe (wielokomputerowe)

More Related