pipeline power pc

47
I. PENDAHULUAN Pada dasarnya PowerPC adalah suatu Reduced Instruction Set Computer (RISC) yang memanfaatkan prinsip-prinsip rancangan superscalar dan mendukung konfigurasi multiple-processor. PowerPC merupakan turunan langsung dari sistem RISC pertama, yaitu IBM 801, dan merupakan sistem berbasis RISC yang paling handal dan memiliki rancangan terbaik yang ada dipasaran. Pada mikrokomputer, hubungan antara rancangan organisasional dan arsitektural sangat dekat. Perubahan teknologi komputer tidak hanya berpengaruh pada tingkat organisasinya saja tetapi juga pada hasil yang terjadi pada tingkat arsitektural yang lebih baik dan lebih kaya. Umumnya, terdapat persyaratan bagi kompatabilitas antara generasi yang satu kegenerasi yang lain pada mesin komputer. Dengan demikian, terdapat pengaruh yang kuat antara keputusan rancangan organisasional dan arsitekural, seperti halnya pada RISC (Reduce Instruction Set Computer) yang mendasari organisasional dan arsitektural PowerPC.

Upload: jhon-elfan

Post on 31-Jul-2015

123 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Pipeline Power Pc

I. PENDAHULUAN

 

            Pada dasarnya PowerPC adalah suatu  Reduced Instruction Set Computer

(RISC) yang memanfaatkan prinsip-prinsip rancangan superscalar dan mendukung

konfigurasi multiple-processor. PowerPC merupakan turunan langsung dari sistem

RISC pertama, yaitu IBM 801, dan merupakan sistem berbasis RISC yang paling

handal dan memiliki rancangan terbaik yang ada dipasaran.

Pada mikrokomputer, hubungan antara rancangan organisasional dan

arsitektural sangat dekat. Perubahan teknologi komputer tidak hanya berpengaruh

pada tingkat organisasinya saja tetapi juga pada hasil yang terjadi pada tingkat

arsitektural yang lebih baik dan lebih kaya. Umumnya, terdapat persyaratan bagi

kompatabilitas antara generasi yang satu kegenerasi yang lain pada mesin komputer.

Dengan demikian, terdapat pengaruh yang kuat antara keputusan  rancangan

organisasional dan arsitekural, seperti halnya pada RISC (Reduce Instruction Set

Computer) yang mendasari organisasional dan arsitektural PowerPC.

            Arsitektur RISC merupakan perubahan dramatis pada kecenderungan

arsitektur komputer yang sekaligus merupakan salah satu penemuan  penting dalam

perkembangan organisasi dan arsitektur komputer saat ini. Inovasi baru yang sama

pentingnya adalah superscalar processor yang walaupun dapat digunakan pada

sembarang prosessor tetapi pada kenyataannya lebih cocok digunakan pada arsitektur

RISC.

 

Page 2: Pipeline Power Pc

II. REDUCED INSTRUCTION SET COMPUTERS (RISC)

             Perkembangan inovasi komputer sejak 1960 menambah satu daftar penemuan

yang sangat menarik dan paling penting , yaitu Arsitektur Reduced Instruction Set

computers ( RISC). Walaupun sistem RISC telah ditentukan dan dirancang dengan

berbagai cara berdasarkan komunitasnya, elemen penting yang digunakan sebagian

rancangan umumnya adalah sebagai berikut :

1.    Set instruksi yang terbatas dan sederhana

2.    Register general purpose berjumlah banyak atau penggunaaan teknologi kompiler

untuk mengoptimalklan penggunaan register.

3.    Penekanan pada pengoptimalan pipeline instruksi.

A. Karakteristik-Karakteristik Eksekusi Instruksi

            Salah satu evolusi komputer yang besar adalah evolusi bahasa pemprograman.

Bahasa pemprograman memungkinkan programmer dapat mengekspresikan algoritma

lebih singkat, lebih memperhatikan rincian, dan mendukung penggunaan

pemprograman terstruktur, tetapi ternyata muncul masalah lain yaitu semantic gap,

yaitu perbedaan antara operasi-operasi yang disediakan oleh HLL dengan yang

disediakan oleh arsitektur komputer, ini ditandai dengan ketidakefisienan eksekusi,

program mesin yang berukuran besar, dan kompleksitas kompiler. Untuk mengurangi

kesenjangan ini para perancang menjawabnya dengan arsitektur. Fitur-fiturnya

meliputi set-set instruksi yang banyak, lusinan mode pengalamatan, dan statemen –

statemen HLL yang diimplementasikan pada perangkat keras. Set-set instruksi yang

kompleks tersebut dimaksudkan untuk :

1.    Memudahkan pekerjaan kompiler

Page 3: Pipeline Power Pc

2.    Meningkatkan efisiensi eksekusi, karena operasi yang kompleks dapat

diimplementasikan didalam mikrokode.

3.    Memberikan dukungan bagi HLL yang lebih kompleks dan canggih.

             Oleh karena itu untuk memahami RISC perlu memperhatikan karakteristik

eksekusi instruksi. Adapun aspek-aspek komputasinya adalah :

1.    Operasi-operasi yang dilakukan , untuk menentukan fungsi-fungsi yang akan

dilakukan oleh CPU dan interaksinya dengan memori.

2.    Operand-operand yang digunakan, karena jenis-jenis operand dan frekuensi

pemakaiannya akan menentukan organisasi memori untuk menyimpannya dan

mode pengalamatan untuk mengaksesnya.

3.    Pengurutan eksekusi, untuk menentukan kontrol dan organisasi pipeline.

1. Operasi

Beberapa penelitian telah menganalisis tingkah laku program HLL (High

Level Language). Assignment Statement sangat menonjol yang menyatakan bahwa

perpindahan sederhana merupakan satu hal yang penting. Hasil penelitian ini

merupakan hal yang penting bagi perancang set instruksi mesin yang

mengindikasikan jenis instruksi mana yang sering terjadi karena harus didukung

optimal.

2. Operand

Page 4: Pipeline Power Pc

Penelitian Paterson telah memperhatikan [PATT82a] frekuensi dinamik

