Architektura i organizacja komuterów W1 i 2 Co to jest i skąd to się wzięło

background image

Co to jest i skąd się to
wzięło ?
Ewolucja i rozwój
komputerów.

Wyższa Szkoła Biznesu
Studia zaoczne, sem. II
Architektura i organizacja
komputerów
Wykład 1 i 2

background image

Polecana literatura

Wiliam

Stallings

„Architektura

i

organizacja

komputerów’ WNT, Warszawa 2003
J. Biernat „ Architektura komputerów”, WPW 1999
Scott Miller „Rozbudowa i naprawa komputerów PC”,

Helion, Gliwice 2003
Piotr Metzenger „Anatomia PC”, Helion, Gliwice 2003
Wodzisław Duch „Fascynujący świat komputerów”,

Nakom, Poznań 19978
Jan Pieńkos, Janusz Turczyński, Ukłądy scalone TTL w

systemach cyfrowych, WKiŁ 1986
Chalk B. S. „Organizacja i architektura systemu

komputerowego” WNT 1998

background image

Temat i cel wykładów

Tematem wykładów jest struktura i
działanie komputerów
,
celem zaś - możliwie jasne i
kompletne przedstawienie natury
i własności współczesnych
systemów komputerowych
.

background image

Z dwóch powodów jest to

trudne zadanie

Po pierwsze, istnieje ogromna różnorodność wyrobów, które

mogą nosić miano komputera - od pojedynczego

mikrokomputera kosztującego kilka dolarów do

superkomputerów o wartości dziesiątków milionów dolarów.

Różnorodność ta dotyczy nie tylko kosztu, ale także

rozmiaru, wydajności i obszaru zastosowań.
Po drugie, szybkie zmiany, które zawsze charakteryzowały

technikę komputerową, zachodzą nadal i wcale nie słabną.

Zmiany te obejmują wszystkie aspekty techniki

komputerowej - od mającej podstawowe znaczenie

technologii układów scalonych wykorzystywanej do budowy

zespołów komputera, aż do coraz szerszego wykorzystania

koncepcji organizacji równoległej przy łączeniu tych

zespołów.

background image

Na szczęście

Pomimo tej różnorodności i tempa zmian w
dziedzinie

komputerów

pewne

podstawowe

rozwiązania

pozostają

nadal

aktualne.

Z

pewnością zastosowanie ich zależy od bieżącego
stanu techniki oraz od założonej przez projektanta
relacji między ceną a wydajnością, dlatego
naszym celem jest wnikliwe przedyskutowanie
podstaw organizacji i architektury komputerów
oraz

powiązanie

ich

ze

współczesnymi

zagadnieniami projektowania komputerów.

background image

Architektura i organizacja

komputera

Przy opisywaniu systemów komputerowych

często czynione jest rozróżnienie między

architekturą komputera a jego organizacją.
Architektura komputera odnosi się do tych

atrybutów systemu, które są widzialne dla

programisty. Innymi słowy, atrybuty te mają

bezpośredni wpływ na logiczne wykonywanie

programu.
Organizacja

komputera

odnosi

się

do

jednostek operacyjnych i ich połączeń, które

stanowią realizację specyfikacji typu architektury.

background image

Przykładowe elementy

architektury i organizacji

Przykładami atrybutów architektury są:

– lista rozkazów,
– liczba bitów wykorzystywanych do prezentacji różnych

typów danych (np. liczb czy znaków),

– mechanizmy wejścia-wyjścia oraz metody adresowania

pamięci.

Do atrybutów organizacyjnych należą 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

Przykład

To, czy w komputerze występuje rozkaz mnożenia,

jest zagadnieniem projektowania architektury.
Zagadnieniem organizacyjnym jest natomiast to,

czy ten rozkaz będzie wykonywany przez specjalną

jednostkę mnożącą, czy też przez wielokrotne

wykorzystanie jednostki sumującej systemu.
Decyzja

organizacyjna

może

wynikać

ze

spodziewanej częstości wykorzystywania rozkazu

mnożenia, ze względnej szybkości obu rozwiązań, a

także z kosztu i fizycznych rozmiarów specjalnej

jednostki mnożącej.

background image

Rozróżnienie między

architekturą a organizacją

jest ważne

Wielu producentów komputerów oferuje rodziny
modeli o tej samej architekturze, różniące się jednak
organizacją.
W wyniku tego poszczególne modele w tej samej
rodzinie mają różne ceny i parametry określające
wydajność.
Ponadto, architektura może przeżyć wiele lat,
natomiast organizacja zmienia się wraz z technologią.
Wybitnym przykładem obu tych zjawisk jest
architektura Systemu 370 IBM.

background image

Architektura systemu 370

IBM

Architektura ta była po raz pierwszy wprowadzona w roku 1970 i

obejmowała wiele modeli. Klient o umiarkowanych wymaganiach

mógł kupić model tańszy, lecz wolniejszy.
Jeśli jego wymagania wzrosły, mógł sięgnąć po droższy i szybszy

model, nie rezygnując jednakże z dotychczas opracowanego

oprogramowania.
Przez całe lata IBM wprowadzał wiele nowych modeli

wykorzystujących ulepszoną technologię w celu zastąpienia

starszych modeli, oferując klientowi większą szybkość, niższy

koszt lub i jedno, i drugie. Nowe modele zachowywały tę samą

architekturę, co chroniło inwestycje poniesione przez klienta na

oprogramowanie.
Jest godne uwagi, że architektura Systemu 370, nieznacznie

ulepszona, przeżyła do dzisiaj i nadal występuje w głównej linii

wyrobów IBM.

background image

Prawie nikt nie wie,

kto wynalazł komputer ?

Komputery zmieniły ogromnie naszą cywilizację,

wpływają bezpośrednio na wiele aspektów naszego

życia, a jednak, prawie nikt z zapytanych: „Kto

wynalazł komputer?” nie potrafi podać żadnego

nazwiska

związanego

z

historią

powstania

i rozwoju tych urządzeń.
Co innego nazwiska graczy piłki nożnej czy aktorów, tu

każdy potrafi wymienić wiele gwiazd. Komputery nie

zamierzają jednak zniknąć z naszego życia wraz ze

zmianą sezonu.
Chociaż więc wiadomości zawarte w tej części wykładu

nie są niezbędne do posługiwania się komputerem

warto zapytać: skąd wziął się ten wspaniały świat?

background image

Liczydło

- przykład urządzenia cyfrowego

Calculi oznaczało pierwotnie u

starożytnych Rzymian kamyczki

służące do zliczania. Słowo to

stanowi rdzeń takich polskich

słów jak „kalkulacja, kalkulator”.
Rzymianie do obliczeń używali

też liczydeł, zwanych „abacus”.

Wszystkie

rozwinięte

kultury

starożytne posługiwały się jakąś

formą liczydeł. Liczydła zrobiły

ogromną karierę i używane były

przez około 2000 lat.

background image

Liczydła – najdłużej

używane urządzenie

liczące

W niektórych krajach, takich jak Chiny, Filipiny czy

Brazylia, liczydła do tej pory są popularne. Starsi

Chińczycy po dziś dzień wolą wprowadzać dane do

komputera przesuwając kulki liczydła na ekranie

komputera zamiast naciskać klawisze cyfr!
W Europie liczydła były w powszechnym użyciu

jeszcze

w latach sześćdziesiątych.
Żadne urządzenia liczące nie mają już szans na

zrobienie tak wielkiej kariery jak liczydła (na

utrzymanie się na rynku przez tysiące lat) - postęp

w tej dziedzinie jest zbyt szybki.

background image

Komputer może nie

powtórzyć kariery liczydeł

Nawet nazwa „komputer” może nie przetrwać tak

długo,

gdyż

obecnie

używane

komputery

przypominają swoje pierwowzory sprzed lat

kilkudziesięciu jedynie pod względem teoretycznym

a nowe urządzenia, takie jak:
palmtopy, PDA (personal digital assistant), PIM

(personal information manager),
telefony komórkowe GSM (a w przyszłości 3G-

UMTS),
komputery ubraniowe,
itp. mogą zupełnie zmienić nasze wyobrażenia

o urządzeniach komputerowych.

background image

Kostki Napiera,

Suwak logarytmiczny

W okresie Renesansu bardziej

zaawansowane

obliczenia

wykonywano

przy

pomocy

tablic

matematycznych

i

suwaka

logarytmicznego,

będącego

udoskonaleniem

tabliczek Napiera (zwanych

również kostkami Napiera).
Zamieniając liczby na ich

logarytmy

można

zastąpić

mnożenie znacznie łatwiejszym

dodawaniem i do tego celu

właśnie

służyły

tabliczki

Napiera.

background image

Liczydło, a suwak

logarytmiczny

Liczydło jest urządzeniem dającym odpowiedzi

dokładne

