Anda di halaman 1dari 9

STUKTUR DAN FUNGSI PROSESOR

1. ORGANISASI DAN FUNGSI PROSESOR


1. Organisasi prosesor
Central Processing Unit (CPU) atau biasa disebut Prcessor
merupakan komponen terpenting dalam komputer Yaitu komponen
pengolah data berdasarkan instruksi yang diberikan kepadanya

Organisasi Processor terdiri dari :


a. ALU (Arithmatic and Logical Unit) :
bertugas untuk melakukan komputasi atau pengolahan data
aktual dan membentuk fungsi fungsi pengolahan data komputer.
ALU sering disebut mesin bahasa (machine language) karena
bagian ini mengerjakan instruksi instruksi bahasa mesin yang
diberikan padanya. Seperti istilahnya
ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit
logika boolean, yang masing masing memiliki spesifikasi tugas
tersendiri.
b. CU(Control Unit) :
Bertugas mengontrol operasi CPU( perpindahan data dan
instruksi ke / dari CPU dan juga mengontrol operasi ALU) 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.
c. Register (memory internal CPU)
Merupakan Media penyimpan internal CPU yang digunakan
saat proses pengolahan data.
Memori ini bersifat sementara, biasanya digunakan untuk
menyimpan data saat diolah ataupun data untuk pengolahan
selanjutnya.
d. CPU Interconections
Sistem koneksi dan bus yang menghubungkan komponen

internal dan bus bus eksternal CPU Komponen internal CPU yaitu
ALU, unit kontrol dan register register.
Komponen eksternal CPU :sistem lainnya, seperti memori
utama, piranti masukan/keluaran
2. Fungsi CPU
Fungsi CPU yaitu Menjalankan program program yang disimpan
dalam memori utama dengan cara mengambil instruksi instruksi,
menguji instruksi tersebut dan mengeksekusinya satu persatu sesuai
alur perintah.
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)
Dibawah ini merupakan beberapa aksi yang dilakukan oleh CPU:
1. CPU Memori, perpindahan data dari CPU ke memori dan
sebaliknya.
2. CPU I/O, perpindahan data dari CPU ke modul I/O dan sebaliknya.
3. Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan
logika terhadap data.
4. Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja.
Misalnya instruksi pengubahan urusan eksekusi.
2. ORGANISASI REGISTER
Register Merupakan Media penyimpan internal CPU yang digunakan
saat proses pengolahan data.
Register adalah komponen dalam computer yang dibangun dari flip-flop
dan gerbang. Register biasanya diukur berdasarkan banyaknya bit
(binarydigit) yang dapat disimpan. Misalnya, register geser 8 bit, adalah
register yang dapat menyimpan 8 bit data dan berfungsi untuk
menggeser.
Dalam prosesor ada satu set register yang berfungsi sebagai tingkat
memori atas memori utama dan cache dalam hirarki / register tersebut
dalam prosesor melakukan dua peran
1. User Visible register : register yang isinya dapat diketahui oleh
pemrogram, register ini juga dapat meminimalkan referensi ke main
memory
2. Control and Status register : register yang digunakan olehCU,
kontrol operasiCPU dan oleh sistem operasi untuk kontrol eksekusi
program.

Perhatikan tidak ada pemisahan bersih dari register ke dalam dua


kategori . Pada beberapa mesin program counter adalah pengguna
terlihat saat pada orang lain itu tidak.
a. User-visible Register
User-visible Register adalah register yang dapat direferensikan
dengan menggunakan bahasa mesin yang dieksekusi CPU
User-visible terdiri dari :
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
5. Register Kode Status Kondisi (Flag)
Kode yang menggambarkan hasil operasi sebelumnya
b. Control and Register
Control and register adalah register-register yang digunakan
oleh unit kontrol untuk mengontrol operasi CPU dan oleh program
sistem operasi untuk mengntrol eksekusi program. Terdapat empat
register yang penting adalah :
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 memorid.
4. Memori Buffer Register (MBR)
Berisi data yang dibaca dari memori atau yang diyliskan ke
memori
Berdasarkan data yang dikelolanya, register dapat dibedakan menjadi:
1. Register data, yang digunakan untuk menyimpan bilangan integer
2. Register alamat yang menyimpan alamat yang digunakan untuk
mengakses memory

3.
4.
5.
6.

Register tujuan umum yang dapat menyimpan data maupun alamat


