j u r n a l i l m i a h komputasi -...

13
Volume 10 No : 2 ISSN Nomor : 1412-9434 2011 J U R N A L I L M I A H KOMPUTASI Komputer & Sistem Informasi 1-11 Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak SPARC Sunny Arief Sudiro, Dwi Putra Budi Wijaya dan Widya Agsari 12-24 Perancangan Jaringan Komputer Di LPK STMIK Jakarta Dengan Menggunakan Teknologi Server Based Computing Citrix Metaframe Yudi Irawan Chandra 25-29 Pemanfaatan Embedded Sistem Untuk Menggerakan Motor DC Pada Pintu Otomatis Indrianto 30-45 Analisa Dan Evaluasi Daya Guna Pada Aplikasi Website (Studi Kasus Pada WWW.BHINEKA.COM) Susi Widayati, Skom., MM dan Ire Puspa Wardhani, SKom., MMSI 46-51 Pewarnaan dan Perputaran untuk Objek Segitiga dan Segiempat Menggunakan Program OpenGL32 Aqwam RosadiKardian dan Bheta Agus Wardijono 52-57 Penghitung Pengunjung Perpustakaan STMIK Jakarta STI&K Menggunakan Sensor Infrared Abdul Hakim, SKom., MT dan Tino Afrizal STMIK JAKARTA STI&K Vol.10, Nomor:2 Desember 2011

Upload: lythien

Post on 03-Mar-2019

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: J U R N A L I L M I A H KOMPUTASI - portal.kopertis3.or.idportal.kopertis3.or.id/bitstream/123456789/1402/1/3 SparcSunny.pdf · Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak

Volume 10 No : 2 ISSN Nomor : 1412-9434 2011

J U R N A L I L M I A H

KOMPUTASI Komputer & Sistem Informasi

1-11 Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak SPARC Sunny Arief Sudiro, Dwi Putra Budi Wijaya dan Widya Agsari 12-24 Perancangan Jaringan Komputer Di LPK STMIK Jakarta Dengan Menggunakan Teknologi Server Based Computing Citrix Metaframe Yudi Irawan Chandra 25-29 Pemanfaatan Embedded Sistem Untuk Menggerakan Motor DC Pada Pintu Otomatis Indrianto 30-45 Analisa Dan Evaluasi Daya Guna Pada Aplikasi Website (Studi Kasus Pada WWW.BHINEKA.COM) Susi Widayati, Skom., MM dan Ire Puspa Wardhani, SKom., MMSI 46-51 Pewarnaan dan Perputaran untuk Objek Segitiga dan Segiempat Menggunakan Program OpenGL32 Aqwam RosadiKardian dan Bheta Agus Wardijono 52-57 Penghitung Pengunjung Perpustakaan STMIK Jakarta STI&K Menggunakan Sensor Infrared Abdul Hakim, SKom., MT dan Tino Afrizal

STMIK JAKARTA STI&K

Vol.10, Nomor:2 Desember 2011

Page 2: J U R N A L I L M I A H KOMPUTASI - portal.kopertis3.or.idportal.kopertis3.or.id/bitstream/123456789/1402/1/3 SparcSunny.pdf · Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak

PENGASUH JURNAL ILMIAH KOMPUTASI

J U R N A L I L M I A H

KOMPUTASI Komputer & Sistem Informasi

DAFTAR ISI

Pelindung: Prof. ES. Margianti, SE., MM Prof. Suryadi H.S., SSi., MM Drs. Agus Sumin, MMSI Penanggung Jawab: Prof. Dr. Sarifuddin Madenda Dewan Redaksi/Reviewer: 1. Prof. Dr. Didin Mukhodim 2. Drs. Tjahjo Dwinurti T., MM 3. Prof. Dr. Sarifuddin Madenda 4. Dr. Lussiana ETP 5. Hj. Latifah, SSi., MMSI 6. Rosalina Lokolo, SE., MM 7. Eko Hadiyanto, SSi., MMSI 8. Dr. Pipit Dewi Arnesia Pimpinan Pelaksana Redaksi : Ire Puspa Wardhani, SKom., MM Editor dan Layout: 1. Dr. Sunny Arief Sudiro 2. Dr. Bheta Agus Wardijono 3. Yudi Irawan Chandra, SKom., MMSI Sekretariat Redaksi 1. Sahni Damerianta P, SKom., MMSI

(Koordinator) 2. Don Elsyafitra, SKom (Pj. Web) 3. Maria Sri Wulandari, (Pj. Adm) Adm dan Sirkulasi : 1. Edi Pranoto, SE., MM 2. Fitri Sjafrina, SKom., MMSI 3. Sunarto Usna, Drs., MMSI Alamat Redaksi :

Kampus STMIK Jakarta STI&K Jln. BRI Radio Dalam

Kebayoran Baru Jakarta Selatan

Telp. (021) 7397973, 7210722 Fax. (021) 7210720

Email : info@ stmik-jakarta.ac.id

ISSN Nomor 1412-9434 Volume 10 Nomor 2 Tahun 2011

