Minggu, 06 November 2016

Central Processing Unit ( CPU )

Pengertian CPU dan Fungsinya

CPU, singkatan dari Central Processing Unit adalah perangkat keras komputer yang berfungsi untuk menerima dan melaksanakan perintah dan data dari perangkat lunak. Prosesor sering digunakan untuk menyebut CPU pada umumnya. 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.
Pin mikroprosesor Intel 80486DX2.
Komponen CPU terbagi menjadi beberapa macam, yaitu sebagai berikut:
Unit kontrol (Control Unit)
Unit kontrol ini adalah bagian dari prosesor yang mampu mengatur jalannya program. Komponen ini terdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU (Aritmathic Logic Unit). Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian tugas dari unit kendali ini adalah:

• Mengatur dan mengendalikan alat-alat input dan 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.
• Mengawasi kerja dari ALU.
• Menyimpan hasil proses ke memori utama.

I. Control Unit

Unit kontrol (bahasa Inggris: Control Unit – CU) adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan / kendali / kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut. Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic
yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store).

Tugas dari CU adalah sebagai berikut:
1. Mengatur dan mengendalikan alat-alat input dan output.
2. Mengambil instruksi-instruksi dari memori utama.
3. Mengambil data dari memori utama kalau diperlukan oleh proses.
4. Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan
logika serta mengawasi kerja.
5. Menyimpan hasil proses ke memori utama.

Proses tiga langkah karakteristik unit control:
1. Menentukan elemen dasar prosesor
2. Menjelaskan operasi mikro yang akan dilakukan prosesor
3. Menentukan fungsi-fungsi yang harus dilakukan unit control agar menyebabkan
pembentukan operasi mikro
Masukan-masukan unit control:

1. Clock / pewaktu
Pewaktu adalah cara unit control dalam menjaga waktunya. Unit control menyebabkan sebuah operasi mikro (atau sejumlah operasi mikro yang bersamaan) dibentuk bagi setiap pulsa waktu. Pulsa ini dikenal sebagai waktu siklus prosesor.

2. Register instruksi
Opcode instruksi saat itu digunakan untuk menentukan operasi mikro mana yang akan dilakukan selama siklus eksekusi.

3. Flag
Flag ini diperlukan oleh unit control untuk menentukan status prosesor dan hasil operasi ALU sebelumnya.
4. Sinyal control untuk mengontrol bus
Bagian bus control bus system memberikan sinyal-sinyal ke unit control, seperti sinyal-sinyal interupsi dan acknowledgement.

Keluaran-keluaran unit control:
• Sinyal control didalam prosesor: terdiri dari dua macam: sinyal-sinyal yang menyebabkan data dipindahkan dari register yang satu
keregister yang lainnya, dan sinyal-sinyal yang dapat mengaktifasi fungsi-fungsi ALU tertentu.

II. ALU (Aritmetic and Logic Unit)

ALU (Arithmetic and Logic Unit), CU (Control Unit), Register, dan interkoneksinya. ALU merupakan bagian pengolah bilangan biner dari sebuah prosesor. ALU bertugas melakukan operasi-operasi aritmatika dan logika sesuai dengan instruksi yang diberikan. ALU juga merupakan salah satu bagian yang terpenting. Unit aritmetik logika (ALU) terdiri dari sirkuit elektronik yang membuatnya mampu melaksanakan operasi aritmatika dan logika. Ia mengeksekusi instruksi dan melakukan perhitungan (tambah, kali, kurang, dan bagi) dan perbandingan. ALU bekerja dengan register yang berbeda untuk menyimpan data atau informasi tentang tindakan terakhir yang dilakukan oleh unit logika. ALU mampu membandingkan huruf, angka, atau karakter khusus. Komponen dari rangkaian logika pada ALU adalah gerbanggerbang logika AND, OR, XOR, dan NOT yang dihubungkan pada multiplexer. Selain itu juga terdapat juga operasi shifter yang komponen dasarnya adalah multiplexer. Komponen ALU mendapatkan masukan data dari register dan sinyal kontrol dari CU. Untuk operasi ALU dengan dua masukan, diperlukan dua register 8-bit: ACC (accumulator) untuk masukan pertama dan temp (register sementara) untuk masukan kedua. Hasil dari operasi ALU ini adalah data 8-bit yang kemudian diteruskan ke register untuk menyimpan hasil operasi ini. Selain itu juga dihasilkan flag atau bit status. Flag ini akan diteruskan ke register yang menyimpan flag hasil dari operasi ALU. Untuk mempercepat pemrosesan data di dalam prosesor, selain CU dan ALU, prosesor juga membutuhkan memori dengan kecepatan yang sama dengan prosesor. Memori khusus yang diimplementasikan pada prosesor ini disebut register. Komponen utama penyusun register adalah flip-flop.

