Sabtu, 18 Desember 2021

Control Unit Operation

Control Unit

    Control Unit Adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan / kendali / kontrol terhadap operasi yangdilakukan 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). Jadi untuk setiap control signal memiliki rangkaian logika tertentu pada control unit yang dapat menghasilkan control signal yang dimaksud. Secara umum untuk metode ini digunakan PLA (programmable logic array) untuk merepresentasikan control signal. 

Control unit dari sebuah prosesor memiliki 2 peran penting. 
Pertama, control unit mengatur processor agar melakukan semua micro-operation dalam urutan yang benar. 
Kedua, control unit menghasilkan control signal yang memastikan supaya semua micro-operation dieksekusi.

Micro Operations

Micro Operation merupakan operasi atomic dari CPU (Atomic Operation of CPU). Micro operation adalah kerja atau eksekusi terhadap data yang tersimpan pada register dan merupakan cara kerjanya dalam satu pulsa clock. Atau micro operation adalah suatu operasi mikro dimana suatu komputer menjalankan suatu program dan melakukan siklus proses memasukkan dan mengambil data atau melakukan eksekusi (Fetch/Execute Cycle). Hasil dari operasi ini dapat menggantikan isi dari informasi biner terdahulu didalam register atau dipindahkan ke register lain.
  • Digunakan Komputer untuk menjalan kan program
  • Fetch/execute cycle 
  • Memiliki beberapa langkah dalam setiap siklus/cycle – Pipelining 
  • Pemanggilan micro-operations 
  • Waktu dan langkah yang singkat 
  • Atomic operation CPU
Elemen Konstituen dari Eksekusi Program

Fetch Cycle 
Fetch adalah siklus pengambilan data ke memori atau register. Berikut contoh aliran data siklus fetch :
  • Urutan kejadian selama siklus instruksi tergantung pada rancangan CPU.
  • Asumsi : sebuah CPU yang menggunakan register memori alamat (MAR), register memori buffer (MBR), pencacah program (PC), dan register instruksi (IR).
Ada 4 register pada fetch yaitu :
  1. Memory Address Register (MAR), Terkoneksi dengan address bus. MAR melakukan spesifikasi address untuk operasi baca atau tulis.
  2. Memory Buffer Register (MBR), Terkoneksi dengan data bus. Menyimpan data untuk ditulis atau menyimpan data terakhir yang dibaca.
  3. Program Counter (PC), Menyimpan address instruksi berikut yang akan di akses.
  4. Instruction Register (IR), Menyimpan address instruksi terakhir yang diakses.
Fetch Sequence
  1. Alamat instruksi dan selanjutnya ada di PC.
  2. Alamat (MAR) ditempatkan di bus alamat.
  3. Unit kontrol mengeluarkan perintah READ. 
  4. Hasil (data dari memori) muncul di bus data. 
  5. Data dari bus data disalin ke MBR.
  6. Jika pada PC instruksi bertambah 1 (sejajar dengan pengambilan data dari memori). 
  7. Data (instruksi) dipindahkan dari MBR ke IR.
  8. MBR sekarang bebas untuk pengambilan data lebih lanjut.
Fetch Sequence (Simbol)
tx1: MAR <- (PC), Memindahkanisi PC ke MAR
tx2: MBR <- (memory), Memindahkan isi lokasi memori yang dispesifikasi MAR ke MBR
        PC <- (PC) +1,  Menambahkan 1 ke isi PC
tx3: IR <- (MBR), Menambahkan isi MBR ke IR

Aturan untuk pengelompokan siklus waktu (Rules for Clock Cycle Grouping)

  •  Urutan yang baik harus mengikuti aturan berikut: MAR (PC) harus diikuti dengan MBR
  • Harus menghindari terjadinya konflik, Tidak boleh melakukan pembacaan dan penulisan terhadap register yang sama dan pada waktu yg bersamaan, Aktifitas MBR (memory) & aktifitas IR  (MBR) tidak boleh dilakukan pada siklus yang bersamaan
  • PC harus ditambahkan PC : (PC) +1 Menggunakan ALU, Mungkin diperlukan additional micro-operations