w wyniku zliczania kulek, jest więc przykładem

urządzenia nazywanego dyskretnym lub cyfrowym.
Suwak daje odpowiedzi przybliżone, jego elementy

(okienko i linijkę) przesuwa się w sposób ciągły a wyniki

określa się za pomocą pomiarów długości. Urządzenia,

w których liczby zastępowane są jakimiś wielkościami

fizycznymi, takimi jak długość czy napięcie elektryczne,

nazywa się urządzeniami analogowymi. Suwak

logarytmiczny

jest

przykładem

urządzenia

analogowego.

background image

Wilhelm Schickard

Prawdopodobnie

pierwsze

mechaniczne

urządzenie

wykonujące

działania arytmetyczne

zbudował Wilhelm Schickard (1592-1635) w

oparciu

o tabliczki Napiera.
Inspiracją do budowy tego czterodziałaniowego

arytmometru były astronomiczne obliczenia Keplera

(dzięki którym sformułował on swoje słynne trzy

prawa ruchu planet).
Jedyne informacje jakie przetrwały do naszych

czasów pochodzą właśnie z listu Schickarda do

Keplera. List ten zawiera tak szczegółowy opis

urządzenia, że możliwe było jego odtworzenie.

background image

Blaise Pascla

W 1642 roku Pascal, francuski filozof,
matematyk i fizyk, mając zaledwie 19 lat
skonstruował pierwszy sumator mechaniczny.
Pascal był synem urzędnika podatkowego i do
pracy nad sumatorem zainspirowała go
żmudna praca ojca.
Dopiero

teraz

sumatory,

stanowiące

podstawowe narzędzie pracy w księgowości,
ustępują bardziej wyrafinowanym programom
komputerowym.

background image

Pascaliny

Pascal zbudował ponad 50 wersji mechanicznych sumatorów

w przeciągu dziesięciu lat (od 1642). „Pascaliny”, jak

nazywano jego sumatory, miały prostą konstrukcję, podobną

do

liczników

kilometrów

w dzisiejszych samochodach.
Osiem par kół zębatych pozwalało na dodawanie stosunkowo

dużych liczb. Koła były sprzężone ze sobą realizując

przeniesienie rezultatu dodawania do następnego koła jeśli

cyfra przekraczała 9. Sumator pracował więc w oparciu o

dziesiętny system liczenia.
Podstawowe zasady konstrukcji w oparciu o koła zębate

wykorzystywane były w urządzeniach liczących przez 300 lat.

Największą wadą Pascaliny był skomplikowany sposób

wykonywania odejmowania, mnożenia czy dzielenia.

background image

Gottfried Leibniz

Gottfried Wilhelm Leibniz, urodzony 21.06.1646

w Lipsku, zmarły 14.11.1716 w Hannowerze i pochowany

w zbiorowym, bezimiennym grobie, mógłby być

patronem informatyków. Leibniz był cudownym dzieckiem

i rozpoczynając w wieku 15 lat studia w Lipsku posiadał

wiedzę dorównującą wiedzy niektórych profesorów.
W czasie późniejszych studiów w Moguncji porządkował

prawo rzymskie, tam też sporządził pierwsze plany

maszyny liczącej. W Paryżu, gdzie studiował u słynnego

astronoma i matematyka, Christiana Huygensa, pisał

rozprawy z filozofii, teologii, alchemii, matematyki,

dyplomacji i polityki. Do pracy nad modelem

mechanicznego kalkulatora natchnęły go żmudne

obliczenia astronomiczne dokonywane przez Huygensa.

background image

Inspiracja Leibniza

Jego spostrzeżenia są tu nadal aktualne:

Nie

jest

bowiem

rzeczą

godną

wykształconego człowieka, by tracić godziny

pracując jak niewolnik nad obliczeniami,

które wykonać mógłby każdy, gdyby użyto w

tym celu maszyny.”

Nadzieje na uwolnienie człowieka od owej niewolniczej”

pracy spełniają się dopiero teraz. Jeszcze całkiem

niedawno wykonanie poważniejszych obliczeń przy

pomocy komputera było technicznie bardzo trudne:

spędzało się całe noce w ośrodku obliczeniowym i

człowiek miał wrażenie, iż to on jest niewolnikiem

maszyny a nie odwrotnie!

background image

Kalkulator

Leibnitza

W swoich planach budowy maszyny liczącej

(określanej jako „żywa ława do liczenia”) Leibniz

wprowadził ruchomą część pozwalającą na

automatyzację

wielokrotnego

dodawania,

koniecznego do wykonania mnożenia lub dzielenia

- wystarczyło pociągnąć za rączkę, by uruchomić

zębate kółka.
Chociaż kalkulator Leibniza zdobył znaczny rozgłos,

demonstrowany był między innymi na spotkaniu

Królewskiego Towarzystwa Naukowego w Londynie

i Francuskiej Akademii Nauk, jego twórca nie zdołał

znaleźć nikogo chętnego do jego budowy.

background image

Abraham Stern

Polski zegarmistrz Abraham Stern (1769-1842)

skonstruował

około

1810

roku

kilka

skomplikowanych

maszyn

napędzanych

mechanizmami zegarowymi, wykonujących cztery

działania arytmetyczne oraz pierwiastkowanie.

Były

to

pierwsze

urządzenia

liczące

nie

wymagające ręcznego kręcenia korbką.
Jego godne podziwu dzieło nie wywarło jednak

większego wpływu na rozwój maszyn liczących na

świecie. Mechanizmy zegarowe były zbyt delikatne

i zbyt cenne by mogły znaleźć praktyczne

zastosowanie na szeroką skalę.

background image

Charles Babbage

Spośród

wszystkich

myślicieli

żyjących

w minionych wiekach najbliżej wynalezienia

komputera, we współczesnym nam sensie, był

angielski

matematyk

i wynalazca, profesor Uniwersytetu w Cambridge,

Charles Babbage.
Na początku XIX wieku obliczenia dla potrzeb

nawigacji i astronomii wymagały coraz większych

dokładności. Wykonywano je przy pomocy tablic

logarytmicznych. Obliczanie wartości logarytmów

było żmudne a tablice zawierały błędy.

background image

Maszyna różnicowa

Maszyna

projektu

Babbage'a

miała

być pierwszą prawdziwie automatyczną

maszyną obliczającą tablice logarytmów.
Niewielki prototyp „maszyny różnicowej”, bo

taką jej nadano nazwę, ukończony został w 1822

roku. Przez następnych 11 lat rząd brytyjski

wydał na projekt Babbage'a ogromną sumę,

pomimo tego zrealizowano tylko niewielką część

tego coraz bardziej ambitnego projektu.

Wymagania

dotyczące

precyzji

części

mechanicznych były jak na owe czasy zbyt duże.

background image

Maszyna różnicowa (20 lat

później)

Dwadzieścia lat po zarzuceniu tego projektu

szwedzki wynalazca Pehr Scheutz, korzystając z rad

Babbage'a,

zbudował

zmodyfikowaną

wersję

maszyny różnicowej.
Pokazana na wystawach w Londynie i Paryżu

została nagrodzona złotym medalem. Po wstępnym

ustawieniu maszyna produkowała kolejne wyniki

szeregów różnicowych automatycznie, wymagając

od człowieka jedynie kręcenia korbą.
Oryginalny projekt maszyny różnicowej udało się

zrealizować dopiero w 1992 roku a jej działający

model ustawiono w muzeum techniki w Londynie!

background image

Maszyna

analityczna

Niezrażony

tym

niepowodzeniem

Babbage

przystąpił do jeszcze bardziej ambitnego projektu:

„maszyny analitycznej”, wykonującej nie tylko

działania

arytmetyczne

jednego

typu,

lecz

pozwalającej na wykonywanie działań zgodnie z

określoną przez operatora instrukcją.
Maszyna ta miała być napędzana ... energią pary,

jak na wiek XIX przystało. W założeniu miał to być

cud mechaniki, zbudowany głównie w oparciu o

zębate kółka. Urządzenie składało się z trzech

części, nazywanych przez Babbage'a „składem”,

„młynem” i „mechanizmem sekwencyjnym”.

background image

Założenia budowy maszyny

analitycznej

„Skład” miał przechowywać rezultaty pośrednich
obliczeń, pełnił więc rolę pamięci. Zgodnie z planem
powinien przechowywać 100 liczb 40-cyfrowych do
czasu, aż będą potrzebne do dalszych obliczeń.
„Młyn” spełniał rolę arytmometru, wprowadzając
dane ze składu i wykonując na nich operacje
arytmetyczne.
„Mechanizm sekwencyjny”, który można by nazwać
programem, miał decydować o tym, które dane
pobierać ze składu i jakie wykonywać na nich
operacje.

background image

Maszyna analityczna, a

komputery

Pierwsze komputery cyfrowe złożone były
dokładnie z takich trzech części.
Ponieważ