Redaksi menerima sumbangan naskah berupa artikel, hasil penelitian, atau karya ilmiah yang belum pernah dan tidak akan dipublikasikan di media lain. Naskah sudah diterima redaksi selambat-lambatnya tanggal 10 sebelum bulan penerbitan.

1-11 Arsitektur Mikroprosesor Berbasiskan Perangkat

Lunak SPARC Sunny Arief Sudiro, Dwi Putra Budi Wijaya dan

Widya Agsari

12-24 Perancangan Jaringan Komputer Di LPK STMIK

Jakarta Dengan Menggunakan Teknologi Server Based Computing Citrix Metaframe

Yudi Irawan Chandra

25-29 Pemanfaatan Embedded Sistem Untuk Menggerakan

Motor DC Pada Pintu Otomatis Indrianto

30-45 Analisa Dan Evaluasi Daya Guna Pada Aplikasi

Website (Studi Kasus Pada WWW.BHINEKA.COM) Susi Widayati, Skom., MM dan Ire Puspa Wardhani,

SKom., MMSI

46-51 Pewarnaan dan Perputaran untuk Objek Segitiga dan

Segiempat Menggunakan Program OpenGL32 Aqwam RosadiKardian dan Bheta Agus Wardijono

52-57 Penghitung Pengunjung Perpustakaan STMIK Jakarta

STI&K Menggunakan Sensor Infrared Abdul Hakim, SKom., MT dan Tino Afrizal

Page 3: J U R N A L I L M I A H KOMPUTASI - portal.kopertis3.or.idportal.kopertis3.or.id/bitstream/123456789/1402/1/3 SparcSunny.pdf · Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak

Arsitektur Mikroprosesor Berbasiskan Perangkat LunakSPARC

Sunny Arief Sudiro, Dwi Putra Budi Wijaya dan Widya Agsari,

STMIK Jakarta STI&K, Teknik Elektro, Fakultas Teknologi Industri, Universitas Gunadarma

[email protected],[email protected], [email protected]

Abstrak

SPARC merupakan kepanjangan dari Scalable Processor ARChitecture. Konsep skalabilitas-nya, seperti yang dilihat oleh para perancang SPARC, adalah spektrum yang luas dari imple-mentasi harga dibanding unjuk kerja (Price/Performance), dimulai dari mikrokomputer sampaiSuperKomputer. Prosesor SPARC terdiri dari 2 macam register yaitu : general-purpose dan kon-trol/status register. General-purpose register IU disebut r register. Sedangkan general-purposeregister FPU disebut f register. Coprocessor bekerja pada register-register yang mengimplemen-tasikan coprocessor secara dependent. Instruksi pada SPARC terbagi menjadi 3 yaitu formatsatu, format dua, format tiga yang masing-masing memiliki fungsi khusus tersendiri. ScalableProcessor ARChitecture (SPARC) memungkinkan untuk prosesor performa tinggi dan imple-mentasi sistem pada variasi harga/kinerja pada teknologi

Kata Kunci : SPARC, IU, FPU, Processor.

1 Pendahuluan

Arsitektur SPARC dimulai oleh Sun MicrosystemInc yang berlokasi di Mountain View, California.Sebelum mengumumkan SPARC, Sun Microsys-tems memproduksi keluar Sun Workstation yangterkenal berbasis M68000. Salah satu hal yangmembedakan SPARC dari sistem RISC adalahSun tidak memiiki sejarah dalam dunia permikro-prosesoran (baik CISC maupun RISC) sebelum-nya, sehingga ia tidak memiliki kekuatiran akankompabilitas piranti lunak (software). Para per-ancang SPARC dapat memulai merancang daridasar yang bersih.

Hal lain yang memembedakan Sun dari pem-buat mikroprosesor RISC adalah Sun tidak mem-produksi mikropsrosesornya, Sun hanya meran-cangnya saja. Sun Microsystems merancangarsitektur SPARC, dan memproduksi worksta-tion yang mengimplementasikan mikroprosesorSPARC (SPARCStation adalah paling terke-nal dan populer). Produksi mikroprosesor-mikroprosesor yang mengimplementasikan ar-sitektur SPARC adalah dengan melisensikankeluar pada para pembuat mikroprosesor di

Amerika Serikat, Eropa dan Jepang.

Yang pertama kali dipasarkan adalah imple-mentasi SPARC yang diproduksi oleh Fujitsu Mi-croelectronics Inc dari Jepang. ImplementasiSPARC level paling atas adalah SuperSPARC,sebuah join ventura dari Sun Microsystems danTexas Intruments (TI) di Houston, Texas.

Nama SPARC adalah kepanjangan dari Scal-able Processor ARChitecture. Konsep skala-bilitasnya, seperti yang dilihat oleh para per-ancang SPARC, adalah spektrum yang luasdari implementasi harga dibanding unjuk kerja(Price/Performance), dimulai dari mikrokom-puter sampai SuperKomputer. Skalabilitas dariSPARC juga dapat diartikan dalam jumlah Reg-ister dalam CPU yang dapat digunakan pada be-ragam versi produk yang mengimplementasikanarsitektur SPARC. Arsitektur SPARC mengikuti�loso� rancangan RISC dari Berkeley denganmenekankan pentingnya �le register CPU yangrelatif besar dan mengimplementasikan �tur jen-dela register yang sama (similar register window).

