Docsity
Docsity

Przygotuj się do egzaminów
Przygotuj się do egzaminów

Studiuj dzięki licznym zasobom udostępnionym na Docsity


Otrzymaj punkty, aby pobrać
Otrzymaj punkty, aby pobrać

Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium


Informacje i wskazówki
Informacje i wskazówki

Ewolucja procesorów: Od 8086 do Pentium III, Notatki z Informatyka

Informatyka: notatki z zakresu systemów i sieć dotyczące istoty procesora.

Typologia: Notatki

2012/2013

Załadowany 12.04.2013

Norbert_88
Norbert_88 🇵🇱

4.5

(31)

322 dokumenty

1 / 8

Toggle sidebar

Ta strona nie jest widoczna w podglądzie

Nie przegap ważnych części!

bg1
ROZWÓJ PROCESORÓW
Technologia produkcji procesorów rozwija s błyskawicznie. Każda nowa
generacja jednostek centralnych, to coraz większa liczba tranzystorów, które
wykonują coraz więcej poleceń w coraz krótszym czasie. Pojawiają się też
nowe rozkazy, które za każdym razem włączanedo systemu. Wersja MMX
była na przykład wyposażona w rekordy z rozkazami przeznaczonymi do
obsługi aplikacji multimedialnych.
Zwiększa się także szybkość procesorów. Pierwszy komputer IBM był
wyposażony w zegar o częstotliwości 5 MHz. Obecnie standardem
komputery o częstotliwości około 2 GHz.
procesor na rynku od ilość tranzystorów szybkość (MHz)
8086 1978 6 000 10
80286 1982 130 000 16
80386 1985 275 000 33
80486 1989 1 600 000 100
Pentium 1993 3 200 000 200
Pentium Pro 1995 5 500 000 200
Pentium MMX 1997 4 500 000 233
Pentium II 1997 7 500 000 450
Pentium III 1999/2000 28 100 000 1000
Pentium 4 2000/2001 42 000 000 2000
TEMAT: Procesor
Postęp w dziedzinie budowy procesorów jest tak szybki, jak w żadnej innej branży. Ma to duże znaczenie, ponieważ prędkość procesora w
komputerze decyduje o jego sprawności.
Sercem komputera jest procesor, nazywany również jednostką centralną CPU (Central Processing Unit), o niewiarygodnej szybkości, który
zbudowany jest z milionów tranzystorów o mikroskopijnej wielkości. Tranzystor działa podobnie jak kontakt też posiada dwa położenia. To
wystarczy do tworzenia wartości dwójkowych (binarnych). Tranzystor y uporządkowane są według bardzo skomplikowanego schematu po to, aby
maksymalnie zoptymalizować sprawność procesora.
Gdy piszemy słowo w dokumencie utworzonym w programie Word, to prawie natychmiast pojawia się ono na ekranie. To samo dotyczy
operacji w Excelu lub jakimkolwiek innym programie wynik pojawia się na ekranie natychmiast. A przecież procesor użyty
w komputerze nie ma pojęcia o takich programach jak Word czy Excel. Aplikacje te są jednak napisane w języku zrozumiałym
dla procesora. Oznacza to, że Word, Excel itd. przekształcają nasze informacje w polecenia (nazywane rozkazami), za pomocą
których porozumiewają się z procesorem. Podczas, gdy my pracujemy w swoim programie, jednostka sterująca i arytmetyczno-
logiczna procesora troszczą się o to, aby odczytać informacje z pamięci, przetworzyć je i przesłać dalej. Jeden z modułów
procesora jest odpowiedzialny za pobier anie rozkazów z pamięci i przekazywanie ich na płytę główną, natomiast inny jego
element wykonuje działania arytmetyczne i logiczne.
Zasadniczo można wyróżnić trzy funkcje procesora:
pobieranie danych,
wykonywanie rozkazów,
zapamiętywanie wyników.
Polecenia przesyłane są najpierw do pamięci, które w procesorze nasi nazwę „rejestr”. Taki rejestr posiada bardzo krótkie czasy dostępu
do zawartych w nim informacji. Gdy jednostka sterująca nie może znaleźć danych w rejestrze, to procesor szuka poleceń
na płycie głównej. Do chwili wykorzystania danych przez procesor one czasowo przechowywane w pamięci podręcznej
(cache). Skomplikowane rozkazy jednostki sterującej przekształcane są następnie w proste polecenia i przesyłane do jednostki
arytmetyczno-logicznej w celu ich wykonania. Jednostka arytmetyczno-logiczna składa się z mniejszych modułów. Jeden z nich
wykonuje działania arytmetyczne, a drugi operacje logiczne. Część jednostki arytmetyczno-logicznej, która odpowiada za
operacje logiczne, może wykonywać kilka operacji równocześnie , ale nie potrafi obsługiwać żadnych działań arytmetycznych.
Liczby dziesiętne, na przykład przetwarzane są przez moduły, które potrafią wykonywać działania z ruchomymi przecinkami.
W procesorze istnieje specjalny obszar przeznaczony do wykonywania założonych operacji matematyc znych. Polecenia
przekazywane do p amięci (rejestrów procesora). Dane tam przetwarzane przez rekordy z poleceniami. Wynik jest
ponownie zapamiętywany w rejestrach, a procesor zajmuje się wykonywaniem kolejnego, czekającego już rozkazu.
Im więcej taktów na sekundę, tym szybciej procesor wykonuje skierowane do niego polecenia. Realizacja rozkazu odbywa się w kilku
etapach, a taktowanie wyznacza każdy kolejny krok procesora. Częstotliwość pracy procesora jest olbrzymia: to kilka milionów
taktów na sekundę. Szybkość jednostki centralnej mierzymy w gigahercach (GHz). Nowoczesne procesory mogą wykonywać
równocześnie kilka rozkazów. Dzieje się tak dzięki jego wewnętrznemu p odziałowi, który zapewnia podział kompetencji i ściśle
określa zakres działań. Każdy element procesora wykonuje tylko swoją część pracy, a złożenie wyników pracy każdego elementu
powoduje wykonanie całego rozkazu. W ten sposób obciążenie rozkłada się równomiernie na wszystkie jednostki wewnętrzne
procesora, a dzięki temu szybkość realizacji programów rośnie.
Procesor to układ scalony, którego działanie polega na wykonywaniu instrukcji programów. Nadzoruje on i synchronizuje pracę
wszystkich urządzeń w komputerze. Charakterystyczne cechy, które odróżniają procesory od siebie to:
- architektura (CISC lub RISC),
- liczba bitów przetwarzana w jednym takcie,
- częstotliwość taktowania podawana w MHz.
Wszystkie współcze sne procesory mają podobną architekturę, opartą na superskalarnym jądrze RISC ( Reduced Instruction Set Computing
architektura o uproszczonej liście r ozkazów). Jeszcze kilka lat temu procesory (począwszy od 8086, a skończywszy na Pentium Pro) zaliczano do
rodziny CISC (Complex Instruction Set Computing architektura o złożonej liście rozkazów). Dzisiaj, dzięki zastosowaniu w nich techniki
pf3
pf4
pf5
pf8

