وَمَا هَٰذِهِ ٱلْحَيَوٰةُ ٱلدُّنْيَآ إِلَّا لَهْوٌ وَلَعِبٌ ۚ وَإِنَّ ٱلدَّارَ ٱلْءَاخِرَةَ لَهِىَ ٱلْحَيَوَانُ ۚ لَوْ كَانُوا۟ يَعْلَمُونَ

“Dan tiadalah kehidupan dunia ini melainkan senda gurau dan main-main. Dan sesungguhnya akhirat itulah yang sebenarnya kehidupan, kalau mereka mengetahui.” (QS. Al-Ankabut:64)

Tuesday, 23 June 2020

Arsitektur Komputer: Pertemuan 13-Reduced Instructions Set Arsitecture

Arsitektur Komputer
ALU

Tugas utama adalah melakukan semua perhitungan aritmatika  dan melakukan keputusan dari suatu operasi logika.

Register
Alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi yang digunakan untuk menyimpan data dan instruksi yang sedang diproses sementara data dan instruksi lainnya menunggu giliran untuk diproses masih disimpan di dalam memori utama.





Register dalam CPU diantaranya :
Register untuk alamat dan buffer :
  • MAR (Memory Address Register)
  • Untuk mencatat alamat memori yang akan diakses (baik yang akan ditulisi maupun dibaca)
  • MBR (Memory Buffer Register)
  • Untuk menampung data yang akan ditulis ke memori yang alamatnya ditunjuk MAR atau untuk menampung data dari memori (yang alamatnya ditunjuk oleh MAR) yang akan dibaca.
  • I/O AR (I/O Address Register)
  • Untuk mencatat alamat port I/O yang akan diakses(baik akan ditulisi / dibaca).
  • I/O BR (I/O Buffer Register)
  • Untuk menampung data yang akan dituliskan ke port yang alamatnya ditunjuk I/O AR atau untuk menampung data dari port (yang alamatnya ditunjuk oleh I/O AR) yang akan dibaca.
Register untuk eksekusi
instruksi
  • PC (Program Counter)
    • Mencatat alamat memori dimana instruksi di dalamnya akan dieksekusi
  • IR (Instruction Register)
    • Menampung instruksi yang akan dilaksanakan
  • AC (Accumulator)
    • Menyimpan data sementara baik data yang sedang  diproses atau hasil proses.




Control Unit
Bertugas mengatur dan mengendalikan semua peralatan yang ada di sistem komputer.

I/O Interconection
Input-Output (/O) Interconection merupakan sistem koneksi yang menghubungkan antar komponen internel dalam sebuah CPU, yaitu ALU, unit kontrol, dan register serta menghubugkan CPU dengan  bus-bus eksternal diluar CPU.





Cara Kerja Komputer
Tingkatan Mesin Komputer
Abstraksi

Siklus Instruksi
Program yang ada di memori komputer terdiri dari sederetan instruksi. Setiap instruksi dieksekusi melalui suatu siklus. Setiap siklus instruksi terdiri dari tahap-tahap :
  1. Instruction fetch, yaitu mengambil instruksi dari memori dan mentransfernya ke unit kontrol.
  2. Mengartikan (decode) instruksi dan menentukan apa yang harus dikerjakan serta data apa yang digunakan.
  3. Baca alamat efektif, jika instruksi beralamat indirect.
  4. Proses eksekusi instruksi dengan memilih operasi yang diperlukan dan mengendalikan perpindahan data yang terjadi.
  5. Terdapat register dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya yaitu Program Counter
  6. PC akan menambah satu hitungan setiap kali CPU membaca instruksi
  7.  Instruksi-instruksi yang dibaca akan dibuat dalam register instruksi (IR)
