Bitszelet technika

A Wikipédiából, a szabad enciklopédiából

A bitszelet technika (angolul: bit slicing vagy bit slice technique) egy a mikroelektronikában alkalmazott módszer v. technika, amelyet különféle mikroprocesszorok és vezérlőeszközök előre gyártott elemekből való megépítésére használnak. Ennek során az eszközt viszonylag kis bitszélességű – tipikusan 4, de 1, 2 vagy akár 8 bites is lehetséges – modulok összekapcsolásával építik fel. Minden egyes modul ill. összetevő a feldolgozandó adat (operandus) egy meghatározott bitmezőjét dolgozza fel, innen ered a „bitszelet” kifejezés (a bitszeletet nem úgy kell érteni, hogy „egy bitet részekre vágunk”, hanem mint „néhány bitből álló szelet”). A részegységek úgy vannak kialakítva, hogy meghatározott módon összekapcsolhatók legyenek, és az összekapcsolt elemek képesek legyenek az elemi bithossz egész számú többszörösét feldolgozni, tehát a végső, kész eszköz a teljes szóhosszon legyen képes műveleteket végezni. Így például 4 bites elemekből 16, 32, esetleg 64 bites processzor is építhető.

Egy bitszelet-technikával felépített eszköz legalább két fő elemből áll, melyekből az egyik a mikroszekvenszer (mikroprogram-vezérlő), a másik az ALU-t és a regisztereket tartalmazó egység. Mikroprocesszorok esetén az azonos felépítésű bitszelet-processzorok – kis szóhosszúságú feldolgozó egységek – szinte tetszőleges szóhosszúságú processzorrá kapcsolhatók össze (bár az összekapcsolható elemek számának technológiai korlátai vannak, így a gyakorlatban ez a szám általában 2–4 körül marad). A szekvenszerhez kapcsolódik a mikroprogramtároló, amely az eszköz működését vezérlő utasítások vezérlő kódját tartalmazza.

Felépítés, működés[szerkesztés | forrásszöveg szerkesztése]

A bitszelet-processzorok általában kis bithosszúságú processzorok; 1, 2, 4, vagy 8 bites ALU egységből és a vezérlő vonalakból állnak, amelyekhez hozzátartoznak az átvitel- és túlcsordulásbit vezérlőjelek is, amik a nem-bitszelet szervezésű processzoroknál általában csak belső szignálok. Maga az egység lehet pl. egy 2 bites teljes összeadó, amiből négyet összekapcsolva egy 8 bites összeadóegység építhető, amelynek kimenetén megjelenik a túlcsordulásbit is.

Hasonlóképpen, a 4 bites ALU-k is egymáshoz kapcsolhatóak adat- és vezérlővonalaikkal, úgy, hogy egy 8 bites CPU-t alkossanak, így négy ilyen szelettel már egy 16 bites CPU építhető, vagy nyolc 4 bites szelettel egy 32 bites CPU – a tervező különböző szóhosszakat alakíthat ki a szükséges számú szelettel.

A vezérlő logika végrehajtását mikroszekvenszer vagy vezérlő ROM végezheti, ezek állítják elő és bocsátják ki azokat az adatokat és vezérlőjeleket, amelyek az összetevő ALU-k működését szabályozzák.

Bitszelet mikroprocesszorok kialakításához számos cég gyártott áramköröket, ilyenek összeállíthatók az Intel 3000, az AMD Am2900 áramkörcsaládok elemeivel, továbbá a National Semiconductor IMP-16 és IMP-8, valamint a 74181-es IC-család tagjaival.

Kialakulása[szerkesztés | forrásszöveg szerkesztése]

A bitszelet technika már az integrált áramkörök megjelenése előtt is ismert volt, bár akkor még nem így hívták. Az első bitszelet-technikával készült gép az EDSAC 2 volt, amelyet a Cambridge-i Egyetem Matematikai Laboratóriumában készítettek 1956–58-ban.

A modern számítógépek megjelenése előtt, kb. az 1970-es évek közepétől az 1980-as évek végéig, sok vita folyt arról a kérdésről, hogy egy adott számítógéprendszerben milyen bitszélességűnek kell lennie a sínrendszernek a megfelelő működéshez. A szilíciumcsipes technológia integráltsági foka ebben az időben nem tette lehetővé a néhány ezernél több tranzisztor egy lapkára való helyezését és az ilyen részegységek sokkal drágábbak is voltak akkoriban, mint ma. A számítási teljesítmény többféleképpen növelhető, de ennek a legolcsóbb módját a sok egyszerű és olcsó ALU használata kínálta. A 32 bites technológia 1980-as megjelenését sok vita előzte meg, de még ezután is évekig kevés ilyen processzor készült.

Ebben az időben már elterjedtek a 16 bites processzorok, de drágák voltak, és a 8 bites processzorokat, mint amilyen a Z80 is, széles körben alkalmazták a számítógépes piacon.

Kialakulásának egyik oka a korabeli technológia fejlődési szintje és az igények közötti eltérés volt: az integrált áramkörös technológia számos feladatra kínált megoldást, azonban ezek költségei általában igen magasak voltak kisebb szériáknál; a nem szokványos eszközöket nem érte meg legyártatni. Az igények szélesebb körben jelentkeztek, mint amit a fix utasításkészletű, 100 – 200 ns-os utasításvégrehajtási ciklusidejű MOS technológiájú mikroprocesszorokkal meg lehetett oldani. Bonyolultabb kialakítások esetén a huzalozott logikájú, logikai kapukból és flip-flopokból felépített áramkörök már nem alkalmazhatók gazdaságosan; ezeknél egy kisebb változtatás is akár az egész hardver áttervezésével járhat, a moduláris kialakításnak nem voltak bevált technikái, amik ennek híján csak nagymértékű redundanciával voltak megvalósíthatók. Ezek a kényszerek vezettek egy jobb technológiai megoldás kereséséhez, így a bitszelet-technika megjelenéséhez.[1]

