ISSN: 1693-6 930                                           47    Desain Dan Sim u lasi  …… ….(W. Tri  Ha rtono )   DESAIN DAN SI MULASI   ARITHMETIC LOGI C UNIT   DENGAN VHDL UNTUK  PROCESSOR ELEMENT RISC   ARSITEKTUR PARALEL PENGOLAHAN CITRA  LAPCAM       W. Tri Harto no1, E. Moze f. 2 , Mushlihudin3   1,2Ju r u s an T e kni k  Elekt r o,  Politeknik  Ne geri Ban dun g   Jl. Gege rkalo ng Hilir  Ds. Ci waruga, Kota k Pos 6 468 B andu ng   r w tr i_ h@ ya ho o . c o m wah y u@ic.e e.itb.ac.id   3Prog r am Studi Teknik El ektro  Unive r si tas Ahmad  Dahlan   Jl. Prof. Soep omo Ja nturan  Yogyaka r ta 5516 4   udin @ ua d.c.i d       A b st r a               Sebuah  ko nsep  ba ru  a r sit e ktur  pa ralel  untuk  pen gol ahan  citra  L APCAM  (Lin ear  Arra of   Processo r wi th Conte n t Addre s sabl Mem o ry),  se dang  dikem bang kan. LAP C AM terdiri  dari tig a   kom pone n utam a, yaitu Proce s sor Elem ent (PE),  Me m o ri MAM, dan Ja ring an i n terkone ksi OAC.              Ars i tek t ur  LA PCAM,  mempuny a feat ure yan g  optim al antara jum l ah Pro c e s so r Elem ent  (PE) d an  ke cep a tan  ekseku si. Selai n  itu LAPCA M  m e m punyai jeni s m e m o ri dan j a ringan  interkone ksi  yan g  b a ru,   MAM (M ulti-m ode Acce ss M e m o ry) d an OA (O rthogo nal Ad d r essa ble  Cro s sba r). El em ent yang  unik ini m enj adikan L APCAM seba gai  suatu a r site ktur paralel yang  optim al untuk berba gai m a cam  perm a sa lahan p engol ahan  citra.               Dalam   tulisan   ini,  akan  dikupa se ca ra  rinci, disai n  da ri seb uah Arit hm etic Logic  Unit (ALU)  yan g  m e rup a k an  bagi an t e rpe n ting  dari Pro c e sso Elem ent (PE), denga n m e nggu na kan V H SIC  Hardware Descriptio n La ngua ge (V HDL). Sim u la si akan di kerja k an m e n ggun akan S o ftware  Max+plu s  II dari ALTE RA. Dari ha sil sim u lasi diperl i hatka n bah wa kelu ara n  WR_C d an  WR_Z   han ya a k an a k tif pada in struksi-in struksi  ADD da n SUB saja.    Kat a  kun c i:  Arsite ktu r  paral el, Pengola han  citra, Pro c e s sor Ele m ent, VHDL,   ALTERA,LAPCAM      1. PEN DA HU LU AN  LAPCAM me rupa ka n suat u disai n  ba ru  dari a r site ktu r  pa ralel u n tu k pem ro se sa n citra ya ng  sed ang di ke mbang ka n sa at ini [2][3][4][5].  Arsite ktur  ini  memiliki ke u nggul an-ke un ggula n   bila  di bandi ng kan d enga n arsite ktur sejeni s, a n tara  lain:  - Mempunyai  f eature  yan g  optimal  ant ara  jumla h   Processo r El em ent  (PE) dan   ke cep a tan  ekse ku si. Dal a m hal i n i m e mung kin k a n  arsitektu r  LA PCAM de nga n hanya  512   PE mempuny ai  perfo rma s i ra ta-rata  sam a  atau bah ka n  lebih bai k bi la diban ding kan den gan  a r site ktur tipe  2d  deng an 26 21 44 PE.  Arsite ktur i n i  sa ngat m e mung kin k an   direali s a s de ngan  teknolo g i a k tual, de ngan  biaya  yang  relatif lebih m u rah bil a  diba nding ka n den gan arsite ktur jenis lain.   S e ca ra umu m  st ru kt ur a r s i t e kt ur LA P C A M     terdiri dari  n PE, n  b a n k  me mo r y   M A M , dan  n x n  jarin gan i n te rko n e ksi  OA C, dipe rlih atkan pa da  Gamba r   1 [2][3][4][5][7]. Sebua ba nk m e m o ry  MAM terdi r i dari  n sel.  Mem o ry  MAM m e m punyai 3   fungsi yan g  b e rbe da yaitu  seb agai :  RA M (Ra ndom  Acce ss Mem o ry),   CAM (Content  Addre s sable   Mem o ry ), da n SM (Shift Mem o ry)   Pada disain arsite ktu r  paralel yang op tima l, aspe k Prosesor, M e mori, dan I n terkone ksi  memeg ang p e ran an sang at penting. Dalam ko nsep  LAPCAM tela h dibu ktika n  bah wa pen gg unaa memori  MAM  dan  Interkon eksi OA C    te lah      me njad ikan      LAPCAM    seba gai     sebu ah   arsitektur    paral el   yang optimal[1][2][3][4][5][7].        Evaluation Warning : The document was created with Spire.PDF for Python.
                     ISSN: 1693-6 930     TELKOM NIKA   Vol. 3, No. 1, April 2005  :  47 - 53     48 M0 M1 M2 M3 Mn M0 M1 M2 M3 Mn M0 M1 M2 M3 Mn M0 M1 M2 M3 Mn M0 M1 M2 M3 Mn PE0 PE 1 PE2 PE 3 PE n MA M 0 MA M 1 MA M 2 MA M 3 MA M n                C o ntrol  U n i t                                   Gamba r  1. Struktu r  Arsitektur LAPCAM, deng an n  PE untuk pe ngol ahan n x n pi xel.    Processo r Elem ent  (PE) untuk a r sitektur paralel p engol ahan  ci tra LAPCAM  di disai n   seb agai  suat u pro s e s o r  se derh ana yan g  mempu n yai  beberapa p o r t denga n inst ruksi minim a l ,  akan  tetapi PE di disai n  untu k  dapat be ke rj a dalam  ke cepatan ting gi . Denga n ala s an ini m a ka  sang at  tepat untuk m engg una kan  arsite ktu r  jeni s RISC.   Format  sede rhana 8 - bit dat a digun akan  deng an ala s a n   berikut :   1 ) untu k  m e mbuat di sai n   se sed e rh ana  mung kin, d a n    2)  untu k  da pat mema nip u lasi  data ya ng bia s a   digun akan ya itu sebe sa r   256 pixel levels  [2][3][4][5] [ 7 ].   Konsep   pe mikiran  RISC  Processo r Elem ent  di dasarkan  pa da a s um si   bah wa  den g an  inst ru ct ion se t  dasar yang  minimal yang  dipadu kan d enga com p iler  yang tepat  akan men g h a sil k an   unju k  ke rja yang jau h  lebi h baik di ban ding kan  Com p lex  Instru cti on Set Com puter  (CISC)  deng an   jumlah in struksi yang   begitu b any ak[3][4][5 ].De ngan  se derhana nya op era s i-ope ra si   yang  digun akan se cara ideal, m enja-dikan se tiap instru ksi hanya mem b utuhkan satu  cy cle p e ro ce s s or [6].                   Gamba r  2. RI SC Pro c esso r Element Dat apath     Basic data path  su atu  RISC  processor  Elem en ditunjuka n   sep e rti pa da  gamba r 2.  I n st ru ct ion D e co der  men - l oad  i n st r u ct i o n  yan g  ditu njuk oleh   p r ogram  count er  (PC )   da ri memori   p r os es or I n st ru ct ion  D e cod e r  kemu dian  akan  men-gen erat e si nyal  kon t rol yan g  te pat untu k   Execution  Un it , yang kem udian  mela ku kan  suatu fu ngsi  yang  dii ngin k an  (a rit m etika, l ogika, da n   seb agai nya) pada  d a ta.  Unit  Write ba ck   kemu dian  meng-upd ate memori d e ngan nilai - nil a i yang  baru[6].   Prosesor  Ele m ent   (PE)    meru pa kan   mikro-p r o s e s or 8-bit yang mempu n yai kemam-pua peng olaha data  seb e sar 8-bit. A r site ktur mi kroproseso r  ini  terdiri dari  AL U ( A r ithm etic Lo gi Unit 8-bit,  re giste r  Acc u m u lator  deng an le ba r sebe sa r 8 - bit dan  8 - bit   Data RAM  seb anya k   32 -bua h.  Selain itu, juga mempu n yai  kemam pua n peng alamata n  prog ram m e mori,  se be sar 512 -b yte Protokol yan g  diguna ka n  untuk ment ransfe r inst ru ksi/d ata anta r a PE, MAM, dan OAC ,   beru pa proto k ol  ser i al,  se perti pad a Ga mbar 3, bit pertama me ru pakan sta r t bit (active low), serta 1   bit terakhi r  di guna ka n untu k  stop bit (act ive high).   Internal op eration: untuk  OAC  10 bit                                         untuk  MAM 5 x 8 bit   Input/output d a ta : 1 bit  In stru cti on Fetch  In stru ctio n   Decode  Ex ecu t Writ e back  Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM NIKA                                                    ISSN: 1693-6 930                                                 Desain Dan Sim u lasi …… ….(W. Tri  Ha rtono )     49 PE CA O MA M 1 1 unt uk  o u t put   P E y a ng m e nuj u C A O 10  b i t   da t a st a r t  b i t st o p  b i t unt uk  o u t put  P E y a ng  m e nu j u   M A M 40 bi t  da t a st a r t  b i t st o p  b i t SPI PAD PI O D SAC SD Y PE SI O D 1 1 1 8 1 1                                                       Gamba r  3 : Protokol Serial  yang  ditera pkan antara PE-CAO d an PE-MAM     PE (Gamba r 4) dira ncang  mempu n yai enam  port: SAC, SDY, SIO D , PIOD, PAD dan SPI.  SAC meru pa kan  p o rt seri al output  1-bit yang dig una kan u n tu k men g a k tifkan su atu ra ngkaian  interkoneksi  OAC.                                     Gamba r  4. Proce s sor Elem ent (PE)     SDY adalah  seri al input/o utput  1 bit  bi-dire c tional p o rt  yang digun aka n  untu k  mengiri m     instru ksi seri al 40 -bit ke  MAM atau  mene ri ma  da ta se rial 1 6 -bit dari  MAM .  SIOD adal ah  po rt  input/output  serial 1 bit  bi -d irectio nal  u n tuk me ngiri m/mene rima d a t a ke/da r i ho st PC.  PIOD adala h   port parallel  i nput/output bi -directio nal   8-bit untu k  m e n g irim/men eri m a d a ta  ke/d ari     ho s t    PC.    PA     adala h     port     serial   input.   address   1-bit  yang dig una kan ole h    ho st  untu k  me n- selec t    PE  s aat   ho st  ingin   mengo ntrol n ya. SPI  adala h   po r t   serial i nput   1-b i t yang di gun aka n  u n tuk m en-d o wnloa d    pro g ram d a ri   ho st (lih at ta bel 1 )   [1][2][3][4][5] [ 7 ].     PE mempuny ai instruksi p r ose s o r  sta n d a r  (co n tohny a data  tra n sf er in stru ction s , arithm etic,  logical, flag, jum p  instructions etc,  lihat Tabel 3 )  dan  sp eci a l  inst ru ct ion s  (conto hnya   MAM   inst ru ct ion s  d an  OA C in st r u ct ion s ).      Evaluation Warning : The document was created with Spire.PDF for Python.
                     ISSN: 1693-6 930     TELKOM NIKA   Vol. 3, No. 1, April 2005  :  47 - 53     50 P R OGR A M ME MO R I CU wr r a ddr wr w r a ddr d_i n d_i n q q W Fi l e Re g i s t e r AL U FE T C H D ECODE E X E CUT E PI P E L I N E  R E G I ST ER PI P E L I N E  R E G I ST ER PI P E L I N E  R E G I ST ER WR I T E BA CK Tabel 1. Defi nisi Port    No Port  size of Port/Di   rectio n   Protoc ol  Func tio n   SAC  1/output   Serial   Untuk meng irim data *)  ke      OAC net w o rk.   SDY  1/  In/Out   Serial  Untuk  me ngirim da-ta  ke memori      MAM via OAC  net w o rk   3 SIOD  1/  In/Out   Serial  Un tuk sen d /rec eive ser i al  dat a  to/from a host (PC)  SPI  1/ Input  Paral e l   Untuk do w n l o a d  progr am dari   Host  PAD  1/  Input  Serial   Digu nak an  oleh  Host untuk     mense l eksi PE  saat Host ingi n  me-ngo ntrol n ya   Keterangan:  Dat a  dalam tabel da pat mengand ung  data, addr ess and/or instruksi seperti pada definisi.      2. BLOCK  DIAGRAM  FUNGSI ONAL PROCESSOR  ELEMENT  Blok  diag ram  arsite ktur P r oce s sor Ele m ent  (PE ) , d apat dili hat p ada  Gam bar 5. Pro s e s   dimulai da ri fetch, yang m en-lo ad p r og ram cou n ter d enga n alamat  pada prog ra m memory.   Instru ksi  ke mudian   di  f e tch  d a ri   p r og ram m e m o ri d an di kiri m ke i n struct ion de co der,  yang memua t  operan d d an bu s funct i on sele ct d an meng ene rate sinyal  kontrol untu k   operasi  p r os es or Tahap e k se kusi mela ku ka n suatu o pera s i atau intera ksi d eng an d a ta memory,  regi ster, da n   operasi  aritm a tika. Setela h tahap e k se ku si ha silnya   akan ditulis ke  regi ster-re gister dari prose s o r bila dipe rlu k a n .       3.  BLO CK  DIA G R A M A R IT HMETIC LO GIC U N IT                                                   Gamba r  5. Block  Diag ram  Fungsi onal P r ocesso r Ele m ent    ALU me rup a k an  kom pon en pa da PE  yang mela kuka n fung si  aritmetika (P enjumla han,  peng ura nga n ) , dan mela ku kan be rb a gai ope ra si dalam bin a ry  word Gam bar 6 men u n jukan   diagram blo k   untu k  8-bit  Arithmetic  Lo gic Unit  (AL U ). AL U ini  dapat  mela kuka seb any ak tuj uh  fungsi l ogi ka  yaitu AND,  OR, XO R, NOT, RL,  RR,  SWAP, em pat fung si a r itmetika d a la m dua  Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM NIKA                                                    ISSN: 1693-6 930                                                 Desain Dan Sim u lasi …… ….(W. Tri  Ha rtono )     51 A L  U C Z WR _ C WR _ Z 8 8 8 A B 4 AL U _ O P R masu ka n 8 - bi t binary  wo rd s yaitu A DD,  SUB, DEC,  I N C DA N TIG A  fungsi  cont rol  CL C, CLZ ,  TEST  ,lihat tabel 3.  Fung si-fu n g s i  logika atau a r ithmet ika yang dilakukan   ditentuka n  oleh ALU_ OPR, yang  mensele ksi je nis op era s i yang a k an dil a ku kan                               Gamba r  6: Block Dia g ra m Arithmetic Lo gic Unit    Dalam  peran can gan ini A  ditetapkan se bagai in put  b i nary word   8-bit, yaitu A0-A7, dan  B  meru pa kan  i nput bina ry  word  8-bit B0-B7. Q merupa kan  outp u t binary wo rd biner  8 - bit, Q0-Q7.   Jeni s o p e r a s i yang terj adi  pada A L U, te rgantu ng  dari  kom b ina s i bi t pada  sel e ct or  ALU_OP R,   maka  ALU a k an  m e lakukan  sat u  dari  14 fu n g si lo gika, terhad ap in put  A dan B dal a m  dua  wo rd,  untuk   lebih jela snya  perhati k an  T abel 2.     Tabel 2. Input  dan Output  Control Unit.   No Nam a Leba r A r a h K eter an g a n 1 A  8-bit   masuka n     2 B  8-bit   masuka n     8-bit   kelu aran   Hasil d a ri o per asi   4 C  1-bit   kelu aran   Kelu aran  c a rr y   flag   Z   1-bit   kelu aran   Kelu aran z e ro flag   w r _ c   1-bit   kelu aran   Sin y a l  tsb dig u naka n  untuk m enu lis isi d a ri C  ke register C   w r _ z   1-bit   kelu aran   Sin y a l  tsb dig u naka n  untuk m enu lis isi d a ri Z  ke register Z   8 ALU_ opr   4-bit     kelu aran   Sin y a l  ini d i g u n a kan u n tuk me milih o per asi p ada AL U.            4. SIMULASI   Simulas i   Arit hm etic Logic  Unit  dilakuka n denga n me nggu na kan d e vais FLEX1 0K70RC2 40-4   deng an clo ck masu kan  se besar 1/40 ns=25 Mh z. Ha sil dari si mul a si terseb ut dapat dilihat  pada  Gambar 7 [7].  Tampa k  pad a Gamba r  7  hasil sim u la si pada b agi an ALU. Sinyal yang ditampilka n  yaitu  sinyal ma su kkan  a   dib e ri n ilai 23, sinyal  b   yang diberi  nilai 12, sinya l  alu_op r yang merup a kan  jenis  operasi yan g  diberi k a n . Je nis-j eni s ope rasi da pat dilih at di Tabel 3.  Untu k meng u ji kompo nen  ALU, dilakukan pen gujian  seb agai b e ri kut:  Masu ka n A l diberi nil a i 23H ( 0 010 0 011)  Masu ka n A l b  diberi nil a i 12H ( 0 001 0 010)  Control  al u_opr yang  merupaka selektor saat bernilai 1H  (0001), yang berarti  dipilih  operasi  logi ka  AND  (lihat t abel  3). Pa da  kel uaran  alu _ re sult  di dap atkan  nilai  02 H (000 0 0 0 1 0 ), nilai   ini se suai d e n gan ha sil orp e ra si logi ka  A ND  u n tuk nil a i 23H da n 12 H.        Evaluation Warning : The document was created with Spire.PDF for Python.
                     ISSN: 1693-6 930     TELKOM NIKA   Vol. 3, No. 1, April 2005  :  47 - 53     52   Gambar 7. Hasil sim u lasi  File Regi ster      Tabel 3. Ope r asi-ope ra si di   Arithmetic L ogic  Unit   ALU_OPR  Fungsi  Logika  0001   AND  Q = A AND B;    WR_Z  = ‘1’;  0010   OR   Q = A OR B;   WR_Z  = ’1’;  0011   XOR   Q = A XOR B;   WR_Z  = ’1’;  0100   NOT   Q = N O T A   WR_Z  = ’1’;  0101   ADD  Q = A ADD B   WR_Z  = ’1’;  WR_C = ’1’;  0110   DEC  Q = A – 1   WR_Z  = ’1’;  0111   INC   Q = A + 1   WR_Z  = ’1’;  1000   RL  Q = A << 1   WR_C = ’1’;  1001   RR   Q = A >> 1   WR_C = ’1’;  1010   SUB  Q = A SUB B   WR_Z  = ’1’;  WR_C = ’1’;  1011   SWAP  Q = B 3- 0 B 7- 4   1100   TEST   Z = ‘1’  WHEN B =  ‘0’,   ELSE ‘0’.   WR_Z  = ‘1’  1110   CLZ   Z = ‘0’;  WR_Z  = ‘1’;  1101   CLC   C = ‘0’   WR_C = ‘1’  1101   CLC   C = ‘0’   WR_C = ‘1’    Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM NIKA                                                    ISSN: 1693-6 930                                                 Desain Dan Sim u lasi …… ….(W. Tri  Ha rtono )     53 Pada  saat  al u_op r b e rnil ai  2H(00 10), i n i merupa kan   operasi  logi ka  OR  (li hat ta bel 3 ) . Pada   kelu ara n  alu _ r esult dida pat kan  nilai 33 H (001 1 00 11),  nilai ini sesu ai deng an h a s il orpe rasi l o gika   OR  untu k  nila i 23H da n 12 H.  Pada   saat      alu_opr     bernilai    5H(01 01),     ini merupaka n  ope ra si  aritmetika   penam bah an   ADD  (lih at Tabel 3 ) . Pada  kelua r an  alu _ re sult dida p a tkan nil a i 35 H (0 011 0 0 1 1 ), nilai  ini se suai de n gan ha sil orp e ra si aritmeti ka  ADD  untu k  nilai 23 H da n 12H. Saat menjuml a h k a n  (001 0011  + 00 11  001 0), te rda pat carry pa d a  saat m enju m lahkan  1 untu k   bit ke 7, p ada  si mulasi   dapat dilihat  bah wa nilai carry_ out bern ilai 1 (satu ) .       5. KESIMPULAN  1.  Dalam Pe neli t ian ini, telah berh a sil di sim u lasi ka n ALU untuk PE berjenis  RISC.  2.  Karen a  meru pakan logi ka  kombi n a s ion a l maka  setia p  operasi me merlu k a n  del ay/tundaan   rata-rata se kitar 90n ji ka diimplem entasi k a n   p ada kom pon en  10K 70 RC24 0-4   da ri   ALTERA.  3.  Dari ha sil  si mulasi dipe rli hatka ba hw a kel uaran  WR_ C  da n WR_Z hanya  akan a k tif pada   instruksi-i n struksi ADD dan SUB.      DAF TA R PU STAK A   [1] E.  Moz e f,  LAPCAM :  An Op timal Parallel Architec ture   for  Image   Processin g Realization a nd Evaluatio n  Pre s e n ted  at the ITSF semina r-2 9 Ja nuary 20 01   [2]  E. Mozef, S.  Web e r, J.  Ja ber, an d E. Tissera nd,  “Re a l-time con n ecte d  comp onent lab e ling  on one -dimensional ar ray pro ces sors ba sed  on Con t e n t-Addr ess a b le M e mory:  optimiza t ion  and implem enta tion  UMIST-IEEE 3rd Internatio nal Workshop  on Image and  Signal Pro c e ssi ng, Man c h e ster,  United  Kingdom, No v. 96, pp. 691-694.   [3]  E. Mozef, S.  Web e r, J. Ja ber, and E.   Tisserand,  “Design o f  linear arra y proces sors w i th   Con t en t-Add r essa ble M e mory for intermediate level vision”  I S CA-IEEE 9th International  Confe r en ce  on Parall el a nd Di strib u te d Com put ing  Systems, Di jon, Fran ce,  Sept. 1996, pp.  585-588   [4]  E. Moz e f, S. Weber,  J .   J a ber, and  E. Tis s erand,  P arallel Architecture  Dedicated to  Conn ected Compon ent  Analysis  IAPR-IEEE 13th International   Conferenc e   on  Pattern  Recognition,  Vienna,   Austria,   August  1996, pp. 699-703. (IEEE Computer Society Press)  [5]  E. Mozef, S.  Web e r, J. Ja ber, and C. Bataille,  “LAP CAM , Linear  Array of Pr ocess ors us ing  Con t en t-Add r essa ble M e mories:  A n e w de si gn  of machin vision for  p a rallel image  computation s  IAPR International Workshop on Ma chin Vision Applicatio ns, Tokyo,  Ja pan Nov. 96, pp. 166-169.   [6]  Hambl en,Ja mes O.,Mi c h ael D. Fu rm an “Rapid  Prototyping  of  Digital  System   Kluwer  Acade mic Pu blish e rs, 200 0. Pp 1-6, pp.12-1 6   [7]  W. Tri Hartono,   “Peran c a ngan da n Simulasi VHDL  RISC  Process or Element untuk  Arsitektur P a ralel Peng olahan  Citra  LAPCAM   Tesi s Ma gist er Te kni k  E l ekt r o,  I n st it ut   Tekn ologi Ba ndun g (ITB), Bandun g, Ju ni 2002.       Evaluation Warning : The document was created with Spire.PDF for Python.