Minggu, 17 Juli 2016

Unit Control

UNIT CONTROL

A. Operasi Mikro
Fungsi dari sebuah komputer adalah untuk eksekusi program
Setiap siklus yang lebih kecil akan terdiri dari sejumlah langkah yang masing-masing langkah
tersebut terdiri dari register-register CPU. Dapat di sebut langkah-langkah tersebut sebagai operasi
mikro.
Operasi mikro adalah operasi fungsional atau atomik suatu CPU.
 
SIKLUS PENGAMBILAN
 
MAR : dihubungkan dengan alamat bus sistem. MAR menspesifikasikan alamat di dalam memori
untuk operasi read dan write.
MBR : dihubungkan dengan saluran data bus sistem. MBR berisi nilai yang akan disimpan di memori
atau nilai terakhir yang di baca dari memori
PC : menampung alamat instruksi berikutnya  yang akan di ambil.
IR : menampung instruksi terakhiryang diambil.  
Siklus pengambilan : 
T1 : MAR (PC)
T2 : MBR   Memori
     PC (PC) + 1
T3 : IR (MBR) 
Siklus Tak Langsung :

T1 : MAR  (IR(Alamat))
T2 : MBRMemori
T3 : IR (Alamat)(MBR(Alamat))
Siklus Interupt
 
T1 :  MBR(PC)
T2 :  MARAlamat-simpan
PCAlamat –rutin
T3 :Memori   (MBR)
Siklus Eksekusi
1. Penambahan (ADD)
ADD R1,X = Menambahkan isi lokasi X ke register R1
T1 : MAR(IR(alamat))
T2 : MBRmemori
T3 : R1(R1)+(MBR)
2. ISZ X = Isi lokasi X ditambahkan dengan 1. Apabila hasilnya sama dengan nol, maka 
instruksi berikutnya dilompati.
T1 : MAR (IR(alamat))
T2 : MBRMemori
T3 : MBR(MBR) + 1 
T4 : Memori(MBR)
If (MBR=0) then (PC PC+1)
3. BSA X : Alamat instruksi yang berada setelah instruksi BSA disimpan di lokasi X, dan eksekusi dilanjutkan pada lokasi X+1. Alamat yang di simpan akan di gunakan kemudian untuk keperluan return.
T1 : MAR(IR(alamat))
        MBR(PC)
T2 : PC(IR(Alamat)) 
        Memori(MBR)
T3 : PC(PC) + 1
Siklus Instruksi
Setiap fase siklus instruksi dapat di uraikan menjadi operasi mikro elementer.
Ada empat buah kode siklus instruksi (ICC).
ICC menandai status CPU dalam hal bagian tempat siklus tersebut berada.
 
4 kode ICC :
00 : fetch
01 : Indirect
10 : execute
11 : interupt
 
KONTROL CPU 
 Karakterisasi Unit Kontrol :
1.Menentukan elemen dasar CPU
2.Menjelaskan operasi mikro yang akan dilakukan CPU
3.Menentukan fungsi-fungsi yang harus di lakukan unit kontrol agar menyebabkan
pembentukan operasi mikro.
 
 
 Elemen dasar fungsional CPU :

1.ALU
2.Register-register
3.Lintasan data internal
4.Lintasan data eksternal
5.Unit Kontrol 
 
Unit Kontrol melakukan dua tugas dasar :
Pengurutan
Eksekusi 
 
 
Sinyal Kontrol
Input sinyal kontrol :
-Clock
-register Instruksi
-sinyal kontrol dari bus kontrol
-flag
Output sinyal kontrol :
-Sinyal kontrol di dalam CPU
-Sinyal kontrol bagi bus kontrol.

REDUCED INSTRUCTIONS SET COMPUTER (RISC)

REDUCED INSTRUCTIONS SET COMPUTER (RISC)
Arsitektur RISC merupakan kemajuan yang sangat dramatis dalam frase sejarah arsitektur CPU.
Dan merupakan tantangan bagi arsitektur konvensional. Walaupun sistem RISC telah ditentukan dan
dirancang dalam berbagai cara berdasarkan kelompok kelompoknya, elemen penting  yang 
digunakan oleh sebagian rancangan adalah sebagai berikut :
*Set instruksi yang terbatas dan sederhana
*Register general purpose yang berjumlah banyak, atau penggunaan teknologi kompiler untuk
mengoptimalkan pemakaian registernya
*Penekanan pada pengoptimalan pipeline instruksi
1.  Karakteristik karakteristik Eksekusi Instruksi
 Salah satu bentuk evolusi komputer yang paling di rasakan adalah adalah evolusi bahasa
