Kisszámítógép

A Wikipédiából, a szabad enciklopédiából
(Kisszámítógépek szócikkből átirányítva)

A kisszámítógépek fogalma mára már egybeforrt a nagyszámítógép fogalmával; ma már nincs ilyenfajta megkülönböztetés. Azonban a kisszámítógépek piaca rendkívül nagy volt. Mivel nagyszámítógépekhez viszonyítva nem voltak túl drágák, így a felhasználók megengedhették maguknak, hogy akár csak egyféle felhasználásra is egy számítógépet alkalmazzanak. A kisszámítógépek része lehetett egy gyártási folyamat irányító rendszernek, de lehetett egy olyan különálló, általános célú számítógép is, amely egy tervezőcsoport rendelkezésre állt. A kisszámítógépek komolya versenytársai a többszörös hozzáférésű koncepciónak, ahol egy nagy, központi számítógép több konzolt szolgált ki, azt a benyomást keltvén a felhasználóban, hogy saját kisszámítógéppel rendelkezik.

Mivel a számítógépek alkalmazásának területe széles és egyre jobban terjedő, a gyártócégek között igen komoly verseny alakult ki olyan olcsó kisszámítógép előállítására, mely könnyen használható és programozható. E cél érdekében PDP–8 esetében alkalmazott rendszerben bizonyos változtatásokat hajtottak végre.

Hosszabb szó[szerkesztés]

Minden egyes újabb - a számítógépi szó hosszúságát növelő - bit egyúttal a számítógép árát is növeli. A bitenkénti költségét ugyanis annyival kellett megszorozni, amennyi az alapul vett tárban tárolható szavak száma. Az igényesebb felhasználó rendelkezésre álló tármoduloktól eltérő tármodulokat is vásárolhatott. Azonban ez is többletköltséggel járt, mert minden egyes bitet, mely a szóhosszúságot növeli, meg kellett fizetni. A szóhosszúság növeléskor a szóméret és az aritmetikai valamint a szerkesztési műveletek kapcsolatát is tekintetbe kellett venni. Igen jó hosszúság a 12 bit, mert a tizenkettő osztható 2-, 3-, 4- és 6-tal. A tizenhárom prímszám, s természetesen a szorzótényezőkre nem bontható. A 13 bites szavakkal ugyan megtalálhatóak, de a tizenharmadik bit adatot nem hordoz, azt párosság ellenőrzésre használható. A programozó a felhasználható szóhosszúságot ebben az esetben is csak tizenkét bitnek tekintette. A fennmaradó biteket más célokra használták és használják azóta is: memóriavédelemre (paritásellenőrzésre), végrehajtási vagy memóriaelérési jogok jelölésére és egyéb célokra.

Kis szóhosszúságúak a 16 és 18 bit szóhosszúságú számítógépek is. Egy 24 bites szó már kétszer olyan hosszú, mint a PDP–8 tizenkét bites szava. Ez a szóméret inkább már közepes számítógépekre volt jellemző.

Indexregiszter[szerkesztés]

Az indexregiszter a kényelmes programozáshoz nélkülözhetetlen, azonban két ok miatt is költséges:

  1. a regiszter maga is drága,
  2. az utasításszóban az indexelés jelzésére külön bit szükséges.

Két aritmetikai regiszter alkalmazása

Aritmetikai műveleteknél jó, ha még egy regiszter áll rendelkezésre. Ez szinte nélkülözhetetlen szorzásnál és osztásnál, bár ezeket a műveleteket a kisszámítógépek rendszerint szubrutinokkal végzik. Indexeléskor is előnyös, ha a számítógép még egy aritmetikai regisztert felhasználhat.

Kétszeres hosszúságú utasításszó

A 12 bites PDP–8-ban nagy nehézségeket okozott, hogy csak egyetlen szó állt rendelkezésre a teljes tár címzésére, az utasítás és a címzési mód megjelölésére. Egyetlen 12 bites szó valóban kevés mindenhez. Némely gyártócég ezért dupla szavas utasításokat alkalmazott. Ez a duplaszó természetesen kétszeres központi tárelérést és, ha azt a tárból már kiolvasható, akkor elegendő helyet igényel az utasításban hordozott információ megtartására.

Változó hosszúságú utasítások

