Thursday, 28 September 2017

RISC (Reduced Instruction Set Computer)

Arsitektur RISC

RISC singkatan dari Reduced Instruction Set Computer yang artinya prosesor tersebut memiliki set instruksi program yang lebih sedikit. Karena perbedaan keduanya ada pada kata set instruksi yang kompleks atau sederhana (reduced). RISC lahir pada pertengahan 1980, kelahirannya ini dilator belakangi untuk CISC. Perbedaan mencolok dari kelahiran RISC ini adalah tidak ditemui pada dirinya instruksi assembly atau yang dikenal dengan bahasa mesin sedangkan itu banyak sekali di jumpai di CISC.

CISC (Complex Instruction-Set Computer)

Complex instruction-set computing  atau  (CISC; "Kumpulan instruksi komputasi kompleks") adalah sebuah arsitektur dari set instruksi komputer dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memori, operasi aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah instruksi. Karakteristik CISC dapat dikatakan bertolak-belakang dengan RISC. Contoh-contoh prosesor CISC adalah  System/360, VAX, PDP-11, varian Motorola 68000 , dan CPU AMD dan Intel x86.
Arsitektur CISC

Tuesday, 26 September 2017

Example of Pipeline Implementation

Intel 80486

Prosesor Intel 80486 memiliki pipeline dengan 5 tahap, antara lain adalah sebagai berikut :
  • Fetch
o   Dari cache atau memori eksternal
o   Memakai salah satu dari dua prefetch buffer yang masing-masing berukuran 16 byte
o   Mengisi buffer dengan data baru seketika setelah data lama selesai digunakan
o   Rata-rata dapat mengambil 5 instruksi untuk sekali operasi
o   Bersifat independen dari tahap lain supaya  buffer dapat tetap penuh
  •  Decode stage 1 (D1)
o   Informasi opcode dan mode pengalamatan memori
o   Paling banyak mengambil 3 byte pertama dari sebuah instruksi
o   Mendelegasikan kepada Decode stage 2 untuk mengambil sisa instruksi
  • Decode stage 2 (D1)
o   Mengembangkan opcode menjadi sinyal kontrol
o   Perhitungan untuk mode pengalamatan yang kompleks
  •  Execute (EX)
o   Operasi ALU, akses cache, update register
  • Writeback (WB)
o   Update register dan flag
o   Hasilnya dikirim ke write buffer untuk cache dan bus interface

Saturday, 13 December 2014

Branch in Instruction Pipeline

MASALAH DENGAN BRANCH

Branch atau percabangan instruksi seringkali kita temukan dalam suatu program atau kode. Pada instruction pipelining, sebuah instruksi yang bercabang dapat menimbulkan masalah berupa delay dan kesulitan menentukan instruksi mana yang harus dilakukan setelahnya, seperti yang diilustrasikan berikut:
Misalnya kita memiliki sebuah kode:

Hazard in Pipelining

Dalam mengimplementasi pipelining, terdapat 3 kondisi yang menyebabkan pipelining kehilangan sebagian total kinerja yang bisa diraih. 3 kondisi ini dikenal dengan hazard.

1.       Structural Hazard
Structural hazard terjadi karena adanya konflik dalam penggunaan resource oleh masing-masing instruksi yang sedang berada dalam pipeline.

Pipelining pada dasarnya memungkinkan beberapa instruksi dikerjakan dalam waktu yang bersamaan. Ketika masing-masing instruksi tersebut dieksekusi, mesin harus mampu memenuhi resource yang dibutuhkan. Ada kalanya mesin tidak mampu melakukan hal tersebut, yang menyebabkan sebuah resource mengalami konflik dalam penggunaannya oleh instruksi-instruksi yang kebetulan akan mengakses resource yang sama.

Instruction Pipeline

Instruction pipeline adalah teknik yang digunakan pada komputer untuk meningkatkan throughput eksekusi instruksi pada Central Processing Unit (CPU). Pipeline adalah sekumpulan tahapan proses yang terhubung secara berurutan.Output dari sebuah tahap proses menjadi input untuk tahap berikutnya. Pipeline tidak mengurangi waktu eksekusi sebuah instruksi tetapi meningkatkan jumlah instruksi yang dapat diproses secara bersamaan.


Dibawah ini akan dibahas tentang Instruction Pipeline pada CPU. Hal-hal yang dicakup antara lain adalah konsep mengenai pipeline, permasalahan, dan hambatan yang ada pada pipeline khususnya mengenai dependensi data, penanganan percabangan instruksi, dan penjelasan mengenai contoh implementasi pipeline pada beberapa prosesor komputer.

KONSEP PIPELINE
Diasumsikan pada sebuah bisnis warung makan memiliki tiga tahapan pekerjaan yaitu Menyiapkan bahan makanan, Memasak, dan Mengantar makanan ke meja pelanggan yang masing-masing dikerjakan oleh satu orang. Setiap pesanan pelangganyang diterima akan selalu mengalami tiga tahapan tersebut. Berikut adalah ilustrasi urutan proses jika tidak menggunakan konsep pipeline.

Gambar 1. Proses Sumber Daya Tanpa Pipeline

Friday, 24 October 2014

Format Instruksi dan Bahasa Assembly Pada Instruction Set Design

FORMAT INSTRUKSI
Sebuah format instruksi mendefinisikan susunan bit-bit dari sebuah instruksi.sebuah format instruksi harus menyertakan sebuah opcode dan, baik secara implisit ataupun eksplisit, 0 atau lebih operan. setiap operan eksplisit direferensikan menggunakan jenis pengalamatan yang telah dibahas sebelumnya. Format yang digunakan harus, baik secara implisit atau eksplisit, mengindikasikanjenis pengalamatan yang digunakan. Sebagian besat set instruksi memiliki lebih dari satu format instruksi.

a.      Panjang instruksi
            Salah satu isu terbesar yang harus dihadapi adalah panjang format instruksi.Keputusan ini berpengaruh dan dipengaruhi oleh, organisasi memori, struktur bus, kompleksitas processor dan kecepatan processor.Keputusan ini juga menentukan kekayaan dan fleksibilitas sebuah mesin dalam pandangan seorang programmer bahasa assembly.
            Pertimbangan dasar panjang instruksi salah satunya terletak pada pilihan apakah memiliki instruksi yang powerful atau memilih untuk menghemat ruang memori.Pertimbangan lainya, adalah pilihan apakah panjang sebuah instruksi harus sama dengan lebar jalur komunikasi memori (data bus) atau salah satunya (panjang instruksi atau lebar jalur) harus merupakan kelipatan dari yang lainya (contoh lebar jalur = 2 x panjang instruksi). feature penting lain yang perlu di perhatikan adalah panjang instruksi harus merupakan kelipatan panjang karakter (word). Dengan demikian, tidak ada bit yang tidak digunakan.