Anda di halaman 1dari 34

Materi:

 Organisasi Prossesor

 Organisasi Register 1

 Siklus Instruksi

Pipelining Instruksi

▹ Processor sering disebut sebagai otak
dan pusat pengendali computer yang
didukung oleh kompunen lainnya.
▹ Processor adalah sebuah IC yang
mengontrol keseluruhan jalannya
sebuah sistem komputer dan digunakan
sebagai pusat atau otak dari komputer
yang berfungsi untuk melakukan
perhitungan dan menjalankan tugas.
▹ Merk prosesor yang banyak beredar
dipasaran adalah AMD, Apple, Cyrix
VIA, IBM, IDT, dan Intel.

2
➢ Organisasi Processor tersusun atas
beberapa komponen, yaitu :

1. Arithmetic and Logic Unit (ALU),


bertugas 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 3
istilahnya, ALU terdiri dari dua bagian, yaitu unit
arithmetika dan unit logika boolean, yang
masing – masing memiliki spesifikasi tugas
tersendiri.

ORGANISASI PROSESSOR
2. Control Unit
bertugas mengontrol operasi CPU dan
secara keselurahan mengontrol computer
sehingga terjadi sinkronisasi kerja antar
komponen dalam menjalankan fungsi –
fungsi operasinya. Termasuk dalam
tanggung jawab unit kontrol adalah
mengambil instruksi – instruksi dari
4
memori utama dan menentukan jenis
instruksi tersebut.

ORGANISASI PROSESSOR
3.Registers
Registers, adalah 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.

4. CPU Interconnections,
5
adalah sistem koneksi dan bus yang
menghubungkan komponen internal CPU,
yaitu ALU, unit kontrol dan register –
register dan juga dengan bus – bus
eksternal CPU yang menghubungkan
dengan sistem lainnya, seperti memori
utama, piranti masukan/keluaran.

ORGANISASI PROSESSOR
6
Hal-Hal yang Perlu Dilakukan CPU

1. Fetch instruction / mengambil instruksi :


cpu harus membaca instruksi dari memori.
2. Interpret instruction / menerjemahkan instruksi :
instruksi harus didekode untuk menentukan aksi
apa yang diperlukan.
3. Fetch data / mengambil data :
eksekusi suatu instruksi mungkin memerlukan pembacaan data dari memori atau modul
i/o.
4. Process data / mengolah data :
eksekusi suatu instruksi mungkin memerlukan operasi aritmetika atau logika terhadap data.
5. Write data / menulis data :
hasil eksekusi mungkin memerlukan penulisan data ke memori atau modul i/o.

7
▹ Untuk melakukan tindakan seperti yang
di atas, prosesor kebutuhan beberapa
cara untuk menyimpan instruksi dan
data sementara. Sebuah representasi
sederhana dari sebuah prosesor dapat
ditampilkan sebagai berikut

8
 Jika Anda melihat lebih dekat pada organisasi internal prosesor, Anda akan melihat
bahwa sangat mirip dengan pembuatan komputer.

9
▹ “
Register prosesor adalah sejumlah kecil
memori komputer yang bekerja dengan
kecepatan sangat tinggi yang digunakan
untuk melakukan eksekusi terhadap
program-program komputer dengan
menyediakan akses yang cepat terhadap
nilai-nilai yang umum digunakan(nilai yang
sedang dieksekusi dalam waktu tertentu)

▹ Register prosesor berdiri pada tingkat


tertinggi dalam hierarki memori. Ini berarti
bahwa kecepatannya adalah yang paling
cepat. Kapasitasnya adalah paling kecil, dan
harga tiap bitnya adalah paling tinggi.

10
Organisasi register meliputi jenis-
jenis register di bawah ini:

General Segment
terdapat 8 buah register general- keenam register
purpose 32-bit. Register-register ini segmen 16-bit berisi
juga dapat menampung operand- pemilih segmen, yang
operand untuk keperluan kalkulasi diindex ke dalam tabel 11

alamat. segmen.

Flags
register flag berisi
kode kondisi
(persyaratan) dan
bermacam-macam bit
mode.
ORGANISASI REGISTER

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
User Visible register : register yang isinya dapat diketahui oleh pemrogram,
register ini juga dapat meminimalkan referensi ke main memory
Control and Status register : register yang digunakan olehCU, kontrol
operasiCPU dan oleh sistem operasi untuk kontrol eksekusi program.

12
USER VISIBLE REGISTER
• Register ini memungkinkan pemrogram bahasa mesin dan bahasa assembler meminimalkan
referensi main memori dengan cara mengoptimasi penggunaan register. Register ini adalah
register yang dapat direfensikan dengan menggunakan bahasa mesin yang dieksekusi CPU.

 Secara virtual semua rancangan CPU modern memiliki sejumlah user-visible register, yang
merupakan kebalikan akumulator tunggal. Kita dapat membedakannya dengan kategori-kategori
berikut ini :
1. Register General Purpose
2. Register Data
3. Register Alamat
4. Register Kode Kondisi

13
Organisasi register meliputi jenis-jenis
register di bawah ini:
Register Data

General-Purpose Register
Register Data hanya dapat
dipakai untuk menampung
dapat di-assign ke berbagai fungsi data dan tidak dapat
oleh pemrogram. General-Purpose digunakan untuk kalkulasi dan
register dapat berisi operand alamat operand.
sembarang opcode. Dapat 14

digunakan untuk fungsi-fungsi


pengalamatan (misal : register
indirect, displacement). Register alamat

menyerupai general-purpose
register, atau register-register
tersebut dapat digunakan
untuk mode pengalamatan
tertentu.
Control & Status Register

• Register yang digunakan oleh CU, kontrol operasi CPU dan oleh sistem operasi untuk control
eksekusi program. Ada berbagai register prosesor yang digunakan untuk mengendalikan operasi
prosesor. Sebagian besar tidak terlihat oleh pengguna tetapi beberapa dapat terlihat oleh
instruksi mesin, dieksekusi dalam kontrol atau mode sistem operasi .
• Register yang penting bagi eksekusi instruksi :
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

15
Control & Status Register

• Register juga digunakan sebagai cara yang paling cepat dalam sistem komputer untuk
melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat ditampung
olehnya. Seperti “register 8-bit”, register 32-bit”, register 64-bit” dan lain-lain.

• Istilah register saat ini dapat merujuk kepada kumpulan register yang dapat di indeks secara
langsung untuk melakukan input/output terhadap sebuah instruksi yang didefinisikan oleh set
instruksi untuk istilah ini, digunakanlah kata “Register Arsitektur”. Sebagai contoh set instruksi
Intel x86 mendifinisikan sekumpulan delapan buah register dengan ukuran 32-bit, tapi cpu yang
mengimplementasikanset instruksi x86 dapat mengandung lebih dari delapan register 32-bit.

16
Control & Status Register

• Banyak prosesor termasuk register atau kumpulan register yang dikenal sebagai kata status
program ( PSW ) yang berisi informasi status . Beberapa bidang umum termasuk

1. 1. Sign – tanda sedikit hasil dari operasi aritmatika terakhir


2. 2. Zero – Mengatur kapan hasilnya adalah 0
3. 3. Carry – Mengatur jika operasi menghasilkan carry masuk atau meminjam dari sedikit high-
order
4. 4. Equal – Mengatur jika hasil membandingkan logis adalah kesetaraan
5. 5. Overflow – Digunakan untuk menunjukkan aritmetik overflow
6. 6. Interrupt Enable/Disable – Digunakan untuk mengaktifkan / menonaktifkan interupsi
7. 7. Supervisor – menunjukkan apakah prosesor mengeksekusi di supervisor atau mode
pengguna

17

▹ Siklus Intruksi adalah siklus operasi
dasar dari sebuah komputer. Ini adalah
proses dimana komputer akan
mengambil Program instruksi dari
perusahaan memori , menentukan
tindakan apa instruksi membutuhkan,
dan melakukan tindakan tersebut.
Siklus ini diulang terus menerus oleh
unit pengolah pusat (CPU), dari boot
untuk saat komputer dimatikan.

18
SIKLUS INTRUKSI

 Machine cycle atau nama lainnya adalah processor cycle atau instruction cycle merupakan suatu
siklus instruksi dasar yang dikerjakan oleh CPU di dalam melakukan eksekusi suatu instruksi.
Rangkaian proses eksekusi instruksi ini dimulai dari proses fetching data dan instruksi yang ada
didalam memori hingga proses penulisan kembali hasil eksekusi instruksi tersebut ke dalam
memori.

19
 Sebelum suatu instruksi dieksekusi oleh
processor, terlebih dahulu sekumpulan
instruksi tersebut disimpan dalam memori.
Ketika akan dieksekusi, instruksi tersebut
akan diambil (fetch) ke dalam memori,
berdasarkan alamat instruksi yang disimpan
dalam PC (Program Counter) yang terdapat
dalam CPU. Setelah instruksi tersebut diload
dari memori, nilai PC akan di-increment
untuk menunjuk alamat berikutnya dari dari
instruksi yang akan dieksekusi. Tahapan
berikutnya setelah proses load (fetch)
dilakukan, instruksi tersebut akan di-decode,
dan kemudian dilakukan proses eksekusi.
Setelah itu , hasil dari eksekusi instruksi
tersebut akan dikembalikan
20
lagi ke dalam
SIKLUS
INTRUKSI

L
SIKLUS INTRUKSI

Secara garis besar siklus instruksi (machine cycle) dibagi ke dalam


beberapa tahapan yaitu:

• Proses Fetching: Merupakan proses dimana instruksi dan data akan di load dari
memori ke dalam cpu. Proses ini dimulai dari pengambilan alamat instruksi
yang terdapat di dalam pc (program counter). Alamat yang terdapat di dalam pc
ini merupakan alamat valid dari instruksi dan data yang disimpan ke dalam
memori utama, dan merupakan alamat instruksi yang akan dieksekusi.
Berdasarkan alamat instruksi yang terdapat di dalam pc, cpu akan mengambil
instruksi tersebut untuk ditempatkan ke dalam register (instruction register/ ir)
yang menyimpan instruksi yang akan dieksekusi.

22
SIKLUS INTRUKSI

Proses Decoding. Merupakan tahapan dimana


instruksi akan di terjemahkan (interpret) ke dalam
perintah-perintah bahasa mesin dasar (add, sb,
mba, sta, jmp, dll). Proses ini dilakukan oleh
instruction decoder.

23
SIKLUS INTRUKSI

• Proses Executing. Pada tahapan dimana instruksi akan dieksekusi di dalam CPU, yaitu oleh ALU
(Arithmetic Logic Unit). Proses eksekusi instruksi yang terdapat di dalam ALU dapat dilihat pada
Gambar dibawah ini
• Setelah tahapan diatas dikerjakan, maka hasil dari eksekusi tersebut akan dikembalikan ke dalam
memori untuk disimpan. Berdasarkan Gambar diatas dibawah ini, proses penyimpanan kembali
hasil eksekusi isntruksi terdiri dari beberapa tahapan yaitu:
1. Proses penempatan alamat memori yang digunakan untuk menyimpan hasil instruksi ke dalam
MAR
2. Proses penempatan data (hasil instruksi) kedalam MDR
3. Proses mengaktifkan memory write control signal pada control bus
4. Proses menunggu memori untuk melakukan write data pada alamat tertentu
5. Proses untuk menonaktifkan memory write control signal pada bus

24
Dalam menjalakan instruction cycle/machine cycle ada beberapa komponen yang berperan, yaitu:
Program counter (pc): Nama lainnya adalah instruction pointer, merupakan suatu pointer (penunjuk), bagi sejumlah
instruksi yang ditempatkan di dalam memori dan akan dieksekusi oleh cpu.
Memory address register (mar): Adalah salah satu register yang terdapat di dalam cpu yang fungsinya adalah untuk
menyimpan alamat memori dari data yang akan diambil (fetch) oleh cpu untuk dieksekusi.
Memory data register (mdr): Merupakan register yang terdapat dalam cpu yang fungsinya adalah menyimpan data
sementara yang akan dieksekusi oleh cpu.
Instruction register : instruction register (ir) ini terletak di dalam cpu. Ir ini bertanggung jawab untuk menyimpan
instruksi yang akan dieksekusi oleh cpu.
Control unit (cu): Control unit mengkoordinasi semua komponen-komponen yang ada di sistem computer, terutama
yang berkaitan dengan pengolahan data dan eksekusi instruksi .
Arithmetic logic unit (alu): Merupakan sirkuit digital yang terdapat di dalam cpu yang memiliki fungsi untuk melakukan
komputasi aritmatika dan logika.