Register floating point yang menyimpan bilangan floating point
Register konstanta yang menyimpan nilai yang hanya dapat dibaca
Register vector yang menyimpan data untuk melakukan pemrosesan
vector
7. Register tujuan khusus menyimpan kondisi progam (program state)
temasuk didalamnya pencacah program, penunujuk tumpukan (stack
pointer) dan register status
8. Register yang berhubungan dengan pengaksesan memory seperti
register penahan (buffer register), register data, register alamat
Pada level register terdapat komponen-komponen untuk masing-masing
jenis rangkaian sbb:
Tipe
Komponen
Fungsi
Kombinasi
Gerbang Word
Operasi Boolean
Multiplexer
Pertean data
Decoder & Enkoder
Pemeriksaan kode dan
konversi
Array
yang
dapat Fungsi umum
diprogram
Operasi numerik
Elemen
Aritmatika
(penjumlahan , ALU)
Sekuensial
Register parallel
Penyimpanan informasi
Register geser
Penyimpanan informasi,
komversi serial-paralell
Pencacah
Control/penghasil sinyal
pewaktu

3. DAUR INSTRUKSI
Siklus-siklus Fetch dan Eksekusi
Pada awal setiap siklus instruksi, CPU membaca instruksi dari
memori. Pada CPU yang umum, suatu register yang disebut program
counter (PC) dipakai untuk mengawasi instruksi yang akan dibca
selanjutnya.
Intruksi yang dibaca akan dimuatkan ke dalam sebuah register di
dalam CPU yang dikenal sebagai instruction register (IR). CPU
menginterpretasikan intruksi dam melakukan aksi yang diperlukan.
Secara umum, aksi-aksi ini dapat dibagi menjadi empat kategori:

CPU-Memori: data dapat dipindahkan dari CPU ke memori atau dari


memori ke CPU.

CPU-I/O: Data dapat kea tau dunia luar denga pemindahan antara CPU
dan modul I/O.

Pengolahan data: CPU dapat membentuk sejumlah operasi aritmetik


atau logic terhadap data.

Control: Sebuah instruksi dapat menguabah urutan eksekusi


(misalnya, insruksi lompat IAS, Tabel 2.1). Misalnya, CPU dapat
membaca instruksi dari lokasi 149, yang menentukan bahwa instruksi
berikutnya dibaca dari lokasi 182. CPU akan mengingat hal ini dengan
menyetel program counter ke 182. Jadi, pada siklus fetch berikutnya,
instruksi akan dibaca dari lokasi 182, bukannya 150.

CPU terdiri dari akumulator (AC) untuk menyimpan data secara


sementara. Baik data dan instruksi panjangnya 16 bit. Format instruksi,
menandakan bahwa akan terdapat sejumlah 24 = 16 op code yang
berlainan dan sejumlah 212 = 4096 (4K) word memori yang dapat diamati
secara langsung.
Diperlukan tiga buah instruksi, yang dapat dijelaskan sebagai tiga
siklus fetch dan tiga eksekusi :
1. Program counter (PC) berisi 300 alamat instruksi pertama. Alamat ini
dimuatkan ke dalam instruction register (IR). Perlu dicatat bahwa
proses ini akan melibatkan penggunaan memory address register
(MAR) dan memory buffer register (MBR). Untuk mudahnya, registerregister intermediate-nya di abaikan.
2. 4 bit pertama di dalam IR mengindikasikan bahwa akumulator (AC)
akan dimuatkan. 12 bit sisanya menentukan alamat, yaitu 940.
3. PC dinaikkan nilainya, dan instruksi berikutnya akan diambil.
4. Isi AC yang lama dan isi lokasi 941 ditambahkan, dan hasilnya
disimpan di dalam AC.
5. PC dinaikkan nilainya, dan instruksi berikutnya akan diambil.
6. Isi PC akan disimpan pada lokasi 941.
Instruksi PDP-11 yang diungkapkan secara simbolik sebagai ADD B,
A menyimpan jumlah isi lokasi memori B dan A ke dalam lokasi memori
A. Terjadi suatu siklus instruksi tunggal dengan langkah-langkah sebagai
berikut.
1. Mengambil (fetch) instruksi ADD,
2. Membaca isi lokasi memori A ke dalam CPU.
3. Membaca isi lokasi memori B ke dalam CPU. Agar isi A tidak hilang, CPI
harus memiliki sedikitnya dua buah register untuk menyimpan nilainilai memori.
4. Menambahkan kedua nilai itu.
5. Menuliskan hasilnya dari CPU Kke lokasi memori A.
Jadi, siklus eksekusi untuk instruksi tertentu dapat melibatkan lebih
dari sebuah referensi ke memori, juga, disamping referensi memori,

suatu instruksi dapat menentukan suatu operasi I/O. Untuk sembarang


siklus instruksi yang diketahui, sebagian keadaan dapat null dan lainnya
dapat lebih dari sekali. Keadaan teersebut adalah :

Instruction Address Calculation (aic): Menenetukan alamat instruksi


berikutnya yang akan dieksekusi. Biasanya, hal ini melibatkan
penambahan bilangan tetap ke alamat instruksi sebelumnya.

Instruction Fetch (if): Membaca instruksi dari lokasi memorinya ke


dalam CPU.

Instruction Operation Decoding (oac): Bila operasi melibatkan


referensi ke operand didalam memori atau dapat diperoleh melalui
I/O, maka tentukan alamat operand.

Operand Fetch (of): Ambil operand dari memori dan baca operand itu
dari I/O.

Data Operation (do): Bentuk operasi yang ditunjukkan di dalam


instruksi.

Operand Store (os): Tuliskan hasilnya ke dalam memori atau keluarkan


ke I/O.

Untuk sebagian mesin, instruksi tunggal dapat menentukan operasi


yang akan di bentuk pada suatu vector (array dimensi satu) bilanganbilangan atau suatu string (array dimensi satu) karakter-karakter.
Interrupts
Interrupts disediakan terutama sebagai cara untuk meningkatkan
efisiensi pengolahan, karena sebagian besar perangkat eksternal jauh
lebih lambat dibandingkan prosesor. Dengan adanya interrupts, prosesor
dapat diperintahkan untuk mengeksekusi instruksi-instruksi lainnya pada
saat operasi-operasi I/O sedang dilaksanakan. Program I/O terdiri dari tiga
bagian :

Rangkaian instruksi disiapkan untuk operasi I/O, yang meliputi


penyalinan data yang akan di out-put ke dalam buffer khusus.

Perintah I/O.

Rangkaian instruksi, untuk menyelesaikan operasi yang meliputi


penyetelan suatu flag yang menandakan berhasil atau gagalnya
operasi.

Interrupts dan Siklus Instruksi

Interrupts adalah sebuah interupsi terhadap rangkaian eksekusi


normal. Jadi program pengguna tidak harus berisi kode khusus untuk
mengakomodasi interrupt. Pada siklus interrupt, prosesor memeriksa
apakah telah terjadi interrupt, yang diindikasikan oleh adanya signal
interrupt. Maka apabila interrupt ditangguhkan, prosesor melakukan halhal dibawah ini:
1. Prosesor menangguhkan eksekusi program yang sedang di eksekusi
dan menyimpan konteksnya.
2. Prosesor menyetel program counter ke alamat awal routine interrupt
handler (program untuk melayani perangkat I/O).
4. PIPELINE INSTRUKSI
Pipeline adalah suatu cara yang digunakan untuk melakukan
sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang
dialirkan secara kontinou pada unit pemrosesor. Dengan cara ini, maka
unit pemrosesan selalu bekerja.
Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam
system komputer. Bisa pada level yang tinggi, misalnya program aplikasi,
sampai pada tingkat yang rendah, seperti pada instruksi yang dijaankan
oleh microprocessor.
Pada microprocessor yang tidak menggunakan pipeline, satu
instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat
dilaksanakan. Sedangkan dalam microprocessor yang menggunakan
teknik pipeline, ketika satu instruksi sedangkan diproses, maka instruksi
yang berikutnya juga dapat diproses dalam waktu yang bersamaan.
Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap
proses yang berbeda. Jadi, ada sejumlah tahapan yang akan dilewati oleh
sebuah instruksi.
Teknik pipeline yang diterapkan pada microprocessor, dapat
dikatakan sebuah arsitektur khusus. Ada perbedaan khusus antara model
microprocessor yang tidak menggunakan arsitektur pipeline dengan
microprocessor
yang
menerapkan
teknik
ini.
Pada microprocessor yang tidak menggunakan pipeline, satu instruksi
dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan.
Sedangkan dalam microprocessoryang menggunakan teknik pipeline,
ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya
juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang
diproses secara bersamaan ini, ada dalam tahap proses yang berbeda.
Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah
instruksi.
Misalnya sebuah microprocessor menyelesaikan sebuah instruksi dalam 4