III. Register

Bagian CPU berikutnya adalah register. Register merupakan perangkat memori sementara yang menyimpan data. Register membantu CPU dalam melaksanakan instruksi. Mereka dikelola oleh unit kontrol. Register berfungsi untuk tempat penyimpanan yang berisi data dan informasi lainnya yang sering dibutuhkan ketika sebuah program sedang berjalan. Register dimaksudkan untuk dapat diakses dengan sangat cepat. Yang termasuk register di antaranya adalah register uji dan instruksi. Register instruksi berisi instruksi CPU sedangkan register uji dimaksudkan untuk menyimpan hasil kerja yang dilakukan oleh CPU.

IV. Memory

Memori merupakan media penyimpanan program maupun data. Memori semikonduktor dapat dibedakan menjadi Read Only Memory (ROM) dan Random Access Memory (RAM). ROM adalah memori non-volatil yang digunakan untuk menyimpan data secara permanen. Data yang disimpan hanya dapat dibaca, tidak dapat diubah, dan isinya tidak hilang ketika catuan dimatikan. Sedangkan RAM adalah tempat penyimpanan sementara yang berisi alamat yang isinya dapat dibaca dan dimodifikasi. Memori ini bersifat volatil, isinya akan hilang ketika catuan dimatikan.
Memori program merupakan ruang memori yang digunakan untuk menyimpan program yang akan dijalankan oleh prosesor. Memori program bersifat read only memory (ROM). Prosesor hanya bisa membaca isi dari memori program tetapi tidak bisa mengubah isinya. Memori data pada prosesor digunakan untuk menyimpan data-data hasil pemrosesan dari instruksi-instruksi yang dijalankan oleh prosesor. Pada mikrokontroler 8051, memori data internal sebesar 128 byte. Didalamnya terdapat bank register, Spesial Function Register (SFR), dan general-purpose register.

V. Input output

Terdapat dua jenis interface input dan output pada FPGA untuk komunikasi dengan device di luar FPGA: data port serial dan data port paralel. Interface komunikasi serial biasa disebut UART (Universal Asynchronous Receiver- Transmitter). Sedangkan untuk interface komunikasi parallel disebut PIO (Parallel Input-Output).

VI. UART

UART merupakan suatu piranti asinkron yang memerlukan bit awal dan bit akhir untuk setiap kata digital yang dikirimkan dari dan ke CPU. UART dapat deprogram untuk menentukan mode operasinya.
UART memiliki dua mode operasi:

1.Mode pengiriman, dimana UART akan mengambil data paralel dan mengubahnya dalam aliran data seri yang berisi karakter start, stop,
dan karakter yang sama.
2.Mode penerimaan, dimana UART akan mengambil aliran bit seri dan mengubahnya ke dalam data paralel.

VII. Bus

Suatu sistem digital pada umumnya memiliki banyak komponen register. Interkoneksi antar komponen diperlukan untuk transfer data dari satu komponen ke komponen yang lainnya. Untuk efesiensi dalam transfer data tersebut digunakan suatu sistem untuk berbagi saluran yang disebut bus. Bus adalah sekelompok kawat penghubung yang digunakan sebagai jalur untuk menyalurkan bit-bit biner. Ada tiga jenis bus pada sistem prosesor : bus data, bus alamat, dan bus kontrol.