sterowanie

maszyny

analitycznej miało być zależne od
wyników obliczeń („pożera własny ogon”,
jak to obrazowo określił jej twórca), była
to w założeniach pierwsza programowalna
uniwersalna maszyna licząca.

background image

Wprowadzanie danych

w maszynie analitycznej

Do wprowadzania danych Babbage planował użyć kart

dziurkowanych, stosowanych w tym czasie przez J. Jacquarda

w napędzanych silnikiem parowym maszynach tkackich.

Stosowano je do wykonywania bardzo precyzyjnych prac.
Portret samego Jacquarda, utkany z jedwabiu, wymagał 24

tysięcy takich kart sterujących i był równie wierny jak portrety

olejne.
Warsztaty tkackie w dalszym ciągu pracują w oparciu o zasady

podobne do wymyślonych przez Jacquarda na początku XIX

wieku.
Karty

dziurkowane

jeszcze

w

latach

80-tych,

przed

rozpowszechnieniem bezpośredniej komunikacji z komputerami

przy pomocy klawiatur, stosowane były powszechnie do

sterowania pracą komputerów, przechowywania danych i

programów.

background image

Nieskończony prototyp

współczesnych maszyn

cyfrowych

Maszyna analityczna nigdy nie została ukończona, gdyż

nawet w dzisiejszych czasach bardzo trudno jest zrobić

tak złożone urządzenie mechaniczne.
Wyobraźmy sobie urządzenie wielkości lokomotywy,

napędzane parą, wypełnione całkowicie małymi trybikami

i kółkami zębatymi.
Kto wie, może podobnie jak zbudowano maszynę

różnicową uda się dzięki zastosowaniu dzisiejszej techniki

zbudować również maszynę analityczną?
W każdym razie można ją uznać za prototyp

współczesnych maszyn cyfrowych.
Wielka przyszłość czekała natomiast karty dziurkowane -

użyte zostały do obliczeń już 20 lat po śmierci Babbage'a.

background image

Maszyna Hermanna

Hollerith’a

Zgodnie z konstytucją USA co 10 lat należy sporządzać spis

powszechny. W 1885 roku podliczanie danych ze spisu

powszechnego z 1880 roku było dalekie od zakończenia.

Szukano

jakichś

sposobów

zautomatyzowania

przetwarzania

danych

gdyż

z powodu szybkiego wzrostu liczby ludności w USA

zachodziła obawa, że nie uda się opracować wyników

danego spisu przed początkiem następnego!
Amerykański statystyk, Hermann Hollerith, opracował

elektryczną maszynę do wprowadzania, sortowania i

podliczania danych wykorzystującą dziurkowane karty.

Wyniki spisu z 1890 roku udało się dzięki temu opracować

w niecałe 3 lata. Podobne urządzenie wykorzystywane było

w

czasie

spisów

powszechnych

jeszcze

w 1950 roku.

background image

Pierwsza firma „przemysłu

komputerowego”

Wynalazek maszyny tabulacyjnej dał Hollerithowi sławę i

bogactwo. Na jego cześć nazywano między innymi pewne

typy danych we wczesnych językach programowania.
Hollerith stosował swoją maszynę do statystycznej obróbki

danych nie tylko dla potrzeb rządowych, lecz również

biznesu, zakładając w 1896 roku Tabulating Machine

Company. Firma ta połączyła się później z kilkoma innymi

firmami tworząc International Business Machines, czyli

IBM, dzisiejszego giganta przemysłu komputerowego.
Maszyny

do

przetwarzania

danych

w

okresie

międzywojennym przeszły znaczną ewolucję przyczyniając

się do powstania maszyn do księgowości, zwanych

również tabulatorami.

background image

Konrad Zuse

Pierwszy krok w kierunku czysto elektrycznych maszyn

liczących zrobił w 1933 roku niemiecki inżynier Konrad Zuse.
Zbudował on komputer oparty na przekaźnikach. Komputery

zbudowane na przekaźnikach określa się czasem mianem

komputerów zerowej generacji.
Przez prawie 200 lat idee dwójkowej reprezentacji liczb

wysunięte przez Leibniza nie były wykorzystywane. Budowano

kalkulatory działające w systemie dziesiętnym, zbudowano

arytmometr działający w systemie ósemkowym, a system

dwójkowy, w którym posługujemy się tylko dwoma cyframi, 0 i

1, pojawił się dopiero w maszynach na przekaźnikach. Dla

przekaźników dwójkowa reprezentacja jest naturalna, gdyż

przekaźniki to po prostu sterowane wyłączniki: są albo włączone

i przepuszczają prąd, albo wyłączone i prądu nie przepuszczają.

background image

Maszyna Z3

Zuse w maszynie Z3 wprowadził zmiennoprzecinkową

arytmetykę, to znaczy posługiwał się nie tylko liczbami

całkowitymi, ale mógł wykonywać działania na

dowolnie dużych liczbach posługując się wykładnikami

dziesiętnymi (np. 234,1 biliona, czyli 234,1 × 10

12

,

łatwo jest zapisać w postaci zmiennoprzecinkowej, w

przeciwnym razie potrzebujemy 15 cyfr 234 100 000

000 000).
Z3 był to już w pełni funkcjonalny automat liczący

sterowany programem. Rekonstrukcję maszyny Z3

można obecnie obejrzeć w Deutsches Museum, w

Monachium.

background image

Pierwsza propozycja

komputera lampowego

W pierwszych latach wojny Zuse wysłał projekt

budowy komputera opartego na lampach, oceniając

czas jego realizacji na około 2 lat. Projekt ten na

szczęście (dla losów wojny, a nie komputeryzacji)

odrzucono.
Początkowe szybkie sukcesy niemieckie nie sprzyjały

długofalowemu planowaniu, a w drugiej fazie wojny

było już za późno, by taki projekt ukończyć.
Kto wie, jak potoczyłyby się losy świata gdyby

Niemcy mieli do dyspozycji odpowiednią maszynerię

obliczeniową i zastosowali ją w swoim programie

budowy bomby atomowej ...

background image

Pierwszy komputer

Mark I

Pracujący na Uniwersytecie Harvarda na
zlecenie marynarki wojennej Howard
Aiken
zaprojektował pierwszą, w pełni
automatyczną maszynę liczącą, Mark I

Computer.
Była to konstrukcja 16-metrowej długości i
2.5 metrowej wysokości, w której 800 km
przewodów elektrycznych łączyło jej 750
tysięcy części. Ukończono ją w 1943 r.

background image

Cechy maszyny Mark I

Dane wprowadzano do tej machiny przy pomocy

papierowej taśmy dziurkowanej.
Nie była to w pełni maszyna elektroniczna, raczej

udoskonalona konstrukcja elektromechaniczna, nie miała

również pamięci, w której można by przechowywać dane.
Zmiana

programu

obliczeń

wymagała

stworzenia

odpowiedniej sieci połączeń przy pomocy kabli łączących

gniazda na specjalnej tablicy.
Mark I pracował w systemie dziesiętnym, a nie

dwójkowym. W ciągu sekundy dodawał zaledwie 3 liczby,

dla wykonania dzielenia zaś potrzebował aż 12 sekund, za

to wykonywał je z dokładnością do 23 cyfr. Maszyna ta

pracowała przez 16 lat i wykonano przy jej pomocy szereg

pożytecznych obliczeń.

background image

John Atanasoff i

komputer ABC

Profesor matematyki i fizyki Uniwersytetu Stanowego
Iowa, USA, John Atanasoff, i jego doktorant Clifford
Berry, skonstruowali w latach 1937-42 komputer znany
pod nazwą ABC, czyli Atanasoff-Berry Computer.
Była to w pełni elektroniczna maszyna, zawierająca
kilka rewolucyjnych na owe czasy pomysłów. Jej
prototyp działał już w 1939 roku. Pracowała w oparciu o
arytmetykę binarną i miała pamięć działającą w
oparciu

o

lampy

próżniowe

i kondensatory. Nie był to jednak układ programowalny.

background image

Waga talentów

organizacyjnych

Atanasoff

był

chyba

lepszym

uczonym

niż

organizatorem, gdyż nie udało mu się przekonać ani

rządu USA, ani wielkich firm produkujących sprzęt

biurowy, o potrzebie budowy takiej maszyny.
Oceny zapotrzebowania na komputery były więcej niż

skromne: uznano, że w całych Stanach Zjednoczonych

nie trzeba więcej niż kilku sztuk takich maszyn!
Atanasoff nie zdołał również opatentować swoich

pomysłów, gdyż zrobili to przed nim twórcy ENIACa,

John Mauchly i Presper Eckert Jr.
Do dzisiaj toczą się spory, na ile zapożyczyli oni

kluczowe pomysły od Atanasoffa.

background image

ENIAC

W 1940 roku Atanasoff pokazał prototyp swojego