langkah. Ketika instruksi pertama masuk ke langkah 2, maka instruksi


berikutnya diambil untuk diproses pada langkah 1 instruksi tersebut.
Begitu seterusnya, ketika instruksi pertama masuk ke langkah 3, instruksi
kedua masuk ke langkah 2 dan instruksi ketiga masuk ke langkah 1.
Teknik pipeline ini menyebabkan ada sejumlah hal yang harus
diperhatikan sehingga ketika diterapkan dapat berjalan dengan baik. Tiga
kesulitan yang sering dihadapi ketika menggunakan teknik pipeline ini
adalah :
Terjadinya
penggunaan
resource
yang
bersamaan,
Ketergantungan terhadap data, Pengaturan Jump ke suatu lokasi
memori.
Karena beberapa instruksi diproses secara bersamaan ada
kemungkinan instruksi tersebut sama-sama memerlukan resource
yang sama, sehingga diperlukan adanya pengaturan yang tepat
agar
proses
tetap
berjalan
dengan
benar.
Sedangkan
ketergantungan terhadap data, bisa muncul, misalnya instruksi
yang berurutan memerlukan data dari instruksi yang sebelumnya.
Intruksi pipeline
Tahapan pipeline
1. Mengambil instruksi dan membuffferkannya
2. Ketika tahapn kedua bebas tahapan pertama mengirimkan instruksi
yang dibufferkan tersebut
3. Pada saat tahapan kedua sedang mengeksekusi instruksi ,tahapan
pertama memanfaatkan siklus memori yang tidak dipakai untuk
mengambil dan membuffferkan instruksi berikutnya .

Masalah-masalah pada Pipeline


Dengan adanya persyaratan bahwa setiap instuksi yang
berdekatan harus tidak saling bergantung, maka ada kemungkinan
terjadinya situasi dimana pipeline gagal dilaksanakan (instuksi berikutnya
tidak bisa dilaksanakan). Situasi ini disebut Hazards. Hazards mengurangi
performansi dari CPU dimana percepatan ideal tidak dapat dicapai.
Ada 3 kelompok Hazards :
1. Structural Hazards muncul dari konflik resource sistem yaitu ketika
hardware tidak dapat mensuport semua kemungkinan kombinasi
pelaksanaan instruksi.
2. Data Hazards muncul ketika data untuk suatu instruksi tergantung
pada hasil instruksi sebelumnya.
3. Control Hazards muncul pada pelaksanaan instruksi yang mengubah
PC (contoh : branch).

Adanya Hazards menyebabkan pipeline terhambat (stalled). Tidak ada


instruksi baru yang dijemput sampai hambatan itu selesai. Ini berarti
instruksi-instruksi selanjutnya akan ditunda pula penjemputannya.
Keuntungan dari Pipelining:
1. Waktu siklus prosesor berkurang, sehingga meningkatkan tingkat
instruksi-isu dalam kebanyakan kasus.
2. Beberapa combinational sirkuit seperti penambah atau pengganda
dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit.
Jika pipelining digunakan sebagai pengganti, hal itu
menghemat sirkuit vs combinational yang lebih kompleks sirkuit.

dapat

Kekurangan Pipelining:
1. Non-pipelined prosesor hanya menjalankan satu instruksi pada satu
waktu. Hal ini untuk mencegah penundaan cabang (yang berlaku,
setiap cabang tertunda) dan masalah dengan serial instruksi
dieksekusi secara bersamaan. Akibatnya desain lebih sederhana dan
lebih murah untuk diproduksi.
2. Instruksi latency di non-pipelined prosesor sedikit lebih rendah
daripada dalam pipelined setara. Hal ini disebabkan oleh fakta bahwa
sandal jepit ekstra harus ditambahkan ke jalur data dari prosesor
pipelined.
3. Non-pipelined prosesor akan memiliki instruksi yang stabil bandwidth.
Kinerja prosesor yang pipelined jauh lebih sulit untuk meramalkan dan
dapat bervariasi lebih luas di antara program yang berbeda.

Anda mungkin juga menyukai