25
Siklus Tak Langsung

Eksekusi sebuah instruksi melibatkan sebuah operand


atau lebih di dalam memori, yang masing-masing
operand memerlukan akses memori. Kemudian,
apabila digunakan pengalamatan tak langsung, maka 26

diperlukan akses memori tambahan.


FUNGSI INTERUPSI
▹ Fungsi interupsi adalah mekanisme penghentian atau
pengalihan pengolahan
▹ instruksi dalam CPU kepada routine interupsi. Hampir
semua modul (memori dan I/O) memiliki mekanisme yang 27
dapat menginterupsi kerja CPU.

▹ Tujuan interupsi secara umum untu menejemen


pengeksekusian routine instruksi agar efektif dan efisien
antar CPU dan modul – modul I/O maupun memori.

▹ Proses pipelining adalah proses dimana input
baru akan diterima pada sebuah sisi sebelum
input yang diterima sebelumnya keluar
sebagai output di sisi lainnya.

28
PIPELINING INSTRUKSI

Pipeline memiliki dua tahapan independen yaitu fetch dan execution.


1. Tahap pertama, mengambil instruksi dan mem-buffer- kannya. Ketika tahap kedua bebas, tahapan
pertama mengirimkan mengirimkan instruksi yang dibufferkan.
2. Pada saat tahap kedua sedang mengeksekusi instruksi, tahap pertama dapat mengambil dan
membufferkan instruksi berikutnya. Diharapkan terjadi penggandaan kecepatan eksekusi.

Tetapi akan ada kerugian sebagai berikut:


Umumnya waktu eksekusi lebih lama dibandingkan dengan waktu pengambilan instruksi.
Instruksi pencabangan bersyarat membuat alamat instruksi berikutnya yang akan diambil tidak
diketahui

29
PIPELINING INSTRUKSI

• Kerugian waktu yang diakibatkan tahapan kedua dapat dikurangi dengan cara menebak.
Aturan sederhananya adalah sebagai berikut : ketika instruksi pencabangan bersyarat
dikirimkan dari tahapan pengambilan ke tahapan eksekusi, tahapan pengambilan
mengambil instruksi berikutnya di dalam memori setelah terjadinya instruksi
pencabangan itu. Kemudian apabila pencabangan tidak dilakukan, maka tidak akan
terdapat waktu yang hilang. Apabila pencabangan dilakukan, instruksi yang diambil
harus dibuang dan instruksi yang baru harus diambil.

30
DEKOMPOSISI PIPELINING INSTRUKSI

• Fetch Instruction (FI) : membaca instruksi berikutnya ke dalam buffer


• Decode instruction (DI) : menentukan opcode dan ooperand specifier
• Calculate operand (CO) : menghitung alamat efektif seluruh operand sumber. Hal ini
mungkin melibatkan displacement, register indirect, atau bentuk kalkulasi alamat
lainnya
• Fetch operand (FO) : mengambil semua operand dari memori. Operand-operand yang
berada di register tidak perlu di ambil
• Execute instruktions (EI) : melakukan operasi yang di indikasikan dan menyimpan
hasilnya.
• Write operand (WO) : menyimpan hasilnya di dalam memori

31
Timing Diagram for Instruction Pipeline Operation

32
KELEBIHAN DAN KEKURANGAN PIPELINING INSTRUKSI

▹ KELEBIHAN
Waktu siklus prosesor berkurang,
sehingga meningkatkan tingkat intruksi-
isu dalam kebanyakan kasus.
beberapa combinational sirkuit seperti 33
penambahan atau pengganda dapat
dibuat lebih banyak sirkuit.
KEKURANGAN

▹ 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. 
▹ 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. 
34
▹ 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