terjadinya kelas-kelas variabel. Hasil yang konsisten diantara program pascal dan C

menunjukkan mayoritas referensi menunjuk ke variable scalar. Penelitian ini telah

menguji tingkah laku dinamik program HLL yang tidak tergantung pada arsitektur

tertentu. Penelitian  [LUND77] menguji instruksi DEC-10 dan secara dinamik

menemukan setiap instruksi rata-rata mereferensi 0,5 operand dalam memori dan rata-

rata mereferensi 1,4 register. Tentu saja angka ini tergantung pada arsitektur dan

kompiler namun sudah cukup menjelaskan frekuensi pengaksesan operand sehingga

menyatakan pentingnya sebuah arsitektur.

3.   Procedure Calls

Dalam HLL procedure call dan return merupakan aspek penting karena

merupakan operasi yang membutuhkan banyak waktu dalam program yang

dikompalasi sehingga banyak berguna untuk memperhatikan cara implementasi

opperasi ini secara efisien. Adapun aspeknya yang penting adalah jumlah parameter

dan variabel yang berkaitan dengan prosedur dan kedalaman pensarangan (nesting).

4.   Implikasi

Secara umum penelitian menyatakan terdapat tiga buah elemen yang

menentukan karakter arsitektur RISC :

1.    Penggunaan register dalam jumlah besar yang ditunjukan untuk

mengotimalkan pereferensian operand.

2.    Diperlukan perhatian bagi perancangan pipelaine instruksi karena tingginya

proporsi instruksi pencabangan bersyarat dan procedure call, pipeline

instruksi yang bersifat langsung dan ringkas menjadi tidak efisien

Page 5: Pipeline Power Pc

3.    Terdapat set instruksi yang disederhanakan

 

B. Karakteristik  Arsitektur Reduced Instruction Set Computers (RISC)

            Arsitektur RISC memiliki beberapa karakteristik diantaranya :

 

1.      Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah

operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya

kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih

kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin

CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus hanya

dibutuhkan satu mikrokode atau tidak sama sekali, instruksi mesin dapat

dihardwired. Instruksi seperti itu akan dieksekusi lebih cepat dibanding yang

sejenis pada yang lain karena tidak perlu mengakses penyimapanan kontrol

mikroprogram saat eksekusi instruksi berlangsung.

2.      Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load

dan store yang mengakses memori . Fitur rancangan ini menyederhanakan set

instruksi sehingga menyederhanakan pula unit control. Keuntungan lainnya

memungkinkan optimasi pemakaian register sehingga operand yang sering diakses

akan tetap ada di penyimpan berkecepatan tinggi. Penekanan pada operasi register

ke register merupakan hal yang unik bagi perancangan RISC.

3.      Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi

menggunakan pengalamatan register,. Beberapa mode tambahan seperti

pergeseran dan pe-relatif  dapat dimasukkan selain itu banyak mode kompleks

Page 6: Pipeline Power Pc

dapat disintesis pada perangkat lunak dibanding yang sederhana, selain dapat

menyederhanakan sel instruksi dan unit kontrol.

4.      penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan

disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena

dengan menggunakan field yang tetap pendekodean opcode dan pengaksesan

operand register dapat dilakukan secara bersama-sama

 

C. Ciri-Ciri RISC

1. Instruksi  berukuran tunggal

2. Ukuran yang umum adalah 4 byte

3. Jumlah pengalamatan data sedikit, biasanya kurang dari 5 buah.

4. Tidak terdapat pengalamatan tak langsung yang mengharuskan melakukan

sebuah akses memori agar memperoleh alamat operand lainnya dalam memori

5. Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi

aritmatika, seperti penambahan ke memori dan penambahan dari memori.

6. Tidak terdapat lebih dari satu operand beralamat memori per instruksi

7. Tidak mendukung perataan sembarang bagi data untuk operasi load/ store

8. Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data

adalah sebuah instruksi .

Page 7: Pipeline Power Pc

9. Jumlah bit bagi integer register spesifier sama dengan 5 atau lebih, artinya

sedikitnya 32 buah register integer dapat direferensikan sekaligus secara

eksplisit.

10. Jumlah bit floating point register spesifier sama dengan 4 atau lebih, artinya

sedikitnya 16 register floating point dapat direferensikan sekaligus secara

eksplisit.

Beberapa prosesor implementasi dari arsiteketur RISC adalah AMD 29000, MIPS R2000, SPARC, MC 88000, HP PA, IBM RT/TC, IBM RS/6000, intel i860, Motorola 88000 (keluarga Motorola), PowerPC G5.

Page 8: Pipeline Power Pc

III. POWERPC

 

            Proyek mini komputer 801 di IBM pada tahun 1975 mengawali banyak

konsep arsitektur yang digunakan dalam sistem RISC. 801 bersama dengan prosessor

RISC I Berkeley, meluncurkan gerakan RISC, namun 801 hanya merupakan prototipe

yang ditujukan untuk mengenalkan konsep disain. Keberhasilan memperkenalkan 801

menyebabkan IBM membangun produk workstation RISC komersial yaitu PC RT

pada tahun 1986, dengan mengadaptasi konsep arsitektural 801 kedalam kinerja yang

sebanding atau yang lebih baik. IBM RISC System/6000 merupakan mesin RISC

superscalar yang dipasarkan sebagai workstation berunjuk kerja tinggi, tidak lama

kemudian IBM mengkaitkan mesin ini sebagai arsitektur POWER.

            IBM kemudian menjalin kerjasama dengan Motorola, pembuat mikroprosessor

seri 6800, dan Apple, yang menggunakan keping Motorola dalam komputer

Macintoshnya dan hasilnya adalah seri mesin yang mengimplementasikan arsitektur

PowerPC yang diturunkan dari arsitektur POWER dan merupakan sistem RISC

superscalar. Sejauh ini diperkenalkan empat anggota kelompok PowerPC yaitu

1. 601,merupakan mesin 32-bit yang ditujukan  untuk membawa arsitektur PowerPC

kepasar secepat mungkin.

2. 603, merupakan mesin 32-bit yang ditujukan bagi low-end desktop dan komputer