komputera Johnowi Mauchly, który pracował wówczas

w szkole inżynierii Uniwersytetu Pensylwanii. W ciągu 6

lat Mauchly i doktorant szkoły inżynierii, Presper Eckert,

zbudowali przy znacznym finansowym wsparciu wojska

maszynę liczącą o nazwie ENIAC (jest to akronim od

„Electronic Numerical Integrator and Computer”, czyli

elektroniczna maszyna do całkowania numerycznego i

obliczeń).
Była to elektroniczna maszyna zbudowana w oparciu o

lampy próżniowe. W odróżnieniu od komputera ABC

posłużono się jednak nie binarnym, lecz dziesiętnym

systemem liczenia.

background image

Właściwości i przeznaczenie

ENIAC’a

Ukończony w 1946 roku ENIAC był ogromną maszyną:

ważył 30 ton i wymagał 175 kilowatów mocy,

wypełniając prostokąt 7 na 13 metrów. Zawierał

prawie 18 tysięcy lamp i tysiące przekaźników.
Głównym zadaniem ENIAC-a miało być obliczanie

tablic zasięgu pocisków dla artylerii oraz praca nad

programem budowy bomby wodorowej.
W ciągu sekundy komputer potrafił wykonać 5000

dodawań, 350 mnożeń lub 40 dzieleń. Ta imponująca

maszyna zastosowana została nie tylko dla potrzeb

wojskowych, lecz również do obliczeń naukowych i

inżynierskich.

background image

Początki zdalnej komunikacji

w maszynach liczących

George Stibitz, inżynier-matematyk pracujący w

laboratorium Bella, ukończył w 1940 roku kalkulator o

nazwie „The Complex Number Calculator”. Pracował

on w systemie dwójkowym i mógł wykonywać cztery

podstawowe działania arytmetyczne.
Do tego kalkulatora dołączono kilka dalekopisów

umożliwiających zdalne wprowadzanie danych i

odbieranie wyników obliczeń.
Stibitz zademonstrował działanie swojego wynalazku

na

posiedzeniu

Amerykańskiego

Towarzystwa

Matematycznego w miejscowości odległej o 400 km

od jego laboratorium.

background image

Komputer uniwersalny

Zmiana programu - poleceń, które ma wykonać
maszyna

-

we

wszystkich

dotychczas

opisywanych komputerach wymagała zmian
jego połączeń.
Kluczową ideą w budowie „uniwersalnego”
komputera, a więc takiego, który bez zmiany
konfiguracji sprzętu może wykonać dowolne
obliczenia, było przechowywanie danych jak i
samego programu w tej samej postaci: w
pamięci.

background image

John von Neumann

i „maszyna z Princeton”

Wielu ludzi przyczyniło się do rozwinięcia tej
idei,

jednak

decydujący

wpływ

w

jej

upowszechnieniu miał jeden człowiek, którego
nazwisko najczęściej podaje się jako wynalazcę
komputera.
John

von

Neumann,

genialny

węgierski

matematyk pracujący w USA, opisał projekt
uniwersalnego komputera, znanego pod nazwą
„maszyna

z

Princeton”

w raporcie rozpowszechnianym w 1945 roku.

background image

EDSAC

W 1949 roku powstały, prawie w tym samym

czasie, dwa projekty maszyn wykorzystujące

kluczową ideę von Neumanna: program i dane

dla programu powinny być przechowywane w

pamięci komputera w tej samej, binarnej postaci.
Do tej pory prawie wszystkie używane

komputery

nazywa

się

„maszynami

von

Neumanna”. W Anglii, na Uniwersytecie w

Cambridge, pod kierownictwem Maurice Wilkesa,

zbudowano

maszynę

o

nazwie

EDSAC

(Electronic Delay Storage Automatic Computer).

background image

Analogowe vs. cyfrowe

W owym czasie wcale nie było rzeczą jasną, czy

urządzenia cyfrowe okażą się bardziej przydatne

od komputerów analogowych.
Pierwsze komputery analogowe, budowane od

początku lat trzydziestych, mogły rozwiązywać

złożone zagadnienia znacznie szybciej niż maszyny

cyfrowe. W zastosowaniach inżynierskich i

naukowych komputery analogowe przetrwały

bardzo długo, w latach siedemdziesiątych już

gównie w symbiozie z urządzeniami cyfrowymi pod

postacią

komputerów

hybrydowych,

czyli

analogowo-cyfrowych.

background image

Program przechowywany

w pamięci

Jak już wspomnieliśmy, wprowadzanie i zmiana programów dla

ENIAC-a było ekstremalnie nudne. Proces programowania

mógłby być ułatwiony, jeśliby program mógł być reprezentowany

w formie odpowiedniej do przechowywania w pamięci razem z

danymi. Komputer pobierałby wtedy rozkazy przez odczytywanie

ich z pamięci, a program mógłby być instalowany lub zmieniany

przez zmianę zawartości części pamięci.
Idea ta, znana jako koncepcja przechowywanego programu,

jest zwykle przypisywana projektantom ENIAC-a, głównie zaś

matematykowi

Johnowi

von

Neumannowi,

który

był

konsultantem w tym przedsięwzięciu. Niemal w tym samym

czasie koncepcja taka została opracowana przez Turinga. Po raz

pierwszy idea ta została opublikowana w roku 1945 w propozycji

von Neumanna opracowania nowego komputera pod nazwą

EDVAC (skrót od ang. Electronic Discrete Variable Computer).

background image

EDVAC

Spory o prawa patentowe z władzami uniwersytetu

w Pensylwanii spowodowały, iż autorzy projektu

wycofali się z pracy nad uniwersalnym komputerem

według projektu von Neumanna, komputerem

nazwanym EDVAC (Electronic Discrete Variable

Automatic Computer, czyli elektroniczny komputer

posługujący się dyskretnymi zmiennymi).
Obaj wynalazcy odeszli do własnej, prywatnej firmy

a EDVACa ukończono z dużym opóźnieniem dopiero

w 1951 roku. Od tego czasu dokonano wielu

udoskonaleń konstrukcji komputerów, jednakże

podstawowe zasady nie uległy zmianie.

background image

Alan Turing

Jednym z głównych inspiratorów rozwoju komputerów

w Anglii był Alan Turing (1912-1954), twórca teorii

automatów, dziedziny stanowiącej matematyczne

podstawy teorii obliczeń.
Chociaż największe znaczenie dla rozwoju informatyki

miały jego prace teoretyczne, w szczególności praca z

1936 roku podająca teoretyczny model komputera

(„automatu

Turinga”)

oraz

rozważania

nad

obliczalnością,

czyli

możliwościami

rozwiązania

problemów przez prowadzenie obliczeń, niezwykle

ważne

było

jego

zaangażowanie

się

w plany budowy maszyn liczących.

background image

Collossus

W czasie wojny Turing należał do grupy

ekspertów

zaangażowanych

w

odcyfrowy-

wanie niemieckich szyfrów.
Dla

potrzeb

deszyfracji

zbudowano

imponującą maszynę liczącą o nazwie Collossus.

Analizowała

ona

tysiące

wiadomości

dziennie

poszukując właściwego klucza (zmienianego trzy razy

dziennie), dzięki któremu Enigma mogła odcyfrować

wiadomości. Jeden ze współpracowników Turinga tak

powiedział komentując jego rolę w programie łamania

niemieckich szyfrów

:

„Nie powiem, że dzięki Turingowi

wygraliśmy wojnę ale śmiem powiedzieć, że bez niego

moglibyśmy ją przegrać”.

background image

ACE

Po wojnie Turing nadal zaangażowany był w
program budowy komputerów. W 1950 roku
ukończono

budowę

komputera

ACE

zbudowanego w oparciu o jego idee.
Pisał też na temat możliwości budowy
inteligentnych

maszyn,

przewidując

ich

powstanie

przed

końcem

tego

wieku.

Interesowały

go

również

eksperymenty

chemiczne i w tej dziedzinie dokonał kilku
ciekawych odkryć.

background image

Struktura organizacyjna

komputera IAS

W roku 1946 von Neumann i jego koledzy rozpoczęli

projektowanie

nowego

komputera

wykorzystującego

program przechowywany w pamięci. Miało to miejsce w

Princeton Institute for Advanced Studies, a komputer

określono skrótem IAS. Komputer IAS, chociaż nie został

ukończony do roku 1952, był prototypem wszystkich

następnych komputerów o ogólnym przeznaczeniu.

background image

Składniki struktury

komputera IAS

Pamięć główna, w której są przechowywane zarówno dane,

jak i rozkazy,
Jednostka

arytmetyczno-logiczna

(ALU)

mogąca

wykonywać działania na danych binarnych,
Jednostka sterująca, która interpretuje rozkazy z pamięci i

powoduje ich wykonanie.
Urządzenia wejścia-wyjścia, których pracą kieruje

