Sunday, October 22, 2017

CPU

CPU
Unit Pemroses Sentral (UPS) (bahasa InggrisCentral Processing Unit/ProcessorCPU), merujuk kepada 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 Merupakan bagian utama dari komputer karena processor berfungsi untuk mengatur semua aktifitas yang ada pada komputer. 
Sistem Bus
System bus atau bus sistem, dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus.
Sebuah komputer memiliki beberapa bus, agar dapat berjalan. Banyaknya bus yang terdapat dalam sistem, tergantung dari arsitektur sistem komputer yang digunakan. Sebagai contoh, sebuah komputer PC dengan prosesor umumnya Intel Pentium 4 memiliki bus prosesor (Front-Side Bus), bus AGPbus PCIbus USBbus ISA (yang digunakan oleh keyboard dan mouse), dan bus-bus lainnya.
Bus disusun secara hierarkis, karena setiap bus yang memiliki kecepatan rendah akan dihubungkan dengan bus yang memiliki kecepatan tinggi. Setiap perangkat di dalam sistem juga dihubungkan ke salah satu bus yang ada.
Berdasar jenis busnya, bus dapat dibedakan menjadi bus yang khusus menyalurkan data tertentu, contohnya paket data saja, atau alamat saja, jenis ini disebut dedicated bus. Namun apabila bus yang dilalui informasi yang berbeda baik data, alamat, dan sinyal kontrol dengan metode multipleks data maka bus ini disebut multiplexed bus. Kekurangan multiplexed bus adalah hanya memerlukan saluran sedikit sehingga menghemat tempat tetapi kecepatan transfer data menurun dan diperlukan mekanisme yang komplek untuk mengurai data yang telah dimultipleks. Sedangkan untuk dedicated bus merupakan kebalikan dari multipexed bus.
                                      
ALU

 Arithmatic Logical Unit (ALU), adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer yang berfungsi melakukan operasi/perhitungan aritmatika dan logika (Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU bekerja besama-sama memori, di mana hasil dari perhitungan di dalam ALU di simpan ke dalam memori.
 Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner two’s complement. ALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU output register, sebelum disimpan dalam memori.

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

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.

Set Register
Register prosesor, dalam arsitektur komputer, adalah sejumlah kecil memori komputer yang bekerja dengan kecepatan sangat tinggi yang digunakan untuk melakukan eksekusi terhadap program-program komputer dengan menyediakan akses yang cepat terhadap nilai-nilai yang umum digunakan. Umumnya nilai-nilai yang umum digunakan adalah nilai yang sedang dieksekusi dalam waktu tertentu.
Register prosesor berdiri pada tingkat tertinggi dalam hierarki memori: ini berarti bahwa kecepatannya adalah yang paling cepat; kapasitasnya adalah paling kecil; dan harga tiap bitnya adalah paling tinggi. Register juga digunakan sebagai cara yang paling cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat ditampung olehnya, seperti "register 8-bit", "register 16-bit", "register 32-bit", atau "register 64-bit" dan lain-lain.
Register terbagi menjadi beberapa kelas:
·         Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
·         Register alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
·         Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.
·         Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang (floating-point).
·         Register konstanta (constant register), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phinulltruefalse dan lainnya.
·         Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
·         Register special purpose yang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status register.
·         Register yang spesifik terhadap model mesin (machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi prosesor.

Memori

Memori komputer bertanggung jawab untuk menyimpan data dan aplikasi secara sementara atau secara permanen. Memori memungkinkan seseorang untuk menyimpan informasi yang tersimpan di komputer.
Memori komputer dapat diklasifikasikan menjadi dua jenis: Memori primer dan Memori Sekunder.

-Memori primer
Memori primer (juga disebut memori utama), digunakan untuk akses langsung data oleh prosesor. Karena penyimpanan memori utama menunjukkan kemampuan proses yang lebih cepat, sangat mahal dan karenanya tidak sebagian besar digunakan untuk penyimpanan data.

Contoh: RAM dan ROM

-Memori Sekunder
Memori sekunder tersedia pada perangkat penyimpanan massal untuk penyimpanan data permanen. Data yang tersimpan pada perangkat sekunder dipertahankan bahkan ketika tidak diberikan power. Data ini dapat dikirimkan pada umumnya, terlihat dan muncul sama pada mesin apapun, terlepas dari mana data pertama disalin ke perangkat penyimpanan sekunder.









Sumber:
-https://id.wikipedia.org/wiki/Unit_Pemroses_Sentral
-https://id.wikipedia.org/wiki/Bus_sistem
-https://id.wikipedia.org/wiki/Register_prosesor

-http://www.sridianti.com/pengertian-memori-komputer-jenis-memori-komputer.html

Arsitektur Set Instruksi

Arsitektur Set Instruksi

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 registermode pengalamatanarsitektur memori, penanganan interupsieksepsi, dan operasi I/O eksternalnya (jika ada).

Set Instruksi 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 registermode pengalamatanarsitektur memori, penanganan interupsieksepsi, dan operasi I/O eksternalnya (jika ada).

ISA merupakan sebuah spesifikasi dari Pullman semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesortertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86IA-64IBM PowerPCMotorola 68000Sun SPARCDEC Alpha, dan lain-lain.

Teknik Pengalamatan

Digunakan untuk menentukan suatu alamat tempat  untuk dimana operand akan di fetch. Dapat meningkatkan kecepatan pelaksanaan instruksi dengan menurunkan jumlah referensi pada memori utama dan meningkatkan jumlah referensi pada register kecepatan tinggi. Mode pengalamatan ini menjabarkan suatu aturan untuk menginterpresetasikan atau memodifikasi field alamat dari instruksi sebelum operand di referensikan Pada semua mode pengalamatan lainnya, operand yang sesungguhnya tidak disimpan pada field alamat tetapi beberapa nilai di jabarkan dan di gunakan untuk menentukan operasi operand.

Teknik pengalamatan yang umum dipergunakan adalah :

a)    Immediate Addressing (OPERAND = A)
Digunakan untuk menentukan dan menggunakan konstanta atau nilai-nilai variabel awal. Tidak terdapat referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand. Cara seperti ini dapat menghemat siklus memori atau cache dalam siklus instruksi. Kerugian dari immediate addressing adalah ukuran bilangan dibatasi oleh ukuran field alamat. Bentuk pengalamatan ini yang paling sederhana. Operand benar – benar ada dalam instruksi atau bagian dari instruksi=Operand sama dengan field alamat.  Umumnya bilangan akan disimpan dalam bentuk komplemen dua.  Bit paling kiri sebagai bit tanda. Ketika operand dimuatkan ke dalam register data, bit tanda akan digeser ke kiri hingga maksimum word data.
Contoh :  ADD 5 ; tambahkan 5 pada akumulator

Keuntungan:
·         Mode ini adalah tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand.
·         Menghemat siklus instruksi sehingga proses keseluruhan akan cepat.
Kerugiannya:
·         Ukuran bilangan dibatasi oleh ukuran field alamat

b)   Direct Addressing (EA = A)
Merupakan mode pengalamatan yang sederhana yang hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulasi khusus. Memiliki keterbatasan ruang alamat.

Kelebihan :
·         Field alamat berisi efektif address sebuah operand.
·         Teknik ini banyak digunakan pada komputer lama dan komputer kecil.
·         Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulasi khusus.
Kelemahan :
·         Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word
Contoh : ADD A ; tambahkan isi pada lokasi alamat A  ke akumulator.