Podgląd częściowego tekstu

Pobierz Ewolucja procesorów: Od 8086 do Pentium III i więcej Notatki w PDF z Informatyka tylko na Docsity!

ROZWÓJ PROCESORÓW

Technologia produkcji procesorów rozwija się błyskawicznie. Każda nowa

generacja jednostek centralnych, to coraz większa liczba tranzystorów, które

wykonują coraz więcej poleceń w coraz krótszym czasie. Pojawiają się też

nowe rozkazy, które za każdym razem włączane są do systemu. Wersja MMX

była na przykład wyposażona w rekordy z rozkazami przeznaczonymi do

obsługi aplikacji multimedialnych.

Zwiększa się także szybkość procesorów. Pierwszy komputer IBM był

wyposażony w zegar o częstotliwości 5 MHz. Obecnie standardem są

komputery o częstotliwości około 2 GHz.

procesor na rynku od ilość tranzystorów szybkość (MHz)

Pentium 1993 3 200 000 200

Pentium Pro 1995 5 500 000 200

Pentium MMX 1997 4 500 000 233

Pentium II 1997 7 500 000 450

Pentium III 1999/2000 28 100 000 1000

Pentium 4 2000/2001 42 000 000 2000

TEMAT: Procesor

Postęp w dziedzinie budowy procesorów jest tak szybki, jak w żadnej innej branży. Ma to duże znaczenie, ponieważ prędkość procesora w komputerze decyduje o jego sprawności.

Sercem komputera jest procesor, nazywany również jednostką centralną CPU ( Central Processing Unit ), o niewiarygodnej szybkości, który zbudowany jest z milionów tranzystorów o mikroskopijnej wielkości. Tranzystor działa podobnie jak kontakt  też posiada dwa położenia. To wystarczy do tworzenia wartości dwójkowych (binarnych). Tranzystory uporządkowane są według bardzo skomplikowanego schematu po to, aby maksymalnie zoptymalizować sprawność procesora. Gdy piszemy słowo w dokumencie utworzonym w programie Word, to prawie natychmiast pojawia się ono na ekranie. To samo dotyczy operacji w Excelu lub jakimkolwiek innym programiewynik pojawia się na ekranie natychmiast. A przecież procesor użyty w komputerze nie ma pojęcia o takich programach jak Word czy Excel. Aplikacje te są jednak napisane w języku zrozumiałym dla procesora. Oznacza to, że Word, Excel itd. przekształcają nasze informacje w polecenia (nazywane rozkazami), za pomocą których porozumiewają się z procesorem. Podczas, gdy my pracujemy w swoim programie, jednostka sterująca i arytmetyczno- logiczna procesora troszczą się o to, aby odczytać informacje z pamięci, przetworzyć je i przesłać dalej. Jeden z modułów procesora jest odpowiedzialny za pobieranie rozkazów z pamięci i przekazywanie ich na płytę główną, natomiast inny jego element wykonuje działania arytmetyczne i logiczne. Zasadniczo można wyróżnić trzy funkcje procesora:pobieranie danych,wykonywanie rozkazów,zapamiętywanie wyników. Polecenia przesyłane są najpierw do pamięci, które w procesorze nasi nazwę „rejestr”. Taki rejestr posiada bardzo krótkie czasy dostępu do zawartych w nim informacji. Gdy jednostka sterująca nie może znaleźć danych w rejestrze, to procesor szuka poleceń na płycie głównej. Do chwili wykorzystania danych przez procesor są one czasowo przechowywane w pamięci podręcznej (cache). Skomplikowane rozkazy jednostki sterującej przekształcane są następnie w proste polecenia i przesyłane do jednostki arytmetyczno-logicznej w celu ich wykonania. Jednostka arytmetyczno-logiczna składa się z mniejszych modułów. Jeden z nich wykonuje działania arytmetyczne, a drugi operacje logiczne. Część jednostki arytmetyczno-logicznej, która odpowiada za operacje logiczne, może wykonywać kilka operacji równocześnie, ale nie potrafi obsługiwać żadnych działań arytmetycznych. Liczby dziesiętne, na przykład przetwarzane są przez moduły, które potrafią wykonywać działania z ruchomymi przecinkami. W procesorze istnieje specjalny obszar przeznaczony do wykonywania założonych operacji matematycznych. Polecenia przekazywane są do pamięci (rejestrów procesora). Dane są tam przetwarzane przez rekordy z poleceniami. Wynik jest ponownie zapamiętywany w rejestrach, a procesor zajmuje się wykonywaniem kolejnego, czekającego już rozkazu. Im więcej taktów na sekundę, tym szybciej procesor wykonuje skierowane do niego polecenia. Realizacja rozkazu odbywa się w kilku

