Pertemuan 3 Arsitektur Komputer II Struktur Fungsi CPU

  • Slides: 39
Download presentation
Pertemuan 3 Arsitektur Komputer II Struktur & Fungsi CPU 1

Pertemuan 3 Arsitektur Komputer II Struktur & Fungsi CPU 1

Tujuan q Menjelaskan tentang komponen utama CPU dan Fungsi CPU q Membahas struktur dan

Tujuan q Menjelaskan tentang komponen utama CPU dan Fungsi CPU q Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register q Menjelaskan fungsi prosesor dalam menjalankan instruksi-instruksi mesin 2

CPU q Central Processing Unit q Merupakan komponen terpenting dari sistem komputer q Komponen

CPU q Central Processing Unit q Merupakan komponen terpenting dari sistem komputer q Komponen pengolah data berdasarkan instruksi yang diberikan kepadanya q Dalam mewujudkan fungsi dan tugasnya, CPU tersusun atas beberapa komponen 3

Komponen Utama CPU q. Arithmetic and Logic Unit (ALU) q. Control Unit q. Registers

Komponen Utama CPU q. Arithmetic and Logic Unit (ALU) q. Control Unit q. Registers q. CPU Interconnections 4

Arithmetic and Logic Unit (ALU) q Bertugas membentuk fungsi – fungsi pengolahan data komputer.

Arithmetic and Logic Unit (ALU) q Bertugas membentuk fungsi – fungsi pengolahan data komputer. q ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya. q Seperti istilahnya ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing – masing memiliki spesifikasi tugas tersendiri. 5

Control Unit q Bertugas mengontrol operasi CPU dan secara keselurahan mengontrol komputer sehingga terjadi

Control Unit q Bertugas mengontrol operasi CPU dan secara keselurahan mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi – fungsi operasinya. q Termasuk dalam tanggung jawab unit kontrol adalah mengambil instruksi – instruksi dari memori utama dan menentukan jenis instruksi tersebut. 6

Registers q Media penyimpan internal CPU yang digunakan saat proses pengolahan data. q Memori

Registers q Media penyimpan internal CPU yang digunakan saat proses pengolahan data. q Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya. 7

CPU Interconnections q Sistem koneksi dan bus yang menghubungkan komponen internal dan bus –

CPU Interconnections q Sistem koneksi dan bus yang menghubungkan komponen internal dan bus – bus eksternal CPU q Komponen internal CPU yaitu ALU, unit kontrol dan register – register. q Komponen eksternal CPU : sistem lainnya, seperti memori utama, piranti masukan/keluaran 8

Komponen internal CPU 9

Komponen internal CPU 9

Struktur detail internal CPU 10

Struktur detail internal CPU 10

Fungsi CPU Menjalankan program – program yang disimpan dalam memori utama dengan cara mengambil

Fungsi CPU Menjalankan program – program yang disimpan dalam memori utama dengan cara mengambil instruksi – instruksi, menguji instruksi tersebut dan mengeksekusinya satu persatu sesuai alur perintah. q Pandangan paling sederhana proses eksekusi program adalah dengan mengambil pengolahan instruksi yang terdiri dari dua langkah, yaitu : operasi pembacaan instruksi (fetch) dan operasi pelaksanaan instruksi (execute) 11 q

Siklus Instruksi q. Terdiri dari siklus fetch dan siklus eksekusi 12

Siklus Instruksi q. Terdiri dari siklus fetch dan siklus eksekusi 12

Siklus Fetch - Eksekusi q Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi

Siklus Fetch - Eksekusi q Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi dari memori q Terdapat register dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya, yang disebut Program Counter (PC) q PC akan menambah satu hitungannya 13 setiap kali CPU membaca instruksi

Siklus Fetch - Eksekusi q Instruksi – instruksi yang dibaca akan dibuat dalam register

Siklus Fetch - Eksekusi q Instruksi – instruksi yang dibaca akan dibuat dalam register instruksi (IR). q Instruksi – instruksi ini dalam bentuk kode – kode binner yang dapat diinterpretasikan oleh CPU kemudian dilakukan aksi yang diperlukan 14

Aksi CPU q CPU – Memori, perpindahan data dari CPU ke memori dan sebaliknya.