Sejarah
  • Reduced Instruction Set Computing (RISC) atau "Komputasi set instruksi yang disederhanakan" pertama kali digagas oleh John Cocke, peneliti dari IBM di Yorktown, New York pada tahun 1974 saat ia membuktikan bahwa sekitar 20% instruksi pada sebuah prosesor ternyata menangani sekitar 80% dari keseluruhan kerjanya.
  • Komputer pertama yang menggunakan konsep RISC ini adalah IBM PC/XT pada era 1980-an. Istilah RISC sendiri pertama kali dipopulerkan oleh David Patterson, pengajar pada University of California di Berkely.
  • RISC, yang jika diterjemahkan berarti "Komputasi Kumpulan Instruksi yang Disederhanakan", merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksiinstruksi dan jenis eksekusi yang paling sederhana. Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer vektor.
  • Selain digunakan dalam komputer vektor, desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa mikroprosesor Intel 960, Itanium (IA64) dari Intel  Corporation, Alpha AXP dari DEC, R4x00 dari MIPS Corporation, PowerPC dan Arsitektur POWER dari International BusinessMachine. Selain itu, RISC juga umum dipakai pada Advanced RISC Machine (ARM) dan StrongARM (termasuk di antaranya adalah Intel  XScale), SPARC dan UltraSPARC dari Sun Microsystems, serta PA-RISC dari Hewlett-Packard.
  • Selain RISC, desain Central Processing Unit yang lain adalah CISC (Complex Instruction Set Computing), yang jika diterjemahkan ke  dalam Bahasa Indonesia berarti Komputasi Kumpulan Instruksi yang kompleks atau rumit.
  • Teknologi RISC relatif sangat baru, karena itu  saat ini tidak terjadi perdebatan dalam menggunakan CISC atau RISC. saat ini tidak terjadi perdebatan dalam menggunakan CISC atau RISC.
  • Pendapat-pendapat yang ada hanya membahas kekurangan kekurangan pendekatan RISC serta memberikan pemahaman motivasi pendukung RISC
  • Alasan pertama yaitu, penyederhanaan kompilerAlasan pertama yaitu, penyederhanaan kompiler
  • Tugas pembuat kompiler adalah menghasilkan rangkaian instruksi mesin bagi semua pernyataan HLL (high level language).
  • Apabila ada instruksi mesin yang menyerupai HLL, maka tugas ini akan disederhanakan.
  • Pekerjaan mengoptimalkan kode yang di hasilkan utk meminimalkan ukuran kode, hasilkan utk meminimalkan ukuran kode, mengurangi hitungan eksekusi instruksi, dan meningkatkan pipeline jauh lebih sulit apabila menggunakan CISC
Pipelining
  • Merupakan suatu konsep pelaksanaan instruksi yang dibagi dalam banyak bagian, dimana masing-masing bagian ditangani oleh hardware khusus dan keseluruhan bagian dapat beroperasi secara paralel.
On board cache
  • Cache adalah memori kecil berkapasitas kecil tetapi berkecepatan tinggi yang dipasang antara prosesor dan memori utama.
  • Cache dibuat karena adanya kesenjangan perbedaan kecepatan yang sangat besar antara prosesor dan memori utama.
  • Perkembangan kecepatan prosesor tidak diimbangi peningkatan kecepatan memori sehingga proses pembacaan data dari memori relatif lebih lambat bila dibandingkan dengan kecepatan prosesor, sehingga prosesor harus menunggu data dari memori dan menjadi inefisiensi kinerja prosesor.
Contoh :
RAM : 128 MB DDR 333  clock speed 333 MHz
Processor : Athlon 1800 MHz  clock speed 1800 MHz ≈ 1,8 GHz

On board L1 dan L2 cache
  • L1 cache = level 1 cache = CPU internal cache = cache yang terletak di inti processor
  • L2 cache = level 2 cache = CPU external cache = cache yang terletak di motherboard.
  • Pada prosesor generasi baru seperti Pentium II – IV, Duron, Thunderbird L2 cache diletakkan di dalam prosesor (= tidak diletakkan di inti prosesor tapi dimasukkan dalam kemasan prosesor sehingga lebih dekat dengan inti prosesor).
  • Namun CISC akan menghasilkan program yang lebih kecil dan lebih cepat dari RISC
  • CISC cenderung menggunakan instruksi-instruksi yang sederhana.
  • CISC cenderung menekankan pada referensi register dibandingkan pada  referensi memori, dan referensi register memerlukan bit yang jumlahnya lebih sedikit
