background image

 

 

ARCHITEKTURA 

ARCHITEKTURA 

KOMPUTERÓW

KOMPUTERÓW

WPROWADZENIE

background image

 

 

WARUNKI ZALICZENIA

WARUNKI ZALICZENIA

1 lub 2 kolokwia w sumie za 50 
punktów

Zaliczenie zajęć laboratoryjnych

Egzamin pisemny i ustny

background image

 

 

LITERATURA

LITERATURA

Piotr Metzger “Anatomia PC”, Helion 2002 

J.L.Hennessy, D.A. Patterson “Computer 

Organization & Design The 

Hardware/Software Interface”,  Morgan 

Kaufmann Publishers Inc.1994

J.L.Hennessy, D.A. Patterson “Computer 

architecture A Quantitative Approach”, 

Morgan Kaufmann Publishers Inc.1996 

G.Kane    “MIPS RISC Architecture”, 

Prentice-Hall 1988 

cdrinfo.pl

 

www.techfest.com

 

background image

 

 

DEFINICJA 

DEFINICJA 

ARCHITEKTURY 

ARCHITEKTURY 

KOMPUTERA

KOMPUTERA

„Architektura komputera zdefiniowana 

jest poprzez atrybuty komputera widoczne 

dla programisty piszącego program w 

języku maszynowym. Ta definicja obejmuje 

listę instrukcji, format instrukcji, kody 

operacji, tryby adresowania, oraz 

wszystkie rejestry i lokacje pamięci, które 

mogą być bezpośrednio modyfikowane 

przez program napisany w języku 

maszynowym.”

background image

 

 

DEFINICJA 

DEFINICJA 

ARCHITEKTURY 

ARCHITEKTURY 

KOMPUTERA

KOMPUTERA

„Implementacja jest zdefiniowana 
poprzez rzeczywistą strukturę sprzętu, 
organizację układów logicznych i 
organizację dróg przepływu danych”

    G.M. Amdhal, G.A. Blaaw, F.P. Brooks 

„Architecture of the IBM System/360”, 
IBM Journal of Research and 
Development, vol.8 no.2 1964, pp.87-
101

background image

 

 

ARCHITEKTURA I 

ARCHITEKTURA I 

ORGANIZACJA

ORGANIZACJA

Architektura komputera opisuje te 

atrybuty systemu, które widziane są 

dla programisty

lista rozkazów, liczba bitów wykorzystywanych 

do prezentacji różnych typów danych, 

mechanizmy we/wy, metody adresowania 

pamięci.

Organizacja komputera odnosi się do 

jednostek operacyjnych i ich połączeń

rozwiązania sprzętowe niewidzialne dla 

programisty, takie jak sygnały sterujące, 

interfejsy między komputerem a urządzeniami 

peryferyjnymi oraz wykorzystywana technologia 

pamięci.

background image

 

 

ARCHITEKTURA I 

ARCHITEKTURA I 

ORGANIZACJA

ORGANIZACJA

Architektura może przeżyć wiele lat, 

organizacja zmienia się wraz z technologią

Rodzina Intel x86 ma tą samą architekturę

System/370 IBM ma tą samą architekturę

Zmiany technologii nie tylko wpływają na 

organizację, ale także umożliwiają 

budowanie komputerów o potężniejszej i 

bogatszej architekturze

background image

 

 

 

 

ARCHITEKTURA

ARCHITEKTURA

Na architekturę wpływ mają:

 uwarunkowania historyczne

 technologia

 języki programowania

 systemy operacyjne

 aplikacje

background image

 

 

 

 

ARCHITEKTURA

ARCHITEKTURA

Cechy przejrzystej architektury:

 

spójność – możliwość rekonstrukcji na 

podstawie nie pełnej specyfikacji. W szczególności 
rozkazy powinny mieć taką samą strukturę kodu, 
używać takich samych typów i formatów danych. 
Jednakowe dla wszystkich rozkazów powinny być 
reguły zaokrąglania wyniku, reakcji na błędny 
argument, reguły obsługi wyjątków

 ortogonalność – niezależna (rozłączna) 
specyfikacja funkcji zaliczanych do odrębnych 
klas

background image

 

 

 

 

ARCHITEKTURA

ARCHITEKTURA

Cechy przejrzystej architektury:

trafność – specyfikacja i implementacja tylko tych 

funkcji które są logicznie spójne z definicją 

architektury. Przejawami trafności są:

Ekonomiczność – wyeliminowanie funkcji logicznie 

niespójnych

Przeźroczystość – oddzielenie architektury od organizacji

 ogólność – pełny zakres działania 

specyfikowanych funkcji, wyznaczonych tylko ich 

dziedziną i nie ograniczony aspektami 

organizacyjnymi. Cechami ogólności są:

Kompletność – funkcjonalna pełność w obrębie klas 

funkcji, której ubocznym skutkiem jest nieoszczędne 

wykorzystanie przestrzeni kodowej

Otwartość – możliwość rozwoju w ramach architektury

