background image

Maszyna Turinga

Alan Mathison Turing (ur. 23 czerwca 1912 w Londynie –

zm. 7 czerwca 1954 w Wilmslow) –

angielski matematyk, twórca maszyny Turinga 

i jeden z twórców informatyki.

background image

Budowa maszyny Turinga

Alan  Turing  pod  koniec  lat  trzydziestych 
ubiegłego  wieku  na  potrzeby  swoich  bada

ń

nad 

problemami 

obliczalno

ś

ci 

opracował

model  maszyny,  który  mo

Ŝ

na  zrealizowa

ć

nawet na kartce papieru. 

Był

to  automat  abstrakcyjny,  słu

Ŝą

cy  do 

analizy algorytmów.

background image

Maszyna  Turinga  zbudowana  jest  z  trzech 

głównych elementów: 

1. Niesko

ń

czonej  ta

ś

my  zawieraj

ą

cej  komórki 

z przetwarzanymi symbolami. 

2. Ruchomej głowicy zapisuj

ą

co-odczytuj

ą

cej. 

3. Układu sterowania głowic

ą

background image
background image

Niesko

ń

czona  ta

ś

ma

jest  odpowiednikiem 

współczesnej pami

ę

ci komputera. Ta

ś

ma dzieli 

si

ę

na komórki, w których umieszczone zostały 

symbole,  czyli  po  prostu  znaki  przetwarzane 
przez  maszyn

ę

Turinga.  Symbole  te  stanowi

ą

odpowiednik  danych  wej

ś

ciowych.  Maszyna 

Turinga odczytuje te dane z kolejnych komórek 
i  przetwarza  na  inne  symbole,  czyli  dane 
wyj

ś

ciowe. 

Wyniki 

oblicze

ń

równie

Ŝ

s

ą

zapisywane w komórkach ta

ś

my.

...  A  A  C  C  D  D  0  1  2  3  E  F  G  Z  ?  ?  ... 

background image

Głowica zapisuj

ą

co – odczytuj

ą

ca

Głowica 

ta 

odpowiada 

funkcjonalnie 

urz

ą

dzeniom  wej

ś

cia/wyj

ś

cia  współczesnych 

komputerów  lub  układom  odczytu  i  zapisu 
pami

ę

ci.

Głowica  zawsze  znajduje  si

ę

nad  jedn

ą

z  komórek  ta

ś

my.  Mo

Ŝ

e  ona  odczytywa

ć

zawarto

ść

tej  komórki  oraz  zapisywa

ć

do  niej 

inny  symbol  - na  tej  zasadzie  odbywa  si

ę

przetwarzanie  danych  - z  jednych  symboli 
otrzymujemy 

inne. 

Oprócz 

odczytywania 

i  zapisywania  symboli  w  komórkach  głowica 
wykonuje ruchy w prawo i w lewo do s

ą

siednich 

komórek na ta

ś

mie. W ten sposób mo

Ŝ

e si

ę

ona 

przemie

ś

ci

ć

do  dowolnie  wybranej  komórki 

ta

ś

my.

background image

Układ sterowania

Układ 

sterowania 

głowic

ą

zarz

ą

dza

przetwarzaniem  informacji.  Jego  współczesnym 
odpowiednikiem jest procesor komputera. Układ 
ten  odczytuje  za  pomoc

ą

głowicy  symbole 

z  komórek  ta

ś

my  oraz  przesyła  do  głowicy 

symbole  do  zapisu  w  komórkach.  Dodatkowo 
nakazuje  on  głowicy  przemie

ś

ci

ć

si

ę

do 

s

ą

siedniej komórki w lewo lub w prawo.

background image

Podstaw

ą

działania  maszyny  Turinga  s

ą

stany 

układu  sterowania.  Stan  układu  sterowania 
okre

ś

la  jednoznacznie  jak

ą

operacj

ę

wykona, 

oraz  jak  zareaguje  maszyna  Turinga,  gdy 
odczyta z ta

ś

my okre

ś

lony symbol.

Zatem  operacje  wykonywane  przez  układ 
sterowania zale

Ŝą

od dwóch czynników:

1. Symbolu odczytanego z komórki na ta

ś

mie. 

2. Bie

Ŝą

cego stanu układu steruj

ą

cego. 

Stany  zostały  okre

ś

lone  kolejnymi  nazwami: 