portable dengan implementasi yang lebih efesien.

3. 604, merupakan mesin 32-bit yang ditujukan bagi low-end server dan desktop,

dengan menggunakan  teknik rancangan superscalar lanjutan guna mendapatkan

kinerja yang lebih baik.

Page 9: Pipeline Power Pc

4. 620, ditujukan bagi high-end server, sekaligus merupakan kelompok PowerPC

pertama yang mengimplementasikan arsitektur 64 bit penuh, termasuk regiater 64-

bit dan lintasan data.

 

A.  SISTEM KOMPUTER

1. Organisasi Cache

Organisasi PowerPC telah mengalami modifikasi dengan masing-masing

model dalam kelompok PowerPC, yang menggambarkan terobosan terus-menerus

pada unjuk kerjanya yang memaksa para perancang microprocessor untuk melakukan

perbaikan. Tabel berikut menggambarkan evolusi cache-cache internal PowerPC

 

Model orisinalnya, 601 mencakup cache code/data 32 Kbyte tunggal yang

merupakan asosiatIf set delapan arah. Model 603 menggunakan rancangan RISC yang

lebih canggih namun memiliki cache yang lebih kecil : 16 KB yang terbagi menjadi

cache instruksi dan cache data  yang terpisah, keduanya menggunakan organisasi

asosiatif set dua arah. Hasilnya, 603, menghasilkan unjuk kerja yang hampir sama

dengan 601 namun dengan harga yang lebih murah, sedangkan untuk model 604 dan

Model Ukuran Bytes/Line Organisasi

PowerPC 601 1 32-KB 32 8-way set Associative

PowerPC 603 2 8-KB 32 2-way set associative

PowerPC 604 2 16-KB 32 4-way set associative

PowerPC 620 2 32-KB 64 8-way set associative

Page 10: Pipeline Power Pc

602 masing-masing menggandakan ukuran cachenya dari model-model yang

terdahulu.

            Keluarga PowerPC memiliki bentuk organisasi yang sama, dimana unit-unit

eksekusi inti merupakan Arithmatic Logic Unit (ALU), yang dapat mengeksekusi

secara paralel, dan suatu floating point yang memiliki register dan komponen pengali

dan pembaginya sendiri. Data cache dapat menerima operasi-operasi integer dan

floating point melalui unit load/store, sedang cache-cache internal merupakan

asosiatif set delapan arah dan menggunakan protokol koherensi cache MESI

(Modified/Exlusive/Shared/Invalid), yang dikembangkan untuk mencakup sebuah

keadaan baru yang disebut Allocated (A). Keadaan ini digunakan bila blok data dalam

sebuah saluran disapu keluar dan digantikan. Keadaan ini akan menjadi A sampai data

yang lama dituliskan keluar dan data baru dituliskan kedalam.

2.    Manajemen Memori

   PowerPC menyediakan sejumlah mekanisme pengalamatan yang

komprehensif. Untuk implementasi arsitektur 32-bit, diimplementasikan teknik

paging dengan menggunakan mekanisme segmentasi yang sederhana, sedangkan

untuk implementasi 64-bit dapat menggunakan teknik paging dan mekanisme

segmentasi yang kebih baik. Selain itu, bagi mesin 32-bit dan 64-bit terdapat sebuah

mekanisme alternatif, yang dikenal sebagai penerjemahan alamat blok. Teknik

pengalamatan blok dirancang untuk menutupi kekurangan yang diakibatkan oleh

mekanisme paging.

            Dengan teknik paging, sejumlah besar page dapat sering direferensikan oleh

program, seperti program yang menggunakan tabel OS atau buffer frame dapat

menimbulkan tingkah laku seperti ini, sehingga mengakibatkan page-page yang sering

Page 11: Pipeline Power Pc

digunakan akan secara terus-menerus dipage-in dan out. Teknik pengalamatan blok

memungkinkan prosesor memetakan empat buah blo besar dengan tidak

menggunakan mekanisme paging.

2.1. Manajemen Memori PowerPC 32-bit

PowerPC 32-bit menggunakan alamat efektif 32-bit yang meliputi pengenal

page 16-bit dan selector 12-bit. Jadi digunakan = 4 KB page, diizinkan pula  

page per segmen. Empat bit dari alamat digunakan untuk menandakan salah satu dari

16 buah register segmen. Isi register-regiter ini dikontrol oleh sistem operasi. Setiap

register segmen meliputi bit-bit kontrol akses dan sebuah identifier 24-bit, sehingga

alamat efektif 32-bit memetakan ke dalam alamat virtual 52-bit

PowerPC menggunakan inverted page tabel tunggal. Alamat virtual digunakan

untuk mengindekskan kedalam page tabel dengan cache sebagai berikut :

Kode hash dihitung H(0…19)=SID(5…23) VPN(0…18).

Nomor virtual page dalam alamat virtual diisikan kebagian kiri (sisi paling

berarti) dengan tiga buah nol untuk membentuk bilangan 19-bit. Selanjutnya bit perbit

XOR akan dihitung kebilangan tersebut dan 19 bit paling kanan dari ID segmen

virtual untuk membentuk kode hash 19-bit. Tabel diatur menjadi n kelompok yang

terdiri dari 8 buah entri. Dari 10 sampai 19 bit kode hash (tergantung dari ukuran page

tabel). Kemudian hardware akan manajemen memori melacak delapan entri dalam

kelompok untuk dicocokan dengan alamat virtual. Dalam mencari kecocokan, setiap

page tabel entry meliputi ID segmen virtual dan 6 bit paling kiri dari nomor virtual

page, yang disebut abbreviated page index (karena sedikitnya 10 bit dari nomor

virtual page 16-bit selalu berpartisipasi di dalam hash untuk memilih kelompok page

Page 12: Pipeline Power Pc

tabel entry, hanya bentuk-bentuk singkat nomor virtual page yang perlu dibawa ke

page tabel entry agar cocok secara unik dengan alamat virtual).

Bila cocok maka nomor real page 20-bitdari alamat dirangkaikan dengan 12

