Anda di halaman 1dari 25

Arsitektur Komputer

Organisasi Processor, Register, Siklus Intruksi, Fetching, Decoding dan Executing


Organisasi CPU

 Dalam sistem komputer, bagian CPU (Central Processing Unit)


merupakan komponen terpenting dalam menjalankan tugas suatu
sistem komputer. CPU memiliki fungsi sebagai komponen utama
dalam pengolahan data dengan berdasarkan perintah-perintah yang
diterimanya.
 Peranan  CPU tersebut adalah untuk menggerakan program - program
yang tersimpan didalam memori utama dengan cara  menarik 
instruksi - instruksi dan mengujinya selanjutnya  mengeksekusinya
satu persatu sesuai alur perintah.
Unit Kontrol

 Unit kontrol berfungsi untuk mengatur jalannya program - program


yang bekerja.
 Unit ini memiliki peranan tinggi sebagai pengontrol setiap alat atau
perangkat yang terpasang di komputer.
 Unit inilah yang bertugas mengontrol komputer sehingga terjadi
sinkornisasi kerja antara komponen satu dengan komponen lainnya
dalam menjalankan fungsi fungsi operasinya  dan memiliki tanggung
jawab untuk mengambil instruksi - instruksi dari memori utama dan
menentukan jenis instruksi tersebut
Fungsi Unit Kontrol

 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 serta mengawasi kerja dari ALU.
 Menyimpan hasil proses ke memori utama.
Proses Yang Terjadi Di CPU

 Fetch Intruction = Mengambil


Intruksi
 Interpret Intruction =
Menerjemahkan Intruksi
 Fetch Data = Mengambil Data
 Process Data = Mengolah Data
 Write Data = Menulis Data
Elemen Elemen dan Eksekusi Program
Fetch

 Merupakan proses dimana instruksi dan data akan di load dari


memori ke dalam CPU.
 Fretch dimulai dari pengambilan alamat instruksi yang terdapat
di dalam PC (Program Counter) yang merupakan alamat valid
dari instruksi dan data yang disimpan ke dalam memori utama,
dan merupakan alamat instruksi yang akan dieksekusi.
 Berdasarkan alamat instruksi yang terdapat di dalam PC, CPU
akan mengambil instruksi tersebut untuk ditempatkan ke dalam
register (Instruction Register/ IR) yang menyimpan instruksi
yang akan dieksekusi
Fetch

 MAR (Memory Address Register) akan bertanggung jawab untuk


menyimpan alamat dari data yang disimpan ke dalam memori untuk
selanjutnya akan di fetch ke dalam CPU. Sedangkan MDR
(Memory Data Register) akan menyimpan data yang akan
dioperasikan berdasarkan instruksi tertentu oleh CPU. 
 Setelah instruksi dan data di-fetch ke dalam CPU, Program Counter
(PC) akan melakukan increment untuk menunjuk alamat dari
instruksi dan data berikutnya yang akan dieksekusi
Fetch - 4 Registers
 Memory Address Register (MAR)
 Connected to address bus
 Specifies address for read or write op
 Memory Buffer Register (MBR)
 Connected to data bus
 Berisi data yang akan disimpan atau nilai terakhir yang dibaca
 Program Counter (PC)
 Holds address of next instruction to be fetched
 Instruction Register (IR)
 Holds last instruction fetched
Fetch Sequence (symbolic)

 t1: MAR <- (PC)


 t2: MBR <- (memory)
 PC <- (PC) +1
 t3: IR <- (MBR)
 (tx = time unit/clock cycle)
 or
 t1: MAR <- (PC)
 t2: MBR <- (memory)
 t3: PC <- (PC) +1
 IR <- (MBR)
Fungsi Interupsi

 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
Interupsi

 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
Macam Macam 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
Aturan Pengelompokan Operasi Mikro per Clock
Cycle
 Rangkaian kejadian yang benar harus dipenuhi
 MAR <- (PC) harus mendahului MBR<- (memory)
 Konflik harus dihindari
 Tidak diperbolehkan membaca dan menulis ke register yang sama pada saat