q0,  q1,  q2,  ...  ,qn,  gdzie  q0  jest  stanem 
pocz

ą

tkowym,  w  którym  znajduje  si

ę

maszyna 

Turinga  przed  rozpocz

ę

ciem  przetwarzania 

symboli na ta

ś

mie.

background image

Przyjmijmy nast

ę

puj

ą

c

ą

składni

ę

instrukcji 

dla maszyny Turinga:

Instrukcja 

maszyny 

Turinga 

Znaczenia symboli 

S

o

 

-  symbol  odczytany  przez  głowic

ę

  z 

bie

Ŝą

cej komórki na ta

ś

mie 

q

i

 

- bie

Ŝą

cy stan układu sterowania 

S

z

 

-  symbol,  jaki  zostanie  zapisany  w 

bie

Ŝą

cej komórce na ta

ś

mie 

q

j

 

-  nowy  stan,  w  który  przejdzie  układ 

sterowania po wykonaniu tej operacji 

(S

o

,q

i

,S

z

,q

j

,L/R) 

  

L/R

 

-  ruch  głowicy  o  jedn

ą

  komórk

ę

  w  lewo 

(L) lub w prawo (R) 

 

background image

S

0

i  q

i

s

ą

tzw.  cz

ęś

ci

ą

identyfikacyjn

ą

instrukcji.  Maszyna  Turinga  wykonuje  tyle 

Ŝ

nych  instrukcji,  ile  zdefiniujemy  cz

ęś

ci 

identyfikacyjnych  - w  programie  nie  mo

Ŝ

e  by

ć

dwóch  ró

Ŝ

nych  instrukcji  o  identycznej  cz

ęś

ci 

identyfikacyjnej. 

Powód  jest  oczywisty  -

któr

ą

instrukcj

ę

nale

Ŝ

ałoby w takim wypadku wykona

ć

?

background image

S

z

,  q

j

i  L/s

ą

tzw.  cz

ęś

ci

ą

operacyjn

ą

,  która 

okre

ś

la 

jakie 

działanie 

podejmuje 

dana 

instrukcja.  Cz

ęś

ci  operacyjne  ró

Ŝ

nych  instrukcji 

mog

ą

by

ć

takie  same  - oznacza  to  jedynie,  i

Ŝ

instrukcje  te  wykonuj

ą

dokładnie  to  samo 

działanie.

background image

Program dla maszyny Turinga

Aby lepiej zrozumie

ć

działanie maszyny 

Turinga, rozwa

Ŝ

my nast

ę

puj

ą

cy program 

zło

Ŝ

ony z dwóch instrukcji: 

Program 

0,q0,1,q0,L bit 

0 zamień na 1

 

1,q0,0,q0,L bit 

1 zamień na 0

 

background image

Przyjmijmy równie

Ŝ

Ŝ

e fragment niesko

ń

czonej 

ta

ś

my zwiera nast

ę

puj

ą

cy ci

ą

g symboli:

... ?  1 0 1 1  0 ? ... 

 

Symbolem  pustym  jest  znak  pytajnika.  Dane  do 
przetworzenia przez program zawarte s

ą

w kolejnych 

5 komórkach - 10110. 
Załó

Ŝ

my, i

Ŝ

jest to jaka

ś

warto

ść

binarna.

background image

Przed  rozpocz

ę

ciem  wykonywania  programu 

ustawiamy głowic

ę

na okre

ś

lonej komórce ta

ś

my. 

W tym przypadku niech b

ę

dzie to ostatni symbol 

0:

Po  uruchomieniu  maszyny  Turinga  obserwujemy 
co si

ę

stanie:

... ?  1  0  1  1  0  ?  ... 

 

background image

Ta

ś

ma z 

głowic

ą

 

Odczytany 

znak 

Stan 

bie

Ŝą

cy 

Wykonywana operacja 

 ? 1 0 1 1

 0 

?  

q0 

Kombinacja odczytanego znaku i stanu q0 
wyznacza  instrukcję  0,q0,1,q0,L.  Zatem 
znak  w  bieŜącej  komórce  maszyna 
Turinga  umieści  symbol  1,  stanu  nie 
zmieni  (

wciąŜ  pozostanie  w  q0

)  i 

przemieści  głowicę  do  sąsiedniej  komórki 
po lewej stronie. 

 ? 1 0 1

 1 

1 ?  

q0 