bit terrendah alamat efektif untuk membentuk alamat fisik 32-bit agar dapat diakses.

Bila tidak cocok, maka kode hash dikomplemenkan untuk menghasilkan indeks page

tabel yag baru yang berada pada posisi relatif yang sama disisi lain tabel. Kemudian

kelompok ini dilacak untuk dicocokan. Bila tidak ada yang cocok, sebuah page file

interrupt akan terjadi.

2.2. Manajemen Memori PowerPC 64 Bit

Teknik manajemen memori 64-bit dirancang untuk kompatibel dengan

implementasi 32-bit. Pada dasarnya, seluruh alamat efektif, general register, dan

register alamat pencabangan  dikembangkab pada bagian kiri dari 64-bit tersebut.

Untuk mengakomodasi kebutuhan pemetaan memori, pengguaan sederhana register

segmen digantikan oleh struktur segmen tabel ber-hash yang sama dengan struktur

page tabel seperti pada struktur page tabel 32-bit.

            Didalam segmen tabel, kelompok-kelompok entri segmen tabel berisi delapan

buah entri segmen tabel, setiap entri berisi segmen identifier efektif 36-bit, sebuah

virtual segmen identifier 52-bit, dan bit-bit proteksi akses dan selektor ruang I/O yang

sama seperti yang terdapat didalam register-register segmen pada implementasi 32-

bit. Seperti pada implementasi 32-bit, alamat efektif meliputi sebuah byte selektor 12-

bit dan nomor page 16-bit. 36 bit sisanya membentuk ID segmen efektif karena tidak

layak untuk mempunyai  register segmen, digunakan tabel segmen yang ber-hash.

Page 13: Pipeline Power Pc

            Segmen tabel terdiri dari 256 buah entri yang diorganisasikan sebagai 32 buah

kelompok yang masing-masing terdiri dari 8 entri. Hardware manajemen memori

menggunakan 5 bit bagian bawah ID segmen efektif intuk melakukan pengindeksan 

ke dalam tabel untuk memilih salah satu dari ke-32 kelompok itu. Bila dalam

kelompok ada yang cocok , dengan cara membandingkan ID segmen, maka kan

dibentuk alamat virtual 80-bit. Alamat ini terdiri dari virtual segmen ID 52-bit yang

berasal dari segmen tabel entri yang diisikan ke page dan field-field byte dari daripada

alamat efektif.

            Demikian pula, apabila tidak cocok maka 5 bit indeks akan dikomplemenkan

untuk mengindekskan ke tabel kedua kalinya. Bila terjadi ketidak cocokan pada

pencarian kedua, akan terjadi interrupsi page fault. Sisa dari terjemahan alamat, dri

alamat virtual menjadi alamat real , mengikuti struktur yang sama seperti pada alamat

32-bit. Dalam hal ini, nomor virtual page 16-bit di-hashkan dengan 39-bit rendah dari

nomor segmen virtual untuk memilih kelompok tabel entry. Format page tabel entry

64-bit memiliki virtual segmen ID 52-bit, sebuah page yang disingkat 52-bit, dan

nomor real page 52-bit. Hasil pemetaannya adalah alamat real 64-bit.

            Berikut tabel Parameter-Parameter Manajemen Memori PowerPC

Segmen Tabel Entry

Effective Segment ID Mengindikasikan salah satu segmen efektif 64G; digunakan untuk menentukan entri didalam tabel segmen

Entry Valid (V) bit Mengindikasikan apakah merupakan memori atau segmen I/O

Segmen Type (T) bit Mengindikasikan apakah merupakan memori atau segmen I/O

Supervisor Key (Ks) Digunakan dengan nomor page virtual untuk menetukan entri di dalam page tabel

 

Page 14: Pipeline Power Pc

Page tabel Entry

 Entry Valid (V) bit Mengindikasikan apakah terdapat data valid dalam entri ini

Hash Function Identifier (H) Mengindikasikan apakah merupakan entri hash primer atau sekunder

Abbreviated Page Index (API) Digunakan untuk mencocokan sebuah alamat virtual secara unik

Referenced (R) bit Bit disetel satu oleh prosesor ketika operasi read atau write dengan page tertentu terjadi

Changed (C) bit Bit ini disetel 1 oleh prosesor ketika operasi atau write dengan page tertentu terjadi

WIMG bit W=0  :  menggunakan write back policy,

W=1  : menggunakan write through policy

I=0    : caching tidak dihalangi

I=1    : caching dihalangi

M=0  : bukan memori yang dipakai bersama

M=1  : memori yang dipakai bersama

G=0   : memori yang tidak dijaga

G=1   : memori yang dijaga

Page Protection (PP) bit Bit-bit kontrol akses yang digunakan dengan K bit dari segmen register atau segmen tabel entry untuk menentukan hak akses

 

B.  KARAKTERISTIK DAN FUNGSI

1.    Jenis-Jenis Data

PowerPC dapat beroperasi menggunakan data yang panjang 8 bit (byte), 16 bit

(halfword), 32 bit (word), dan 64 bit (doubleword). Beberapa instruksi mengharuskan

agar operand memori dijajarkan (aligned) pada batas 32-bit, walaupun secara umum

tidak terlalu diperlukan. Salah satu ciri PowerPC yang menarik adalah dapat

menggunakan cara little-endian maupun big-endian, dengan kata lain, byte yang

Page 15: Pipeline Power Pc

paling kurang signifikan disimpan dalam alamat terendah atau tertinggi. Konsep ke-

endianan pertama kali dibahas dalam literatur Cohen [COHE8]. Pada byte ke-endian-

an harus melakukan pengurutan nilai-nilai skalar multibyte. Konsep ini terjadi apabila

terdapat kebutuhan untuk memperlakukan entitas multiple-byte sebagai butir data

tunggal, walaupun entitas ini terdiri dari unit-unit yang dapat dialamati yang lebih

kecil. Beberapa mesin seperti intel 80x86, pentium, dan VAX, merupakan mesin-

mesin litlle endian, sedangkan mesin-mesin seperti IBM S/370, Motorola 680x0, dan