Indirect-Cycle (Siklus Tak Langsung)

    Siklus tidak langsung (Indirect Cycle) adalah eksekusi sebuah instruksi yang melibatkan sebuah operand atau lebih di dalam memori, yang masing-masing operand memerlukan akses memori. Pengambilan alamat-alamat tak langsung dapat dianggap sebagai sebuah subsiklus instruksi atau lebih. Penjelasan:

  • N bit paling kanan pada MBR, yang berisi referensi alamat, dipindahkan ke MAR.
  • Unit Kontrol meminta pembacaan memori, agar mendapatkan alamat operand yang diinginkan ke dalam MBR. 
  • Siklus pengambilan dan siklus tak langsung cukup sederhana dan dapat diramalkan.

Berikut adalah penulisan siklus tidak langsung secara simbolik:
T1          : MAR ß  (IR (Alamat))
T2          : MBR ß Memory
T3          : IR (Alamat) ß (MBR (Alamat))

Interrupt Cycle 

    Interrupt adalah suatu permintaan khusus kepada mikroprosesor untuk melakukan sesuatu. Bila terjadi interupsi, maka komputer akan menghentikan dahulu apa yang sedang dikerjakannya dan melakukan apa yang diminta oleh yang meninterupsi.
    Pada IBM PC (Personal Computer) dan kompatibelnya disediakan 256 buah interupsi yang diberi nomor 0 sampai 255. Nomor interupsi 0 sampai 1 Fh disediakan oleh ROM BIOS, yaitu suatu IC (Integrated Circuit)  didalam komputer yang mengatur operasi dasar komputer. Jadi bila terjadi interupsi dengan nomor 0 sampai 1 Fh, maka secara default komputer akan beralih menuju ROM BIOS dan melaksanakan program yang terdapat disana. Program yang melayani suatu interupsi dinamakan Interrupt Handler.
Aliran Data Siklus Interupsi:
Isi PC, saat itu harus disimpan sehingga CPU dapat melanjutkan aktivitas normal terjadinya interupsi.
1.   Isi PC dipindahkan ke MBR untuk kemudian dituliskan ke dalam memori.
2.   Lokasi memori khusus yang dicadangkan untuk keperluan ini dimuatkan ke MAR dari unit kontrol (Control Unit).
3.   Lokasi ini berupa stack pointer.
4.   PC dimuatkan dengan alamat rutin interupsi.
5.   Akibatnya siklus interuksi berikutnya akan mulai mengambil interuksi yang sesuai.
Berikut adalah penulisan siklus Interupsi secara simbolik:
T1        : MBR ß (PC)
T2        : MAR ß Save_Address
                                            PC ß Routine_Address
T3        : Memory ß MBR

Execution-Cycle 
    Execution adalah proses dari CPU untuk mengerjakan instruksi yang sudah dijemput dari main memory dan sudah berada di IR register, Control Unit di CPU mengartikan instruksi tersebut, melaksanakan operasi yang harus dilakukan, seperti penjemputan/pengambilan data dari main memory, mengirim instruksi ke ALU untuk melakukan operasi aritmatika atau logika dan menyimpan hasil pengolahan kembali ke main memory. Sedangkan Execution sequence adalah proses atau langkah sebuah eksekusi program yang terjadi dan berlangsung pada sebuah sistem mikroprosesor.