Teraz  kombinacja  odczytanego  znaku  i 
stanu  wewnętrznego  wyznacza  instrukcję 
1,q0,0,q0,L.  Znak  w  bieŜącej  komórce 
taśmy zostanie zastąpiony znakiem 0, stan 
wewnętrzny  nie  zmieni  się  i  głowica 
będzie  przesunięta  w  lewo  do  następnej 
komórki. 

 ? 1 0

 1 

0 1 ?  

q0 

To samo, co powy

Ŝ

ej, instrukcja 

1,q0,0,q0,L

 ? 1

 0 

0 0 1 ?  

q0 

Instrukcja 0,q0,1,q0,L

 ?

 1 

1 0 0 1 ?  

q0 

Instrukcja 1,q0,0,q0,L 

 ? 

0 1 0 0 1 ?  

?

 

q0

 

Ta  instrukcja  nie  została  zdefiniowana, 

zatem program zako

ń

czy swoj

ą

 prac

ę

 

 

background image

Maszyna Turinga, 

a współczesny komputer

Odpowiednikiem  procesora  jest  tu  głowica
pami

ę

ci  ta

ś

ma,  natomiast  diagram  przej

ść

mi

ę

dzy 

stanami 

odpowiada 

BIOS-owi, 

Windowsowi lub innemu oprogramowaniu. 

background image

Przykład: 

maszyna  realizuj

ą

ca  algorytm  Euklidesa  wyznaczania 

NWD (Najwi

ę

kszy Wspólny Dzielnik) dwóch liczb:

function NWD (x0= 24, x1= 9: Word): Word

;

repeat

x

2

:= x

0

mod x

1

;

x

0

:= x

1

;

x

1

:= x

2

;

until (x

2

= 0);

NWD:= x

0

1. x

2

:= 6; x

0

:=9; x

1

:=6;

2. x

2

:= 3; x

0

:=6; x

1

:=3

3. x

2

:= 0; x

0

:=3; x

1

:=0;

4. NWD=3;

background image

2-wymiarow

ą

Turing machine

opracowano w latach 

80-tych. Mrówka porusza si

ę

po siatce zawieraj

ą

cej 

białe i czarne pola według nast

ę

puj

ą

cych reguł:

1.

Kiedy mrówka znajdzie si

ę

na polu czarnym obraca si

ę

w prawo i przesuwa o jedno pole do przodu. 

2.

Kiedy mrówka jest na polu białym, obraca si

ę

w lewo 

i przesuwa do przodu o jedno pole.

3.

Kiedy mrówka opuszcza pole zmienia ono kolor.

background image

Test Turinga

Test  Turinga to  sposób  okre

ś

lania  zdolno

ś

ci 

maszyny

do 

posługiwania 

si

ę

j

ę

zykiem 

naturalnym  i  po

ś

rednio  maj

ą

cym  dowodzi

ć

opanowania  przez  ni

ą

umiej

ę

tno

ś

ci  my

ś

lenia 

w sposób podobny do ludzkiego. Test ten został
zaproponowany  w  1950  roku  przez  Alana 
Turinga.  Turing  zaproponował ten  test  w  celu 
zamiany  pełnego  emocji  i  w  jego  poj

ę

ciu 

bezsensownego  pytania  "Czy  maszyny  my

ś

l

ą

?" 

na pytanie lepiej zdefiniowane, w ramach bada

ń

nad stworzeniem sztucznej inteligencji.

background image

Test Turinga

Test  wygl

ą

da  nast

ę

puj

ą

co:  s

ę

dzia  - człowiek  -

prowadzi 

rozmow

ę

j

ę

zyku 

naturalnym 

z  pozostałymi  stronami.  Je

ś

li  s

ę

dzia  nie  jest 

w  stanie  wiarygodnie  okre

ś

li

ć

,  czy  która

ś

ze 

stron jest maszyn

ą

czy człowiekiem, wtedy mówi 

si

ę

Ŝ

e  maszyna  przeszła  test.  Zakłada  si

ę

Ŝ

zarówno człowiek jak i maszyna próbuj

ą

przej

ść

test zachowuj

ą

c si

ę

w sposób mo

Ŝ

liwie zbli

Ŝ

ony 

do ludzkiego.

background image

SCHEMAT TESTU TURINGA

background image

Test  pochodzi  od  zabaw  polegaj

ą

cych  na 

zgadywaniu 

płci 

osoby 

znajduj

ą

cej 