A változó méretű utasítások, mint amilyenekkel pl. az IBM 1401-esben alkalmaztak, igen bonyolulttá tették a kisszámítógép szerkezetét. A dupla szavas utasítások azonban egyszerű módot adtak arra, hogy egyes utasítások kétszeres, mások egyszeres szóméretűek lehessenek. A kiterjesztőutasítások pl. egyszeres, míg a műveleti utasítások kétszeres hosszúságúak lehettek.

Kétszeres pontosság és az adatlapok[szerkesztés]

Egy tizenkét bites szó 4096-ra vonatkoztatva csak egyszeres pontosságot adott. Ez a pontosság gyakran - pl. a tudományos számításokhoz - nem volt elegendő, így kétszeres pontosságú feldolgozást kellett végezni. A kétszeres pontosság programozással is egyszerűen elérhető, de ez a módszer - a program írásakor és futásakor egyaránt - sok időt igényelt, és a rutin értékes tárterületet is lekötötte. Ha azonban a programozónak a tervezővel módja volt ezt előre megbeszélni, a tervező gondoskodhatott néhány olyan külön utasításról, amelyek a kétszeres pontosságú aritmetikai programozását nagymértékben megkönnyítették. Ilyen dupla szavas utasítása volt az IBM 1130-as rendszernek.

Különálló adatlapok

A lapon lévő információra, a gyártó által készített lapozási rendszerrel lehetett hivatkozni. A hivatkozás a 0-s lapon lévő információra történt. A 0-s lapon azonban csak korlátozott területnagyság állt rendelkezésre. Más lapokon lévő információra indirekt módszerrel lehet hivatkozni, ez azonban időt, és területet fogyaszt. Kis lapméret esetében egy felhasználói program több lap terjedelmű is lehetett, tehát egy adott helyen tárolt adatra való hivatkozáshoz rendszerint indirekt címzésre volt szükség. Ez a két ellentmondó követelményt úgy is teljesíthető volt, ha külön lapregisztertől gondoskodtak az adatok. Így, függetlenül attól, melyik lapon dolgozik a program, az adatlap-referenciaregiszter segítségével az adatokra közvetlenül lehet hivatkozni.

A megszakítások sorrendje hierarchikusan van kialakítva, ezzel egy fontos készülék kiszolgálása más készülék kiszolgálása folyamán is megtörténhetett. Ennek a módszernek a megvalósítása nem volt túl költséges, de igen hasznos volt online feldolgozó rendszerekben.

Ha már az utasításszóban további utasításkódok számára is van hely, miért ne vezessük be olyan utasításokat, amelyek a programozást megkönnyíthetik. Ezt mindig olyankor kell eldöntenünk, amikor a hasznosság és a költségek kompromisszumát keressük.

A legfőbb nehézség[szerkesztés]

A fő különbség ezek között a gépek között az utasításszó felépítésében és azoknak a hardver által való értelmezésében volt. A programozó az új gépet mindig a hardver által elvégezhető utasítások készletéből ítélte meg.

A különféle címzési típusok és azoknak az utasításszóban való megjelölésére szolgáló toldalékok, amelyeket a gyártó a programozó rendelkezésére bocsátott, a legjelentősebbek. Meglepő, mennyire eltérő volt ebben a vonatkozásban az egyik számítógép a másiktól. A leleményesség a címzési módszerek alkalmazásában - kisszámítógépek esetében - igen fontos. A fő probléma ugyanis az volt, hogy a tár kicsi, rekeszeinek száma azonban mégis szükségessé tette, hogy megjelölésükhöz az utasításszó túlnyomó részét, ha nem is az egészet, igénybe vegyék. Kisszámítógépek esetében a felhasználó gyakran megengedhette magának, hogy a feldolgozást leállítsa, míg B/K művelet folyik. De amint a felhasználó egyre magasabb és magasabb szinten kívánt programozni, kereste az egyidejűség lehetőségét. Ezt a leghatékonyabban csak a csatornaelv, vagy annak más változatának alkalmazásával lehetséges. Ez az utóbbi módszer a cikluslopást vagy megszakítást, vagy mindkettőt magában foglalta.

Források[szerkesztés]

Ivan Flores: Korszerű számítógépek rendszertechnikája