pemrograman
Untuk memahami RISC harus diawali dengan tinjauan singkat tentang
karakteristik eksekusi instruksi. Aspek-aspek komputasi yang dimaksud adalah sebagai berikut :
*Operasi-operasi yang di lakukan
*Operand-operand yang di gunakan
*Pengurutan eksekusi
A. OPERASI
B. OPERAND
2. Penggunaan File Register Besar
Alasan diperlukannya penyimpanan register adalah dengan melihat kenyataan bahwa menyimpan
register merupakan perangkat penyimpan paling cepat, yang lebih cepat dibandingkan dengan
memori utama dan memori cache.
File register secara fisik berukuran kecil, dan umumnya berada pada satu keping dengan ALU dan
Control Unit dan hanya memakai alamat yang lebih pendek dibandingkan dengan alamat-alamat
cache dan memori.
Dengan demikian, di perlukan strategi yang dapat menjaga operand-operand yang paling sering di
akses tetap di dalam register dan untuk meminimalkan operasi-operasi register memori Dalam
mamaksimalkan register dipakai 2 pendekatan 
*Pendekatan perangkat lunak  
* Pendekatan perangkat keras 
3. Register Windows
Penggunaan register dalam jumlah yang besar akan mengurangi kebutuhan mengakses memori  
 Dalam hal ini tugas perancang adalah mengatur register-register sedemikian rupa sehingga tujuan
dapat tercapai.
4. File Register Berukuran Besar VS Cache
File register yang diorganisasikan menjadi dua jendela, berfungsi sebagai buffer kecil yang cepat
untuk menampung subset seluruh variabel yang memiliki kemungkinan besar akan banyak di pakai 
File register berfungsi lebih menyerupai cache memori
File register dapat tidak efesian dalam menggunakan ruang, karena tidak semua prosedur akan
memerlukan ruang jendela sepenuhnya yang telah diberikan.
Sebaliknya cache memiliki ketidak efesienan lainnya yaitu :
Data akan di baca kedalam cache  dalam bentuk blok-blok. 
sedang file register hanya berisi variabel-variabel yang sedang di gunakan.
Cache membaca suatu blok data, yang mungkin sebagian darinya tidak akan di gunakanCache
memiliki kemampuan untuk menangani variabel global dan juga variabel lokal.
5. Otimasi Register Berbasis Kompiler 
 Pada mesin RISC hanya tersedia register daqlam jumlah yang sedikit (16-32 buah)
