Anda di halaman 1dari 44

Kuliah 3

Struktur CPU
Organisasi dan Arsitektur Komputer

Program Studi Teknik Informatika


Fakultas Teknik
Universitas Mataram
Apa yang dipelajari?
• Komponen Utama Komputer
• Struktur CPU
• Siklus Instruksi
• Eksekusi Program dalam CPU
• Konsep dasar interupsi (Interrupt)

2
Pendahuluan
• Fungsi dasar komputer  eksekusi program.

• Program yang akan dieksekusi berisi sejumlah


instruksi yang tersimpan dalam memori.

• Tugas CPU  melakukan eksekusi suatu


program.

3
Komponen Utama Komputer

4
CPU
• Central Processing Unit.
• Merupakan komponen terpenting dari sistem
komputer.

• Komponen pengolah data berdasarkan instruksi


yang diberikan kepadanya.

• Dalam mewujudkan fungsi dan tugasnya, CPU


tersusun atas beberapa komponen internal.
5
Komponen Utama CPU
1. Arithmetic and Logic Unit (ALU)
2. Control Unit
3. Registers
4. CPU Interconnections (CPU Bus)

6
Komponen Utama CPU

Computer
CPU
Arithmetic
Registers and
I/O
Logic Unit
System CPU
Bus CPU
Memory Interconnection

Control
Unit

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

• ALU sering disebut bahasa mesin (machine


language) karena bagian ini mengerjakan instruksi–
instruksi bahasa mesin yang diberikan padanya.

• ALU terdiri dari dua bagian, yaitu unit aritmatika


dan unit logika boolean, yang masing – masing
memiliki spesifikasi tugas tersendiri.
8
Control Unit
• Bertugas mengontrol operasi CPU dan secara
keselurahan mengontrol komputer sehingga terjadi
sinkronisasi kerja antar komponen dalam
menjalankan fungsi – fungsi operasinya.

• Termasuk dalam tanggung jawab unit kontrol adalah


mengambil instruksi – instruksi dari memori utama
dan menentukan jenis instruksi tersebut.

9
Registers
• CPU harus punya temporary storage.
 Disebut Register

• Register  media penyimpan internal CPU yang digunakan


saat proses pengolahan data.

• Memori (register) ini bersifat sementara  digunakan untuk


menyimpan data saat diolah ataupun data untuk pengolahan
selanjutnya.

• Register berada pada top level (level paling atas) dalam hirarki
memori.

• Banyaknya register dalam suatu CPU bervariasi tergantung desain


CPU itu sendiri.
10
CPU Interconnections (CPU Bus)
• Sistem koneksi dan bus yang menghubungkan komponen
internal dan bus – bus eksternal CPU.

• Menghubungkan komponen internal CPU seperti :


– ALU
– Control unit
– Registers

• Sebagai penghubung komponen eksternal CPU seperti


memori utama, piranti masukan/keluaran.

11
CPU dengan Sistem Bus Eksternal

12
CPU dengan Sistem Bus Internal

13
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.

14
Siklus Instruksi
• Program yang ada di memori komputer terdiri dari
sederetan instruksi.
• Setiap instruksi dieksekusi melalui suatu siklus.
• Pengolahan yang diperlukan untuk instruksi
tunggal disebut siklus instruksi.

• Pengolahan instruksi terdiri dari dua langkah, yaitu:


– operasi pembacaan instruksi  fetch
– operasi pelaksanaan instruksi  execute
15
Siklus Instruksi
• Fetch instruksi adalah operasi umum bagi setiap instruksi,
dan terdiri dari pembacaan instruksi dari suatu lokasi di
dalam memori.

• Eksekusi instruksi dapat melibatkan sejumlah operasi dan


tergantung pada sifat-sifat instruksi.

• Eksekusi program akan terhenti apabila :


– Mesin dimatikan.
– Terjadi kesalahan.
– Terdapat instruksi program yang akan menghentikan komputer.

16
Siklus Instruksi

17
Aliran Data (Fetch Diagram)

18
Siklus Fetch - Eksekusi
• Pada setiap siklus instruksi, CPU awalnya akan
membaca instruksi dari memori.

• Terdapat register dalam CPU yang berfungsi


mengawasi dan menghitung instruksi selanjutnya,
yang disebut Program Counter (PC).

• Program Counter (PC) akan menambah satu


hitungannya setiap kali CPU membaca instruksi.

19
Siklus Fetch - Eksekusi
• Instruksi – instruksi yang dibaca akan dimuat dalam
instruction register (IR).

• Instruksi – instruksi ini berbentuk kode – kode biner


yang dapat diinterpretasikan oleh CPU kemudian
dilakukan aksi yang diperlukan.

20
Aksi CPU
• CPU – Memori
 Perpindahan data dari CPU ke memori dan sebaliknya.

• CPU – I/O
 Perpindahan data dari CPU ke modul I/O dan sebaliknya.

• Pengolahan Data
 CPU dapat membentuk sejumlah operasi aritmatika dan
logika terhadap data.

• Kontrol
 Instruksi untuk pengontrolan fungsi atau kerja.
 Misalnya instruksi pengubahan urutan eksekusi.
21
Contoh Eksekusi Program dalam CPU

• Misal sebuah komputer masing-masing instruksinya


menempati sebuah word 16 bit di memori.

• Anggap Program Counter (PC) diset pada lokasi


300, maka CPU akan membaca instruksi pada
lokasi 300.

• Pada siklus berikutnya, CPU akan membaca


instruksi dari lokasi 301, 302, 303, dst..