1. Bus data digunakan untuk mentransfer data antara CPU dengan elemen elemen lain di dalam sistem. Bus data bersifat bidirectional, bisa
menerima data dan juga mengirimkan data. Juga terdapat internal data bus untuk transfer data sesama elemen CPU, yang dihubungkan
ke bus data sistem melalui Memory Buffer Register (MBR). MBR merupakan buffer dua arah.

2. Bus alamat membawa alamat dari lokasi memori, untuk mengambil data agar dapat dibaca atau untuk menyimpan agar dapat ditulis. Bus
alamat dapat juga mengalamati elemen elemen lain di dalam sistem seperti unit antarmuka masukan/keluaran. Bus alamat dapat
membawa 16 bit informasi digital secara serempak.

3.Bus kontrol membawa semua isyarat kontrol dari CPU. Fungsi utama bus kontrol adalah: sinkronisasi memori dan I/O, penjadwalan CPU
(misalnya interupsi), dan tugas lain seperti reset dan clock. Sebelum memasuki address bus sistem maupun control bus sistem, informasi
terlebih dahulu melewati Memory Address Register (MAR), yang merupakan buffer satu arah.

VIII. Clock

Bagian CPU yang lain adalah sistem waktu. Sistem terbuat dari sirkuit waktu untuk mengukur tugas yang dilakukan oleh CPU. Kinerja prosesor umumnya diukur dalam “hertz.”

* 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.

Cara Kerja CPU

Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di RAM (melalui Input-storage); apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage). Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register). Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Accumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke output-devices.

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.

Demikian pengerti atau tulisan mengenai CPU dan apa saja komponen yang ada pada CPU tersebut yang saya kutip dari beberapa sumber yaitu ;

http://eryboy1304.blogspot.co.id/2012/10/pengertian-cpu-alu-cu-dan-register.html?m=1

https://www.google.co.id/url?sa=t&source=web&rct=j&url=http://missnuroxfordutomo.blogspot.com/2011/04/pengertian-cpu-dan-fungsinya.html%3Fm%3D1&ved=0ahUKEwi56IK3nZTQAhUHM48KHeO0D5cQFgghMAI&usg=AFQjCNFyTZ3ZvBtD1aAQ_Ir4VsdF2DjElQ

ARSITEKTUR SET INSTRUKSI & DESAIN SET ARSITEKTUR

ARSITEKTUR SET INSTRUKSI & DESAIN SET ARSITEKTUR

              ARSITEKTUR SET INSTRUKSI
Set instruksi didefinisikan sebagai suatu aspek dalam arsitektur computer yang dapat dilihat oleh para pemrogram.
Dua bagian utama arsitektur komputer:

Instruction Set Architecture (ISA) / Arsitektur Set Instruksi
           ISA meliputi spesifikasi yang menentukan bagaimana programmer bahasa mesin akan                          berinteraksi oleh computer. ISA menentukan sifat komputasional computer.
Hardware system architecture (HSA) / arsitektur system hardware
           HAS berkaitan dengan subsistem hardware utama computer (CPU, system memori dan IO).                HSA mencakup desain logis dan organisasi arus data dari subsistem.

JENIS INSTRUKSI

- Data processing/pengoahan data : instruksi aritmetika dan logika.
- Data storage/penyimpanan data : instruksi-instruksi memori.
- Data movement/perpindahan data : instruksi I/O.
- Control/control : instruksi pemeriksaan dan percabangan.
Instruksi aritmetika memiliki kemampuan untuk mengolah data numeric. Sedangkan instruksi logika beroperasi pada bit-bit word sebagai bit, bukan sebagai bilangan. Operasi-operasi tersebut dilakukan teutama untuk data di register CPU.
Instruksi-instruksi memori diperlukan untuk memindah data yang terdapat di memori dan register.
Instruksi-instruksi I/O diperlukan untuk memindahkan program dan data kedalam memori dan mengembalikan hasil komputasi kepada pengguna.

TEKNIK PENGALAMATAN

Ada 3 teknik dasar untuk pengalamatan, yaitu:

1. Pemetaan langsung (direct mapping), terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan relatif (relative addressing).

- Pengalamatan Mutlak

Untuk teknik pengalamatan ‘alamat mutlak’ ini, tidak terlalu mempermasalahkan kunci atribut karena diminta langsung menuliskan di mana alamat record yang akan di masukkan. Jika kita menggunakan hard disk atau magnetic drum, ada dua cara dalam menentukan alamat memorinya, yaitu (1) cylinder addressing dan (2) sector addressing. Jika kita menggunakan cylinder addressing, maka kita harus menetapkan nomor-nomor dari silinder (cylinder), permukaan (surface), dan record, sedangkan bila kita menggunakan sector addressing, maka kita harus menetapkan nomor-nomor dari sektor (sector), lintasan (track), dan permukaan (surface). Teknik ini mudah dalam pemetaan (pemberian) alamat memorinya. Sulitnya pada pengambilan (retrieve) data kembali, jika data yang kita masukkan banyak, kita bisa lupa di mana alamat record tertentu.

-Pengalamatan Relatif

Teknik ini menjadikan atribut kunci sebagai alamat memorinya, jadi, data dari NIM dijadikan bertipe numeric(integer) dan dijadikan alamat dari record yang bersangkutan. Cara ini memang sangat efektif untuk menemukan kembali record yang sudah disimpan, tetapi sangat boros penggunaan memorinya. Tentu alamat memori mulai dari 1 hingga alamat ke sekian juta tidak digunakan karena nilai dari NIM tidak ada yang kecil. Pelajari keuntungan dan kerugian lainnya.Teknik ini termasuk dalam katagori address space dependent.

2. Pencarian Tabel (directory look-up)

Teknik ini dilakukan dengan cara mengambil seluruh kunci atribut dan alamat memori yang ada dan dimasukkan ke dalam tabel tersendiri. Jadi tabel itu (misal disebut dengan tabel INDEX) hanya berisi kunci atribut (misalkan NIM) yang telah disorting (diurut) dan alamat memorinya. Jadi, sewaktu dilakukan pencarian data, tabel yang pertama dibaca adalah tabel INDEX itu, setelah ditemukan atribut kuncinya, maka data alamat yang ada di sana digunakan untuk meraih alamat record dari data (berkas/ file/ tabel) yang sebenarnya. Pencarian yang dilakukan di tabel INDEX akan lebih cepat dilakukan dengan teknik pencarian melalui binary search (dibagi dua-dua, ada di mata kuliah Struktur dan Organisasi Data 2 kelak) ketimbang dilakukan secara sequential. Nilai key field (kunci atribut) bersifat address space independent (tidak terpengaruh terhadap perubahan organisasi file-nya), yang berubah hanyalah alamat yang ada di INDEX-nya.

3. Kalkulasi (calculating).

Kalau pada teknik pencarian tabel kita harus menyediakan ruang memori untuk menyimpan tabel INDEX-nya, maka pada teknik ini tidak diperlukan hal itu. Yang dilakukan di sini adalah membuat hitungan sedemikian rupa sehingga dengan memasukkan kunci atribut record-nya, alamatnya sudah dapat diketahui. Tinggal masalahnya, bagaimana membuat hitungan dari kunci atribut itu sehingga hasilnya bisa efisien (dalam penggunaan memori) dan tidak berbenturan nilainya (menggunakan alamat yang sama).
DESAIN SET INSTRUKSI
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah :

1. kelengkapan set instruksi
2. ortogonalitas (sifat indepedensi instruksi)
3. kompatibilitas :
- source code compatibility
- object code compatibility.

Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut :

a. Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit
operasinya
b. Data Types : tipe/jenis data yang dapat diolah.
c. Instruction Format : panjangnya, banyaknya alamat, dsb.
d. Register : Banyaknya register yang dapat digunakan .
e.Addressing : Mode pengalamatan untuk operand.

sumber : http://abdi-villa.blogspot.com/2012/10/arsitektur-set-instruksi-dan-cpu.html