ARCHITEKTURA KOMPUTERA
I. ARCHITEKTURA KOMPUTERA
1. ARCHITEKTURA KOMPUTERA WG VON NEUMANNA
Idea komputera von Neumanna
John von Neumann (ur. 28 grudnia 1903 w Budapeszcie, zm. 8 lutego 1957
w Waszyngtonie), inŜynier chemik, fizyk, matematyk i informatyk. Wniósł
znaczący wkład do wielu dziedzin matematyki, szczególnie teorii gier i
uporządkował formalizm matematyczny mechaniki kwantowej. Uczestniczył
w projekcie Manhattan. Przyczynił się do rozwoju numerycznych prognoz
pogody.
Architektura komputera wg Neumanna polega na ścisłym podziale komputera na trzy
podstawowe części:
• procesor (w ramach którego wydzielona bywa część sterująca oraz część
arytmetyczno-logiczna)
• pamięć komputera (zawierająca dane i sam program)
• urządzenia wejścia/wyjścia
Obecny sposób przedstawiania modelu architektury komputera wg Neumanna.
Oznaczenia bloków:
CPU – centralna jednostka przetwarzająca, RAM – pamięć do zapisu i odczytu
BIOS – podstawowy system obsługi we/wy, I/O – układy wejścia wyjścia
AB – magistrala adresowa, MEM – pamięć
PAO – pamięć operacyjna, ROM – pamięć tylko do odczytu
DB – magistrala danych, CB – magistrala sterująca
Dawny sposób przedstawiania modelu architektury komputera wg Neumanna.
Oznaczenia bloków:
Memory – pamięć do zapisu i odczytu
Control Unit – jednostka sterująca PROCESORA, Arithmetic Logic Unit – jednostka
wykonująca podstawowe działania arytmetyczne i logiczne PROCESORA
Input – urządzenia wejścia
Output – urządzenia wyjścia
ZałoŜenia John’a von Neumann’a:
System komputerowy zbudowany w oparciu o tą architekturę powinien:
• mieć skończoną i funkcjonalnie pełną listę rozkazów
• mieć moŜliwość wprowadzenia programu do systemu komputerowego poprzez
urządzenia zewnętrzne i jego przechowywanie w pamięci w sposób identyczny jak
danych
• dane i instrukcje w takim systemie powinny być jednakowo dostępne dla procesora
• informacja jest tam przetwarzana dzięki sekwencyjnemu odczytywaniu instrukcji z
pamięci komputera i wykonywaniu tych instrukcji w procesorze.
Podane warunki pozwalają przełączać system komputerowy z wykonania jednego zadania
(programu) na inne bez fizycznej ingerencji w strukturę systemu, a tym samym gwarantują
jego uniwersalność.
System komputerowy von Neumanna nie posiada oddzielnych pamięci do przechowywania
danych i instrukcji. Instrukcje jak i dane są zakodowane w postaci liczb.
Bez analizy programu trudno jest określić czy dany obszar pamięci zawiera dane czy
instrukcje. Wykonywany program moŜe się sam modyfikować traktując obszar instrukcji jako
dane, a po przetworzeniu tych instrukcji - danych - zacząć je wykonywać.
2. PORÓWNANIE KOMPUTERA DO MÓZGU BIOLOGICZNEGO
Komputer jako przybliŜony model mózgu
Komputer jest modelem mózgu w tym sensie, Ŝe równieŜ wykonuje obliczenia
Model von Neumanna:
• Procesor centralny (CPU) – „myślenie”
• Pamięć– „zapamiętywanie”
Działanie komputera jest sekwencyjne (czyli nie „równoległe”):
• Pobierz z pamięci instrukcję
• Pobierz z pamięci dane do wykonania instrukcji
• Wykonaj instrukcję
• Zapisz uzyskane dane w pamięci
Wady modelu von Neumanna
• Brak odporności na uszkodzenie elementów
• Sekwencyjne działanie
• Brak adaptacji
Naukowcy pracują nad bardziej zaawansowanymi modelami mózgu – sztucznymi sieciami
neuronowymi.
Sieci neuronowe to modele obliczeniowe, których funkcjonalność i struktura wzorowana jest
na mózgu. Charakteryzuje je:
• Rozproszone i równoległe przetwarzanie informacji
• Odporność na uszkodzenia części elementów
• MoŜliwość uczenia
• Mózg składa się z komórek nerwowych – neuronów.
• Z ciała komórki neuronu odchodzą dendryty, które razem z ciałem komórki zbierają
informację przychodzącą
• JeŜeli sumaryczne pobudzenie komórki przekroczy próg aktywacji, komórka generuje
impuls wysyłany aksonem do sąsiadów
Komórka nerwowa
Typowe neurony:
A. Komórka piramidalna korowa
B. Komórka móŜdŜka
C. Gwiaździsta komórka kory mózgowej
Typowe neurony
Połączenia w układzie nerwowym
Synapsa
Połączenie między neuronami nazywamy synapsą. Kiedy sygnał dochodzi do synapsy,
wysyłana jest substancja chemiczna (neurotransmiter), która aktywuje komórkę
postsynaptyczną. Komórka presynaptyczna moŜe zwiększać lub zmniejszać aktywność
komórki postsynaptycznej. Waga synapsy moŜe się zmieniać podczas przetwarzania
informacji.
Szybkość przetwarzania informacji
Neurony działają w skali milisekund,c zyli w przybliŜeniu wykonują ok. 1000 operacji na
sekundę. Procesory w komputerach są około milion razy szybsze.
W mózgu naraz działa 1011 neuronów – przetwarzanie równoległe.
Sztuczna sieć neuronowa
PowyŜsze inspiracje biologiczne były inspiracją do stworzenia sztucznych sieci neuronowych
– uproszczonych modeli mózgu przetwarzających informację w sposób rozproszony i
równoległy. Realizuje się je albo programowo albo sprzętowo (układy scalone o duŜej skali
integracji)
Kiedy chcemy rozwiązać dany problem przy pomocy sieci neuronowej napotykamy dwa
główne problemy:
• jak zaprojektować sieć (znaleźć graf skierowany reprezentujący sieć)
• jak nauczyć sieć (dobrać wagi by sieć wykonywała Ŝądane zadanie)
Nie wiemy jak natura rozwiązuje te problemy (ewolucja), nie mamy teŜ ogólnej metody
konstrukcji sztucznych sieci neuronowych.
Sieci neuronowe jednokierunkowe
Sieci neuronowe jednokierunkowe (feedforward neural networks) są budowane warstwowo.
Składają się z warstwy wejściowej, która odpowiada neuronom sensorycznym, i wyjściowej,
która odpowiada neuronom motorycznym. Często takŜe z kilku tzw. warstw ukrytych, które
odpowiadają interneuronom układu nerwowego.
Perceptrony
Najprostszą i najpopularniejszą siecią neuronową jest perceptron wielowarstwowy. Jest
siecią jednokierunkową (feedforward), to znaczy nie zawierającą cykli. Informacja podana jej
na wejściu przechodzi taką sieć raz i stabilizuje się na wyjściu.
Jak działa perceptron?
N ik
• W kaŜdym węźle w warstwie k policz waŜoną sumę wchodzących sygnałów,
S ik
zastosuj funkcję aktywacji f; wynik przypisz stanowi tego węzła. Inaczej mówiąc
Lk −1
S = f (∑ wk,−1S k −1 )
k
i ji j
j =1
w k,−1 jest wagą połączenia od węzła
Lk −1
gdzie to liczba węzłów w warstwie k-1, ji
N k −1 do węzła N ik
j
M
N iM
Skopiuj stan S i Oi
• kaŜdego węzła na – i-tą składową sygnału
wyjściowego.
Reguła XOR
W roku 1969 M. Minsky i S. Papert udowodnili, Ŝe Ŝaden perceptron jednowarstwowy nie
moŜe wyliczyć funkcji XOR.
Okazało się, Ŝe moŜe to zrobić perceptron dwuwarstwowy.
Uczenie sieci
• Uczenie sieci polega na zmianie wag połączeń tak, by funkcjonowała w poŜądany
sposób.
• Zwykle – automatyczne dopasowywanie wag zgodnie z pewnym algorytmem uczenia.
• Kiedy mówimy o uczeniu sieci mamy zwykle na myśli konkretny algorytm uczenia
Pamięć asocjacyjna
• Najprostszy algorytm uczenia pochodzi od Johna Hopfielda
• Sieć Hopfielda działa jak pamięć asocjacyjna – kojarzy obiekt z nim samym:
dobieramy wagi tak, Ŝeby na wyjściu otrzymać wejście
• Jest uŜyteczna wtedy, gdy na wejściu podamy niepełny albo zaszumiony bodziec –
sieć Hopfielda odtwarza poprawny bodziec
• Przykład: OCR i skanowanie
Rodzaje uczenia sieci
• Uczenie pod nadzorem
• Uczenie ze wzmacnianiem: oceniamy sieć na podstawie tego, jak sobie radzi z
zadaniem
• Uczenie bez nadzoru: sieć nie dostaje Ŝadnych wskazówek jak ma działać; na ogół
takie sieci uczą się dzielić grupę sygnałów wejściowych na klasy sygnałów o
„podobnym” charakterze (klasyfikacja).
Podsumowanie
• Pomysł sieci neuronowych jest starszy od pomysłu komputera von Neumanna
• Rozwój teorii i praktyki sieci neuronowych odbywał się falami. Kluczowe momenty:
Rok 1943: McCulloch i Pitts – sztuczny neuron
Rok 1950: Rosenblatt – perceptrony
Rok 1960: Minsky i Papert – krytyka perceptronu
Rok 1980: sieci Hopfielda
3. OPRACOWANIE
1. Jakie cztery cechy są podstawą modelu komputera wg Johna von Neumanna?
2. Narysuj schemat budowy komputera i opisz jego bloki funkcjonalne.
3. Wymień podstawowe wady modelu von Neumanna.
4. Jakie cechy (właściwości) odróŜniają architekturę obecnych komputerów od
modelu sztucznych sieci neuronowych?