jednostka sterująca.
Z rzadkimi wyjątkami wszystkie dzisiejsze komputery

mają tę samą ogólną strukturę I funkcję, są wobec

tego określane jako maszyny von Neumanna. Jednostka

sterująca uruchamia IAS, pobierając rozkaz z pamięci i

wykonując go - jeden rozkaz w określonym momencie.

background image

Komputer jest

hierarchicznym systemem

złożonym

Współczesne

komputery

zawierają

miliony

elementów elektronicznych. Jak więc można je
prosto opisać?
Kluczem jest rozpoznanie hierarchicznej struktury
najbardziej złożonych systemów, w tym komputera.
System hierarchiczny jest układem wzajemnie
powiązanych podsystemów, z których każdy
również ma strukturę hierarchiczną, aż do
osiągnięcia najniższego poziomu - podsystemu
elementarnego.

background image

Podstawowe funkcje

realizowane przez

komputer

 przetwarzanie

danych;

 przechowywanie

danych;

 przenoszenie

danych;

 sterowanie.

background image

Przetwarzanie danych

Oczywiście komputer musi móc
przetwarzać dane. Dane mogą
przybierać różne formy, a zakres
wymagań

odnoszących

się

do

przetwarzania

jest

szeroki.

Zobaczymy jednak, że istnieje tylko
niewiele podstawowych metod, lub
typów, przetwarzania danych.

background image

Przechowywanie danych

Jest

również

bardzo

ważne,

aby

komputer

przechowywał dane.
Nawet jeśli komputer przetwarza dane jedynie „w

locie" (tzn. dane przychodzą, są przetwarzane i

natychmiast

wychodzą),

musi

on

czasowo

przechowywać chociażby te dane, które w danym

momencie

przetwarzane.

Występuje

więc

przynajmniej funkcja krótkotrwałego przechowywania.
Równie ważne jest, aby komputer realizował funkcję

długotrwałego przechowywania danych. Pliki danych

są przechowywane w komputerze, co umożliwia ich

późniejsze pobieranie i aktualizację.

background image

Przenoszenie danych

Komputer musi móc przenosić dane pomiędzy sobą a

światem zewnętrznym.
Otoczenie operacyjne komputera składa się z urządzeń,

które są albo źródłami, albo odbiorcami danych.
Jeśli dane są otrzymywane od urządzenia bezpośrednio

połączonego z komputerem lub do niego dostarczane,

to taki proces jest określany jako proces wejścia-

wyjścia,

a samo

urządzenie

nazywa

się

peryferyjnym.
Jeśli dane są przenoszone na większe odległości, do

odległego urządzenia lub od niego, to proces taki jest

określany jako transmisja danych.

background image

Sterowanie

Musi wreszcie istnieć możliwość
sterowania

tymi

trzema

funkcjami.
W ostateczności sterowanie to
jest wykonywane przez osoby,
które

wydają

komputerowi

polecenia.
Wewnątrz

systemu

komputerowego

jednostka

sterująca zarządza zasobami
komputera

i

koordynuje

działanie

jego

składników

funkcjonalnych,

zależnie

od

wprowadzonych poleceń.

background image

Główne składniki

strukturalne komputera

Jednostka centralna (CPU). Steruje

ona działaniem komputera i realizuje

jego funkcję przetwarzania danych.

Często jest po prostu nazywana

procesorem.
Pamięć główna. Przechowuje dane.
Wejście-wyjście. Przenosi dane

między

komputerem

a

jego

otoczeniem zewnętrznym.
Połączenia systemu. Mechanizmy

zapewniające

łączność

między

procesorem, pamięcią główną a

wejściem-wyjściem.

background image

Głównymi składnikami

strukturalnymi procesora

są:

Jednostka

sterująca.

Steruje

działaniem procesora i przez to
komputera
Jednostka arytmetyczno-logiczna
(ALU). Realizuje funkcję przetwarzania
danych przez komputer.
Rejestry.

Realizują

wewnętrzne

przechowywanie

danych

w

procesorze.
Połączenia procesora. Mechanizm
zapewniający

łączność

między

jednostką sterującą, ALU i rejestrami.

background image

Struktura IAS

Rejestr

buforowy

pamięci

(ang. memory buffer register

- MBR). Zawiera słowo, które ma

być przechowywane w pamięci,

lub też jest wykorzystywany do

pobierania słów z pamięci.
Rejestr

adresowy

pamięci

(ang.

memory

address

register - MAR). Określa adres

w pamięci dotyczący słowa, które

ma być zapisane w rejestrze MBR

lub z niego odczytane.
Rejestr

rozkazów

(ang.

instruction register - IR).

Zawiera 8-bitowy kod operacyjny

rozkazu, który jest wykonywany.

background image

Struktura IAS

Buforowy rejestr rozkazów (ang. instruction buffer

register - IBR). Jest wykorzystywany do czasowego

przechowywania podręcznego rozkazu pochodzącego ze

słowa w pamięci.
Licznik programu (ang. program counter - PC). Zawiera

adres następnej pary rozkazów, która ma być pobrana z

pamięci.
Akumulator (AC) i rejestr mnożenia-dzielenia (ang.

multiplier-quotier -MQ). Wykorzystywane do czasowego

przechowywania

argumentów

i

wyników

operacji

prowadzonych przez ALU. Na przykład, wynikiem mnożenia

dwóch liczb 40-bitowych jest liczba 80-bitowa; 40 najbardziej

znaczących bitów przechowuje się w akumulatorze (AC), a

najmniej znaczące w rejestrze MQ.

background image

Cykl rozkazu IAS

Każdy cykl rozkazu składa się z dwóch podcykli. Podczas
cyklu pobrania rozkazu kod operacji następnego rozkazu
jest ładowany do rejestru rozkazu, natomiast część
adresowa - do rejestru MAR. Rozkaz ten może pochodzić
z rejestru IBR lub też może być uzyskany z pamięci
przez załadowanie słowa do rejestru MBR, a następnie
do rejestrów IBR, IR i MAR.
Gdy kod operacji znajdzie się w rejestrze IR, realizowany
jest cykl wykonywania. Układy sterujące rozpoznają
kod operacji i wykonują rozkaz, wysyłając odpowiednie
sygnały sterujące, które powodują, że przenoszone są
dane lub ALU wykonuje operację.

background image

Rozkazy komputera IAS

Przenoszenie danych. Należą tu rozkazy powodujące przesyłanie

danych między pamięcią a rejestrami ALU lub między dwoma

rejestrami ALU.
Rozgałęzienia bezwarunkowe. Zwykle jednostka sterująca

wykonuje szeregowo rozkazy pochodzące z pamięci. Sekwencja

rozkazów może być zmieniona przez rozkaz skoku. Umożliwia to

wykonywanie operacji powtarzalnych.
Rozgałęzienia warunkowe. Skoki mogą być wykonywane

zależnie od pewnego warunku, co oznacza występowanie punktów

decyzyjnych.
Arytmetyka. Operacje wykonywane przez ALU.
Modyfikowanie adresu. Należą tu rozkazy, które umożliwiają

obliczanie adresów w ALU, a następnie wstawianie ich do rozkazów

przechowywanych w pamięci. Dzięki temu program uzyskuje

znaczną elastyczność adresowania.

background image

UNIVAC i IBM 701

Mauchly i Eckert przegrali wyścig z grupą angielską

Wilkesa, gdyż pracowali jednocześnie w swojej własnej

firmie nad nowszą, doskonalszą konstrukcją. Był to

komputer UNIVAC firmy Sperry-Rand Corporation,

pierwsza maszyna cyfrowa sprzedawana komercyjnie.
Nabywcą pierwszego egzemplarza wyprodukowanego w

1951 roku było amerykańskie biuro rządowe zajmujące się

opracowaniem wyników spisu powszechnego.
Głównym programistą UNIVACa była pani doktor Grace

Hooper, późniejszy komandor marynarki wojennej USA.

Była ona też jednym z głównych inspiratorów powstania

popularnego języka komputerowego o nazwie COBOL.
Rok później, w 1952 roku, pojawił się Model 701 firmy

IBM.

background image

Początek komercyjnego

wykorzystania komputerów

W czasie wyborów prezydenckich w
1952 roku UNIVAC użyty został przed
kamerami telewizyjnymi do analizy i
przewidywania wyników wyborów.
Era komercyjnych komputerów
rozpoczęła się na dobre.

background image

UNIVAC I

UNIVAC

I

był

pierwszym

udanym

komputerem

komercyjnym. Był przeznaczony, jak wynika z jego nazwy,
zarówno do zastosowań naukowych, jak i komercyjnych.
W pierwszym artykule opisującym system tego komputera
wymieniono następujące przykładowe zadania, które
może on realizować:

