INFORMATICA 2/1984 CENTRALNA PROCESNA ENOTA DELTA 16/B IT-SLICE UDK: 681.519.7 FRANC KOGOVSEK JO2E MATJA2, ANDREJ TREiAR, JANEZ ANDER4.E, ANDREJ DOBNIKAR, VESELKOGUSTIN, FRANC KODER, MIRAMACEK, ALOJ2 VOGEL ISKRA DELTA LJUBLJANA; FAKULTETA ZA ELEKTROTEHNIKO, UNIVERZA EDVARDA KARDELJA, LJUBLJANA Prispevek aovvri o centralno precesni enoti DELTA 16/BIT-SLICE> ki JK nsstala kot rezultat sodelovanja med Iskro-Delto in Fakulteto z& elektrotohniko v LJublJani.' To J e niikrorroarsmiran resins ki ?rocesorr ki. emulira procesor sistema PDF' 11/34. PoudarJene so le !,r-ec?i fiene lastnosti emul 3torJ3i arhitekturai moznosti razsiritev nabora instrukciJ in naifim kako izkorist-iti fleksibilnost arhi- tekture za ftaseSo bistvano • vecJe zmoalJivosti ccntrSlne procesne enotei This article d&scribes 3 central processor unit DELTA 16/BIT-SLICEi which has been developed b« Iskra-Delta in coopera- tion with Fakulteta SB wlektrotehnikc in Ljubljana. This micro- programed processor was decisned ba usins AMD 2900 series compo- nents to emulata the PDF 11/34 CPU. Onla the specific -features are emphasized! architectural the possibilities to expand the in- struction set and the description is aiven» on how to use 3ll the advantages of the flexible architecture to achive better perfor- mances of the central r-rocessor unit. UVOD DELTA 1A/BIT-SLICE Je centrslrid procesna enotp za sistem DELTA 340. To Je cnulsciJa CPE KD 11-EA? kar pomenii da sta enoti nepos- redno zamenlJivi no r,tsndcrdnih konektorjih '/ sistenskem vodilu. Arhitektura enote DELTA 16/BIT-SLICE Je zas- novsna takoi da onoaoCa prealedno in hitro tvorbo niikror*rofi!rsiTiov ;:a izvajane PolJubnih 1113k ro instrukciJ. S tern namenom Je v enoti DELTA 1A/FIT SLICE zajeto vezje sa izvedbo suspenzijei ker pomenii da se mikroproaraoi lahko r-rekine in kasneJe reaularno nadalJuJe (obravnava zshteve za prekinitev med izvaJan- Jem instrukciJoi i£vedb3 prosframa ob izklopu u::i'rome vklopu elektricne napetosti in podob- no). ZaJeto Je tudi vesJe 2a adresiranJe do- 'Jatnih 48 splofino uporabnih reaistrovt v in- strukciJskem dekaderju in v vezJu zs obravna- va pasti PE Je rezervirano POdroiJe za opera- cijske kode teh nestandardnih instrukciJ. Primeri takih instrukciJ so 12 niza 'Commer- cial Instruction Set". To Je niz instrukciJi ki tecsJo na sistemih PDP 11/44 ob uporabi dudetnesa CIS procesorJa. Proarameko in acsraturno podporo za tvorbo mikroprodrsmav sest,avlJaJo. - Macro Meta Assembler (AMDASM) z datoteko PEFENITION FILE enote DELTA 14/BIT-SLICE - Prosram za vpis v mikroproaramski pomnilnik - VpislJK1 mikroproaramski pomnilnik (WCS) s 5ifino do 120 bitov in alabino do 2K besed iri Je ri3 voljrj potencialnim uporabnikom v i--rostorih ISKRA DELTAi RasvoJ AOF GrubarJeva nabrezJe 6. OPIS ARHITEKTURE PROCESORJA DELTA 1A/BIT-SLICE Slika 1 prikanuJe hlok shemo DELTA 14/BIT-BLICE mikroproaramiraneaa procesorJar ki 33 PO funkciJskih znscilnostih razdelimo na stiri padroCJa! •- podatkovn3 vodila (DATA PATH) - mikroproaramski krmilnik (MICROPROGRAM CONTROL) - enotct za upravlJanJe s ponni lniskim prostorom (MEMORY MANAGEMENT) - vezJe za kontrolo podatkovnih prenosov (BUS CONTROL) Podatkovni del procesorja Je zasnovan na UPO- i'abi rezinskih elementov druzine AM2900. 'ritmeticri3 .loaicna enota (ALU) Je sestavlJe- ns iz itirih 4-bitnih rezin AM2903t ki Jim Je dodari carry denerator AM2902. Rezina ' AM2903 umcsoca aritmeticne in losifne operaciJe ter specialne funkcije ca mnozenJe in delJenJe. SkuffcJ z AM2904 omodofaJo rezine PomikanJe vsobine leva in desno nad sloaonif besedo in dvb.inrj dol^ino besede. Resina AM2903 vsebuJe pol«« 0 i'e od katerih Jih Je osem uf-oreblJenih kot splosno name-nski ro.rf i -j1.1'i ^'jostopni proslramer Ju ) > druSih osem ra kot, dslovni. reaistri za izvorne in ponorne l-.ot '.utli Z3 vmesne rezultate. ot-erdnd ALII-Ju lovnih necin dodatni niz 48 de- Je lahko dodari redi'itruv > ki so uporabljeni na enak ot notr.jnJi ALU reaistri. y I'H^insh ni bi.]o i.iosloce realizirsti proce- •jcrJevt; statuane besede (PSU) in in- strukciJ?k^sa registra (IR). Sestavni del PSU.-Js Je tudi AM2904i kJer so shranJene PO- 2'ijnfc kode Z3 v&ako operaciJo v ALU-Ju. 17 V VODILO cri Din 2970S BOtlt 2PORT RAM 4- AOUt *JPP PI KRMIINI «IOA MALI Bl.ika It Blok shena DELTA 16/ BIT-SLICE mikroproflrami rane.g'a procesorJa ' [Kesina AM2903 ima vee vhodnih in izhodnin liniJi ki so lahko razlieno uporabljene. .LiriiJe DA<13S0> op uporablJene kbt podatkovni vhod» na kateresla so pri'pel Jani podatki iz : '8D.<13-IO>i takoJsnJi p.odatek ii ..pipeline .registry ' (PL)r odmik iz inetrukciJskeaa reaitttra (IR)? podatekiz CIS PROM-a in poda- tek iz . 2-vhodneaa dodatnoaa RAM-a. ' LiniJe DB<15!0> so uporabljene kot podatkavni.izhqdi ki posretiUwie virtualno adreso enoti za upravlJanJe s pomni lnikom» podatek za shraii- JevanJe v pomnilnik preko Unihus vodila in . Stevec iteraciJ niikroproSraitiski ' kontroli. Kot podatkovni vhod oo IiB liniJe uporablJene v primerui ko'ielimo. v ALL) dostaviti podatks .' ,iz dods'tnoflo,. RAM-a. LiniJe Y<15!0> so upora-r . blJene liut ' pod'atkpvni1.' vhod ali . izhod'..\ ' V •i»rls.i.»pui da so gporablJeris kot podatkoyni .vhodr so rezini posredavani pbdatki iz rSD<15i0>: vodilar trap yektor adrosai mikroin-. 1 istruk'ciJska adresa is AM2910 in podatek. iz jenote Z3 UPi-avlJ3nJe a pomni lnikom. Ce so iUparablJerie kot podatkovrri izhodr Je podatek •lahko posredovari V dpdatni 2-.vhodni. RAMr ali pa na''UnibuE" vodilo v primeru shranJevanJa v pomnilnik. •. -.-.•.-• . . ' . '. " : •: . ;DS HUX' skTb-i aa"izbiro pod3tkov» Wi Jih . po- .. ftilJs CPE.na Unihus vodilo oziroma podatke z . Unibus vodila poSUe h3; SD<15!0>. Na Un.ibus vodilo an lahko, poslani •naslednJi .p.odatki' ' :PSW in"potlatki ,iz ALU^-ja. p re'ko'•'. riB. ali iY<15!0>. .'.••...'.• •.••••.•:••'•••:•.•••• ''• • y Pi-imeru zxoaovnin- op'eraciJ BB V odviahosti: od adrese lahko zamenJota opodnJi in zaornJi zlofl>.zs kar poskrbi SWAP MUX. Podatki na. izhodu SWAP MUX-a so potem priaothi na - Sn<15tO> in na Unibus. vbdil.ui 6e Je uatreatno zakrmiljen H/R element. . .. . . DEKODIRANJE IN8TRUKCIJ Naloaa DEKODIRNE LOQIKE Je» da na osnovi vse- bine v instp.ukeiJskem reai'stru PO dostavi/. ..vsBke instrukciJe dolofii . mikroprofiramsko ; sdresop na kateri SB .pritne ,'izvaJati in-.. •itrukeiJi ustresen mikpoproaram.' . . ; . ' , Qlede na toi da ima preceJ instrukeiJ :skupne \ zna6ilnosti» predvsem kar.se tifie dpstavlJan- JH ocerondov oz. nJihovih adres> .smo celbten nabor instrukciJ razdelili v 9 drup <8 iz':. stsndardne^a naborar. eno Srup.o •, pa '.,M»TedBr '.; tavlJaJo CIS instrukei Je.). . .^ " '''/''.'' • ':'.?' Zaradi arupiranJa instrukciJ Je nalo3a DEKO- . DIRNE LOGIKE dvoJna! prvlfit da za vsako in-' strukciJo doloti pripadnost flrupi--; ter;'da hkrati pripravi adreso . za eksekuciJski del.1. mikroprpslra'nBir ki Je seved'a razlicen za vsako instrukeiJo. Vsaki : arupi ustreza mikropro-. .'flroffif ki'. z: vse instrukei Je ' v •' arupi iz.vaJa Eikupno dpstavo bperandov oz. adres operah- . dov., V tar.u izvaJanJa skupneaa ' •mikrop.rbsra-: '•; mar d.r'uai del OEKODIRNE LOQIKE prirravi ek'se- IS strukciJi v in- ekvencnik 2910 nui. Ob dostavi > ki nosi adre- la mikroprosra- r i? poti k i p r i - inatrukciJe v tsl da omodo- arsmiranjem or.. PROM. To unJa novih spe- kuciJsko 3ili'u'5Oi ki ustreza in strukciJskem refiistru. Krmi 1 jenJe vstopnn adrciso v o Jo pod kcintrolo mikroprosra ituvc* i [ist cuke i Ji? Je odr*rt. a pot so Srucer ob koncu Gkupnesa do m;:n k :i u'itr«23 Srut-i( pn so odp relJe c k s e.'k u t: i Jsko adr^&o ackvencnil . DEKODIRNA LOGIKA Je :asnovana i"*a •- (•adap Je pri ppenosih CPE-alavni pomnilnik n3stopi1 a situnciJai ki zahteva paE11 si anal ABORT H prokine izvaJanJe- mikrofpoarams in vsili naslov 000 in a l.(.'i(i iriikroinst pukci Jo SERVICEr ki reaaira iia pas t. F'unkciJa PL-eelcktorJa Je izbira eneila izmed. itirih virov. Izhod Je priklJufien neposredno ria D vhod 2910 in Je onenoaofion le v tistih iiii.krninstrukciJahi ppJ. katerih se izvaJs JMAP inatrukciJa. Sulekt vhodi PL - selektorja so krmiJvioni iifipos pedno iz pipeline peaistpa s sidnalona PLfiO in PLS1» pri c>.'nit'i' velJa nas- IednJc t abela! dekoder nasiova eksekuclja wired OR loglka vsiijevanje (Uprogram. nasiovov •000,001.001) TS EXTJUA na zunanji I /uproor-amskl } pomnilnik TS TS mikroprogramski pomnilnik \ 3-stanjski vmesnlk mlkropro- gramskega avtomata pipeline register krmlini signail S1 i k a 2 ! M i k r o p r o H r o i« a k i k r m i 1 n i k PL SI 0 0 1 1 PL SO 0 1 0 1 PL * PL 1 PL ALU MODE h TIP NN PL + MODE vhod upora'bljamo v primerihi ko aelimo vefveJni skok aledc na nafin nas- lavlJanJat' ki Je s instpukciJo vred dan v IR r t a i s 1. r u. 2a CIS nabor Je rezerviran ve6vejrii skok iilede na tif> strinaat ki aa dofiniraJo biti l.'i>13 in 14 v deskriptor Ju > Le-ta se nahaj3 v roaistrih ALU-Ja in kadar :":oliiiia vecveJni cikok dledii na tin- stpihtiai posredujenio ppipa-- daJo6 deskriPtor na IiB izhod ALU enote. Siilcalo AL.UtiB12H» AL.UDB13H in ALUIiBUHr ki do fini ra jo vrsto ztrifttiat uporabino na PL . so- loktopjui tsko da :i EVOJO vrednostJo dolofajo ci'icsa ii'iiiK/d iy iiniri naslovov v veSveJnem skoku. Zs b r en-(ido Jn« in po<.-!oJfie veJitvo se celoten 12 tiltnj nsijlov iz pipeline re3istr3 posre- dujii preko PL selektorja (uporablJen Je vhod PI.). n;j D vlmd 29)0. ALU NM vhod ce v standurdneot nabopu uporablja ^a iriicial insci Jo vsebine stevca iteraciJ v 2910. Nova vsiibina. ki se nahaja v ALU re- iiistrui su preko DB izhoda PosreduJe na PL suloktor in preko teaa na D vhod sekvencnika ter ae z inst ruk-ci Jo LDCT vpise v stevec itr. zahtevneJsa pa ob PFAIL interrupt-u. V prvem slu6aJu Je PO- trebno shraniti le vsebino COUNT RED iz 2910 v ALU in. uPC na mikroproaramski sklad (uS- TACK) v 2910. V druaem slucaJu Je polea teaa .potrebno shraniti se celoten uSTACK iz 2910 v ALU ter nato 5e vse reSistre iz ALU-Ja (64-) na sklad (SP). SlednJe se izvede ob zadnJi instrukciJi rutine za izpad .napetosti (PFAIL). to Je v HALT instrukciJi'. ki Je v ta n amen pri re Jena . .-'.'' RAZ§IRITEU NABORA INSTRUKCIJ So tako bezen prealed arhitekture kaze na •izr.eclno • fleksibilno.Et ' CPE . DELTA 16/ BIT-SLICE. Kot ilustraciJa naJ sluzi primer nabora CIS (Commercial Instruction set). To . :Je povsem nestandarden nsbor. ki se normalno 'i::vaJa na. posebn'em kopr.ocesorJu. Operandi v tem naboru so strinai. bodisi znakoyni bodisi PiumeriSni. OperaciJe pa so od pr.emikanJ ;s.triri£iovr iskanJ yzorcey do aritmeticnih. OP- ,erac-iJ nad numeritnimi st rinai doliine do 31 , Stevilk. . Vsi deli aparaturne opreme. ki so bili vneSeni za podporo CIS habora. se lahko s podobno udinkovitostJo koristiJo' pri reali- iaciji poljubnih novih iristrukciJ. Pri tem ni pcitrebnb spreitiinjati niti instrukciJskeaa dekoderJa pod PoaoJem. ds si za svoJo makro- anstrukciJo ^izposodimo" operaciJsko kodo ene od CIS instrukciJ. Spremeni se le vsebina y ,HiikroprQar3mskem pomni lniku. Mikrofroaram se rszviJa.s PomofJo MACRO META ASSEMBLER-Ja. Za osnovo se yzame datoteko DEFINITION FILE. ki. vsebuJe dolocene mnemo- nike. ki so bili prireJeni posameznim f unkci Jskim sklopom 3paraturrie OPT erne proce- sorJs HELTA 16/ BIT-SLICE. Asembliran mikro- proaram se nato avtomatsko nalozi v razvoJni UC8 (Uritable Control Store), ki v Casu tes- tiranJs simulirs mikroproarsmski pomnilnik.' Po koncsnem testiranJu se mikrokoda vpifie v hitre biPolarne PROH elemente. V konfiaura- ciJi toreJr kakr^na Je trenutno. Je moino uporabiti prostor v mikpoproaramskem p,oninil- niku in sicer 0.25K oairoma 0.75K. odvisno pac od teas ali se izbere PROMe 512X8 ali pa •1024X8. Mikroproararo .za osnovni in- strukciJski nabor zaseda priblizno 0.25K pom- nilniskih lokaciJ. . RA2SIRITEU U APARATURNI OPREMI Povsem nove kvalitete bi pridobili s priklJu- citviJo tretje plosce. ki bo ysebovalal 4 K besed mikroproaramskeaa pomnilnika na osnavi hitrih veziJ RAM <6as dostops 55n^»_hilr£ paralelni mnoiilnik 16X16 "