Ugrás a tartalomhoz

Bitszelet technika

Ellenőrzött
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 vagy technika, melyet 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ő, sorrendvezé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 mikroprogram-tároló, mely 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.

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ás-vé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 flipflopokbó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]

Texas Instruments gyártmányú 4 bites 74x481 kaszkád-kapcsolatba építhető ALU csip

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

Advanced Micro DevicesAm 2900 sorozat, 4 bites
IntelIntel 3000 sorozat, 2 bites
Fairchild SemiconductorMACROLOGIC (9400-as) sorozat
MotorolaMC10800
Signetics8X02, 2 bites
Texas InstrumentsSN74S481, SN74S482
Texas InstrumentsSBP0400
Monolithic MemoriesMM 5700/6700 sorozat

Forrás:[4]

Szoftveres használat nem bitszelet-technológiájú hardveren

[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]

Bitszeletes szupravezető számítógépek

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

2016-ban Japánban bemutattak egy 4 bites bitszeletes technológiával felépített aritmetikai logikai egységet (ALU) 32 bites, gyors, egyfluxusos kvantum (RSFQ),[7] mikroprocesszorokhoz, amely egy 50 GHz-es órajelű szupravezető számítógépegységben került megvalósításra. A bemutatott ALU lefedi az MIPS32 utasításkészlet összes ALU műveletét. A feldolgozott szóméret 32 bites, amelyet az egység 4 bites szeletekben dolgoz fel, így a szó nyolc 4 bites szeletre van osztva. A bitszeletes megközelítés leegyszerűsíti az áramköri struktúrát és csökkenti a hardverköltségeket.[8] Az egységet a japán Nemzeti Fejlett Ipartudományi és Technológiai Intézet (National Institute of Advanced Industrial Science and Technology) keretein belül gyártották.

  1. 1 2 Saufert János (1980). Bitszelet mikroprocesszorok (magyar nyelven). Dr. Nagy Istvánné (szerkesztő), Dr. Kovács Magdolna, Dr. Héjjas István (lektor). Budapest: KG-Informatik. 41. o.
  2. 1 2 Saufert János (1980). Bitszelet mikroprocesszorok (magyar nyelven). Dr. Nagy Istvánné (szerkesztő), Dr. Kovács Magdolna, Dr. Héjjas István (lektor). Budapest: KG-Informatik. 43. o.
  3. ↑ "Introduction". ED2900A / INTRODUCTION TO DESIGNING WITH THE Am2900 FAMILY OF MICROPROGRAMMABLE BIPOLAR DEVICES (PDF) (angol nyelven) (3. ed.). AMD. 1985. január 1. 16. o.
  4. ↑ Saufert János (1980). Bitszelet mikroprocesszorok (magyar nyelven). Dr. Nagy Istvánné (szerkesztő), Dr. Kovács Magdolna, Dr. Héjjas István (lektor). Budapest: KG-Informatik. 45. o.
  5. ↑ http://www.darkside.com.au/bitslice/
  6. ↑ Eli Biham (1997). "A Fast New DES Implementation in Software". 2017. november 7. dátummal az eredeti címről archiválva. Hozzáférés: 2013. október 21. {{cite journal}}: Cite journal requires |journal= (súgó)
  7. ↑ RSFQ: rapid single-flux-quantum, jelzőként
  8. ↑ Guang-Ming Tang (2016. január) [2015-12-09]. "4-bit Bit-Slice Arithmetic Logic Unit for 32-bit RSFQ Microprocessors". IEEE Transactions on Applied Superconductivity. 26 (1) 2507125. Bibcode:2016ITAS...2607125T. doi:10.1109/TASC.2015.2507125. S2CID 25478156. 1300106. […] 4-bit bit-slice arithmetic logic unit (ALU) for 32-bit rapid single-flux-quantum microprocessors was demonstrated. The proposed ALU covers all of the ALU operations for the MIPS32 instruction set. […] It consists of 3481 Josephson junctions with an area of 3.09 × 1.66 mm2. It achieved the target frequency of 50 GHz and a latency of 524 ps for a 32-bit operation, at the designed DC bias voltage of 2.5 mV […] Another 8-bit parallel ALU has been designed and fabricated with target processing frequency of 30 GHz […] To achieve comparable performance to CMOS parallel microprocessors operating at 2–3 GHz, 4-bit bit-slice processing should be performed with a clock frequency of several tens of gigahertz. Several bit-serial arithmetic circuits have been successfully demonstrated with high-speed clocks of above 50 GHz […] {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (súgó)

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: