1 / 28

REGISTER

REGISTER. Oleh : Oman Somantri, S.Kom Email : oman_mantri@yahoo.com. POLITEKNIK HB D3 TEKNIK KOMPUTER TEGAL @2012. General Purpose Register. Pointer Register. Indeks Register. Flag Register. Segmen Register 16 bit. Gbr. Register Mikroprocessor Intel 8086.

Télécharger la présentation

REGISTER

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. REGISTER Oleh : Oman Somantri, S.Kom Email : oman_mantri@yahoo.com POLITEKNIK HB D3 TEKNIK KOMPUTER TEGAL @2012

  2. General Purpose Register Pointer Register Indeks Register Flag Register Segmen Register 16 bit Gbr. Register Mikroprocessor Intel 8086

  3. General Purpose Register (Register Serbaguna) Merupakan register yang dapat digunakan untuk menyimpan data yang akan diolah atau hasil suatu operasi oleh ALU. 8086 memiliki8 buahregister serbagunayakni: AH, AL, BH, BL, CH, CL, DH, DL. Register-register ini juga dapat digunakan secara berpasangan sehingga membentuk register 16 bit, yaitu; AX (gabungan dari AH dan AL), BX, CX, dan DX. AX biasanya digunakan untuk menyimpan hasil operasi, sehingga disebut akumulator. CX(count)biasanya digunakan untuk pencacah untuk keperluan perulangan (loop), sehingga disebut Counter. BX (base)dan DX (data)biasanya digunakan sebagai penyimpan alamat offset dari alamat data di memori (dengan segmen DS).

  4. General cont….

  5. General cont…. AX: merupakanakumulator, seringdigunakanuntuk menyimpanhasilsementarasetelahoperasiaritmetikadanlogika. BX: seringdigunakansebagairegister base untuk menyimpanaddress base data yang terletakdidalammemoridanjugaaddress base tabeldata. CX: dapatdigunakansebagairegister count. DX: dapatdigunakansebagairegister data.

  6. Flag Register 8086 memiliki flag register denganpanjang16-bit. Dari 16-bit ituterdapat9 benderayang aktif. Dari 9 benderayang aktif, 6 benderadiantaranya(benderakondisi) digunakanuntuk menunjukkankondisi-kondisi (status) yang dihasilkanolehpelaksanaaninstruksiyaknibenderaCF(carry flag), PF(parity flag), AF(auxiliary carry flag), ZF(zero flag), SF(sign flag), danOF(overflow flag). Sedangkan3 benderalainnya(benderakontrol) digunakanuntuk mengendalikanbeberapaoperasiprosesor.

  7. Flag-flag kontroliniberbedadengan6 benderakondisidalamhalcaraset danreset-nya. Keenam flag kondisidisetdandiresetolehEU, berdasarkanhasiloperasi-operasiaritmetikaataulogika, sedangkan3 flag kontroldisetdandiresetolehinstruksi-instruksi khususyang adapadaprogram. Flag ituadalahSingle Step TrapFlag (TF), Interrupt Flag (IF), dan String Direction Flag (DF).

  8. Carry Flag Benderacarry akandiset(CF=1), jikaoperasiALU menghasilkancarry. Contoh:

  9. Parity Flag Benderaparitas(parity flag) akandiset(PF=1), jikapelaksanaanperintaholehALU menghasilkanjumlahbit 1 genapdanreset (PF=0) jikajumlahbit 1 ganjil. Contoh:Output ALU=01100011, makaPF= 1Output ALU=00101010, makaPF= 0

  10. Auxiliary Carry Flag BenderaAF (auxiliary carry flag) akandiset(AF=1), jikadalampenjumlahan, bit ke3 menghasilkancarry. Contoh:

  11. Contoh lain : BenderaZeroakandiset(ZF=1), jikaoperasiALU memberikanhasil0. BenderaSign akandiset(SF=1), jikapelaksanaanperintaholehALU menghasilkanbilangannegatif.

  12. Overflow Flag BenderaOF(Overflow Flag) akanset jikaterjadioverflowyaknijumlahbit hasiloperasilebihbesardarilebarakumulator. Contoh: Jikasuatuoperasimenghasilkanbilangandenganpanjang17-bit, sedangkanakumulator8086 hanya16-bit, makabenderaOF akanset.

  13. BenderaTF (Trap Flag) digunakanpadamode operasilangkahtunggal(single step atautrace). Jikabenderainiset, makapelaksanaaninstruksiakandilakukanstep demistep. BenderaIF (Interupt Flag) digunakanuntuk mengijinkaninterupsidariprogram. BenderaDF (String Direction Flag) digunakanpadaoperasistring.

  14. Register Antrian PadasaatEUmendekodeataumelaksanakansuatuinstruksi, iatidakmemerlukanmenggunakanbus sehinggadapatdigunakanolehBIU untuk mengambil6 byte instruksisebagaiinstruksiberikutnyayang akandilaksanakan. Instruksi-instruksi tersebutdinamakanprefetchedinstruction danolehBIU disimpandalamregister FIFO (first-in first-out) yang disebutjugaregister antrian.

  15. KetikaEU siapmelaksanakaninstruksiberikutnya, iadenganmudahmembacainstruksi-instruksi dariregister antriandalamBIU. Jadi, ketikaEU sedangmelaksanakansuatuinstruksi, bus dapatdigunakanolehBIU untuk menulisdanmembacamemorisertamengambil instruksiberikutnya.

  16. Teknologiyangmemungkinkanpengambilaninstruksiberikutnyasambilmelaksanakaninstruksiyang adadinamakanPipelining. Berikutiniadalahcontohperbedaanprosesor8085 tanpapipelining dan8086 denganpipelining dalammelakukanpengambilaninstruksi, pelaksanaaninstruksi, operasiread danoperasiwrite. Nampakbahwapipelining memberikantingkatpenggunaanbus yang lebihefektif.

  17. Gbr. Prosesor8085 tanpaPipelining dan8086 denganPipelining 8085 8086

  18. Register Segmen 8086 mampumengalamati220lokasimemori, sedangkanpanjangregister IP (Instruction Pointer) yang dimilikinyahanya16-bit. Untuk memperoleh20-bit sinyalalamat, 8086 menggunakanbantuanregister segmen. Gabunganantararegister segmen16-bit danIP 16-bit akanmenghasilkan20-bit sinyalalamat. 8086 memilki4 buahregister segmenyakniCS(code segment), SS(stack segment), ES(extra segment), danDS(data segment).

  19. Penempatan alamat segmen pada memori 8086

  20. Contoh : Jikasuaturegister segmenberisikodemisalnyaCS berisi348A, makaCS dianggapmemilikialamatawal348A0. BIU secaraotomatisakanmenambahkanangka0 dibelakangisisegmen. Setiapsegmenmenempati64K byte memori, dandapatditempatkandimanasajadidalamruangalamat1-M byte.

  21. Register Segmen IP berisiinstruksiberikutnyayang akandiambil. Alamatfisikyang dihasilkanBIU diperolehdengancarasepertidisamping

  22. Bagianalamatawalsegmenyang tersimpandidalamregister segmendinamakansegment base, dalamcontoh348A adalahsegment base yang tersimpandalamCS. IsiIP merupakanoffset ataujarak(displacement) antaraalamatawalsegmendenganalamatfisikyang dihasilkan. Padacontoh, IP=4214 berartimerupakanjarakantara348A0 (alamatawalsegmen) s.d. 38AB4 (alamatfisik).

  23. Format penulisanalamatfisik: segment base : offset form Contoh:JikaCS berisi348A danIP=4214, akanmenghasilkanalamatfisik38AB4. Alamat fisiktersebutdapatdirepresentasikan/disajikanatauditulisdalambentuk: CS:IP atau348A:4214 atauCS:IP=38AB4 Berapaalamatfisikyang direpresentasikanoleh4370:561E, dan7A32:0028 ?

  24. Register Stack Pointer Stack adalahbagianmemoriyang digunakanuntuk menyimpanalamatdandata selamasubprogram dilaksanakan. Jikasub program selesaidilaksanakan, isistack dikembalikankelokasisemula, yakniIP danakumulator. SP merupakanregister yang berisioffset 16-bit yang menghasilkanalamatfisikteratasdarimemoristack. Untuk membangkitkanalamatfisik20-bit, SP memerlukanbantuanregister SS (stack segment).

  25. Contoh: jikaisiSS=5000 danisiSP=FFE0, makaakanmenghasilkanalamatfisik: Alamatfisiktersebutdapatdirepresentasikandalam5FFE0 (single number) ataudalambentukSS:SP yakni5000:FFE0

  26. Register Index & Pointer • KecualiSP, EU pada8086 jugamemilikiregister base pointer (BP)16-bit, danjugaregister index SI(source index) 16-bit, danDI(destination index) 16-bit. • WalaupunBP, SI, danDI dapatdigunakansebagaipenyimpansementaradaridata sepertihalnyapadaregister serbaguna, namunpenggunaanutamamerekaadalahmenyediakanoffset 16-bit daridata untuk suatusegmenbase. • Contoh: Alamatfisikdata padamemoriakandibangkitkandenganmenambahisiSI denganalamatsegmenbase yang direpresentasikanolehbilangan16-bit dalamregister DS.

  27. SEKIANTERIMA KASIH

More Related