A bitszelet-technikának igen sok előnye volt: a komponensek kombinálásával lehetővé tette a monolitikus integrált áramköröknél olcsóbb termékek készítését, ezeket mérnökök vagy tanulók is megtervezhették, és egyedi igényekhez voltak alkalmazhatók, azaz tetszőleges feladat megoldását tették lehetővé sorozatban gyártott, „gyári” alkatrészek felhasználásával.

A bitszelet-technika egyik alkalmazási területe a mikroprocesszorok felépítése volt, ahol nagy elmaradás mutatkozott a szoftver-ellátottság területén. Ez a technika lehetővé tette a sokkal nagyobb szoftveres támogatással rendelkező miniszámítógépek processzorainak, pl. a PDP–11 központi egységének, emulálását is, ami által a szoftverprobléma egy része megoldódni látszott.[1]

Az új számítógépes architektúrák bonyolultsága azzal is csökkenthető volt, hogy az ALU-k már eleve bejáratott, specifikált (és hibamentes) módszertan szerint készültek.

A 60-as és 80-as évek közötti időben a technika további előnye az volt, hogy gazdaságilag lehetővé tette a kisebb processzorokban a bipoláris tranzisztorok használatát, amelyek sokkal gyorsabban kapcsoltak, mint az NMOS vagy CMOS tranzisztorok. Ezáltal magasabb órajel volt elérhető, a nagy sebességet igénylő alkalmazások számára; pl. digitális jelfeldolgozási feladatokhoz, mátrix-transzformációkhoz vagy mint az 1973-as Xerox Alto gépben, a sebesség és rugalmasság kombinációjához, még mielőtt a diszkrét CPU-k képesek lettek volna ilyen teljesítményt nyújtani.

A bitszelet technikával felépített mikroprocesszorok általában mikroprogramozott vezérlést tartalmaztak, bár ez nem törvényszerű; a mikroprogramozott vezérlés megjelenését a célszerűség és az ALU-nak és regisztereinek külön csipen való megjelenése kényszerítette ki[2] – a mikroprogramozás és a bitszelet technika két különböző koncepció.[3]

A bitszelet technikával készülő eszközök ezen felül két fő csoportra oszthatók: az állandó utasításkészletű, mikroprogramozott mikroprocesszorokra, és a sokkal rugalmasabb, gyakran rögzített felhasználói utasításkészlettel nem rendelkező vezérlőáramkörökre: ezeknél a vezérlést csak mikroprogram szintjén valósították meg, nem volt szükség ezen felüli utasításkészletre, az eszköz tulajdonságai a mikroprogram cseréjével is gyökeresen megváltoztathatók, bár ennek a költségei nagyobbak.[2]

Főbb gyártók[szerkesztés | forrásszöveg szerkesztése]

Néhány fontosabb bitszelet csipkészlet-típus:

Advanced Micro Devices Am 2900 sorozat
Intel I 3000 sorozat
Fairchild Semiconductor MACROLOGIC (9400-as) sorozat
Motorola MC10800
Signetics 8X02
Texas Instruments SN74S481, 482
Texas Instruments SBPO400
Monolithic Memories MM 5700/6700 sorozat

Forrás:[4]

Modern értelmezés[szerkesztés | forrásszöveg szerkesztése]

A múlt század végén a bitszelet-technikának újabb értelmezése is megjelent: Matthew Kwan megfogalmazásában[5] ez az általános célú CPU-kon belüli programszervezésre vonatkozik, amelyben több párhuzamos működésű, egyszerű virtuális gépet valósítanak meg elemi logikai utasításokkal. Ez a technika SWAR, SIMD within a register néven is ismert, avagy mint regiszteren belüli SIMD. Első megjelenése Eli Biham 1997-es Új, gyors szoftveres DES implementáció (A Fast New DES Implementation in Software) c. cikkére való hivatkozásban található.[6]

Jegyzetek[szerkesztés | forrásszöveg szerkesztése]

  1. ^ a b Saufert János. Bitszelet mikroprocesszorok, Dr. Nagy Istvánné (szerkesztő), Dr. Kovács Magdolna, Dr. Héjjas István (lektor) (magyar nyelven), Budapest: KG-Informatik, 41. o (1980) 
  2. ^ a b Saufert János. Bitszelet mikroprocesszorok, Dr. Nagy Istvánné (szerkesztő), Dr. Kovács Magdolna, Dr. Héjjas István (lektor) (magyar nyelven), Budapest: KG-Informatik, 43. o (1980) 
  3. Introduction, ED2900A / INTRODUCTION TO DESIGNING WITH THE Am2900 FAMILY OF MICROPROGRAMMABLE BIPOLAR DEVICES (PDF), 3. (angol nyelven), AMD, 16. o (1985. január 1.) 
  4. Saufert János. Bitszelet mikroprocesszorok, Dr. Nagy Istvánné (szerkesztő), Dr. Kovács Magdolna, Dr. Héjjas István (lektor) (magyar nyelven), Budapest: KG-Informatik, 45. o (1980) 
  5. http://www.darkside.com.au/bitslice/
  6. Eli Biham (1997.). „A Fast New DES Implementation in Software”.  

Források[szerkesztés | forrásszöveg szerkesztése]

További információk[szerkesztés | forrásszöveg szerkesztése]

Kapcsolódó szócikkek[szerkesztés | forrásszöveg szerkesztése]

Elmélet:

Gyakorlat: