SOISK - SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Tomasz Puchała

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?