Anda di halaman 1dari 31

ARSITEKTUR &

ORGANISASI KOMPUTER
Nur Wahyu Hidayat, M.Kom
5
Central Processing Unit
(CPU)
Nur Wahyu Hidayat, M.Kom.
wahyu@stmikmpb.ac.id
OUTLINE

Komponen
...
Utama CPU

Fungsi
...
Utama CPU
Komponen Utama CPU

 Merupakan komponen terpenting dari sistem komputer (mengolah data


berdasarkan instruksi)
 Susunan internal CPU:
 Arithmetic and Logic Unit (ALU)
 Control Unit
 Registers
 CPU Interconnection
Arithmetic and Logic Unit (ALU)

• Disebut juga mesin bahasa (machine language)


• Bertugas membentuk fungsi-fungsi pengolahan data
komputer
• Terdiri 2 bagian:
• Unit arithmatika
• Unit logika boolean
Control Unit (CU)

• Bertugas mengontrol operasi CPU


• mengontrol komputer sehingga terjadi sinkronisasi antar
komponen dalam menjalankan fungsi-fungsi operasi
• Mengambil intruksi dari memori utama sekaligus
menentukan jenis instruksi tersebut
Registers

• Bertugas sebagai media penyimpanan internal CPU yang


digunakan saat proses pengolahan data
• Memori ini bersifat sementara
 menyimpan data saat diolah ataupun untuk
pengolahan selanjutnya
CPU Interconnections

•  sistem koneksi dan bus yang menghubungkan


komponen internal CPU seperti ALU, control unit,
register-register dan juga bus-bus eksternal CPU yang
menghubungkan dengan sistem lainnya (memori utama,
piranti I/O)
Fungsi CPU

• Fungsi CPU menjalankan program-program yang


disimpan di memori utama (mengambil instruksi,
menguji instruksi, dan mengeksekusi satu persatu sesuai
alur perintah)
• 2 (dua) Langkah pengolahan instruksi:
• Operasi pembacaan instruksi (fetch)
• Operasi pelaksanaan instruksi (execute)
Siklus Fetch - Eksekusi

• Pada setiap siklus instruksi, CPU membaca instruksi dari


memori
• Program Counter akan menambah hitungannya setiap
kali CPU membaca instruksi
• Instruksi-instruksi yang dibaca dibuat dalam register
instruksi (IR)
• Instruksi (dalam bentuk biner) tersebut
diinterprestasikan CPU untuk melakukan aksi-aksi yang
diperlukan
Siklus Fetch – Eksekusi (lanjutan)

Aksi-aksi CPU dikelompokkan menjadi 4 kategori:


• 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 membentuk sejumlah operasi
aritmatika dan logika terhadap data
• Kontrol  instruksi untuk mengontrol fungsi atau kerja,
misal: instruksi pengubahan urusan eksekusi
Detail siklus instruksi
Detail siklus instruksi

• Instruction Address Calculation (LAC) mengkalkulasi/ menentukan alamat


instruksi berikutnya yang akan dieksekusi. Biasanya menambahkan bilangan
tetap ke alamat instruksi sebelumnya
• Instruction Fetch (IC)  membaca / mengambil instruksi dari lokasi memorinya
ke CPU
• Instruction Operation Decoding (IOD)  menganalisa instruksi untuk
menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan
• Operand Address Calculation (OAC)  menentukan alamat operand
• Operand Fetch (OF)  mengambil operand dari memori atau I/O
• Data Operation (DO)  membentuk operasi yang diperintahkan dalam instruksi
• Operand store (OS)  menyimpan hasil eksekusi ke dalam memori
Fungsi Interrupt

• Fungsi interupsi  mekanisme penghentian atau


