Rabu, 17 Juni 2009

TUGAS 3 (KHUSUS D4 REGULER D4EA & D4EB)

Buatlah karya tulis (editor) tentang Prosesor RISC, CISC dan Superscalar, selengkap mungkin, yang ditulis pada blog masing-masing, dan jangan lupa cantumkan sumbernya. tugas ditunggu hingga tanggal 24 Juni 2009. Isilah dulu pada komentar yang menyatakan bahwa karya tulis tersebut telah selesai diposting.

Prosesor Superscalar

Salah satu jenis dari arsitektur, dimana superscalar adalah sebuah uniprocessor yang dapat mengeksekusi dua atau lebih operasi scalar dalm bentuk paralel.

Merupakan salah satu rancangan untuk meningkatkan kecepatan CPU. Kebanyakan dari komputer saat ini menggunakan mekanisme superscalar ini. Standar pipeline yang digunakan adalah untuk pengolahan bilangan matematika integer (bilangan bulat, bilangan yang tidak memiliki pecahan), kebanyakan CPU juga memiliki kemampuan untuk pengolahan untuk data floating point (bilangan berkoma). Pipeline yang mengolah integer dapat juga digunakan untuk mengolah data bertipe floating point ini, namun untuk aplikasi tertentu, terutama untuk aplikasi keperluan ilmiah CPU yang memiliki kemampuan pengolahan floating point dapat meningkatkan kecepatan prosesnya secara dramatis.

Peristiwa menarik yang bisa dilakukan dengan metoda superscalar ini adalah dalam hal memperkirakan pencabangan instruksi (brach prediction) serta perkiraan eksekusi perintah (speculative execution). Peristiwa ini sangat menguntungkan buat program yang membutuhkan pencabangan dari kelompok intruksi yang dijalankankannya.

Program yang terdiri dari kelompok perintah bercabang ini sering digunakan dalam pemrograman. Contohnya dalam menentukan aktifitas yang dilakukan oleh suatu sistem berdasarkan umur seseorang yang sedang diolahnya, katakanlah jika umur yang bersangkutan lebih dari 18 tahun, maka akan diberlakukan instruksi yang berhubungan dengan umur tersebut, anggaplah seseorang tersebut dianggap telah dewasa, sedangkan untuk kondisi lainnya dianggap belum dewasa. Tentu perlakuannya akan dibedakan sesuai dengan sistem yang sedang dijalankan.

Lalu apa yang dilakukan oleh CPU untuk hal ini? Komputer akan membandingkan nilai umur data yang diperolehnya dengan 18 tahun sehingga komputer dapat menentukan langkah dan sikap yang harus diambilnya berdasarkan hasil perbandingan tersebut. Sikap yang diambil tentu akan diambil berdasarkan pencabangan yang ada.

Pada CPU yang mendukung perintah pencabangan ini, CPU membutuhkan lumayan banyak clock cycle, mengingat CPU menempatkan semuanya pada pipeline dan menemukan perintah berikutnya yang akan dieksekusinya. Sirkuit untuk branch prediction melakukan pekerjaan ini bekerja sama dengan pipeline, yang dilakukan sebelum proses di ALU dilaksanakan, dan memperkirakan hasil dari pencabangan tersebut.

Jika CPU berfikir bahwa branch akan menuju suatu cabang, biasanya berdasarkan pekerjaan sebelumnya, maka perintah berikutnya sudah dipersiapkan untuk dieksekusi berikut data-datanya, bahkan dengan adanya pipeline ini, bila tidak diperlukan suatu referensi dari instruksi terakhir, maka bisa dilaksanakan dengan segera, karena data dan instruksi yang dibutuhkan telah dipersiapkan sebelumnya..

Dalam hal speculative execution, artinya CPU akan menggunakan melakukan perhitungan pada pipeline yang berbeda berdasarkan kemungkinan yang diperkirakan oleh komputer. Jika kemungkinan yang dilakukan oleh komputer tepat, maka hasilnya sudah bisa diambil langsung dan tinggal melanjutkan perintah berikutnya, sedangkan jika kemungkinan yang diperkirakan oleh komputer tidak tepat, maka akan dilaksanakan kemungkinan lain sesuai dengan logika instruksi tersebut.

Teknik yang digunakan untuk pipeline dan superscalar ini bisa melaksanakan branch prediction dan speculative execution tentunya membutuhkan ekstra transistor yang tidak sedikit untuk hal tersebut.

Sebagai perbandingan, komputer yang membangkitkan pemrosesan pada PC pertama yang dikeluarkan oleh IBM pada mesin 8088 memiliki sekitar 29.000 transistor. Sedangkan pada mesin Pentium III, dengan teknologi superscalar dan superpipeline, mendukung branch prediction, speculative execution serta berbagai kemampuan lainnya memiliki sekitar 7,5 juta transistor. Beberapa CPU terkini lainnya seperti HP 8500 memiliki sekitar 140 juta transistor. [1]

Superscalar CPU arsitektur menerapkan satu bentuk parallelism disebut instruksi level parallelism dalam satu prosesor. Ia lebih cepat sehingga memungkinkan CPU throughput selain akan dapat mungkin pada jam menilai. Prosesor superscalar melaksanakan lebih dari satu instruksi pada saat bersamaan jam siklus oleh dispatching beberapa petunjuk untuk berlebihan fungsional unit pada prosesor. Setiap unit fungsional tidak terpisah tapi inti CPU eksekusi sumberdaya dalam satu CPU seperti sebuah unit aritmetik logika, sedikit shifter, atau pengganda.

Sementara superscalar CPU biasanya juga pipelined, mereka dua teknik peningkatan kinerja. Hal ini secara teoritis mungkin untuk mempunyai non-pipelined superscalar CPU pipelined atau non-superscalar CPU.

Teknik superscalar yang secara tradisional diasosiasikan dengan mengidentifikasi beberapa karakteristik. Catatan ini akan diterapkan dalam waktu yang diberikan CPU inti.

* Instruksi yang dikeluarkan dari instruksi berurut streaming
* CPU hardware secara dinamis untuk memeriksa dependensi data antara petunjuk pada waktu berjalan (versus memeriksa perangkat lunak pada waktu kompilasi)
* Menerima instruksi beberapa jam per siklus [2]

Sejarah

Seymour Cray's CDC 6600 dari 1965 sering disebut sebagai pertama superscalar desain. Intel i960CA (1988) dan seri AMD 29000-29050 (1990) mikro yang komersial pertama chip tunggal superscalar mikro. CPU RISC seperti ini membawa konsep superscalar untuk mikro komputer RISC karena hasil desain yang sederhana inti, agar mudah instruksi dispatch dan keterlibatan beberapa unit fungsional (seperti ALUs) pada satu CPU dalam rancangan peraturan yang terpaksa waktu. Ini adalah alasan yang RISC desain yang lebih cepat dari CISC desain melalui ke dalam tahun 1980-an dan 1990-an.

Kecuali untuk digunakan dalam beberapa CPU-daya baterai perangkat, pada dasarnya semua tujuan-CPU umum dikembangkan sejak 1998 adalah superscalar. Diawali dengan "P6" (Pentium Pro dan Pentium II) pelaksanaan, Intel x86 arsitektur mikro yang telah menerapkan CISC pada set instruksi RISC superscalar mikro. Kompleks petunjuk yang diterjemahkan secara internal ke-RISC seperti "micro-ops" set instruksi RISC, prosesor yang memungkinkan untuk mengambil keuntungan dari performa yang lebih tinggi-prosesor yang melandasi tetap kompatibel dengan prosesor Intel sebelumnya. [3]

Pustaka:

[1] Superscalar
[2] Wikipedia: Superscalar
[3] Superscalar Processor

Rabu, 10 Juni 2009

RISC

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) [1]

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 kompiler yang pada akhirnya dapat memaksimumkan
kinerja program yang ditulis dalam bahasa tingkat tinggi. [1]

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. [1]


Pustaka:

[1] Indra: Reduced Instruction Set Computer (RISC)

Struktur dan Fungsi Prosesor

Not yet, just click at link below...ok

Pustaka:

[1] Riyanto: Struktur dan Fungsi Prosesor Pertemuan 8
[2] Riyanto: Struktur dan Fungsi Prosesor Pertemuan 9
[3] BSI: Struktur dan Fungsi CPU
[4] William Stalling: CPU Structure and Function
[5] William Stalling: CPU Structure and Function

Mode Pengalamatan

Apakah Mode Pengalamatan Itu?

Mode pengalamatan adalah bagaimana cara menunjuk sebuah alamat di mana operand akan diambil

Mode pengalamatan diterapkan pada set instruksi (lihat petemuan sebelumnya), dimana pada umumnya instruksi terdiri dari opcode (kode operasi) dan alamat

Jenis-jenis Mode Pengalamatan
Secara garis besar ada 3 jenis:

  • Direct

  • Alamat operand ditunjuk secara langsung pada instruksi

  • Misal instruksi LOAD, cara penulisan: LOAD Y

  • Indirect

  • Alamat operand ditunjukkan secara tidak langsung oleh data yang terkandung pada alamat yang ditunjuk

  • Cara penulisan: LOAD (Y)

  • Immediate

  • Alamat operand tidak berisi sebuah alamat, tetapi langsung operand yang akan diproses

  • Cara penulisan: LOAD #9



Pustaka:

[1] Arsitektur dan Organisasi Komputer: Mode Pengalamatan
[2] Universitas Gunadarma: Mode Pengalamatan Data
[3] Maman Darusman: Tugas Arsitektur Komputer

Set Intruksi

Set Instruksi (bahasa Inggris: Instruction Set, atau Instruction Set Architecture (ISA)) didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara umum, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada). [1]

ISA merupakan sebuah spesifikasi dari kumpulan semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain. [1]


Pustaka:

[1]Wikipedia: Set Instruksi
[2] UG OpenCourseWare: ARSITEKTUR SET INSTRUKSI

TUGAS 2 (Khusus untuk D4LJ ELKA)

Carilah contoh-contoh proses pipelining dikehidupan sehari-hari. Contoh yang diberikan dapat bebas, berupa proses dari CPU atau bukan, misalkan proses pencucian baju dengan mesin cuci dan sebagainya.