sebagian besar mesin-mesin RISC merupakn mesin-mesin big-endian. Sifat ke-

endian-an tidak akan melampaui unit data. Dalam sembarang mesin, aggregate seperti

file, struktur data, dan array terdiri dari beberapa unit data, yang masing-masing

memakai ke-endian-an. Jadi konversi blok memori dari suatu jenis ke-endian-an

kejenis lainnya memerlukan pemahaman struktur data.

            Tidak terdapat konsensus umum tentang ke-endianan yang terbaik, PowerPC

sendiri adalah jenis prosesor yang bi-endian, yang mendukung baik mode big-endian

maupun litlle-endian. Arsitektur bi-endian memungkinkan pembuat perangkat lunak

untuk memilih mode yang mana saja ketika harus memindahkan sistem operasi dan

aplikasi dari suatu mesin ke mesin lainnya.

            Byte, halfword, word, doubleword merupakan jenis data umum. Prosesor

mengiterpretasikan isi item data tertentu tergantung pada instruksi. Prosesor fixed

point mengenal jenis data berikut :

Unsigned Byte : dapat digunakan bagi operasi logika atau aritmetika integer. Data ini

dimuat dari memori ke register umum dengan zero-extending dsebelah kiri keukuran

penuh register.

  Unsigned Halfword : seperti diatas namun dengan kuantitas 16-bit.

Page 16: Pipeline Power Pc

  Signed Halfword : digunakan untuk operasi aritmatika, dimuatkan kedalam memori

dengan sign-extending pada sebelah kiri keukuran penuh register (yaitu, bit tanda 

disalinkan keposisi-posisi yang kosong).

  Unsigned Word : digunakan untuk operasi logika dan berfungsi sebagai pointer

lokal.

  Signed Word : digunakan untuk operasi aritmatika.

  Unsigned Doubleword : digunakan sebagai pointer alamat.

  Byte String : panjangnya mulai 0 hingga 128 byte.

Selain itu PowerPC mendukung data floating poing presisi tunggal dan presisi ganda yang ditetapkan pada IEEE 754.

2.    Jenis Jenis Operasi

PowerPC banyak memiliki jenis operasi , berikut disajikan berbagai jenis

operasi pada PowerPC :

 

 

Instruksi           Uraian

                                                            Berorientasi Pencabangan

b                      Pencabangan tidak bersyarat

bl                                 Bercabang kealamat sasaran dan menaruh alamat efektif instruksi yang berada setelah pencabangan kedalam link register

bc                                Pencabangan bersyarat pada Count Register dan/atau pada bit dalkam Condition Register.

sc                     System Call untuk membangkitkan layanan sistem operasi

trap                  Memebandingkan dua buah operand dan membangkitkan system trap handler bila persyaratan tertentu dipenuhi.

 

                                                                        Load/Store

Page 17: Pipeline Power Pc

lwzu                 Memuatkan word dan nol kesebelah kiri; mengupdate register sumber.

ld                     Memuatkan dobleword.

lmw                  Memuatkan word ganda; memuatkan word berurutan ke regiater yang berdekatan dari register sasaran melalui General Purpose Register 31.

lswx                 memuatkan suatu untaian byte kedalam register yang dimulai dengan register sasaran; empat byte per-register; diambil semua dari register 31 hingga register 0.

 

                                                                        Arimatika Integer

add                  Menjumlahkan isi dari dua buah integer dan menyimpannya dalam register ketiga

subf                  Mengurangkan isi dua buah register dan menyimpannya dalam register ketiga.

mullw               Mengalikan isi dua buah register orde rendah 32-bit dan menyimpan hasil perkaliannya dalam register 64-bit ketiga.

divd                 Membagi isi dua buah register 64-bit dan menyimpan kuosiennya dalam register ketiga.

                                                                        Logika dan Sift

cmp                 Membandingkan dua buah operand dan menyetel empat buah bit kondisi dalam field register kondisi tertentu.

crand               Condition Register AND : dua bit Condition Register di-AND-kan dan hasilnya disimpan dalam salah satu dari kedua posisi tersebut.

and                  Meng-AND-kan isi dua buah register dan menyimpannya dalam register ketiga

cntlzd               Mencacah jumlah bit 0 berturutan yang berawal pada bit nol dalam register sumber dan menempatkan hasil perhitungan dalam regiater tujuan.

rldic                 Merotasikan ke kiri register doubleword, meng-AND-kannya dengan mask, dan menyimpannya dalam register tujuan.

sld                    Menggeser kekiri dalam register sumber dan menyimpannya dalam register tujuan

                                                                        Floating Point

lfs                     Memuatkan bilangan floating point 32-bit dari memori, mengubahnya kedalam format 64 bit, dan menyimpannya dalam register floating point.

Page 18: Pipeline Power Pc

fadd                 Menjumlahkan dua buah register floating point dan menyimpannya dalam register ketiga.

fmadd              Mengalikan isi dua buah register, menambahkan isi regiater ketiga, dan menyimpan hasilnya dalam regiater keempat.

fcmpu               Membandingkan dua buah operand floating point dan menyetel bit-bit kondisi.

 

                                                                        Manajemen Cache

dcbf                 Membersihkan (flush) blok data cache; melakukan lookup dalam cache yang terdapat pada alamat sasaran tertentu dan melakukan operasi pembersihan.

icbi                   Menginvalidasikan instruksi blok cache

 

2.1.   Instruksi-Instruksi berorientasi Pencabangan

PowerPC memiliki orientasi pencabangan tidak bersyarat dan

pencabangan bersyarat. Instruksi-instruksi pencabangan bersyarat menguji suatu bit

tunggal dari register kondisi apakah benar, salah, atau tidak peduli dan isi dari counter

register apakah nol, bukan nol, atau tidak peduli. Dengan demikian terdapat sembilan

macam kondisi instruksi pencabangan bersyarat yang terpisah. Apabila counter

register diuji apakah nol atau bukan nol, maka sesudah pengujian register berkurang

1. Hal ini tentunya memudahkan penyiapan loop iterasi. Instruksi dapat juga

mengindikasikan bahwa alamat dari pencabangan itu ditempatkan dalam link register,