etapach, a taktowanie wyznacza każdy kolejny krok procesora. Częstotliwość pracy procesora jest olbrzymia: to kilka milionów taktów na sekundę. Szybkość jednostki centralnej mierzymy w gigahercach (GHz). Nowoczesne procesory mogą wykonywać równocześnie kilka rozkazów. Dzieje się tak dzięki jego wewnętrznemu podziałowi, który zapewnia podział kompetencji i ściśle określa zakres działań. Każdy element procesora wykonuje tylko swoją część pracy, a złożenie wyników pracy każdego elementu powoduje wykonanie całego rozkazu. W ten sposób obciążenie rozkłada się równomiernie na wszystkie jednostki wewnętrzne procesora, a dzięki temu szybkość realizacji programówrośnie. Procesor to układ scalony, którego działanie polega na wykonywaniu instrukcji programów. Nadzoruje on i synchronizuje pracę wszystkich urządzeń w komputerze. Charakterystyczne cechy, które odróżniają procesory od siebie to:

  • architektura (CISC lub RISC),
  • liczba bitów przetwarzana w jednym takcie,
  • częstotliwość taktowania podawana w MHz. Wszystkie współczesne procesory mają podobną architekturę, opartą na superskalarnym jądrze RISC ( Reduced Instruction Set Computing  architektura o uproszczonej liście rozkazów). Jeszcze kilka lat temu procesory (począwszy od 8086, a skończywszy na Pentium Pro) zaliczano do rodziny CISC ( Complex Instruction Set Computing  architektura o złożonej liście rozkazów). Dzisiaj, dzięki zastosowaniu w nich techniki

przekodowywania rozkazów, uzyskano ogromne zwiększenie wydajności procesora, a konstrukcja RISC umożliwia stosowanie wysokich częstotliwości zegara. ZAŁOŻENIA RISC Początkowe założenia architektury RISC były bardzo proste: wszystkie operacje, oprócz przesyłania danych pod określone adresy pamięci, odbywają się wewnątrz procesora; słowo instrukcji i słowo danych mają stałą długość, a jednostki wykonawcze mają być tak skonstruowane, aby w każdym cyklu zegara kończyło się wykonywanie jednej instrukcji. To ostatnie założenie doprowadziło szybko do skonstruowania potokowych jednostek wykonawczych, pozwalających na realizację w tym trybie nawet dość złożonych instrukcji. Słowa instrukcji i słowa danych o tej samej długości - to marzenie programistów systemowych w architekturze RISC mogło zostać spełnione bez żadnych trudności. Równość słów danych i instrukcji pozwoliła na kolejny, śmiały krok - zastosowanie uproszczonych w obsłudze, za to bardzo efektywnych w użyciu, pamięci podręcznych cache. Ale przecież w architekturze x86 też istnieje system pamięci podręcznych! Różnica jest jednak zasadnicza - o ile w pamięciach cache L1 i L2 przechowywane są abstrakcyjne liczby binarne, o tyle w spójnym, zunifikowanym kodzie maszyn RISC podział na instrukcje i dane jest całkowicie oczywisty, a dzięki stałej długości słów instrukcji znacznie uproszczona zostaje jedna z najważniejszych części procesora - dekoder instrukcji. Ważniejszym jednak czynnikiem, stanowiącym o przewadze RISC-ów nad konkurencją, stała się nadmiarowość kodu instrukcji, która pozwoliła na włączenie do kodu, już na etapie kompilacji programu, wskazówek dotyczących jego wykonania. Początkowo, w procesorach ARM (Acorn RISC Machine – które do chwili obecnej uznawane są za najelegantsze i najefektywniejsze konstrukcje), był to tylko jeden bit w instrukcjach, które mogły być wykonywane warunkowo. Rozwinięciem tej idei, zapoczątkowanej właśnie w ARM i innych wczesnych procesorach RISC, jest obecna architektura EPIC, w której instrukcje są przez kompilator wyposażane w szczegółowy opis warunków ich wykonania. Architektura RISC dość szybko uświadomiła wszystkim możliwość łatwej skalowalności - pozwoliła na konstrukcję procesorów wyposażonych w zwielokrotnione jednostki wykonawcze.

HISTORIA MIKROPROCESORÓW I ICH CHARAKTERYSTYKA PROCESORY 8086/ Procesor 8086 został zaprezentowany przez firmę INTEL już w 1976 r. Był pierwszym procesorem 16-bitowym o wielkiej na ówczesne czasy przestrzeni adresowej 1MB. W dziesięć lat później, kiedy rynek został opanowany przez 8-bitowe systemy PC, INTEL zaprojektował procesor 8088 będący odpowiednikiem 8086, ale mogący współpracować z magistralami 8-bitowymi. Ten hybrydowy procesor umożliwiał pracę oprogramowania wykorzystującego rejestry 16-bitowe, mogące mieć dostęp do pamięci do 1MB i to za cenę systemu 8-bitowego. Procesor 8088 stał się sercem systemów PC i PC XT. Częstotliwość zegara wynosiła w pierwszych modelach 4.77MHz w późniejszych 4.77/8MHz, a w ostatnich modelach 10MHz.

ARCHITEKTURA MIKROPORCESORA 8086

Mikroprocesor 8086 składa się z dwóch współpracujących zespołów, działających równocześnie: √ zespołu wykonawczego EU (execution unit), √ zespołu łącza z magistralą systemową BIU (bus interface unit). ZESPÓŁ WYKONAWCZY Zespół wykonawczy EU zawiera blok arytmetyczno – logiczny ALU wraz z rejestrem znaczników FR (flag register), blok rejestrów ogólnego przeznaczenia i blok sterowania. Blok ALU dołączony jest do magistrali wewnętrznej mikroprocesora, z której pobiera argumenty operacji, a także wysyłany jest na nią wynik operacji. Ponadto może się na tej magistrali pojawić zawartość rejestru znaczników.

- - - - OF DF IF TF SF ZF - AF - PF - CF

Rejestr znaczników mikroprocesora 8086

Rejestr znaczników w tym mikroprocesorze jest 9-bitowy, a znaczenie występujących w nim bitów jest następujące:

  • CF (znacznik przeniesienia) – przyjmuje wartość 1, gdy powstaje przeniesienie w wyniku wykonania operacji arytmetycznej,
  • PF (znacznik parzystości) – przyjmuje wartość 1, gdy liczba „jedynek” w wyniku operacji jest parzysta,
  • AF (znacznik przeniesienia połówkowego) – przyjmuje wartość 1, gdy powstaje tzw. przeniesienie pomocnicze, między 3. i 4. bitem,
  • ZF (znacznik zera) – przyjmuje wartość 1, gdy wynik operacji jest równy 0,
  • SF (znacznik znaku) – przyjmuje wartość 1, gdy wynik operacji jest liczbą ujemną,
  • TF (znacznik pułapki) – ustawiany jest za pomocą odpowiedniego bitu w słowie stanu programu,
  • IF (znacznik przerwań) – stanem 1 informuje o zezwoleniu na przyjęcie przerwania,
  • DF (znacznik kierunku) – informuje o zwiększaniu lub zmniejszaniu o 1 zawartości rejestrów indeksowych SI i DI,
  • OF (znacznik nadmiaru) – przyjmuje wartość 1, gdy podczas obliczeń w kodzie U2 następuje przekroczenie zakresu. Blok rejestrów ogólnego przeznaczenia składa się z czterech par rejestrów ośmiobitowych, które są dostępne również jako 4 rejestry 16-bitowe oraz z czterech rejestrów 16-bitowych:

AX AH AL rejestr akumulatora BX BH BL rejestr bazowy CX CH CL rejestr zliczający DX DH DL rejestr danych SP wskaźnik stosu (stack pointer) BP wskaźnik bazy (base pointer) SI rejestr adresu operandu źródłowego (source index) DI rejestr adresu przeznaczenia (destination index) Rejestry ogólnego przeznaczenia mikroprocesora 8086

Jednostka arytmetyczno – logiczna odpowiada za realizację operacji arytmetycznych i logicznych. ZESPÓŁ ŁĄCZA Z MAGISTRALĄ SYSTEMOWĄ Zadaniem tej jednostki jest zapewnienie odpowiedniej komunikacji z bezpośrednim otoczeniem mikroprocesora oraz przyspieszenie jego pracy. Przyspieszenie to uzyskano w wyniku nałożenia procesów pobierania i wykonywania rozkazów. W skład bloku BIU wchodzą:  blok rejestrów segmentowych,  licznik rozkazów,  sumator,  układ kolejki rozkazów,  układ sterowania. Celem rozdzielenia obszarów przeznaczonych dla programu, danych i stosu wprowadzono mechanizm segmentacji. Mikroprocesor zawiera cztery rejestry segmentowe, w których przechowywane są adresy początków segmentów. Zawartości tych rejestrów wraz z adresem efektywnym, obliczanym przez procesor, w zależności od trybu adresowania, stanowią adresy fizyczne pamięci. Taki sposób adresowania ułatwia relokację programów i danych. W mikroprocesorze 8086 są rozróżnione 4 logiczne obszary pamięci. Każdemu z nich przypisany jest jeden rejestr segmentowy:  CS (code segment) – rejestr adresu segmentu programu,

i pobieranie z pamięci kolejnych rozkazów. Fakt wcześniejszego zdekodowania rozkazu umożliwia zmianę stanu procesora lub zawartości pamięci operacyjnej, przed przystąpieniem do wykonywania tego rozkazu. JEDNOSTKA WYKONAWCZA Współpracuje z pamięcią systemu za pośrednictwem jednostki adresacji AU. Elementami składowymi EU są:  jednostka arytmetyczno – logiczna,  blok rejestrów ogólnego przeznaczenia,  specjalizowany układ sterujący. Jednostka wykonawcza zawiera ten sam zbiór rejestrów podstawowych co procesor 8086: rejestry ogólnego przeznaczenia (AX, BX, CX, DX, SP, BP, SI, DI), rejestry segmentowe (CS, DS, SS, ES), rejestry stanu i sterujące (FR i IP) oraz – niewystępujący w poprzednich układach – rejestr słowa statusowego MSW (machine status word). Jednakże w rejestrze znaczników FR pojawiły się dwa nowe znaczniki: NT (b 14 ) – nested task – ustawiany w stan 1, gdy wykonywane zadanie zostało wywołane przez inne zadanie oraz dwubitowy znacznik IOPL (b 13 , b 12 ) - input/output privilege level – jest to numer uprawnienia zadania, któremu wolno wykonywać zadania we/wy i przyjmowania przerwań.

- NT IOPL OF DF IF TF SF ZF - AF - PF - CF

Rejestr znaczników mikroprocesora 80286

Słowo MSW zawiera informację na temat trybu pracy procesora (rzeczywisty, wirtualny) oraz usprawnia pracę koprocesora, który może zostać emulowany, podzielony między zadania oraz przełączany (podobnie jak procesor) w dwa tryby pracy. JEDNOSTKA ADRESACJI Pełni różne funkcje, zależnie od trybu pracy procesora. Jeżeli jest to tryb adresów rzeczywistych, to funkcja AU sprowadza się do prostego dodawania adresu bazowego danego segmentu – jak w procesorze 8086. Jeżeli natomiast ‘286 pracuje w trybie adresów wirtualnych, to jednostka ta pozwala na separację zadań w segmentach o dowolnie określonej długości, umieszczonych w wirtualnej przestrzeni adresowej. Prowadzona jest wtedy kontrola poprawności odwołań do każdego segmentu w sensie jego granic, rodzaju i praw dostępu. W efekcie swojej pracy jednostka adresacji wystawia na szynę adresową fizyczny adres pamięci. PROCESOR 80386 Procesor 80386 jest procesorem 32-bitowym przeznaczonym do pracy w systemach wielozadaniowych. Były rewolucją na rynku mikrokomputerów ze względu na swoje wielkie możliwości. Swoją premierę miał w 1985 r. Procesor 80386 może wykonywać ten sam zestaw instrukcji co procesor 80286. Układ ‘386 był zaprojektowany z myślą o zastosowaniach wymagających dużej mocy obliczeniowej i pracy w wirtualnej przestrzeni adresowej. Jego maksymalna szybkość wynosi 3..4 MIPS (milionów operacji wykonywanych w ciągu jednej sekundy). Może być programowo przełączony w tryb pracy chronionej, jak i z pracy chronionej w tryb rzeczywisty. Jest to o tyle istotne, że 80286 przy przejściu z pracy chronionej w tryb rzeczywisty wymagał restartowania systemu. Procesor ‘386 może zaadresować 4GB pamięci fizycznej, 64 TB (2^46 ) pamięci wirtualnej i 64 kB rejestrów przestrzeni we/wy. Ponadto nastąpiło zwiększenie maksymalnego rozmiaru segmentu do 4 GB. Zasadniczymi nowościami są: rozszerzenie szyn adresowej i danych do 32 bitów oraz wprowadzenie układu stronicowania pamięci. Poza tym procesor ‘386 ma wbudowany układ zarządzania pamięcią MMU (memory management unit), który realizuje segmentację i stronicowanie pamięci. Wprowadzono funkcje samotestowania układu scalonego, co zwiększa jego wiarygodność oraz podnosi niezawodność systemu sterowanego przez taki układ. Oprócz pracy w trybie rzeczywistym i wirtualnym, mikroprocesor ‘386 może pracować jeszcze w jednym trybie – wirtualnych zadań 8086. W tym trybie wykonywane mogą być programy wynikowe wytworzone przez kompilatory dla mikroprocesora 8086, przy zachowaniu mechanizmów separacji zadań i ochrony segmentów. W trybie adresów rzeczywistych układ działa dokładnie tak samo jak ‘286 w tym samym trybie. W trybie adresów wirtualnych realizowany jest czterowarstwowy mechanizm ochrony. Segmenty danych, programu i stosu są odseparowane od siebie i chronione prawami dostępu. Segmenty te umieszczone są w różnych warstwach uprzywilejowania i przypisane konkretnym zadaniom lub mogą być ogólnie dostępne. Zadania realizowane w systemie są od siebie odseparowane. ARCHITEKTURA MIKROPORCESORA 80386 Mikroprocesor ‘386 zawiera (podobnie jak ‘286) 4 jednostki wewnętrzne przetwarzające potokowo strumień rozkazów pobieranych z pamięci. JEDNOSTKA WSPÓŁPRACY Z MAGISTRALĄ Jej przeznaczenie jest takie samo jak jednostki BU w układzie ‘286. Układ kolejki rozkazów ma pojemność 16 bajtów (a nie jak w ‘286 - 6 bajtów). JEDNOSTKA DEKODOWANIA ROZKAZÓW Pobiera rozkazy z BU, dekoduje je i umieszcza w dwusłowowej kolejce rozkazów, skąd są pobierane przez jednostkę wykonawczą. JEDNOSTKA WYKONAWCZA Zawiera ten sam zestaw rejestrów co ‘286, ale należy pamiętać, że rejestry te są już 32-bitowe, a nie 16-bitowe jak w ‘286. Usunięta została niedogodność architektury poprzednika, polegająca na tym, że do obliczania adresu można było używać tylko niektóre rejestry.

EAX AH AL

EDX DH DL

ECX CH CL

EBX BH BL

EBP BP

ESI SI

EDI DI

ESP SP

EIP IP

EFLAGS FLAGS

Rejestry wewnętrzne jednostki wykonawczej Każdy z ośmiu rejestrów ogólnego przeznaczenia może służyć do przechowywania adresu lub jego składnika. Adres argumentu lub wyniku obliczany jest zgodnie z następującym równaniem: EA = BR + (IR * S) + D, gdzie: EA – adres efektywny, BR – zawartość rejestru bazowego, IR – zawartość rejestru indeksowego, S – współczynnik skali (S  {1, 2, 4, 8}), D – przemieszczenie. Rejestrem bazowym może być dowolny z ośmiu rejestrów, a rejestrem indeksowym nie może być jedynie rejestr ESP. Przemieszczenie może mieć długość 8 lub 32 bitów. Oprócz rejestrów ogólnego przeznaczenia występuje tutaj licznik rozkazów i rejestr znaczników.

Rejestr znaczników jest znowu rozwinięciem rejestru znaczników układu ‘286. W porównaniu z poprzednikiem zawiera kolejne dwa nowe znaczniki:  VM (virtual 8086 mode) – ustawiany, gdy mikroprocesor pracuje w trybie wirtualnych zadań 8086,  RF (resume flag) – służy do uruchamiania programów i współpracuje z rejestrami zawierającymi pułapki sprzętowe.

VM RF - NT IOPL OF DF IF TF SF ZF - AF - PF - CF