background image

 

 

STRUKTURA I 

STRUKTURA I 

DZIAŁANIE

DZIAŁANIE

Struktura to sposób wzajemnego 
powiązania składników

Funkcje określają działanie 
poszczególnych składników jako 
części struktury

background image

 

 

DZIAŁANIE

DZIAŁANIE

Podstawowe funkcje, które realizuje 

komputer:

przetwarzanie danych

przechowywanie danych

przenoszenie danych

sterowanie

background image

 

 

PRZEGLĄD FUNKCJI

PRZEGLĄD FUNKCJI

Obraz funkcjonalny komputera

URZADZENIE

STERUJ ACE

URZADZENIE DO

PRZEMIESZCZANIA

DANYCH

URZADZENIE DO

PRZECHOWYWANIA

DANYCH

URZADZENIE DO

PRZETWARZANIA

DANYCH

background image

 

 

OPERACJE KTÓRE MOŻE 

OPERACJE KTÓRE MOŻE 

REALIZOWAĆ 

REALIZOWAĆ 

KOMPUTER

KOMPUTER

Przenoszenie danych

od jednego urządzenia peryferyjnego 
( linii transmisyjnej ) do drugiego

URZADZENIE

STERUJ ACE

URZADZENIE DO

PRZEMIESZCZANIA

DANYCH

URZADZENIE DO

PRZECHOWYWANIA

DANYCH

URZADZENIE DO

PRZETWARZANIA

DANYCH

background image

 

 

OPERACJE KTÓRE MOŻE 

OPERACJE KTÓRE MOŻE 

REALIZOWAĆ 

REALIZOWAĆ 

KOMPUTER

KOMPUTER

Przechowywanie danych 

dane przenoszone z urządzenia do 
komputera i odwrotnie (np. Internet)

URZADZENIE

STERUJ ACE

URZADZENIE DO

PRZEMIESZCZANIA

DANYCH

URZADZENIE DO

PRZECHOWYWANIA

DANYCH

URZADZENIE DO

PRZETWARZANIA

DANYCH

background image

 

 

OPERACJE KTÓRE MOŻE 

OPERACJE KTÓRE MOŻE 

REALIZOWAĆ 

REALIZOWAĆ 

KOMPUTER

KOMPUTER

Przetwarzanie zarchiwizowanych 

danych 

Obróbka danych z pomiarów

URZADZENIE

STERUJ ACE

URZADZENIE DO

PRZEMIESZCZANIA

DANYCH

URZADZENIE DO

PRZECHOWYWANIA

DANYCH

URZADZENIE DO

PRZETWARZANIA

DANYCH

background image

 

 

OPERACJE KTÓRE MOŻE 

OPERACJE KTÓRE MOŻE 

REALIZOWAĆ 

REALIZOWAĆ 

KOMPUTER

KOMPUTER

Przetwarzanie danych

będących w drodze między miejscem 
przechowywania a otoczeniem (np. 

  drukowanie rachunków bankowych)

URZADZENIE

STERUJ ACE

URZADZENIE DO

PRZEMIESZCZANIA

DANYCH

URZADZENIE DO

PRZECHOWYWANIA

DANYCH

URZADZENIE DO

PRZETWARZANIA

DANYCH

background image

 

 

STRUKTURA 

STRUKTURA 

KOMPUTERA

KOMPUTERA

KOMPUTER

OTOCZENIE

 LINIE KOMUNIKACYJ NE

OTOCZENIE

 URZADZENIA PERYFERYJ NE

J EDNOSTKA

CENTRALNA

PAMIEC

RAM

WEJ SCIE
WYJ SCIE

POLACZENIA
SYSTEMOWE

background image

 

 

JEDNOSTKA CENTRALNA - 

JEDNOSTKA CENTRALNA - 

CPU

CPU

REJ ESTRY

ALU

J EDNOSTKA

ARYTMETYCZNO

LOGICZNA

J EDNOSTKA

STERUJ ACA

POLACZENIA

WEWNETRZNE

MAGISTRAL

WEWNETRZNA

I/O

PAMIEC

CPU

KOMPUTER

CPU

background image

 

 

JEDNOSTKA STERUJĄCA - 

JEDNOSTKA STERUJĄCA - 

CU

CU

UKLADY

LOGICZNE

PAMIEC

STERUJ ACA

REJ ESTRY I DEKODERY

J EDNOSTKI STERUJ ACEJ

MAGISTRAL

WEWNETRZNA

ALU

REJ ESTRY

CU

CPU

CPU

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

ABACUS

5000 lat temu Azja Środkowa

 system liczenia dwójkowo – piątkowy

CODEX MADRID

 Leonardo da Vinci

Dr.Roberto Guatelli – replika 1968r.

PASCALINE

Blaise Pascal 1642

 sumowała liczby 8-mio cyfrowe

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

Gotfried Wilhelm von Leibnitz 1649r.

 udoskonala maszynę Pascala i wzbogaca ją o 