Berikut adalah beberapa perintah dalam Execution Cycle:
1.     Penambahan (ADD)
ADD R1, X = Menambahkan isi lokasi X ke register R1
T1        : MAR (IR(Alamat))
T2        : MBR Memory
T3        :IR (R1) + (MBR)
2.     ISZ
Isi lokasi X ditambah dengan 1. Apabila hasilnya sama dengan Nol (0), maka instruksi berikutnya dilompati.
T1        :MAR (IR(Alamat))
T2  :MBR Memory
T3  :IR (MBR) + 1
T4  : Memory(MBR)
If (MBR=0) then (PC+1)
3.     BSA X
Merupakan alamat instruksi yang berada setelah instruksi BSA disimpan di lokasi X dan eksekusi dilanjutkan pada lokasi X + 1. Alamat yang disimpan akan digunakan kemudian untuk keperluan return.
T1        : MAR (IR(Alamat))
                                          MBR (PC)
T2        : PC(IR (Alamat))
                                           Memory (MBR)
T3        : PC(PC) + 1

Flowchart Instruction Cycle
Fungsional 
  • Tentukan elemen dasar prosesor 
  • Menjelaskan kinerja prosesor mikro- operasi 
  • Menentukan fungsi yang harus dilakukan unit kontrol
Control Basic Elements of Processor 
  1. ALU 
  2. Registers 
  3. Internal data pahs 
  4. External data paths 
  5. Control Unit 
Tipe Micro-operation 
  • Transfer data antar register register 
  • Transfer data dari register ke eksternal 
  • Transfer data dari eksternal ke register 
  • Lakukan operasi aritmatika atau logika
Control Signals
  1. Clock/Pewaktuan, – Satu instruksi mikro (atau serangkaian instruksi mikro paralel) per clock cycle
  2. Register instruction,opcode instruksi saat itu digunakan untuk menentukan operasi mikro mana yang akan dilakukan selama siklus eksekusi.
  3. Flagsflags ini diperlukan oleh unit control untuk menentukan status prosesor dan hasil operasi ALU sebelumnya
  4. Control Bus, Bagian bus control bus system memberikan sinyal-sinyal ke unit control, seperti sinyal-sinyal interupsi dan acknowledgement.

Model Control Unit
Organisasi Internal 
- Biasanya bus internal tunggal.
- Gerbang mengontrol pergerakan data ke dalam dan ke luar bus.
- Sinyal kontrol mengontrol transfer data ke dan dari bus sistem eksternal. 
- Register sementara diperlukan untuk pengoperasian ALU yang tepat.

CPU dengan BUS Internal

Intel 8085 CPU Block Diagram

Intel 8085 CPU Pin Configuration

Intel 8085 OUT Instruction Timing Diagram

Control Unit dengan Decoder Input


SOAL - SOAL

1. Kerja atau eksekusi terhadap data yang tersimpan pada register dan merupakan cara kerjanya dalam satu pulsa clock adalah pengertian dari

a. Proses Read dan write

b. Micro-Instruction

c. Interrupt dan Instruction

d. Micro Operation

e. Instruction


2. Yang termasuk dalam siklus didalam CPU adalah

a. Instruction

b. Read

c. Load

d. Write

e. Pipeline


3. Yang termasuk Implementasi Terprogram pada Clock adalah, kecuali

a. Urutan pulse yang berulang

b. Berguna untuk mengukur durasi micro-ops

c. Harus cukup lama untuk memungkinkan perambatan sinyal

d. Sinyal kontrol yang berbeda pada waktu yang berbeda dalam

siklus instruksi

e. Logika unik untuk setiap op-code


4. Karakteristik dari RISA yaitu …. 

a. Banyak instruksi per siklus

b. Address mode kompleks

c. Format Instruksi kompleks

d. Execute instruksi lebih cepat

e. Format instruksi sederhana


5. Eksekusi suatu instruksi dalam sebuah komputer mencakup pengeksekusian langkah-langkah kecil yang biasa disebut sebagai instruction cycle, yang terdiri dari

a. fetch cycle

b. execution cycle

c. indirect cycle

d. interrupt cycle (bisa enabled/disabled)

e. Operasi antara ALU dan I/O

Tidak ada komentar:

Posting Komentar