SPARC (Scalable Processor ARChitecture)adalah sebuah arsitektur mikroprosesor 32 dan64 bit yang didasarkan pada Reduced Instruc-

Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434

1

Page 4: J U R N A L I L M I A H KOMPUTASI - portal.kopertis3.or.idportal.kopertis3.or.id/bitstream/123456789/1402/1/3 SparcSunny.pdf · Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak

tion Set Computing (RISC). SPARC telah men-jadi arsitektur yang banyak digunakan untukperangkat keras yang digunakan dengan sistemoperasi berbasis UNIX, termasuk sistem solarisSun sendiri. Perbedaan antara Solaris dan je-nis lain dari Unix adalah bahwa Solaris menyedi-akan kompatibilitas biner untuk aplikasi apakahitu berjalan pada laptop, atau pada server data-center [1].

Sebagai arsitektur, SPARC memungkinkanuntuk spektrum implementasi chip dan sistempada berbagai titik price/performance untukberbagai aplikasi, termasuk ilmiah/teknik, pem-rograman, real-time, dan komersial. SPARC di-rancang sebagai target untuk compiler mengopti-malkan dan implementasi mudah perangkat keraspipelined. Implementasi SPARC menyediakankecepatan eksekusi yang sangat tinggi. Arsitek-tur SPARC telah dilisensikan ke beberapa pro-dusen dan sekarang dianggap terbuka penuh dannon-proprietary [2].

Semua prosesor SPARC adalah jenis RISC.Tapi tidak semua prosesor RISC adalah SPARC.Artinya SPARC hanya jenis tertentu RISC pros-esor, seperti halnya Intel Pentium adalah jenistertentu prosesor CISC. Jenis lain dari RISCprosesor termasuk DEC Alpha, dan SiliconGraphics MIPS. Jenis lain dari prosesor CISCtermasuk yang 680X0 Motorola, dan Zilog Z80.

Gambar 1: Mikroprosesor SPARC. [3]

Pada bulan Februari 2005, Sun mengu-mumkan Sun Grid, menggunakan ribuan serveruntuk diproses utilitas dan penyimpanan dibawah nama Software sebagai produk Layanan.Ini adalah salah satu manifestasi pertama dariCloud Computing. [3]

Secara umum arsitektur SPARC sebagaiberikut [1] :

• Mengurangi jumlah instruksi bahwa pros-esor harus melakukan sejumlah besar min-imal instruksi (satu ide dari RISC adalahbahwa instruksi kompleks dalam kom-puter konvensional dapat dikurangi men-jadi serangkaian operasi sederhana, mem-butuhkan arsitektur sederhana dan sebuahmikroprosesor yang lebih ringkas).

• Mengurangi jumlah jenis alamat memoriyang prosesor perlu untuk menanganinya .

• Masukan sebagai operasi prosesor sesedikitmungkin di microcode, yang memerlukankecepatan clock memakan waktu untukmengakses.

• Menyediakan bahasa compiler yangmengkompilasi program yang dioptimalkanuntuk mikroprosesor SPARC dengan caramengatur perintah agar prosesor dapatmenangani lebih e�sien.

2 SPARC Procesors

Tabel 1 memberikan gambaran dari nama pros-esor SPARC yang populer dilihat dari segi se-bagai pengguna atau spesi�kasi komputer yangberbasis SPARC [2].

Sebuah prosesor SPARC secara logis ter-diri dari unit integer (IU), unit �oating-point(FPU), dan Coprocessor opsional (CP), masing-masing memiliki register sendiri. Organisasi inimemungkinkan untuk implementasi dengan ke-bersamaan proses yang maksimum antara inte-ger, eksekusi �oating-point, dan instruksi Co-processor. Semua register, dengan kemungkinanpengecualian dari coprocessor itu, memiliki lebar32 bit. Operan instruksi umumnya single regis-ter, register pairs, atau register quadruples.

Prosesor ini dapat menjadi salah satu daridua mode: user atau supervisor. Dalam mode su-pervisor, prosesor dapat mengeksekusi instruksiapapun, termasuk (atasan saja) instruksi privi-leged. Dalam mode user upaya untuk mengek-sekusi sebuah instruksi istimewa akan menye-babkan trap untuk perangkat lunak supervisor."user application" program adalah program yangmengeksekusi sedangkan prosesor dalam modususer.

Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434

2

Page 5: J U R N A L I L M I A H KOMPUTASI - portal.kopertis3.or.idportal.kopertis3.or.id/bitstream/123456789/1402/1/3 SparcSunny.pdf · Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak

Tabel 1: Sekilas Procesor SPARC.

Gambar 2: Blok diagram sederhanaUltraSPARC-I/II [4].

2.1 Integer Unit (IU) r Register