– macierzowe rachunki algebraiczne,
– problemy statystyczne,
– obliczenia premii dla firmy ubezpieczającej na życie

oraz

– problemy logistyczne.

background image

UNIVAC II

UNIVAC II, o większej pojemności pamięci i większej

wydajności niż UNIVAC I, powstał w późnych latach

pięćdziesiątych i stanowił ilustrację kilku tendencji, które

pozostały charakterystyczne dla przemysłu komputerowego.
Po pierwsze, postęp techniczny umożliwia firmom budowanie

coraz większych i potężniejszych komputerów.
Po drugie, każda z firm próbuje zapewnić kompatybilność

nowych maszyn w stosunku do starszych. Oznacza to,

że programy napisane dla starszych maszyn mogą być

stosowane w nowej maszynie. Strategia ta wynika z nadziei

na zachowanie klientów; jeśli klient zdecyduje się na kupno

nowej maszyny, zechce ją nabyć raczej w tej samej firmie,

aby uniknąć ewentualnych strat środków zainwestowanych w

programy.

background image

IBM

IBM, który pomógł zbudować urządzenie Mark I, a

następnie był największym producentem urządzeń do

przetwarzania wykorzystujących karty perforowane,

wyprodukował swój pierwszy komputer elektroniczny z

przechowywanym programem - model 701 - w roku 1953.
Komputer

701

był

pierwotnie

przeznaczony

do

zastosowań naukowych.
W roku 1955 IBM wprowadził komputer 702, mający wiele

cech sprzętowych, które odpowiadały zastosowaniom w

biznesie.
Były to pierwsze modele z długiej serii komputerów

700/7000, która umożliwiła firmie IBM osiągnięcie pozycji

dominującego producenta komputerów.

background image

Generacja 0

Często spotykanym pojęciem przy omawianiu
historii

komputerów

jest

generacja

komputerów”.
Zerowa generacja to komputery budowane na
przekaźnikach.

Nie

były

to

komputery

„uniwersalne” w dzisiejszym rozumieniu, gdyż
ich programowanie wymagało bezpośrednich
zmian połączeń obwodów maszyny.
Budowano je od początku lat trzydziestych do
połowy lat czterdziestych.

background image

Generacja 1

Pierwsza generacja to komputery budowane przy

wykorzystaniu

lamp

radiowych

od

połowy

lat

czterdziestych do końca lat pięćdziesiątych.
Utrzymanie w sprawnym stanie urządzeń, zawierających

tysiące lamp nie było rzeczą prostą. Lampy są duże i

zużywają bardzo dużo energii elektrycznej.
Odrębną sprawą był brak języków programowania, które

pozwoliłyby w prosty sposób na określenie zadania,

które komputer miał wykonać.
Komputery pierwszej generacji wykorzystywane były

głównie do przetwarzania informacji, tabulacji danych i

do obliczeń naukowych.

background image

Generacja 2

Druga generacja to komputery budowane w latach

1959-1964 z wykorzystaniem tranzystorów. Wynalazek

tranzystora (1947), za który J. Bardeen, W.H. Brattain i

W. Shockley otrzymali nagrodę Nobla, zrewolucjonizował

wiele dziedzin życia, od elektroniki użytkowej po

komputery.
Tworzenie bardziej złożonych urządzeń w oparciu o

lampy próżniowe nie jest po prostu możliwe ze względu

na ich zawodność i duży pobór mocy.
Komputery na tranzystorach były mniejsze, tańsze,

zużywały znacznie mniej prądu i były bardziej

niezawodne, dzięki czemu można było je stosować do

zagadnień, wymagających dłuższych obliczeń.

background image

Pamięci ferrytowe

W komputerach drugiej generacji pojawiły się

pamięci ferrytowe, złożone z malutkich magnesików

w kształcie pierścieni, nanizanych na siatkę drutów.

Prąd, przepływający przez druty, mógł zmienić

namagnesowanie pierścienia, zapisując w ten

sposób dwie możliwości: namagnesowany lub nie.
Dostęp do tak przechowywanych danych możliwy

jest w ciągu milionowych części sekundy, podczas

gdy dostęp do danych zapisanych na bębnie

magnetycznym

wymaga

tysięcznych

części

sekundy.

Wprowadzenie

pamięci

ferrytowych

oznaczało więc ogromne przyspieszenie obliczeń.

background image

Inne zmiany

Są również jeszcze inne zmiany. W drugiej generacji

wprowadzono

bardziej

złożone

jednostki

arytmetyczno-logiczne oraz sterujące, zastosowano

ulepszone

języki

programowania,

a

także

rozpoczęto dostarczanie wraz z komputerem

oprogramowania systemowego.
Wraz z drugą generacją pojawiła się firma Digital

Equipment

Corporation

(DEC).

DEC została

założona w roku 1957 i w tym samym roku

wyprodukowała pierwszy komputer - PDP-1. Ten

komputer i ta firma dali początek minikomputerom,

które stały się tak ważne w trzeciej generacji.

background image

Tendencje rynku

Od wprowadzenia serii 700 w roku 1952 do

wprowadzenia ostatniego modelu rodziny 7000 w

roku 1964 linia wyrobów IBM przechodziła ewolucję

typową dla wyrobów komputerowych. Kolejne

maszyny miały coraz większą wydajność, większą

pojemność oraz (lub) niższy koszt.
Rozmiar

pamięci

głównej,

liczony

w wielokrotnościach 2

10

słów 36-bitowych, wzrósł z

2K (1K=2

10

) do 32K słów, podczas gdy czas dostępu

do słowa w pamięci, to znaczy czas cyklu pamięci,

zmniejszył się od 30 μs do 1,4 μs. Liczba kodów

operacji wzrosła od umiarkowanych 24 aż do 185.

background image

Sposoby zwiększenia

szybkości

Zwiększenie szybkości osiągnięto w wyniku rozwoju

elektroniki (np. tranzystory działają szybciej niż lampy

próżniowe) oraz przez wzrost złożoności układów.
Na przykład w IBM 7094 zastosowano pomocniczy rejestr

rozkazów (ang. Instruction Backup Register - IBR),

wykorzystywany

do

przechowywania

(buforowania)

następnego rozkazu. Na rozkaz pobrania jednostka sterująca

pobiera dwa sąsiednie słowa z pamięci. Z wyjątkiem

występowania rozkazu skoku, co nie jest zbyt częste,

jednostka sterująca potrzebuje zaledwie połowę cyklu

rozkazu na dostęp do rozkazu w pamięci.
To tzw. wstępne pobieranie (lub inaczej pobieranie z

wyprzedzeniem, ang. prefetching) znacznie redukuje

przeciętny czas cyklu rozkazu.

background image

Kanały danych

Na rysunku jest pokazana

rozszerzona

(urządzeniami

peryferyjnymi) konfiguracja

IBM

7094,

która

jest

reprezentatywna

dla

komputerów

drugiej

generacji.
Najważniejszą

różnicą

w

stosunku do IAS jest użycie

kanałów danych.
Kanał

danych

jest

niezależnym

modułem

wejścia-wyjścia z własnym

procesorem i własną listą

rozkazów.

background image

Zyski ze stosowania

kanałów danych

W systemie komputerowym wyposażonym w takie

urządzenia procesor nie wykonuje szczegółowych

rozkazów wejścia-wyjścia.
Rozkazy takie są przechowywane w pamięci głównej, po

czym są wykonywane przez specjalny procesor w

samym kanale danych. Procesor inicjuje przesyłanie

danych z wejścia-wyjścia przez wysłanie sygnału

sterującego do kanału danych, powodując wykonanie

przez niego sekwencji rozkazów zawartych w pamięci.
Kanał danych realizuje swoje zadanie niezależnie od

procesora, sygnalizuje tylko procesorowi zakończenie

operacji. W takim rozwiązaniu procesor jest odciążony

od wykonywania części przetwarzania.

background image

Multiplekser

Inną nową cechą jest występowanie
multipleksera,

który

stanowi

centralny punkt zbieżny kanałów
danych, procesora i pamięci.
Multiplekser

szereguje

dostęp

procesora

i kanałów

danych

do

pamięci, pozwalając tym urządzeniom
na działanie niezależne.

background image

Zastosowania komputerów

drugiej generacji

Typowe zastosowania tych komputerów to:

przetwarzanie informacji,
księgowość
obliczenia naukowo-inżynierskie.
Programy

uruchamiano

wczytując

informację
z dziurkowanych kart a wyniki odbierano
w postaci wydruków.

background image

Generacja 3

Trzecia generacja to komputery budowane w latach

1965-1970, działające w oparciu o układy scalone

(nazywane w skrócie IC, od angielskiej nazwy „Integrated

Circuits”).
Rozpoczęła ją „seria 360” komputerów firmy IBM.

Pierwsze urządzenie półprzewodnikowe, spełniające

funkcję kilku tranzystorów, zbudował w 1958 i