c)    Indirect Addressing (EA = (A))
Field alamat mengacu pada alamat word di dalam memori, sehingga membuat alamat operand menjadi lebih panjang. Untuk setiap panjang word sebesar N, dapat digunakan sebuah ruang alamat 2N. Sedangkan kerugiannya adalah bahwa eksekusi instruksi memerlukan dua referensi memori untuk mengambil operand, sebuah referensi memori untuk mengambil alamat dan referensi lainnya untuk mendapatkan nilainya. Mode pengalamatan tak langsung dimana field alamat mengacu pada alamat word di dalam memori, yang pada gilirannya akan berisi alamat operand yang panjang
Contoh : ADD (A) ; tsmbahkan isi yang ditunjuk oleh isi alamat A ke akumulator

Keuntungan:
·         Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi.
Kerugian :
·         Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi.

d)   Register Addressing (EA = R)
Memerlukan field alamat berukuran kecil dalam instruksi dan tidak memerlukan referensi memori. Metode pengalamatan register mirip dengan mode pengalamatan langsung. Perbedaannya terletak pada field alamat yang mengacu  pada register, bukan pada memori utama. Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register  general purpose.

Keuntungan :
·         Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori.
·         Akses ke register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepat.
Kerugian :
·         Ruang alamat menjadi terbatas

e)    Indirect Register Addressing (EA = (R))
Keterbatasan ruang alamat dapat diatasi dengan membiarkan field alamat mereferensi lokasi panjang word di dalam register yang berisi sebuah alamat. Hanya saja untuk eksekusi instruksi, menggunakan satu referensi memori yang lebih sedikit dibandingkan dengan Indirect Addressing. Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsung.  Perbedaannya adalah field alamat mengacu pada alamat register. Letak operand berada pada memori yang ditunjuk oleh isi register.  Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan pengalamatan tidak langsung. Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyak. Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung.
f)     Displacement Addressing (EA =A + (R))
Mode pengalamatan yang fleksibel yang mampu mengkombinasikan Direct Addressing dan Indirect Register Addressing.  Diplacement Addressing yang kompleks mensyaratkan instruksi untuk memiliki dua buah field alamat, dan sedikitnya sebuah field yang eksplisit. Nilai A yang eksplisit digunakan secara direct sedangkan (R) merupakan referensi implisit yang berdasarkan opcode, mengacu ke register yang isinya ditambahkan ke A sehingga memperoleh Effective Address. Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung. Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit. Field eksplisit bernilai A dan field implisit mengarah pada register.  Operand berada pada alamat A ditambah isi register.

Tiga model displacement :
a.    Relative addressing, register yang direferensi secara implisit adalah program counter (PC).
b.    Base register addressing, register yang direferensikan berisi sebuah alamat memori, dan field alamat berisi perpindahan dari alamat itu.
c.    Indexing adalah field alamat mereferensi alamat memori utama, dan register yang direferensikan berisi pemindahan positif dari alamat tersebut.

g)   Stack Addressing (EA = puncak stack)
Stack adalah array lokasi yang linear, yang merupakan blok lokasi yang terbalik, sehingga sering disebut juga Last In First Out Queue. Tidak ada referensi memori di dalam Stack Addressing di mana aplikasi memori yang dimilikinya terbatas. Stack addressing merupakan bentuk implied addressing. Instruksi-instruksi mesin tidak perlu memiliki referensi memori namun secara implisit beroperasi pada bagian paling atas stack. Stack adalah array lokasi yang linier=pushdown list=last-in-firstout-queue. Stack merupakan blok lokasi yang terbalik. 

Design Set Instruksi

Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah: 
- Kelengkapan set instruksi 
- Ortogonalitas (sifat independensi instruksi) 
- Kompatibilitas : – Source code compatibility – Object code Compatibility 

Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut: 
- Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya 
- Data Types: tipe/jenis data yang dapat olah Instruction Format: panjangnya, banyaknya alamat, dsb. 

- Register: Banyaknya register yang dapat digunakan 
- Addressing: Mode pengalamatan untuk operand 



Sumber:
- https://id.wikipedia.org/wiki/Set_instruksi
- http://siskommbawawa.blogspot.co.id/
- https://taufikrmd.blogspot.co.id/2014/11/makalah-set-intruksi-teknik-pengalamatan.html