Terdiri dari 32 bit r register. Register tersebutterbagi dalam 8 register global dan 16 registerset . Dari 16 register set itu kemudian dibagi lagimenjadi 8 register in dan 8 register local. Selainregister global disebut register window.

IU mengontrol keseluruhan operasi prosesor.IU mengeksekusi instruksi aritmatika integer danalamat memori komputer untuk load dan store.Hal ini juga menjaga counter program dan kon-trol eksekusi instruksi untuk FPU dan CP.

Fitur arsitektur SPARC memiliki �le registeryang besar, lebih dari 100 register. Suatu prose-dur yang berjalan pada SPARC dapat mengakseshanya 32 regiter, yaitu r0 sampai r31. Registerwindow diberikan pada tiap prosedur.[5]

2.1.1 Window r Register

Pada register window itu terdiri dari 8 registerin dan 8 register lokal pada register set. Sedan-gkan pengalamatan diluar window sebagai reg-ister out. Nomor pada window atau register set(NWINDOWS) berkisar dari 2 sampai 32 tergan-tung pada pemakaiannya. Berikut adalah penje-lasan secara rincinya :

Tabel 2: Pengalamatan Window.

Window over�ow dan under�ow dapat dide-teksi oleh register WIM (Window Invalid Mask),yang dikontrol melalui software supervisor.

• r31 sampai r24 adalah ins, berisi parame-ter input yang dilewatkan ke prosedur dariprosedur pemanggil.

• r23 sampai r16 adalah locals, berisi param-eter lokal dari prosedur.

• r15 sampai r8 adalah outs, berisi parame-ter keluaran yang akan dilewatkan kepadaprosedur selanjutnya

Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434

3

Page 6: J U R N A L I L M I A H KOMPUTASI - portal.kopertis3.or.idportal.kopertis3.or.id/bitstream/123456789/1402/1/3 SparcSunny.pdf · Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak

Gambar 3: Tiga windows yang bertumpangtindih dan register globals.

Seperti yang terlihat pada gambar 3 regis-ter outs dari prosedur pemanggil secara �sikadalah register ins dari prosedur yang dipang-gil. Prosedur pemanggil melewatkan parameterkepada prosedur yang dipanggil melalui registerouts-nya, yang merupakan register ins dari prose-dur yang dipanggil.

Window saat ini di tentukan oleh currentwindow pointer (CWP) pada saat processorstate register (PSR). Jumlah aktual (kejadi-an) dari window dalam implementasi sebuahSPARC tidak terlihat oleh user-application pro-gram. Ketika IU mengakses sebuah intruksi darimemori, menambahkan ke alamat sebuah ruangalamat identi�er, atau ASI, yang mengkodekanapakah prosesor dalam mode supervisor atau usermode, dan apakah akses ini adalah untuk memoriinstruksi atau memori data.

2.1.2 Overlapping of Windows

Setiap window itu terdiri dari in dan out. Ji-ka out dari CWP +1 berarti window saat iniadalah in. Sedangkan jika out berarti CWP-1 dari window yang in saat ini. Sedangkan lo-cal adalah berbeda-beda (unik) pada setiap ataumasing masing window.

2.1.3 Doubleword Operands

Perintah yang mengakses doubleword dalam reg-ister r merupakan urutan even-odd register. JadiLSB pada alamat register r akan disimpan dan

untuk selanjutnya jika kompatible akan diberikannilai 0 oleh software.

2.1.4 Special r Registers

Jika r[0] maka sebagai source operand. Nilai kon-stanta 0 dibaca. Tetapi jika r[0] digunakan seba-gai destination operand maka data yang ditulistidak akan disimpan ( tidak ada register r yangtermodi�kasi). Perintah CALL akan tertulis didalam register r[15]. Ketika trap terjadi programcounter pada PC dan nPC akan disalin ke regis-ter r[17] dan r[18] pada register trap window yangbaru.

Gambar 4: Register w Windowed r

Jadi, jika prosedur menggunakan window w0untuk mengeksekusi RESTORE, maka windoww1 akan menjadi window saat ini. Tetapi ji-ka procedure menggunakan window w0 untukmengeksekusi SAVE maka akan terjadi win-dow_over�ow trap .Untuk menanganinya meng-gunakan w7 locals.

2.2 IU Control/Status Register

Terdiri dari : Processor State Register (PSR), di-mana 32 bit PSR berisi bermacam macam �eldyang mengontrol prosesor dan memegang statusdari suatu informasi.[5]

Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434

4

Page 7: J U R N A L I L M I A H KOMPUTASI - portal.kopertis3.or.idportal.kopertis3.or.id/bitstream/123456789/1402/1/3 SparcSunny.pdf · Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak

Gambar 5: Isi dari PSR.

Berikut adalah penjelasan dari masing-masing �eld, yaitu :

PSR_implementation (impl) : bit 31 sampai28 merupakan hardwired untuk mengenalijenis dari implementasi suatu arsitekturdari hardware. Jadi seharusnya hardwaretersebut tidak berubah atau berganti �eldlain sehingga dapat menanggapi printahWRPSR (write PSR).