opatentował w rok później Jack Kilby. Pracował on

wówczas w firmie Texas Instrument, która jest znanym

producentem układów półprzewodnikowych.
Te pierwsze obwody scalone określa się mianem SSI

(Small Scale of Integration), czyli obwodów o małej skali

integracji, gdyż zawierały one tylko kilka do kilkunastu

struktur półprzewodnikowych na jednej płytce.

background image

Bramki

Jak wiemy, podstawowe elementy komputera cyfrowego

muszą realizować funkcje przechowywania, przenoszenia,

przetwarzania i sterowania.
Potrzebne są do tego tylko dwa typy podstawowych

składników: bramki i komórki pamięci.
Bramka jest przyrządem, który realizuje prostą funkcję

logiczną, taką jak „jeśli A i B są prawdziwe, to prawdziwe jest

C” (bramka I, ang. AND).
Przyrządy takie są nazywane bramkami, ponieważ sterują one

przepływem danych podobnie jak bramki (śluzy) w kanałach.

background image

Komórki pamięci

Komórka

pamięci

jest

przyrządem,

który

może

przechowywać pojedynczy bit danych; oznacza to, że
przyrząd ten w określonym czasie może znajdować się w
jednym z dwóch stabilnych stanów.
Przez połączenie dużej liczby tych podstawowych
przyrządów możemy zbudować komputer.
Komputer składa się więc z bramek, komórek pamięci i
połączeń między nimi. Bramki i komórki pamięci są z kolei
zbudowane z pojedynczych podzespołów elektronicznych.

background image

Układy scalone

Na rysunku jest przedstawiona kluczowa

koncepcja wytwarzania układów scalonych.

Cienka płytka krzemowa jest dzielona na wiele

małych

obszarów

o

powierzchni

kilku

milimetrów

kwadratowych.

W

każdym

obszarze jest wytwarzany identyczny układ

(mikroukład, ang. chip), po czym płytka jest

dzielona.
Każdy mikroukład składa się z wielu bramek

oraz z pewnej liczby kontaktów wejściowych i

wyjściowych. Jest on następnie montowany w

obudowie stanowiącej ochronę i zaopatrzonej

w końcówki do montażu. Na płytce z obwodem

drukowanym można następnie zmontować

pewną

liczbę

takich

obudów

w

celu

wytworzenia większych i bardziej złożonych

układów.

background image

Korzyści z gęściej

upakowanych elementów

w układach scalonych

Koszt układów logicznych i pamięciowych komputera

maleje drastycznie.
Ponieważ

elementy

logiczne

i

pamięciowe

umieszczane coraz bliżej w coraz gęściej upakowywanych

mikroukładach, wzrasta szybkość działania.
Komputer staje się mniejszy, co umożliwia umieszczanie

go w najróżniejszym otoczeniu.
Maleją wymagania dotyczące mocy i chłodzenia.
Połączenia wewnątrz układu scalonego są o wiele bardziej

niezawodne niż połączenia lutowane. Im więcej układów

w każdym mikroukładzie, tym mniej połączeń między

mikroukładami.

background image

IBM 360

System 360 był pierwszą zaplanowaną rodziną komputerów.

Rodzinę tą stanowiły komputery znacznie różniące się

wydajnością i ceną. W tablicy 2.4 są pokazane pewne kluczowe

własności różnych modeli z roku 1965 (każdy model rodziny jest

wyróżniony numerem modelu). Różne modele były kompatybilne

w tym sensie, że program napisany dla jednego modelu mógł być

wykonywany na innym modelu tej serii, przy czym jedyną różnicą

był czas potrzebny na wykonanie programu.
Komputery tej rodziny nie były zgodne z poprzednią serią 7000.

Zapewnienie zgodności powodowałoby ograniczenia architektury.
Z pewnymi rozszerzeniami i modyfikacjami architektura serii 360

pozostaje do dziś architekturą dużych komputerów IBM.
Koncepcja rodziny kompatybilnych komputerów była zarówno

nowa, jak i bardzo udana.

background image

Własności rodziny 360

Podobna lub identyczna lista rozkazów.
Podobny

lub

identyczny

system

operacyjny.
Rosnąca szybkość.
Rosnąca liczba urządzeń wejścia-wyjścia.
Rosnący rozmiar pamięci.
Rosnąca cena.

background image

Minikomputer

W tym okresie nastąpił nie tylko znaczny
postęp
w konstrukcji i niezawodności komputerów,
lecz również w sposobie ich programowania
oraz uniezależnieniu programów od konstrukcji
komputera, na którym programy te były
uruchamiane.
W 1965 roku firma DEC (Digital Electronic
Company) wprowadziła minikomputer (PDP-
8)
, urządzenie wielkości szafy.

background image

OEM

Niska cena i mały rozmiar PDP-8 umożliwiły
innym

wytwórcom

zamawianie

go

i włączanie do systemu wyższego rzędu z
przeznaczeniem na sprzedaż.
Wytwórcy ci zostali określeni mianem
wytwórców sprzętu oryginalnego (ang.
original equipment manufacturers - OEM ),
zaś rynek OEM stał się i pozostaje nadal
głównym segmentem rynku komputerowego.

background image

PDP-8 – zastosowanie

magistrali

W przeciwieństwie do architektury opartej na centralnym

przełączaniu wykorzystanej przez IBM w systemach 700/7000 i 360, w

ostatnich modelach PDP-8 zastosowano strukturę, która praktycznie

stała się uniwersalna dla minikomputerów i mikrokomputerów:

strukturę magistralową.
Omnibusem, składa się z 96 oddzielnych ścieżek sygnałów,

używanych do przenoszenia sygnałów sterowania, adresu i danych.
Ponieważ wszystkie urządzenia systemu używają wspólnego systemu

ścieżek sygnałowych, ich wykorzystywaniem musi sterować procesor.
Architektura ta jest wysoce elastyczna, gdyż umożliwia dołączanie

różnych modułów do magistrali w celu tworzenia różnych konfiguracji.

background image

Terminale

Wielkim postępem była możliwość uruchamiania

programów z terminali - przyłączonych do komputera

prostych urządzeń, zawierających klawiaturę i ekran.
Terminale umożliwiały wielu użytkownikom jednoczesne

wykonywanie pracy na tym samym komputerze.

Pomimo

rozpowszechnienia

się

terminali

przechowywanie

danych

i programów na dyskach magnetycznych było drogie i

karty dziurkowane stosowano jeszcze na początku lat

80-tych.

Istniał

nawet

zawód

„przepisywacza

programów na karty dziurkowane”. Dopiero z chwilą

pojawienia

się

kolejnej

generacji

komputerów

dziurkowanie kart odeszło do lamusa.

background image

Generacja 4

Czwarta generacja to komputery budowane na

układach scalonych o bardzo dużym stopniu

integracji. Umownie uważa się, że zapoczątkowała ją

w 1971 roku „seria 370” komputerów firmy IBM.
Mogło by się wydawać, że nie nastąpił żaden skok

jakościowy pomiędzy trzecią i czwartą generacją,

pojawiły się jedynie obwody LSI (Large Scale of

Integration), wielkiej skali integracji, o znacznie

większej liczbie struktur półprzewodnikowych w

jednej kostce. Dla technologii budowy komputerów

tysiące obwodów w jednej kostce, a potem dziesiątki

tysięcy w obwodach VLSI, to duża różnica.

background image

Elektroniczne układy

pamięci

Przede wszystkim pozwoliło to wyeliminować

względnie wolne i zawodne pamięci ferrytowe. Ceny

komputerów mocno się obniżyły, dzięki zwiększonej

niezawodności elementów konstrukcje komputerów

mogły być znacznie bardziej złożone, co pociągnęło

za sobą wyraźny wzrost szybkości i poprawę innych

parametrów.
Komputery zaczęto budować w sposób modułowy.

Jednocześnie

postępy

w

oprogramowaniu

doprowadziły do tego, że te same programy można

było używać na komputerach produkowanych przez

różne firmy.

background image

Mikroprocesory

Czwarta generacja komputerów obejmuje również

specjalne

obwody

scalone,

zwane

mikroprocesorami. Wynalazł je w 1969 roku Ted

Hoff, pracujący w firmie Intel.
Prawie równocześnie mikroprocesor skonstruował

również Victor Poor, pracujący dla Datapoint

Corporation.
Szef Intela, Robert Noyce, który sam ma wielkie

zasługi w rozwoju obwodów scalonych, postawił na

rozwój mikroprocesorów, dzięki czemu firma Intel

jest

obecnie

jedną

z

najbogatszych

i

najważniejszych w tej dziedzinie na świecie.

background image

Komputery osobiste

Pojawienie się w końcu lat 70-tych komputerów osobistych

stworzyło nową jakość, zasługującą na nadanie im dumnej