Aksi CPU q CPU – Memori, perpindahan data dari CPU ke memori dan sebaliknya. q CPU –I/O, perpindahan data dari CPU ke modul I/O dan sebaliknya. q Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan logika terhadap data. q Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja. 15 Misalnya instruksi pengubahan

Siklus Eksekusi q q q q Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan

Siklus Eksekusi q q q q Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki panjang 8 bit, maka tambahkan 2 ke alamat sebelumnya. Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU. Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan. Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori. Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O. Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi. Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam 16 memori

Diagram siklus instruksi 17

Diagram siklus instruksi 17

Fungsi Interrupt § Fungsi interupsi adalah mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU

Fungsi Interrupt § Fungsi interupsi adalah mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU kepada routine interupsi. § Tujuan interupsi secara umum untuk manajemen 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 18

Macam – macam kelas sinyal interupsi § Program, yaitu interupsi yang dibangkitkan dengan beberapa

Macam – macam kelas 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. 19

Macam – macam kelas sinyal interupsi § I/O, sinyal interupsi yang dibangkitkan oleh modul

Macam – macam kelas sinyal interupsi § 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. 20

Apabila interupsi ditangguhkan, maka 1. Prosesor menangguhkan eksekusi program yang dijalankan dan menyimpan konteksnya.

Apabila interupsi ditangguhkan, maka 1. Prosesor menangguhkan eksekusi program yang dijalankan dan menyimpan konteksnya. Tindakan ini adalah menyimpan alamat instruksi berikutnya yang akan dieksekusi dan data lain yang relevan. 2. Prosesor menyetel program counter (PC) ke alamat awal routine 21

Siklus instruksi dengan interrupt 22

Siklus instruksi dengan interrupt 22

Interupsi Ganda 1. Menolak atau tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor.

Interupsi Ganda 1. Menolak atau tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor. Kemudian setelah prosesor selesai menangani suatu interupsi maka interupsi lain baru di tangani. Disebut pengolahan interupsi berurutan / sekuensial. Pendekatan ini cukup baik dan sederhana karena interupsi ditangani dalam ututan yang cukup ketat. Kelemahan tidak memperhitungkan prioritas interupsi. Diperlihatkan pada gambar 3. 6 a. 2. Mendefinisikan prioritas bagi interupsi dan interrupt handler mengizinkan interupsi berprioritas lebih tinggi ditangani terlebih dahulu. Disebut pengolahan interupsi bersarang, diperlihatkan 23 pada gambar 3. 6 b.

Penanganan Interupsi Ganda 24

Penanganan Interupsi Ganda 24

Contoh Pendekatan Bersarang § Suatu sistem memiliki tiga perangkat I/O: printer, disk, dan saluran

Contoh Pendekatan Bersarang § Suatu sistem memiliki tiga perangkat I/O: printer, disk, dan saluran komunikasi, dengan prioritas masing – masing 2, 4 dan 5. § Pada awal sistem melakukan pencetakan dengan printer, saat itu terdapat pengiriman data pada saluran komunikasi sehingga modul komunikasi meminta interupsi. § Proses selanjutnya adalah pengalihan eksekusi interupsi mudul komunikasi, sedangkan interupsi printer ditangguhkan. 25

Contoh Pendekatan Bersarang § § Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun karena

Contoh Pendekatan Bersarang § § Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun karena prioritasnya lebih rendah maka interupsi disk ditangguhkan. § Setelah interupsi modul komunikasi selesai akan dilanjutkan interupsi yang memiliki prioritas lebih tinggi, yaitu disk. § Bila interupsi disk selesai dilanjutkan eksekusi interupsi printer. § Selanjutnya dilanjutkan eksekusi program 26 utama.

Diagram siklus instruksi dengan interrupt 27

Diagram siklus instruksi dengan interrupt 27

Pertemuan IV Struktur dan Fungsi CPU (III) Arsitektur Komputer II STMIK – AUB SURAKARTA

Pertemuan IV Struktur dan Fungsi CPU (III) Arsitektur Komputer II STMIK – AUB SURAKARTA 28

Siklus Instruksi Masih ingat apa saja? Fetch Execute Interrupt Masih ada lagi? 29

