Ak – streszczenie by Lilly



Pobieranie 0.95 Mb.
Strona1/8
Data13.06.2018
Rozmiar0.95 Mb.
  1   2   3   4   5   6   7   8

AK – streszczenie by Lilly


  1. Bariery przepustowości i ewolucja systemu Intel x86

    1. Wstęp

      • szybkość procesora – główne ograniczenie we wczesnych fazach rozwoju procesorów

      • szybkość dostępu do pamięci – zwiększenie częstotliwości zegara dzięki rozwojowi technologii wytwarzania układów scalonych wielkiej skali integracji

 opracowanie nowych technologii wytwarzania pamięci (DDRAM – double data rate)

        • metody blokowego dostępu do danych

        • układy buforowania danych

        • dostosowanie szybkości transferów na magistrali do szybkości pamięci (wydłużanie cykli dostępu do pamięci poprzez dodawanie taktów oczekiwania „Wait”)

        • funkcjonalne i fizyczne rozdzielenie wolnych przesłań na magistrali od szybkich wewnętrznych operacji procesora (rozdzielenie EU od BIU oraz bufor kolejki rozkazów)



      • wydłużenie czasu przeszukiwania pamięci – wzrost ich pojemności; opóźnienia w układach pośredniczących w realizacji dostępu

        • buforowanie pamięci głównej przez szybkie pamięci przechowujące kopie fragmentów pamięci głównej procesora

        • wbudowana pamięć podręczna – zmniejsza ilość przesłań przez magistralę (pamięć podręczna L1 zawiera kopie tylko niektórych linii bufora pamięci podręcznej L2)

        • umieszczenie bufora L2 w strukturze wewnętrznej procesora (Pentium)

      • konflikt jednoczesnych żądań dostępu do pamięci – przez EU (wyższy priorytet) i PU


      • sekwencyjne kierowanie rozkazów do potoku przetwarzania

        • potoki równoległe (potok superskalarny) – niektóre rozkazy mogą być wykonywane współbieżnie

        • umożliwienie wykonania rozkazów w kolejności innej niż kolejność ich napływu do potoku – realizacja jednostki wykonawczej jako bufora stacji rezerwacyjnej (Pentium II)

        • prognoza skoków – użycie dwóch buforów kolejki rozkazów umożliwia wyeliminowanie zwłoki związanej z przeładowaniem kolejki w razie nietrafnej prognozy

        • podział faz potoku na krótsze podfazy (superpipelined pipeline) – wzrost liczby faz nie może jednak zwiększyć nadmiernie opóźnień na buforach separujących etapy (Pentium II)

        • przekształcenie sekwencji rozkazów zewnętrznych (CISC) na sekwencję rozkazów prostych (RISC) – przyspieszenie i uproszczenie etapy wykonania (Pentium 4)

    1. Najważniejsze cechy architektury Pentium II / Pentium / 80486



    1. Klasyfikacja i oznaczenia procesorów Pentium

      • P54

        • zasilane napięciem 5V

      • P54C

        • układ współpracy ze sterownikiem przerwań APIC

        • wspomaganie wieloprocesorowości

        • zasilane napięciem 3,3V

        • współpracujące z magistrala 2/3 fclk

      • Pentium OverDrive

        • „przyspieszona” wersja wcześniejszych 80486DX2/DX4 oraz Pentium

      • Celeron

        • brak wbudowanej pamięci L2 (zubożona wersja Pentium II)

      • Pentium MMX

        • wzbogacony o dodatkowe rozkazy dla zastosowań multimedialnych (praktycznie tylko grafika 2D)

      • Pentium III

        • wykonuje rozkazy zmiennoprzecinkowe wspomagające współbieżne (SIMD) przetwarzanie sygnałów (SSE)

      • Pentium 4

        • rozszerzenie listy rozkazó SSE na argumenty zmiennoprzecinkowe podwójnej precyzji (SSE2)

        • architektura NetBurst dla transferów wewnętrznych – szybkie przesyłanie danych pomiędzy buforami

        • wielopoziomowy cache

        • wewnętrzna kolejka operacji

        • stos sprzętowy

