Architektura Systemów Komputerowych

Transkrypt

Architektura Systemów Komputerowych
Architektura Systemów
Komputerowych
Paweł Pełczyński
[email protected]
Program przedmiotu
Struktura i zasada działania prostego systemu
mikroprocesorowego
Operacje wykonywane przez mikroprocesor i tryby
adresowania
Przerwania, kontroler przerwań, DMA
Ważniejsze układy peryferyjne
Obsługa pamięci dyskowej
Rozwój magistral w komputerach klasy IMB PC
Rozwój architektur systemów komputerowych
Systemy wieloprocesorowe
Literatura
J. Biernat, „Architektura komputerów”, Wyd. Politechniki
Wrocławskiej, 2002 lub 1998.
P. Metzger, „Anatomia PC”, WNT Warszawa 2006.
B. S. Chalk, „Organizacja i architektura komputerów”,
WNT Warszawa, 1996.
Czym jest komputer?
Wikipedia: "Maszyna posiadająca zdolność
wykonywania dowolnego programu jest
nazywana uniwersalną maszyna Turinga.
Praktyczną realizacją uniwersalnej Maszyny
Turinga jest komputer"
Cechy komputera
Zdolność przetwarzania danych (wykonywania obliczeń)
Programowalność – rodzaj wykonywanego zadania wyznacza
program, a nie budowa komputera
Uniwersalność – przeznaczenie komputera nie musi być znane
podczas projektowania jego architektury, a jest definiowane przez
wykonywany program
Sekwencyjny (szeregowy) sposób pracy – w danym momencie jest
wykonywana tylko jedna instrukcja
(Ta zasada jest prawdziwa jedynie dla prostych komputerów,
zbudowanych zgodnie z tzw. architekturą Von Neumanna)
Obszary zastosowań
komputerów
Obliczenia
Wspomaganie projektowania (CAD)
Sterowanie procesami i urządzeniami
Wspomaganie zarządzania
Banki (bazy) danych, wyszukiwanie informacji...
Grafika
Przetwarzanie sygnałów i obrazów
Rozrywka: gry, muzyka, filmy itd...
Historia rozwoju komputerów
Wraz z powstaniem pasterstwa i rozwojem form
wymiany towarów pojawiła się potrzeba liczenia.
Dla ułatwienia prowadzenia obliczeń i pamiętania ich
wyniku zaczęto stosować różnorodne pomoce, np.
kamyki, liczenie na palcach, symbole reprezentujące
liczby.
Historia rozwoju komputerów
300 p.n.e. – Liczydło (Abakus)
ok. 1500 – Projekt kalkulatora Leonarda Da Vinci
1623 – Wilhelm Schickard buduje pierwszy
mechaniczny kalkulator
Historia rozwoju komputerów
1804 – Programowalne krosno Jacquarda
1820-40 – Charles Babbage
konstruuje szereg
programowalnych, mechanicznych
maszyn liczących
Historia rozwoju komputerów
1854 – George Boole
opracowuje algebrę
stanowiącą formalizację
praw logiki
1936 – Alan Turing definiuje maszynę zdolną
do realizacji dowolnego algorytmu
1945 – John von Neumann
opracowuje szeregową
architekturę komputera
Źródło fotografii:
http://pl.wikipedia.org
Historia rozwoju komputerów
1948 – ENIAC – pierwszy komputer elektroniczny
(18tys. Lamp elektronowych, 30 ton)
Lata 50-te XXw. –
zastosowanie tranzystorów
do budowy komputerów
Lata 60-te XXw. –
zastosowanie układów
scalonych
Historia rozwoju komputerów
1971 – Pierwszy mikroprocesor: Intel4004
(4-bitowy)
1978 – Pierwszy mikroprocesor 16-bitowy: Intel8086
(Zastosowany w pierwszych komputerach IMB PC XT)
1995 – ENIAC-on-a-chip,
7,4x5,3mm
2000 – PENTIUM IV
Sposoby reprezentacji liczb
Systemy reprezentacji używane
przez człowieka
Źródło: http://www.sciaga.pl
Sposoby reprezentacji liczb
Liczby i inne dane w technice cyfrowej
(w komputerach) najłatwiej jest reprezentować za
pomocą ciągów symboli zero-jedynkowych.
Ograniczenie zbioru symboli do dwóch wynika z
łatwości realizacji dwóch wartości napięcia na
wyjściu układów cyfrowych:
-
„0” – napięcie bliskie potencjałowi masy
„1” – napięcie bliskie napięciu zasilania
-
Struktura prostego systemu
mikroprocesorowego
Magistrala danych
Magistrala adresowa
Mikroprocesor
Magistrala
sterująca
Pamięć
Układy
wejścia,
wyjścia (I/O)
Magistrala
Zbiór linii (przewodów) elektrycznych realizujących
jedną funkcję, np.: dostarczanie adresu komórki do
pamięci, danych do mikroprocesora, itp..
Pamięć – idea budowy
układów pamięciowych
Przerzutnik - układ elektroniczny posiadający dwa stany
stabilne
Q
/Q
Przerzutnik ma zdolność
pamiętania jednego bitu
danych, podstawowej
jednostki informacji
S
R
Symbol
przerzutnika
typu RS
Pamięć – uład pamiętający
pojedynczą liczbę
Rejestr n-bitowy
D0
Q0
D1
Q1
D2
Q2
…
Dn-1
CLK
Qn-1
Pamięć - zbiór N rejestrów
R0
R1
R2
…
RN-1
Pamięć: wybór zapisywanego
rejestru - adresowanie
WR
R0
Adres
Dekoder
adresów
R1
n bitów
na
1zN
R2
…
RN-1
Dane
Pamięć: odczyt danych z
wybranego rejestru
RD
Adres
Dekoder
adresów
R1
n bitów
na
1zN
R2
…
RN-1
Dane
System buforów trójstanowych
– elektronicznych łączników
R0
Pamięć – kompletny układ
RD
WR
CS
Adres
R0
Dekoder
adresów
R1
n bitów
na
1zN
R2
…
RN-1
Dane
Organizacja i pojemność
pamięci
Organizacja pamięci – szerokość słowa – liczba bitów
w pojedynczym rejestrze (adresowanej komórce
pamięci), przykłady pamięci:
1-bitowa, 4-bitowa, bajtowa, 16-bitowa,… 128-bitowa
Pojemność pamięci – liczba rejestrów w układzie
lub liczba bajtów. N komórek pamięci może być
zaadresowane za pomocą słowa n-bitowego
(szerokość magistrali adresowej), gdzie:
N=2n
Klasyfikacja pamięci
Pamięć o dostępie swobodnym RAM (Random
Access Memory):
- SRAM,
- DRAM, SDRAM, DDR RAM
Pamięć tylko do odczytu (Read Only Memory):
- ROM,
- PROM,
- EPROM,
- EEPROM, FLASH
Pamięć statyczna RAM (SRAM)
Przechowuje informację do kiedy jest zasilana
Do zapamiętania jednego bitu danych są potrzebne min. 4
tranzystory
Jest stosunkowo droga
Komórka pamięci SRAM
źródło: http://www.bryk.pl
Pamięć dynamiczna RAM
(DRAM)
Wymaga cyklicznego
odświeżania zawartości
Do zapamiętania jednego bitu
danych jest potrzebny jedynie
jeden tranzystor i kondensator
Jest tania
Komórka pamięci DRAM
Moduł pamięci SDRAM
źródło: http://pl.wikipedia.org
źródło: http://www.bryk.pl
Pamięci ROM – tylko
do odczytu w systemie
ROM – zawartość zapisana
w procesie produkcji w postaci
maski
PROM – jednokrotny zapis w
specjalnym programatorze
EPROM – zapis wielokrotny,
kasowanie za pomocą
promieniowania ultrafioletowego
EEPROM – możliwość
wielokrotnego nadpisywania
danych w systemie (kasowanie
elektryczne)
FLASH – podobnie jak
EEPROM, ale kasowanie całymi
blokami
Pamięć EPROM (z oknem kwarcowym)
źródło: http://pl.wikipedia.org
Układy wejścia/ wyjścia (I/O)
Realizują komunikację mikroprocesora ze światem
zewnętrznym
Komunikacja odbywa się za pośrednictwem zbioru
rejestrów, z którymi procesor wymienia dane
podobnie jak z komórkami pamięci