Selasa, 13 Maret 2012

CICS & RICS

Reduced Instruction Set Computer (RISC)
Beberapa elemen penting pada arsitektur RISC :
• Set instruksi yang terbatas dan sederhana
• Register general-purpose yang berjumlah banyak, atau penggunaan teknologi kompiler untuk mengoptimalkan pemakaian registernya.
• Penekanan pada pengoptimalan pipeline instruksi.

Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
1. Arsitektur komputer dengan kumpulan perintah yang rumit
(Complex Instruction Set Computer = CISC)
2. Arsitektur komputer dengan kumpulan perintah yang sederhana
(Reduced Instruction Set Computer = RISC)


Ø  CISC dimaksudkan untuk            meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan (Jumlah perintah sedikit tetapi rumit).
Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan,  tetapi  konsep  ini  menyulitkan  dalam  penyusunan  kompiler bahasa pemrograman tingkat tinggi.
Dalam CISC banyak terdapat perintah bahasa mesin.

Ø  RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam penyusunan compiler yang pada      akhirnya dapat            memaksimumkan kinerja program yang ditulis dalam bahasa tingkat tinggi.
Konsep arsitektur RISC banyak menerapkan proses eksekusi pipeline. Meskipun  jumlah  perintah  tunggal  yang  diperlukan  untuk  melakukan pekerjaan yang diberikan mungkin lebih besar, eksekusi secara pipeline memerlukan waktu yang lebih singkat daripada waktu untuk melakukan pekerjaan yang sama dengan menggunakan perintah yang lebih rumit. Mesin RISC memerlukan memori yang lebih besar untuk mengakomodasi program yang lebih besar.
IBM 801 adalah prosesor komersial pertama yang menggunakan pendekatan RISC.

Lebih  lanjut  untuk  memahami  RISC,  diawali  dengan  tinjauan  singkat tentang karakteristik eksekusi instruksi.
Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sbb.:
·         Operasi-operasi yang dilakukan:
Hal  ini  menentukan  fungsi-fungsi  yang  akan  dilakukan  oleh  CPU  dan interaksinya dengan memori.
·         Operand-operand yang digunakan:
Jenis-jenis  operand           dan      frekuensi         pemakaiannya akan     menentukan organisasi memori untuk menyimpannya dan mode pengalamatan untuk mengaksesnya.
·         Pengurutan eksekusi:
Hal ini akan menentukan kontrol dan organisasi pipeline.


Tabel  4.1  Karakteristik  dari  beberapa  Prosesor  CISC dan  RISC,

Karakteritik


CISC
RISC
IBM
370/168
VAX
11/780
Intel
80486
Motorola
88000
MIPS R4000
Tahun dibuat
1973
1978
798
9
1988
7991
Jumlah instruksi
208
303
235
51
94
Instruksi (Bytes)
2-6
2-57
1-11
4
32
Mode Pengalamatan
4
22
11
3
1
Jumlah register general-purpose
16
16
8
32
32
Ukuran memori kontrol (Kbits)
420
480
246
-
-
Ukuran Cache
(Kbytes)
64
64
8
16
128


Operasi dengan High Level Language (HLL)
Hasil-hasil  penelitian  yang  dilakukan  untuk  menganalisis  tingkah  laku program-program HLL menunjukkan :
·         Assignment Statement sangat menonjol diikuti statement bersyarat (IF, LOOP) lihat tabel dibawah ini.

Hasil-hasil penelitian ini merupakan hal yang sangat  penting            bagi perancangan set instruksi mesin.

Tabel 4.2        Frekuensi  Dinamik Relatif Berbobot dari Operasi-operasi HLL


Kejadian Dinamik
Instruksi-Mesin
Berbobot
Referensi Memori
Berbobot
Pascal
C
Pascal
C
Pascal
C
ASSIGN
45
38
13
13
14
15
LOOP
5
3
42
32
33
26
CALL
15
12
31
33
44
45
IF
29
43
11
21
7
13
GOTO
-
3
-
-
-
-
OTHER
6
1
3
1
2
1

Kolom 2 dan 3 memberikan ukuran pengganti bagi waktu actual yang diperlukan untuk mengeksekusi bagi bermacam-macam statements.

Eksekusi Instruksi
Waktu eksekusi dapat dirumuskan sbb.: Waktu eksekusi = N x S x T
Dengan
N         : adalah jumlah perintah
S          : adalah jumlah rata-rata langkah per perintah
T          : adalah waktu yang diperlukan untuk melaksanakan satu langkah

Kecepatan  eksekusi  dapat  ditingkatkan  dengan  menurunkan  nilai  dari ketiga varisbel di atas.
Arsitektur CISC berusaha menurunkan nilai N, sedangkan
Arsitektur RISC berusaha menurunkan nilai S dan T.

·         Proses pipeline dapat digunakan untuk membuat nilai efektif S mendekati 1 (satu) artinya komputer menyelesaikan satu perintah dalam satu siklus waktu CPU.
·         Nilai T dapat diturunkan dengan merancang perintah yang sederhana.

Operand

·         Penelitian yang dilakukan Patterson terhadap frekuensi dinamik terjadinya kelas-kelas variable dalam program pascal dan C menunjukkan bahwa mayoritas referensi menuju ke variable-variable skalar.
·          Lebih dari 80% skalar bersifat variabel lokal.
·          Penelitian tersebut menyatakan bahwa jenis arsitektur berpengaruh pada kecepatan pengaksesan operand.

Tabel 4.3 Persentase Dinamik Operand-operand

Pascal
C
Rata-rata
Konstanta
Integer
16
23
20
Variabel Skalar
58
53
55
Array/Struktur
26
24
25

Procedure Calls
  •  Prosedur call dan return merupakan aspek yang penting dalam program- program HLL.
  •  Tabel 4.2 menunjukkan bahwa prosedur call dan return merupakan operasi yang paling banyak membutuhkan waktu dalam program- program yang dikompilasi.
  •  Dua aspek yang lain adalah jumlah parameter dan variabel yang berkaitan dengan prosedur, dan kedalaman pensarangan (nesting).

Implikasi
Ø  Hasil-hasil penelitian secara umum dapat dinyatakan bahwa terdapat tiga buah elemen yang menentukan karakter arsitektur RISC.
  • Pertama, penggunaan register dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan pereferensian operand.
  • Kedua, diperlukan perhatian bagi perancangan pipeline instruksi. Karena tingginya proporsi instruksi pencabangan bersyarat dan prosedur call, pipeline instruksi yang bersifat langsung dan ringkas akan menjadi tidak efisien.
  • Ketiga, terdapat set instruksi yang disederhanakan (dikurangi).
Ø  Keinginan untuk mengimplementasikan keseluruhan CPU dalam keping tunggal akan merupakan solusi Reduced Instruction Set.

Penggunaan File Register Besar
Ø   Terdapat statement assignment yang jumlahnya banyak dalam program- program HLL, dan banyak diantaranya berupa statement assignment sederhana seperti A = B.
Ø   Di samping itu, terdapat pula akses operand per statement HLL dalam jumlah yang cukup besar.
Ø   Apabila kita menghubungkan kedua di atas dengan kenyataan bahwa sebagian besar akses adalah menuju ke skalar-skalar lokal, maka sangat mungkin kita memerlukan penyimpanan register yang besar.
Ø   Alasan diperlukannya penyimpanan register adalah register merupakan perangkat penyimpanan yang paling cepat, yang lebih cepat dibandingkan dengan memori utama dan memori cache.
Ø   Dimungkinkan untuk menerapkan dua buah pendekatan dasar, yaitu berdasarkan perangkat lunak dan perangkat keras.
  • Pendekatan perangkat lunak mengandalkan kompiler untuk memaksimalkan pemakaian register. Pendakatan ini membutuhkan algoritma analisis program yang canggih.
  • Pendekatan perangkat keras dilakukan hanya dengan memperbanyak jumlah register sehingga akan lebih banyak variabel yang dapat ditampung di dalam register dalam periode waktu yang lebih lama.

Register Windows
Ø  Jendela register dibagi menjadi tiga buah daerah yang berukuran tetap.
  • Register-register parameter
menampung parameter-parameter yang dilewatkan dari prosedur.
  • Register-register lokal
Digunakan untuk variable lokal, setelah di-assign oleh kompiler.
  • Register-register tenporer
Digunakan untuk pertukaran parameter.
Ø  Overlap ini memungkinkan parameter-parameter dapat dilewatkan tanpa perpindahan aktual data.

Variabel-variabel Global
Ø  Teknik Register Windows memberikan organisasi yang efisien untuk penyimpanan variable skalar lokal di dalam register.
Ø  Akan tetapi teknik ini tidak dapat memenuhi kebutuhan penyimpanan variabel global, yang diakses oleh lebih dari sebuah prosedur (misalnya, variabel COMMON dalam FORTRAN).
Ø  Terdapat dua pilihan untuk memenuhi hal tersebut.
  • Pertama,
Variabel-variabel yang dideklarasikan sebagai global pada HLLdapat disediakan lokasi-lokasi oleh kompiler. Namun, bagi yang sering mengakses variabel-variabel global, teknik tersebut tidaklah efisien.
  • Alternatifnya adalah melibatkan kumpulan register global di dalam CPU. Register-register ini harus memiliki jumlah yang tetap dan dapat dipakai oleh semua prosedur.


Mengapa CISC ?
·         Jumlah instruksi yang banyak dan instruksi yang lebih kompleks.
·         Dua alasan utama yang menjadi motivasi kecenderungan ini : adanya keinginan untuk menyederhanakan kompiler dan keinginan untuk meningkatkan kinerja.
·         Alasan penting lainnya adalah harapan bahwa CISC akan menghasilkan program yang lebih kecil dan lebih cepat.

Karakteristik CISC versus RISC
·         Rancangan RISC dapat memperoleh keuntungan dengan mengambil sejumlah feature CISC dan Rancangan CISC dapat memperoleh keuntungan dengan mengambil sejumlah feature RISC.
·         Hasilnya adalah bahwa sejumlah rancangan RISC yang terbaru, yang dikenal sebagai PowerPC, tidak lagi “murni” RISC dan rancangan CISC yang terbaru, yang dikenal sebagai Pentium, memiliki beberapa karakteristik RISC.


Ciri-ciri RISC :
·         Instruksi berukuran tunggal
·         Ukuran yang umum adalah 4 byte.
·         Jumlah mode pengalamatan data yang sedikit, biasanya kurang dari lima buah.
·         Tidak terdapat pengalamatan tak langsung.
Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmetika (misalnya, penambahan dari memori, penambahan ke memori).

0 komentar:

Posting Komentar

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More