nazwy nowej generacji. Tak się jednak nie stało.
Komputery osobiste, wyposażone w przyjazne, graficznie

zorientowane oprogramowanie okienkowe, dysponujące

dużą mocą obliczeniową i sprzężone ze sobą poprzez sieci

komputerowe stanowią istotnie urządzenia nowej generacji,

chociaż budowane są w oparciu o technologię VLSI.
Za początek ery komputerów osobistych uważa się

wprowadzenie przez firmę IBM w 1981 roku ich modelu IBM

PC, chociaż już wcześniej Apple Computers i inne firmy

wprowadziły

na

rynek

bardzo

udane

modele

mikrokomputerów.

background image

Ewolucja procesorów na

przykładzie Intela

8080

Pierwszy

na

świecie

mikroprocesor

ogólnego

przeznaczenia. Było to urządzenie 8-bitowe, z 8-bitową

ścieżką danych do pamięci.
8086. Daleko potężniejsze, 16-bitowe urządzenie. Poza

szerszą ścieżką danych i większymi rejestrami, mikroprocesor

8086 zawiera podręczną pamięć rozkazów, która wstępnie

pobiera kilka rozkazów przed ich wykonaniem.
80286. Stanowi on rozszerzenie mikroprocesora 8086,

umożliwiając adresowanie pamięci 16 MB zamiast tylko l MB.
80386. Pierwsze 32-bitowe urządzenie Intela, jednocześnie

znaczne odnowienie linii mikroprocesorów. Mając architekturę

32-bitową, mikroprocesor 80386 rywalizował pod względem

złożoności i mocy z minikomputerami i komputerami

stacjonarnymi wprowadzonymi zaledwie kilka lat wcześniej.

background image

Ewolucja procesorów na

przykładzie Intela

80486. W tym mikroprocesorze wprowadzono znacznie bardziej

złożoną i potężną technikę pamięci podręcznej, a także

wyrafinowane potoki rozkazów.
Pentium. Waz z Pentium Intel wprowadził do użytku techniki

superskalarne, co umożliwiło równoległe wykonywanie wielu

rozkazów.
Pentium 2. Procesor ten stanowi kontynuację prac nad

organizacją superskalarną, które rozpoczął procesor Pentium.

Ponadto szeroko jest wykorzystywane przewidywanie rozgałęzień,

analiza przepływu danych oraz spekulatywne wykonywanie

rozkazów.
Pentium 3. Wprowadzenie do linii wyrobów technologii opartej na

koncepcji RISC.
Pentium 4 Zaawansowane niesekwencyjne przetwarzanie

instrukcji, hiperthreading, wiele trybów energooszczędnych

background image

RISC

W roku 1975 w firmie IBM opracowano minikomputer

801, w którym po raz pierwszy wprowadzono wiele

koncepcji architektury stosowanych w systemie

RISC. Minikomputer 801 wraz z procesorem RISC I z

Berkeley zapoczątkował rozwój RISC. Jednakże 801

był

tylko

prototypem

przeznaczonym

do

zademonstrowania koncepcji projektowych.
Sukces

minikomputera

801

skłonił

IBM

do

opracowania komercjalnego produktu RISC, pod

nazwą RT PC. Maszyna ta nie była sukcesem

komercyjnym i miała wielu rywali o porównywalnej

i większej wydajności.

background image

Procesory PowerPC

W roku 1990 IBM wprowadził trzeci system, w

którym wykorzystano lekcję 801 i RT PC.
RISC System/6000 był zbliżoną do RISC maszyną

superskalarną

sprzedawaną

jako

urządzenie

stacjonarne o wysokiej wydajności. Wkrótce po jego

wprowadzeniu IBM zaczął określać jego architekturę

mianem POWER.
Następnie IBM nawiązał współpracę z firmą

Motorola,

w

której

opracowano

szereg

mikroprocesorów 68000, oraz z firmą Apple, która

wykorzystywała mikroukłady Motoroli w swoich

komputerach Macintosh.

background image

Rodzina PowerPC

601 Mikroprocesor 601 wyprodukowano, aby wprowadzić na rynek

architekturę PowerPC tak szybko, jak było to możliwe. Jest on

maszyną 32--bitową.
603. Mikroprocesor przeznaczony dla komputerów biurkowych o

stosunkowo małej wydajności, przenośnych. Jest to również

maszyna 32-bitowa, porównywalna pod względem wydajności z

601, jednak kosztuje mniej, a wdrożenie jej jest bardziej efektywne.
604. Mikroprocesor przeznaczony dla komputerów biurkowych oraz

serwerów o stosunkowo małej wydajności. Jest to również maszyna

32-bitowa, jednak wykorzystano w niej bardziej zaawansowane

rozwiązania superska-larne w celu podniesienia wydajności.
620. Mikroprocesor dla serwerów o większej wydajności. Pierwsze

urządzenie z rodziny PowerPC, w którym wykorzystano w pełni 64-

bitową architekturę, łącznie z 64-bitowymi rejestrami i ścieżkami

danych.

background image

Generacja 5

Piąta generacja to pojęcie zupełnie innego

rodzaju, gdyż nie jest związane z technologią, lecz

z samym sposobem funkcjonowania komputera -

nie chodzi tu o szybkość, lecz inteligencję.
Na początku lat 80-tych wysunięto projekty

budowy komputerów przetwarzających symbole i

formuły logiczne a nie dane tekstowe i

numeryczne.
Program ten dał interesujące rezultaty ale do tej

pory komputery piątej generacji nie pojawiły się

poza naukowymi laboratoriami.

background image

Generacja 6

Szósta generacja to pojęcie używane czasami do

określenia komputerów o nowej architekturze, odbiegającej

od klasycznego pomysłu „maszyny z Princeton” von

Neumanna.
Należą do niej komputery wektorowe, komputery o bardzo

wielu jednocześnie pracujących procesorach, specjalne

układy eksperymentalne. Dlatego za pierwszy komputer tej

generacji uznać należy wyprodukowany w 1976 roku

superkomputer wektorowy Cray 1.
Mianem szóstej generacji niektórzy specjaliści określają

również neurokomputery oraz odległe jeszcze projekty

budowy biokomputerów, czyli komputerów opartych na

związkach

biologicznych

(węglowych)

a

nie

półprzewodnikowych (krzemowych).

background image

Historia komputerów w

Polsce

1962 - Odra 1002 opracowana w Elwro
1964 - Odra 1003, pierwszy seryjnie

produkowany komputer w Polsce
1967 - Odra 1204, komputer na obwodach

scalonych; komputery Odra korzystały z

systemu operacyjnego brytyjskiej firmy ICL
1967

-

udany

minikomputer

(K2)

konstrukcji J. Karpińskiego; niestety, nigdy

nie uruchomiono jego produkcji

background image

Historia komputerów w

Polsce

(cd.)

1973 - komputery serii JS EMC (Jednolity System

Maszyn Cyfrowych) RIAD pojawiły się na wystawie

w Moskwie; w Polsce od 1974 r. produkowano

model EC-1032 średniej mocy obliczeniowej.

Komputery RIAD korzystały z oprogramowania

systemowego IBM serii 360
1978 – minikomputery Mera
1986 - początek inwazji komputerów osobistych w

Polsce
1990 - większość z najbardziej znanych firm

komputerowych wkracza na nasz rynek
1993 - pojawiają się w Polsce pierwsze

superkomputery światowej klasy.

background image

Materiały w internecie o

historii komputerów

http//www.phys.uni.torun.pl/~duch

http://www.computerworld.pl
/historia/timeline1.asp
http://pojeciownik.komputery.szkola
.net/hasla/kalendarium.htm
http://www.maxmon.com/history.htm


Document Outline


Wyszukiwarka

Podobne podstrony:
Architektura i organizacja komuterów W1 Co to jest i skąd to się wzięło
Architektura i organizacja komuterów W5 Pamięć wewnętrzna
Architektura i organizacja komuterów W3 Działanie komput
Architektura i organizacja komuterów W6 Pamięć zewnętrzna
Architektura i organizacja komuterów W4 Połączenia magistralowe
Architektura i organizacja komuterów W4 Połączenia magis
Architektura i organizacja komuterów W7 Wejście Wyjście
Architektura i organizacja komuterów W3 Działanie komputera
Architektura i organizacja komuterów W9 Wspieranie systemu operacyjnego
Architektura i organizacja komuterów 11 Procesor
Architektura i organizacja komuterów W7 Pamięć zewnętrzn
Architektura i organizacja komuterów W8 Wejście Wyjście
Architektura i organizacja komuterów W9 Procesor
Architektura i organizacja komuterów W6 Pamięć wewnętrzn
Architektura i organizacja komuterów W2 Ewolucja i wydaj
Architektura i organizacja komuterów W5 Pamięć wewnętrzna
EDoc 6 Co to jest podpis ele

więcej podobnych podstron