Rabu, 16 Januari 2013

Struktur CPU

CPU merupakan komponen terpenting dari sistem komputer. CPU adalah komponen pengolah data berdasarkan instruksi – instruksi yang diberikan kepadanya. CPU terdiri dari dua bagian utama yaitu unit kendali (control unit) dan unit aritmatika dan logika (ALU). Disamping itu, CPU mempunyai beberapa alat penyimpan yang berukuran kecil yang disebut register.

Unit Kendali (Control Unit), bertugas mengontrol operasi CPU dan secara keselurahan mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi – fungsi operasinya. Termasuk dalam tanggung jawab unit kontrol adalah mengambil instruksi –instruksi dari memori utama dan menentukan jenis instruksi tersebut.
Arithmetic and Logic Unit (ALU), bertugas membentuk fungsi – fungsi pengolahan data komputer. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya. Seperti istilahnya, ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing – masing memiliki spesifikasi tugas tersendiri.
Register adalah media penyimpan internal CPU yang digunakan saat proses pengolahan data. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya.
CPU Interconnections adalah sistem koneksi dan bus yang menghubungkan komponen internalCPU, 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.

A. Fungsi 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 papan ketik,pemindai, tuas kontrol, maupun tetikus. CPU dikontrol menggunakan sekumpulan instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari media penyimpan, seperti cakram keras, disket, cakram padat, maupun pita perekam. Instruksi-instruksi tersebut kemudian disimpan terlebih dahulu pada memori fisik (RAM), yang mana setiap instruksi akan diberi alamat unik yang disebut alamat memori. Selanjutnya, CPU dapat mengakses data-data pada RAM dengan menentukan alamat data yang dikehendaki.

Saat sebuah program dieksekusi, data mengalir dari RAM ke sebuah unit yang disebut dengan bus, yang menghubungkan antara CPU dengan RAM. Data kemudian didekode dengan menggunakan unit proses yang disebut sebagai pendekoder instruksi yang sanggup menerjemahkan instruksi. Data kemudian berjalan ke unit aritmatika dan logika (ALU) yang melakukan kalkulasi dan perbandingan. Data bisa jadi disimpan sementara oleh ALU dalam sebuah lokasi memori yang disebut dengan register supaya dapat diambil kembali dengan cepat untuk diolah. ALU dapat melakukan operasi-operasi tertentu, meliputi penjumlahan, perkalian, pengurangan, pengujian kondisi terhadap data dalam register, hingga mengirimkan hasil pemrosesannya kembali ke memori fisik, media penyimpan, atau register apabila akan mengolah hasil pemrosesan lagi. Selama proses ini terjadi, sebuah unit dalam CPU yang disebut dengan penghitung program akan memantau instruksi yang sukses dijalankan supaya instruksi tersebut dapat dieksekusi dengan urutan yang benar dan sesuai.

Fungsi CPU adalah penjalankan program – program yang disimpan dalam memori utama dengan cara mengambil instruksi – instruksi, menguji instruksi tersebut dan mengeksekusinya satu persatu sesuai alur perintah. Untuk memahami fungsi CPU dan caranya berinteraksi dengan komponen lain, perlu kita tinjau lebih jauh proses eksekusi program. Pandangan paling sederhana proses eksekusi program adalah dengan mengambil pengolahan instruksi yang terdiri dari dua langkah, yaitu : operasi pembacaan instruksi (fetch) dan operasi pelaksanaan instruksi (execute).

Siklus Fetch – Eksekusi

Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi dari memori. Terdapat register dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya, yang disebut Program Counter (PC). PC akan menambah satu hitungannya setiap kali CPU membaca instruksi. Instruksi–instruksi yang dibaca akan dibuat dalam register instruksi (IR). Instruksi – instruksi ini dalam bentuk kode – kode binner yang dapat diinterpretasikan oleh CPU kemudian dilakukan aksi yang diperlukan. Aksi – aksi ini dikelompokkan menjadi empat katagori, yaitu :

• CPU – Memori, perpindahan data dari CPU ke memori dan sebaliknya.

• CPU –I/O, perpindahan data dari CPU ke modul I/O dan sebaliknya.

• Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan logika

terhadap data.

• Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja. Misalnya

instruksi pengubahan urusan eksekusi.

Siklus Eksekusi