operację mnożenia

Xavier Thomas de Colmar 1820r.

 konstruuje arytmometr umożliwiający 

wykonywanie czterech podstawowych 

działań matematycznych

PASCAL, LEIBNITZ, COLMAR to 

twórcy mechanicznych urządzeń 

liczących

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

Charles Babbage (1791-1871) 

matematyk 

W 1822 zaproponował skonstruowanie 

maszyny „Difference Engine”, która 

umożliwiłaby rozwiązywanie równań 

różniczkowych

maszyna napędzana parą, miała pamiętać 

program obliczeń i automatycznie 

drukować wyniki 

Następnym pomysłem jego był uniwersalny 

komputer zdolny do rozwiązywania 

różnorodnych zagadnień matematycznych  

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

Augusta Ada King- Lovelace 
(1815-1842)

córka Byron’a 

współpracowniczką Babbage’a  

stworzyła instrukcję (pierwowzór 
programu) dla konstruowanej maszyny 

Powstały w Departamencie obrony 
USA język ADA nazwę swą wywodzi od 
jej imienia

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

Komputer parowy posiadał 
„urządzenie wejściowe” mogące 
odczytywać karty perforowane z 
instrukcjami dla maszyny 
(wymyślone przez Jacquad’a), 
„pamięć” zdolną pamiętać 1000 liczb 
50-cyfrowych, zawierał także 
urządzenie pozwalające na zmianę 
kolejności obliczeń i urządzenie 
wyjściowe – drukujące wyniki.

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

George Boole (1815 - 1864) 

 zajmował się pracami teoretycznymi 

w dziedzinie logiki. W latach 1847 i 

1854 opublikował prace pozwalające 

na prezentację wyrażeń logicznych za 

pomocą wyrażeń algebraicznych 

znanych dzisiaj jako „Algebra Boole’a”

August DeMorgan 

określił operacje logiczne nazywane 

dzisiaj prawami DeMorgana.

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

W 1889 amerykański wynalazca, Herman 

Hollerith (1860-1929) 

wykorzystał pomysł maszyny Jacquard’a do 

obliczeń matematycznych 

Swój pomysł wykorzystał do obliczenia 

wyników spisu ludności, poprzedni spis trwał 7 

lat dzięki jego pomysłowi obliczenia 

przeprowadzono w ciągu 6 tygodni 

Utworzył firmę, która w połączeniu z kilkoma 

innymi w 1924 roku stała się jedną z 

najważniejszych dla rozwoju techniki 

komputerowej IBM (International Business 

Machines).

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

1906 Lee de Forest

konstruuje lampę elektronową triodę. 
Mogła ona pełnić zarówno funkcje 
wzmacniacza jak i przełącznika.

Koniec lat 30-tych Claude 
E.Shannon 

dochodzi do wniosku, że algebra Boole’a 
jest idealnym systemem dla maszyn 
liczących. 

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

1931Vannevar Bush 

skonstruował kalkulator rozwiązujący 
skomplikowane równania różniczkowe.

1937 Atanasoff 

zbudował maszynę, która miała służyć 
jego studentom i asystentom do 
rozwiązywania układów równań 
różniczkowych cząstkowych. Potrafiła 
rozwiązać układ 29 równań z 29 
niewiadomymi 

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

Konrad Zuse (1910-1995) Henschel Aircraft 

Company Berlin 

na początku II Wojny Światowej zbudował kilka 

automatycznych kalkulatorów. Zwrócił uwagę na fakt, że 

jednym z najtrudniejszych problemów w trakcie 

wykonywania skomplikowanych obliczeń na kalkulatorach 

mechanicznych jest przechowywanie danych pośrednich. 

Postulował by automatyczny kalkulator posiadał trzy 

podstawowe zespoły:

układy sterujące

Pamięć

kalkulator do obliczeń arytmetycznych 

w 1941 komputer Z3 zbudowany przez Zuse z 

przekażników wykorzystywał system binarny, mógł 

wykonywać operacje zmiennoprzecinkowe, do 

przechowywania danych i zapisu programu 

wykorzystywał stare filmy 

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

1946 Zuse opracował pierwszy 

algorytmiczny język „Plankalul” i użył go do 

napisania programu gry w szachy. Język 

pozwalał na użycie tablic i rekordów oraz 

przyporządkowanie zmiennym wartości 

podanego wyrażenia algebraicznego.

1944 Howard H.Aiken skonstruował 

pierwszy elektroniczny kalkulator. 15m x 

2.5m ważyła 5 ton zawierała ok.800km 

przewodów łączących elementy. Program 

wprowadzano na taśmie perforowanej.

Pod koniec II Wojny Światowej powstał 

komputer ENIAC 18000 lamp, 70000 

rezystorów i pobierała 180kW energii, ważył 

około 30ton. Jednego roku wymieniono w nim 

około 19000 lamp 

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

Połowa lat 40-tych John von Neumann stawia 
 postulaty dotyczące architektury komputera:

komputer powinien posiadać pamięć w której 
przechowywane będą zarówno dane jak i instrukcje 
z możliwością zapisu i odczytu w dowolnej 
kolejności

powinien być wyposażony w jednostkę obliczeniową 
pozwalającą na operacje arytmetyczne i logiczne

powinien zawierać takie układy sterujące jego 
pracą, które pozwalałyby na interpretację rozkazów 
pobieranych z pamięci oraz wybór alternatywnych 
działań w zależności od wyniku poprzednich 
operacji.

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

1958 Texas Instruments demonstruje pierwszy 

układ scalony 

1964 John Kemeny i Thomas Kurtz dostarczają 

język programowania BASIC

1969 

Intel informuje o wprowadzeniu do produkcji kości 

pamięci 1KB RAM

 Powstaje Advanced Micro Devices

1970 Dennis M. Ritchie, Ken Thompson, Brian 

Kernighan wprowadzają  język C umożliwiający 

abstakcyjne programowanie plików, otwierając mu 

drogę do tworzenia różnych aplikacji pod różne 

systemy operacyjne

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

1971 

Intel wprowadza pierwszy mikroprocesor 
4004 (cena $200) prędkość 60000 operacji 
na sekundę

 Niklaus Wirth opracowuje język PASKAL 

1972 Intel 8008, 300000 operacji na 
sekundę, można dołączyć 16kB RAM

1973 Scelbi-8H computer kit 
(8008,1KB RAM, $565) 

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

1974

 Intel8080 75instrukcji, 3 MIPS, 64KB 
MEMORY, 

Motorola 6800

Gary Kildall  tworzy CP/M 

1975 

Bill Gates i Paul Allen tworzą TrafO-Data

MC6501 $20, MC6502 $25 Intel 8080 $150

IBM 5100 (BASIC,16KB RAM, pamięć 
taśmowa) $9000 

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

1976 „Frugal Floppy” 8-calowy 
$1200

1977 oficjalnie powstaje Microsoft

1980 

Z80, Timex1000

Winchester dysk twardy

PCDOS,MSDOS

Intel tworzy iAPX432 32bitowy 
procesor, krokiem pomiedzy 8086 a 
432 ma być 80286 

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

1981

 Hayes sprzedaje 300bitowy modem

IBM PC (4.77MHz, 8088, 64KB RAM, 40KB ROM, 

floppy 5’25,MSDOS 1.0, $3000)

IBM CGA 640x200 16 kolorów,

1982 Compaq wprowadza Portable PC (4.77MHz, 

8088,12KB RAM, 9 cali     monochromatyczny 

monitor, 320KB 5’25 dysk, $3000)

1984 

Apple 300bodów modem $300, 1200 bodów $500

640x350 EGA $850, karta 16kolorów z 64KB RAM $524

MSDOS 3.0

 Hewlet-Packard laserjet laser printer 300dpi $3600

Intel 80186,80286

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

1985

 obroty Compaq’a sięgają 329milionów $

Windows 1.0

1986

 IBM PC (80c86,256KB RAM, 2 floppy 720KB, $2000)

wprowadzane 80286,zegar 8MHz

wprowadzane 80386, 16MHz

1987 

Apple open architecture Macintosh II $3900 (1MB 

RAM,800K floppy, 40MB dysk $5500)

pierwszy system plug and play dla kart 

rozszerzających

Windows 2.0 

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

1991 

Microsoft mysz, tracball

CD-ROM $400

OS2->Windows NT

Dostęp dla bisnesu do internetu

MIPS Computer Systems R4000 64bitowy 
RISC

1993 

Pentium 60MHz

Apple 80MHz PowerPC 601 

25 milionów zarejestrowanych użytkowników 
WINDOWS

background image

 

 

TROCHĘ HISTORII

TROCHĘ HISTORII

1994 

poczwórny CD-ROM $1000

AMD486DX2-80

WINDOWS NT 3.5

1995 pentium 133

background image

 

 

 

 

GENERACJE 

GENERACJE 

KOMPUTERÓW

KOMPUTERÓW

GENERACJA 0

GENERACJA 0

konstrukcje eksperymentalne oparte o elementy 

elektromechaniczne

Alan TURING wykazał, że każdy algorytm można 

wykonać automatycznie jako skończony ciąg 

podstawowych operacji – maszyna Turinga –1937

GENERACJA 1

GENERACJA 1     1951-1960

Powszechnie stosowane lampy elektronowe

Pierwszy komercyjny komputer z firmy REMINGTON 

RAND – UNIVAC(Universal Automatic 

Computer), oraz pierwszy elektroniczny z firmy IBM

Powstaje tranzystor bipolarny W.B.Shockley 1951

Każdy komputer posługiwał się specyficznym 

językiem maszynowym (rozkazy kodowane były 

binarnie).

background image

 

 

GENERACJE 

GENERACJE 

KOMPUTERÓW

KOMPUTERÓW

GENERACJA 2   

GENERACJA 2   1954-1964