22
Contoh Eksekusi Program dalam CPU
• Format Instruksi :
0 3 4 15
Opcode Alamat

• Register-register di CPU :
Program Counter (PC) = Alamat Instruksi
Instruction Register (IR) = Instruksi yang sedang dieksekusi
Accumulator (AC) = Penyimpanan data sementara

• Contoh Opcode :
0001 = isi AC dari memori
0010 = simpan AC ke memori
0101 = tambahkan AC dari memori

23
Contoh Eksekusi Program dalam
CPU
• Contoh Format Instruksi

0 3 4 15
0001 0011 1010 1100

Opcode Alamat

1 940

24
Contoh Eksekusi Program dalam CPU
Fetch Execute

Opcode :
0001 = isi AC dari memori
0010 = simpan AC ke memori
0101 = tambahkan AC dari memori

25
Contoh Eksekusi Program dalam CPU

Step 1 dan 2

PC ( Program Counter ) berisi alamat 300 untuk


instruksi pertama.
Instruksi yang berada di alamat 300 dimuatkan
ke IR ( Instruction Register ).
Dalam hal ini terjadi fetch cycle.

Instruksi dalam IR : untuk 4 bit pertama


menunjukkan opcode, bit berikutnya yaitu 12 bit
menunjukkan alamat.
Jadi instruksi 1940 maksudnya 1 = opcode 0001
= isi AC dari memori alamat 940

26
Contoh Eksekusi Program dalam CPU

Step 3 dan 4
PC bertambah nilainya dan instruksi berikutnya
diambil yaitu di alamat 301 dan dimasukkan di
dalam IR.

Instruksi dalam IR yaitu 5941 maksudnya 5 =


opcode 0101 = tambahkan AC dengan isi memori
alamat 941 dan hasilnya disimpan dalam AC.

27
Contoh Eksekusi Program dalam CPU

Step 5 dan 6
PC bertambah nilainya dan instruksi berikutnya
diambil yaitu di alamat 302 dan dimasukkan di
dalam IR.

Instruksi dalam IR yaitu 2941 maksudnya 2 =


opcode 0010 = isi AC disimpan di memori alamat
941.

28
Interupsi (Interrupt)
• Interupsi adalah kejadian (event) yang bisa
menginterupsi CPU dan memberitahukan bahwa
sebuah peralatan/modul membutuhkan layanan.

29
Fungsi Interrupt
• 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.

30
Tujuan Interrupt
• Tujuan Secara Umum  untuk manajemen pengeksekusian
instruksi agar efektif dan efisien antara CPU dan 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.

• Dapat sebagai sinkronisasi kerja antar modul.

31
Kelas-Kelas Interrupt
• Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi
yang terjadi pada hasil eksekusi program.
– Contohnya: arimatika overflow, pembagian nol, operasi 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.
32
Proses Interrupt
• 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.

33
Proses Interrupt
• Kemudian prosesor akan menghentikan eksekusi
yang dijalankannya untuk meng-handle 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 dan
interupsi ditolak.

34
Proses Interrupt

35
Siklus Eksekusi oleh Prosesor
dengan Adanya Fungsi Interrupt

36
Multiple Interrupt
• Interupsi Ganda (multiple interrupt).
– Misalnya suatu komputer akan menerima permintaan
interupsi saat proses pencetakan dengan printer selesai,
disamping itu dimungkinkan dari saluran komunikasi akan
mengirimkan permintaan interupsi setiap kali data tiba.
– Dapat diambil dua buah pendekatan untuk menangani
interupsi ganda ini.

37
Pendekatan Multiple Interrupt
Ada 2 (dua) Pendekatan:
• Pengolahan Interrupt Berurutan (Sequential)
– Menolak atau tidak mengizinkan interupsi lain saat
suatu interupsi ditangani prosesor.
– Setelah prosesor selesai menangani suatu interupsi
maka interupsi lain baru ditangani.

• Pengolahan Interrupt Bersarang (Nested)


– Mendefinisikan prioritas bagi interupsi.
– Interrupt handler mengizinkan interupsi berprioritas
lebih tinggi ditangani terlebih dahulu .
38
Multiple Interrupts - Sequential

39
Multiple Interrupts - Nested

40
Contoh Kasus Multiple Interrupt
• Suatu sistem memiliki tiga perangkat I/O: printer,
disk, dan saluran komunikasi, masing–masing
prioritasnya secara berurutan yaitu 3, 2 dan 1.

– Bagaimana proses interupsinya?

41
Contoh Kasus Multiple Interrupt

Gambar contoh urutan waktu multiple interrupt


42
Penjelasan Gambar dari Contoh Kasus
• Program pengguna berawal pada t=0.
• Pada t=10 sistem melakukan pencetakan dengan printer (interrupt
printer), sehingga program pengguna ditangguhkan dulu.
• Pada saat routine printer sedang diekskusi, terdapat pengiriman
data ada saluran komunikasi sehingga modul komunikasi meminta
interupsi pada t=15.
• Karena saluran komunikasi memiliki prioritas lebih tinggi, maka
proses selanjutnya adalah pengalihan eksekusi interupsi modul
komunikasi, sedangkan interupsi printer ditangguhkan.
• Setelah selesai pengeksekusian modul komunikasi (t=25) terjadi
interupsi disk, namun karena prioritasnya lebih tinggi maka interupsi
printer ditangguhkan.
• Setelah interupsi disk selesai (t=35) dilanjutkan eksekusi interupsi
printer.
• Selanjutnya dilanjutkan eksekusi program pengguna.
43
Terima Kasih

44

Anda mungkin juga menyukai