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

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

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

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

Advanced Micro Devices Am 2900 sorozat, 4 bites
Intel Intel 3000 sorozat, 2 bites
Fairchild Semiconductor MACROLOGIC (9400-as) sorozat
Motorola MC10800
Signetics 8X02, 2 bites
Texas Instruments SN74S481, SN74S482
Texas Instruments SBP0400
Monolithic Memories MM 5700/6700 sorozat

Forrás:[4]

Modern értelmezés szerkesztés

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

  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”. [2017. november 7-i dátummal az eredetiből archiválva]. (Hozzáférés: 2013. október 21.)  

Források szerkesztés

További információk szerkesztés

Kapcsolódó szócikkek szerkesztés

Elmélet:

Gyakorlat: