Part13 Struktur dan Fungsi CPU

Organisasi & Arsitektur Komputer
CPU Structure & Function
Pertemuan Ke-13

Overview
• Sekilas tentang prosesor?
• Menjelaskan tentang komponen utama CPU dan
Fungsi CPU
• Membahas struktur dan fungsi internal prosesor,
organisasi ALU, control unit dan register
• Menjelaskan fungsi prosesor dalam menjalankan
instruksi-instruksi mesin

Komponen Utama CPU
1. Arihtmetic Logical Unit (ALU)
– Melakukan komputasi untuk pengolahan data
– Melakukan tugas-tugas dasar aritmatik dan operasi logika

2. Control Unit
– Mengontrol perpindahan data dan instruksi ke CPU atau
dari CPU

– Mengontrol operasi ALU
– Mendecode instruksi program dan menyediakan sinyalsinyal kontrol yang bersesuaian

3. Register
– Memori internal yang didesain untuk dapat
menyimpan data lebih cepat dibandingkan
memori utama (Memory Unit).ex: chace.

4. Internal Bus
– Jalur yang berfungsi sebagai jembatan
komunikasi antara komponen utama

CPU DENGAN SISTEM BUS

CPU
Register
ALU
Control Unit

Control

Bus

Data Bus

Address
Bus

STRUKTUR INTERNAL CPU

Apa itu Processor??
• Processor adalah sebuah chip yang berupa Integrated
Circuit (IC) yang mengontrol keseluruhan sistem
komputer dan digunakan sebagai pusat atau otak dari
kegiatan komputer dalam melakukan perhitungan dan
menjalankan tugas input dan output.
• Kecepatan processor mempengaruhi
kecepatan komputer secara signifikan karena benda
satu ini adalah merupakan pusat pengolahan data.

Jenis - jenis Processor

• Single core, yakni microprosesor yang hanya memilki
bagian inti pemrosesan sebanyak satu buah saja.
Processor ini adalah processor yang umum ada dibawah
tahun 2004.
• Multi core, yakni microprosesor yang memiliki bagian inti
pemrosesan lebih dari satu. Umumnya berjumlah genap dan
kelipatan dua. Misalnya dual core untuk dua inti, quad core
untuk empat inti dan seterusnya. Keuntungan multicore
adalah pemrosesan lebih cepat karena dibagi dalam dua inti
yang berbeda sehingga mendapatkan hasil yang paralel.

FUNGSI UTAMA CPU
1. Fetch Instruction (Mengambil Instruksi)
CPU harus membaca instruksi dari memori
2. Interpret Instruction (Menterjemahkan Instruksi)
Instruksi harus diinstruksikan untuk menentukan aksi apa yang perlu
diambil
3. Fetch Data (Mengambil Data)
Eksekusi suatu instruksi memerlukan pembacaan dari memori atau
modul I/O

4. Process Data (Mengolah Data)
Eksekusi suatu instruksi memerlukan operasi aritmatika atau logika
terhadap data
5. Write Data (Menulis Data)
Hasil eksekusi memerlukan penulisan data ke memori atau modul I/O

REGISTER PADA CPU
Memiliki 2 fungsi :
1. User Visibel Register :
Register CPU yang dapat digunakan oleh pemrogram,
dengan menggunakan set intsruksi memungkinkan satu buah
register atau lebih untuk dispesifikasian sebagai operand
atau alamat operand.
2. Control dan Status Register
Register yang digunakan oleh unit kontrol untuk mengontrol
operasi CPU dan oleh program sistem operasi untuk
mengontrol eksekusi program

User Visibel Register
1. General Purpose Register

– Digunakan untuk mode pengalamatan dan data
– Akumulator ( aritmatika, Shift, Rotate)
– Base Register (Rotate,Shift, aritmatika)
– Counter Register ( Looping)
– Data Register (menyimpan alamat I/O device).

2. Register Alamat

– Digunakan untuk mode pengalamatan
– Segment Register (Code Segment, Data Segment, Stack
Segment, Extra Segment)
– Register Index (Stack Index, Data Index)
– Stack Pointer
3. Register Data
– Digunakan untuk menampung data
4. Register Kode Status Kondisi (Flag)
– Kode yang menggambarkan hasil operasi sebelumnya

Control Register
1. Program Counter (PC)

 Berisi alamat instruksi yang akan diambil

2. Instruction Register (IR)
 Berisi alamat instruksi terakhir

3. Memory Address Register (MAR)
 Berisi alamat penyimpanan dalam memori

4. Memori Buffer Register (MBR)
 Berisi data yang dibaca dari memori atau yang diyliskan ke
memori

Instruksi Pada CPU

SIKLUS INSTRUKSI
Pengolahan yang dilakukan CPU untuk mengeksekusi
sebuah instruksi
Siklus Instruksi meliputi :
1. Fetch Cycle (Siklus mengambil)
 Mengambil instruksi yang akan dieksekusi


2. Execute Cycle (Siklus Eksekusi)
 Melakukan operasi yang ditentukan oleh opcode instruksi

3. Interrupt Cycle (Siklus Instruksi)
 Apabila interrupt diaktifkan dan interrupt telah terjadi, simpan status
proses saat itu dan layani interrup

Siklus Fetch - Eksekusi
• Pada setiap siklus intrupsi, CPU awalnya akan membaca instruksi
dari memori
• Terdapat register dalam CPU yang berfungsi mengawasi dan
menghitung instruksi selanjutnya, disebut Program Counter (PC)
• PC akan menambah satu hitungannya setiap kali CPU membaca
instruksi
• Instruksi – instruksi yang dibaca akan dibuat dalam register
insruksi (IR)
• Instruksi– nstruksi ini dalam bentuk kode–kode biner yang dapat
diinterpresentasikan oleh CPU kemudian mengeksekusinya


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

Siklus Eksekusi
 Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau
menentukan alamat instruksi berikutnya yang akan dieksekusi.
Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi
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 1/0
 Data Operation (DO), yaitu membentuk operasi yang diperintahkan
dalam instruksi
 Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam
memori

Diagram Siklus Instruksi

Interupsi CPU
FUNGSI INSTRUPSI
• Mekanisme penghentian atau pengalihan pengolahan
instruksi dalam CPU kepada rountine interupsi
• Hampir semua komponen (memori dan I/O) memiliki
mekanisme yang dapat menginterupsi kerja CPU.
TUJUAN INSTRUPSI

• Secara umum, untuk mengatur pengeksekusian routine
instruksi agar efeksif dan efisien antara CPU, Modul I/O, dan
Memori
• Setiap komponen dapat menjalankan tugasnya bersamaan
tetapi tetap dikendalikan oleh CPU untuk sinkronisasi kerja.

Kelas Sinyal Instrupsi
• 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/0, sinyal interupsi yang dibangkitkan oleh modul I/0
sehubungan pemberitahuan kondisi error dan penyelesaian
suatu operasi
• Hardware Failure, adalah interupsi yang dibangkitkan oleh
kegagalan daya atau kesalahan paritas memori

Mekanisme Instrupsi

• Saat suatu modul telah selesai menjalankan tugasnya dan siap
menerima tugas berikutnya maka modul ini akan
mengirimkan permintaan interupsi ke prosesor
• 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

Interupsi Ditangguhkan
Apa yang dilakukan Processor ?
• Prosesor menangguhkan eksekusi program yang
dijalankan dan menyimpan konteksnya. Tindakan ini
adalah menyimpan alamat instruksi berikutnya yang
akan dieksekusi dan data lain yang relevan
• Prosesor menyetel program counter (PC) ke alamat
awal routine interrupt handler

Siklus Eksekusi dengan interupsi

Sistem Operasi Kompleks
Instrupsi Ganda (Multiple Interupt)
• Misalnya : Suatu Komputer akan merima permintaan
interupsi saat proses pencetakan dengan printer
selesai, disamping itu dimungkinkan dari saluran
komunikasi akan mengirimkan permintaan interupsi
setiap kali data tiba.
Terdapat 2 pendekatan untuk menangani kasus ini.

Sistem Operasi Kompleks (lanjutan . . .)
Ada 2 Pendekatan :
1. Pendekatan ini disebut pengolahan interupsi berurutan/sekuensial

• Menolak atau tidak mengizinkan interupsi lain saat suatu
interupsi ditangani prosesor.
• Setelah prosesor selesai menangani suatu interupsi maka
interupsi lain baru di tangani.
2. Pengolahan interupsi bersarang yaitu mendefinisikan prioritas
bagi interupsi

• Interrupt handler mengizinkan interupsi berprioritas lebih
tinggi ditangani terlebih dahulu

Multiple Interrupts - Sequential

Multiple Interrupts - Nested

Contoh Kasus
 Suatu sistem memiliki tiga perangkat I/O: Printer,
Harddisk, Jalur Komunikasi, masing – masing
prioritasnya 2, 4, dan 5. Bagaimana Pendekatan untuk
menangani interupsi tersebut !

Penjelasan;
• 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 modul
komunikasi, sedangkan interupsi printer ditangguhkan.
• 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 utama

www.rahmadani.net

35

Latihan dan Tugas;
• Diskusikan dan fahami lebih lanjut mengenai perkembangan
Aristektur Prosesor Intel dan AMD (dulu dan sekarang),
kemudian analisis kelebihan dan kekurangan dari kedua
prosesor tersebut?
• Menurut Anda, jika Anda harus memilih diantara kedua jenis
prosesor tersebut mana yang Anda pilih, dan mengapa memilih
prosesor tersebut?
– Penjelasan harus didasari minimal 5 aspek, seperti;
Kecepatan, Harga, Daya Tahan,. dst…(silahkan tentukan
aspek penilaian penting lainnya menurut Anda??)
– Sample kedua jenis prosesor tersebut (Intel vs AMD) jenis apa
saja yang penting satu tipe..kemudian lakukan bencmark
dengan tools yang sesuai..misal CPUZ atau mungkin OCCT
(OverClock Checking Tool) resume hasilnya mana yang
terbaik menurut Anda berdasarkan Aspek penilaian yang
sudah Anda lakukan sebelumnya.