si

ę

w  innym  pokoju  przy  pomocy  serii  pyta

ń

i  odpowiedzi  pisanych  na  kartkach  papieru. 
W pierwotnym pomy

ś

le Turinga człowiek musiał

udawa

ć

przeciwn

ą

płe

ć

,  a  test  był ograniczony 

do pi

ę

ciominutowej rozmowy. Dzi

ś

nie uwa

Ŝ

a si

ę

tych  cech  za  podstawowe  i  zasadniczo  nie 
umieszcza w specyfikacji testu Turinga.

background image

Turing  oczekiwał, 

Ŝ

e  maszyny  w  ko

ń

cu  b

ę

d

ą

w  stanie  przej

ść

ten  test.  Ocenił, 

Ŝ

e  około  roku 

2000  maszyny  z  pami

ę

ci

ą

o  pojemno

ś

ci  109 

bitów  (około  119  MB)  b

ę

d

ą

w  stanie  oszuka

ć

30%  s

ę

dziów  w  czasie  pi

ę

ciominutowego  testu. 

Przewidywał

równie

Ŝ

Ŝ

e  ludzie  przestan

ą

uwa

Ŝ

a

ć

zdanie 

"my

ś

l

ą

ca 

maszyna" 

za 

wewn

ę

trznie  sprzeczne.  Oceniał, 

Ŝ

e  uczenie 

maszynowe 

nabierze 

du

Ŝ

ego 

znaczenia 

w budowaniu wydajnych maszyn. To twierdzenie 
jest  przez  dzisiejszych  badaczy  sztucznej 
inteligencji oceniane jako zasadne.

background image

Spory o to, czy test Turinga we wła

ś

ciwy sposób 

definiuje  inteligencj

ę

maszynow

ą

