Tuesday, June 10, 2014

Prosesor Mikro, Arsitektur Komputer dan Desain CPU



A. Prosesor Mikro
Sebuah Mikroprosesor atau prosesor mikro (sering dituliskan: µP atau uP) adalah sebuah central processing unit (CPU) elektronik komputer yang terbuat dari transistor mini dan sirkuit lainnya di atas sebuah sirkuit terintegrasi semikonduktor.

Sebelum berkembangnya mikroprosesor, CPU elektronik terbuat dari sirkuit terintegrasi TTL terpisah; sebelumnya, transistor individual; sebelumnya lagi, dari tabung vakum. Bahkan telah ada desain untuk mesin komputer sederhana atas dasar bagian mekanik seperti gear, shaft, lever, Tinkertoy, dll.

Evolusi dari mikroprosesor telah diketahui mengikuti Hukum Moore yang merupakan peningkatan performa dari tahun ke tahun. Teori ini merumuskan bahwa daya penghitungan akan berlipat ganda setiap 18 bulan, sebuah proses yang benar terjadi sejak awal 1970-an; sebuah kejutan bagi orang-orang yang berhubungan. Dari awal sebagai driver dalam kalkulator, perkembangan kekuatan telah menuju ke dominasi mikroprosesor di berbagai jenis komputer; setiap sistem dari mainframe terbesar sampai ke komputer pegang terkecil sekarang menggunakan mikroprosesor sebagai pusatnya.

Berikut adalah karakteristik penting dari mikroprosesor :

  1. Ukuran bus data internal (internal data bus size): Jumlah saluran yang terdapat dalam mikroprosesor yang menyatakan jumlah bit yang dapat ditransfer antar komponen di dalam mikroprosesor.
  2. Ukuran bus data eksternal (external data bus size): Jumlah saluran yang digunakan untuk transfer data antar komponen antara mikroprosesor dan komponen-komponen di luar mikroprosesor.
  3. Ukuran alamat memori (memory address size): Jumlah alamat memori yang dapat dialamati oleh mikroprosesor secara langsung.
  4. Kecepatan clock (clock speed): Rate atau kecepatan clock untuk menuntun kerja mikroprosesor.
  5. Fitur-fitur spesial (special features): Fitur khusus untuk mendukung aplikasi tertentu seperti fasilitas pemrosesan floating point, multimedia dan sebagainya.



B. Arsitektur Komputer 
Arsitektur Komputer adalah konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem komputer. Arsitektur komputer ini merupakan rencana cetak-biru dan deskripsi fungsional dari kebutuhan bagian perangkat keras yang didesain (kecepatan proses dan sistem interkoneksinya). Dalam hal ini, implementasi perencanaan dari masing–masing bagian akan lebih difokuskan terutama, mengenai bagaimana CPU akan bekerja, dan mengenai cara pengaksesan data dan alamat dari dan ke memori cache, RAM, ROM, cakram keras, dll). Beberapa contoh dari arsitektur komputer ini adalah arsitektur von Neumann, CISC, RISC, blue Gene, dll.

Arsitektur komputer juga dapat didefinisikan dan dikategorikan sebagai ilmu dan sekaligus seni mengenai cara interkoneksi komponen-komponen perangkat keras untuk dapat menciptakan sebuah komputer yang memenuhi kebutuhan fungsional, kinerja, dan target biayanya.

Arsitektur komputer ini paling tidak mengandung 3 sub-kategori:

  • Set instruksi (ISA)
  • Arsitektur mikro dari ISA, dan
  • Sistem desain dari seluruh komponen dalam perangkat keras komputer ini.



C. Desain CPU
Central Processing Unit (CPU) yaitu perangkat keras komputer yang memahami dan melaksanakan perintah dan data dari perangkat lunak. Istilah lain, pemroses/prosesor (processor), sering digunakan untuk menyebut CPU. Adapun mikroprosesor adalah CPU yang diproduksi dalam sirkuit terpadu, seringkali dalam sebuah paket sirkuit terpadu-tunggal. Sejak pertengahan tahun 1970-an, mikroprosesor sirkuit terpadu-tunggal ini telah umum digunakan dan menjadi aspek penting dalam penerapan CPU.

CPU berfungsi seperti kalkulator, hanya saja CPU jauh lebih kuat daya pemrosesannya. Fungsi utama dari CPU adalah melakukan operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras, seperti keyboard, pemindai, tuas kontrol, maupun mouse. CPU dikontrol menggunakan sekumpulan instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari media penyimpan, seperti hard disk, disket, cakram padat, maupun pita perekam. Instruksi-instruksi tersebut kemudian disimpan terlebih dahulu pada memori fisik (MAA), yang mana setiap instruksi akan diberi alamat unik yang disebut alamat memori. Selanjutnya, CPU dapat mengakses data-data pada MAA dengan menentukan alamat data yang dikehendaki.

Komponen CPU terbagi menjadi beberapa macam, yaitu sebagai berikut.

  • Unit kontrol yang mampu mengatur jalannya program. Komponen ini sudah pasti terdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antarkomponen dalam menjalankan fungsi-fungsi operasinya. Tugas dari unit kendali ini adalah:
    • Mengatur dan mengendalikan alat-alat masukan (input) dan keluaran (output).
    • Mengambil instruksi-instruksi dari memori utama.
    • Mengambil data dari memori utama (jika diperlukan) untuk diproses.
    • Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja dari ALU.
    • Menyimpan hasil proses ke memori utama.

  • Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya.
  • ALU unit yang bertugas untuk melakukan operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder.

  • CPU Interconnections adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register-register dan juga dengan bus-bus eksternal CPU yang menghubungkan dengan sistem lainnya, seperti memori utama, piranti masukan /keluaran.


Langkah-langkah yang dilakukan dalam suatu proses desain CPU:

  1. Mendeskripsikan RTN

Pada tahap ini setiap instruction set didefinisikan secara jelas dengan menggunakan register transfer notation.

  1. Menentukan Data Path

Data path adalah koleksi/kumpulan register tambahan dan register penghubung yang diperlukan dalam proses pengeksekusian suatu instruksi, yang termasuk dalam instruction set, secara keseluruhan. Pada tahap menentukan data path ini, penggunaan RTN akan sangat diperlukan untuk menjelaskan langkah-langkah yang terjadi dalam proses pengeksekusian masing-masing instruksi. Pada tahap ini kita juga harus membuat asumsi tentang bagaimana komponen-komponen hardware bekerja. Kumpulan asumsi-asumsi yang dibuat akan dijadikan spesifikasi bagi disain logika dari perangkat keras data path.

  1. Mendesain perangkat keras, sesuai dengan spesifikasi data path
    Untuk melaksanakan tahap ini, desainer harus memikirkan sinyal-sinyal kontrol yang harus di-generate agar suatu langkah dalam urutan proses pengeksekusian suatu instruksi dapat berlangsung, seperti "strobe" untuk me-load register ke bus, dsb.

  1. Membuat Control Unit

Membuat Control Unit yang akan menghasilkan dan mengatur sinyal-sinyal kontrol dalam urutan yang tepat sehingga langkah-langkah dalam urutan proses pengeksekusian instruksi dapat berlangsung dengan benar.


Hal yang harus dipahami dan diingat dengan baik dalam keseluruhan proses desain CPU adalah bahwa setiap langkah menghasilkan spesifikasi-spesifikasi yang harus dipenuhi pada langkah selanjutnya.



Konsep awal yang sangat penting adalah perbedaan antara abstract RTN dan concreate RTN:

  • Abstarct RTN menjelaskan perubahan pada programmer-visible registers yang disebabkan oleh pengeksekusian suatu instruksi.
  • Concreate RTN menjelaskan secara detail langkah-langkah register transfer yang terjadi pada data path sehingga menghasilkan perubahan pada programmer-visible registers secara keseluruhan.

 Unit kerja dari suatu abstract RTN adalah eksekusi instruksi, sementara langkah-langkah pada concreate RTN berhubungan dengan pulsa clock prosesor.
 


Sumber :





»»  READMORE...

Konsep CISC

Complex Instruction Set Computing (CISC) atau kumpulan instruksi komputasi kompleks adalah suatu arsitektur komputer dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memori (load), operasi aritmatika, dan penyimpanan ke dalam memori (store) yang saling bekerja sama.

Tujuan utama dari arsitektur CISC adalah melaksanakan suatu instruksi cukup dengan beberapa baris bahasa mesin yang relatif pendek sehingga implikasinya hanya sedikit saja RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut. Arsitektur CISC menekankan pada perangkat keras karena filosofi dari arsitektur CISC yaitu bagaimana memindahkan kerumitan perangkat lunak ke dalam perangkat keras.

Karakteristik CISC :
  • Sarat informasi memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat.
  • 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.
Ciri-ciri :
  • Jumlah instruksi banyak
  • Banyak terdapat perintah bahasa mesin
  • Instruksi lebih kompleks
Pengaplikasian CISC yaitu pada AMD dan Intel. Contohnya :
  • Prosesor System/360
  • Prosesor VAX 
  • Prosesor PDP-11
  • CPU AMD
  • Intel x86, dll.

Beberapa kelemahan sistem CISC adalah:
  • Komplesitas CPU: desainunit kontrol (utamanya pendekodean instruksi) menjadi kompleks karena mempunyai set instruksi yang besar. 
  • Ukuran sistem dan biaya : mempunyai banyak sirkuit hardware yang menyebabkan CPU manjadi kompleks. Hal ini meningkatkan biaya hardware pada sistem dan juga kebutuhan daya listrik. 
  • Kecepatan Clock : karena sirkuit yang besar maka progagation delay (tunda propagasi) lebih besar dan waktu siklus CPU yang besar sehingga kecepatan clock efektif menurun. 
  • Keandalan : dengan hardware yang besar maka cenderung mudah menjadi kegagalan.
  • Maintainability : Troubleshooting dan pendeteksian suatu kegagalan mengakibatkan pekerjaan menjadi besar karena besarnya sirkuit yang ada. Dengan penemuan microprogramming membantu menurunkan beban tersebut.


Sumber :
»»  READMORE...