Karakteristik Arsitektur RISC
  • RISC harus tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat  mikro instruksi pada mesin-mesin CISC
  • Dengan menggunakan instruksi sederhana atau instruksi satu siklus, hanya di butuhkan sedikit mikro kode
  • Instruksi mesin dapat di hardware, instruksi ini akan lebih cepat di  bandingkan instruksi-instruksi lainnya yang sejenis pada mesin lainnya, karena instruksi tersebut tidak perlu mengakses penyimpanan kontrol mikroprogram pada saat eksekusi instruksi berlangsung.
Karakteristik RISC
  • Satu instruksi per siklusSatu instruksi per siklus
    • Operasi register ke registerOperasi register ke register
  • Address mode sederhanaAddress mode sederhana
    • Format Instruksi sederhanaFormat Instruksi sederhana
Pipelining RISC
  • Sebagian besar instruksi merupakan operasi register ke register, dan sebuahsiklus instruksi memiliki dua buah fase :
    1. I : Instruction Set pengambilan instruksi
    2. E : Execute Set melakukan operasi  ALU dengan input Register dan output register
Bagi operasi Load  dan store diperlukan 3 buah fase
  1. I = Instruction Set
  2. E = Execute = menghitung alamat memori
  3. D = Memori = operasi register ke memori atau memori ke register
Perkembangan Desain Prosesor
Tanenbaum mengemukakan adanya prinsip-prinsip penting dalam melakukan desain prosesor komputer modern yaitu prinsip RISC (Reduced Instruction Set Computer), yaitu :
  1. Memaksimalkan kecepatan dimana instruksi-instruksi dikeluarkan Prinsip ini menekankan pengembangan jumlah instruksi yang dapat diproses per detik pada sebuah prosesor, yaitu MIPS (Million of Instruction per Second), mengakibatkan muncul teknologi paralelisme prosesor yang akan dapat meningkatkan kinerja komputer
  2. Memperbanyak instruksi yang secara langsung dapat dijalankan hardware untuk mempercepat kinerja
  3. Instruksi-instruksi harus mudah untuk di-dekode-kan Batas kritis pada tingkat kecepatan adalah dekode dari setiap instruksi. Semakin  sedikit format instruksi maka akan semakin baik kinerja dan kecepatan sebuah eksekusi instruksi.
  4. Hanya instruksi LOAD dan STORE yang diakses ke memori dan berusaha memperkecil instruksi yang langsung diakses dari memori utama.
  5. Menyiapkan banyak register, sekarang rata-rata CPU memiliki 32 register.
Pendekatan CISC
  • Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi.
  • Untuk tujuan contoh kita kali ini, sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang kita beri nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yag berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register  yang benar. Jadi instruksi-nya cukup satu saja…
  • MULT 2:3, 5:2
  • MULT dalam hal ini lebih dikenal sebagai “complex instruction”, atau instruksi yang kompleks. Bekerja secara langsung melalui memori komputer dan tidak memerlukan instruksi lain seperti fungsi baca maupun menyimpan.
  • Prosesor RISC hanya menggunakan instruksi-instruksi sederhana yang bisa dieksekusi dalam satu siklus.
  • Dengan demikian, instruksi ‘MULT’ sebagaimana dijelaskan sebelumnya dibagi menjadi tiga instruksi yang berbeda, yaitu “LOAD”, yang digunakan untuk memindahkan data dari memori ke dalam register, “PROD”, yang digunakan untuk melakukan operasi produk (perkalian) dua operan yang berada di dalam register (bukan yang ada di memori) dan “STORE”, yang digunakan untuk memindahkan data dari register kembali ke memori.
  • Berikut ini adalah urutan instruksi yang harus dieksekusi agar yang terjadi sama dengan instruksi “MULT” pada prosesor RISC (dalam 4  baris bahasa mesin):
  • LOAD A, 2:3
    LOAD B, 5:2
    PROD A, B
    STORE 2:3, A
Perbandingan

Persamaan Unjuk-kerja (Performance)
  • Persamaan berikut biasa digunakan sebagai ukuran unjuk-kerja suatu komputer:
  • Pendekatan CISC bertujuan untuk meminimalkan jumlah instruksi per program, dengan cara mengorbankan kecepatan eksekusi sekian siklus/detik.
  • Sedangkan RISC bertolak belakang, tujuannya mengurangi jumlah siklus/detik setiap instruksi dibayar dengan bertambahnya jumlah instruksi per program.



0 komentar :

Post a comment