Siklus eksekusi untuk suatu instruksi dapat melibatkan lebih dari sebuah

referensi ke memori. Disamping itu juga, suatu instruksi dapat menentukan suatu operasi I/O. Perhatikan pada Gambar Diagram siklus intruksi.
Gambar siklus Pengambilan (Fetch) dan Siklus Eksekusi

Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki panjang 8 bit, maka tambahkan 2 ke alamat sebelumnya.
Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU.
Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam memori.

B. Fungsi Interrupt
Fungsi interupsi adalah mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU kepada routine interupsi. Hampir semua modul (memori dan I/O) memiliki mekanisme yang dapat menginterupsi kerja CPU.

Tujuan interupsi secara umum untuk menejemen pengeksekusian routine instruksi agar efektif dan efisien antar CPU dan modul – modul I/O maupun memori. Setiap komponen – komputer dapat menjalankan tugasnya secara bersamaan, tetapi kendali terletak pada CPU disamping itu kecepatan eksekusi masing – masing modul berbeda sehingga dengan adanya fungsi interupsi ini dapat sebagai sinkronisasi kerja antar modul. Macam – macam kelas sinyal interupsi :

Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada hasil eksekusi program. Contohnya: arimatika overflow, pembagian nol, oparasi ilegal.
Timer, adalah interupsi yang dibangkitkan pewaktuan dalam prosesor. Sinyal ini memungkinkan sistem operasi menjalankan fungsi tertentu secara reguler.
I/O, sinyal interupsi yang dibangkitkan oleh modul I/O sehubungan pemberitahuan kondisi error dan penyelesaian suatu operasi.
Hardware failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan paritas memori.
Dengan adanya mekanisme interupsi, prosesor dapat digunakan untuk mengeksekusi instruksi – instruksi lain. Saat suatu modul telah selesai menjalankan tugasnya dan siap menerima tugas berikutnya maka modul ini akan mengirimkan permintaan interupsi ke prosesor. Kemudian prosesor akan menghentikan eksekusi yang dijalankannya untuk menghandel routine interupsi. Setelah program interupsi selesai maka prosesor akan melanjutkan eksekusi programnya kembali. Saat sinyal interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi diterima/ditangguhkan dan interupsi ditolak.

Memori Eksternal

Memori eksternal

Bersifat eksternal terhadap sistem komputer dan tentu saja berada di luar CPU, Diperlukan untuk menyimpan data atau instruksi secara permanen. Tidak diperlukan di dalam proses eksekusi sehingga tidak dapat diakses secara langsung oleh prosesor (CPU). Untuk akses memori eksternal ini oleh CPU harus melalui pengontrol/modul I/O. Memori eksternal sering juga disebut sebagai memori sekunder. Memori ini terdiri atas perangkat storage peripheral seperti : disk, pita magnetik, dll.

Kapasitas Memori
Kapasitas register (memori lokal) dinyatakan dalam bit. Kapasitas memori internal biasanya dinyatakan dalam bentuk byte (1 byte = 8 bit) atau word. Panjang word umum adalah 8, 16, dan 32 bit. Kapasitas memori eksternal biasanya dinyatakan dalam byte.

Satuan Transfer (Unit of Transfer)
Satuan transfer sama dengan jumlah saluran data yang masuk ke dan keluar dari modul memori. Bagi memori internal (memori utama), satuan transfer merupakan jumlah bit yang dibaca atau yang dituliskan ke dalam memori pada suatu saat. Bagi memori eksternal, data ditransfer dalam jumlah yang jauh lebih besar dari word, dalam hal ini dikenal sebagai block.
Word
Ukuran word biasanya sama dengan jumlah bit yang digunakan untuk representasi bilangan dan panjang instruksi, kecuali CRAY-1 dan VAX.
CRAY-1 memiliki panjang word 64 bit, memakai representasi integer 24 bit.
VAX memiliki panjang instruksi yang beragam, ukuran wordnya adalah 32 bit.
Addressable Units
Pada sejumlah sistem, addressable unit adalah word. Hubungan antara panjang suatu alamat (A) dengan jumlah addressable unit (N) adalah 2A = N

Metode Akses Memori
Terdapat empat jenis pengaksesan satuan data, sbb :