yang bersamaan
 MBR <- (memory) & IR <- (MBR) must not be in same cycle
 Perlu diperhatikan juga operasi penambahan :
PC <- (PC) +1
 Use ALU
 May need additional micro-operations
Interrupt Cycle

 t1: MBR <-(PC)


 t2: MAR <- save-address
 PC <- routine-address
 t3: memory <- (MBR)
 Isi PC dipindahkan ke MBR
 MAR dimuati alamat dimana isi PC akan disimpandan PC
dimuati dengan alamat awal rutin pengolahan interrupt.
 This is a minimum
 CPU membutuhkan operasi mikro tambahan untuk memperoleh alamat
simpan dan alamat rutin
 N.B. saving context is done by interrupt handler routine, not micro-ops
 Menyimpan MBR, yang berisi nilai PC lama ke memori
Decoding

 Penafsiran kode (Decoding) adalah proses dimana penerima menafsirkan


pesan dan menterjemahkan menjadi informasi yang berarti baginya.
 Jika semakin tepat penafsiran penerima terhadap pesan yang dimaksudkan
oleh penerima, Maka semakin efektif komunikasi yang terjadi.
 Decoding juga dapat didefisikan sebagai tahapan dimana instruksi akan di
terjemahkan (interpret) ke dalam perintah-perintah bahasa mesin dasar
(ADD, SB, MBA, STA, JMP, dll).
 Proses ini dilakukan oleh instruction decoder.
Eksekusi

 Instruksi menjalankan program yang telah dikompilasi oleh


komputer.
 Eksekusi Program yang berarti sistem operasi memiliki kemampuan
untuk menjalankan program dengan mengambil instruksi beserta data
yang diperlukan oleh program tersebut, lalu menempatkannya pada
memori, dan melaksanakan perintah yang ada pada program.
 Pada tahapan dimana instruksi akan dieksekusi di dalam CPU, yaitu
oleh ALU (Arithmetic Logic Unit)
Tahapan Hasil Eksekusi Isntruksi

 Proses penempatan alamat memori yang digunakan untuk


menyimpan hasil instruksi ke dalam MAR
 Proses penempatan data (hasil instruksi) kedalam MDR
 Proses mengaktifkan memory write control signal pada control bus
 Proses menunggu memori untuk melakukan write data pada alamat
tertentu
 Proses untuk menonaktifkan memory write control signal pada bus
Indirect Cycle

 MAR <- (IRaddress) - address field of IR


 MBR <- (memory)
 IRaddress <- (MBRaddress)

 Field alamat instruksi dipindahkan ke MAR


 MBR contains an address (alamat yang dipindahkan digunakan untuk
mengambil alamat operand)
 Alamat field IR diupdate dari MBR (IR berisi alamat langsung)
 IR berada dalam status yang sama seperti halnya apabila pengalamatan
tak langsung tidak pernah digunakan dan siap untuk siklus eksekusi
Execute Cycle (ADD)

 Different for each instruction


 e.g. ADD R1,X - add the contents of location X to Register 1 , result in
R1
 t1: MAR <- (IRaddress)
 t2: MBR <- (memory)
 t3: R1 <- R1 + (MBR)
 Note no overlap of micro-operations
Execute Cycle (ISZ)

 ISZ X - increment and skip if zero


 t1: MAR <- (IRaddress)
 t2: MBR <- (memory)
 t3: MBR <- (MBR) + 1
 t4: memory <- (MBR)
 if (MBR) == 0 then PC <- (PC) + 1
 Notes:
 if is a single micro-operation
 Micro-operations done during t4
Tugas

 Gambarkan operasi-operasi komputer dan jelaskan masing-masing fungsi?


 Gambarkan Struktur Central Processing Unit dan jelaskan masing-masing
fungsi?
 Gambarkan dan jelaskan siklus intruksi yang ada digunakan dalam
komputer, kapan terjadi intrupsi, 

Anda mungkin juga menyukai