pengalihan pengolahan instruksi dalam CPU kepada
routine interupsi
• Hampir semua modul (memori atau I/O) memiliki
mekanisme yang dapat menginterupsi kerja CPU
• Tujuan interupsi  untuk manajemen pengeksekusian
routine instruksi agar efektif dan efisien antar CPU dan
modul-modul l/O maupun memori
• Fungsi interupsi  sebagai sinkronisasi antar modul
Instruksi dan Kode Operasi

 Format instruksi dua bagian  opcode


(operation code) dan address
 Panjangnya instruksi (jumlah bit
instruksi) ditentukan oleh word length
masingmasing sistem
 Contoh format instruksi sepanjang 16 bit
(4 bit opcode dan 12 bit alamat data)
Kode operasi  dari 0000 sampai
dengan 1111 setiap kombinasi 4 angka
biner
Instruksi dan Kode Operasi (lanjutan)
 Contoh eksekusi dalam mesin komputer
Instruksi dan Kode Operasi (lanjutan)
Langkah-langkah eksekusi program pada mesin sebuah komputer di atas:
Diketahui bahwa panjang word = 16 bit, terbagi menjadi 4 bit op-code dan 12 bit alamat (212 lokasi memory)
Diasumsikan bahwa Program Counter (PC) berada bernilai 300 (300 adalah alamat instruksi pertama
Instruksi yang ada pada lokasi 300 (alamat memory dari instruksi : 300) di load ke IR
Pertama PC ke MAR, baca, kemudian ditransfer ke MBR lalu dari MBR ke IR. Empat bit pertama (op-code) dalam IR
mengindikasikan bahwa AC di load. Sementara 12 bit sisanya (angka 940) menunjukkan alamat operand, nilai 1940
adalah bilangan hexadesimal dimana angka 1 mewakili opcode dan 940 mewakili alamat memori
Instruksi selanjutnya (5941) dipangil dari lokasi 301 dan program counter meningkat (misal 1 kali)
Kode 5941 memiliki maksud bahwa 5 artinnya “ADD” sedangkan 941 adalah alamat data yang
akan dieksekusi instruksi. Isi dari accumulator (memori) yang lama serta konten yang berlokasi
di alamat 941 ditambahkan, kemudian hasilnya disimpan dalam accumulator (memori).

Instruksi selanjutnya (2941) dipanggil dari lokasi 302 dan program counter increment
(meningkat) yang artinya simpan konten dari accumulator pada lokasi 941.
Macam-macam kelas sinyal interupsi

• Program  interupsi dibangkitkan dari kondisi yang terjadi


pada hasil eksekusi program
misal: pembagian nol, operasi ilegal, aritmatika over flow
• Timer  interupsi dibangkitkan dari pewaktuan processor
• I/O  interupsi dibangkitkan dari modul I/O sehubungan
pemberitahuan error dan penyelesaian suatu operasi
• Hardware failure  interupsi dibangkitkan dari kegagalan daya
2 Kemungkinan tindakan prosesor saat
menerima sinyal interupsi

Prosesor menangguhkan eksekusi


program yang dijalankan &
menyimpan konteksnya
Interupsi
ditangguhkan
Prosesor menyetel program
konter ke alamat awal
Interupsi routine (interrupt handler)
ditolak
Siklus eksekusi instruksi dengan interupt
Interupsi Ganda

 Untuk sistem operas komplek, memungkinkan adanya interupsi ganda


(multiple interupt)
 Ada 2 pendekatan menangani interupsi ganda:
 Pengolahan interupsi berurutan/ sekuensial
 menolak/ tidak diizinkan interupsi lain saat suatu interupsi ditangani prosesor
 Setelah prosesor menangani interupsi tersebut barulah interupsi baru lain ditangani
 Pengolahan interupsi bersarang
 Mengizinkan interupsi berprioritas lebih tinggi ditangani lebih dulu
Pengolahan interupsi berurutan/
sekuensial
Pengolahan interupsi bersarang
Contoh Pengolahan interupsi bersarang
 Ada tiga perangkat I/O, yaitu
 Printer (nilai prioritas 2)
 Disk (nilai prioritas 4)
 Saluran komunikasi (nilai prioritas 5)
 Awalnya sistem melakukan pencetakkan dengan printer. Tiba-tiba ada
interupsi dari modul komunikasi, sehingga beralih eksekusi interupsi modul
komunikasi sementara printer ditangguhkan
 Saat eksekusi modul komunikasi terdapat interupsi disk. Karena nilai
prioritas disk lebih rendah, maka interupsi disk ditangguhkan.
 Setelah interupsi modul komunikasi selesai, selanjutnya dieksekusi interupsi
disk
 Setelah interupsi disk selesai, barulah interupsi printer dieksekusi
 Setelah interupsi printer selesai, baru lah kembali menjalankan program
awal
Terima Kasih
LATIHAN 5.1 Pengurangan

 Jika diketahui PC : program counter; IR :


Instruction Register ; AC : Accumulator,
temporary storage. Perintah terdiri dari 16
bit (4 Hexadecimal); 4 bit pertama adalah
“instruksi” dan 12 bit sisanya adalah
alamat memori dengar daftar opcode dan
informasi sebagai berikut
LATIHAN 5.1 Pengurangan (lanjutan)
 Isikan informasi yang diketahui berikut pada tabel eksekusi program yang disediakan.
Pada step pertama : program counter bernilai 300; ( alamat instruksi pertama 300) sistem
memanggil intruksi pertama dengan nilai 1942 dan diisikan (di-load) ke dalam IR. [ 1
artinya load –lihat kode biner di tabel ; 942 artinya alamat data ada di lokasi 942 
dimana data pada alamat memory 942 berisi 004 ].
 Pada step 2 : Sistem mengeksekusi intruksi dengan kode 1942 artinya load (memproses)
data di lokasi 942 ; data bernilai 004 ; ke dalam AC.
 Pada step 3 : Intruksi selanjutnya diambil dari lokasi 301 ; kode instruksi “SUB konten AC
dengan konten dilokasi 941”.
 Pada step 4 : Konten dari AC dan konten dilokasi 941 di eksekusi dengan instruksi “SUB”
lalu hasilnya disimpan dalam AC ( accumulator).

 Pada step 5: Intruksi STORE diambil dari lokasi 302, yang artinya “STORE hasil
perhitungan aritmetika ke memory 943”. Pada step 6 : Simpan hasil perhitungan dari AC
ke lokasi sesuai instruksi pada step 5 (alamat 943)
LATIHAN 5.2 Perkalian

 Jika diketahui PC : program counter; IR :


Instruction Register ; AC : Accumulator,
temporary storage. Perintah terdiri dari 16
bit (4 Hexadecimal); 4 bit pertama adalah
“instruksi” dan 12 bit sisanya adalah
alamat memori dengan daftar opcode dan
informasi sebagai berikut
LATIHAN 5.2 Perkalian (lanjutan)

 Isikan informasi yang diketahui pada tabel eksekusi program yang disediakan
• Pada step 1: program counter bernilai 300; (alamat instruksi pertama 300) sistem
memanggil intruksi pertama dengan nilai 1940 dan diisikan (di-load) ke dalam IR.
• Pada step 2 : Sistem mengeksekusi intruksi dengan kode 1940 ke dalam AC
• Pada step 3 : Intruksi selanjutnya diambil dari lokasi 301 ; kode instruksi “MUL
konten
AC dengan konten dilokasi 941”
• Pada step 4 : Konten dari AC dan konten dilokasi 941 di eksekusi dengan instruksi
“MUL” lalu hasilnya disimpan dalam AC
• Pada step 5: Intruksi STORE diambil dari lokasi 302, yang artinya “STORE hasil
perhitungan aritmetika ke memory 942”
• Pada step 6 : Simpan hasil perhitungan dari AC ke lokasi sesuai instruksi pada step
5
(alamat 942)

Anda mungkin juga menyukai