(lub  "my

ś

lenie 

maszynowe") dotyczyły głównie trzech punktów:

1. Maszyna, która przejdzie test Turinga mo

Ŝ

e by

ć

w  stanie  symulowa

ć

ludzkie  zachowanie 

konwersacyjne, lecz mo

Ŝ

e to by

ć

znacznie mniej 

ni

Ŝ

prawdziwa  inteligencja.  Maszyna  mo

Ŝ

zwyczajnie u

Ŝ

ywa

ć

sprytnie wymy

ś

lonych reguł. 

Cz

ę

st

ą

ripost

ą

w  społeczno

ś

ci  zajmuj

ą

cej  si

ę

badaniami  nad  sztuczn

ą

inteligencj

ą

jest 

zadanie  pytania  "A  sk

ą

d  wiemy  czy ludzie  sami 

po  prostu  nie  posługuj

ą

si

ę

jakimi

ś

sprytnie 

wymy

ś

lonymi regułami?". 

background image

2. Maszyna mo

Ŝ

e by

ć

inteligentna nie posiadaj

ą

ludzkiej umiej

ę

tno

ś

ci prowadzenia rozmowy. 

3. Wielu  ludzi  mogłoby  nie  by

ć

w  stanie  zaliczy

ć

takiego  testu.  Z  drugiej  strony,  inteligencj

ę

innych ludzi oceniamy zazwyczaj wył

ą

cznie na 

podstawie tego co i jak mówi

ą

background image

Jak dot

ą

d, 

Ŝ

aden komputer 

nie zaliczył testu Turinga.

Co roku wyznaczana jest Nagroda Loebnera dla 
najlepszych zawodników w te

ś

cie Turinga.

background image

Po  raz  pierwszy  ograniczony  test  Turinga  odbył
si

ę

w  1991  roku,  w  Bosto

ń

skim  Muzeum 

Komputerów.  Sze

ść

komputerów  miało  udawa

ć

ludzi,  a  dwie  osoby  komputery.  Wszystkie 
terminale  poł

ą

czona  ze  sob

ą

za  pomoc

ą

modemów  i  sieci  telefonicznej.  Dziesi

ę

ciu 

s

ę

dziów  podchodziło  kolejno  do  ka

Ŝ

dego 

terminala 

brało 

udział

konwersacji 

z niewiadomym partnerem. Wynik eksperymentu 
był zaskoczeniem. 

background image

Zwyci

ę

zc

ą

został

program 

komputerowy 

autorstwa Josepha Weintrauba, który jako temat 
rozmów  zadeklarował pogaduszki.  A

Ŝ

pi

ę

cioro 

s

ę

dziów  było  przekonanych, 

Ŝ

e  rozmawiało 

z  człowiekiem.  Z  kolei  specjalista  zajmuj

ą

cy  si

ę

twórczo

ś

ci

ą

Shakespeara  został uznany  przez 

troje  s

ę

dziów  za  program  komputerowy,  gdy

Ŝ

zbyt  szybko  i  dokładnie  cytował jego  dzieła 
z  pami

ę

ci.  Zostało  to  odebrane  jako  odczyt 

z  pami

ę

ci  masowej,  w  której  zmagazynowane 

zostały teksty utworów.

background image

Maszyna 

von Neumana

W  roku  1946  John  von  Neuman  (1903-1957), 
genialny  ameryka

ń

ski  uczony  w

ę

gierskiego 

pochodzenia  (przede  wszystkim  matematyk,  ale 
tak

Ŝ

chemik, 

fizjolog, 

biolog, 

fizyk 

i filozof) okre

ś

lił zasady, według których powinno 

si

ę

konstruowa

ć

komputery. Zasady te wytyczyły 

nowy  kierunek  w  historii  komputerów  i  s

ą

stosowane do dnia dzisiejszego. 

John von Neumann 

background image

Zasady  von  Neumana  mo

Ŝ

na  zawrze

ć

w  trzech 

punktach:

1.

instrukcje 

dane 

maj

ą

by

ć

identycznie 

reprezentowane w maszynie; 

2.

program  i  dane  musz

ą

mie

ś

ci

ć

si

ę

w  tej  samej 

wewn

ę

trznej pami

ę

ci (operacyjnej) komputera; 

3.

dzi

ę

ki  jednakowej  reprezentacji  danych  i  instrukcji 

maszyna  powinna  móc  wykonywa

ć

operacje  na 

instrukcjach i całym programie. 
Tak

ą

architektur

ę

komputera  nazywano  sterowan

ą

programem.  Wobec  tak  sformułowanej  definicji 
komputera  ENIAC  wszystkie  poprzedzaj

ą

ce  go 

maszyny nie były komputerami.

background image

Maszyna  von  Neumanna  była  komputerem  w pełni 
automatycznym, 

cyfrowym 

i

uniwersalnym, 

z

wczytywanym 

programem. 

Jej 

wewn

ę

trzna 

architektura  stała  si

ę

wzorem  dla  komercyjnych  maszyn 

nast

ę

pnej  generacji.  Komputer  posłu

Ŝ

ył do  wykonania 

wielu  oblicze

ń

z dziedziny  abstrakcyjnej  matematyki, 

fizyki  i

meteorologii.  Pomógł

zbada

ć

wewn

ę

trzn

ą

struktur

ę

gwiazd 

i

stabilno

ść

orbit 

cz

ą

stek 

w

akceleratorach. 

Był

naprawd

ę

uniwersalny.

background image

Schemat funkcjonalny komputera 

von Neumanna

idea komputera sterowanego programem

background image

Opis schematu maszyny 

von Neumanna

• Procesor 

• Pami

ęć

• Zegar 

• Magistrale 

• Wej

ś

cie/Wyj

ś

cie

background image

Procesor (ang. processor) -

układ 

dokonuj

ą

cy 

operacji 

na 

danych 

zgromadzonych  w  pami

ę

ci  lub  płyn

ą

cych  z/do 

urz

ą

dze

ń

wej

ś

cie/wyj

ś

cie, 

sterowany 

programem, którego kod znajduje si

ę

w pami

ę

ci. 

Do  przechowywania  swojego  wewn

ę

trznego 

stanu  procesor  wyposa

Ŝ

ony  jest  w  pewn

ą

ilo

ść

rejestrów.

background image

Do najwa

Ŝ

niejszych rejestrów procesora nale

Ŝą

:

Wska

ź

nik  instrukcji  (ang.  instruction  pointer)

-

wskazuje  komórk

ę

pami

ę

ci,  z  której  pobrany  b

ę

dzie 

nast

ę

pna instrukcja do wykonania.

Rejestr  flag  stanu  (ang.  flag  register,  flags)  - składaj

ą

si

ę

na  niego  jednobitowe  flagi  przechowuj

ą

ce 

informacje  o  stanie  procesora  (np.  dopuszczalno

ś

ci 

przerwa

ń

) lub rezultacie ostatnio wykonanej instrukcji.

background image

• Wska

ź

nik  stosu  (ang.  stack  pointer)  - wskazuje 

pierwsz

ą

woln

ą

komórk

ę

pami

ę

ci  na  stosie 

procesora  - strukturze  danych  typu  FILO  (ang. 
first  in  last  out  - pierwszy  przyszedł,  ostatni 
wyszedł)  wykorzystywanej  przy  skokach  do 
podprogramów  dla  przechowywania  adresu 
powrotu i zmiennych lokalnych. 

• Akumulator  (ang.  accumulator)  - słu

Ŝ

y  jako 

argument  a  zarazem  miejsce  umieszczania 
rezultatów operacji arytmetycznych.

background image

Pami

ęć

(pami

ęć

operacyjna, 

ang. memory) -

przechowuje  dane  i  kod  prgramu.  Je

Ŝ

eli  jej 

konstrukcja 

umo

Ŝ

liwia 

oprócz 

odczytu 

dokonywanie  w  niej  modyfikacji  nazywamy  j

ą

RAM  (ang.  random  access  memory), je

ś

li  jej 

konstrukcja 

pozwala 

jedynie 

na 

odczyt 

nazywana jest ROM (ang. read only memory).

Pami

ęć

dzieli  si

ę

na  komórki,  z  których 

ka

Ŝ

da jest w stanie przechowa

ć

liczb

ę

całkowit

ą

z  ustalonego  dla  danej  architektury  zakresu. 
Najcz

ęś

ciej  jest  to  0,  1,...,255.  Do  zakodowania 

takich  liczb  potrzeba  8  bitów  tj.  1  bajt.  Ka

Ŝ

da 

komórka pami

ę

ci posiada unikalny numer zwany 

adresem  fizycznym,  który  słu

Ŝ

y  procesorowi  do 

odwoływania si

ę

do niej. 

background image

Zegar

odmierza cykle wykonywania instrukcji 
programu. 

background image

Magistrale (ang. buses) -

słu

Ŝą

do przesyłania danych i synchronizacji elementów 

komputera: 

1. Magistrala  danych (ang.  data  bus)  słu

Ŝ

y  do  przesyłania 

danych 

mi

ę

dzy 

pami

ę

ci

ą

układami 

we/wy,

a procesorem. Ilo

ść

u

Ŝ

ytych tutaj linii (szeroko

ść

szyny) 

jest  równa  długo

ś

ci  słowa  maszynowego  i  jest  równa 

rozmiarowi 

komórki 

pami

ę

ci, 

lub 

jest 

jego 

wielokrotno

ś

ci

ą

.

2. Magistrala 

adresów

(ang. 

address 

bus) 

słu

Ŝ

procesorowi  do  wysyłania  numerów  komórek  pami

ę

ci 

lub  rejestrów  we/wy  na  których  b

ę

dzie  dokonane 

nast

ę

pne  przesłanie  danych.  Ilo

ść

u

Ŝ

ytych  tutaj  linii 

decyduje o ilo

ś

ci pami

ę

ci jak

ą

mo

Ŝ

na zaadresowa

ć

3. Magistrala  steruj

ą

ca

(ang.  control  bus)  słu

Ŝ

y  do 

wzajemnej 

synchronizacji 

oraz 

przekazywania 

i potwierdzania przyj

ę

cia/wykonania zlece

ń

background image

Wej

ś

cie/Wyj

ś

cie

Pozwala 

komputerowi 

kontaktowa

ć

si

ę

z  zewn

ę

trznym 

ś

wiatem  (klawiatura,  monitor, 

czytniki, 

adaptery 

sieciowe 

itp) 

lub 

przechowywa

ć

dane  poza  pami

ę

ci

ą

operacyjn

ą

(dyski). 

background image

Na  wej

ś

cie/wyj

ś

cie  składaj

ą

si

ę

nast

ę

puj

ą

ce 

układy i urz

ą

dzenia

1. Sprz

ę

towe  sterowniki  wej

ś

cia  - wyj

ś

cia

Układy  te  potrafi

ą

si

ę

porozumiewa

ć

procesorem 

poprzez 

rejestry 

we/wy, 

przerwania,  kanały  DMA  i  własn

ą

adresowaln

ą

przez  procesor  pami

ęć

układu.  Wykonuj

ą

zlecenia 

procesora 

steruj

ą

urz

ą

dzeniami 

wej

ś

cia 

wyj

ś

cia. 

technologii 

mikrokomputerowej  s

ą

montowane  jako  karty 

rozszerzaj

ą

ce wewn

ą

trz obudowy komputera.

background image

2.  Urz

ą

dzenia  zewn

ę

trzne - zapewniaj

ą

kontakt 

komputera 

ze 

ś

wiatem. 

Mog

ą

to 

by

ć

klawiatury,  monitory,  dyski,  drukarki,  modemy 
ale tak

Ŝ

e czujniki i ramiona robotów w procesie 

produkcyjnym. 

3. Interfejsy. Interfejs jest to specyfikacja sposobu 

przesyłania 

danych 

mi

ę

dzy 

dwoma 

urz

ą

dzeniami. 

Poj

ę

cie 

to 

bywa 

cz

ę

sto 

przenoszone na realizacj

ę

sprz

ę

tow

ą

interfejsu 

w  postaci  gniazd,  wtyków  i  kabli.  Bywa  te

Ŝ

rozszerzane 

na 

komunikacj

ę

człowiek-

maszyna, 

mówimy 

wtedy 

interfejsie 

u

Ŝ

ytkownika.

background image

Pierwsze pokolenie komputerów

przeznaczone do rozwi

ą

zywania jednego zadania w trybie 

pasywnym

algorytm posiada stał

ą

struktur

ę

i jest wykonywany 

sekwencyjnie

funkcjonowanie okre

ś

lone zostaje na etapie projektowania

brak systemu operacyjnego

budowane w oparciu o lampy elektronowe

funkcjonowały w latach 1945-1954

jednostka arytmetyczno-logiczna

Struktura komputerów pierwszego pokolenia

Pami

ęć

główna

Urz

ą

dzenia 

wej

ś

cia-wyj

ś

cia

ALU

Jednostka steruj

ą

ca

background image

Drugie pokolenie komputerów

przeznaczone do rozwi

ą

zywania wielu zada

ń

w trybie pasywnym

zastosowano algorytm szeregowo-równoległy (elementy 
współbie

Ŝ

no

ś

ci)

zastosowano prosty system operacyjny (tzw. monitor)

wykorzystanie pierwszych j

ę

zyków programowania

po raz pierwszy zastosowano pami

ęć

wirtualn

ą

budowane w oparciu o tranzystory 

funkcjonowały w latach 1955-1964

Struktura komputerów drugiego pokolenia

Procesor 

centralny

Pami

ęć

Multi-

plekser

Kanały 

danych

Urz

ą

dzenia

peryferyjne

background image

Trzecie pokolenie komputerów

wykorzystywały algorytm sterowania, pozwalaj

ą

cy r

ę

cznie 

zmienia

ć

struktur

ę

maszyny 

rozwini

ę

to wieloprogramowalno

ść

i zastosowano podział czasu

zastosowano tryb interakcyjny

wykorzystanie j

ę

zyków wysokiego poziomu

do budowy wykorzystywano układy scalone małego i 

ś

redniego 

stopnia scalania 

funkcjonowały w latach 1955-1964

Struktura komputerów trzeciego pokolenia

Procesor 

centralny

Pami

ęć

operacyjna

Interfejs pami

ę

ci

Kanały 

danych

Interfejs procesora

background image

Czwarte pokolenie komputerów

Algorytm sterowania procesem obliczeniowym pozwala na równoległe 
rozwi

ą

zywanie szeregu problemów

Struktura systemu automatycznie dostosowuje si

ę

do struktury 

rozwi

ą

zywanego zadania

W celu zwi

ę

kszenia szybko

ś

ci szerzej zastosowano sprz

ę

towe metody 

rozwi

ą

zywania niektórych problemów

Budowane w oparciu o układy scalone o du

Ŝ

ym stopniu integracji

U

Ŝ

ywane w latach 1970-1990

Pami

ęć

operacyjna

Sie

ć

poł

ą

cze

ń

Procesor n

Procesor 1

Procesor 2

.......

background image

Piąte pokolenie komputerów

Pozwala rozwi

ą

zywa

ć

bardzo skomplikowane zadania

Algorytm sterowania dopuszcza zmian

ę

struktury systemu 

obliczeniowego w trakcie rozwi

ą

zywania zadania

U

Ŝ

ywane j

ę

zyki programowania coraz bardziej zbli

Ŝ

aj

ą

si

ę

do 

j

ę

zyka naturalnego

Wybrane funkcje realizuje si

ę

sprz

ę

towo

Sie

ć

poł

ą

cze

ń

Procesor 

skalarny

Pami

ęć

operacyjna

Układy wej

ś

cia wyj

ś

cia

Procesor 

wektorowy

Pami

ęć

operacyjna

..........

Architektura komputera pi

ą

tego pokolenia

background image

Pięć pokoleń komputerów - zestawienie

Cray MPP

Intel Paragan

VPP500

J

ę

zyk Java. WWW.

Przetwarzanie równoległe

Układy scalone (ULSI)

Architektura skalowalna

Pi

ą

te

1991-.....

VAX 9000

Cray X-MP

IBM 3090

Wieloprocesorowo

ść

J

ę

zyki Ada, Modula

Ś

rodowisko dla pracy równoległej

Układy scalone (LSI oraz VLSI)

Pami

ę

ci półprzewodnikowe

Superkomputery wektorowe

Czwarte

1975-1990

IBM 360/370

CDC 6600

TI-ASC

PDP-8

Wieloprogramowo

ść

i podział czasu

J

ę

zyki PL/I, C, Cobol

Rozbudowany SO

Praca interaktywna

Układy scalone (SSI oraz MSI)

Pami

ęć

cache

Mikroprogramowanie, potokowanie

Trzecie

1965-1974

IBM 7090

CDC 1604

Univac LARC

Elementy wieloprogramowo

ś

ci

J

ę

zyki Algol, Fortran – kompilatory

Monitory (protoplasta SO)

Tranzystory

Dyskretne pami

ę

ci rdzeniowe

Arytmetyka zmiennopozycyjna

Procesory we/wyj

Dzielony dost

ę

p do pami

ę

ci

Drugie

1955-1964

ENIAC

Pronceton IAS

IBM 701

Tryb jednou

Ŝ

ytkownikowy wsadowy

J

ę

zyki maszynowe 

Brak podprogramów

We/wy obsługiwane przez procesor 
centralny

Lampy elektronowe,

Pami

ęć

na liniach opó

ź

niaj

ą

cych, 

Procesor centralny sterowany przez 
licznik rozkazów i akumulator 

Arytmetyka stałopozycyjna

Pierwsze

1945-1954

Przykłady

Oprogramowanie

I aplikacje

Technologia 

i architektura

Pokolenie

Ź

ródło: M. Hajder i inni „Informatyka.Wirtualna podró

Ŝ

ś

wiat systemów i sieci komputerowych

background image

Cechy współczesnych systemów 

komputerowych

Systemem komputerowym nazywamy zbiór wzajemnie 

powi

ą

zanych wzajemnie elementów (komputer, 

urz

ą

dzenia peryferyjne, oprogramowanie) których 

współdziałanie pozwala osi

ą

gn

ąć

zadany cel

• Wielofunkcyjno

ść

– przystosowanie do realizacji 

Ŝ

norodnych zada

ń

(uniwersalno

ść

)

• Zło

Ŝ

ono

ść

– wysoki stopie

ń

skomplikowania sprz

ę

tu i 

oprogramowania

• Hierarchiczno

ść

– podział na etapy, umo

Ŝ

liwia rozbicie 

przetwarzania

• Spójno

ść

– systemu nie da si

ę

rozbi

ć

na niezale

Ŝ

ne 

funkcjonalne elementy  

• Rozproszenie – informacja przetwarzana w ró

Ŝ

nych 

miejscach (tam gdzie powstaje)

background image

Cechy współczesnych systemów 

komputerowych

• Zmienno

ść

struktury – mo

Ŝ

liwo

ść

dostosowania 

systemu do zadania

• Niezawodno

ść

– bezawaryjno

ść

, mo

Ŝ

liwo

ść

odtworzenia danych w razie uszkodzenia

• Kontrola i diagnostyka – dost

ę

pno

ść

narz

ę

dzi 

diagnostycznych

• Niejednorodno

ść

– ró

Ŝ

norodno

ść

w działaniu 

(nie przeszkadzaj

ą

ca we współpracy)

• Równoległo

ść

– mo

Ŝ

liwo

ść

jednoczesnej pracy 

wielu elementów przetwarzaj

ą

cych

• Otwarto

ść

systemu – mo

Ŝ

liwo

ść

jego rozbudowy

• Moc obliczeniowa