Rejestr znaczników mikroprocesora 80386 Ponadto jednostka EU procesora ‘386 ma układ przyspieszonego mnożenia oraz 64-bitowy szybki układ przesuwający. JEDNOSTKA ADRESACJI Zawiera kilka nowych elementów względem ‘286. Są nimi:  układ stronicowania,  dwa dodatkowe rejestry segmentowe,  dwa dodatkowe rejestry sterujące,  zestaw rejestrów do testowania pamięci skojarzeniowej układu stronicowania. Jednostka AU otrzymuje adres logiczny (efektywny) od układu EU i przetwarza go na adres liniowy. Celem tego przetwarzania jest umożliwienie łatwej relokacji fragmentów programu i danych oraz separacja i dzielenie kodu programu i danych między zadaniami. Jeżeli układ stronicowania jest wyłączony, to adres liniowy jest adresem fizycznym, w przeciwnym przypadku jest on przetwarzany przez układ stronicowania. Rejestrów segmentowych jest o 2 więcej niż w układzie ‘286. Oprócz już występujących rejestrów CS, DS, ES i SS są FS i GS, które pełnią rolę segmentów danych. Zadania, mechanizmy komunikacji pomiędzy zadaniami, segmenty danych i programów są opisane przez deskryptory. Deskryptory są zawarte w tablicach systemowych przechowywanych w pamięci:  GDT (global description table) – tablica deskryptorów globalnych – występuje tylko jedna,  LDT (local description table) – lokalne tablice deskryptorów przypisane poszczególnym zadaniom lub grupom zadań,  IDT (interrupt description table) – tablica deskryptorów przerwań – istnieje tylko jedna. Stan zadania czyli zawartość rejestrów wewnętrznych mikroprocesora, pamiętany jest w segmencie opisu zadania TSS (task state segment). Procesor 80386SX jest zmodyfikowaną wersją procesora 80386 mającą zmniejszoną szynę danych do 16-bitów i szynę adresową do 24-bitów. Jest więc wersją zapewniającą możliwości procesora 386, w tym tryb wirtualnej rzeczywistej, ale za cenę 286. Ze względu na wielkość magistrali adresowej może adresować 16MB pamięci fizycznej. PROCESOR 80486 Układ ‘486 powstał jako scalenie układu ‘386 i koprocesora numerycznego ‘387. Przestał istnieć podział na procesor i koprocesor. Od tego momentu oba elementy stanowią jeden układ scalony. Oprócz scalenia procesora i koprocesora nastąpiło również scalenie pamięci kieszeniowej. Z punktu widzenia oprogramowania 80486 jest szybszy od 80386 - ma sześć instrukcji więcej. Jednak sama konstrukcja tego procesora zawiera sporo ulepszeń i nowości. Najciekawszą jest przetwarzanie potokowe. Procesor 80486 pracuje szybciej niż procesor 80386 przy tej samej częstotliwości zegara. Innym warunkiem zwiększenia częstotliwości, a więc i prędkości pracy, jest dalsze zmniejszenie rozmiarów elementów procesora. Procesor 80486 był jednym z pierwszych układów o szerokości ścieżek mniejszych od jednego mikrona (jednej milionowej metra). 8 kB pamięci cache może być podzielony na cztery 2-kB bloki, które mogą być niezależnie wykorzystywane. Pamięć jest wykorzystywana w trybie write-through. W trakcie odczytu z pamięci najpierw sprawdzana jest pamięć cache. Jeśli potrzebne dane są w niej zawarte, są odczytywane, jeśli nie, to odczytywany jest z pamięci cały blok o rozmiarze równym pojemności pamięci cache. W trakcie zapisu dane są jednocześnie zapisywane do pamięci cache i pamięci operacyjnej. Różnice między ‘386 i ‘486: a) sześć nowych rozkazów, b) skrócono czas wykonywania niektórych, najczęściej wykonywanych rozkazów (np. rozkazy operujące na rejestrach roboczych są wykonywane o jeden takt zegara krócej), c) w celu zrównoważenia szybkości pracy jednostki wykonawczej i pobierającej rozkazy, wydłużono kolejkę pobieranych rozkazów z 16 do 32 bajtów, d) umieszczenie w jednej obudowie procesora i koprocesora przyspieszyło współpracę między tymi układami – nie są wykonywane cykle dostępu do rejestrów we/wy, co miało miejsce, gdy koprocesor był w innym układzie scalonym, e) zmodyfikowano współpracę procesora z magistralą systemową – wprowadzono kontrolę parzystości i dodatkowe cykle związane z obsługą pamięci kieszeniowej oraz cykle seryjnego dostępu do pamięci, f)zwiększono wykrywalność błędów programowych – włączona może być kontrola poprawności adresów przy dostępie do danych wielobajtowych; w tym celu w rejestrze znaczników wprowadzono znacznik AC (alignment check), a w rejestrze stanu bit AM (alignment mask), g) rozbudowano układ testowania – wprowadzono rejestry testowe do nadzoru nad pamięcią kieszeniową, h) zwiększono efektywność pracy bufora TLB (współpracującego z układem stronicowania) – zmieniono algorytm usuwania z tego bufora adresów bazowych ostatnio używanych stron pamięci; teraz są one usuwane dopiero wówczas, gdy brakuje miejsca na zapis adresu bazowego nowej, aktualnie używanej strony. PROCESOR PENTIUM Architektura Pentium stanowi rozwinięcie architektury ‘486. Pentium ma dwa pracujące równolegle potoki. Każdy z nich jest strukturalnie podobny do potoku mikroprocesora ‘486. W miarę możliwości, w każdym cyklu procesora są kierowane dwie instrukcje do wykonania – do każdego potoku po jednej. Nowością jest przewidywanie skoków przy użyciu bufora docelowego skoków. Procesor Pentium ma rozdzielone kieszenie kodu i programu, co umożliwia równoczesny dostęp jednostki wykonawczej do kodu programu i do przetwarzanych danych. Pomimo, że architektura Pentium jest całkowicie 32-bitowa, jego zewnętrzna szyna danych ma szerokość 64 bitów, co umożliwia sprawny transfer danych pomiędzy wewnętrznymi kieszeniami procesora i jego otoczeniem. Pentium – podobnie jak ‘486 – występuje w wariantach z bardzo różnymi częstotliwościami zegara, co więcej, w wariantach z różnymi wartościami napięcia pracy, w wersji klasycznej i MMX. Pentium wymaga obsadzenia dwóch banków pamięci i to SIMM-ami 32-bitowymi. Płyta główna pod procesor PENTUIM zawierała sloty PCI oraz wyposażona była w kontroler dysku twardego i wszystkie porty (równoległe i szeregowe), więc nie trzeba już było zaopatrywać się w kartę Multi I/O. PENTIUM MMX MMX rozszerza zbiór rozkazów x86 o 57 nowych. Chociaż nie dotyczą one wyłącznie multimediów, zostały opracowane z myślą o multimedialnych programach. Przykładowo: jeden z rozkazów umożliwia procesorowi wykonywanie funkcji szybkiego mnożenia z sumowaniem, czyli oblicza sumy szeregu iloczynów. Funkcja odgrywa zasadniczą rolę w podstawowych algorytmach cyfrowego przetwarzania sygnałów DSP (digital signal processing) - na przykład w telefonii. Mówiąc ściślej MMX wykorzystuje technikę zwaną SIAD (single instruction, multiple data – jeden rozkaz, wiele danych), umożliwiającą procesorowi wykonywanie jednego obliczenia równocześnie na dwóch, czterech a nawet ośmiu elementach danych bez żadnej utraty szybkości. MMX dokonuje tej sztuki umieszczając kilka argumentów w jednym rejestrze 64-bitowym i wykonując na nich działanie równocześnie. Na przykład: program graficzny może umieszczać w rejestrze osiem jednobajtowych (8-bitowych) wartości koloru i polecać procesorowi dodanie do każdego z nich liczby 10, rozjaśniając odpowiadającą im część obrazu. Cała operacja trwałaby jeden cykl zegara. MMX nie wymaga dodatkowych rejestrów, chociaż wykonuje działania na 64 bitach równocześnie, a rejestry ogólnego