Układy przełączające używane w komputerach w tym 

okresie bazowały na elementach dyskretnych (diody i 

tranzystory), które pozwalały na uzyskanie czasów 

przełączania ok. 0,3 mikrosekundy

Prototyp pierwszego komputera PDP-1 1960 z klawiaturą i 

monitorem ekranowym

TRADIX zbudowany w Bell Laboratories w roku 1954 i TX-0 

MIT's pochodzący z Lincoln Laboratory posiadały pamięci 

oparte o rdzenie ferrytowe.

Nowością w dziedzinie architektury komputerów  było 

zastosowanie rejestrów indeksowych do kontroli realizacji 

pętli i uproszczenia operacji zmiennoprzecinkowych na 

liczbach rzeczywistych.

W tym okresie weszły do powszechnego użytku bardziej 

wyrafinowane języki programowania wysokiego poziomu 

takie jak COBOL (Common Business-Oriented Language) 

oraz FORTRAN (Formula Translator)

background image

 

 

GENERACJE 

GENERACJE 

KOMPUTERÓW

KOMPUTERÓW

GENERACJA 3   

GENERACJA 3   1964-1975

Dominacja technologii TTL

rozwój systemów operacyjnych ( w tym wielozadaniowych).

GENERACJA 4   

GENERACJA 4   1975-czasy współczesne

 rozwój układów (LSI – Large Scale Integration)

GENERACJA 5   

GENERACJA 5   czasy współczesne i 
przyszłość

sztuczna inteligencja

 możliwość konwersacji z operatorem

 wejście wizyjne (a więc również możliwość 
rozpoznawania operatora) 

możliwość uczenia się na podstawie własnych 
doświadczeń

background image

 

 

PRAWO GORDONA 

PRAWO GORDONA 

MOORA

MOORA

Zgodnie z empirycznie sformułowanym 
prawem MOORA gęstość upakowania 
układów scalonych i ich szybkość 
działania podwaja się co 18 miesięcy

background image

 

 

POSTĘP TECHNOLOGII

POSTĘP TECHNOLOGII

Ewolucja pamięci DRAM i procesorów

background image

 

 

POSTĘP TECHNOLOGII

POSTĘP TECHNOLOGII

Tendencje rozwoju pamięci DRAM

background image

 

 

POSTĘP TECHNOLOGII

POSTĘP TECHNOLOGII

Zmniejszenie fizycznego rozmiaru elementu 
logicznego pozwala na stosowanie niższego napięcia 
zasilania oraz powoduje wprowadzenie mniejszego 
czasu opóźnienia dla sygnału elektrycznego (można 
stosować wyższe częstotliwości taktowania układów)

Niższe napięcie zasilania zmniejsza ilość 
emitowanego przez układ ciepła, które jest wprost 
proporcjonalne do kwadratu napięcia zasilającego i 
częstotliwości pracy. Intel dual voltage (mniejsze 
napięcie zasilania jądra procesora niż układów 
we/wy).

Dąży się do zmniejszania średnicy ścieżek 
przewodzących – obecnie 0.13mikrona

background image

 

 

WZROST WYDAJNOŚCI

WZROST WYDAJNOŚCI

Zwiększanie prędkości procesora

Zwiększanie pojemności pamięci

Podążanie szybkości dostępu do pamięci 

za prędkością procesora

Pamięć cache na płycie

Pamięć cache L1 i  L2

Przewidywanie skoków

Analiza struktury danych

Potokowość

Prognozowanie

background image

 

 

WZROST WYDAJNOŚCI

WZROST WYDAJNOŚCI

Zwiększenie ilości bitów dostępnych w 
jednym cyklu

Zmiana interfejsu dostępu do pamięci

Cache

Redukcja częstotliwości dostępu do 
pamięci 

Zwiększenie szybkości magistral

Magistrale hierarchiczne

background image

 

 

DZIAŁANIE KOMPUTERA

DZIAŁANIE KOMPUTERA

Podstawowa funkcja komputera – 
wykonywanie programów

Na najwyższym poziomie możemy 
opisać system komputerowy poprzez:

Opisanie zewnętrznego zachowania 
każdego modułu (danych i sygnałów 
kontrolnych, które wymienia on z innymi 
modułami)

Podanie struktury połączeń i sterowania 
wymaganego do zarządzania tą strukturą

background image

 

 

KOMPUTER - 

KOMPUTER - 

STRUKTURA

STRUKTURA

MAR - rejestr adresowy pamięci 

- określa adres w pamięci 

następnego zapisu lub odczytu

MBR - rejestr buforowy pamięci 

- zawiera dane, które mają być 

zapisane w pamięci lub dane 

odczytane z pamięci

I/OAR - rejestr adresowy we/wy - 

określa konkretne urządzenie 

we/wy

I/OBR - rejestr buforowy we/wy - 

wykorzystywany do wymiany 

danych między modułem we/wy a 

jednostką centralną

PC - licznik rozkazu - rejestr 

zawierający informacje który 

rozkaz ma być pobrany

IR - rejestr rozkazu - do 

przechowywania pobranego 

rozkazu

ACC – akumulator – rejestr w 

którym wykonywane są wszystkie 

operacje arytmetyczno logiczne

background image

 

 

KOMPUTER – CYKL 

KOMPUTER – CYKL 

ROZKAZOWY

ROZKAZOWY

Wykonywanie programu:

Program składa się z zestawu rozkazów 

przechowywanych w pamięci 

Jednostka centralna realizuje program poprzez 

wykonywanie rozkazów w nim zawartych

Przetwarzanie rozkazów realizowane jest 

przez procesor w dwóch krokach:

Pobranie rozkazu z pamięci 

Wykonanie rozkazu

background image

 

 

KOMPUTER – FAZY 

KOMPUTER – FAZY 

PRZETWARZANIA ROZKAZU

PRZETWARZANIA ROZKAZU

F – pobranie kodu rozkazu z pamięci 
(fetch)

D – dekodowanie (decode)

E – wykonanie (execute), w 
szczególności transfer rejestr – pamięć 
(load/store)

W – zapamiętanie wyniku (write)

background image

 

 

KOMPUTER – CYKL 

KOMPUTER – CYKL 

ROZKAZOWY - POBIERANIE

ROZKAZOWY - POBIERANIE

Licznik programu (PC – Program Counter) 
przechowuje adres następnej instrukcji do 
wykonania

Procesor pobiera instrukcję z pamięci spod adresu 
wskazywanego przez PC

Zwiększany jest licznik PC (incrementacja PC)

Instrukcja ładowana jest do rejestru rozkazowego 
(IR – Instruction Register)

Procesor interpretuje rozkaz i przeprowadza 
wymagane działanie (przechodzi do cyklu 
wykonywania)

background image

 

 

KOMPUTER – CYKL 

KOMPUTER – CYKL 

ROZKAZOWY - 

ROZKAZOWY - 

WYKONYWANIE

WYKONYWANIE

Cztery kategorie działań:

Przesłanie procesor  pamięć

Przesłanie procesor  wejście/wyjście

Przetwarzanie danych (operacje 
arytmetyczne lub logiczne na danych)

Sterowanie – zmiana sekwencji operacji np. 
rozkaz skoku

Kombinacja wyżej wymienionych działań

background image

 

 

KOMPUTER – PRZYKŁAD 

KOMPUTER – PRZYKŁAD 

WYKONANIA PROGRAMU

WYKONANIA PROGRAMU

background image

 

 

KOMPUTER – GRAF CYKLU 

KOMPUTER – GRAF CYKLU 

ROZKAZOWEGO

ROZKAZOWEGO

background image

 

 

KOMPUTER – 

KOMPUTER – 

ROZWIĄZANIA 

ROZWIĄZANIA 

ZWIĘKSZAJĄCE PRĘDKOŚĆ 

ZWIĘKSZAJĄCE PRĘDKOŚĆ 

DZIAŁANIA PROCESORA

DZIAŁANIA PROCESORA

PIPELINING

PIPELINING – odseparowanie układów 
wykonujących kolejne etapy realizacji 
rozkazu umożliwia ich współbieżne 
wykonywanie. Podział każdego etapu na 
podetapy umożliwia skrócenie cyklu a co za 
tym idzie dalszy wzrost wydajności. 
Ograniczeniem jest głębokość potoku gdyż 
wraz z  głębokością rośnie ilość buforów 
separujących i  czas potrzebny do ich obsługi 
rzutuje na przepustowość potoku.

background image

 

 

KOMPUTER – 

KOMPUTER – 

ROZWIĄZANIA 

ROZWIĄZANIA 

ZWIĘKSZAJĄCE PRĘDKOŚĆ 

ZWIĘKSZAJĄCE PRĘDKOŚĆ 

DZIAŁANIA PROCESORA

DZIAŁANIA PROCESORA

PRZETWARZANIE SUPERSCALARNE

PRZETWARZANIE SUPERSCALARNE – 
powielenie jednostki wykonawczej i 
współbieżne wykonywanie rozkazów w 
równoległych potokach. Możliwe jest wtedy 
gdy między rozkazami nie zachodzi konflikt 
danych. Stosuje się także specjalizowane 
współbieżne jednostki realizujące określone 
klasy rozkazów (jednostka stałoprzecinkowa, 
jednostka zmiennoprzecinkowa, układ 
wykonania/przewidywania skoku)

background image

 

 

KOMPUTER – 

KOMPUTER – 

ROZWIĄZANIA 

ROZWIĄZANIA 

ZWIĘKSZAJĄCE PRĘDKOŚĆ 

ZWIĘKSZAJĄCE PRĘDKOŚĆ 

DZIAŁANIA PROCESORA

DZIAŁANIA PROCESORA

Wydajność potoku może zostać zmniejszona na skutek:

Konfliktu sterowania – zaburzenie sekwencji na skutek skoku

Konfliktu zasobu – jednoczesne żądanie dostępu do pamięci lub 
innego zasobu unikatowego w komputerze (np. we/wy)

Konfliktu danych – jednoczesne użycie tej samej danej

    W celu wyeliminowania konfliktów w przetwarzaniu 

potokowym spowodowanym jednoczesnym żądaniem 
dostępu do pamięci w celu przesłania danych i pobrania 
rozkazu pamięć podręczną pierwszego poziomu dzieli się 
na dwa niezależne obszary danych i programu.

background image

 

 

KOMPUTER – ROZWIĄZANIA 

KOMPUTER – ROZWIĄZANIA 

ZWIĘKSZAJĄCE PRĘDKOŚĆ 

ZWIĘKSZAJĄCE PRĘDKOŚĆ 

DZIAŁANIA PROCESORA

DZIAŁANIA PROCESORA

Czas trwania wykonania rozkazu zależy także od stopnia 

złożoności listy rozkazów. 

    Analiza częstości użycia rozkazów wykazuje, iż dużo 

częściej wykonywane są rozkazy o małym stopniu 

złożoności.

    Program złożony z rozkazów prostych będzie dłuższy, 

lecz prędkość jego przetwarzania może wzrosnąć na 

skutek eliminacji rozkazów złożonych. Spostrzeżenia te 

są źródłem koncepcji architektury RISC (Reduced 

Instruction Set Computer), w której uboższą listę 

instrukcji niż w architekturze CISC (Complex 

Instruction Set Computer) kompensuje szybsze ich 

dekodowanie i wykonywanie.

background image

 

 

KOMPUTER – 

KOMPUTER – 

ADRESOWANIE

ADRESOWANIE

Pamięć to zbiór komórek o jednakowych rozmiarach.

Każda komórka zawiera jednostkę informacyjną  

zwaną słowem.

Każda komórka posiada unikatowy numer – adres.

Sposób przydzielania indeksów (adresów) jest cechą 

architektury.

Stosowane są dwie konwencje numeracji bitów i 

bajtów:

Ważniejszy niższy (big endian) – słowo (lub bit) 

zawierające bardziej znaczącą część informacji posiada 

niższy numer porządkowy (adres)

Ważniejszy wyższy (little endian) – słowo (lub bit) 

zawierające bardziej znaczącą część informacji posiada 

wyższy numer porządkowy 

INTEL 80x86 – little endian, PowerPC big endian, MC 680x0 

bajty big endian a bity little endian

background image

 

 

KOMPUTER – ROZDZIELCZOŚĆ 

KOMPUTER – ROZDZIELCZOŚĆ 

ADRESOWANIE

ADRESOWANIE

Rozdzielczość adresowania jest cechą architektury mającą 
wpływ na organizację kompilatora. Podstawową jednostką 
informacji jest słowo maszynowe. Dane systemowe są 
tworzone w formacie zgodnym z rozmiarem słowa 
maszynowego lub stanowiącym jego wielokrotność.

Szerokość magistrali systemowej musi umożliwiać co 
najmniej przesłanie jednego słowa maszynowego w jednym 
cyklu pamięci. 

W przypadku gdy rozdzielczość adresowania jest większa niż 
rozmiar słowa lub szerokość magistrali jest wielokrotnością 
podstawowej jednostki adresowej powstaje problem 
wpasowania danych w strukturę pamięci. (Problem ten 
powinien być rozwiązany podczas kompilacji programu).

Umieszczenie danych o rozmiarze jednostkowym równym 
rozmiarowi komórki pamięci jest dowolne, jeśli słowo zajmuje 
dwie komórki pamięci to adres słowa powinien być parzysty, 
cztery komórki to adres  podzielny przez cztery.

background image

 

 

KOMPUTER – PRZESTRZENIE 

KOMPUTER – PRZESTRZENIE 

ADRESOWE

ADRESOWE

Ze względu na sposób adresowania wyróżnia 
się następujące przestrzenie adresowe:

Obszar roboczy – rejestry procesora

Pamięć główna 

Przestrzeń sterowania

Stos

Przestrzeń wejścia/wyjścia

Identyfikator przychodzącego przerwania

background image

 

 

KOMPUTER – ODWZOROWANIE 

KOMPUTER – ODWZOROWANIE 

PRZESTRZENI ADRESOWYCH

PRZESTRZENI ADRESOWYCH

ROZDZIELNE PRZESTRZENIE ADRESOWE 
– używa się różnych rozkazów dla każdej z 
przestrzeni

JEDNOLITA PRZESTRZEŃ ADRESOWA – te 
same rozkazy, natomiast w zależności od 
adresu można adresować różne urządzenia lub 
różne fragmenty pamięci.

background image

 

 

KOMPUTER – TRYBY 

KOMPUTER – TRYBY 

ADRESOWANIA

ADRESOWANIA

Adresowanie zeroelementowe – adresowanie 

bezpośrednie adres niejawny:

Błyskawiczne – kod danej jest częścią kodu rozkazu

Natychmiastowe – za pomocą licznika rozkazów. Kod 

danej lub jego rozszerzenie jest umieszczony w pamięci 

bezpośrednio po kodzie rozkazu.

Adresowanie jednoelementowe bezpośrednie

Bezwzględne – skrócony adres danej w kodzie rozkazu 

lub pełny adres danej w rozszerzeniu kodu rozkazu

Rejestrowe pośrednie – argument umieszczony w 

rejestrze, identyfikowanym w kodzie rozkazu

background image

 

 

KOMPUTER – TRYBY 

KOMPUTER – TRYBY 

ADRESOWANIA

ADRESOWANIA

Adresowanie jednoelementowe pośrednie

Bezwzględne pośrednie – adres danej jest słowem 

rozszerzenia kodu rozkazu

Rejestrowe pośrednie – adres danej umieszczony w 

rejestrze identyfikowanym w kodzie rozkazu

Rejestrowe pośrednie z modyfikacją – adres danej 

w rejestrze jest automatycznie zwiększany 

(inkrementacja) lub zmniejszany (dekrementacja) po 

użyciu (postinkrementacja i postdekrementacja) lub 

przed użyciem (preinkremntacja i predekrementacja)

background image

 

 

KOMPUTER – TRYBY 

KOMPUTER – TRYBY 

ADRESOWANIA

ADRESOWANIA

Adresowanie wieloelementowe 

jednopoziomowe (pośrednie) – suma 

składowych adresu wyznacza adres danej w 

pamięci.

Adresowanie wieloelementowe 

dwupoziomowe (pośrednie)

 

Bazowe z przemieszczeniem

Indeksowe z przemieszczeniem

Bazowo – indeksowe

Względne z przemieszczeniem – bazą jest zawartość 

licznika rozkazów

Względne indeksowe

background image

 

 

KOMPUTER – TRYBY 

KOMPUTER – TRYBY 

ADRESOWANIA

ADRESOWANIA

W architekturze Intel 80x86 zaadresowanie danej w 
pamięci wymaga dwóch wskaźników: identyfikatora 
spójnego bloku pamięci zwanego segmentem i 
adresu względnego wewnątrz segmentu o wartości 
nie przekraczającej rozmiaru segmentu. 

Najbardziej złożonym trybem adresowania 
spotykanym w procesorach rodziny Intel 80x86 jest 
dwuwskaźnikowe skalowalne adresowanie bazowo-
indeksowe z przemieszczeniem

   LA=([wskaźnik segmentu])+(baza)+

(indeks)*skala+przemieszczenie

     Nawias [...] oznacza adres pośredni, a nawias (...) oznacza, 

że składowa adresu umieszczona jest w rejestrze procesora

background image

 

 

KOMPUTER – TRYBY 

KOMPUTER – TRYBY 

ADRESOWANIA

ADRESOWANIA

Stos programowy LIFO

Adresowanie opisowe (deskryptorowe) – cechą 
szczególną tego trybu adresowania jest odniesienie 
wszystkich adresów spójnego obszaru pamięci do 
adresu bazowego wyznaczonego na podstawie 
deskryptora lokalizowanego poprzez wskaźnik. 
Oprócz adresu bazowego opis zawiera również 
informację umożliwiające realizację selektywnego 
dostępu do bloku. Zaletą tej metody adresowania jest 
elastyczne adresowanie zmiennych strukturalnych 
przy jednoczesnym zapewnieniu prywatności. Taki 
sposób adresowania jest stosowany przy realizacji 
mechanizmów pamięci wirtualnej.

background image

 

 

KOMPUTER – TRYBY 

KOMPUTER – TRYBY 

ADRESOWANIA

ADRESOWANIA

background image

 

 

KOMPUTER – TRYBY 

KOMPUTER – TRYBY 

ADRESOWANIA

ADRESOWANIA

TRYB RZECZYWISTY

background image

 

 

KOMPUTER – TRYBY 

KOMPUTER – TRYBY 

ADRESOWANIA

ADRESOWANIA

TRYB RZECZYWISTY

background image

 

 

KOMPUTER – TRYBY 

KOMPUTER – TRYBY 

ADRESOWANIA

ADRESOWANIA

TRYB WIRTUALNY

background image

 

 

KOMPUTER - 

KOMPUTER - 

ADRESOWANIE

ADRESOWANIE

STOS PROGRAMOWY (LIFO)

background image

 

 

KOMPUTER – 

KOMPUTER – 

ADRESOWANIE

ADRESOWANIE

TABLICA WEKTORÓW PRZERWAŃ

background image

 

 

KOMPUTER – TRYBY 

KOMPUTER – TRYBY 

WIRTUALNY

WIRTUALNY

TRYB WIRTUALNY

background image

 

 

KOMPUTER – TRYBY 

KOMPUTER – TRYBY 

WIRTUALNY

WIRTUALNY

POZIOMY UPRZYWILEJOWANIA


Document Outline