Disini penggunaan register yang telah di optimalkan tersebut merupakan tenggung jawab kompiler 
Fungsi kompiler adalah untuk menjaga operand bagi komputasi sebanyak mungkin di dalam register
dan bukannya di dalam memori utama.
Hal itu ditujukan untuk meminimalkan operasi load dan store.
6. Karakteristik CISC Vs RISC
Rancangan RISC dapat memperoleh keuntungan dengan mengambil sejumlah feature CISC 
Rancangan CISC dapat memperoleh keuntungan dengan mengambil sejumlah feature RISC
Ciri-ciri RISC :
-Instruksi berukuran tunggal
- Ukuran yang umum adalah 4 Byte
- Jumlah mode pengalamatan data yang
sedikit ( < 5 buah)
- Tidak terdapat pengalamatan tak langsung 
-Tidak terdapat operasi yang menggabungkan operasi  load
/ store dengan operasi aritmetika 
Tidak terdapat lebih dari satu operand beralamat memori per instruksi  
-Tidak mendukung perataan sembarang, bagi data untuk operasi load/store
- Jumlah maksimum pemakaian memori management Unit (MMU) bagi suatu alamat data 
adalah sebuah instruksi
- Jumlah bit bagi register specifier sama dengan lima atau lebih
- Jumlah bit floating point register specifier empat atau lebih 
7. Kontroversi RISC dan CISC
Tidak terdapat mesin-mesin RISC dan CISC yang sebanding dalam hal harga, tingkat teknologi,
kompleksitas gate, kecanggihan kompiler dsb
Tidak terdapat pengujian program yang pasti. Kinerja bervariasi sesuai dengan programnya
Kesulitan dalam mengumpulkan akibat-akibat yang di sebabkan perangkat keras yang berkaitan
dengan keterampilan dalam membuat kompiler
Kesulitan dalam mengumpulkan akibat-akibat yang di sebabkan perangkat keras yang berkaitan
dengan keterampilan dalam membuat kompiler
Sebagian besar analisi komperatif tentang RISC dilakukan pada mesin-mesin “mainan” bukannya
pada mesin-mesin komersial. Selain itu, sebagian besar mesin yang tersedia secara komersial dan 
diiklankan sebagai RISC memiliki karakteristik campuran antara RISC dan CISC. Dengan demikian,
perbandingan yang adil  dengan mesin CISC komersial dan murni sangatlah sulit di laksanakan  
Dalam beberapa tahun terakhir,  kontroversi RISC dangan CISC semakin berkembang.
Hal ini disebabkan karena terjadinya semakin konvergensinya teknologi.
Dengan semakin bertambahnya kerapatan keping dan semakin cepatnya perangkat keras, maka
sistem RISC menjadi semakin komplek
Bersamaan dengan hal itu, untuk mencapai kinerja yang maksimum, Rancangan CISC telah di
fokuskan terhadap masalah-masalah tradisional yang berkaitan dengan RISC, seperti misalnya
pertambahan jumlah register general purpose dan penekanan pada rancangan pipeline instruksi.

Reduced Instructions Set Arsitecture

Reduced Instructions Set Arsitecture

 

REDUCE INSTRUCTION SET ARCHITECTURE

Teknologi RISC relatif sangat baru, karena itu saat ini tidak terjadi perdebatan dalam menggunakan CISC atau RISC.

Pendapat-pendapat yang ada hanya membahas kekurangan kekurangan pendekatan RISC serta memberikan pemahaman motivasi pendukung RISC 

 

Alasan pertama yaitu, penyederhanaan kompiler.

 

-Tugas pembuat kompiler adalah menghasilkan rangkaian instruksi mesin bagi semua

pernyataan HLL (high level language).

- Apabila ada instruksi mesin yang menyerupai HLL, maka tugas ini akan disederhanakan. 

 

-Pekerjaan mengoptimalkan kode 

 

yang di hasilkan utk meminimalkan ukuran kode, mengurangi hitungan 

 

-eksekusi instruksi, dan meningkatkan pipeline jauh lebih sulit apabila menggunakan CISC.


Namun CISC akan menghasilkan program yang lebih kecil dan lebih cepat dari RISC

 

CISC cenderung menggunakan instruksi-instruksi yang sederhana.

 

CISC cenderung menekankan pada referensi register dibandingkan pada referensi memori,

dan referensi register memerlukan bit yang jumlahnya lebih sedikit.

 

 

 

Karakteristik Arsitektur RISC

 

RISC harus tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikro instruksi pada mesin-mesin CISC.

Dengan menggunakan instruksi sederhana atau instruksi satu siklus, hanya di butuhkan sedikit mikro kode.

Instruksi mesin dapat di hardwire, instruksi ini akan lebih cepat di bandingkan instruksi-instruksi lainnya yang sejenis pada mesin lainnya, karena instruksi tersebut tidak perlu mengakses penyimpanan kontrol mikroprogram pada saat eksekusi instruksi berlangsung. 

Karakteristik RISA

-Satu instruksi per siklus 

-Operasi register ke register

-Address mode sederhana

-Format Instruksi sederhana 

 

 

Pipelining RISC 

 

Sebagian besar instruksi merupakan operasi register-ke register, dan sebuah siklus instruksi memiliki

dua buah fase : 

1.I : Instruction Set pengambilan instruksi

2. E : Execute Set  melakukan operasi ALU dengan input Register dan output register

Bagi operasi Load  dan store diperlukan 3 buah fase 

1. I  = Instruction Set 

2. E = Execute = menghitung alamat memori

3. D = Memori = operasi register ke memori atau memori ke register