Siklus Instruksi Masih ingat apa saja? Fetch Execute Interrupt Masih ada lagi? 29

Sub-siklus Instruksi § Fetch : membaca instruksi berikutnya dari memori ke dalam CPU §

Sub-siklus Instruksi § Fetch : membaca instruksi berikutnya dari memori ke dalam CPU § Execute : menginterpretasikan opcode dan melakukan operasi yang diindikasikan § Interrupt : Apabila interrupt diaktifkan dan interrupt telah terjadi, simpan status proses saat itu dan layani interrupt. 30

Siklus Tak Langsung § Eksekusi sebuah instruksi dapat melibatkan sebuah operand atau lebih di

Siklus Tak Langsung § Eksekusi sebuah instruksi dapat melibatkan sebuah operand atau lebih di dalam memori, yang masing memori memerlukan akses memori. § Pengambilan alamat-alamat yang tak langsung dapat dianggap sebagai sebuah subsiklus instruksi. (Buka kembali Orkom 1 – Mode Pengalamatan – Indirect) 31

Siklus Instruksi 32

Siklus Instruksi 32

Diagram Status Siklus Instruksi 33

Diagram Status Siklus Instruksi 33

Aliran Data Siklus Pengambilan (Instruction Fetch) § Urutan kejadian selama siklus instruksi tergantung pada

Aliran Data Siklus Pengambilan (Instruction Fetch) § Urutan kejadian selama siklus instruksi tergantung pada rancangan CPU. § Umumnya : Sebuah komputer menggunakan § register memori alamat (MAR), § register memori buffer (MBR), § pencacah program (PC) dan § register instruksi (IR). 34

Aliran Data Siklus Pengambilan (Instruction Fetch) § Prosesnya: § Pada saat siklus pengambilan (fetch

Aliran Data Siklus Pengambilan (Instruction Fetch) § Prosesnya: § Pada saat siklus pengambilan (fetch cycle), instruksi dibaca dari memori. § PC berisi alamat instruksi berikutnya yang akan diambil. § Alamat ini akan dipindahkan ke MAR dan ditaruh di bus alamat. § Unit kontrol meminta pembacaan memori dan hasilnya disimpan di bus data dan disalin ke MBR dan kemudian dipindahkan ke IR. § PC naik nilainya 1, sebagai persiapan untuk pengambilan selanjutnya. 35

Aliran Data Siklus Pengambilan (Instruction Fetch) § Selanjutnya: § Siklus selesai, unit kontrol memeriksa

Aliran Data Siklus Pengambilan (Instruction Fetch) § Selanjutnya: § Siklus selesai, unit kontrol memeriksa isi IR untuk menentukan apakah IR berisi operand specifier yang menggunakan pengalamatan tak langsung. § Apabila pengalamatan tak langsung, maka siklus tak langsung akan dijalankan. 36

Aliran Data Siklus Tak Langsung § N bit paling kanan pada MBR, yang berisi

Aliran Data Siklus Tak Langsung § 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. 37

Aliran Data Siklus Execute § Siklus pengambilan dan siklus tak langsung cukup sederhana dan

Aliran Data Siklus Execute § Siklus pengambilan dan siklus tak langsung cukup sederhana dan dapat diramalkan. § Siklus instruksi (instruction cycle) mengambil banyak bentuk karena bentuk bergantung pada bermacam-macam instruksi mesin yang terdapat di dalam IR. § Siklus meliputi pemindahan data di antara register-register, pembacaan atau penulisan dari memori, I/O, dan atau penggunaan ALU. 38

Aliran Data Siklus Interupsi § Isi PC saat itu harus disimpan sehingga CPU dapat

Aliran Data Siklus Interupsi § Isi PC saat itu harus disimpan sehingga CPU dapat melanjutkan aktivitas normal setelah terjadinya interrupt. § Proses : § Isi PC dipindahkan ke MBR untuk dituliskan ke dalam memori. § Lokasi memori khusus yang dicadangkan untuk keperluan ini dimuatkan ke MAR dari unit kontrol. § Lokasi ini berupa stack pointer. § PC dimuatkan dengan alamat rutin interrupt. § Akibatnya, siklus instruksi berikutnya akan mulai mengambil instruksi yang sesuai. 39