Najszybszy pecet K6-III dorównał komputerom Pentium III o wyższych częstotliwościach zegara. Wyraźnie widać, że najszybszy K6-III 400 odpowiada Pentium III 450, zaś najszybszy K6-III 450 działa jak Pentium III 500. Na dodatek komputery z K6-III są tańsze od porównywalnych systemów z PIII. Jednak tam, gdzie szybkość ma największe znaczenie - w multimediach i grafice 3D - K6-III rozczarował. Dokładniej, K6-III 450 był o 44 procent wolniejszy w testach graficznych od przeciętnego Pentium II 450. Z testów wypływa następujący wniosek: w zastosowaniach biznesowych K6-III jest nie do pobicia pod względem ceny i szybkości, brak mu jednak mocy do gier, czy złożonych prac graficznych, np. edycji multimediów. Oprócz K6-III AMD zaoferował też nowy układ przystosowany do notebooków o nazwie K6-2 Mobile. Wspaniałe osiągi w aplikacjach biznesowych K6-III zawdzięcza pamięci podręcznej - a w zasadzie pamięciom. Wszystkie procesory od czasów Pentium MMX miały wbudowane w układ 64 KB pamięci podręcznej pierwszego poziomu. Pentium II i III uzupełniły ją o 512 KB pamięci drugiego poziomu, które umieszczono obok układu na tej samej płytce i które pracują z połową szybkości procesora. Celeron ma pamięć podręczną 128 KB w samym układzie - ćwierć tego, co Pentium, ale za to działające z pełną szybkością procesora. K6-III bije jednak wszystko: oprócz 64 KB pamięci podręcznej pierwszego poziomu układ zawiera 256 KB cache'u L2, który - jak w Celeronie - pracuje z pełną szybkością. Procesor obsługuje także trzeci poziom pamięci podręcznej na płycie głównej, ale tylko wtedy, gdy producent systemu ją tam umieści. PENTIUM III Firma Intel zaprezentowała 15 nowych modeli procesorów Pentium III (znanych pod nazwą kodową Coppermine) i Pentium III Xeon (Cascades) wykonanych w technologii 0,18 mikrona. Pozwala ona uzyskać większe szybkości i wprowadzić nowe funkcje zwiększające wydajność oraz zapewniające mniejszy pobór mocy. Po raz pierwszy w historii tej firmy zaprezentowano jednocześnie tak wiele procesorów. Zastosowanie ulepszonej podręcznej pamięci cache (Advanced Transfer Cache) zwiększyło wydajność procesora. Test Ziff-Davis CPUMark99 wykazał bowiem wzrost wydajności o 25 procent w porównaniu z wcześniejszymi układami Pentium III i Pentium III Xeon taktowanymi taką samą częstotliwością zegara. Procesory Pentium III przeznaczone do komputerów przenośnych są obecnie dostępne w trzech wersjach taktowanych zegarem o częstotliwości 400, 450 i 500. Nowe procesory przynoszą znaczny wzrost wydajności — w niektórych przypadkach przekraczający 100% w porównaniu z najszybszymi dotąd „notebookowymi” układami produkowanymi przez Intela. Szybkość magistrali w systemach z nowymi procesorami wynosi 100 MHz, jest to więc o 50% więcej niż w notebookach z Pentium II. Procesor Pentium III taktowany zegarem 400 MHz i zasilany bardzo niskim napięciem (1,35 V) jest przeznaczony do wykorzystania w bardzo małych komputerach przenośnych. Układy te zużywają mniej mocy niż ich odpowiedniki przeznaczone do maszyn stacjonarnych, są mniejsze i mają zaawansowane funkcje oszczędzania energii. Procesor Pentium III w najmniejszej dostępnej obudowie (Ball Grid Array — BGA) jest wielkości znaczka pocztowego. W typowych komputerach osobistych będą obecnie stosowane procesory Coppermine taktowane zegarem o częstotliwościach 533, 550, 600, 650, 667, 700 i 733. „Chipy” te są obsługiwane przez różne zestawy układów: Intel 810E, Intel 440BX i Intel 440ZX. Procesory Pentium III o prędkościach 550 i 500 MHz są również dostępne w innowacyjnej obudowie typu flip-chip (FC-PGA). Intel rozszerzył swoją ofertę procesorów przeznaczonych do stacji roboczych, wprowadzając układy Pentium III i Pentium III Xeon o częstotliwościach 733, 677 i 600 MHz. Stacje robocze wykorzystujące procesory Coppermine i Cascades taktowane zegarem od 600 do 733 MHz oraz nowy chipset Intel 840 mają większe możliwości i nowe funkcje. W tych wersjach magistrala systemowa jest taktowana zegarem 133 MHz, wprowadzono również obsługę 64-bitowej magistrali PCI, obsługę portu AGP 2x/4x oraz podwójne kanały pamięci Direct RDRAM. Tak wyposażony system może obsługiwać do 2 GB pamięci operacyjnej. Intel jest (jak sam informuje) pierwszą firmą, która wprowadziła technologię 0,18 mikrona do układów produkowanych na skalę masową. Technologię tę wdrożono w czterech zakładach firmy, znajdujących się częstotliwościach różnych krajach. Przy jej stosowaniu tworzy się struktury 500 razy mniejsze niż grubość ludzkiego włosa, mniejsze od bakterii i długości fali promieniowania widzialnego. W nowej technologii stosuje się sześć warstw połączeń aluminiowych i izolatory o małej pojemności z SiOF (dwutlenek krzemu domieszkowany fluorem). Układy mogą być zasilane niskim napięciem — od 1,1 do 1,65 V (w produktach wprowadzanych obecnie najniższe napięcie to 1,35 V). Najmniejsze elementy mają wymiar zaledwie 0,13 mikrometra. GNIAZDA PROCESORÓW Od rodzaju złącza procesora zależy możliwość ewentualnego przełożenia go do innej płyty głównej. Wszechstronność procesora w tym względzie zależy od liczby rodzajów płyt głównych obsługujących określony typ złącza. Na każdej płycie głównej musi być przynajmniej jedno (a w przypadku płyt wieloprocesorowych kilka) gniazdo procesora. Producenci wyposażają swoje płyty w różne wersje gniazd umożliwiających zastosowanie jednego z dostępnych procesorów, przy czym rodzaj procesora często zależy także od zainstalowanego na płycie chipsetu. Najczęściej stosowanym gniazdem montowanym na płytach jest gniazdo typu Socket opracowane według technologii ZIF (Zero Insertion Force). Gniazda te przeznaczone są dla procesorów znajdujących się w obudowie typu PGA (Pin Grid Array - matryce pinów) i umożliwiają łatwą instalację procesora bez użycia siły. Wyposażone są w małą dźwigienkę, służącą do zaciskania lub poluzowania znajdującego się w gnieździe procesora. Gniazda typu Socket produkowane są w kilku odmianach, a każdy rodzaj przystosowany jest do innego rodzaju procesora. I tak mamy:  Socket 370  procesory przeznaczone do montowania w gniazdach Slot 1 są dużo droższe od swoich odpowiedników, przewidzianych do montowania w gniazdach Socket 7. Przystosowany tylko dla procesorów Celeron wyposażonych w 128 kB pamięć podręczną drugiego poziomu oraz dla CeleronówII o obudowie FC-PGA. Intel wyposaża procesory Celeron w 128 KB pamięć podręczną drugiego poziomu (cache L2), z której dotychczas korzystały jedynie procesory z gniazdem Slot 1. Tego typu procesory wykorzystują 369-stykowe złącze nazywane Socket 370. Procesory Celeron wyprodukowane wcześniej, a przewidziane do montowania w gnieździe Slot 1, nie pasują do gniazd Socket 370;  Socket 7  321 pinowe gniazdo dla takich procesorów jak : Pentium, PentiumMMX, AMD K5, AMD K6, Cyrix M1 i M2. Popularność gniazd typu Socket 7 zmalała w 1997 roku wraz z wprowadzeniem przez Intela procesorów PentiumII ze złączem Slot 1. Powróciły one "do łask" z końcem 1998 roku, kiedy Intel zakończył produkcję procesorów PentiumMMX;  Super 7 to z kolei poprawiona wersja złącza Socket 7 taktowana z częstotliwością magistrali 100 MHz i obsługująca standard AGP i USB. Ze złączem Super 7 współpracują takie procesory, jak K6-2 firmy AMD (wersje 300 MHz i więcej), K6-3 tej samej firmy, procesor M II 333 firmy Cyrix oraz procesory Winchip 2 taktowane z częstotliwością 200, 233 i 266 MHz firmy IDT. Do gniazda Super 7 można wmontować wszystkie procesory przystosowane do gniazd Socket 7;  Socket 5 to złącze przystosowane dla procesorów Pentium i PentiumMMX;  Socket 8  387 pinowe złącze przystosowane wyłącznie dla procesorów PentiumPro. Wszystkie gniazda typu ZIF są do siebie podobne (białe prostokątne złącze), różnica polega jedynie na ilości i rozmieszczeniu otworów na nóżki procesora. Innym popularnym rodzajem gniazd procesorów jest tzw. Slot, opracowany w technologii SEC (Single Edge Connector). Gniazda tego typu są w kształcie podłużnych wyprowadzeń (podobnie jak PCI czy ISA) wyposażonych w piny, do których wkłada się procesor. Przystosowane są dla procesorów, które znajdują się najczęściej w zamkniętej obudowie typu PPGA (Plastic Pin Grid Array) i mogą występować w trzech rodzajach:  Slot 1  przystosowany pod procesor zawierający 242 piny (PentiumII, PentiumIII i Celeron), zarówno w wersji z jak bez pamięci podręcznej drugiego poziomu (podręczna L2). Istnieje wiele modeli płyt głównych Slot 1. Procesory PentiumII produkowane są w dwóch wersjach różniących się od siebie technologią wytwarzania (0,35 lub 0,25 mikrona), częstotliwością taktowania magistrali (66 MHz lub 100 MHz) oraz rozmiarem pamięci buforowej (512 MB lub 4 GB). Warto pamiętać, że starsze procesory PentiumII taktowane są z częstotliwością do 333 MHz, podczas gdy nowa generacja procesorów PentiumII - z częstotliwością od 350 MHz wzwyż;

 Slot 2  rozbudowana wersja gniazda Slot 1 przeznaczona dla procesorów zawierających 330 pinów (PentiumIII Xeon), wykorzystywana głównie w bardzo wydajnych komputerach, np. serwerach;  Slot A  to podstawka pod procesor opracowana przez firmę AMD, 242 pinowe gniazdo przeznaczone dla pierwszych procesorów K Athlon, jest zgodne z gniazdem Socket do procesorów Alpha o architekturze RISC firmy DEC. Najnowszym obecnie gniazdem jest konstrukcja Intela pod procesory PentiumIV Willamette  podstawka Socket 423. Jednak jak ogłosił Intel do nowszych procesorów o kodowej nazwie Northwood jest stworzona podstawka Socket 478. Natomiast firma AMD stworzyła na potrzeby procesorów Duron i nowszych Athlonów gniazdo Socket A. Jest to złącze typu PGA z 462 wyprowadzeniami. Jak się ostatnio okazało AMD zapowiedział następców obecnych procesorów, Athlona Palomino i Morgana (zastąpi Durona). Nowe procesory AMD będą umieszczane w nowej podstawce, jak do tej pory nie ujawniono jej konstrukcji.