PSR_Version(Ver) : Bit 27 sampai 24 meru-pakan implementation-dependent, untukmengenali satu atau lebih dari suatu im-plementasi hardware atau membaca danmenulis state dari �eld yang digunakan se-bagai implementation-dependent.

PSR_Integer_Cond_Codes (icc) : Bit 23sampai 20 merupakan kode kode dari kon-disi IU. Bit-bit ini dimodi�kasi oleh perin-tah aritmatik dan logika dimana nama ter-akhirnya ditambahkan cc (misal : ANDcc),dan oleh perintah WRSPR.

Gambar 6: Integer Condition Codes (icc) Fieldsdari PSR.

Berikut adalah penjelasan dari masing-masing �eld, yaitu :

PSR_negative (n) : Bit 23 menunjukanapakah pada 32 bit 2`scomplement ALUmenghasilkan bilangan negatif pada in-struksi akhirnya atau tidak. Dimana1=negative dan 0=not negative.

PSR_Zero (z) : Bit 22 menunjukan apakahpada 32 bit ALU menghasilkan nilai 0(zero) pada instruksi akhirnya atau tidak.Dimana 1=Zero dan 0= non Zero

PSR_Over�ow (v) : Bit 21 menunjukanapakah hasil ALU berada dalam kisarannotasi 32 bit 2`s complement pada instruksiakhirnya atau tidak. Dimana 1=over�owdan 0=no over�ow

