Jual Cytotec Di Sleman Ori 👙082122229359👙Pusat Peluntur Kandungan Konsultasi
Pertemuan 8 unit pengolahan dasar
1. UNIT PENGOLAHAN DASAR
JUMIATI 092904035
PRODI PENDIDIKAN INFORMATIKA DAN KOMPUTER
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI MAKASSAR
2011
2. Unit ini sering dise-but Instruksi Set Prosesor (ISP), atau cukup
prosesor. Kita menganalisa struktur internal-nya dan
bagaimana unit tersebut melakukan tugas
fetching, decoding, dan mengeksekusi instruksi program.
Unit pengolahan biasa disebut sebagai central processing
unit (CPU). Istilah "central" kurang sesuai lagi untuk saat ini
karena banyak sistem komputer modern menyertakan
beberapa unit pengolahan.
Organisasi prosesor telah berkembang selama bertahun-
tahun, dikarenakan oleh perkem-bangan teknologi dan
kebutuhan untuk menyediakan performa tinggi. Strategi
umum dalam pengembangan prosesor performa-tinggi
adalah dengan membuat sebanyak mungkin berbagai
unit fungsional beroperasi secara paralel. Prosesor
performa-tinggi memiliki organisasi pipe-lined dimana
eksekusi satu instruksi dimulai sebelum eksekusi instruksi
sebelumnya selesai. Pada pendekatan lain, yang dikenal
sebagai operasi superscalar, beberapa instruksi diambil dan
dieksekusi pada saat yang sama.
3.
4. mengambil satu instruksi pada satu waktu dan
melakukan operasi yang ditetapkan. Instruksi
diambil dari lokasi memori yang berurutan
hing-ga memasuki suatu instruksi branch atau
jump. Prosesor mencatat alamat lokasi memori
yang berisi instruksi selanjutnya yang akan
diambil menggunakan program counter, PC.
Setelah pengambilan suatu instruksi, isi PC di-
update agar menunjuk ke instruksi selanjutnya
dalam rangkaian tersebut. Instruksi branch dapat
me-load nilai yang berbeda ke dalam PC.
Register utama lain di dalam prosesor adalah
instruction register, IR. Misalkan tiap in-struksi
terdiri dari 4 byte, dan menyimpan satu word
memori.
5. 1. Mengambil isi lokasi memori yang ditunjuk oleh PC. Isi lokasi
ini diinterpretasikan sebagai instruksi yang akan dieksekusi.
Karenanya, instruksi tersebut di-load ke dalam IR. Secara
simbolis, langkah ini dapat ditulis sebagai berikut
IR +- [[PC]]
2. Asumsikan bahwa memori tersebut byte addressable,
naikkan isi PC sebesar 4, se-hingga,
PC - [PC] +4
3. Lakukan aksi yang ditentukan oleh instruksi dalam IR.
Apabila suatu instruksi memiliki lebih dari satu word, langkah
1 dan 2 harus diulang se-banyak yang diperlukan untuk
mengambil instruksi lengkap. Dua langkah ini biasanya
disebut sebagai fase pengambilan (fetch phase); langkah
3 terdiri dari fase eksekusi (execution phase).
6.
7. Eksekusi instruksi melibatkan rangkaian
langkah dimana data ditransfer dari satu
register ke lainnya. Untuk tiap register, dua
sinyal kontrol digunakan untuk meletakkan
isi register tersebut pada bus atau untuk
me-load data pada bus ke register. Input
dan output register Ri dihubungkan ke bus
melalui switch yang masing-mas-ing
dikontrol oleh sinyal Ri,n dan Rio Pada saat
Riin diset ke 1, data pada bus di-load ke
dalam Ri. Seperti pada saat Riou, diset ke
1, isi register Ri diletakkan pada bus. Pada
saat Rio,tsetara dengan 0, bus dapat
digunakan untuk mentransfer data dari
register lain
8. Enable output register R1 dengan men-
set R10 , ke 1. Tindakan ini
menempatkan isi R1 pada bus prosesor.
Enable input register R4 dengan men-set
R4.n ke 1. Tindakan ini me-load data dari
bus prosesor ke register R4.
9. ALU adalah sirkuit gabungan yang tidak memiliki
penyimpanan internal. Sirkuit tersebut melakukan operasi
aritmatika dan logika pada dua operand yang
diterapkan ke input A dan B-nya. Pada Gambar 7.1 dan
7.2, salah satu operand adalah output dari multiplexer
MUX dan operand lain diperoleh langsung dari bus. Hasil
yang didapat dari ALU disimpan sementara dalam
register Z. Oleh karena itu, suatu rangkaian operasi untuk
menambahkan isi register R1 ke register R2 dan
menyimpan hasilnya dalam register R3 adalah :
Rlout,Y.n
R2out, SelectY, Add, Zin
Z_..,,R3,.
10.
11. Untuk mengambil word informasi dari memori, prosesor harus
menetapkan alamat lokasi memori tempat informasi ini disimpan
dan me-request operasi Read. Hal ini diterapkan baik informasi
yang akan diambil tersebut menyatakan instruksi dalam program
atau operand yang ditetapkan oleh suatu instruksi. Prosesor
mentransfer alamat yang diminta ke MAR, yang out-put-nya
dihubungkan ke jalur alamat bus memori. Pada saat yang
sama, prosesor menggunakan jalur kontrol bus memori untuk
mengindikasikan diperlukannya operasi Read. Pada saat data
yang diminta diterima dari memori maka data tersebut disimpan
dalam register MDR, dan dari register tersebut data dapat
ditransfer ke register lain dalam prosesor.
Selama operasi Read dan Write memori, timing operasi prosesor
internal harus dikoor-dinasikan terhadap respon perangkat yang
dituju pada bus memori. Prosesor menyelesaikan satu transfer
data internal dalam satu clock cycle. Sebaliknya, kecepatan
operasi perangkat yang dituju, bervariasi sesuai dengan
perangkat tersebut. Kita telah melihatnya pada Bab 5 bahwa
prosesor modern menyertakan memori cache pada chip yang
sama dengan prosesor. Biasanya, cache akan merespon request
baca memori dalam satu clock cycle.
12. Menuliskan word ke dalam lokasi memori menggunakan
prosedur yang serupa. Alamat yang dituju di-load ke dalam
MAR. Kemudian, data yang akan ditulis di-load ke dalam
MDR, dan dikeluarkan perintah Write. Karenanya, eksekusi
instruksi Move R2,(R1) memerlukan rang-kaian berikut:
Rlou,, MAR1n
R2..,, MDRW Write
MDRautE , WMFC
Sebagaimana dalam kasus operasi baca, sinyal kontrol
Write menyebabkan hardware antar muka bus memori
menyatakan perintah Write pada bus memori. Prosesor
tetap berada pada langkah 3 hingga operasi memori
diselesaikan dan respon MFC diterima.
13. Pada saat terjadi cache miss, request tersebut
diteruskan ke memori utama, yang menimbulkan
jeda beberapa clock cycle. Request baca atau tulis
dapat juga digunakan untuk register dalam
perangkat memory-mapped 1/O. I/O register
tersebut tidak di-cache, sehingga aksesnya selalu
memerlukan sejumlah clock cycle.
Untuk mengakomodasi perbedaan waktu
respon, prosesor menunggu hingga menerima
indikasi bahwa operasi Read yang di-request telah
selesai. Kita akan mengasumsikan bahwa sinyal
kontrol yang disebut Memory-Function-Completed
(MFC) digunakan untuk tujuan ini. Perangkat yang
dituju menset sinyal ini ke 1 untuk mengindikasikan
bahwa isi lokasi yang ditentukan telah dibaca dan
tersedia pada jalur data bus memori.
14. MAR F- [R1]
Mulai operasi Read pada bus memori
Tunggu respon MFC dari memori
Load MDR dari bus memori 5. R2 <-
[MDR]
15.
16. Instruksi branch menggantikan isi PC dengan alamat
target branch. Alamat ini biasanya di-peroleh
dengan menambahkan offset X, yang terdapat
dalam instruksi branch, terhadap nilai ter-update
pada PC. Gambar 7.7 menunjukkan rangkaian
kontrol yang menerapkan instruksi unconditional
branch. Pengolahan mulai seperti biasanya dengan
fase pengambilan. Fase ini berakhir bila instruksi
tersebut di-load ke dalam IR pada langkah 3. Nilai
offset diekstrak dari IR dengan sirkuit decoding
instruksi, yang juga akan melakukan sign extension
jika diminta. Karena nilai PC ter-update telah
tersedia dalam register Y, offset X di-gate ke dalam
bus pada langkah 4, dan dilakukan suatu operasi
penambahan. Hasilnya, yang merupakan alamat
target branch, di-load ke dalam PC pada langkah 5.
17. Offset X yang digunakan dalam instruksi branch
biasanya merupakan perbedaan antara alamat
target branch dan alamat yang berada tepat
setelah instruksi branch. Misalnya, jika in-struksi
branch berada pada lokasi 2000 dan jika alamat
target branch adalah 2050, nilai X harus 46.
Alasan untuk hal ini dapat segera dipahami dari
rangkaian kontrol pada Gambar 7.7. PC
ditingkatkan selama fase pengambilan, sebelum
mengetahui tipe instruksi yang sedang diek-sekusi.
Jadi pada saat alamat branch dihitung pada
langkah 4, nilai PC yang digunakan adalah nilai
ter-update, yang menunjuk ke instruksi setelah
instruksi branch dalam memori.
18. Sekarang perhatikanlah suatu conditional
branch. Dalam kasus ini, kita perlu memeriksa
status kode kondisi (condition code) sebelum
me-load nilai baru ke dalam PC.
Misalnya, untuk instruksi Branch-on-negative
(Branch < 0), langkah 4 pada Gambar 7.7
digantikan dengan Offset-field-of-
IRout, Add, Zin,If N =0 then End. Jadi, jika N =0
maka prosesor kembali ke langkah 1 segera
setelah langkah 4. Jika N =1, maka langkah 5
dilakukan untuk me-load nilai baru ke dalam
PC, sehingga melakukan operasi branch.
19. Dalam tekonologi VLSI, cara yang paling efisien untuk
menerapkan sejum-lah register adalah dalam bentuk array sel
memori yang serupa dengan yang digunakan dalam
implementasi random-access memory (RAM) yang dideskripsikan
pada Bab 5. Register file memiliki tiga port. Terdapat dua
output, yang memungkinkan isi dua register berbeda diakses
secara simultan dan menempatkan isinya pada bus A dan B. Port
ketiga me-mungkinkan data pada bus C di-load ke dalam
register ketiga pada clock cycle yang sama.
Bus A dan B digunakan untuk mentransfer source operand ke
input A dan B pada ALU, dimana operasi aritmatika atau logika
dapat dilakukan. Hasilnya ditransfer ke destinasi melalui bus C.
Jika diperlukan, maka ALU dapat melewatkan salah satu dari
dua operand input unmodi-fied-nya ke bus C. Kita akan
memanggil sinyal kontrol ALU untuk operasi seperti R =A atau R
=B.
20.
21. Untuk mengeksekusi instruksi, prosesor hares
memiliki beberapa sarana untuk
membangkitkan sinyal kontrol yang
diperlukan dalam rangkaian yang tepat.
Desainer komputer menggunakan berbagai
variasi teknik untuk memecahkan persoalan
ini. Pendekatan tersebut biasanya terma-suk
dalam salah satu dari dua kategori: kontrol
hardwired (hardwired control) dan kontrol
mi-croprogrammed (microprogrammed
control). Kita membahas tiap yeknik ini
secara detil, mulai dengan kontrol
hardwired dalam bagian ini.
22. Isi counter langkah kontrol (control step
counter)
Isi register instruksi
Isi condition code flag
Sinyal input eksternal, misalnya MFC dan
interrupt request
23. Hardware control dapat ditampilkan
sebagai suatu mesin state yang berubah
dari satu state ke state lain dalam tiap
clock cycle, ter-gantung pada isi register
instruksi, kode kondisi, dan input eksternal.
Mesin output state adalah sinyal kontrol.
Rangkaian operasi yang dilakukan dengan
mesin ini ditentukan dengan wiring elemen
logika, karenanya bernama "hardwired."
Kontroler yang menggunakan pendekatan
ini dapat beroperasi pada kecepatan
tinggi. Akan tetapi, kontroler tersebut
memiliki sedikit fleksibilitas, dan kompleksitas
set instruksi yang dapat
diimplementasikannya terbatas.
24. Suatu prosesor lengkap dapat didesain menggunakan
struktur yang ditunjukkan pada Gambar 7.14. Struktur ini
memiliki unit instruksi yang mengambil instruksi dari cache
instruksi atau dari memori utama pada saat instruksi yang
diinginkan belum berada dalam cache. Struktur ini
memiliki unit pengolahan terpisah untuk menangani data
integer dan data floating-point. Tiap unit tersebut dapat
diatur sebagaimana ditunjukkan pada Gambar 7.8.
Cache data disisipkan diantara unit tersebut dan memori
utama. Penggunaan cache terpisah untuk instruksi dan
data merupakan praktek umum pada kebanyakan
prosesor saat ini. Prosesor lain menggunakan cache
tunggal yang menyimpan instruksi dan data. Prosesor
dihubungkan ke bus sistem dan, karenanya, ke bagian
lain komputer, dengan menggunakan antar muka bus.
Sekalipun kita menampilkan hanya satu unit integer dan
satu floating-point pada Gambar 7.14, suatu prosesor
dapat menyertakan beberapa unit pada tiap tipe untuk
meningkatkan po-tensial operasi konkuren.
25.
26. Sekarang kita akan membahas skema alternatif,
yang disebut kontrrol microprogrammed, dimana
sinyal kontrol dibangkitkan oleh suatu program yang
serupa dengan program bahasa mesin.
Pertama, kita memperkenalkan beberapa istilah
umum. Suatu control word (CW) adalah word yang
bit individunya menyatakan berbagai sinyal kontrol.
Tiap langkah kontrol dalam rangkaian kontrol suatu
instruksi mendefinisikan kombinasi unik 1 dan 0 dalam
CW CW yang berhubungan dengan 7 langkah pada
Gambar 7.6.
Kita telah mengasumsikan bahwa SelectY
dinyatakan dengan Select =0 dan Select de-ngan
Select =1. Suatu rangkaian CW yang berhubungan
dengan rangkaian kontrol instruksi mesin membentuk
mikrorutin (microroutine) untuk instruksi tersebut, dan
word kontrol individu dalam mikrorutin ini diseut
sebagai mikroinstruksi (microinstruction).
27. Cara langsung untuk menyusun mikroin-struksi adalah dengan
menetapkan satu posisi bit untuk tiap sinyal control. Akan
tetapi, skema ini memiliki satu kemunduran yang serius -
menetapkan bit individu ke tiap sinyal kontrol menghasilkan
mikroinstruksi yang panjang karena jumlah sinyal yang diperlukan
biasanya besar. Lebih lagi, hanya beberapa bit yang diset ke I
(untuk digunakan sebagai active gating) pada tiap
mikroinstruksi, yang berarti ruang bit yang ada di-gunakan
dengan kurang baik. Perhatikan lagi prosesor sederhana pada
Gambar 7.1, dan asum-sikan bahwa prosesor tersebut hanya
berisi empat general-purpose register, R0, R1, R2, dan R3.
Beberapa koneksi dalam prosesor ini di- enable secara
permanen, seperti output IR ke sirkuit decoding dan kedua input
ke ALU. Koneksi ke berbagai register lainnya seluruhnya
memerlu-kan 20 sinyal gating. Sinyal kontrol tambahan yang
tidak ditunjukkan pada gambar tersebut juga
diperlukan, termasuk sinyal Read, Write, Select, WMFC, dan End.
Akhirnya, kita harus menentukan fungsi yang akan dilakukan oleh
ALU. Mari kita asumsikan bahwa disediakan 16 fungsi, termasuk
Add, Subtract, AND, dan XOR. Fungsi tersebut tergantung pada
ALU ter-tentu yang digunakan dan tidak perlu memiliki hubungan
satu-banding-satu dengan kode OP instruksi mesin. Secara
28. Beberapa kemampuan branching dalam micronrogram
dapat dituniukkan melalui mikroinstruksi branch khusus
yang menentukan alamat branch, serupa dengan cara
branching yang dilakukan pada instruksi tingkat-mesin.
Dengan pendekatan ini, penulisan mikroprogram cukup
sederhana karena dapat menggu-nakan teknik software
standar. Akan tetapi, kelebihan ini dihadapkan dengan
dua kekurangan utama. Dengan mikrorutin terpisah
untuk tiap instruksi mesin mengakibatkan jumlah total
mi-kroinstruksi yang besar dan control store yang besar
pula. Jika sebagian besar instruksi mesin melibatkan
beberapa mode pengalamatan, maka terdapat
banyak instruksi dan gabungan mode pengalamatan.
Mikrorutin terpisah untuk tiap gabungan ini akan
menghasilkan duplikasi ba-gian-bagian umum.
29. Gambar 7.20 menyertakan wide branch
dalam mikroinstruksi pada lokasi 003. Decoder
in-struksi (instruction decoder), yang pada
gambar tersebut disingkat
InstDec, menghasilkan alamat awal mikrorutin
yang menerapkan instruksi yang telah di-load
ke dalam IR. Pada con-toh kita, register IR berisi
instruksi Add, yang diberi alamat mikroinstruksi
101 oleh decoder instruksi. Akan tetapi, alamat
ini tidak dapat di-load ke dalam counter
mikroprogram. Source operand instruksi Add
dapat ditentukan dalam beberapa mode
pengalamatan.
30.
31.
32. Mikroprogram memerlukan beberapa branch mikroinstruksi.
Mikroinstruksi tersebut tidak menjalankan operasi yang
berguna dalam jalur data; mikroinstruksi tersebut hanya
diperlukan untuk menentukan alamat mikroinstruksi berikutnya.
Jadi, mikroinstruksi tersebut mengurangi kecepatan operasi
komputer. Situasi dapat menjadi lebih buruk pada saat
menggunakan mikrorutin lain. Peningkatan dalam branch
mikroinstruksi muncul terutama dari keterbatasan kemampuan
untuk menetapkan alamat yang berurutan pada semua
mikroinstruksi yang biasanya dieksekusi dalam rangkaian yang
berurutan. Persoalan ini mendorong kita untuk mengevaluasi
ulang teknik sequencing yang dibentuk dari µPC yang dapat
ditingkatkan. Suatu alternatif yang kuat adalah dengan
menyertakan field berikutnya yang akan diambil. Ini
berarti, sebagai akibatnya, setiap mikroinstruksi menjadi
branch mikroinstruksi, selain fungsi-fungsi lainnya. Fleksibilitas
pendekatan ini merupakan hasil dari adanya bit tambahan
untuk field alamat. Kerumitan penalti ini dapat diperkirakan
sebagai berikut: Pada komputer biasa, dimungkinkan untuk
mendesain mikroprogram lengkap yang lebih kecil dari 4K
mikroinstruksi, mempergu-nakan mungkin 50 hingga 80 bit per
mikroinstruksi.
33. Fungsi utama kontrol microprogrammed
adalah menyediakan sarana untuk eksekusi
instruksi mesin yang relatif murah, fleksibel,
dan sederhana. Akan tetapi, juga
menyediakan kemung-kinan lain yang
menarik. Fleksibilitasnya dalam
menggunakan resource mesin memerlukan
bermacam-macam kelas instruksi untuk
diimplementasikan. Misalkan komputer
dengan suatu set instruksi, maka
dimungkinkan untuk mendefinisikan instruksi
mesin tambahan dan
mengimplementasikannya dengan
mikrorutin tambahan.