hal ini memungkinkan pengolahan call/return.

2.2.   Instruksi-instruksi Load/Store

Dalam arsitektur PowerPC hanya instruksi load/store yang dapat

mengakses lokasi memori, instruksi logika dan aritmetika hanya dilakukan terhadap

register. Terdapat dua fitur yang membedakan instruksi-instruksi load/store :

1. Ukuran data, dimana data dapat dipindahkan dalam satu byte, halfword, word, atau

doubleword. Instruksi-instruksi juga dapat digunakan untuk memuat atau

menyimpan suatu untai byte ke dalam sejumlah register atau dari sejumlah register

Page 19: Pipeline Power Pc

2. Ekstensi Tanda, dimana pada pembuatan word dan halfword, bit-bit sebelah kiri

register 64-bit tujuan yag tidak dipakai dapat diisi dengan bilangan-bilangan nol

atau dengan bit tanda dari kuantitas yang dimuatkan.

 

C.  Mode dan Format Pengalamatan

1. Mode Pengalamatan

Seperti umumnya mesin-mesin RISC, PowerPC menggunakan mode

pengalamatan yang sederhana dan relatif pendek. Mode-mode ini sangat cocok

diklasifikasikan menurut jenis instruksinya

1.1.  Load/Store Adressing

1.1.1.      Indirrect Adressing

Instruksinya meliputi displacement 16-bit yang akan ditambahkan

ke register basis, yang kemudian akan meng-update isi register itu. Option update

sangat berguna untuk pengindeksan progresif aray-aray di dalam loop

1.1.2 Indirect Indexed Adressing

Instruksinya mereferensi register basis dan indeks register, yang

disini kedua register tersebut dapat berupa sembarang General Purpose Register.

Effective Address merupakan jumlah isi kedua register tersebut. Seperti mode

sebelumnya, option update menyebabkan register basis di-update menjadi effective

address yang baru

1.2 Branch Addressing

1.2.1 Absolute Addressing

Page 20: Pipeline Power Pc

Digunakan pada instruksi pencabangan tanpa syarat, maka effective address alamat berikutnya diperoleh dari immediate value 24-bit yang terdapat dalam instruksi. Nilai 24-bit dikembangkan menjadi 32-bit dengan menambahkan dua angka nol kesisi yang kurang signifikan (hal ini diizinkan instruksi harus terjadi pada batas 32-bit) dan pengembangan tanda. Untuk instruksi pencabangan bersyarat, effective address dari instruksi berikutnya diturunkankan dari suatu immediate value 16-bit dalam instruksi tersebut. Nilai 16-bit ini dikembangkan menjadi nilai 32-bit dengan menambahkan dua angka nol kesisi  yang paling kurang signifikan  dan pengembangan data.

1.2.2 Relative Addressing

Immediate value 24-bit (instruksi pencabangan tanpa syarat), atau immadiate value 14-bit (instruksi pencabangan bersyarat) dikembangkan seperti diatas. Kemudian nilai yang diperoleh ditambahkan ke program Counter untuk menentukan lokasi relatif keinstruksi saat itu.

1.2.3 Indirrect Adressing

Mode ini memperoleh effetive address instruksi berikutnya  dari link register atau count register. Dalam hal ini count register digunakan untuk menampung alamat instruksi pencabangan. Register ini dapat juga digunakan untuk menampung hitungan looping.

1.3 Arithmetic Instructions

Pada Aritmetika integer seluruh operand diisikan ke dalam register atau

sebagai bagian instruksi, sdangkan pada aritmatika floating point seluruh operand

merupakan register floating point, artinya hanya register addressing yang digunakan

1.3.1 Register Addressing

Pada register addressing sebuah operand simbol atau operand tujuan

ditentukan sebagai  salah satu General Purpose Register.

1.3.2 Immediate Addressing

Pada immediate addressing operand sumber berbentuk kuantitas

bertanda 16-bit di dalam instruksi.

 

Page 21: Pipeline Power Pc

2. Format-Format Instruksi

Semua instruksi PowerPC panjangnya 32 bit dan berbenruk seperti format

instruksi yang umum. Enam bit pertama sebuah instruksi mensfesifikasikan operasi

yang akan dilakukan. Pada kasus tertentu terdapat pengembangan pada opcode yang

terdapat pada instruksi-instruksi yang mensfesifikasikan subkasus khusus suatu

operasi. Perlu diingat sruktur format biasa yang memudahkan pekerjaan unit-unit

eksekusi instruksi. Bagi instruksi-instruksi load/store, aritmetik, dan logika, opcode

diikuti oleh dua buah referensi register 5 bit yang memungkinkan 32 buah General

Purpose Register dapat digunakan.

            Instruksi pencabangan mencakup suatu bit link (L) yang menandakan alamat

efektif instruksi yang berada setelah instruksi pencabangan akan disimpan dalam

register link. Dua bentuk instruksi juga juga mencakup bit (A) yang menandakan

apakah mode pengalamatan bersifat absolut atau relatif terhadp PC. Pada istruksi

pencabangan bersyarat, field bit CR mensfesifikasikan bit yang akan diuji dalam

register kondisi. Field option mensfesifikasikan persyaratan tentang pencabangan

mana yang akan diambil. Terdapat kondisi-kondisi dibawah ini :

      Selalu bercabang

      Bercabang apabila count 0 dan syarat tidak terpenuhi

      Bercabang apabila count 0 dan syarat terpenuhi

      Bercabang apabila count = 0 dan syarat tidak terpenuhi

      Bercabang apabila count = 0 dan syarat terpenuhi

      Bercabang apabila count 0

Page 22: Pipeline Power Pc

      Bercabang apabila count = 0

      Bercabang apabila syarat tidak terpenuhi

      Bercabang apabila syarat terpenuhi

            Instruksi floating point memiliki field-field pada tiga buah register sumber.

Umumnya hanya dua bua register sumber saja yang dipakai. Beberapa instruksi

mencakup perkalian dan register sumber dan kemudian penambahan atau

pengurangan register sumber ketiga, penggabungan instruksi seperti ini digunakan