PSR_Carry (c) : Bit 20 menunjukan apakahterjadi carry (atau borrow) pada 2`scomplement pada instruksi akhirnya atautidak. Dimana 1=carry dan 0= no carry

PSR_Reserved : Bit 19 sampai 14 merupakanbit yang disimpan atau dicadangkan (re-served). Ketika instruksi RDPSR membaca, bit bit tersebut akan mengirimkan 0 (ze-ros).

PSR_Enable _Coprocessor (EC) : Bit 13menentukan apakah implementation-dependent coprocessor tersedia atau tidak.Jika tidak maka instruksi coprosesor akanmengalami trap. Dimana 1= enabled dan0=disabled

PSR_Enable_Floating-point (EF) : Bit 12menentukan apakah FPU tersedia atautidak. Jika tidak maka instruksi �oatingpoint akan mengalami trap. Dimana 1=en-abled dan 0=disabled.

PSR_proc_Interrupt_Level (PIL) : Bit 11(MSB) sampai 8 (LSB) akan mengenaliatau mengidentikasi level interrupt yang di-terima oleh processor.

PSR_Supervisor (S) : Bit 7 menentukanapakah processor berada pada mode super-visor atau mode user. Dimana 1= Supervi-sor mode dan 0= user mode

PSR_Previous_Supervisor (PS) : Bit 6berisi nilai dari S bit pada satu waktu daritrap yang paling baru.

PSR_Enable_Traps (ET) : Bit 5 menen-tukan apakah trap tersedia atau sudah di-aktifkan. Ketika ET=0 maka trap secaraotomatis akan mereset ET ke 0. Dimana1= Traps enabled dan 0=traps disabled

PSR_Current_Winsow_Pointer (CWP) :Bit 4 (MSB) sampai 0 (LSB) terdiri dari

Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434

5

Page 8: J U R N A L I L M I A H KOMPUTASI - portal.kopertis3.or.idportal.kopertis3.or.id/bitstream/123456789/1402/1/3 SparcSunny.pdf · Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak

current window pointer. Counter mengi-denti�kasi current window di dalam regis-ter r.

2.2.1 Window Invalid Mask Register(WIM)

WIM dikontrol oleh software supervisor dan digu-nakan oleh hardaware untuk menentukan apakahwindow over�ow atau under�ow trap.

Gambar 7: WIM Fields.

WIM[n] berkorespondensi pada alamat regis-ter set ketika CWP=n. Ketika instruksi SAVE,RESTORE atau RETT sedang mengeksekusi, ni-lai dari CWP akan dibandingkan dengan WIM.Jika instruksi SAVE, RESTORE, atau RETTmenyebabkan �invalid� pada register set, makakorespondensi bit WIM=1 (WIMP[CWP]=1),disebabkan karena window_over�ow atau win-dow_under�ow.

2.2.2 Trap Base Register (TBR)

TBR berisi 3 �eld, dimana ketiga �eld terse-but sama dengan alamat yang mengontrol prosestransfer atau pemindahan ketika traps terjadi.

Gambar 8: TBR Fields.

Berikut adalah penjelasan dari masing-masing �eld, yaitu :

TBR_Trap_base_address (TBA) : Bit 31sampai 12 dibuat oleh software supervi-sor. Terdiri dari 20 MSB pada tabel alamattrap.

TBR_trap_type (tt) : Bit 11 sampai 4 meru-pakan tt �eld. 8 bit �eld ditulis oleh hard-ware ketika trap terjadi dan tetap menjaganilainya sampai proses trap selanjutnya.

TBR_Zero (0) : bit 3 sampai 0 merupakanzero. Instruksi WRTBR tidak berpengaruhpada �eld ini.

2.2.3 Multiply/Divide Register (Y)

32 bit register Y berisi most signi�cant word daridouble-precision product pada integer multiplica-tion (SMUL, SMULcc, UMUL, UMULcc), selainitu juga memegang most signi�cant word untukinteger divide (SDIV, SDIVcc, UDIV, UDIVcc).

2.2.4 Program Counters (PC, nPC)

32 bit PC berisi alamat pada instruksi yang saatini sedang dieksekusi oleh IU. Sedangkan nPCmemegang alamat untuk mengeksekusi instruksiselanjutnya (asumsi : trap tidak terjadi).

2.2.5 Ancillary State Register ( ASR)

SPARC menyediakan 31 ASR dengan nomor dari1 sampai 31. Nomor 1-15 disimpan atau dicadan-gkan untuk digunakan suatu saat nanti oleh suatuarsitektur. Nomor 16-31 tersedia untuk penggu-naan implementation-dependent seperti timers,

counters, diagnostic registers, dll.

2.2.6 IU Deferred-Trap Queue

Sebuah implementasi dapat terdiri dari 0 (zero)atau lebih deferred-trap queue. IU Deferred-TrapQueue dapat dibaca dan ditulis melalui hak is-timewa (privileged) load/store bergantian.

2.3 Floating-point Unit (FPU) f Reg-ister

Sebuah FPU berisi 32 32-bit �oating point f reg-ister, yang bernomor dari f[0] sampai f[31]. Tidakseperti window r register, pada suatu waktu se-buah instruksi dapat mengakses salah satu dari32 f register. F register dapat dibaca dan ditulisdengan FPop(format FPop1/FPop2) dan denganload/store single/double instruksi �oating point(LDF,LDDF,DTF,STDF).[5]

Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434

6

Page 9: J U R N A L I L M I A H KOMPUTASI - portal.kopertis3.or.idportal.kopertis3.or.id/bitstream/123456789/1402/1/3 SparcSunny.pdf · Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak

Gambar 9: Register f.

Sebuah single f register dapat menampungmenyimpan single presisi operand, sebuah dou-ble presisi operand memerukan sepasang f regis-ter, dan quad presisi operand memerlukan 4 deretgrup f register. Dengan demikian pada suatuwaktu, f register dapat menyimpan maksimum 32single presisi, 16 double presisi, atau 8 quad pre-sisi operand. Floating-point load/store instruksiyang digunakan untuk memindahkan data antaraFPU dan memori sedangkan Floating-Point oper-ate (FPop) instruksi digunakan untuk melakukan�oating-point aritmatika yang sebenarnya. For-mat data �oating-point dan set instruksi sesuaidengan IEEE Standard untuk Binary Floating-point Arithmetic, ANSI/IEEE Standard 754-1985. Namun, SPARC tidak mengharuskansemua aspek dari standar, seperti under�owbertahap, diimplementasikan dalam perangkatkeras. Implementasi dapat menunjukkan bahwainstruksi �oating-point tidak menghasilkan ANSI/ IEEE Standard 754-1985 hasil yang benardengan menghasilkan pengecualian �oating-pointkhusus yang belum selesai atau belum diimple-mentasikan. Software harus meniru setiap fungsiyang tidak ada dalam perangkat keras.

Jika FPU tidak ada, atau jika bit enable�oating-point (EF) pada PSR adalah 0, upayauntuk mengeksekusi instruksi �oating-point akanmenghasilkan fp_disabled trap. Dalam kedua ka-sus ini, software harus meniru instruksi �oating-point trap.

2.3.1 FPU Control/Status Registers

FPU 32-bit control/status register termasukFloating point State Register (FSR) yang berisiinformasi mode dan status tentang FPU, dan op-tional, implementation-dependent, �oating pointdeferred trap queue (FQ). Berikut yang termasuk

FPU control/status register, yaitu : Floating-Point State Register (FSR), dimana Sebuah blokregister FSR berisi informasi mode dan statusdari FPU. FSR akan dibaca dan ditulis oleh in-struksi STFSR dan LDFSR.

Gambar 10: Blok FSR.

Berikut adalah masing-masing penjelasandari gambar 10, yaitu :

FSR_rounding_direction (RD) : meru-pakan bit ke 31 dan 30 yang memilih arahpembulatan untuk hasil �oating point men-gacu pada standard ANSI/IEEE 754-1985

FSR_unused (u) : merupakan bit 29,28 dan12 yang tidak digunakan

FSR_trap_enable_mask (TEM): meru-pakan bit ke 27 sampai 23 adalah pengaktifbit untuk masing-masing dari lima eksepsi�oating-point yang dapat merujuk padablok current_exception (cexc)

FSR_nonstandard_fp (NS) : merupakan bitke 22 ketika bernilai 1 menyebabkan FPUmemproduksi hasil yang tidak sesuai den-gan standard ANSI/IEEE 754-1985.

FSR_reserved (res) : bit ke 21 dan 20 sebagaicadangan FSR_version (ver) : bit ke 19sampai 17 mengidenti�kasi satu atau lebihimplementasi tertentu dari arsitektur FPU.

FSR_Floating-point_trap_type (ftt) : bitke 16 sampai 14 yang mengidenti�kasi jenistrap untuk eksepsi �oating-point.

Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434

7

Page 10: J U R N A L I L M I A H KOMPUTASI - portal.kopertis3.or.idportal.kopertis3.or.id/bitstream/123456789/1402/1/3 SparcSunny.pdf · Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak

Gambar 11: Jenis trap pada �oating point.

FSR_FQ_not_empty (qne) : bit ke 13mengindikasikan jika bernilai 1 maka an-trian tidak kosong dan jika bernilai 0 an-trian sedang kosong.

FSR_fp_condition_codes (fcc) : bit ke 11dan 10 berisi kode kondisi FPU

Gambar 12: Kode kondisi FPU.

FSR_accrued_exception (aexc) : bit ke 9sampai 5 mengakumulasi eksepsi �oating-point IEEE_754 ketika fp_exception trapdi non aktifkan menggunakan blok TEM.

FSR_current_exception (cexc) : bit ke 4sampai 0 mengindikasikan satu atau lebiheksepsi �oating-point IEEE_754 yang di-hasilkan oleh kebanyakan dari eksekusi in-struksi Fpop.

2.3.2 Floating-Point Deferred-TrapQueue (FQ)

Jika FQ ada dalam implementasi, cukup untukmemberikan informasi keadaan untuk menerap-kan resumable pada deferred �oating-point trap.Isi dan operasi pada FQ adalah tergantung dari

implementasi. Namun, jika FQ hadir, supervisorsoftware harus dapat menyimpulkan eksepsi akanmenyebabkan instruksi opcode (opf), operan, danalamat dari entri FQ nya. Ini juga harus berlakupada setiap penundaan lain operasi �oating-pointdalam antrian.

2.3.3 Coprocessor (CP) Register

Semua data dan control/status register copro-cessor adalah sebuah tambahan dan bergantungpada implementasi. Working register coproces-sor diakses melalui load/store coprocessor danformat instruksi CPop1/CPop2. Arsitekturnyajuga menyediakan instruksi untuk membaca Co-processor State Register (CPR) dan Coprocessordeferred-trap queue (CQ). Pada intinya coproces-sor register ini akan membantu kerja dari registerlainnya.[5]

Gambar 13: Tipe instruksi SPARC.

3 Instruksi

Seperti kebanyakan alat RISC, SPARC memilikibanyak instruksi yang dibagi kedalam beberapajenis instruksi mesin. Dengan hanya memilikibeberapa jenis instruksi, arsitektur mesin lebihmudah di desain dan lebih mudah di optimalkan.

Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434

8

Page 11: J U R N A L I L M I A H KOMPUTASI - portal.kopertis3.or.idportal.kopertis3.or.id/bitstream/123456789/1402/1/3 SparcSunny.pdf · Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak

SPARC menggunakan instruksi yang panjangnya32 bits. Pada mesin memiliki 3 jenis tipe in-struksi. Pada SPARC itu disebut format1, for-mat 2 and format 3 instruksi. Tampilan dariSPARC instruksi disajikan pada gambar 13.[6]

3.1 Format Satu - Jump Instruction

Instruksi panggilan SPARC, digunakan untukmentransfer kontrol ke mana saja di ruang ala-mat 32-bit tampak seperti pada gambar 14.

Gambar 14: Instruksi Jump.

Hanya ada satu instruksi di alat SPARC yangmemiliki Format Satu instruksi disebut instruksiCALL. Ketika instruksi ini ditemui, kendali dial-ihkan segera ke lokasi baru yang diberikan oleh30 bit konstan. Cara lokasi ditentukan konstandigeser ditinggalkan oleh dua bit (untuk men-ciptakan sebuah kata 32-bit) dan PC diatur kenilai ini ditambah dengan PC saat ini. Pe-rubahan alamat relatif ke program counter un-tuk memungkinkan program untuk dipindahkandalam memori tanpa mempengaruhi alamat yangditentukan oleh instruksi panggilan.

Gambar 15 adalah diagram blok dengan in-struksi pada format satu, yang merupakan ek-sekusi pada integer unit (IU).

Gambar 15: Unit Eksekusi Integer.

3.2 Format Dua � Branch and SethiInstructions

Format dua instruksi terutama instruksi perca-bangan yang terlihat seperti :

Gambar 16: Instruksi Percabangan dan Sethi.

Seperti biasa, dua bit pertama menentukanjenis instruksi, cond adalah kondisi cabang danop2 adalah operan untuk membandingkan ter-hadap sesuatu. Jika bertemu dengan kontrolmesin transfer ke lokasi yang ditentukan oleh22 bit konstan. SPARC memberikan intstruksicabang ganda. Jenis cabang ditentukan olehcond bit. Jika cabang tersebut diambil, makaPC di set untuk konstan bergeser kekiri sebe-sar 2 dan ditambahkan keprogram counter. Per-hatikan bahwa ini hanya mengizinkan percaban-gan sampai 2^21 lokasi memori. Untuk cabangsepanjang jangkauan memori, penanganan mem-ori dibutuhkan. Lainnya Format dua instruksitanpa cabang disajikan pada gambar 17.

Gambar 17: Instruksi Non Percabangan.

Format dua instruksi ini dikenal sebagai sethiinstruksi. Instruksi ini digunakan untuk load 32bit instruksi kedalam register. Untuk melakukanload, instruksi ini akan me-load 32 bit high dankemudian melakukan instruksi "or" ini dipang-gil untuk me-load 10 bit low dari word. Gam-bar 18 adalah diagram blok dengan instruksipada format dua, yang merupakan eksekusi padaload/store unit.

3.3 Format Tiga: � Algebraic Instruc-tions

Instruksi ini adalah instruksi yang palingumum. Yang merupakan instruksi aljabar atauload/store instruksi (kecuali Sethi). Instruksi inimemiliki sebuah register tujuan, yang disebut rd;instruksi speci�er disebut op3, dan register sum-ber, disebut RS1. Sumber lain dari operasi dapatmenjadi sumber lain register, yang disebut RS2

Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434

9

Page 12: J U R N A L I L M I A H KOMPUTASI - portal.kopertis3.or.idportal.kopertis3.or.id/bitstream/123456789/1402/1/3 SparcSunny.pdf · Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak

atau 13 bit konstan (untuk operasi segera). Per-hatikan, karena ini jenis format yang termasukloads dan stores, ada potensial masalah karenahanya memilki 13 bit constant. Bagaimana da-pat memori dialamatkan pada batasan jangkauan(2^13)? Untuk kasus ini, instruksi alamat rel-ative terhadap frame pointer. Pengalamatanmemori menjadi lebih lambat. Format dari for-mat tiga instruksi ini disajikan pada gambar 19.

Gambar 18: Unit Load/Store.

Gambar 19: Instruksi Algebraic.

Seperti dapat dilihat, opcode dari 10 adalahinstruksi aljabar yang memiliki dua operand dansebuah register tujuan. Opcode dari 11 adalahoperasi segera dan operasi load / store. Gam-bar 20 adalah diagram blok dengan instruksipada format tiga, yang merupakan eksekusi padaFloating point dan gra�s unit.

4 Traps

Trap adalah vector transfer dari kontrol ke sistemoperasi melalui tabel trap spesial yang berisi per-

tama 4 instruksi untuk setiap trap handler. Ala-mat dasar dari tabel dibuat dengan software padaIU state register (Trap Base Register, TBR). Per-pindahan dalam tabel dikodekan tergantung jum-lah jenis dari masing-masing trap. Setengah daritabel disiapkan untuk hardware traps, dan seten-gah lainnya untuk software traps yang dihasilkanoleh trap instruksi.

Gambar 20: Unit Floating point dan Gra�s.

Gambar 21: Circular Register File.

Trap menyebabkan current window pointer(CWP) untuk maju ke window register berikut-nya dan perangkat keras untuk menulis counterprogram kedalam dua register dari window baru.Trap handler dapat mengakses penyimpanan PCdan nPC dan, secara umum, dapat dengan be-bas menggunakan 6 local register lainnya dalamwindow baru. Organisasi lingkaran register win-dow SPARC digambarkan pada gambar 21. Tam-bahan register tersembunyi dari tampilan sam-

Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434

10

Page 13: J U R N A L I L M I A H KOMPUTASI - portal.kopertis3.or.idportal.kopertis3.or.id/bitstream/123456789/1402/1/3 SparcSunny.pdf · Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak

pai subrutin atau fungsi lain dipanggil. Di-mana prosesor lainnya akan mendorong param-eter pada stack untuk rutin untuk disebut popo�, prosesor SPARC hanya "memutar" windowregister untuk memberikan rutinitas disebut satuset register baru.

5 Penutup

Scalable Processor ARChitecture (SPARC)memungkinkan prosesor berperforma tinggi danimplementasi sistem pada variasi harga/kinerjapada teknologi. Prosesor SPARC terdiri dari 2macam register yaitu : general-purpose dan kon-trol/status register. General-purpose register IUdisebut r register. Sedangkan general-purposeregister FPU disebut f register. Coprocessorbekerja pada register-register yang mengimple-mentasikan coprocessor secara dependent. In-struksi pada SPARC terbagi menjadi 3 yaitu for-mat satu, format dua, format tiga yang masing-

masing memiliki fungsi khusus tersendiri

Daftar Pustaka

[1] http://searchservervirtualization.tech-target.com/de�nition/SPARC

[2] http://www.sparcproductdirectory.com/sparccpu.html

[3] http://www.fcet.sta�s.ac.uk/jdw1/sucfm/sucfmcomputers.htm

[4] William Stalling, Computer Organizationand Architecture : 5th edition.2000

[5] The SPARC Architecture Manual:Version 8,U.S.A : SPARC International,Inc, 1992

[6] http://www.academic.marist.edu/~jzbv/ar-chitecture/Projects/S2002/SPARC/inst_type.html

Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434

11