INFORMATICA 3/1980 OS N U T E K BIPOLARNEGA MIKROPROCESORJA UDK: 681.3.06 G. BREZNIK, M. GERKES, M. DRU2OVEC, V. 2UMER VISOKA TEHNIŠKA ŠOLA MARIBOR. VTO ELEKTROTEHNIKA 62000 MARIBOR, Smetanova 17 V članku opisujemo izvedbo 16-bitnega bipolarnega mikroprocesorja z elementi družine 2400. 1'rocesor itna paralelno 2x8 bitno zgradbo in je s tem univerzalen za vse standardne formate, ki so kodirani v dvojiškem komplementu. Sistem je izveden mlkroprogramsko s horizontalno zgradbo mikroinstrukcije. Pri razvoju in testiranju mikroprogrdmov je kot vhodno-lzhodna enota uporabljen host-računalnik. Razvit je simbolični zapis za mikroprograme. Izdelani sr> mikropro- grami za izvajanje osnovnih tnatematičnih funkcij za stalno in za premično vejico. Kot zgled dajemo množenje dveh 16- bitnih števil. THE DESIGN.OK A BIPOLAH MICROPROCESSOR: The article describes a 16-bit bipolar microprocessor with 2<>00 family elements. The processor has a parallel 2 x 8-bit construction and is thus universal for all standard-format data coded in the two's cornplement. liie system has a horizontal microinstruction. By development and testing procedures an host- computer vvns used. Developed vvere microprogrammes for basic mathematical functions with fixed~ and lloating-point using a symbol record. The example shows multiplication of two 16-bit numbers. UVOD Glavna in bistvena razlika med običajnimi mikroproce- sorji in bipolarnimi (mikroprorirarniranimi) mikropro- cesorji je v arhitekturi. l'ri običajnih mikroprocesorjih so funkcije za procesiranje podatkov in za krmiljenje v enem čipu, medtem ko je to pri bipolarnem mikroproce- sorju izvedeno z več čipi. Razlika je tudi v tem, da ima- jo običajni mikroprocesorji vnaprej definirano in stalno dolžino besede, prav tako arhitekturo in nabor ukazov. Bipolarni mikroprocesorji omogočajo poljubno arhltektu- ro in dolžino besede. Frojektant mora pri delu z bipolar- nimi mikroprocesorji poznati tako hardware kot software, kar ima za posledico težje in dolgotrajnejšo delo. Tudi mikroukazi, ki se tu uporabljajo, so bolj zamotani kot ukazi na običajnem mikroračunalniškem nivoju ali na ni- voju zbirnega jezika. liipolarni mikroprocesorji uspešno nadomeščajo klasična digitalna vezja, posebno če naj lo-ta opravljajo zahtev- nejše naloge. Z njimi učinkovito rešujemo procesiranje podatkov tudi po zapletenih algoritmih. Tako n.pr. lahko s 16-bitno verzijo mikroprogramiranega sistema dobi- mo rezultat množenja, deljenja, seštevanja ali odsteva- nja v plavajoči vejici (kjer je mantisa 24 bitna in ekspo- nent 8 biten) v manj kot 15 us, elementarne funkcije pa hitreje od 100 ns. ZGRADBA Za procesno enoto smo uporabili štiri bipolarne mikro- procesorje 2901. Ti vsebujejo aritmetično in logično eno- Slika 1 49 to, enoto za pornil^, pomikalni register in 16 naslovni RAM (delovni registri) z dvema izhodoma A in B, Procesna enota je !zgrajena, da lahko izvaja operaclje s šestnajst bitnitni in z dvaintrldeset bitnimi operandi, ka- kor tudi z operandi, ki so kodirani v premični vejici in imajo šttriindvajset bltov za mantiso in osem bitov za eksponent. Vidimo, da lahko operaclje s šestnajst in z dvaintride- set bitnlmi operandl Izvajamo brez večjih težav. Orga- nizacija v premičril vejici pa zahteva izvajanje v dveh delih. Najprej izvajamo operacije s šestnajstiml biti operandov z nižjo utežjo, nato pa še z osmimi biti ope- randov z višjo utežjo ter z eksponentom. Zato moramo definirati kdaj uporabimo šestnajst bitno konfiguracijo procesne enote dvakrat po osem bitov ali šestnajst- bitno. To definiramos posebnim krmilnim bitom. Sli- ka 1 prlkazuje povezavo procesorjev za izvajanje ari- tmetičnih operacij. Povezava prenosnih bitov med pro- cesorji je izved€}na z dvema "carry look ahead" gene- ratorjema. Kadar sistem ni.razdeljen na dva dela, uporabljamo prvi "carry look ahead" generator za vse štiri mikro- procesorje. Kaaar pa uporabljamo obe procesni enoti lo- čeni, služi prvi ."carry look ahead" generator prvemu in drugemu mikroprocesorju (mantisa) , drugi "carry look ahead" generator pa tretjomu in četrtemu mikroprocc- sorju (eksponent). Prenos v mikroprocesor 1 je izvedon preko multiplekserja (MUX 4), ki nam daje inožnost, 1 v M « •"X 7«. io •J '—1 -c — 0 D KRMILNA KNOTA Krmilno enotp (slika 3) sestavljajo sekvencer za mikroprocjrame 2909, krmilnik |x>cjojnili skokov 29803, multiplekser za izbiro pogojnili bitov, števec iteracij in mikroprocjramski pomnilnik z vmosnim registrom. Na- vedena vezja omogočajo izvajanje naslednjih funkcij: 1. povečevanje mikroprogramskecja števca za ena 2. skok na poljubni naslov (nepogojni skok) 3. izvajanje pogojnih skokov 4. krmiljenje zanke 5. skok v mikrosubroutino (mož.na je vgnezditev do glo- bine4). POVEZAVA MIKROPROGRAMIRANKGA SISTICMA Z OKOIJCO Do sedaj opisani mikroprogramiranl rnikroprocesor je neprimeren za komunikacijo z okolico. V našem prime- ru smo si omogočili dostop vanj s pomočjo mikroraču- nalnika ISKRA DA.TA 1680. Narejeni sta dve povoznvi. l^rva povezava (slika 4) 'oino- goča preko dveh perifernili povezovalnlkov (MC 6820) vnašanje mikroprocjramov v niikroprogramski ponuiilnik. Preko druge povezave, ki jo sheinatsko prikazaiin na sli- ki 5, laliko mikroračuiialiiik prena.ša o|K!raiido •/. mikro- programiratiiin sistcmom in zalitova izv.ijanjo di)loccii(K|a mikroprograrna. Na inlkroračunalnlku jo uarojona pro- gramska podpora, ki uavulozuo tieposreduo love/.ujo upo- rabnika ob tcleprintcrju •/. iiiikiopro(|rainiraniin sisteinom. Tu itnamo |iet inonitorskili ukazov: - R |x>stavitev niiki^oprocjramiranoga niikroproc-esorja v začetno stanje - Vx omogoča vpis niikro ukaza na naslov x v mikro- protjramskem poiniiilniku - Sx sproži izvajanjo niikroprogramn, ki ima začotni naslov na x - Nx omogoi5a vpis operandov v recjistre z začetnim na- slovoin x 50 .\'A7 5/1 •lill": /•-'.'.-,' :,«;:) i f u M ."• -•_-" F- 1 C I> il !• ^2 Slika 3 IIHIJS 7.A, MfjSlAVlJAHJS f\AM-r>v f/A I'M PlA Hl WF)-£h BUfFlK UNI3E Z VPI5 ViCB/r. [ V fiAM Slika 4 [ ISKRA DATA 1680 I ) PODATKOVHO 7 IZUELAVA MlKHOPliOGRAMOV Mikroprocjrami so sestavljeni iz mikro nkazov. Kormat mikro ukaza je navoden v tabeli 11, kjer dajomo pomen posameznih skii|iin bitov. Slika 5 I |iovzro£i izpis vsoh 16 registrov mikro|iroyranii- ranerja mikroprocesorjn biti v mikro ukazu 1 - ') 10 - 18 19-22 2\\ - 26 določajo o|ioracljo izbira fimkcije mikroprocesorjev :i in 4 izbira funkclje mikro|)rocosorjev 1 in 2 naslavljanje A lzlioda liAM-a v mikroprocesorju niikroprog.sist. nasl.ivljnnjo 11 izhoda RAM-a v mikroproccsorju 51 biti v mikro ukazu 27 - 31 32 - 33 34 - 35 36-43 44-48 50-55 56-57 . 58 določajo operacije izbira vrste pomika določanje prenosnega bita za aritmetične operacije povezava mikroprocesorjev (2x8 bltov ali 16 bitov) naslov za skok izbira funkcije krmilne enote izbira testa za pogojni skok krmiljenje števca iteracij zaustavljanje ure Tabela II V tabeli III je prikazan primer mikroprograma za mno- ženje dveh šestnajstbltnih števil. •V5 5 MN0ZENJE DVEH 16 BITNIH STEVIL eBEeecBi IMCMBBI leooeoeei! 11 ieeeeeeeccetxecoeeiBCEeEBee0i *V6 10010001ileuieeeileeeeee10111leecGEBdecceflsepBeioiseaeeciei • V7 I^BBBBBI110000001100000010111leEeBoaeeooeeeoeEiioieeeai 111 •us 10000001110000001100000010011i0K000e0ei0ae0i10110100001111 *V9 100B0001ii00B0B0ii000000ieeiii0GB000eii0000ii0ni000e000i0i *UA • »0000000110000020100000010011lBECEEBOfiI00e0110110100K01111 *VB I0B00100 1 l00eO!B0l0C0C0B1081110ElCCEei 100001 I 00 1 00BBE00 I 0 I • VC 0110000100I 10000106000000 1 I II10000000000000 1100 10000000 101 Tabela III ZAKLJUČEK V članku smo zapisali osnovne značilncistl bipolarnega mikroprocesorja, ki smo ga realizirali z namenom, da ga priključimo kot pomožni - periferni procesor k mi- kroračunalniku. Materialna oprema je narejena dovolj univerzalno, da lahko tak mikroprocesor uporabimo tu- di kot samostojen procesor. Glede na namen takšnega procesorja je potrebno razviti ustrezne mikroprograme. LITERATURA ' 1. M68OO MICROPROCESSOR APPLICATIN MANUAL 2. IDM 2900 FAMILY MICROPROCESSOR DATABOOK (NATIONAL SEMICONDUCTOR) 3. THE TTL DATA BOGK FOR DESIGN ENGINEERS (TEXAS INSTRUMENTS) Ker je tak način podajanja mikroprograma nepregleden, smo izdelali zapis (tabela IV), ki je v pomoč progra- merju. Takšen zapis skupaj z diagramom poteka (slika 6) nazorno prikazuje algorltem mikroprograma. Presli- kava s simboličnega zapisa v binarni zapis je enolična in jo je tnogoče enostavno opraviti ročno ali z računal- nikom. ;V5- HAH X - Qruc , U -• ŠTIT , V6- (0 -.'liAH 2)/2 , OL-3V: /2, . V7- TEOT (.:i:0^,HTIT), i'1'll'tl, VS-(T,'AK 2 , 0 - 1!AM 2)/2 , Qrei;;/2 , .•,'i'IT+J, •K V9-0UM ?. * 0 * SAH 2)/2, skok na 7C, VA-(n,\n 2 + ;!«•: i - SAH ,?)/2, OTO;;/S ,5'L'I-T.I , VB-CHAH S - HA;-; I » UAM 2)/2 , Okok na VC V0- ijrnc - IIAI-1 I , sko!- :ia.O, Tabela IV i'!::i'P(r:.:o:-, v okleDnjih r.o vrednosti stanja (i-i::o:,.:TIT) Slika 6 4. LOW POWliR SCHOTTKY DATA BOOK (FAIRCHAILD) 5. SUPPLEMENT TO THE TTL DATA BOOK FOR DESIGN ENGINEERS (TEXAS INSTRUMENTS) 6. NIKITAS A.ALEXANDRIDIS-B1T-SUCED MICRO- PROCESSOR ARCHITECTURE , ComputerVI. 1978 7. NAVODILA ZA UPORABO IN PRIPRAVO SISTEMA ISKRA DATA 1680 8. M. Družovec: PERIFERNA ARITMETIČNA ENOTA - predlog komunikacije in krmiljenja, ISEMEC 1980, str. C/l - 1 9. M. Gerkeš: PROBLEMSKO ORIENTIRANE STRUKTURE PROCESNIH ENOT, raz. nal. VTŠ 1980 10. V. Žumer: RAČUNALNIK, VTŠ 1980