Volume 10 No : 2
ISSN Nomor : 1412-9434
2011
JURNAL ILMIAH
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
PENGASUH
JURNAL ILMIAH
JURNAL ILMIAH KOMPUTASI
KOMPUTASI
Pelindung: Prof. ES. Margianti, SE., MM Prof. Suryadi H.S., SSi., MM Drs. Agus Sumin, MMSI
Komputer & Sistem Informasi
DAFTAR ISI
Penanggung Jawab: Prof. Dr. Sarifuddin Madenda
Dewan Redaksi/Reviewer: 1. 2. 3. 4. 5. 6. 7. 8.
Prof. Dr. Didin Mukhodim Drs. Tjahjo Dwinurti T., MM Prof. Dr. Sarifuddin Madenda Dr. Lussiana ETP Hj. Latifah, SSi., MMSI Rosalina Lokolo, SE., MM Eko Hadiyanto, SSi., MMSI 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
Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434
Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak SPARC 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 skalabilitasnya, seperti yang dilihat oleh para perancang SPARC, adalah spektrum yang luas dari implementasi harga dibanding unjuk kerja (Price/Performance), dimulai dari mikrokomputer sampai SuperKomputer. Prosesor SPARC terdiri dari 2 macam register yaitu : general-purpose dan kontrol/status register. General-purpose register IU disebut r register. Sedangkan general-purpose register FPU disebut f register. Coprocessor bekerja pada register-register yang mengimplementasikan coprocessor secara dependent. Instruksi pada SPARC terbagi menjadi 3 yaitu format satu, format dua, format tiga yang masing-masing memiliki fungsi khusus tersendiri. Scalable Processor ARChitecture (SPARC) memungkinkan untuk prosesor performa tinggi dan implementasi sistem pada variasi harga/kinerja pada teknologi
Kata Kunci : SPARC, IU, FPU, Processor.
1 Pendahuluan
Amerika Serikat, Eropa dan Jepang.
Arsitektur SPARC dimulai oleh Sun Microsystem
mentasi SPARC yang diproduksi oleh Fujitsu Mi-
Inc yang berlokasi di Mountain View, California.
croelectronics Inc dari Jepang.
Sebelum mengumumkan SPARC, Sun Microsys-
SPARC level paling atas adalah SuperSPARC,
tems memproduksi keluar Sun Workstation yang
sebuah join ventura dari Sun Microsystems dan
terkenal berbasis M68000.
Texas Intruments (TI) di Houston, Texas.
Yang pertama kali dipasarkan adalah imple-
Salah satu hal yang
membedakan SPARC dari sistem RISC adalah
Implementasi
Nama SPARC adalah kepanjangan dari Scal-
Sun tidak memiiki sejarah dalam dunia permikro-
able Processor ARChitecture.
prosesoran (baik CISC maupun RISC) sebelum-
bilitasnya, seperti yang dilihat oleh para per-
nya, sehingga ia tidak memiliki kekuatiran akan
ancang
kompabilitas piranti lunak (software). Para per-
dari implementasi harga dibanding unjuk kerja
ancang SPARC dapat memulai merancang dari
(Price/Performance),
dasar yang bersih.
puter sampai SuperKomputer.
SPARC,
adalah
Konsep skala-
spektrum
dimulai
dari
yang
luas
mikrokom-
Skalabilitas dari
Hal lain yang memembedakan Sun dari pem-
SPARC juga dapat diartikan dalam jumlah Reg-
buat mikroprosesor RISC adalah Sun tidak mem-
ister dalam CPU yang dapat digunakan pada be-
produksi mikropsrosesornya, Sun hanya meran-
ragam versi produk yang mengimplementasikan
cangnya saja.
Sun Microsystems merancang
arsitektur SPARC. Arsitektur SPARC mengikuti
arsitektur SPARC, dan memproduksi worksta-
loso rancangan RISC dari Berkeley dengan
tion yang mengimplementasikan mikroprosesor
menekankan pentingnya le register CPU yang
SPARC
terke-
relatif besar dan mengimplementasikan tur jen-
mikroprosesor-
dela register yang sama (similar register window).
nal
(SPARCStation
dan
populer).
mikroprosesor sitektur keluar
yang
SPARC pada
para
adalah
Produksi
paling
mengimplementasikan
adalah
dengan
pembuat
ar-
SPARC (Scalable Processor ARChitecture)
melisensikan
adalah sebuah arsitektur mikroprosesor 32 dan
mikroprosesor
di
64 bit yang didasarkan pada Reduced Instruc-
1
Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434 tion Set Computing (RISC). SPARC telah men-
•
Mengurangi jumlah instruksi bahwa pros-
jadi arsitektur yang banyak digunakan untuk
esor harus melakukan sejumlah besar min-
perangkat keras yang digunakan dengan sistem
imal instruksi (satu ide dari RISC adalah
operasi berbasis UNIX, termasuk sistem solaris
bahwa
Sun sendiri.
Perbedaan antara Solaris dan je-
puter konvensional dapat dikurangi men-
nis lain dari Unix adalah bahwa Solaris menyedi-
jadi serangkaian operasi sederhana, mem-
akan kompatibilitas biner untuk aplikasi apakah
butuhkan arsitektur sederhana dan sebuah
itu berjalan pada laptop, atau pada server data-
mikroprosesor yang lebih ringkas).
center [1]. Sebagai arsitektur,
SPARC memungkinkan
•
berbagai
titik
price/performance
untuk
berbagai aplikasi, termasuk ilmiah/teknik, pem-
•
Masukan sebagai operasi prosesor sesedikit clock
memakan
waktu
untuk
mengakses.
malkan dan implementasi mudah perangkat keras Implementasi SPARC menyediakan
kom-
Mengurangi jumlah jenis alamat memori
kecepatan
rancang sebagai target untuk compiler mengopti-
kecepatan eksekusi yang sangat tinggi. Arsitek-
dalam
mungkin di microcode, yang memerlukan
rograman, real-time, dan komersial. SPARC di-
pipelined.
kompleks
yang prosesor perlu untuk menanganinya .
untuk spektrum implementasi chip dan sistem pada
instruksi
•
Menyediakan
bahasa
compiler
yang
mengkompilasi program yang dioptimalkan
tur SPARC telah dilisensikan ke beberapa pro-
untuk mikroprosesor SPARC dengan cara
dusen dan sekarang dianggap terbuka penuh dan
mengatur
non-proprietary [2].
perintah
agar
prosesor
dapat
menangani lebih esien.
Semua prosesor SPARC adalah jenis RISC. Tapi tidak semua prosesor RISC adalah SPARC. Artinya SPARC hanya jenis tertentu RISC prosesor, seperti halnya Intel Pentium adalah jenis
2 SPARC Procesors
tertentu prosesor CISC. Jenis lain dari RISC
Tabel 1 memberikan gambaran dari nama pros-
prosesor
Silicon
esor SPARC yang populer dilihat dari segi se-
Graphics MIPS. Jenis lain dari prosesor CISC
bagai pengguna atau spesikasi komputer yang
termasuk yang 680X0 Motorola, dan Zilog Z80.
berbasis SPARC [2].
termasuk
DEC
Alpha,
dan
Sebuah
prosesor
SPARC
secara
logis
ter-
diri dari unit integer (IU), unit oating-point (FPU), dan Coprocessor opsional (CP), masingmasing memiliki register sendiri.
Organisasi ini
memungkinkan untuk implementasi dengan kebersamaan proses yang maksimum antara integer, eksekusi oating-point, dan instruksi Coprocessor. Semua register, dengan kemungkinan pengecualian dari coprocessor itu, memiliki lebar 32 bit. Operan instruksi umumnya single register, register pairs, atau register quadruples.
Gambar 1: Mikroprosesor SPARC. [3]
Prosesor ini dapat menjadi salah satu dari dua mode: user atau supervisor. Dalam mode su-
Pada
bulan
mengu-
pervisor, prosesor dapat mengeksekusi instruksi
mumkan Sun Grid, menggunakan ribuan server
apapun, termasuk (atasan saja) instruksi privi-
untuk
leged.
diproses
Februari utilitas
2005,
dan
Sun
penyimpanan
di
Dalam mode user upaya untuk mengek-
bawah nama Software sebagai produk Layanan.
sekusi sebuah instruksi istimewa akan menye-
Ini adalah salah satu manifestasi pertama dari
babkan trap untuk perangkat lunak supervisor.
Cloud Computing. [3]
"user application" program adalah program yang
Secara berikut [1] :
umum
arsitektur
SPARC
sebagai
mengeksekusi sedangkan prosesor dalam modus user.
2
Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434 Tabel 1: Sekilas Procesor SPARC.
2.1
Integer Unit (IU) r Register
Terdiri dari 32 bit r register.
Register tersebut
terbagi dalam 8 register global dan 16 register set . Dari 16 register set itu kemudian dibagi lagi menjadi 8 register in dan 8 register local. Selain register global disebut register window. IU mengontrol keseluruhan operasi prosesor. IU mengeksekusi instruksi aritmatika integer dan alamat memori komputer untuk load dan store. Hal ini juga menjaga counter program dan kontrol eksekusi instruksi untuk FPU dan CP. Fitur arsitektur SPARC memiliki le register yang besar, lebih dari 100 register. Suatu prosedur yang berjalan pada SPARC dapat mengakses hanya 32 regiter, yaitu r0 sampai r31. Register window diberikan pada tiap prosedur.[5]
2.1.1 Window r Register Pada register window itu terdiri dari 8 register in dan 8 register lokal pada register set. Sedangkan pengalamatan diluar window sebagai register out. Nomor pada window atau register set (NWINDOWS) berkisar dari 2 sampai 32 tergantung pada pemakaiannya. Berikut adalah penjelasan secara rincinya :
Tabel 2: Pengalamatan Window.
Window overow dan underow dapat dideteksi oleh register WIM (Window Invalid Mask), yang dikontrol melalui software supervisor.
•
r31 sampai r24 adalah ins, berisi parameter input yang dilewatkan ke prosedur dari prosedur pemanggil.
•
r23 sampai r16 adalah locals, berisi parameter lokal dari prosedur.
• Gambar
2:
Blok
UltraSPARC-I/II [4].
diagram
sederhana
r15 sampai r8 adalah outs, berisi parameter keluaran yang akan dilewatkan kepada prosedur selanjutnya
3
Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434 untuk selanjutnya jika kompatible akan diberikan nilai 0 oleh software.
2.1.4 Special r Registers Jika r[0] maka sebagai source operand. Nilai konstanta 0 dibaca. Tetapi jika r[0] digunakan sebagai destination operand maka data yang ditulis tidak akan disimpan ( tidak ada register r yang termodikasi).
Perintah CALL akan tertulis di
dalam register r[15]. Ketika trap terjadi program counter pada PC dan nPC akan disalin ke register r[17] dan r[18] pada register trap window yang baru. Gambar
3:
Tiga
windows
yang
bertumpang
tindih dan register globals.
Seperti yang terlihat pada gambar 3 register outs dari prosedur pemanggil secara sik adalah register ins dari prosedur yang dipanggil.
Prosedur pemanggil melewatkan parameter
kepada prosedur yang dipanggil melalui register outs-nya, yang merupakan register ins dari prosedur yang dipanggil. Window saat ini di tentukan oleh current window state
pointer
register
(CWP)
(PSR).
pada
Jumlah
saat
processor
aktual
(kejadi-
an) dari window dalam implementasi sebuah SPARC tidak terlihat oleh user-application program. Ketika IU mengakses sebuah intruksi dari memori, menambahkan ke alamat sebuah ruang alamat identier, atau ASI, yang mengkodekan apakah prosesor dalam mode supervisor atau user mode, dan apakah akses ini adalah untuk memori
Gambar 4: Register w Windowed r
instruksi atau memori data. Jadi, jika prosedur menggunakan window w0
2.1.2 Overlapping of Windows Setiap window itu terdiri dari in dan out.
untuk mengeksekusi RESTORE, maka window w1 akan menjadi window saat ini. Ji-
Tetapi ji-
ka procedure menggunakan window w0 untuk
ka out dari CWP +1 berarti window saat ini
mengeksekusi
adalah in.
dow_overow trap .Untuk menanganinya meng-
Sedangkan jika out berarti CWP-
1 dari window yang in saat ini.
Sedangkan lo-
SAVE
maka
akan
terjadi
win-
gunakan w7 locals.
cal adalah berbeda-beda (unik) pada setiap atau masing masing window.
2.1.3 Doubleword Operands
2.2 IU Control/Status Register Terdiri dari : Processor State Register (PSR), di-
Perintah yang mengakses doubleword dalam reg-
mana 32 bit PSR berisi bermacam macam eld
ister r merupakan urutan even-odd register. Jadi
yang mengontrol prosesor dan memegang status
LSB pada alamat register r akan disimpan dan
dari suatu informasi.[5]
4
Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434
PSR_Overow
(v)
:
Bit
21
menunjukan
apakah hasil ALU berada dalam kisaran notasi 32 bit 2`s complement pada instruksi akhirnya atau tidak.
Gambar 5: Isi dari PSR. Berikut
adalah
penjelasan
dari
masing-
masing eld, yaitu : (impl) : bit 31 sampai
28 merupakan hardwired untuk mengenali jenis dari implementasi suatu arsitektur dari hardware.
Jadi seharusnya hardware
tersebut tidak berubah atau berganti eld lain sehingga dapat menanggapi printah WRPSR (write PSR).
PSR_Version(Ver) pakan
PSR_Carry terjadi
PSR_implementation
Dimana 1=overow
dan 0=no overow (c) : Bit 20 menunjukan apakah carry
(atau
borrow)
pada
2`s
complement pada instruksi akhirnya atau tidak. Dimana 1=carry dan 0= no carry
PSR_Reserved
: Bit 19 sampai 14 merupakan
bit yang disimpan atau dicadangkan (reserved). Ketika instruksi RDPSR membaca , bit bit tersebut akan mengirimkan 0 (zeros).
: Bit 27 sampai 24 meru-
implementation-dependent,
untuk
mengenali satu atau lebih dari suatu implementasi hardware atau membaca dan menulis state dari eld yang digunakan sebagai implementation-dependent.
PSR_Integer_Cond_Codes
PSR_Enable
_Coprocessor
menentukan
(EC)
apakah
:
Bit
13
implementation-
dependent coprocessor tersedia atau tidak. Jika tidak maka instruksi coprosesor akan mengalami trap. Dimana 1= enabled dan 0=disabled
(icc) :
Bit 23
sampai 20 merupakan kode kode dari kondisi IU. Bit-bit ini dimodikasi oleh perintah aritmatik dan logika dimana nama terakhirnya ditambahkan cc (misal : ANDcc), dan oleh perintah WRSPR.
PSR_Enable_Floating-point menentukan tidak.
apakah
(EF) : Bit 12
FPU
tersedia
atau
Jika tidak maka instruksi oating
point akan mengalami trap. Dimana 1=enabled dan 0=disabled.
PSR_proc_Interrupt_Level
(PIL) : Bit 11
(MSB) sampai 8 (LSB) akan mengenali atau mengidentikasi level interrupt yang diterima oleh processor.
PSR_Supervisor
(S)
:
Bit
7
menentukan
Gambar 6: Integer Condition Codes (icc) Fields
apakah processor berada pada mode super-
dari PSR.
visor atau mode user. Dimana 1= Supervisor mode dan 0= user mode
Berikut
adalah
penjelasan
dari
masing-
masing eld, yaitu :
PSR_negative
menghasilkan
:
Bit
23
menunjukan
bilangan
akhirnya
atau
negatif
pada
tidak.
in-
Dimana
1=negative dan 0=not negative.
PSR_Zero
(PS)
:
Bit
6
berisi nilai dari S bit pada satu waktu dari (n)
apakah pada 32 bit 2`scomplement ALU struksi
PSR_Previous_Supervisor trap yang paling baru.
PSR_Enable_Traps
(ET)
:
Bit
5
tukan apakah trap tersedia atau sudah diaktifkan.
Ketika ET=0 maka trap secara
otomatis akan mereset ET ke 0. (z) :
Bit 22 menunjukan apakah
pada 32 bit ALU menghasilkan nilai 0 (zero) pada instruksi akhirnya atau tidak. Dimana 1=Zero dan 0= non Zero
menen-
Dimana
1= Traps enabled dan 0=traps disabled
PSR_Current_Winsow_Pointer
(CWP) :
Bit 4 (MSB) sampai 0 (LSB) terdiri dari
5
Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434 current window pointer.
Counter mengi-
TBR_Zero
(0) :
bit 3 sampai 0 merupakan
dentikasi current window di dalam regis-
zero. Instruksi WRTBR tidak berpengaruh
ter r.
pada eld ini.
2.2.1 Window Invalid Mask Register 2.2.3 Multiply/Divide Register (Y) (WIM) WIM dikontrol oleh software supervisor dan digu-
32 bit register Y berisi most signicant word dari
nakan oleh hardaware untuk menentukan apakah
double-precision product pada integer multiplica-
window overow atau underow trap.
tion (SMUL, SMULcc, UMUL, UMULcc), selain itu juga memegang most signicant word untuk integer divide (SDIV, SDIVcc, UDIV, UDIVcc).
2.2.4 Program Counters (PC, nPC) Gambar 7: WIM Fields.
32 bit PC berisi alamat pada instruksi yang saat
WIM[n] berkorespondensi pada alamat register set ketika CWP=n. Ketika instruksi SAVE, RESTORE atau RETT sedang mengeksekusi, ni-
ini sedang dieksekusi oleh IU. Sedangkan nPC memegang alamat untuk mengeksekusi instruksi selanjutnya (asumsi : trap tidak terjadi).
lai dari CWP akan dibandingkan dengan WIM. Jika instruksi SAVE, RESTORE, atau RETT menyebabkan invalid pada register set, maka korespondensi
bit
WIM=1
(WIMP[CWP]=1),
disebabkan karena window_overow atau window_underow.
2.2.5 Ancillary State Register ( ASR) SPARC menyediakan 31 ASR dengan nomor dari 1 sampai 31. Nomor 1-15 disimpan atau dicadangkan untuk digunakan suatu saat nanti oleh suatu arsitektur. Nomor 16-31 tersedia untuk penggu-
2.2.2 Trap Base Register (TBR)
naan implementation-dependent seperti timers, counters, diagnostic registers, dll.
TBR berisi 3 eld, dimana ketiga eld tersebut sama dengan alamat yang mengontrol proses transfer atau pemindahan ketika traps terjadi.
2.2.6 IU Deferred-Trap Queue Sebuah implementasi dapat terdiri dari 0 (zero) atau lebih deferred-trap queue. IU Deferred-Trap Queue dapat dibaca dan ditulis melalui hak istimewa (privileged) load/store bergantian.
Gambar 8: TBR Fields.
Berikut
adalah
penjelasan
dari
masing-
masing eld, yaitu :
TBR_Trap_base_address
2.3 Floating-point Unit (FPU) f Register
(TBA) : Bit 31
sampai 12 dibuat oleh software supervi-
Sebuah FPU berisi 32 32-bit oating point f reg-
sor. Terdiri dari 20 MSB pada tabel alamat
ister, yang bernomor dari f[0] sampai f[31]. Tidak
trap.
seperti window r register, pada suatu waktu se-
TBR_trap_type
buah instruksi dapat mengakses salah satu dari (tt) : Bit 11 sampai 4 meru-
32 f register. F register dapat dibaca dan ditulis
pakan tt eld. 8 bit eld ditulis oleh hard-
dengan FPop(format FPop1/FPop2) dan dengan
ware ketika trap terjadi dan tetap menjaga
load/store single/double instruksi oating point
nilainya sampai proses trap selanjutnya.
(LDF,LDDF,DTF,STDF).[5]
6
Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434 FPU control/status register, yaitu :
Floating-
Point State Register (FSR), dimana Sebuah blok register FSR berisi informasi mode dan status dari FPU. FSR akan dibaca dan ditulis oleh instruksi STFSR dan LDFSR.
Gambar 9: Register f.
Gambar 10: Blok FSR.
Sebuah single f register dapat menampung menyimpan single presisi operand, sebuah double presisi operand memerukan sepasang f regis-
Berikut
adalah
masing-masing
penjelasan
dari gambar 10, yaitu :
ter, dan quad presisi operand memerlukan 4 deret grup f register.
Dengan demikian pada suatu
waktu, f register dapat menyimpan maksimum 32
FSR_rounding_direction
(RD)
:
meru-
single presisi, 16 double presisi, atau 8 quad pre-
pakan bit ke 31 dan 30 yang memilih arah
sisi operand. Floating-point load/store instruksi
pembulatan untuk hasil oating point men-
yang digunakan untuk memindahkan data antara
gacu pada standard ANSI/IEEE 754-1985
FPU dan memori sedangkan Floating-Point operate (FPop) instruksi digunakan untuk melakukan oating-point aritmatika yang sebenarnya. Format data oating-point dan set instruksi sesuai
FSR_unused
(u) :
merupakan bit 29,28 dan
12 yang tidak digunakan
dengan IEEE Standard untuk Binary Floatingpoint
Arithmetic,
1985.
Namun,
semua
aspek
ANSI/IEEE SPARC
standar,
Standard
754-
mengharuskan
seperti
FSR_trap_enable_mask
(TEM):
meru-
underow
pakan bit ke 27 sampai 23 adalah pengaktif
diimplementasikan dalam perangkat
bit untuk masing-masing dari lima eksepsi
keras. Implementasi dapat menunjukkan bahwa
oating-point yang dapat merujuk pada
instruksi oating-point tidak menghasilkan ANSI
blok current_exception (cexc)
bertahap,
dari
tidak
/ IEEE Standard 754-1985 hasil yang benar dengan menghasilkan pengecualian oating-point khusus yang belum selesai atau belum diimple-
FSR_nonstandard_fp
(NS) : merupakan bit
mentasikan. Software harus meniru setiap fungsi
ke 22 ketika bernilai 1 menyebabkan FPU
yang tidak ada dalam perangkat keras.
memproduksi hasil yang tidak sesuai den-
Jika FPU tidak ada, atau jika bit enable
gan standard ANSI/IEEE 754-1985.
oating-point (EF) pada PSR adalah 0, upaya untuk mengeksekusi instruksi oating-point akan menghasilkan fp_disabled trap. Dalam kedua ka-
FSR_reserved
(res) : bit ke 21 dan 20 sebagai
sus ini, software harus meniru instruksi oating-
cadangan FSR_version (ver) :
point trap.
sampai 17 mengidentikasi satu atau lebih
bit ke 19
implementasi tertentu dari arsitektur FPU.
2.3.1 FPU Control/Status Registers FPU
32-bit
control/status
register
termasuk
Floating point State Register (FSR) yang berisi informasi mode dan status tentang FPU, dan op-
FSR_Floating-point_trap_type
(ftt) : bit
ke 16 sampai 14 yang mengidentikasi jenis trap untuk eksepsi oating-point.
tional, implementation-dependent, oating point deferred trap queue (FQ). Berikut yang termasuk
7
Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434 implementasi. Namun, jika FQ hadir, supervisor software harus dapat menyimpulkan eksepsi akan menyebabkan instruksi opcode (opf ), operan, dan alamat dari entri FQ nya. Ini juga harus berlaku pada setiap penundaan lain operasi oating-point dalam antrian.
2.3.3 Coprocessor (CP) Register Semua data dan control/status register coprocessor adalah sebuah tambahan dan bergantung pada implementasi.
Working register coproces-
sor diakses melalui load/store coprocessor dan
Gambar 11: Jenis trap pada oating point.
format instruksi CPop1/CPop2.
Arsitekturnya
juga menyediakan instruksi untuk membaca Co-
FSR_FQ_not_empty
(qne)
:
bit
ke
13
mengindikasikan jika bernilai 1 maka antrian tidak kosong dan jika bernilai 0 antrian sedang kosong.
FSR_fp_condition_codes
(fcc) :
processor State Register (CPR) dan Coprocessor deferred-trap queue (CQ). Pada intinya coprocessor register ini akan membantu kerja dari register lainnya.[5]
bit ke 11
dan 10 berisi kode kondisi FPU
Gambar 12: Kode kondisi FPU.
FSR_accrued_exception
(aexc) :
bit ke 9
sampai 5 mengakumulasi eksepsi oatingpoint IEEE_754 ketika fp_exception trap di non aktifkan menggunakan blok TEM.
FSR_current_exception
(cexc) :
bit ke 4
sampai 0 mengindikasikan satu atau lebih eksepsi oating-point IEEE_754 yang di-
Gambar 13: Tipe instruksi SPARC.
hasilkan oleh kebanyakan dari eksekusi instruksi Fpop.
2.3.2 Floating-Point Queue (FQ)
Deferred-Trap 3
Instruksi
Seperti kebanyakan alat RISC, SPARC memiliki
Jika FQ ada dalam implementasi, cukup untuk
banyak instruksi yang dibagi kedalam beberapa
memberikan informasi keadaan untuk menerap-
jenis instruksi mesin.
kan resumable pada deferred oating-point trap.
beberapa jenis instruksi, arsitektur mesin lebih
Isi dan operasi pada FQ adalah tergantung dari
mudah di desain dan lebih mudah di optimalkan.
Dengan hanya memiliki
8
Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434 SPARC menggunakan instruksi yang panjangnya 32 bits.
Pada mesin memiliki 3 jenis tipe in-
struksi.
Pada SPARC itu disebut format1, for-
mat 2 and format 3 instruksi.
Tampilan dari
SPARC instruksi disajikan pada gambar 13.[6]
3.2
Format Dua Branch and Sethi Instructions
Format dua instruksi terutama instruksi percabangan yang terlihat seperti :
3.1 Format Satu - Jump Instruction Instruksi panggilan SPARC, digunakan untuk
Gambar 16: Instruksi Percabangan dan Sethi.
mentransfer kontrol ke mana saja di ruang alamat 32-bit tampak seperti pada gambar 14.
Seperti biasa, dua bit pertama menentukan jenis instruksi, cond adalah kondisi cabang dan op2 adalah operan untuk membandingkan terhadap sesuatu.
Jika bertemu dengan kontrol
mesin transfer ke lokasi yang ditentukan oleh
Gambar 14: Instruksi Jump.
memiliki Format Satu instruksi disebut instruksi CALL. Ketika instruksi ini ditemui, kendali dialihkan segera ke lokasi baru yang diberikan oleh Cara lokasi ditentukan konstan
digeser ditinggalkan oleh dua bit (untuk menciptakan sebuah kata 32-bit) dan PC diatur ke nilai ini ditambah dengan PC saat ini.
SPARC memberikan intstruksi
cabang ganda.
Jenis cabang ditentukan oleh
cond bit.
Hanya ada satu instruksi di alat SPARC yang
30 bit konstan.
22 bit konstan.
Jika cabang tersebut diambil, maka
PC di set untuk konstan bergeser kekiri sebesar 2 dan ditambahkan keprogram counter. Perhatikan bahwa ini hanya mengizinkan percabangan sampai 2^21 lokasi memori.
Untuk cabang
sepanjang jangkauan memori, penanganan memori dibutuhkan.
Lainnya Format dua instruksi
tanpa cabang disajikan pada gambar 17.
Pe-
rubahan alamat relatif ke program counter untuk memungkinkan program untuk dipindahkan Gambar 17: Instruksi Non Percabangan.
dalam memori tanpa mempengaruhi alamat yang ditentukan oleh instruksi panggilan. Gambar 15 adalah diagram blok dengan in-
Format dua instruksi ini dikenal sebagai sethi
struksi pada format satu, yang merupakan ek-
instruksi. Instruksi ini digunakan untuk load 32
sekusi pada integer unit (IU).
bit instruksi kedalam register. Untuk melakukan load, instruksi ini akan me-load 32 bit high dan kemudian melakukan instruksi "or" ini dipanggil untuk me-load 10 bit low dari word.
Gam-
bar 18 adalah diagram blok dengan instruksi pada format dua, yang merupakan eksekusi pada load/store unit.
3.3
Format Tiga: Algebraic Instructions
Instruksi umum.
ini
adalah
instruksi
yang
paling
Yang merupakan instruksi aljabar atau
load/store instruksi (kecuali Sethi). Instruksi ini memiliki sebuah register tujuan, yang disebut rd; instruksi specier disebut op3, dan register sumGambar 15: Unit Eksekusi Integer.
ber, disebut RS1. Sumber lain dari operasi dapat menjadi sumber lain register, yang disebut RS2
9
Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434 atau 13 bit konstan (untuk operasi segera). Per-
tama 4 instruksi untuk setiap trap handler. Ala-
hatikan, karena ini jenis format yang termasuk
mat dasar dari tabel dibuat dengan software pada
loads dan stores, ada potensial masalah karena
IU state register (Trap Base Register, TBR). Per-
hanya memilki 13 bit constant. Bagaimana da-
pindahan dalam tabel dikodekan tergantung jum-
pat memori dialamatkan pada batasan jangkauan
lah jenis dari masing-masing trap. Setengah dari
(2^13)?
tabel disiapkan untuk hardware traps, dan seten-
Untuk kasus ini, instruksi alamat rel-
ative terhadap frame pointer.
Pengalamatan
memori menjadi lebih lambat. Format dari for-
gah lainnya untuk software traps yang dihasilkan oleh trap instruksi.
mat tiga instruksi ini disajikan pada gambar 19.
Gambar 20: Unit Floating point dan Gras.
Gambar 18: Unit Load/Store.
Gambar 19: Instruksi Algebraic.
Seperti dapat dilihat, opcode dari 10 adalah
Gambar 21: Circular Register File.
instruksi aljabar yang memiliki dua operand dan sebuah register tujuan.
Opcode dari 11 adalah
operasi segera dan operasi load / store.
Gam-
bar 20 adalah diagram blok dengan instruksi pada format tiga, yang merupakan eksekusi pada Floating point dan gras unit.
4 Traps
Trap menyebabkan current window pointer (CWP) untuk maju ke window register berikutnya dan perangkat keras untuk menulis counter program kedalam dua register dari window baru. Trap handler dapat mengakses penyimpanan PC dan nPC dan, secara umum, dapat dengan bebas menggunakan 6 local register lainnya dalam window baru. Organisasi lingkaran register win-
Trap adalah vector transfer dari kontrol ke sistem
dow SPARC digambarkan pada gambar 21. Tam-
operasi melalui tabel trap spesial yang berisi per-
bahan register tersembunyi dari tampilan sam-
10
Jurnal Komputasi, Volume 10 Nomor: 2 Desember 2011 ISSN: 1412-9434 pai subrutin atau fungsi lain dipanggil.
Di-
masing memiliki fungsi khusus tersendiri
mana prosesor lainnya akan mendorong parameter pada stack untuk rutin untuk disebut pop o, prosesor SPARC hanya "memutar" window register untuk memberikan rutinitas disebut satu set register baru.
Processor
[2] http://www.sparcproductdirectory.com /sparccpu.html ARChitecture
(SPARC)
memungkinkan prosesor berperforma tinggi dan implementasi sistem pada variasi harga/kinerja pada teknologi.
[1] http://searchservervirtualization.techtarget.com/denition/SPARC
5 Penutup Scalable
Daftar Pustaka
Prosesor SPARC terdiri dari 2
macam register yaitu : general-purpose dan kontrol/status register. General-purpose register IU disebut r register.
Sedangkan general-purpose
register FPU disebut f register.
Coprocessor
[3] http://www.fcet.stas.ac.uk/jdw1/sucfm /sucfmcomputers.htm [4] William
Stalling,
Computer
Organization
and Architecture : 5th edition.2000 [5] The SPARC Architecture Manual:Version 8, U.S.A : SPARC International,Inc, 1992
bekerja pada register-register yang mengimplementasikan coprocessor secara dependent.
In-
[6] http://www.academic.marist.edu/~jzbv/ar-
struksi pada SPARC terbagi menjadi 3 yaitu for-
chitecture/Projects/S2002/SPARC/
mat satu, format dua, format tiga yang masing-
inst_type.html
11