Your SlideShare is downloading. ×
Pertemuan 8 unit pengolahan dasar
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Pertemuan 8 unit pengolahan dasar

1,181
views

Published on

Published in: Business, Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,181
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
36
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. UNIT PENGOLAHAN DASAR JUMIATI 092904035PRODI PENDIDIKAN INFORMATIKA DAN KOMPUTER JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011
  • 2. Unit ini sering dise-but Instruksi Set Prosesor (ISP), atau cukupprosesor. Kita menganalisa struktur internal-nya danbagaimana unit tersebut melakukan tugasfetching, decoding, dan mengeksekusi instruksi program.Unit pengolahan biasa disebut sebagai central processingunit (CPU). Istilah "central" kurang sesuai lagi untuk saat inikarena banyak sistem komputer modern menyertakanbeberapa unit pengolahan.Organisasi prosesor telah berkembang selama bertahun-tahun, dikarenakan oleh perkem-bangan teknologi dankebutuhan untuk menyediakan performa tinggi. Strategiumum dalam pengembangan prosesor performa-tinggiadalah dengan membuat sebanyak mungkin berbagaiunit fungsional beroperasi secara paralel. Prosesorperforma-tinggi memiliki organisasi pipe-lined dimanaeksekusi satu instruksi dimulai sebelum eksekusi instruksisebelumnya selesai. Pada pendekatan lain, yang dikenalsebagai operasi superscalar, beberapa instruksi diambil dandieksekusi pada saat yang sama.
  • 3. mengambil satu instruksi pada satu waktu danmelakukan operasi yang ditetapkan. Instruksidiambil dari lokasi memori yang berurutanhing-ga memasuki suatu instruksi branch ataujump. Prosesor mencatat alamat lokasi memoriyang berisi instruksi selanjutnya yang akandiambil menggunakan program counter, PC.Setelah pengambilan suatu instruksi, isi PC di-update agar menunjuk ke instruksi selanjutnyadalam rangkaian tersebut. Instruksi branch dapatme-load nilai yang berbeda ke dalam PC.Register utama lain di dalam prosesor adalahinstruction register, IR. Misalkan tiap in-struksiterdiri dari 4 byte, dan menyimpan satu wordmemori.
  • 4. 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] +43. 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).
  • 5. Eksekusi instruksi melibatkan rangkaianlangkah dimana data ditransfer dari saturegister ke lainnya. Untuk tiap register, duasinyal kontrol digunakan untuk meletakkanisi register tersebut pada bus atau untukme-load data pada bus ke register. Inputdan output register Ri dihubungkan ke busmelalui switch yang masing-mas-ingdikontrol oleh sinyal Ri,n dan Rio Pada saatRiin diset ke 1, data pada bus di-load kedalam Ri. Seperti pada saat Riou, diset ke1, isi register Ri diletakkan pada bus. Padasaat Rio,tsetara dengan 0, bus dapatdigunakan untuk mentransfer data dariregister lain
  • 6.  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.
  • 7. ALU adalah sirkuit gabungan yang tidak memilikipenyimpanan internal. Sirkuit tersebut melakukan operasiaritmatika dan logika pada dua operand yangditerapkan ke input A dan B-nya. Pada Gambar 7.1 dan7.2, salah satu operand adalah output dari multiplexerMUX dan operand lain diperoleh langsung dari bus. Hasilyang didapat dari ALU disimpan sementara dalamregister Z. Oleh karena itu, suatu rangkaian operasi untukmenambahkan isi register R1 ke register R2 danmenyimpan hasilnya dalam register R3 adalah :  Rlout,Y.n  R2out, SelectY, Add, Zin  Z_..,,R3,.
  • 8. Untuk mengambil word informasi dari memori, prosesor harusmenetapkan alamat lokasi memori tempat informasi ini disimpandan me-request operasi Read. Hal ini diterapkan baik informasiyang akan diambil tersebut menyatakan instruksi dalam programatau operand yang ditetapkan oleh suatu instruksi. Prosesormentransfer alamat yang diminta ke MAR, yang out-put-nyadihubungkan ke jalur alamat bus memori. Pada saat yangsama, prosesor menggunakan jalur kontrol bus memori untukmengindikasikan diperlukannya operasi Read. Pada saat datayang diminta diterima dari memori maka data tersebut disimpandalam register MDR, dan dari register tersebut data dapatditransfer ke register lain dalam prosesor.Selama operasi Read dan Write memori, timing operasi prosesorinternal harus dikoor-dinasikan terhadap respon perangkat yangdituju pada bus memori. Prosesor menyelesaikan satu transferdata internal dalam satu clock cycle. Sebaliknya, kecepatanoperasi perangkat yang dituju, bervariasi sesuai denganperangkat tersebut. Kita telah melihatnya pada Bab 5 bahwaprosesor modern menyertakan memori cache pada chip yangsama dengan prosesor. Biasanya, cache akan merespon requestbaca memori dalam satu clock cycle.
  • 9. Menuliskan word ke dalam lokasi memori menggunakanprosedur yang serupa. Alamat yang dituju di-load ke dalamMAR. Kemudian, data yang akan ditulis di-load ke dalamMDR, dan dikeluarkan perintah Write. Karenanya, eksekusiinstruksi Move R2,(R1) memerlukan rang-kaian berikut:  Rlou,, MAR1n  R2..,, MDRW Write  MDRautE , WMFCSebagaimana dalam kasus operasi baca, sinyal kontrolWrite menyebabkan hardware antar muka bus memorimenyatakan perintah Write pada bus memori. Prosesortetap berada pada langkah 3 hingga operasi memoridiselesaikan dan respon MFC diterima.
  • 10. Pada saat terjadi cache miss, request tersebutditeruskan ke memori utama, yang menimbulkanjeda beberapa clock cycle. Request baca atau tulisdapat juga digunakan untuk register dalamperangkat memory-mapped 1/O. I/O registertersebut tidak di-cache, sehingga aksesnya selalumemerlukan sejumlah clock cycle.Untuk mengakomodasi perbedaan wakturespon, prosesor menunggu hingga menerimaindikasi bahwa operasi Read yang di-request telahselesai. Kita akan mengasumsikan bahwa sinyalkontrol yang disebut Memory-Function-Completed(MFC) digunakan untuk tujuan ini. Perangkat yangdituju menset sinyal ini ke 1 untuk mengindikasikanbahwa isi lokasi yang ditentukan telah dibaca dantersedia pada jalur data bus memori.
  • 11.  MAR F- [R1] Mulai operasi Read pada bus memori Tunggu respon MFC dari memori Load MDR dari bus memori 5. R2 <- [MDR]
  • 12. Instruksi branch menggantikan isi PC dengan alamattarget branch. Alamat ini biasanya di-perolehdengan menambahkan offset X, yang terdapatdalam instruksi branch, terhadap nilai ter-updatepada PC. Gambar 7.7 menunjukkan rangkaiankontrol yang menerapkan instruksi unconditionalbranch. Pengolahan mulai seperti biasanya denganfase pengambilan. Fase ini berakhir bila instruksitersebut di-load ke dalam IR pada langkah 3. Nilaioffset diekstrak dari IR dengan sirkuit decodinginstruksi, yang juga akan melakukan sign extensionjika diminta. Karena nilai PC ter-update telahtersedia dalam register Y, offset X di-gate ke dalambus pada langkah 4, dan dilakukan suatu operasipenambahan. Hasilnya, yang merupakan alamattarget branch, di-load ke dalam PC pada langkah 5.
  • 13. 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.
  • 14. Sekarang perhatikanlah suatu conditionalbranch. Dalam kasus ini, kita perlu memeriksastatus kode kondisi (condition code) sebelumme-load nilai baru ke dalam PC.Misalnya, untuk instruksi Branch-on-negative(Branch < 0), langkah 4 pada Gambar 7.7digantikan dengan Offset-field-of-IRout, Add, Zin,If N =0 then End. Jadi, jika N =0maka prosesor kembali ke langkah 1 segerasetelah langkah 4. Jika N =1, maka langkah 5dilakukan untuk me-load nilai baru ke dalamPC, sehingga melakukan operasi branch.
  • 15. Dalam tekonologi VLSI, cara yang paling efisien untukmenerapkan sejum-lah register adalah dalam bentuk array selmemori yang serupa dengan yang digunakan dalamimplementasi random-access memory (RAM) yang dideskripsikanpada Bab 5. Register file memiliki tiga port. Terdapat duaoutput, yang memungkinkan isi dua register berbeda diaksessecara simultan dan menempatkan isinya pada bus A dan B. Portketiga me-mungkinkan data pada bus C di-load ke dalamregister ketiga pada clock cycle yang sama.Bus A dan B digunakan untuk mentransfer source operand keinput A dan B pada ALU, dimana operasi aritmatika atau logikadapat dilakukan. Hasilnya ditransfer ke destinasi melalui bus C.Jika diperlukan, maka ALU dapat melewatkan salah satu daridua operand input unmodi-fied-nya ke bus C. Kita akanmemanggil sinyal kontrol ALU untuk operasi seperti R =A atau R=B.
  • 16. Untuk mengeksekusi instruksi, prosesor haresmemiliki beberapa sarana untukmembangkitkan sinyal kontrol yangdiperlukan dalam rangkaian yang tepat.Desainer komputer menggunakan berbagaivariasi teknik untuk memecahkan persoalanini. Pendekatan tersebut biasanya terma-sukdalam salah satu dari dua kategori: kontrolhardwired (hardwired control) dan kontrolmi-croprogrammed (microprogrammedcontrol). Kita membahas tiap yeknik inisecara detil, mulai dengan kontrolhardwired dalam bagian ini.
  • 17.  Isi counter langkah kontrol (control step counter) Isi register instruksi Isi condition code flag Sinyal input eksternal, misalnya MFC dan interrupt request
  • 18. Hardware control dapat ditampilkansebagai suatu mesin state yang berubahdari satu state ke state lain dalam tiapclock cycle, ter-gantung pada isi registerinstruksi, kode kondisi, dan input eksternal.Mesin output state adalah sinyal kontrol.Rangkaian operasi yang dilakukan denganmesin ini ditentukan dengan wiring elemenlogika, karenanya bernama "hardwired."Kontroler yang menggunakan pendekatanini dapat beroperasi pada kecepatantinggi. Akan tetapi, kontroler tersebutmemiliki sedikit fleksibilitas, dan kompleksitasset instruksi yang dapatdiimplementasikannya terbatas.
  • 19. Suatu prosesor lengkap dapat didesain menggunakanstruktur yang ditunjukkan pada Gambar 7.14. Struktur inimemiliki unit instruksi yang mengambil instruksi dari cacheinstruksi atau dari memori utama pada saat instruksi yangdiinginkan belum berada dalam cache. Struktur inimemiliki unit pengolahan terpisah untuk menangani datainteger dan data floating-point. Tiap unit tersebut dapatdiatur sebagaimana ditunjukkan pada Gambar 7.8.Cache data disisipkan diantara unit tersebut dan memoriutama. Penggunaan cache terpisah untuk instruksi dandata merupakan praktek umum pada kebanyakanprosesor saat ini. Prosesor lain menggunakan cachetunggal yang menyimpan instruksi dan data. Prosesordihubungkan ke bus sistem dan, karenanya, ke bagianlain komputer, dengan menggunakan antar muka bus.Sekalipun kita menampilkan hanya satu unit integer dansatu floating-point pada Gambar 7.14, suatu prosesordapat menyertakan beberapa unit pada tiap tipe untukmeningkatkan po-tensial operasi konkuren.
  • 20. Sekarang kita akan membahas skema alternatif,yang disebut kontrrol microprogrammed, dimanasinyal kontrol dibangkitkan oleh suatu program yangserupa dengan program bahasa mesin.Pertama, kita memperkenalkan beberapa istilahumum. Suatu control word (CW) adalah word yangbit individunya menyatakan berbagai sinyal kontrol.Tiap langkah kontrol dalam rangkaian kontrol suatuinstruksi mendefinisikan kombinasi unik 1 dan 0 dalamCW CW yang berhubungan dengan 7 langkah padaGambar 7.6.Kita telah mengasumsikan bahwa SelectYdinyatakan dengan Select =0 dan Select de-nganSelect =1. Suatu rangkaian CW yang berhubungandengan rangkaian kontrol instruksi mesin membentukmikrorutin (microroutine) untuk instruksi tersebut, danword kontrol individu dalam mikrorutin ini diseutsebagai mikroinstruksi (microinstruction).
  • 21. Cara langsung untuk menyusun mikroin-struksi adalah denganmenetapkan satu posisi bit untuk tiap sinyal control. Akantetapi, skema ini memiliki satu kemunduran yang serius -menetapkan bit individu ke tiap sinyal kontrol menghasilkanmikroinstruksi yang panjang karena jumlah sinyal yang diperlukanbiasanya besar. Lebih lagi, hanya beberapa bit yang diset ke I(untuk digunakan sebagai active gating) pada tiapmikroinstruksi, yang berarti ruang bit yang ada di-gunakandengan kurang baik. Perhatikan lagi prosesor sederhana padaGambar 7.1, dan asum-sikan bahwa prosesor tersebut hanyaberisi empat general-purpose register, R0, R1, R2, dan R3.Beberapa koneksi dalam prosesor ini di- enable secarapermanen, seperti output IR ke sirkuit decoding dan kedua inputke ALU. Koneksi ke berbagai register lainnya seluruhnyamemerlu-kan 20 sinyal gating. Sinyal kontrol tambahan yangtidak ditunjukkan pada gambar tersebut jugadiperlukan, termasuk sinyal Read, Write, Select, WMFC, dan End.Akhirnya, kita harus menentukan fungsi yang akan dilakukan olehALU. Mari kita asumsikan bahwa disediakan 16 fungsi, termasukAdd, Subtract, AND, dan XOR. Fungsi tersebut tergantung padaALU ter-tentu yang digunakan dan tidak perlu memiliki hubungansatu-banding-satu dengan kode OP instruksi mesin. Secara
  • 22. Beberapa kemampuan branching dalam micronrogramdapat dituniukkan melalui mikroinstruksi branch khususyang menentukan alamat branch, serupa dengan carabranching yang dilakukan pada instruksi tingkat-mesin.Dengan pendekatan ini, penulisan mikroprogram cukupsederhana karena dapat menggu-nakan teknik softwarestandar. Akan tetapi, kelebihan ini dihadapkan dengandua kekurangan utama. Dengan mikrorutin terpisahuntuk tiap instruksi mesin mengakibatkan jumlah totalmi-kroinstruksi yang besar dan control store yang besarpula. Jika sebagian besar instruksi mesin melibatkanbeberapa mode pengalamatan, maka terdapatbanyak instruksi dan gabungan mode pengalamatan.Mikrorutin terpisah untuk tiap gabungan ini akanmenghasilkan duplikasi ba-gian-bagian umum.
  • 23. Gambar 7.20 menyertakan wide branchdalam mikroinstruksi pada lokasi 003. Decoderin-struksi (instruction decoder), yang padagambar tersebut disingkatInstDec, menghasilkan alamat awal mikrorutinyang menerapkan instruksi yang telah di-loadke dalam IR. Pada con-toh kita, register IR berisiinstruksi Add, yang diberi alamat mikroinstruksi101 oleh decoder instruksi. Akan tetapi, alamatini tidak dapat di-load ke dalam countermikroprogram. Source operand instruksi Adddapat ditentukan dalam beberapa modepengalamatan.
  • 24. Mikroprogram memerlukan beberapa branch mikroinstruksi.Mikroinstruksi tersebut tidak menjalankan operasi yangberguna dalam jalur data; mikroinstruksi tersebut hanyadiperlukan untuk menentukan alamat mikroinstruksi berikutnya.Jadi, mikroinstruksi tersebut mengurangi kecepatan operasikomputer. Situasi dapat menjadi lebih buruk pada saatmenggunakan mikrorutin lain. Peningkatan dalam branchmikroinstruksi muncul terutama dari keterbatasan kemampuanuntuk menetapkan alamat yang berurutan pada semuamikroinstruksi yang biasanya dieksekusi dalam rangkaian yangberurutan. Persoalan ini mendorong kita untuk mengevaluasiulang teknik sequencing yang dibentuk dari µPC yang dapatditingkatkan. Suatu alternatif yang kuat adalah denganmenyertakan field berikutnya yang akan diambil. Iniberarti, sebagai akibatnya, setiap mikroinstruksi menjadibranch mikroinstruksi, selain fungsi-fungsi lainnya. Fleksibilitaspendekatan ini merupakan hasil dari adanya bit tambahanuntuk field alamat. Kerumitan penalti ini dapat diperkirakansebagai berikut: Pada komputer biasa, dimungkinkan untukmendesain mikroprogram lengkap yang lebih kecil dari 4Kmikroinstruksi, mempergu-nakan mungkin 50 hingga 80 bit permikroinstruksi.
  • 25. Fungsi utama kontrol microprogrammedadalah menyediakan sarana untuk eksekusiinstruksi mesin yang relatif murah, fleksibel,dan sederhana. Akan tetapi, jugamenyediakan kemung-kinan lain yangmenarik. Fleksibilitasnya dalammenggunakan resource mesin memerlukanbermacam-macam kelas instruksi untukdiimplementasikan. Misalkan komputerdengan suatu set instruksi, makadimungkinkan untuk mendefinisikan instruksimesin tambahan danmengimplementasikannya denganmikrorutin tambahan.