Digitális számítógép
A Wikipédiából, a szabad lexikonból.
A programvezérelt digitális számítóautomatákat, más néven számítógépeket azzal a céllal fejlesztették ki, hogy egyrészt az embert tehermentesítsék a numerikus számolás rutinmunkájától, másrészt, hogy lerövidítsék a számolás idejét. Különösen az olyan feladatoknál alkalmazható előnyösen a számítógép, ahol sok különböző számértékkel kell ugyanazt a számítási folyamatot végrehajtani. Ugyanakkor a szimbolikus programozási módok lehetővé tették, hogy a rutinszerű matematikai levezetéseket is digitális számítógépek végezzék el.
Időigény és költségek; t - műveleti sebesség másodpercekben, L - napi teljesítmény számolási műveletekben, K - költség számolási műveletenként, t - egy 30 ismeretlenes egyenletrendszer megoldásához szükséges idő
t | L | K | t | |
---|---|---|---|---|
segédeszköz nélkül számoló ember | 200 | 140 | 20 | 1 500 óra |
elektromechanikus asztali számológéppel dolgozó ember | 25 | 1 200 | 3 | 190 óra |
asztali (programozható) elektronikus számítógéppel dolgozó ember | 0,05 | 104-106 | 0,1-0,01 | 10-60 perc |
közepes sebességű digitális számítógép | 5.10 − 5 | 109 | 0,002 | 1,5 s |
Tartalomjegyzék |
[szerkesztés] Felépítése és munkamódszere
A digitális számítógép központi szerkezeti egységei a következők:
- vezérlőegység
- memóriaegység
- aritmetikai egység
- bemenőegység és kimenőegység
[szerkesztés] Számítógép - ember
A digitális számítógép munkamódszere formálisan összehasonlítható egy számítást végző emberével. A vezérlőegységnek az emberi agy, a memóriaegységnek a közbülső eredmények rögzítésére szolgáló jegyzetblokk, az aritmetikai egységnek az ember segédeszközei - pl. asztali számológép - felel meg.
A feladat kitűzésével a számolást végző ember részletes összeállítást kap a probléma megoldásához szükséges lépésekről úgy, hogy az asztali számológép segítségével mechanikusan, az adott sorrendben végre tudja hajtani az egyes számolási műveleteket. A számítási programot az automatával a bemenőegységen keresztül közlik. Az egyes műveleteket sorrendben, utasításként betáplálják a bemenőegységbe, pl. lyukkártya segítségével, ahonnét a memóriaegységbe kerülnek.
[szerkesztés] Az utasítások fajtái
Valamely feladat numerikus megoldásának programja utasításokból áll:
- számítási utasítások
- szervezési utasítások
- logikai utasítások
[szerkesztés] Számítási utasítások
Elrendelik, hogy az automata elvégezze az alapműveleteket.
[szerkesztés] Szervezési utasítások
Gondoskodnak a számítóautomata egységei közötti információtovábbításról; pl. a tárolókban elhelyezett számokat, összekapcsolásuk előtt, az aritmetikai egységbe, vagy a részeredményeket a memóriaegységbe kell szállítaniuk.
[szerkesztés] Logikai utasítások
A valóságos programozási munkát nyújtják.
Gyakori pl., hogy a számítás menetét nem lehet programelágazás nélkül megadni; az automatának egy részeredmény értéke szerint kell eldöntenie, hogy több programelágazás közül melyik szerint kell továbbdolgoznia.
Egy másodfokú egyenlet megoldásánál pl., a diszkrimináns értékétől függően, három különböző előírás van; az iterációs eljárás befejezését az jelzi, hogy mikor értük el a számítandó mennyiség előre megadott pontossági határát. Az ilyen programelágazások feltételei mindig kérdésként fogalmazhatók meg.
[szerkesztés] Programvezérlés
Programnak nevezzük egy probléma numerikus megldásához szükséges utasítások sorozatát. Az újabb számítóberendezésekben a programot az első fázisban, a bemenőfázisban olvassák a bemenőegységbe, és az utasítások a programban megadott sorrendben jutnak a memória (tároló) egymást követő helyeire. A második fázis, a munkafázis alatt a számolóautomata átveszi a feladatnak a tárolt program szerinti, önálló kidolgozását; a program vezérli a számítás lefolyását. Ezt nevezik programvezérlésnek. Az automata egységeinek tulajdonképpeni koordinálását és vezérlését a vezérlőegység végzi. Az utasításokat egymás után olvassa ki a rekeszekből a címregiszterek alapján, és beírja az utasításregiszterbe, majd értelmezi az utasítást és feldolgozza. Az utasításokat általában olyan sorrendben dolgozza fel, amilyenben a rekeszekben tárolta. Programelágazásoknál azonban olykor nem a következő utasítást kell feldolgozni, hanem egy másik helyen tároltat.
[szerkesztés] Az információk előállítása
Az utasításokat, illetve a számokat majdnem minden modern számítógépbe kódolva, kettes számrendszerben táplálják be. A kódolást azonban maga a gép végzi el a számjegynek megfelelő gomb lenyomásakor. A kódolásnál a kód, amit kulcs útján állítanak elő, egy hozzárendelést jelent a jelek,illetve jelsorok két csoportja között. A Morse-kód pl. az ábécé minden betűjéhez meghatározott módon egy "pontokból" és "vonásokból" álló jelsort rendel hozzá. Állandó szóhosszúságú kódnál a kettes helyi értékek szükséges száma a kódolandó jelek számának teljes mennyiségéhez igazodik. Ha pl. a következő hat utasítást kell duális alakban kódolni: összeadás (+), kivonás (-), szorzás (.), osztás (:), diszjunkció () és konjunkció (), akkor három bináris helyi értékre van szükség.
[szerkesztés] Szám előállítása a számítógépben
Az elektronikus számítógépben való feldolgozásra a tízes rendszerbeli számokat bináris alakban kódolják, pl. a szokásos kettes számrendszerben. Egy tízes rendszerbeli szám kettes rendszerbe való átalakítását konvertálásnak, az ellenkező eljárást pedig visszakonvertálásnak nevezik. A korszerű digitális számítógépeknek általában állandó szóhosszúsága van, pl. a ZRA 1 szóhosszúsága 48 bit. A szóhosszúság határozza meg a numerikus számítás pontosságát, mert hosszú számításoknál - ahol sok a mellékszámítás is - a kerekítésből származó hibák inkább előbukkannak, ha kicsi a szóhosszúság.
A konvertálással kapcsolatos számítási műveleteket a gép a számok betáplálása közben maga végzi el. A betápláláskor a decimális számnak már bináris alakban kell lennie, mert a bemenőegység csak két különböző állapotot tud észlelni. Rendszerint minden decimális számjegyet külön kódolnak, és a 10 számjegy mindegyikéhez - a bináris rendszerben - 4 bitre van szükség, ez egy számnégyes vagy bináris tetrád. Így 24 = 16 jelet lehet összesen kódolni, ami nincs teljesen kihasználva. Pl. a 296 számot a következőképpen állítjuk elő: (2)10 = (0010)2, (9)10 = (1001)2, (6)10 = (0110)2; így (296)10 = (0010)2(1001)2(0110)2, ahol a zárójelek melletti indexek a számrendszert jelentik. A szokásos kettes számrendszerben a (296)10 = (100101000)2. Az első alakból a számítógép rendkívül egyszerű módon, tisztán duális műveletekkel el tudja végezni a tulajdonképpeni konvertálást.
A (296)10 szám konvertálásának példája; a félkövér számok a kettes számrendszerben értendők
művelet | részeredmény | művelet | részeredmény |
(000000000)2 | (0)10 | ||
+ (0010)2''' | (000000010)2 | + (2)10 | (2)10 |
(000010100)2 | (20)10 | ||
+ (1001)2 | (000011101)2 | + (9)10 | (29)10 |
(100100010)2 | (290)10 | ||
+ (0110)2 | (100101000)2 | + (6)10 | (296)10 |
eredmény | (100101000)2 | eredmény | (296)10 |
A (10)10 = (1010)2-vel való szorzás, egy duális alakban kódolt decimális számjegy minden összeadásánál tekintetbe veszi a helyi értéket. A számnégyesek alakjában való duális kódolás hátránya, hogy több bináris helyi értékre van szükség, mint a szokásos duális előállításnál, minthogy a számnégyesek nincsenek teljesen kihasználva; példánkban 12 bináris hely van a kettős számrendszerbeli szám 9 helyével szemben.
[szerkesztés] A tizedesvessző feltüntetése
Mivel a szám értékét csak a számjegyek sora és a tizedesvessző határozza meg, a számítógépnek információt kell kapnia a tizedesvessző helyéről. Megkülönböztetünk:
- lebegőpontos és
- fixpontos számokat.
A lebegőpontos tizedestörteknél a programozó betáplálja a bemenőegységbe a számjegyek egymásutánját, és a tizedesvessző helyének jellemzésére 10-nek azt a kitevőjét, amellyel a számot 10 hatványaként előállítja.
Számok ábrázolása normált alakban
szám | normált alak | számjegyek | kitevő |
23,450 60 | 0,2345060.102 | 2 345 060 | 2 |
9 870 100 | 0,9870100.107 | 9 870 100 | 7 |
0,038 000 | 0,3800000.10 − 1 | 38 | -1 |
Ehhez meg kell állapodnunk pl. abban, hogy a 10 hatványát a számnak mindig abból az alakjából olvassuk le, amelyben a tizedesvessző előtt 0, a tizedesvessző után pedig 0-tól különböző számjegy áll. Ezt a műveletet normálásnak nevezik, és a azám így kapott alakját normált alaknak, ami nem egyezik a szám normálalakjával.
Ezek után a számítógéppel csak a számjegyek sorrendjét és 10 hatványkitevőjét kell közölni, pl. 234 506 és 2 a 23,4506 számot jelenti.
A fixpontos tizedestörteknél a tizedesvessző mindig ugyanazon a helyen van, pl. minden 1 és 10 közötti számnál az első számjegy után. Ha tudjuk, hogy valamely feladat megoldásánál valamennyi adat nagysága egy meghatározott tartományba esik, akkor előnyösen alkalmazható e számok fixpontos előállítása. Ha minden fizetés 10 000 forint alatt van, akkor egy-egy szám leírásához 6 decimális helyi érték elég.
A fixpontos előállításnak az az előnye, hogy a gépnek nem kell információt kapnia a tizedesvessző helyéről, hátránya viszont, hogy a vesszőt az embernek kell a megfelelő helyre kitennie.
A legtöbb modern számítógép mind a két számelőállítási lehetőséggel rendelkezik. Egyes gépek, ha arra a programban külön megkötés nincs, az adott feladat megoldásánál automatikusan a kedvezőbb formát választják.
[szerkesztés] A számítógép építőkövei
Az elektronikus digitális számítógépek információt hordozó legkisebb építőkövei, a memóriaelemek, két különböző állapotot vehetnek fel. Ezekből épülnek fel a legkisebb, információkat összekapcsoló egységek, a kapcsolási elemek, amelyek a kapcsolási algebrából ismert logikai függvényeket realizálni tudják.
Memóriaelemek pl. a kapcsolók, a jelfogók, az elektroncsövek, illetve a tranzisztorok, a "flip-flop" és a mágneses anyagokból készült elemek; illetve modern gépekben a bonyolult hálózatokat egyetlen alkatrészként megvalósító integrált áramkörök.
A mágneses elemek tipikus képviselője a ferritgyűrű, amelynek külső átmérője 2 mm vagy jóval kevesebb. A ferrit ferromágneses kerámia, hiszterézis-görbéje közel derékszögű.
Számítógépek néhány tárolóelemének és az emberi agy neuronjainak t kapcsolási ideje másodpercben, V térfogata cm3-ben
tárolóelem | t | V |
relé | 10 − 1...10 − 3 | 10...100 |
elektroncső | 10 − 5...10 − 7 | 10...100 |
tranzisztor | 10 − 6...10 − 7 | 1...10 |
ferritgyűrű | 10 − 5...10 − 7 | 0,5...5 |
neutron | 10 − 3 | 10 − 7 |
Két stabilis állapot közötti átmenet időtartamát kapcsolási időnek nevezzük.
Ezt és egyes memóriaelemek térszükségletét szokták a neutronnal, az emberi agy alapelemével összehasonlítani. Az aritmetikai egységben a kapcsolóelemeket, illetve a mamóriaelemeket a kapcsolási algebra szabályai szerint oly módon kapcsolják össze egy kapcsolóműbe, hogy a teljes kapcsolás el tudja látni az alapműveletek végrehajtásának feladatát.
[szerkesztés] Az építőkövek együttműködése
A számítógépben minden egyes művelet meghatározott időpontban zajlik le. Egy órafrekvencia-generátor meghatározott frekvenciájú elektromos impulzusokat bocsát ki, ennek alapján állapítja meg a vezérlőegység azokat az időpontokat, amikor előírt szerkezeti csoportok egymással kapcsolatba lépnek az utasítások végrehajtására. Olyan esetekben, amikor a feladatok a "valódi" - pl. helyi - időhöz rögzítettek, akkor az óragenerátort külső időalaphoz szikronizálják. Ilyen eset pl. a forgalomirányítás. Az órafrekvencia (vagy ütemidő) elsősorban a kapcsolóelemek működési idejétől függ; a ZRA 1-nél pl. 100 kHz.
[szerkesztés] Programozás és programnyelvek
Mielőtt egy probléma numerikus megoldását a digitális számítógépre bíznánk, előkészítő munkára van szükség. Először is feltárják a problémát, vagyis a feladatot matematikai alakban fogalmazzák meg. Először is a fontosabb lépéseket és a lépések sorrendjét a folyamatábrán rögzítik. Az (1) problémakitűzésből absztrakció útján nyerik a (2) szakmai modellt, amelyet azután matematikai modellé tökéletesítenek. Az ebben lefektetett matematikai adatkitűzéshez megfelelő megoldási módszert (4) kell választani, ez pedig az (5) durva proramozáson át a (6) programhoz vezet. Az összes programutasítás és a számok kódolása (7) után (8) ellenőrzik a programot. Csak ezután lehet a számítógépet számolásra beindítani (9) és a megoldást kiszámítani (10).
[szerkesztés] A probléma feltárása
A probléma feltárása az ismertetett folyamatban az (1)-től (4)-ig terjedő lépéseket foglalja magába. Ha a feladat pl. az időjárás előrejelzése, akkor a következő lépések szükségesek: (1) a meteorológus felveti a problémát, amely legtöbbször még általános és pontatlan formában van (2). Az időjárás előrejelzésnél a következő napok hőmérséklete és csapadéka érdekel bennünket.
A paramétereket, mint a nyomás, a hőmérséklet, a levegő nedvessége, ismert fizikai összefüggések alapján foglalják össze a modellben (3). Ezután dolgozzák ki a matematikai modellt, amelynek során a kvantitatív összefüggések matematikai leírására törekednek: ez az időjárás-előrejelzés esetében parciális differenciálegyenletekkel történhet, és itt szoros együttműködésre van szükség a matematikusokkal (4). Majd az egyes matematikai képleteket aritmetikai műveletekre bontják, és a megfelelő logikai utasításokat elkészítik a gép számára. Röviden: elkészítik az algoritmust.
[szerkesztés] Algoritmus alkalmazása
A programozásban ezután az algoritmust lefordítják a gép nyelvére. A (7) és (8) lépésekben jelzett munkálatokat már segéderők is elvégezhetik.
Először (5) a durva programozást készítik el, hogy áttekintést kapjanak a feladatról. A bemenőmennyiségeket és a legfontosabb számítási lépéseket folyamatábrán tüntetik fel, esetleg a részeredményektől függő döntésekkel együtt. A folyamatábra jobb megértése céljából végezzük az a1, a2, ..., a10 10 szám összeadását, illetve az összeg képzését ezzel a technikával. Az 1. rekeszben az i változó értéke 1, a 2. rekeszben pedig a H segédváltozó értéke 0 lesz. A 3. rekeszben H-hoz hozzáadódik a1 értéke; így kapjuk minden egyes lépésnél a H segédmennyiség új értékét. A 4-ben felteszik a kérdést, vajon az i futóindex elérte-e már az összes számot. A tagadó válasz az 5. rekeszhez vezet, ahol az i index eggyel nő. Ezután 3-ban megtörténik a következő összeadás. A 3., 4. és 5. rekeszek többször szerepelnek, ciklust képeznek, amely csak akkor hagyható el, amikor mind a 10 számot összeadtuk, és a 4-ben feltett kérdésre igenlő a válasz. Végül 6-ban az S változóhoz hozzárendeljük H értékét.
[szerkesztés] Gépi program
A folyamatábra alapján gépi programot állítanak fel. E célból a folyamatábra utasításait elemi előírásokká kell felbontani. Ezt a folyamatábra 3. rekeszéhez kapcsolódva magyarázzuk meg, feltéve, hogy az ai számok tíz tárolóhelyen találhatók, és a H segédmennyiség részére is fenntartunk egy tárolóhelyet.
A folyamatábra 3. rekeszében adott utasítás elemi műveletekre bontása
1. utasítás: Vidd át ai-t a memóriarekeszből az 1. regiszterbe |
2. utasítás: Vidd át H-t a memória rekeszből a 2. rekeszbe |
3. utasítás: Add hozzá a 2. regiszter tartalmát az 1. regiszter tartalmához, és az eredményt tárold az 1. regiszterben |
4. utasítás: Az 1. regiszter tartalmát vidd át H memória címére |
Az 1., 2. és 4. utasítások átviteli utasítások, és így szervezési utasítások, a 3. utasítás számolási utasítás. Logikai utasítás a 4. rekeszben feltett kérdés megválaszolásánál léphetne fel. Mivel a számítógép csak binárisan kódolt információkat tud fogadni, a műveleti jeleket még kódolni kell, vagyis a 0 és 1 jel valamilyen sorozatává kell átalakítani.
A mai (1973-as) gépek közül igen sok megérti a feladatot a szokásos matematikai formában. Ezért ma már az egyszerű, logarléc szintű számítást is érdemes géppel végeztetni, ha van a közvetlen közelben, tehát azonnal elérhető bemenőegység.
Ezért fejlődnek ma az "időosztású" (time-sharing) rendszerek, amelyekben egyetlen gépnek sok kezelőpultja - végződése - van kihelyezve a mérnökök, kutatók, tisztviselők munkaasztalaira, s mindegyikük minden feladattal - kicsivel és naggyal - ugyanabban az időben a géphez fordulhat.
Ugyanezért terjednek rohamosan az igen pontos, gyors miniatűr számítógépek - az asztali- és zsebkalkulátorok.
[szerkesztés] Miből áll egy utasítás?
Az utasítás vagy utasításszó a legkisebb egység egy gépi program felépítésében. Fix szóhosszúságú számítógépeknél minden egyes utasítást egy-egy memóriarekeszben tárolnak.
Maga az utasítás is több részből áll: az operációs vagy műveleti részből és a címrészből. Az operációs rész a végrehajtandó művelet típusát tartalmazza, pl. annak a jelét, hogy "átvitel a memóriából az 1. regiszterbe". Aszerint, hogy egy utasítás címrésze egy vagy több címet ad-e meg, beszélünk egy- vagy több című gépekről.
[szerkesztés] Programnyelvek
A gépi kódban való programozásnak az a hátránya, hogy aránylag nehéz megtanulni, sok pénzbe és időbe kerül, és sok hibalehetőséget rejt magában. A gépi nyelveken kívül ezért kidolgoztak gépre orientált és problémára orientált programnyelveket is.
A gépre orientált programnyelvek a számítógép speciális tulajdonságait tartják szem előtt. Annyiban jelentenek könnyítést, hogy pl. a gépi nyelv több utasítását egyetlen utasításban foglalják össze, pl. a gépnyelven megadott négy utasítást gépre orientált programnyelven egyetlen utasítással lehet helyettesíteni.
A programozó a számítás menetét a gépre orientált programnyelven írja le, ezt a gép nyelvére maga a számítógép fordítja le a fordítóprogram segítségével.
A problémára orientált programnyelvek nem speciális típusú számítógépekre, hanem adott problémákra vonatkoznak. A legismertebb problémára orientált programnyelvek a FORTRAN (angolul: Formula Translating System - képletlefordító rendszer), ALGOL (angolul: Algorithmic Language - algoritmus nyelv), COBOL (angolul: Common Business Oriented Language - az üzleti életre orientált nyelv). Az utasításokat az angol köznapi nyelvből vett szavakból állítják össze, és szigorúan ragaszkodnak a matematikai képletek kialakult írásmódjához.
Miután az összes jelet bináris alakba kódolják, a programot betáplálják a számítógépbe. A számítógép egy fordítóprogram segítségével maga veszi át a gépnyelvre való fordítást. Problémára orientált nyelveket számítógépek is dolgoztak ki, többek között szerszámgépek numerikus vezérlésére, vagy geometriai tételek és formális logikai kijelentések bizonyítására. E nyelvek lényegesen hozzájárultak ahhoz, hogy a számítógépek kezelése egyszerűvé vált, és ezáltal a számítástechnika előtt új alkalmazási területek tárultak fel.
[szerkesztés] Elektronikus számítóberendezések fejlődési tendenciái és alkalmazásai
Az első számítógépek megépítése óta a fejlesztés célja az, hogy gyorsabb és kényelmesebben kezelhető berendezéseket állítsanak elő.
[szerkesztés] Az elektronikus számítógépek sebessége
Az elektronikus számítógépek számolási sebessége igen nagy, és egyre újabb alkalmazási területeket hódítottak meg; olyan feladatokról van szó, amelyeknek megoldása nélkülük évtizedeket vagy még annál is több időt venne igénybe. Pl. egy 1 000 ismeretlenes egyenletrendszer megoldásához 1 000 millió számítási műveletre van szükség. 1960 körül már voltak olyan berendezések, amelyek másodpercenként néhány százezer összeadást végeztek el, 1966-ban a csúcsteljesítmény 8 millió összeadás volt másodpercenként, illetve 5 millió szorzás másodpercenként (az IBM 360-as rendszerének 90-es modellje). 1968-ban olyan számítógépeket állítottak üzembe, amelyek 16,6 millió összeadást, illetve 5,5 millió szorzást tudtak másodpercenként elvégezni.
Más területeken (vezérlések, irányítás stb.) a döntéshez, beavatkozáshoz rendelkezésre álló idő alatt a szükséges pontossággal a kívánt adatokat csak az elektronikus számítógépek műveleti sebességével lehet előállítani, még akkor is, ha kevés és egyszerű számítást kell végezni - de pl. a másodperc törtrésze alatt (automatikus repülés irányítása stb.)
A műszaki változtatások közé tartozik a rendkívül kicsi kapcsolási idővel dolgozó építőelemek kifejlesztése; ilyenek pl. a félvezető építőelemek, kapcsolási idejük 0,7 nanoszekundum. Ezzel a gép működési sebessége igen megnőtt.
A miniatürizálással rövidítik a vezetékek hosszát. Az elektromos impulzusoknak, amelyek a számítógép egyes kapcsolási elemei és szerkezeti csoportjai közötti együttműködést vezérlik, 30 cm hosszú út megtételére egy nanoszekundum (10 − 9 s) időre van szükségük; pl. a legkisebb tranzisztorokat és diódákat, amelyeknek felülete 0,6 mm2, nyomtatott áramkörökkel kötik össze. Ilyen módon egy 2 cm átmérőjű szilíciumlemezen 500 áramkört lehet felépíteni, amelyek mindegyike 15 tranzisztor és 13 ellenállás funkcióját végzi, beleértve összekötő vezetékeit is. 1972-ben a HP - 35 zsebkalkulátor egyetlen, néhány mm²-es szilíciumkristályába 6 000 tranzisztornak megfelelő áramkört építettek be.
A vezérlési változtatások közé tartozik a párhuzamos gépekre való áttérés; ezeknél - ellentétben a soros gépekkel - minden bináris helyi érték egyidejűleg kerül feldolgozásra. Ezek a gépek gyorsabban dolgoznak, de előállításuk drágább.
A multiprogramozásnál egyidejűleg több programot hajt végre a gép. Az egyiket azalatt dolgozza fel, amíg a mágnesszalagról új számok érkeznek az operatív tárolóba, vagy pedig egy sor részeredményt kinyomtat a gép. A programokat ún. "felügyelő program" koordinálja. Ilyen módon a számítógépet jobban ki lehet használni.
[szerkesztés] Memóriakapacitás
Mivel sok probléma feldolgozása nagy memóriakapacitást követel meg, nagyobb kapacitású, kisebb méretű és rövidebb várakozási idejű memóriákra törekednek. Ma már olyan vékonyréteg-memóriák léteznek, amelyeknél üveglemezekre 10 − 6 - 10 − 9 cm vastagságú ferromágneses rétegeket párologtatnak.
[szerkesztés] Megbízhatóságuk
A számítóberendezések gyakorlati felhasználásánál igen fontos megbízhatóságuk, illetve hiba- és meghibásodási arányuk. Míg az ENIAC-ban (1946) "csak" 17 000 elektroncső volt, egy modern adatfeldolgozó berendezésben közel félmillió tranzisztor, még több ellenállás ls más elektromos alkatrész, továbbá mintegy 10 millió mágneses mag található. A fellépő hibákat különböző vizsgáló eljárásokkal és hibajelzésekkel azonnal észre lehet venni, illetve automatikusan korrigálni lehet. Különösen fontos ez a nagy adatmennyiséget tároló és kezelő óriás rendszerekben, pl. nagy bankok központi gépeinél.
[szerkesztés] A számítógépek kezelésének megkönnyítése
A betáplálás és kimenet módja lényegesen egyszerűsítheti a számítógép kezelését. Az ember számára az lenne a legegyszerűbb, ha a számítógép a kimondott utasításokat "megértené", vagy a leírt utasításokat "el tudná olvasni". Ma már egyszerűen és az idővel takarékoskodva lehet adatokat betáplálni fénytollal, ezekkel képernyőkre görbéket vagy egész szerkezeti ábrákat lehet felrajzolni. A gép ebből az analóg ábrázolásból saját maga számítja ki a számításhoz szükséges digitális értékeket. Széles körben foglalkoznak az ún. time-sharing (időosztású) módszer alkalmazásával; ennél több – egymástól és a számítóközponttól helyileg távol eső – felhasználó, távírógépek és távolsági adatátvitel útján, dialógust folytathat a számítógéppel. A különböző programokat egyidejűleg dolgozzák fel.
[szerkesztés] Alkalmazási területek
Még néhány évvel ezelőtt az elektronikus számítógépeket felosztották adatfeldolgozó berendezésekre és tudományos számítások célját szolgáló automatákra. Az adatfeldolgozó berendezések nagy, viszonylag kevés számítási összefüggéssel rendelkező adattömegek feldolgozására szolgáltak, az utóbbiaknál viszont igen nagy volt a számolási sebesség, hogy kevés bemenőadattal numerikusan oldjanak meg számításigényes problémákat.
A számítógépek modern fejlődése – ennek során az időosztás (time-sharing) és a multiprogramozás – feleslegessé teszi a kétféle feladatterület közötti megkülönböztetést.
Elvileg minden olyan problémánál alkalmazhatók számítógépek, amelyeknek megoldására algoritmusokat lehet felállítani. Alkalmazásuk nem annyira számítástechnikai kérdés, hogy az adott probléma matematikailag leírható-e. A fizikában és a műszaki tudományokban a folyamatok, tények és összefüggések matematikai leírása már régóta megoldott, ezért ezek a tudományágak voltak az elektronikus digitális számítógépek első alkalmazási területei.
De olyan nem numerikus feladatokat is előnyösen lehet számítógépre tenni, amelyeknél főleg számlálni (rendezni), összehasonlítani, kiválogatni vagy dönteni kell. Belátható, hogy nagy iparvállalatok, egész gazdasági ágazatok, sőt a népgazdaság egészének a tervezése és vezetése ilyen folyamatokból épül fel.
Ehhez hasonlóan egy üzem vezetésének egyik lényeges része az, hogy nagyszámú adatból kikeressék azokat, amelyek többek között pl. a kritikus helyzetet jelzik.
Egy nagy kórház automatikus betegellenőrzésénél pl. egy központi számítógép mérőberendezések útján adatokat gyűjt a betegekről, és jelzi a veszélyes állapotokat.
Hasonlóan történik a folyamatszabályozás az iparban. Itt a számítógép nemcsak a normáktól eltérő állapotokat jelzi, hanem arról is dönt, hogyan kell fellépni az eltéréseknél, és vezérli az ellenintézkedések végrehajtását.
Számító automatákat alkalmaznak még az orvosi diagnosztikában, a közlekedési eszközöknél és a szállodák helynyilvántartásánál, fordításoknál, közlekedésszabályozásnál, könyvtárakban és dokumentációs intézményekben, szerszámgépek numerikus vezérlésénél, automatikus tervezésnél és szerkesztésnél, tanító- és tanulógépek formájában az oktatásban, bérszámfejtésnél, a bankokban folyószámlák vezetésénél, repülőgépek forgalmának biztosításánál, időjárás-előrejelzésnél stb.
Az, hogy a számítógépek mennyire hatolnak be a felsorolt és egyéb területekre, attól függ, hogyan fejlődnek tovább "képességeik". A könyvtári munkánál nagy memóriára van szükség, és lehetőleg olyan bemenőkészülékekre, amelyek felismerik a jeleket.
A fejlődés útja az, hogy az ember egyre inkább az elektronikus számítóautomatákra bízza a szellemi és szervezési rutinmunkákat.