I. Információ-technológiai alapismeretek
2.5. II. generációs számítógépek (tranzisztor) A sebesség kérdése mindig is nagyon fontos tényező volt a számítógépek világában. Babbage gépe egy másodperc alatt tudott elvégezni egy számítást. Gyorsabban, mint egy ember. A legkorábbi valódi elektromechanikus számítógépek pedig, már eljutottak a másodpercenkénti tucatig. Az elektroncsövek többszörös javulást hoztak. A gépek már olyan gyorsak voltak, hogy úgy tűnt, nincs különösebb értelme tovább fokozni a feldolgozási sebességet. Célszerűbb helyette az elektroncsövek megbízhatósága érdekében tenni valamit. Csökkenteni a gépek méreteit, visszafogni hatalmas áramfogyasztásukat. A tranzisztor hirtelen megjelenésére egyetlen számítógépes kutató sem számított. Az 1948-ban feltalált eszközt csak 1958-ban építették be kapcsolóelemként a rövid élettartamú elektroncső helyett, és ekkor alkalmazták a ferritgyűrűs tárat memóriaként. A teljesen tranzisztorizált számítógépek sebessége és teljesítménye többszörösen túlnőtt azon a határon, amelyet Babbage nemhogy elképzelni, de felfogni is alig lett volna képes. Amint ezek a tömegtároló eszközök elterjedtek, a számítógépek is új, eddig nem ismert szerepet kezdtek játszani. Nem szupergyors kalkulátorok voltak többé, hanem információ feldolgozó és kezelő berendezések. A számítógépek teljesítőképessége és alkalmazási köre folyamatosan nőtt, bővült. 1. A katonai problémák mintha csak számítógépre termettek volna. 2. Az űrkutatásban is nagy szerepe volt a számítógépnek. Az oroszok az első űrhajó fellövésével megelőzték az amerikaiakat, akik rengeteg pénzt költöttek arra, hogy először juttassanak embert a Holdra. Az űrverseny természetesen a számítástechnika fejlődésére is nagy hatással volt. Főleg azért, mert a számolásokhoz gyorsabb és gyorsabb gépek kellettek. A szovjet űrhajókhoz egyáltalán nem helytakarékos berendezéseket használtak. Az amerikaiak viszont kénytelenek voltak szakadatlanul fejleszteni technikájukat, így sikerült egészen kis méretűre kialakítaniuk az űrhajózásban használt eszközeiket, köztük számítógépeiket is. A hatvanas évek számítógépei még mindig óriási teret követeltek. Igényesek voltak ezek a gépek, egyenletes hőmérsékletet, tiszta levegőt követeltek maguknak. A tranzisztorok alkalmazásával, nagyságrendekkel nőtt az üzemeltetés biztonsága, lényegesen csökkent az energia fogyasztás és persze a gép mérete. Ezek a gépek az 50.000-100.000 művelet/másodperc sebességet értek el, térfogatuk 1 köbméter alá csökkent.
24
2. A számítástechnika és a számítógép története
Az új elemekkel lehetőség nyílott a miniatürizálásra. A háttértár szerepét a mágnesszalag, majd a merev hordozójú mágneslemez veszi át. A másik nagy probléma az volt, hogy még mindig csak a saját nyelvükön beszéltek (érthetetlen számsorokkal, lyukkártyákkal). Egy új szakemberfajtának kellett megjelennie: a programozónak, aki megértette ezeket a gépi kódokat. A programozó nélkülözhetetlen kapoccsá vált a halandó ember és a számítógép között. Ki kellett találni egy sokkal könnyebben érthető nyelvet! A megoldás a legegyszerűbb volt, a választott nyelv az angol lett. A használt parancsokra néhány példa: RUN (Fuss), GO (Menj) stb. Majd hamarosan megjelentek a magasabb szintű programozási nyelvek alapjai, elsőként a FORTRAN (FORmula TRANslation), jelképes, általánosan használt formalizált nyelv. Az első teljesen tranzisztorizált számítógépet Heinz Zemanek osztrák mérnök irányításával a Bécsi Műszaki Főiskola alacsony rezgésszámú folyamatokkal foglalkozó intézetében készítették 1955 és 1958 között. Memóriája egy mágnesdob volt, a teljesítményét jellemezte, hogy egy szorzást 0,4 s alatt végzett el. Zemanek professzor ellensúlyozandó az egyik akkori nagy teljesítményű amerikai gép elnevezését (Whirlwind-forgószél) Mailüfterl (májusi szellő) névre keresztelte gépét.
2.6. III. generációs számítógépek (Integrated Circuit) Az integrált áramkört (IC IC-t) 1958-ban fedezte fel Jack S. Kilby a Texas IC 1958 Instrumentsnél és Robert Noyce a Fairchild Semiconductornál. Ez az eszköz a harmadik generációs számítógépek jellegzetes építőeleme. A tömegtermelés 1962-ben indult meg, az első integrált áramköröket tartalmazó számítógépek pedig 1964-ben kerültek kereskedelmi forgalomba. Megjelenik a bájt-szervezés és az input-output processzor is. A számítógépek több tevékenységet tudnak párhuzamosan 24. ábra: IBM 1620as számítógép végezni. Előrelépések történnek a távadatátvitelben. Az integrált áramkörök tovább csökkentették a számítógépek árát, méretét és meghibásodási gyakoriságát.
25
I. Információ-technológiai alapismeretek
Ez tovább növelte a számítógépek iránti keresletet: az 1970-es évek elejére, több mint 100.000 nagyszámítógépet és ugyancsak több mint 100.000 miniszámítógépet helyeztek üzembe. A harmadik generáció korszakát kb. az 1965-1971-es évekre lehet tenni. A legismertebb második generációs gépek: IBM 1620, 1401; CDC 3600; IBM 7090, 7094; Honeywell 800. Programozási és technikai újdonságok a következők voltak. A mikroprogramozás ötlete Maurice V. Wilkestől Wilkes származik még 1951-ből, és több első és második generációs számítógépben is alkalmazták. Igazi elterjedése azonban az IBM 360-as gépcsaláddal történt meg, ennek kisebb modelljei mikroprogramozottak voltak. Mikroprogramozott gépeknél a processzor által végrehajtandó egy gépi kódú utasítást nem közvetlenül, egy lépésben dolgozza fel a CPU. Ehelyett úgynevezett mikroutasítások egy sorozatát, egy mikroprogramot olvas be egy speciális tárolóból, és ennek utasításait értelmezi és hajtja végre közvetlenül a hardver. Ezek a mikroutasítások a CPU-n belül (regiszterek között) végrehajtandó mikroműveleteket írnak általában elő. Kívülről nézve a processzor továbbra is úgy viselkedik, mintha az eredeti utasítást közvetlenül egy lépésben a hardver hajtaná végre. A párhuzamos feldolgozási lehetőségek javulását a harmadik generációs gépek részben azzal érték el, hogy több, nagy autonómiával rendelkező processzort használtak és a rendszeren belül rugalmas kommunikációt biztosítottak. Multiprogramozásnál általában egy operatív táron több, egyszerre futó Multiprogramozás program is osztozik. Mivel az operatív tár mérete pénzügyi és technikai okok miatt korlátozott, általában nem fér bele egyszerre az összes futó program és az azok által használt összes adat. Ezért a memóriát dinamikusan, időközben változtatható módon kell az egyes programok rendelkezésére bocsátani. Gondoskodni kell arról is, hogy az adott pillanatban szükséges információk a háttértárból a memóriába töltődjenek, a feleslegeseket pedig időlegesen ki kell írni a háttértárba. Az operációs rendszerek egyik legfontosabb feladata a memória kezelésének automatikus 25. ábra: IBM System 360-as számítógép megoldása.
26
2. A számítástechnika és a számítógép története
A programozó munkája viszont nagymértékben leegyszerűsödik, ha nem kell tekintettel lennie az operatív tár mérete által támasztott korlátokra, hanem úgy tekintheti a gépet, mintha egy gyakorlatilag végtelen méretű tárolóterülete lenne, és e fölött csak az ő programja rendelkezne. Ez a virtuális memória alapötlete. A korszak és a későbbi fejlődés meghatározó tényezője volt az IBM System/360-as gépcsalád. Az RCA (Radio Corporation of America) által gyártott Spectra 70-es sorozat nagymértékben kompatibilis volt az IBM gépeivel.
26. ábra: Spectra 70-es munkaközben
2.7. IV. generációs számítógépek (mikroprocesszor) A számítógépek fejlődésének következő állomása a mikroprocesszor feltalálása volt. A miniatürizálás egyre fontosabbá vált, ennek eredményeként születtek meg az integrált áramkörök, az IC-k. Ezek tökéletesítése vezetett el a mikroprocesszorig, vagyis a mikroszámítógépek megalkotásáig. Az 19701970-es évek közepén jöttek létre, fejlődésük a mai napig tart. A gépek igen nagy integráltságú (VLSI VLSI, VLSI Very Large Scale Integration) áramkörökből épülnek fel. Általánossá válik a félvezetős, integrált áramkörökből készült memória is. Nincsenek alapvető változások a számítógépek szervezésében, a korábban már bevezetett megoldásokat tökéletesítik. Az új technológiának köszönhetően tovább csökken a hardver ára, egy számítógéprendszer árának már akár 75%-a is lehet a szoftver. A számítógépek programozása szinte kizárólag magas szintű nyelveken történik. A távtáv-adatátvitel lehetővé teszi gyakorlatilag bármelyik két gép összekapcsolását. Napjainkra már szinte mindegyik számítógép kapcsolódik valamilyen hálózathoz. A mikroprocesszort felhasználva hamarosan megjelenik, és rohamosan elterjed a személyi számítógép. Általánossá válik használatuk szövegszerkesztésre, táblázatkezelésre, grafikára, adatbázis-kezelésre, stb.
27
I. Információ-technológiai alapismeretek
Hogyan készül a mikroprocesszor? A folyamat azzal kezdődik, hogy igen tiszta, nagyméretű szilíciumkristályokat növesztenek. Ezeket a szilícium óriáskristályokat vékony, tenyérnyi szeletekre vágják. Ekkor következik a mikroprocesszor-gyártás legbonyolultabb műveletsora. Mintázatokat hoznak létre a lapkán. A mintázatok lényegében több százszor ismétlődnek a szilíciumszelet felületén. Hogyan tud információt kezelni egy ilyen csöppnyi anyag? A mikroprocesszor tulajdonképpen ugyanúgy kezeli az információt, mint az ENIAC tette. Gondoljuk csak meg, hogyan folyt a távírás régen. Távíróval, a Morse-kódok használatával. A Morse rendszer egy bináris rendszer. A számítógép a maga kapcsolóival milliószor gyorsabban képes ilyen információkat kezelni, mint bármelyik távírász. Ismereteink között alig van olyan, amelyiket ne lehetne kifejezni számokkal, vagy szavakkal. A számítógép azonban nemcsak számokkal, hanem egyéb információkkal is tud bánni. Ehhez természetesen megfelelő segédeszközök is kellenek.
1970-ben jelentik be az IBM System/370-es gépcsaládot, ami meghatározó volt a negyedik generáció elején. 27. ábra: IBM System/370-es
A család elnevezésében a 70-es évekre utal, míg a korábbi 360-as gépcsalád az 1960-as évek számítógépe volt. Ennek a szervezése igen nagymértékben megegyezik a korábbi 360-as gépcsaládéval, de több teljesítményjavító megoldást is beleépítettek. A gépcsalád népszerűségére jellemző, hogy más gyártók is építettek velük kompatibilis számítógépeket: az Amdahl Corporation által készített 470-es sorozat és az Intel Corporation által készített AS (Advanced System) sorozat is ebbe a gépcsaládba tartozik. Az első mikroprocesszor, mikroprocesszor az egyetlen IC-ben összesűrített processzor 1971-ben készült. Ted Hoff, a 1971 Hoff Stanford University mérnöke tervezte. Az Intel készítette, egy 7 mm oldalhosszúságú négyzet alakú szilíciumlapkán 2300 tranzisztort tartalmazott. év közepén valósult meg az LSI (large-scale-integration), majd később a VLSI (very-large-scaleintegration) áramkörök bevezetésével.
28. ábra: Az első mikroprocesszor kialakulásának története
28
2. A számítástechnika és a számítógép története
1972-ben elsőként jön ki az IBM 370-es család néhány tagja teljesen félvezetős memóriával, az Ames Research Center elkezdi használni az ILLIAC IV szuperszámítógépet aerodinamikai problémák megoldására, megjelennek az első tudományos célú zsebszámológépek. 1973-ban az 1973 R2E nevű francia cég bemutatja az első mikroszámítógépet mikroszámítógép (mikroprocesszoron alapuló számítógépet), a MICRAL-t. 1974-ben 1974 forgalomba kerül az első programozható zsebszámológép, zsebszámológép a HewlettPackard által gyártott HP-65, megjelenik az első személyi számítógép, számítógép az Altair 8800, 8800 1974-ben a Stanford Egyetemen üzembe helyezik a számítógépes orvosi diagnosztikai rendszert. 1976-ban üzembe 1976 helyezik az első CrayAz 1970-es években Cray-1 szuperszámítógépet. szuperszámítógép jelenik meg az interaktív számítógépes tervezés. 1979-ben készült el a VisiCalc, az első táblázatkezelő program. 1981-ben jelenik meg az IBM 1981 PC, PC aminek leszármazottai mai életünk meghatározó elemei. A Time magazin évente kitüntet valakit, aki az adott évben előre vitte valamiben a világot. 1982-ben a számítógép kapta a “Man of the Year” címet. Az 1980-as évek közepére már több millió számítógépet használnak világszerte. Ezek nagy része személyi számítógép. 1980Jellemző gépkategóriák az 1980 -as évek közepén: Szuperszámítógép: legismertebb típus a CYBER és a Cray (a CYBER-t a CDC gyártja). A Cray a kiépítéstől függően akár 20 millió dollárba is kerülhet. Speciális födém kell alá, hogy elbírja a súlyát. A vételi ár tartalmazza két teljes munkaidőben foglalkoztatott karbantartó mérnök díját is a gép egész élettartamára. Az installált szupeszámítógépek száma nem éri el ekkor még a 150-et. Seymour Cray eredetileg
a CDC-nél (Control Data Corporation) dolgozott szuperszámítógépek fejlesztésén. 1972-ben otthagyta a CDC-t és kb. fél millió dollár saját tőkével plusz vállalkozók által befektetett 2 millió dollárral megalapította saját cégét, a Cray Research-öt. Az első általa tervezett szuperszámítógép, a Cray-1 197629. ábra: Cray 1 szuperszámítógép ban került kereskedelmi forgalomba. Mintegy hétmillió dollárba került, csak kormányhivatalok és igen nagy cégek tudták megvenni. Ez volt az első olyan számítógép, amely képes volt másodpercenként több mint százmillió lebegőpontos műveletet végrehajtani (kb. 160 milliót). Az alapműveletek végrehajtási ideje 12,5 ns. A gép részben párhuzamos feldolgozást alkalmaz. A memóriája félvezetőkből készült. A sok megoldandó technológiai probléma közül ez egyik legfontosabb az volt, hogy hogyan vezessék el a nagysebességű áramkörök által termelt hőt. Ezt úgy oldották meg, hogy az áramköröket freonnal hűtött függőleges lapokra szerelték. Azóta építettek ugyan gyorsabb számítógépeket is, de a Cray-1-et azóta is használják összetett problémák matematikai tanulmányozására (ilyen problémák például a beszédfelismerés, az időjárás előrejelzése, valamint a fizikai és a kémia alapkérdései).
29
I. Információ-technológiai alapismeretek
Nagyszámítógép (mainframe): nagy cégeknél (bankok, kereskedő és gyártó cégek, kormányhivatalok) ezek végzik az adatfeldolgozás zömét. A jellemző áruk 400.000 és 1.000.000 dollár között van. Üzemeltetésük klimatizált helyiségben történik. Jellemző gyártók: IBM, Borroughs, Digital Equiptment Corporation (DEC), Control Data Corporation (CDC). Miniszámítógép: kisebbek, lassabbak és olcsóbbak a nagygépeknél. Nincs különleges környezeti működési feltételük, az iroda sarkában is állhatnak. Jellemző áruk 20.00040.000 $. Mikroszámítógép: mikroprocesszort használt. Személyi számítógépnek is nevezik. Nagygépre kötve lehetővé teszik a munka megosztását a nagygép és a mikrogép között. Vannak hordozható gépek is. A méret csökkentésének a billentyűzet és a képernyő használható méreten tartása szab korlátot. A Cray szuperszámítógépek imponáló teljesítményadatainak ellenére mindennapjaink meghatározó számítástechnikai tényezői mégsem ezek az egyre tökéletesebb számítógépek, hanem az ellenkező véglet, a személyi számítógépek.
1974-ben (más források szerint 1975-ben) egy Micro Instrumentation 1974 Telemetry Systems (MITS) nevű cég, Albuquerque-ben (New Mexico) piacra dobta az Altair 8800 nevű személyi számítógépet, egy összeszereletlen készlet formájában. A készlet nem egészen 400 dollárba került. Az információ bevitelére a gépnek nem billentyűzete volt, hanem csak egy kapcsolótáblája. Ez volt az első, kimondottan személyes felhasználásra tervezett asztali számítógép. Igaz ugyan, hogy az Altair kapacitása 1%-a sem volt a 30. ábra: Altair, Intellec stb. Hewlett-Packard 1991-ben kiadott, egy tenyérben elférő számítógépének, de ez a gép indította el a számítógépes elektronika máig tartó forradalmát. A mikroszámítógépkészlet iránt hirtelen olyan nagy kereslet alakult ki, amire senki sem számított. Számtalan kis cég alakult az új piac igényeinek kielégítésére. Az első nagyobb elektronikai cég, amely belekezdett személyi számítógépek gyártásába és árusításába, a Tandy Corporation (Radio Shack) volt. Ők 1977-ben kezdték árusítani számítógépüket, amellyel 1977 hamarosan uralkodóvá váltak a piacon. Gépüknek két vonzó tulajdonsága volt:: egy billentyűzet és egy katódsugárcsöves monitor. A gép népszerűségéhez az is hozzájárult, hogy programozni lehetett és a felhasználó mágneskazettákon tárolni tudta az információt. Sok hardvergyártó kezdett ezután kész személyi számítógépeket árulni, a szoftverfejlesztők pedig olyan programok készítésébe fogtak, amelyekkel ezek a számítógépek alkalmasak voltak szövegszerkesztésre, adatfeldolgozásra és rajzolásra.
30
2. A számítástechnika és a számítógép története
Nem sokkal a Tandy számítógépének megjelenése után, két mérnökprogramozó (Stephen Stephen Wozniak és Steven Jobs) Apple Computers néven alapított egy számítógépgyártó céget. Az első Apple számítógépet 1977-ben adták el. A 1977 számítógépeiken alkalmazott újítások között volt a kiterjesztett kiterjesztett memória, memória az adatok és programok tárolására szolgáló olcsó lemezmeghajtó és a színes grafika. grafika Az Apple lett az Egyesült Államok történelmének leggyorsabban 31. ábra: Steve Wozniak munkássága
32. ábra: Az első Apple PC gép
növekvő cége. Az ő sikerük is sokaknak ösztönzést jelentett, ahhoz hogy ezen a területen próbálkozzanak. Az évtized végére a személyi számítógépes piac teljesen kialakult. 1979-ben jelent meg a Visi1979 Visi-Calc, az első táblázatkezelő program. program Ezzel már a programozásban gyakorlatilag teljesen járatlan emberek is komoly és összetett problémák megoldására tudták a számítógépet használni. Igen fontos tényező volt a mikroszámítógépek robbanásszerű elterjedésében. 1981-ben 1981 az IBM piacra dobta saját mikroszámítógépét, az IBM PC-t. Bár nem használta fel a PC legújabb technológiákat, a PC
33. ábra: Visi-Calc, Multiplan stb.
mérföldkővé vált a számítástechnikában. Bebizonyította, hogy a mikroszámítógép nemcsak egy divatos irányzat, hanem az üzleti élet szükséges eszköze. További érdeme, hogy olyan operációs rendszert használt (DOS DOS), amely hozzáférhető DOS volt a többi számítógépgyártó cég számára is, és így a piac szabványosodásához vezetett.
31
I. Információ-technológiai alapismeretek
Ugyancsak 1981-ben készítette el Adam Osborne az első hordozható 1981 mikroszámítógépet, az Osborne 1-et. A gép súlya kb. 11 kg volt, a mikroszámítógép memóriája 64 kByte kapacitású és 1.795 dollárért árulták. A személyi számítógép olyan olcsó volt, hogy egy magánszemély is könnyűszerrel megvehette. Ráadásul minél többet vettnek belőle, annál olcsóbb lett, hiszen a nagy sorozatú gyártás minden termék árát leviszi. Beindult
egy olyan üzleti folyamat, ami a mai napig tart: Egyre olcsóbban lehetett számítógépeket előállítani, ezért olyan helyeken is kifizetődő volt az alkalmazásuk, ahol korábban nem. Ezért sok számítógépet lehetett eladni, több mikroprocesszort kellett gyártani, így a számítógép még olcsóbb lett. Ezért még több helyen lehetett használni, ezért még többet gyártottak, ezért még olcsóbb lett, és így tovább. Az 1980-as években a személyi számítógépek rohamléptekkel váltak egyre kissebbé, jobbá és olcsóbbá. A nagyobb teljesítményű hardver összetettebb, könnyebben kezelhető programok készítését tette lehetővé. Ezért a számítógépek egyre gyorsabb processzorokkal, egyre nagyobb háttértárakkal és egyre nagyobb memóriával készültek. Az 19801980-as évek közepén több fontos lépés is történt a mikroszámítógépek történetében. Az egyik a nagyobb nagyobb teljesítményű 32 bites mikroprocesszorok bevezetése volt. Ezek már alkalmasak voltak fejlett több felhasználós (multiuser multiuser) multitask) multiuser és több feladatos (multitask multitask operációs rendszerek megfelelő sebességű futtatására. Ezáltal egyrészt megszűnt a mikroszámítógépek és a miniszámítógépek közötti különbség, másrészt az irodai asztalra olyan számítástechnikai teljesítmény került, amely a kisvállalkozások és a legtöbb közepes vállalkozás összes üzleti igényét kielégítette. Egy másik újítás az egyszerűbb, felhasználóbarát módszerek bevezetése volt a mikroszámítógépek működésének vezérlésére. A hagyományos, parancsvezérlésű operációs rendszert felváltotta a grafikus felhasználói felület (graphical user interface, GUI). Az ilyen felületet használó gépeknél, mint pl. az Apple Macintoshnál (majd később a Windowst futtató IBM PC-knél) a felhasználónak csak egy ikont kell a képernyőről kiválasztani egy funkció végrehajtásához. Ma már beszédvezérlésű gépek is léteznek: a felhasználó köznapi beszéd szavaival, annak nyelvtani szabályai szerint beszélve adhat parancsot a számítógépnek. 1992-re a számítógépgyártás vált a világ leggyorsabban fejlődő iparágává. 1994-ben a világon mintegy 120 millió IBM-kompatibilis személyi számítógépet használnak. A fő felhasználó már nem az állami apparátus, hanem a magánszektor lett.
32
2. A számítástechnika és a számítógép története
34. ábra: A személyi számítógépek számának növekedése az USA-ban
2.8. A személyi számítógépek fajtái 1. Asztali személyi számítógépek (desktop desktop) desktop 2. Hordozható táskagépek (laptop laptop), laptop tömegük 2,5 - 5 kg között van 3. Hordozható zsebszámítógépek (notebook notebook), notebook tömegük 0,5 – 2,5 kg-nál kisebb 4. Hordozható tenyérgépek (palmtop palmtop, vagy handheld), palmtop néhányszor 10 dkg tömegűek
35. ábra: Tenyérgépek
33
I. Információ-technológiai alapismeretek
Az IBM kompatíbilis személyi számítógépek Intel mikroprocesszorainak időrendi megjelenése: Processzor
Megjelenés ideje
Teljesítmény
Sebesség
Intel 4004
1971. szeptember
4 bit
kb. 1 MHz
Intel 8080
1974. június
8 bit
kb. 2,5 MHz
Intel 8088
1979. május
16/8 bit
5 MHz
Intel 80186
1982. március
16 bit
10 MHz
Intel 80286
1982. december
16 bit
16 Mhz
Intel 80386
1985. október
32/32 bit
16-40 MHz
Intel 80386-SX
1988
24/16 bit
40 MHz
Intel 80486
1989. április
32/32 bit
25-50 MHz
Intel 486-DX-2
1992
32/32 bit
50 MHz
Intel 486-DX-4
1993. április
32/32 bit
50-100 MHz
Intel Pentium
1993. március
32/32 bit
66 MHz
Intel Pentium Pro
1995. november
64/64 bit
120-200 MHz
Intel Pentium MMX
1997. január
64/64 bit
166-266 MHz
Intel Pentium II
1997. május
64/64 bit
300-433 MHz
Intel Celeron
1999 tavasz
64/64 bit
433-850 MHz
Intel Pentium III
1999. ősz
64/64 bit
533 MHz-1 GHz
Intel Pentium IV
2001 tavasz-ősz
64/64 bit
1,2 GHz-2 GHz
Mi van a 64 bit mögött? A bitek számának megduplázása 32-ről 64-re 1995-től kezdődően, a skála exponenciális természete miatt, sokkal többet jelent, mint a lehetséges értékek megkétszerezése. Bizonyára sokan hallották már a sakkjáték feltalálójának történetét. A legenda szerint a király el volt ragadtatva az új játéktól, és megkérdezte a feltalálót, mit adhatna neki hálája jeléül. Amaz bölcsen azt válaszolta, hogy búzát szeretne: egy szemet az első sakktáblamezőn, kettőt a második négyzeten, négyet a harmadikon, mindig megkétszerezve a szemek számát minden mezőn, egészen a 64. négyzetig. A király tiltakozott, hogy ez túl kevés ilyen okos találmányért, de végül is beleegyezett. Mondani sem kell, hogy a feltaláló dúsgazdagon élt, míg meg nem halt. A király nem tudta teljesen leróni a tartozását, hiszen a tábla megtöltéséhez több búza kellett volna, mint amennyit a világon az idők kezdete óta termeltek.
34
2. A számítástechnika és a számítógép története
2.9. V. generációs számítógépek Japánban egy 1981 októberében tartott konferencián jelentettek be egy Japán új állami kutatási tervet. A japán kormány 1982 áprilisában megalakította az Institute for New Generation Computer Technology (ICOT) nevű intézményt, a számítástechnikai kutatások végzésére, egész pontosan az FGCS (Fifth Generation Computer Systems) projekt vezetésére. Sok ezer mérnököt foglalkoztattak Tokió külvárosában a munkán. Ennek az új —szerintük az ötödik— generációnak fontos alkotórésze lesz a mesterséges intelligencia, intelligencia a szakértői rendszerek, rendszerek a szimbólumokkal való műveletvégzés. műveletvégzés Intelligens számítógép létrehozása a cél, cél amelyik lát, hall, beszél és gondolkodik. Képes asszociálni, tanulni, következtetéseket levonni és dönteni. Hardver oldalról ennek az előfeltételét a párhuzamos feldolgozásban látják. A japánok a munkát 10 évre tervezték. Az első három év feladata a tervek szerint egy PROLOG nyelvű olcsó személyi munkaállomás kidolgozása, ami több ezer objektumból és több ezer szabályból álló tudásbázist tud kezelni, másodpercenként mintegy egymillió logikai következtetést (logical inferences per second, LIPS) tud levonni. Ebből a gépből aztán egy éven belül kereskedelmi terméknek kell születni. A következő, 4 éves időszak a kísérletezésé és a rendszerintegráció első lépéseié. A párhuzamos feldolgozás fő problémáit is ezekben az években kellett megoldani. Az utolsó három évet a végső prototípus megépítésére és a további rendszerintegrálásra tervezték. Az eredményt az 1990-es évek elejére várták: egy olyan gépet, amelynek sebessége egymillióegymilliárd LIPS, a tudása több tízezer következtetési szabályt és több százmillió objektumot foglal magába (ez utóbbi nagyjából az Encyclopaedia Britannica ismeretanyaga), megérti a köznapi nyelven beszélt, és írott szöveget és értelmezni tudja a grafikus adatbevitelt. A fejlesztést 1993 márciusában zárták le és sikeresnek értékelték. Értékelésük szerint létrehozták az ötödik generációs számítógép prototípusát és létrehozták a gyártásához szükséges technológiát. Ez a prototípus a világ leggyorsabb és legnagyobb olyan számítógéprendszere, amely tudásalapú információfeldolgozásra képes.
35
I. Információ-technológiai alapismeretek
A gép “lelkét” a párhuzamos következtető gépek (parallel inference machine, PIM) alkotják. Ezeknek a PIM-eknek a programozására kifejlesztették az igen termelékeny KL1 nevű párhuzamos logikai nyelvet. Elkészítették a párhuzamos folyamatok követésére és a bennük való hibakeresésre szolgáló eszközöket is. 36. ábra: A japán tervezésű „V. generációs számítógép” Ebben a prototípusának felépítése programozási környezetben különböző alkalmazásokat is kifejlesztettek. Az FGCS projekt után 1993-ban egy új kétéves FGCS Follow-on Project nevű kutatásba kezdtek. Ennek célja a KL1 programozási környezet és több ezzel készült programrendszer átültetése volt UNIX alapú soros és párhuzamos működésű számítógépekre. Ezzel az volt a céljuk, hogy az elért eredményeiket elterjesszék. Az FGCS keretében kifejlesztett főbb programrendszereket nyilvánosságra hozták ICOT Free Software (IFS) néven, az Interneten keresztül hozzá lehet férni. 1995-ben az új kutatómunka is sikeresen zárult. Ekkor, 13 éves kutatómunka után felszámolták az ICOT-ot. Az elért eredményeket a Japan Information Processing Development Center (JIPDEC) gondozza tovább.
2.10. A jövő Az egyik jelenlévő trend a számítógépek fejlesztésében a mikro mikrominiatürizálás, miniatürizálás az igyekezet, hogy mind több áramköri elemet sűrítsenek mind kisebb és kisebb méretű chipekbe. A kutatók az áramkörök sebességét a szupravezetés felhasználásával is igyekeznek felgyorsítani.
36
2. A számítástechnika és a számítógép története
Az ötödik generációs számítógép létrehozására irányuló kutatás egy másik trend. trend Ezek a gépek már komplex problémákat tudnának alkotó módon megoldani. Ennek a fejlesztésnek a végső célja, az igazi mesterséges intelligencia létrehozása létrehozása lenne. Az egyik aktívan kutatott terület a párhuzamos feldolgozás, feldolgozás azaz amikor sok áramkör egyidejűleg különböző feladatokat old meg. A párhuzamos feldolgozás alkalmas lehet akár az emberi gondolkodásra jellemző komplex visszacsatolás utánzására is. Másik meglévő trend a számítógépes hálózatok fejlődése. fejlődése Ezekben a hálózatokban már műholdakat is felhasználnak a számítógépek világhálózatának működtetésére. Folynak kutatások az optikai számítógépek kifejlesztésére is. Ezekben nem elektromos, hanem sokkal gyorsabb fényimpulzusok hordoznák az információt. Szakértők azt jósolják, hogy 2000-re a számítógép-ipar termelésének értékét csak a mezőgazdaság fogja meghaladni. Már ma is sokféle célra használják a számítógépeket az élet minden területén: a repülőgépek vezérlésére, a forgalom irányítására, szövegek és számok feldolgozására és az üzleti megbeszélések időpontjának nyilvántartására. A számítógépek a modern üzleti élet, a kutatás és a mindennapi élet nélkülözhetetlen szereplőivé váltak.
2.11. Programozási Programozási nyelvek A számítógépek működésének alapvető jellemzője, hogy a feladatokat elemi matematikai műveletek sorozatára kell visszavezetni a gép számára. Ennek a feladatnak az ellátására alkották meg a programozási nyelveket. A programozási nyelvek osztályozása: osztályozása: 1. Gépi kód, ez a legalacsonyabb szint. A számítógép számára a program kettes számrendszerben kódolt számsorokból áll, amelyek elemi utasításoknak felelnek meg. Csak a gép használja. 2. Assembly nyelv, gépközeli szint. A kódolt bináris számsoroknak nevet adva, a rendszerprogramozó utasítások sorozatát építi fel. Minden processzornak saját gépi kódú és assembly nyelve van. Nagyon nehéz, és fáradtságos megtanulni. Előnye, hogy a processzor teljesítményét maximálisan kihasználja. Hátránya a nehézségén túl, hogy processzor függő. 3. Magas szintű programozási nyelvek, emberközeli szint. Előnyei: -néhány egyszerű, könnyen megtanulható ún. programszerkezet, valamint bizonyos utasítások megtanulásával nagyon gyorsan a kívánt eredmény érhető el, -az emberi nyelvhez közel álló, - processzor és gépfüggetlen. Néhány ilyen nyelv: Pascal, C, dBase, Clipper, Basic, Cobol, Fortran, Logo, PL1 stb.
37
I. Információ-technológiai alapismeretek A magas szintű programozási nyelveknek szükségük van egy olyan alprogramra, amely az ún. forrásnyelvi programot, vagyis a magas szintű nyelven megírt programot soronként értelmezi, és továbbítja egy másik programnak, amely lefordítja a számítógép által is értelmezhető gépi kódra. Az első programot értelmezőnek, vagy Interpreternek, a másodikat fordítónak, vagy Compilernek nevezzük. Interpreter Compiler (A gépi kódú programot forrásnyelvi programmá visszaalakító programot Decompilernek hívják!) A magas szintű programozási Decompiler nyelvek a számítógép fejlődésével együtt, folyamatosan változtak, továbbfejlődtek. A következő képen a Visual Basic 4.0-s verziójának szokásos bejelentkező képernyőjét láthatjuk.
37. ábra: Visual Basic 4.0
38. ábra: A számítógépes játékok világa
38
3. Adatábrázolás, számrendszerek
3. Adatábrázolás, számrendszerek 3.1. Adatábrázolás a számítástechnikában számítástechnikában A számítógépek, illetve a számítástechnika történetének legkorábbi szakaszában is már felvetődött a számok és más adatok ábrázolásának kérdése. A tízes számrendszerrel való számolás nagyon nehezen volt megvalósítható már a mechanikus gépek korában is, de az elektronikus számítógépek megjelenése végképp megpecsételte ezt a tárolási formát. Az információ legkisebb egysége a bit, amely egy eldöntendő kérdésre adott válasz információtartalmát képes leírni. (Egy igen/nem döntésben rejlő ismeret.) További egységei: 1 byte = 8 bit (szótag); 1 kB = 1024 B (210 = 1024); 1 MB = 1024 kB (= 210 kB = 220 B); 1 GB = 1024 MB (=210 MB = 220 kB = 230 B); 1 TB = 1024 GB (=210 GB = 220 MB = 230 kB = 240 B). (2 byte = 16 bit, vagy félszó; 4 byte = 32 bit, vagy szó; 8 byte = 64 bit, vagy dupla szó) Valós számok ábrázolása Kétféle számábrázolás használatos a valós számok ábrázolására, a fixpontos és a lebegőpontos. Fixpontos számábrázolás Bizonyos számú helyiértéken kettes számrendszerben ábrázoljuk a számot és rögzítjük, hogy hányadik bit után kell odaképzelni a "kettedes" vesszőt. Így nagyon kicsi az ábrázolható számok tartománya. Lebegőpontos számábrázolás Ennél a módszernél az alapot az ún. számítástechnikai normálalak jelenti, ez hasonlít a matematikában használatoshoz. Általános alakja: M*pk, ahol M neve mantissza, p a normálási tényező, k a karakterisztika. A M<1, p=2 vagy 16. Azaz a mantissza fixpontos bináris, kettes komplemens törtszám, a karakterisztika kettes komplemens egész szám. Ha p=2 kettesre normált, ha p=16 tizenhatosra normált számról beszélünk. Ez megállapodás szerint egy adott gépben mindig ugyanaz, nem kell külön tárolni. Ezek szerint a következőket kell tárolni: mantissza (előjel és abszolút érték), karakterisztika (előjel és abszolút érték).
39
I. Információ-technológiai alapismeretek A lebegőpontos ábrázolás előnye a leírható számok széles tartománya és a viszonylag nagy számolási pontosság. Nagy számok ábrázolására a lebegőpontos számábrázolás alkalmas. Lássunk néhány példát! A 2538 normálalakja: 2,538x103 ; a 0,000378 normálalakja: 3,78x10-4 stb. Karakter típusú adatok tárolása Karakternek nevezzük a betűket, írásjeleket, számjegyeket, stb. Ezek ábrázolását is meg kellett oldani, természetesen bináris alakban. Azaz minden karakterhez rendelni kell egy bináris számot, ezt nevezzük kódolásnak. Ma a legelterjedtebb kódolási rendszerekben 1 byte-on kódolják a karaktereket, ami 256 féle jel megkülönböztetését teszi lehetővé. Azt a táblázatot, amely leírja ezt a kapcsolatot kódtáblázatnak nevezzük. Kódrendszerek (karakterek ábrázolása) A kódolás nem más, mint jelátalakítás. Egy adott jelsorozatnak valamilyen más jelformába történő átalakítása. A számítástechnikában a kódolásnak kulcsfontossága van, hiszen köztünk és a számítógép processzora között az információt át kell alakítani, vagyis kódolni kell. Az IBM kompatibilis számítógépek világában a legfontosabb az ASCII kódrendszer. Elterjedt a BCD kód is, ez utóbbi jelentése binárisan kódolt decimális szám. A BCD kód hátránya, hogy a kisbetűket nem tudja ábrázolni. Ennek kiküszöbölésére vezették be a kiterjesztett BCD kódot az EBCDIC-t.
Összetett adattárolási egységek Az adatok mennyiségének növekedésével szükségszerűen alakultak ki. Bennük az egyes adategységek szervezési módja különböző lehet, annak felhasználási módjától függően megkülönböztetjük a következőket. Tömb A tömb adatelemei általában egyforma típusúak. Ezek lehetnek akár bájtnyi elemek, akár ennél hosszabbak is. Az egyes elemeket az ún. index-szel azonosítjuk. Az index olyan változó, amely ún. felsorolható típus, azaz az elemek sorrendje egyértelmű. (Legtöbbször az egész számokat használjuk.) Szokásos jelöléssel például: A(3), az A tömb harmadik eleme. Többfajta tömböt szokás megkülönböztetni: Egydimenziós tömb: tömb (Szokás vektornak is nevezni.) Azért nevezzük egydimenziósnak, mert egy index alkalmas az elemek megkülönböztetéséhez.
40
3. Adatábrázolás, számrendszerek Kétdimenziós tömb: (Szokás mátrixnak is nevezni.) Ez tulajdonképpen nem más, mint egy táblázat. Az elemek egyértelmű azonosításához két indexre van szükség. (Ha táblázatnak képzeljük az egyik index a sor, a másik az oszlop azonosítására szolgál.) Háromdimenziós tömb: (Ezt szokás valódi tömbnek nevezni.) tömb Elképzelhetjük egymás fölé rétegzett táblázatnak. Ekkor a három index sorra a réteget, sort és oszlopot azonosítja. Több dimenziós tömbök: tömbök Definiálhatunk magasabb dimenziószámú tömböket is. Ekkor természetesen a dimenziószámnak megfelelő számú indexre van szükség az egyes adatelemek azonosításához. Ezeknek a tömböknek már nehezebb szemléletes jelentést adni. Rekord Ez az adatszerkezet az adatbázis-kezelésben kapott igen nagy szerepet. Lényege, hogy különböző típusú, de egy, egyedhez tartozó adatokat egy egységként kezeljük. A rekord részeit mezőknek nevezzük. (A tömböket és a rekordokat a szerkezetük definiálja.) Sor (angolul: queue.) Ennek a szerkezetnek a kezelése úgy történik, hogy a következő tárolandó elemet az előzőleg tárolt elem után helyezzük el. Adatot előhívni mindig a sor elejéről lehet. Ezt szokás az angol elnevezés alapján FIFO szerkezetnek nevezni. (First In First Out, azaz amit elsőnek tettünk bele, azt elsőnek vegyük ki.) Ilyen módon működik például nyomtatási sor, ahol a nyomtatóra küldött adatokat ideiglenesen tároljuk, majd az érkezés sorrendjében történik a tényleges nyomtatás.
39. ábra: Sor adatszerkezet
Verem Verem (angolul: stack) Ennek a szerkezetnek a kezelése úgy képzelhető el, mint egy a földbe vájt verem feltöltése, ürítése. (innen a neve.) Az egyes elemeket sorra rakjuk bele a verembe, majd ugyanott vesszük ki. Ennek megfelelően az utolsónak elhelyezett elemet emelhetjük ki legelőször. Angol elnevezés alapján szokás ezt LIFO szerkezetnek nevezni. (Lasit In First Out, azaz amit utoljára tettünk be, azt elsőnek vegyük ki.) Ilyen módon működik például a felhasználói 40. ábra: Verem programokban megszokott visszavonás művelete. Mindig az utoljára elvégzett műveletet lehet elsőnek visszavonni. 41
I. Információ-technológiai alapismeretek Láncolt lista A láncolt lista lényege, hogy a listaelemek helyzetét egymáshoz képest határozzuk meg. Egy elem legalább két részből áll: egy adatrészből és egy mutatóból (pointer). Az adatrész tartalmazza a tárolni kívánt információt, míg a pointer 41. ábra: Egyirányban láncolt lista a következő elemre mutat. Az ilyen szerkezetet egyirányban láncolt listának nevezzük. Két irányban is összekapcsolhatjuk az elemeket, ha egy adatrészhez két mutatót kapcsolunk. A kezdő elemet listafejnek szokás nevezni, ennek helye 42. ábra: Kétirányban láncolt lista rögzített. Az utolsó elem valamilyen null értékre mutat. A lista nagy előnye, hogy könnyen bővíthető, módosítható, csak a pointereket kell változtatni egy-egy elem beszúrásához, vagy törléséhez. (A sort, a vermet és a listát a kezelési módja definiálja.) Az összetett adattípusok osztályozása A kezelés módja szerint kétféle lehet az adatszerkezet: szerkezetek: Amikor előre tudjuk a tárolandó adatok hosszát, ismerjük a Statikus szerkezetek memória igényt, előre lefoglalhatjuk a szükséges tárhelyet. A sor és a verem ilyen szerkezet. Előnye a könnyebb kezelhetőség, hátránya, hogy ritkán lehet egészen pontosan előre megjósolni a memória igényt, így vagy fölösleges helyfoglalás történik, vagy kevés lesz a hely. szerkezetek tek: A dinamikus kezelés során nincs előre lekötött tárhely, Dinamikus szerkeze tek folyamatosan lefoglalásra a memória, éppen annyi, amennyi szükséges. Tipikusan ilyen szerkezet a láncolt lista. Általában is a pointerek nagy szerepet játszanak a dinamikus tárkezelésben. Az adatokhoz való hozzáférés szerint szintén két csoportba oszthatjuk az adatszerkezeteket: Soros (szekvenciális) hozzáférés: Az ilyen adattípusoknál az egyes elemekhez a fizikai elhelyezés sorrendjében férhetünk hozzá. Ilyenkor az adatelérés lassú, de könnyű a szervezés. A szekvenciális szervezés esetén az adatoknak a fizikai rendezettségen túl van egy az adatfeldolgozást segítő logikai sorrendisége is.
42
3. Adatábrázolás, számrendszerek hozzáférés: Az ilyen adattípusnál, az adatok pontos helyét meg kell tudni Direkt hozzáférés határozni. Nem mindig egyszerű a hozzárendelést elvégezni. Ez a módszer mindenképpen gyorsítja az adatelérést, de nehéz a szervezés és sokszor fölösleges helyfoglalással jár. Sokszor a két elérést kombinálják: az adat helyét egy nagyobb területre korlátozzák (direkt hozzáférés), majd ezen belül sorosan, vagy szekvenciálisan keresik ki az adatot.
3.2. Számrendszerek A számrendszerek közül a kettes (bináris bináris) és a tizenhatos bináris (hexadecimális hexadecimális) számrendszer bír kiemelkedő fontossággal a hexadecimális számítógépek világában. A mai számítógépek a Neumann-elveknek megfelelően bináris kódolást használnak. Ezt a legkönnyebb megvalósítani elektronikai szempontból. A hexadecimális számrendszer könnyen átalakítható kettessé és viszont, és ebben felírva a számok sokkal rövidebbek. Alapismeretek: A kettes számrendszerben használható számjegyek: 0, 1 Helyiértékei: 2 hatványai. A 16-os számrendszerben használható számjegyek: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Helyiértékei: 16 hatványai Általánosan: "p" helyiértéken ábrázolható legnagyobb szám 2p-1, ill. 16p-1 , "x" helyiértéken felírható összes szám 2x,ill. 16x db. Átszámítás egyik számrendszerből a másikba: a) 1010-ből 22-be, és 22-ből 1010-be! Számoljuk át a 201-et! Feladat: Megoldás: A feladatot ún. maradékos osztással oldjuk meg! Az eljárás lényege, hogy a számrendszer alapszámával, 2-vel osztjuk a számot, a maradékot leírjuk. Addig ismételjük az eljárást, amíg megkapjuk az utolsó maradékot. 201| 100|1 50|0 25|0 12|1 6|0 3|0 1|1 0|1 43
I. Információ-technológiai alapismeretek A kettes számrendszerbeli számot úgy kapjuk meg, hogy a maradékokat fordított sorrendben, hátulról előre felé haladva leírjuk. Ellenőrizzük le a számítás helyességét! 110010012 Mennyi a tízes számrendszerben? Helyiérték táblázat: 27=128 26=64 25=32 24=16 1 1*128 128+ Feladat:
1 1*64 64+
0 0*32 0+
0 0*16 0+
23=8
22=4
21=2
20=1
1 1*8 8+
0 0*4 0+
0 0*2 0+
1 1*1 1=
201
Számítsuk át tízes számrendszerbeli számokra! 111010102 10001112
Megoldás: Egy szám valódi értékét megkaphatjuk a helyiérték, és a helyiértéken található értékek szorzatainak összegeként, ahogyan az előző feladat ellenőrzés részében láthattuk! b) 1010-ből 1616-ba, és 1616-ból 1010-be! Feladat: Számítsuk át a 23210-et! Megoldás: Most is maradékos osztást végzünk! 23210| 1450|A 90|A 5|A 0|5 5AAA16 Ellenőrizzük le! Helyiérték táblázat: 163=4096 162=256 161=16 5 5*4096 20480+ Feladat:
A 10*256 2560+
A 10*16 160+
160=1 A 10*1 10=
23210
Számítsuk át 16-ból 10-be a következő számokat! 2AFD16, BCE216
Megoldás: Teljesen analóg az előzővel! c) Átszámítás 22-ből 1616-ba, és viszont! A két számrendszerből közvetlenül számolhatunk át egymásba a 10-es számrendszer érintése nélkül. Figyeljük meg a következő szabályosságot! 44
3. Adatábrázolás, számrendszerek 2 0000 0001 0010 0011
16 0 1 2 3
2 0100 0101 0110 0111
16 4 5 6 7
2 1000 1001 1010 1011
16 8 9 A B
2 1100 1101 1110 1111
16 C D E F
Négyes csoportokra bontva a kettes számrendszerbeli számot közvetlenül átírhatjuk tizenhatosba, és viszont. Feladat: Írjuk át a következő számot 16-os számrendszerbe! 1101 0101 0100 11002 Használjuk az előző táblázatot! D 5 4 C Az ellenőrzés is egyértelmű! Ebből az utolsó feladatból látszik, hogy miért használják a számítástechnikában a 16-os számrendszert is. Óriási előnye, hogy pillanatok alatt átszámítható a 16-osban megadott szám a 2-esbe. Az emberek számára általában a 2-es számrendszer használata idegen, nehézkes. Viszont a 16-ossal könnyen elboldogulnak.
Megoldás:
Törtszámok ábrázolása kettes számrendszerben A "kettedes" törtek ábrázolása tulajdonképpen következik az eddigiekből. A "kettedes" vessző utáni helyiértékek 2 negatív hatványai. 0 ,
0
1
1
0
1
0
12
2- 2- 2- 2- 2- 2- 21
2
3
4
5
6
7
Nézzük az átváltást: 0,01101012 = 0*2-1 +1*2-2 +1*2-3 +0*2-4 +1*2-5 +0*2-6 +1*2-7=0,4140625 Egyszerűbben felírva: 0,01101012 =0,25+0,125+0,03125+0,0078125=0,4140625 Tizedes tört átváltásakor az egész részt a fentebb tanultak szerint kell átváltani binárisba. A törtrész különválasztva a következő szabály szerint váltjuk át: A számot szorozzuk kettővel, az egész részét írjuk ki, a törtrészével folytatjuk a műveletet addig, amíg a törtrész nulla nem lesz, vagy amíg el nem értük a kellő számú "kettedes"-jegyet. Nézzük a példát!
45
I. Információ-technológiai alapismeretek
0,4140625 0,4140625 szorozva kettővel 0,828125, egészrésze 0
0,828125 0 1,65625 1
0,828125 szorozva kettővel 1,65625, egészrésze 1
1,3125 1
0,65625 szorozva kettővel 1,3125, egészrésze 1 0,3125 szorozva kettővel 0,625, egészrésze 0
0,625 0
0,625 szorozva kettővel 1,25, egészrésze 1
1,25 1
0,25 szorozva kettővel 0,5, egészrésze 0
0,5 0
0,5 szorozva kettővel 1, egészrésze 1
1 1 0
Az egész részeket felülről lefelé haladva kell a "kettedes" vessző után írni:
0,4140625=0,01101012 Alapműveletek Összeadás kettes számrendszerben A kettes számrendszerben az összeadáshoz csak néhány műveleti szabályt kell ismerni, sokkal kevesebbet, mint bármely más számrendszerben.
02 12 12 12
+02 +02 +12 +12
=02 =02 +12 =12 =102 +12 =112
E szabályok alkalmazására nézzünk egy újabb példát:
1
46
1
0
0
1
1
02
1
0
0
1
1
12
0
0
1
1
0
12
3. Adatábrázolás, számrendszerek Szokás szerint balról jobbra haladunk. A 0. biten 02 +12 =12 nincs átvitel, mert az eredmény egyjegyű. Az első biten 12 +12 =102 átvitel 1, a következő bitre.
47
I. Információ-technológiai alapismeretek A második biten 12 +12 +12 =112 a harmadik egyes, az előző bitről lett áthozva, az átvitel 1. A harmadik biten 02 +02 +12 =1, nincs átvitel. A negyedik biten 02 +02 =02 nincs átvitel. Az ötödik biten 12 +12 =102, ahol mind a két számjegyet le kell írni, mivel elfogytak az összeadandók. Szorzás kettes számrendszerben A többjegyű számok szorzását gyakorlatilag ugyanúgy kell elvégezni, mint a tízes számrendszerben, azonban mivel csak 0 és 1 létezik, vagy nulla az eredmény, vagy az eredeti számot kell leírni. Nézzük a példát! 1
0
12
0
0
0
1
0
1
1
0
1
1
1
1
1
*
1
1
02
02
A részsorok összeadásához a már megismert módszert kell követni! Negatív számok ábrázolása ábrázolása kettes számrendszerben A számítógép előjeles számok ábrázolására az ún. kettes komplemens képzést használja. Az előjel a legelső biten jelenik meg, ez "elvész " a számábrázolás számára. 0 a pozitív, 1 a negatív előjel bit. Legegyszerűbb lenne, ha a pozitív megfelelőben az előjelet kicserélve képeznénk a negatív számot. Ez a módszer azonban nem jó. Helyette használatos a fentebb említett kettes komplemens. A kettes komplemens működéséhez nézzük meg "ugyanezt" tízesben először. Tegyük fel, hogy csak egy számjegyet használunk.
8
8
-3
7
5
1
5
Majdnem ugyanaz az eredmény a második esetben is, de nem kell tudni kivonni hozzá. Persze kérdés, hogy a 15-ben az egyessel mi lesz. Azt mondjuk túlcsordult. Az ötlet tehát az, hogy a negatív számhoz adjuk hozzá a legnagyobb ábrázolható számot (9) és még egyet (9+1=10). 48
3. Adatábrázolás, számrendszerek Ez a szám a jótékony túlcsordulás miatt pont úgy viselkedik, mint a negatív szám. Sajnos a kettes komplemensben adódnak még némi problémák, de az elv ugyanaz. Nézzük hogyan kell kettes komplemensben ábrázolni a számokat! Példáinkban nyolc bitet használunk, azaz az első bit az előjel és 7 bit marad a számábrázolásra. Ilyen módon a legnagyobb pozitív szám 127, a nullánál nagyobb számoknál csak annyi a feladat, hogy eléírjuk a 0 előjel bitet. Pl.: 115=011100112 A negatív számok felírása kicsit bonyolultabb. Három módszert is mutatunk. Próbáljuk ki őket a -115-tel. I. módszer (Ez nem más, mint amit a tízes számrendszerben csináltunk.): A legnagyobb ábrázolható pozitív szám a 127. Plusz 1-et adjunk hozzá, a -115-höz. Az eredmény 13. Ez binárisban: 0001101, eléírva az 1-es előjel bitet a következő lesz: -115=100011012 II. módszer: Először írjuk fel a szám abszolút értékét binárisan! 011100112 Váltsuk át az összes bitet ellenkezőjére, azaz az egyeseket nullára, a nullákat egyesre! 100011002 Adjunk hozzá egyet a számhoz! 100011012 III. módszer: Először írjuk fel a szám abszolút értékét binárisan!. 011100112 Jobbról indulva az első 1-ig (az 1 is) hagyjuk változatlanul, a többit pedig váltsuk ellenkezőjére.! 100011012 Mindhárom módszer ugyanazt az eredményt adja. Próbáljuk ki, hogy ez a szám valóban úgy viselkedik, mintha negatív lenne. (Például adjuk hozzá a 115-höz. Az eredmény valóban nulla lesz.) Ha látunk egy kettes komplemens számot hogyan alakíthatjuk át tízes számrendszerbe? Ha az előjel bitje nulla, tehát a szám pozitív a már ismert módszert alkalmazhatjuk a maradék hét bitre. Ha azonban az előjel bit 1, vagyis a szám negatív az átváltás nem ennyire egyszerű. Tulajdonképpen a fenti három módszer visszafelé eljátszásával próbálkozhatunk. (A harmadik módszert nem lehet megfordítani csak az első kettőt!) 1. Válasszuk le az előjel bitet és vonjunk ki a számból egyet. 2. Vonjuk ki a kapott számot 128-ból, így megkapjuk a negatív számunk abszolút értékét. 49