1 / 48

Unit Pemprosesan Pusat (CPU) Konsep Asas Perlaksanaan Satu Arahan Lengkap

CMPD 114 : Chapter 5 (chapter 7 text book). Unit Pemprosesan Pusat (CPU) Konsep Asas Perlaksanaan Satu Arahan Lengkap Multiple Bus Organization Hardwired Control Microprogrammed Control. Konsep Asas. Unit yang bertanggungjawab melaksanakan arahan.

haru
Télécharger la présentation

Unit Pemprosesan Pusat (CPU) Konsep Asas Perlaksanaan Satu Arahan Lengkap

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CMPD 114 : Chapter 5 (chapter 7 text book) Unit Pemprosesan Pusat (CPU) • Konsep Asas • Perlaksanaan Satu Arahan Lengkap • Multiple Bus Organization • Hardwired Control • Microprogrammed Control

  2. Konsep Asas • Unit yang bertanggungjawab melaksanakan arahan. • Berkomunikasi dan mengawal operasi subsistem-subsistem yg lain seperti peranti I/O dan peranti storan. • Arahan untuk melaksanakan sesuatu program oleh komputer disimpan secara berjujukan di memori utama.

  3. CPU akan mencapai satu arahan pada satu masa dan laksanakan tugas yang telah ditentukan dalam arahan tersebut. • Arahan akan dicapai dan dilaksanakan satu demi satu secara berjujukan sehinggalah arahan branch atau jump dijumpai. • CPU akan dapat lokasi alamat bagi arahan yg akan dilaksanakan berikutnya daripada sejenis daftar iaitu PC (program counter). • Selepas arahan dicapai, kandungan PC akan mengandungi lokasi bagi arahan berikutnya.

  4. Perlaksanaan setiap arahan oleh CPU memerlukan 3 langkah iaitu: 1. Ambil kandungan pada lokasi memori yg ditunjukkan oleh PC. Kandungan ini akan diterjemahkan kepada arahan yg akan dilaksanakan. Ia akan dimasukkan ke dalam daftar arahan (IR). IR [[PC]] 2. Tambahkan 1 pada kandungan PC. PC [PC] + 1 3. Laksanakan arahan pada IR.

  5. Langkah 1 dan 2 terkandung pada Fasa Capai dan langkah 3 terkandung pada Fasa Laksana. • CPU berhubung dengan memori utama dan peranti I/O melalui talian komunikasi yg dipanggil bus luaran. • Rajah berikut menunjukkan bagaimana ALU dan daftar-daftar dihubungkan menggunakan 1 bus yg dikenali sebagai bus dalaman.

  6. Bus luaran yg menghubungkan CPU dengan memori utama mestilah melalui daftar alamat (MAR) dan daftar storan (MDR). • Bilangan dan fungsi daftar R0 hingga R(n-1) berbeza antara mesin. Ia mungkin berfungsi sebagai daftar general-purpose yg digunakan oleh programmer atau daftar special-purpose seperti index register. • Daftar Y,Z dan TEMP digunakan oleh CPU sebagai storan sementara sewaktu

  7. melaksanakan arahan-arahan. Daftar ini tidak digunakan untuk menyimpan data yg dihasilkan oleh suatu arahan dan ia akan digunakan oleh arahan lain selepasnya. • Daftar arahan (IR) dan instruction decoder adalah bahagian dalam litar kawalan pada CPU. • Daftar-daftar lain dan ALU digunakan untuk menyimpan dan manipulasi data. Daftar-daftar dan ALU ini dipanggil datapath.

  8. Operasi perlaksanaan arahan boleh dilakukan dengan melakukan aktiviti-aktiviti berikut termasuklah: 1. Mencapai kandungan pada lokasi memori yg diberi dan membawanya ke dalam daftar di CPU. 2. Menyimpan data dari daftar CPU ke lokasi memori tertentu. 3. Memindahkan data dari daftar ke daftar lain atau ke ALU. 4. Melakukan operasi arithmetik dan logik dan menyimpan hasil operasi di daftar CPU.

  9. Proses Mencapai Data dari Memori • Untuk mencapai data dari memori, CPU perlu menentukan alamat lokasi di mana data ini disimpan dan minta untuk lakukan operasi Read. • Langkah-langkah yg terlibat ialah: 1. CPU tentukan alamat pada okasi memori utama di mana data disimpan dan hantar alamat ini ke MAR. Alamat ini akan dibawa ke memori utama. 2. Pada masa yg sama CPU memberitahu memori utama bahawa operasi Read perlu dilakukan oleh memori utama.

  10. 3. CPU menunggu sehingga ia menerima jawapan dari memori yg akan memberitahu bahawa operasi Read telah selesai. Isyarat kawalan pada bus memori utama, Memory-Function Completed (MFC), digunakan di mana ia akan bernilai 1 (MFC=1) apabila kandungan lokasi telah dibaca dan kandungan berada dalam line data pada bus memori utama. 4. Apabila MFC=1, data pada line data dibawa ke MDR dan data ini telah bersedia untuk digunakan dalam CPU.

  11. Cth: Alamat lokasi data yg hendak dicapai berada di R1 dan data pada lokasi tersebut perlu dibawa ke R2. Arahan yg terlibat: 1. MAR [R1] 2. Read 3. Wait for the MFC signal 4. R2 [MDR] • Semasa langkah 3 dilakukan operasi-operasi lain yg tidak melibatkan penggunaan MAR dan MDR boleh dilakukan.

  12. Teknik penghantaran data boleh berlaku dalam 2 jenis mod iaitu: 1. Asynchronous - penghantaran data yg memerlukan peranti penghantar memulakan proses penghantaran (dengan mengeluarkan arahan Read) dan perlu menunggu sehingga peranti penerima membalas (melalui isyarat MFC) 2. Synchronous - salah satu line kawalan bus membawa denyutan daripada clock yg akan bergerak pada frekuensi yg sama. Denyutan ini memberikan isyarat masa kepada CPU dan memori utama. Satu operasi memori utama perlu dilakukan dalam satu kitaran clock.

  13. Proses Menyimpan Data ke Memori Utama • Langkah-langkah yg terlibat: 1. Alamat dibawa ke MAR 2. Data yg hendak disimpan dibawa ke MDR 3. Arahan operasi Write dikeluarkan oleh CPU. 4. Tunggu sehingga memori utama membalas. • Cth: data yg hendak disimpan berada di daftar R2 dan alamat berada di daftar R1. 1. MAR [R1] 2. MDR [R2], Write 3. Wait for MFC

  14. Semasa langkah 3 dilakukan operasi-operasi lain yg tidak melibatkan penggunaan MAR dan MDR akan dilakukan. Proses Penghantaran Antara Daftar • penghantaran data antara daftar-daftar memerlukan gate-gate input dan output. • Lihat rajah, gate input diwakili oleh Riin dan gate output diwakili oleh Riout.

  15. Bila Riin bernilai 1 (Riin=1), bermakna data yg berada dalam bus dibawa ke Ri. • Bila Riout bernilai 1 (Riout=1), bermakna kandungan Ri dibawa ke bus. • Semasa Rioutbernilai 0 (Riout=0), bus akan digunakan bagi penghantaran data dari daftar-daftar lain. • Cth: untuk hantar kandungan R1 ke R4:- 1. R1outdisetkan kepada 1. Kandungan R1 akan dibawa ke daftar R4. 2. R4in disetkan kepada 1. Data dari bus CPU dibawa ke R4.

  16. Operasi Arithmetik dan Logik • dilakukan oleh ALU iaitu satu gabungan litar-litar yg tidak mempunyai storan dalaman. • Operand-operand yg akan digunakan untuk operasi Arithmetik perlu berada dalam ALU secara serentak. • Daftar Y digunakan untuk menyimpan salah satu dari operand yg terlibat dalam operasi tersebut dan yg lain akan dibawa terus dari bus. • Hasil operasi akan disimpan sementara dalam daftar Z.

  17. Cth: operasi menambahkan kandungan daftar R1 dengan kandungan R2 dan hasilnya disimpan dalam daftar R3. 1. R1out, Yin 2. R2out, Add, Zin 3. Zout, R3in

  18. Perlaksanaan Satu Arahan Lengkap Add (R3), R1 - menambah kandungan pada lokasi memori kepada R1. Lokasi bagi operand dalam memori ialah pada kandungan R3 (indirect mode). • Langkah-langkah yg terlibat adalah: 1. Capai Arahan 2. Capai operand pertama iaitu kandungan lokasi memori utama yg ditunjukkan oleh R3.

  19. 3. Lakukan operasi tambah. 4. Letak hasil ke R1. • Jujukan langkah-langkah kawalan yang terlibat jika menggunakan single-bus architecture adalah seperti berikut: Step Action 1 PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin 2 Zout, PCin, WMFC 3 MDRout. IRin 4 R3out, MARin, Read 5 R1out, Yin, WMFC 6 MDRout, Add, Zin 7 Zout, R1in, End Figure 3.5: Control Sequence for execution of the instruction Add (R3), R1.

  20. Langkah 1 • operasi capai berlaku dengan membawa kandungan PC ke MAR dan menghantar permintaan Read ke memori utama. • Semasa menunggu jawapan dari memori utama, nilai PC bertambah 1. Ini dapat dilakukan dengan setkan input Y ke ALU = 0 dan input kedua ke dalam PC. • Line carry-in ALU disetkan kepada 1 dan operasi Add dilakukan. • Langkah 2 • Nilai PC yg baru diberi kepada PC. • Proses mengemaskinikan nilai PC boleh dilakukan walaupun WMFC masih belum tamat kerana ianya tidak melibatkan penggunaan MAR dan MDR.

  21. Langkah 3 • Apabila isyarat MFC diterima, satu perkataan data dibawa dari MDR ke IR. • Langkah 4 • Litar penyahkodan arahan akan mentafsirkan kandungan IR. • Kandungan R3 dibawa ke MAR dan permintaan Read dihantar ke memori utama. • Langkah 5 • Kandungan R1 dibawa ke Y dan akan menjadi input pertama kepada ALU. • Proses masih menunggu MFC.

  22. Langkah 6 • Apabila proses Read selesai, operand telah berada dalam MDR. • Operand tersebut dibawa keluar dari MDR dan akan menjadi input kedua ke ALU. • Operasi tambah dilakukan dan hasilnya dibawa ke Z. • Langkah 7 • Hasil tambah dibawa keluar dari Z ke daftar R1. • Langkah 1 -3 adalah fasa capai arahan. Langkah 4 - 7 adalah fasa laksana.

  23. Langkah-langkah kawalan bagi perlaksanaan arahan branching • Arahan branch memerlukan kandungan PC dikemaskini kepada alamat branch iaitu alamat di mana program tersebut perlu pergi. • Alamat cabang diperolehi dengan menambahkan offset X (yg diberikan dalam arahan cabang) kepada nilai semasa PC.

  24. Step Action 1 PCout, MARin, Read, Clear Y, Set carry-in to ALU, Add, Zin 2 Zout, PCin, WMFC 3 MDRout. IRin 4 PCout, Yin 5 Offset-field-of-IRout, Add, Zin 6 Zout, Pcin, End • Langkah 1 - Langkah 3 • mula dengan fasa capai arahan. • berakhir bila arahan di bawa ke IR dan akan diterjemahkan di langkah 4. Figure 3.6: Control Sequence for an unconditional branch instruction

  25. Langkah 4 • kandungan PC dibawa ke daftar Y. • Langkah 5 • Offset X dibawa ke dalam bus dan menjadi input kedua ALU. • Operasi tambah dilakukan dan hasil disimpan dalam Z. • Langkah 6 • hasil tambah nilai PC dengan offset tadi (nilai PC yg baru) iaitu alamat branch dibawa balik ke PC. • Offset adalah perbezan jarak antara alamat branch dengan alamat selepas alamat branch. Ini kerana nilai PC telah ditambahkan satu sebelum arahan branch diterjemahkan.

  26. Cth; jika alamat arahan branch ialah 1000 dan alamat branch adalah 1050, maka offset adalah 49. • Branch bersyarat: Langkah 4 digantikan dengan PCout, Yin If N=0 then End

  27. Multiple-Bus Organization • Prestasi sesebuah komputer bergantung kepada banyak faktor. • Tiga faktor utama ialah: 1. Tahap “Complexity” arahan. 2. Tempoh masa bagi satu kitaran-masa (clock-cycle) 3. Bilangan kitaran-masa yg diperlukan untuk melaksanakan satu arahan.

  28. Penggunaan teknologi VLSI (Very Large Scale Integration) bagi CPU yg hanya menggunakan satu cip, akan meningkatkan kelajuan clock daripada menggunakan banyak cip. • Struktur bus yg kompleks (multiple bus) juga akan menambahkan kelajuan sesebuah komputer. • Figure 7.8 menunjukkan struktur 3 bus yg digunakan untuk menghubungkan daftar dan ALU dalam CPU.

  29. Dalam struktur multiple-bus, semua daftar general-purpose (kegunaan umum) digabungkan sekali dalam satu blok yg dipanggil fail daftar. • Dalam teknologi VLSI, fail daftar ini dipersembahkan dalam bentuk tatasusunan yg terdiri dari sel-sel storan seperti dalam RAM • Fail daftar ini mempunyai 2 output yg membolehkan kandungan dari 2 daftar dibawa ke ALU secara serentak menggunakan bus A dan B.

  30. Penggunaan multiple-bus memerlukan bilangan langkah kawalan yg kurang daripada struktur satu-bus seperti yg telah dibincangkan. • Cth. Format suatu arahan 3-alamat ( 3-address instruction) adalah seperti berikut: OP S1, S2, D • operasi OP akan dilakukan ke atas kandungan 2 daftar sumber iaitu S1 dan S2 dan hasilnya akan disimpan dalam destinasi pada daftar D. • Bus A dan B akan digunakan untuk menghantar operand sumber dan bus C digunakan untuk menghantar hasil ke destinasi dari ALU.

  31. Dengan mengandaikan operasi yg dilakukan dapat diselesaikan dengan hanya melalui ALU sekali sahaja, maka struktur multiple-bus membolehkan fasa perlaksanaan arahan dilakukan dalam satu kitaran-masa sahaja berbanding dengan struktur satu-bus yg memerlukan 3 kitaran-masa. • Jika operasi pemindahan kandungan dari satu daftar ke daftar yg lain maka ia juga dilakukan melalui ALU tetapi pada masa itu tiada operasi arithmetik atau logik dilakukan.

  32. Penggunaan multiple-bus menyebabkan daftar Z dan Y tidak lagi diperlukan.

  33. Hardwired Control dan Microprogrammed Control • Terdapat 2 teknik untuk menjanakan isyarat kawalan iaitu 1. Hardwired Control 2. Microprogrammed Control

  34. Hardwired Control • rujuk jujukan isyarat kawalan pada Figure 7.6 - consider arahan Add (R3), R1. • 7 slot masa diperlukan untuk melaksanakan jujukan arahan yg diberi. • Setiap slot masa yg diberi bagi setiap arahan perlulah mencukupi agar setiap arahan selesai dilaksanakan. • Anggapkan bahawa setiap slot masa bagi setiap arahan adalah sama.

  35. Setiap langkah atau setiap slot masa akan dikira oleh clock yg akan mengeluarkan isyarat masa (CLK) seperti pada rajah berikut (Figure 7.11). • Isyarat kawalan masa yg diperlukan diterjemahkan oleh maklumat-maklumat berikut: 1. Kandungan Control Step Counter. 2. Kandungan IR 3. Kandungan Condition Code dan Status Flags.

  36. Penggunaan status flag mewakili isyarat-isyarat dari pelbagai bahagian di CPU dan pelbagai line kawalan yg bersambung dengan CPU. • Untuk melihat struktur dalam unit kawalan, kita lihat kepada hardware yg terlibat iaitu: 1. Blok Decoder dan Encoder (rujuk figure 7.11) • gabungan litar-litar yg menjanakan output kawalan yg dikehendaki bergantung kepada keadaan semua input-inputnya.

  37. Setiap langkah pada decoder menyediakan signal line yg berasingan untuk setiap slot masa pada jujukan kawalan. • Output bagi instruction decoder mengandungi line yg berasingan utk setiap arahan mesin. Setiap arahan yg diletakkan dalam IR, output line INS1 hingga INSm disetkan kepada 1 sementara line lain disetkan kepada 0. • Semua signal input ke blok encoder dalam rajah 7.11 perlu digabungkan untuk menjanakan satu signal kawalan Yin, PCout, Add, End dan lain-lain.

  38. ADD BR T6 T5 T1 . . . . Zin • Contoh struktur encoder ialah pada rajah 7.12 di bawah. Figure 7.12: Generation of the Zin control signal

  39. Litar ini melaksanakan fungsi logik Zin = T1 + T6.ADD + T5.BR + … • Isyarat kawalan Zin, membenarkan input ke Z, akan di’on’kan semasa slot masa T1 bagi semua arahan, T6 bagi arahan Add dan seterusnya. • Bagi isyarat kawalan End (rujuk rajah 7.13 di bawah), dijanakan dari fungsi logik berikut: End = T7 . Add + T6 . BR + (T6 . N + T4 . N) . BRN + …

  40. ADD BR N N T6 T7 T6 T4 T1 . . . . End Figure 7.13: Generation of the End control signal

  41. Rajah 7.11 menunjukkan bagaimana isyarat End boleh digunakan utk memulakan kitaran capaian arahan yg baru dengan reset Control Step Counter kepada nilai mula. 2. Clock • mengeluarkan CLK 3. Control Step Counter • mengira bilangan langkah yg dilakukan berdasarkan CLK yg dikeluarkan. 4. IR

  42. Microprogrammed Control • Melalui kaedah ini, isyarat-isyarat kawalan dijanakan oleh satu program yang menyerupai program bahasa mesin dan bukannya oleh control step counter dan litar pengekodan seperti dalam hardwired control. • Control Word (CW) ialah satu perkataan yang terdiri daripada bit-bit. Setiap bit dalam CW mewakili berbagai isyarat kawalan.

  43. Setiap langkah kawalan dalam jujukan kawalan arahan akan menakrifkan suatu kombinasi unik yang terdiri daripada bit 1 dan bit 0 yg dikenali sebagai CW. • Cthnya: CW untuk Figure 7.15 ditunjukkan pada Figure 7.6 • Suatu jujukan CW yang sepadan dengan jujukan kawalan satu arahan dipanggil micro-rutin (microroutine), manakala setiap CW dalam microroutine dipanggil micro-arahan (microinstruction).

  44. Starting address generator Clock PC IR Control store Figure 7.16: Basic organization of a microprogrammed control unit

  45. Control store adalah tempat untuk menyimpan micro-rutin dan ianya menyerupai suatu ingatan yang khas. • Unit kawalan kemudian akan membaca jujukan CW (micro-arahan) satu demi satu dari control store untuk mengeluarkan isyarat kawalan. • Suatu pembilang microprogram (PC) digunakan bagi membolehkan unit kawalan membaca CW secara berjujukan.

  46. Setiap kali arahan baru di bawa ke IR, penjana alamat permulaan (starting address generator) akan menghasilkan alamat permulaan micro-rutin. Alamat tersebut dibawa ke PC. Kemudian PC akan bertambah secara automatik. Kemudian satu micro-arahan akan dibaca dari control store. • Selepas itu, isyarat kawalan dihantar ke berbagai tempat dalam CPU dalam jujukan yang betul.

More Related