JmΘno ENIAC je vlastn∞ slovo slo₧enΘ z prvnφch pφsmen ·plnΘho nßzvu Eletronic
Numerator, Integrator, Analyzer, and Computer (n∞kterΘ zdroje uvßd∞jφ Calculator mφsto slova
Computer). Jako Φist∞ vßleΦn² projekt byl do jistΘ mφry usp∞chan² a nepropracovan². U₧ na ja°e 1944
bylo mnoha lidem pracujφcφm na ENIACu jasnΘ, ₧e existuje °ada mo₧nostφ, jak ho vylepÜit a
zjednoduÜit, a to zvlßÜt∞ v procesu programovßnφ a zapojenφ drßtov²ch spoj∙. Nakonec byla v∞tÜina
t∞chto nßpad∙ vyu₧ita p°i stavb∞ EDVACu.
RodiÜt∞m ENIACu se stala Moore School of Electrical Engineering, Φßst
univerzity of Pennsylvania ve Filadelfii, kde se realizoval tajn² projekt Balistick²ch laborato°φ
americkΘ armßdy - ty m∞ly v ·myslu postavit poΦφtaΦ vyu₧iteln² p°i sestavovßnφ d∞lost°eleck²ch
zam∞°ovacφch tabulek. Ji₧ u tohoto projektu se objevily dva zßkladnφ problΘmy, se kter²mi se jeho
tv∙rci pot²kali i pozd∞ji, a to nespln∞nφ ΦasovΘho plßnu a p°ekroΦenφ rozpoΦtu - ENIAC nebyl hotov
ani do konce druhΘ sv∞tovΘ vßlky, p°esto₧e m∞l b²t nasazen ji₧ v jejφm pr∙b∞hu, a p∙vodn∞ plßnovanΘ
nßklady byly p°ekroΦeny o 225 %.
Oproti ₧iv²m tvor∙m, kde platφ, ₧e matka je v₧dy jistß, ale otec nejist²,
se dß o ENIACu °φci prav² opak. OtcovΘ jsou jistφ (a hned i n∞kolik), ale po matce ani pamßtky.
Mezi ty nejv²znamn∞jÜφ "tatφnky" pat°φ John W. Masuchly, John Presper Eckert
a
John von Neumann.
Mauchly (1907-1980) a
Eckert (1919-1995) byli oba elektro- in₧en²°i,
von Neumann (1903-1957) vynikajφcφ
matematik. Jejich spoluprßce se samoz°ejm∞ neobeÜla bez problΘm∙, p°iΦem₧ se nejzßva₧n∞ji projevil
rozdφln² p°φstup ke sdφlenφ informacφ. Zatφmco in₧en²°i svΘ nßpady obvykle nezve°ej≥ujφ p°ed jejich
konkrΘtnφm vyu₧itφm, matematici je Φasto nechßvajφ kolovat mezi sv²mi kolegy a vd∞Φn∞ p°ijφmajφ
jejich p°ipomφnky. Ob∞ strany projevily pramalou toleranci ke sv²m diametrßln∞ odliÜn²m zvyk∙m,
tak₧e zßkonit∞ musely nßsledovat silnΘ, navφc sv∞domit∞ ₧ivelnΘ neshody.
ENIAC obsahoval 17 468 elektronek a kolem p∞ti mili≤n∙ pßjen²ch spoj∙, vß₧il
kolem 30 tun a zabφral plochu asi 310 m2. Jeho spot°eba elektrickΘ energie se pohybovala okolo 140 kW
(tolik tehdy pot°ebovala na svΘ osv∞tlenφ znaΦnß Φßst Filadelfie). ENIAC se d∞lil na t°icet
nezßvisl²ch jednotek, z nich₧ dvacet bylo oznaΦovßno jako akumulßtory, p°iΦem₧ v ka₧dΘ bylo, za
pou₧itφ deseti bit∙ pro ka₧dou Φφslici, ulo₧eno deseticifernΘ Φφslo. Ke ka₧dΘmu akumulßtoru byl tΘ₧
p°ipojen elektrick² obvod, pomocφ kterΘho putovala Φφsla ze sb∞rnice a naopak. Akumulßtory a ostatnφ
jednotky byly p°ipojeny n∞kolika drßtov²mi spoji a sadu "programovateln²ch" drßtov²ch spoj∙. kterß
m∞ly zajistit synchronizaci celΘho za°φzenφ. ENIAC, jako stroj poΦφtajφcφ v desφtkovΘ soustav∞,
pou₧φval Φφslice od nuly do devφti definovanΘ v akumulßtoru jako urΦitΘ konfigurace elektrick²ch
obvod∙ (prstencovΘ poΦitadlo). Vzhledem ke snaze o maximßlnφ rychlost n∞kter²ch aritmetick²ch operacφ
m∞l ENIAC zabudovßno jedno specializovanΘ za°φzenφ urΦenΘ pouze k nßsobenφ (to trvalo p°ibli₧n∞
t°i milisekundy) a jedno za°φzenφ urΦenΘ pouze d k d∞lenφ a v²poΦtu druhΘ odmocniny. Multiplikßtor
pracoval p°i nßsobenφ jednocifern²ch Φφsel na principu registrovΘ matice a pro nßsobenφ navazujφcφch
Φφsel disponoval tΘ₧ p°φdavn²m °φdφcφm obvodem. Stejn∞ jako
Harward Mark I. m∞l Eniac pevnΘ registry.
104 dvanßcticifern²ch pevn²ch registr∙ tvo°ilo skupinu nazvanou "tabulka funkcφ". Se stem t∞chto
registr∙ mohly sb∞rnice p°φmo komunikovat prost°ednictvφm dvoucifern²ch Φφsel, zb²vajφcφ Φty°i
registry byly urΦeny k interpolacφm. Taktovacφ kmitoΦet ENIACu byl
100kHz.
ENIAC byl °φzen pomocφ °ady elektronick²ch impuls∙ - ka₧dß z jeho jednotek
byla schopna vyslat °φdφcφ impuls, kter²m se zahßjil v²poΦet v jednΘ nebo vφce dalÜφch jednotkßch.
Vysφlßnφ impuls∙ do programovacφch spoj∙ °φdila hlavnφ jednotka, kterß zßrove≥ mohla provßd∞t i
iterace v²poΦt∙. To znamenß. ₧e "poΦφtaΦov² program" se v principu sestßval z ruΦnφho p°epojovßnφ
drßt∞n²ch spoj∙ mezi jednotliv²mi jednotkami tak, aby se docφlilo po₧adovanΘho po°adφ operacφ.
Specißlnφ kabelovΘ m∙stky dodßvaly t∞mto spoj∙m jakΘsi zdßnφ systΘm∙, ale p°esto vÜechno nebylo
programovßnφ ENIACu jednoduchou zßle₧itostφ. ProblΘm, jak² programovßnφ p°edstavovalo, se pon∞kud
zjednoduÜil pou₧itφm jednotky nazvanΘ Mater Programmer navr₧enΘ tak, aby realizovala uvnit° umφst∞nΘ
smyΦky. TΘto jednotce odpovφdß v modernφch programovacφch jazycφch instrukce FOR - NEXT. Dφky tomu,
₧e r∙znΘ jednotky mohly informace zpracovßvat souΦasn∞, byl ENIAC schopen provßd∞t vφce v²poΦt∙
souΦasn∞. Programßto°i se vÜak sna₧ili takovΘ vyu₧φvßnφ ENIACu vylouΦit - jeho spolehlivost byla
sice imponujφcφ, ale ne neomezenß. B∞hem v²voje ENIACu p°iÜli in₧en²°i a matematikovΘ (urΦit∞ se
podφlely i ₧eny, kterΘ ENIAC "programovaly", tedy p°ipojovaly drßtovΘ spoje) na to, ₧e s urΦit²mi
mφrn²mi odchylkami jsou schopni provßd∞t podmφn∞n² p°φkaz, kterΘmu v modernφch programovacφch
jazycφch odpovφdß p°φkaz IF - THEN. ╪φdφcφ signßly na ENIACu se v podstat∞ shodovaly se signßly
datov²mi . obojφ byly typicky dva mikrosekundovΘ pulsy v desetimikrosekundov²ch intervalech. Dφky
tomu mohly b²t operace ENIACu °φzeny takΘ na zßklad∞ obsahu p°enßÜen²ch dat p°ipojenφm datovΘ linky
jinΘho akumulßtoru (tzv. datov∞ citlivΘ operace). P°es komplikovan∞jÜφ implementaci tohoto principu
byl ENIAC z°ejm∞ prvnφm elektronick²m strojem podporujφcφm podmφn∞nou instrukci. Zßkladnφ funkce
ENIACu zajiÜ¥ovalo i n∞kolik dalÜφch jednotek. T°i p°evodnφ tabulky funkcφ a jejich p°idru₧enΘ
konstantnφ vysφlaΦe doruΦovaly urΦitß Φφsla vybranß z tabulky, kterß byla manußln∞ vlo₧ena p°es
systΘm Φφselnφk∙, vstup a v²stup dat zajiÜ¥ovaly ΦteΦky a d∞rovaΦky d∞rn²ch Ütφtk∙ a tiskßrny IBM.
V srpnu 1948 byl ENIAC zdokonalen zßsluhou Richarda F. Clipera z Balistick²ch
laborato°φ a Nicolase Metropolise z Los Alamos, kdy₧ ka₧dß jednotlivß operace dostala sv∙j vlastnφ
pevn² kabel. Mφsto p°epojovßnφ se pou₧φvala novß konvertovacφ jednotka umo₧≥ujφcφ vyvolßnφ spoje
podp∙rn²m programem. Dφky tomu u₧ vlo₧enφ novΘho programu netrvalo n∞kolik dnφ, ale jenom n∞kolik
hodin. N∞kdy se hovo°φ o tom, ₧e tento zßsah p°em∞nil ENIAC na poΦφtaΦ s ulo₧en²m programem. Nelze
ovÜem ztrßcet ze z°etele ten fakt, ₧e programovß pam∞¥ byla neustßle urΦena pouze ke Φtenφ (read
only). ENIAC byl vlastn∞ ·pln∞ prvnφ stroj na sv∞t∞, kter² m∞l veÜkerΘ architektonickΘ rysy modernφch
poΦφtaΦ∙.