karena sering diperlukan.

 

 

Page 23: Pipeline Power Pc

IV. ORGANISASI REGISTER

           

Unit fixed point pada PowerPC meliputi :

1. General dimana terdapat 32 buah register general purpose 32 bit. Register ini dapat

digunakan untuk memuat, menyimpan, dan memanipulasi operand data dan juga

dapat dipakai unuk register pengalamatan tak langsung. Register 0 diperlukan agar

berbeda. Untuk memuat dan menyimpan operasi-operasi dan beberapa instruksi

penambahan, register 0 duanggap memiliki nilai konstan nol tanpa memperhatikan isi

sebenarnya.

2. Exetion Register (XER), terdiri dari tiga bit yang melaporkan pengecualian dalam

pengoperasian aritmatika integer. Register ini juga meliputi field penghitung byte

yang digunakan sebagai sebuah operand bagi beberapa instruksi untai.

            Untuk floating point berisi register-register user visible tambahan :

1. General dimana terdapat 32 buah register general purpose 64 bit yang dipakai

untuk keperluan operasi floating point.

2. Floating Point and Control Register (FPSCR) : register 32 bit ini berisi bit-bit yang

mengontrol operasi unit floating point, dan bit-bit yang merekam status hasil dari

operasi-operasi floating point.

3. Condition Register : terdiri dari delapan buah field kode kondisi 4-bit

4. Link Register, link register dapat digunakan instruksi pencabangan bersyarat bagi

pengalamatan tak langsung alamat target. Register ini juga dapat digunakan untu

keperluan call/return. Apabila bit LK dalam instruksi pencabangan disetel, maka

Page 24: Pipeline Power Pc

alamat yang berada setelah instruksi pencabangan ditaruh di link register, dan

register ini dapat digunakan untuk return pada saat dibutuhkan

5. Count, register penghitung dapat digunakan untuk mengontrol suatu loop iterasi.

Register penghitung dikurangi setiap kali register diperiksa di dalam instruksi

pencabangan bersyarat, kegunaan lain adalah untuk pengalamatan tak langsung

alamat target di dalam sebuah instruksi pencabangan.

 

A. Pengolahan Interrupt

            Seperti halnya prosesor yang lain, PowerPC memiliki fasilitas yang

memungkinkan menginterrupsi program yang sedang dieksekusi yang berkaitan

dengan pengecualian kondisi.

1. Jenis-jenis Interrupt

Jenis interrupt pada PowerPC digolongkan menjadi interrupt yang disebabkan

oleh kondisi atau kejadian sistem dan interrupt yang disebabkan oleh eksekusi suatu

instruksi, berikut tabel daftar interrupt yang dikenal oleh PowerPC ;

Entry Point Jenis Interrupt Keterangan

00000h Dicadangkan  

00100h Reset Sistem Pernyataan signal-signal input rest prosesor oleh logika eksternal

00200h Pemeriksaan mesin Pernyataan TEA# terhadap prosesor pada saat prosesor diaktifkan untuk mengeali pemeriksaan mesin

00300h Penyimpan data Contoh:data page fault; pelanggaran hak akses pada pemuatan/penyimpanan

00400h Penyimpan instruksi Code Page Fault; usaha pengambilan instruksi dari segmen I/O; pelanggaran hak akses

00500h Eksternal Pernyataan signal input interrupt ekstensi prosesor oleh logika eksternal

Page 25: Pipeline Power Pc

00600h Aligment Kegagalan dalam mengakses memori sehubungan adanya operand yang misaligned

00700h Program Interrupt floating point; pengguna berusaha mengeksekusi instruksi privileged; instruksi trap yang dieksekusi dengan kondisi tertentu yang dipenuhi; instruksi ilegal

00800h Floating point tidak tersediaUsaha untuk mengeksekusi instruksi floating point dengan unit floating point yang diaktifkan

00900h Decrementer Kehabisan dekrementer  register apabila eksternal interrupt recognition diaktifkan

00A00h Dicadangkan  

00B00h Dicadangkan  

00C00h System Call Eksekusi istruksi sistem call

00D00h Trace Interrupt satu langkah atau trace pencabangan

00E00h Floating Point Assist Terdapat usaha untuk mengekseskusi yang relatif tidak sering, operasi floating point yang kompleks

00E10h s/d 00FFFh

Dicadangkan  

010000 s/d 02FFFh

Dicadangkan (tergantung implementasi)

 

Keterangan Tabel  :yang tidak diberi bayangan abu-abu : interrupt yang disebabkan oleh eksekusi instruksi; yang diberi bayangan abu-abu : nterrupt yang tidak disebabkan oleh eksekusi instruksi

 

2.      Register Status Mesin (Machine State Register/MSR)

Hal yang fundamental bagi interrupsi sebuah program adalah kemampuan

untuk memulihkan status prosesor pada saat terjadinya interrupt. Kemampuannya

tidak ahanya meliputi isi berbagai register namun juga kondisi kontrol yang berkaitan

dengan eksekusi.

3. Interrupt Handling

Pada saat interrupt terjadi dan diketahui oleh prosesor maka akan terjadi

rangkaian:

Page 26: Pipeline Power Pc

1.    Prosesor menempatkan alamat instruksi yang akan diinstruksi berikutnya pada

save atau store register 0 (SRR0). Alamat ini merupakan alamat intruksi yang

sedang dieksekusi apabilla interrupt terjadi karena kegagalan mengeksekudi

instruksi.

2.    Prosesor menyalin informasi status mesin dari MSR kesave/store register 1

(SRR1).

3.    MSR disetel kenilai perangkat keras tertentu yang spesifik bagi jenis interrupt.

Bagi semua jenis interrupt , penerjemah alamat di nonaktifkan dan interrupt

eksternal dinonaktifkan pula.

4.    Prosessor memindahkan kontrol ke interrupt handle yang sesuai.

Page 27: Pipeline Power Pc

V. KELEBIHAN DAN KEKURANGAN

            Teknologi RISC relatif masih baru oleh karena itu tidak ada perdebatan dalam

menggunakan RISC ataupun CISC, karena tekhnologi terus berkembang dan