Sequential Access
  • Memori diorganisasikan menjadi unit-unit data, yang disebut record.
  • Akses dibuat dalam bentuk urutan linier yang spesifik.
  • Informasi pengalamatan dipakai untuk memisahkan record-record dan untuk membantu proses pencarian.
  • Mekanisme baca/tulis digunakan secara bersama (shared read/write mechanism), dengan cara berjalan menuju lokasi yang diinginkan untuk mengeluarkan record.
  • Waktu access record sangat bervariasi.
  • Contoh sequential access adalah akses pada pita magnetik.
Direct Access
  • Seperti sequential access, direct access juga menggunaka shared read/write mechanism, tetapi setiap blok dan record memiliki alamat yang unik berdasarkan lokasi fisik.
  • Akses dilakukan secara langsung terhadap kisaran umum (general vicinity) untuk mencapai lokasi akhir.
  • Waktu aksesnya bervariasi.
  • Contoh direct access adalah akses pada disk
Random Access
  • Setiap lokasi dapat dipilih secara random dan diakses serta dialamati secara langsung.
  • Waktu untuk mengakses lokasi tertentu tidak tergantung pada urutan akses sebelumnya dan bersifat konstan.
  • Contoh random access adalah sistem memori utama.
Associative Access
  • Setiap word dapat dicari berdasarkan pada isinya dan bukan berdasarkan alamatnya.
  • Seperti pada RAM, setiap lokasi memiliki mekanisme pengalamatannya sendiri.
  • Waktu pencariannya tidak bergantung secara konstan terhadap lokasi atau pola access sebelumnya.
  • Contoh associative access adalah memori cache.
Kinerja Memori
Ada tiga buah parameter untuk kinerja sistem memori, yaitu :
Waktu Akses (Access Time)
  • Bagi RAM, waktu akses adalah waktu yang dibutuhkan untuk melakukan operasi baca atau tulis.
  • Bagi non RAM, waktu akses adalah waktu yang dibutuhkan untuk melakukan mekanisme baca tulis pada lokasi tertentu.
Waktu Siklus (Cycle Time)
Waktu siklus adalah waktu akses ditambah dengan waktu transien hingga sinyal hilang dari saluran sinyal atau untuk menghasilkan kembali data bila data ini dibaca secara destruktif.
Laju Pemindahan (Transfer Rate)
Transfer rate adalah kecepatan pemindahan data ke unit memori atau ditransfer dari unit memori.
Bagi RAM, transfer rate sama dengan 1/(waktu siklus).
Bagi non-RAM, berlaku persamaan sbb.:
TN = Waktu rata-rata untuk membaca atau menulis sejumlah N bit.
TA = Waktu akses rata-rata
N = Jumlah bit
R = Kecepatan transfer, dalam bit per detik (bps)

Tipe Fisik Memori
Ada dua tipe fisik memori, yaitu :
  • Memori semikonduktor, memori ini memakai teknologi LSI atau VLSI (very large scale integration). Memori ini banyak digunakan untuk memori internal misalnya RAM.
  • Memori permukaan magnetik, memori ini banyak digunakan untuk memori eksternal yaitu untuk disk atau pita magnetik.
Karakteristik Fisik
Ada dua kriteria yang mencerminkan karakteristik fisik memori, yaitu:
Volatile dan Non-volatile
Pada memori volatile, informasi akan rusak secara alami atau hilang bila daya listriknya dimatikan.
Pada memori non-volatile, sekali informasi direkam akan tetap berada di sana tanpa mengalami kerusakan sebelum dilakukan perubahan. Pada memori ini daya listrik tidak diperlukan untuk mempertahankan informasi tersebut.
Memori permukaan magnetik adalah non volatile.
Memori semikonduktor dapat berupa volatile atau non volatile.

Erasable dan Non-erasable
Erasable artinya isi memori dapat dihapus dan diganti dengan informasi lain.
Memori semikonduktor yang tidak terhapuskan dan non volatile adalah ROM.

Organisasi
Yang dimaksud dengan organisasi adalah pengaturan bit dalam menyusun word secara fisik.

Hirarki Memori
Tiga pertanyaan dalam rancangan memori, yaitu :
Berapa banyak?         Berapa cepat?    Berapa mahal?
Kapasitas.                    Waktu access            Harga

Setiap spektrum teknologi mempunyai hubungan sbb.:
Semakin kecil waktu access, semakin besar harga per bit.
Semakin besar kapasitas, semakin kecil harga per bit.
Semakin besar kapasitas, semakin besar waktu access.

