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,