arsitektur berada dalam sebuah spektrum, bukannya berada dalam dua kategori yang

jelas maka penilaian yang tegas akan sangat kecil kemungkinan untuk terjadi.

A.  Kelebihan

1.    Berkaitan dengan penyederhanaan kompiler, dimana tugas pembuat kompiler

untuk menghasilkan rangkaian instruksi mesin bagi semua pernyataan HLL.

Instruksi mesin yang kompleks seringkali sulit digunakan karena kompiler harus

menemukan kasus-kasus yang sesuai dengan konsepnya. Pekerjaan

mengoptimalkan kode yang dihasilkan untuk meminimalkan ukuran kode,

mengurangi hitungan eksekusi instruksi, dan meningkatkan pipelining jauh

lebih mudah apabila menggunakan RISC dibanding menggunakan CISC.

2.    Arsitektur RISC yang mendasari PowerPC memiliki kecenderungan lebih

menekankan pada referensi register dibanding referensi memori, dan referensi

register memerlukan bit yang lebih sedikit sehingga memiliki akses eksekusi

instruksi lebih cepat.

3.    Kecenderungan operasi register ke register akan lebih menyederhanakan set

instruksi dan menyederhanakan unit kontrol serta pengoptimasian register akan

menyebabkan operand-operand yang sering diakses akan tetap berada

dipenyimpan berkecepatan tinggi.

4.    Penggunaan mode pengalamatan dan format instruksi yang lebih sederhana.

Page 28: Pipeline Power Pc

B.  Kekurangan

1.    Program yang dihasilkan dalam bahasa simbolik akan lebih panjang

(instruksinya lebih banyak).

2.    Program berukuran lebih besar sehingga membutuhkan memori yang lebih

banyak, ini tentunya kurang menghemat sumber daya.

3.    Program yang berukuran lebih besar akan menyebabkan

b.    Menurunnya kinerja, yaitu instruksi yang lebih banyak artinya akan lebih

banyak byte-byte instruksi yang harus diambil.

c.    Pada lingkungan paging akan menyebabkan kemungkinan terjadinya page

fault lebih besar.

 

 

 

 

 

 

 

 

 

 

 

 

Page 29: Pipeline Power Pc

 

 

VI. KESIMPULAN

1.      Arsitektur PowerPC merupakan pengembangan IBM 801, RT PC, dan RS/600

(dikenal juga dengan implementasi arsitektur POWER).

2.      Implementasi pertama arsitektur power PC yaitu 601 memiliki rancangan yang

sangat mirip dengan rancangan RS 6000, model PowerPC berikutnya mempunyai

konsep superscalar.

3.      Kelebihan arsitektur RISC yang berkaitan dengan kinerja dapat ditunjukan

dengan sejumlah “Sircumstansial Evidence”.

a.       Optimasi kompiler yang lebih efektif dan dapat dikembangkan

b.      Sebagian besar instruksi yang dihasilkan oleh kompiler relatif sederhana.

c.       Berkaitan dengan penggunaan pipelining instruksi yang diterapkan secara

lebih efektif terhadap RISC.

d.      Program-program RISC harus lebih responsife terhadap interrupt.

Berkaitan dengan implementasi VLSI

d.      Apabila digunakan rancangan dan implementasi CPU akan berubah, artinya

dimungkinkan untuk menaruh CPU keseluruhan pada keping tunggal.

e.       Waktu yang dibutuhkan untuk implementasi dan perancangan karena

prosessor VLSI cukup sulit dibuat sehingga para perancang harus membuat

Page 30: Pipeline Power Pc

rancangan rangkaian, tata letak dan pemodelan pada tingkat perangkat, dengan

menggunakan pemodelan RISC proses tersebut akan lebih mudah selain

apabila kinerja keping RISC ekuivalen dengan mikroprosessor  CISC

(Pentium) yang setara maka keuntungan dengan memakai pendekatan RISC

akan terasa sekali.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Page 31: Pipeline Power Pc

 

 

 

 

 

DAFTAR PUSTAKA

Stalling, Williams, Organisasi Dan Arsitektur Komputer: Perancangan Kinerja. Jilid 1,  Terj. Gurnita Priatna, Jakarta : Prenhallindo,1998.

 

Stalling, Williams, Organisasi Dan Arsitektur Komputer: Perancangan Kinerja. Jilid 2,  Terj. Gurnita Priatna, Jakarta : Prenhallindo,1998.

 

PowerPC Siap Masuki 2-GHz, Komputek, Juni 2001, edisi 219 minggu II, hal 3.

 

              

 

 

 

 

 

 

Suatu cara menerapkan paralelisme kedalam sifat sekuensial yang penting bagi program instruksi mesin, seperti pengolahan pipelining dan vektor

Page 32: Pipeline Power Pc

mengimplementasikan unit kontrol sebagai rangkaian kombinatorial dimana sinyal logika inputnya diubah menjadi sejumlah sinyal logikaoutput, yang merupakan sinyal kontrol.

Rancangan processor yang memiliki pipeline instruksi berjumlah banyak, sehingga lebih dari satu instruksi dapat diekseskusi pada sebuah tahapan pipeline secara simultan

Dirancang untuk mendukung persyaratan konsistensi cache sistem mikroprosessor

Terjadi apabila page yang berisi suatu word referensi tidak terdapat dalam memori utama, ini mengakibatkan interrupt dan mengharuskan sistem operasi membawa page yang dibutuhkan kememori utama

  Istilah big-endian dan litle-endian berasal dari buku Gulliver’s Travels, karangan Jonathan Swift, Bagian 1, Bab 4. Istilah tersebut berkaitan dengan perang keyakinan yang terjadi antara dua kelompok dimana kelompok yang satu memecahkan telur pada sisi yang besar dan kelompok lainnya memecahkan pada sisi yang kecil

Rasul yang dipuja oleh kedua kelompok dalam perang endian pada buku Gulliver’s Travels mengatakn hal berikut : “Semua pengikut yang baik akan memecahkan telur-telurnya pada sisi yang paling benar”, pernyataan ini tidak banyak menolong