CPUID – szczegółowe informacje o wersji procesora i jego możliwościach wykonawczych


    1. Opis architektury wewnętrznej procesora Pentium

      • zasadnicze elementy struktury funkcjonalnej procesora Pentium

        • układ sprzęgu z magistralą (bus unit)

        • pamięć podręczna kodu (code cache) wraz z układem stronicowania

        • układ uprzedzającego pobierania kodu (prefetch)

        • układ generacji adresu (address generation unit)

        • pamięć podręczna danych (data cache) wraz z układem stronicowania

        • współbieżne potoki stałoprzecinkowe (pipelined integer units) i zmiennoprzecinkowa jednostka wykonawcza (floating-point unit) oraz jednostka MMX, albo

        • stacja rezerwacyjna z zestawem specjalizowanych jednostek wykonawczych




      • układ sprzęgu z magistralą zewnętrzną zawiera:

        • sterowniki magistrali adresowej i odbiorniki jej stanu (address drivers and receivers)

adres słowa 64-bitowego wprowadzany na liniach A31:A3

linie BE7:BE0 wskazują aktywne bajty (pozwala odtworzyć sygnały A2:A0 przy innej organizacji pamięci)

dwa banki przechowujące słowa parzyste (BE3:BE0) i nieparzyste (BE7:BE4)

        • dwukierunkowe bufory magistrali danych (data bus transceivers)

linie A31:A5 są dwukierunkowe możliwość odczytania stanu magistrali w cyklach podglądania (dla zapewnienia spójności w systemach z DMA)

        • logikę sterowania (bus control logic) wytwarzającą kody identyfikujące cykl magistrali

określa rodzaj transferu wytwarza sygnały sterujące

standardowy – podczas komunikacji z we., wy. lub niekopiowalnymi (non-cacheable) lokacjami pamięci głównej oraz podczas zapisu do linii nieskopiowanych w pamięci podręcznej (rozmiar danych <8/16/32> odpowiada rozmiarowi argumentu instrukcji)

blokowy – podczas wypełniania linii w pamięci podręcznej oraz zapisu zwrotnego (write-back) danych

        • sterowanie nadzorem magistrali (bus master control)

sygnały do:

zwalniania dostępu do magistrali

przejmowania nadzoru nad magistrala

        • sterowanie zewnętrzną pamięcią podręczną (L2 cache control)

rozstrzyga, czy żądanie zapisu może być wykonane tylko w pamięci podręcznej, czy też zapis dotyczy niekopiowalnego obszaru pamięci głównej

        • sterowanie wewnętrzną pamięcią podręczną (internal cache control)

przypisuje odpowiedni stan linii po wykonaniu danej czynności

markowanie stanu linii jest niezbędne do zachowania spójności pamięci

układ sprzęgu jest połączony z pamięcią podręczną danych i kodu:

64-bitową magistralą danych

27-bitową magistrala adresową (tylko linie A31:A:5)

rozdzielone bufory mają organizację wielodrożną o 32-bajtowej linii wypełnieni linii wymaga jednego przesłania blokowego (4 przesłania 8-bajtowe)

pamięć trójportowa zapewnia niezależny dostęp z każdego z potoków i z układu sterowania wypełnianiem linii

        • bufory zapisu

64-bitowe (po jednym każdy potok)

umożliwiają odłożenie operacji zapisu w razie chybienia, gdy układ sprzęgu realizuje inna operację

        • generatory i kontrolery parzystości (parity generation and control)

zapis – generowanie bitu parzystości dla grup bajtów oraz linii adresowych

odczyt – kontrola parzystości danych

podglądanie – kontrola parzystości linii adresowych


      • układ uprzedzającego pobierania kodu

        • połączenie odczytywalnej pamięci podręcznej przez układ splatania linii z buforami wstępnego pobierania magistrala 256-bitową  wypełnienie bufora w jednym cyklu

        • generuje żądania pobrania pary kolejnych instrukcji i przesłania ich do aktywnych buforów

        • skok  wymusza przełączenie buforów i pobranie pary instrukcji do buforów poprzednio nieaktywnych




      • układ generacji adresu

        • adres rozkazu nie jest adresem najniższego bajtu linii  wymusza jednoczesne pobranie z dwóch kolejnych linii bufora cache i ich złożenie w blok 32-bajtowy (konieczność umieszczenia pełnego kodu rozkazu)




      • współbieżne potoki

        • dekodery rozkazów:


Pobieranie 0.95 Mb.

Share with your friends:
  1   2   3   4   5   6   7   8




©operacji.org 2020
wyślij wiadomość

    Strona główna