Untuk mendapatkan kinerja terbaik, memori harus mampu mengikuti CPU. Artinya apabila CPU sedang mengeksekusi instruksi, kita tidak perlu menghentikan CPU untuk menunggu datangnya instruksi atau operand.
Untuk mendapatkan kinerja terbaik, memori menjadi mahal, berkasitas relatif rendah, dan waktu access yang cepat.
Register adalah jenis memori yang tercepat, terkecil, dan termahal yang merupakan memori internal bagi prosesor.
Memori utama merupakan sistem internal memory dari sebuah komputer. Setiap lokasi di dalam memori utama memiliki alamat yang unik.
Cache adalah perangkat untuk pergerakan data antara memori utama dan register prosesor untuk meningkatkan kinerja.
Ketiga bentuk meori di atas bersifat volatile dan memakai teknologi semikonduktor.
Magnetic disk dan Magnetic tape adalah external memory dan bersifat non-volatile.
Memori Semikonduktor
Ada beberapa memori semikonduktor, yaitu :
RAM : RAM statik (SRAM) dan RAM dinamik (DRAM).
ROM : ROM, Programmable ROM (PROM), Erasable PROM (EPROM), Electrically EPROM (EEPROM), Flash Memory.

Random Access Memory (RAM)
Baca dan tulis data dari dan ke memori dapat dilakukan dengan mudah dan cepat.
Bersifat volatile
Perlu catu daya listrik.

RAM Dinamik (DRAM)
Disusun oleh sel-sel yang menyimpan data sebagai muatan listrik pada kapasitor.
Ada dan tidak ada muatan listrik pada kapasitor dinyatakan sebagai bilangan biner 1 dan 0.
Perlu pengisian muatan listrik secara periodik untuk memelihara penyimpanan data.

RAM Statik (SRAM)
Disusun oleh deretan flip-flop.
Baik SRAM maupun DRAM adalah volatile. Sel memori DRAM lebih sederhana dibanding SRAM, karena itu lebih kecil. DRAM lebih rapat (sel lebih kecil = lebih banyak sel per satuan luas) dan lebih murah. DRAM memrlukan rangkaian pengosong muatan. DRAM cenderung lebih baik bila digunakan untuk kebutuhan memori yang lebih besar. DRAM lebih lambat.

Read Only Memory (ROM)
Menyimpan data secara permanen
Hanya bisa dibaca
Dua masalah ROM
Langkah penyisipan data memerlukan biaya tetap yang tinggi.
Tidak boleh terjadi kesalahan (error).

Programmabel ROM (PROM)
Bersifat non volatile dan hanya bisa ditulisi sekali saja.
Proses penulisan dibentuk secara elektris.
Diperlukan peralatan khusus untuk proses penulisan atau “pemrograman”.

Erasable PROM (EPROM)
Dibaca secara optis dan ditulisi secara elektris.
Sebelum operasi write, seluruh sel penyimpanan harus dihapus menggunakan radiasi sinar ultra-violet terhadap keping paket.
Proses penghapusan dapat dilakukan secara berulang, setiap penghapusan memerlukan waktu 20 menit.
Untuk daya tampung data yang sama EPROM lebih mahal dari PROM.

Electrically EPROM (EEPROM)
Dapat ditulisi kapan saja tanpa menghapus isi sebelumnya.
Operasi write memerlukan watu lebih lama dibanding operasi read.
Gabungan sifat kelebihan non-volatilitas dan fleksibilitas untuk update dengan menggunakan bus control, alamat dan saluran data.
EEPROM lebih mahal dibanding EPROM.
Sel memori memiliki sifat tertentu sbb.:
Memiliki dua keadaan stabil untuk representasi bilangan biner 1 atau 0.
Memiliki kemampuan untuk ditulisi
Memiliki kemampuan untuk dibaca.

Organisasi Logik Keping (Chip Logic) Memori
Organisasi DRAM 16 Mbit secara umum. Array memori diorganisasikan sebagai empat buah kuardrat 2048 terhadap 2048 elemen. Elemen-elemen aray dihubungkan dengan saluran horizontal (baris) dan vertikal (kolom). Setiap saluran horizontal terhubung ke terminal Data-in/Sense masing-masing sel pada kolomnya.