250 likes | 478 Views
Isyarat2 Kawalan (Input). Jam (Clock) Satu arahan-mikro (atau satu set arahan-mikro selari) untuk satu kitaran jam Daftar arahan (Instruction register) Ada kod-ops utk arahan semasa Menentukan arahan-mikro yg perlu dilaksanakan. Isyarat2 Kawalan (Input). Bendera2 (Flags)
E N D
Isyarat2 Kawalan (Input) • Jam (Clock) • Satu arahan-mikro (atau satu set arahan-mikro selari) untuk satu kitaran jam • Daftar arahan (Instruction register) • Ada kod-ops utk arahan semasa • Menentukan arahan-mikro yg perlu dilaksanakan
Isyarat2 Kawalan (Input) • Bendera2 (Flags) • Menunjukkan situasi CPU • Keputusan operasi2 terdahulu • Drpd pengawal bas • Sampukan2 (Interrupts) • Pengakuan2 (Acknowledgements)
Isyarat2 Kawalan - Output • Dalam CPU • menyebabkan pergerakan data • Mengaktifkan fungsi2 tertentu (specific functions) • Melalui pengawal bas • ke memori • ke modul2 I/O
Ambil (Fetch) - 4 Pendaftar • Memory address register (MAR) • Sambung ke alamat bas • mengandungi alamat lokasi simpanan yg dicapai • Memory buffer register (MBR) • Sambung ke data bas • mengandungi data yg dibaca drpd memori atau data yg akan ditulis ke memori • Program counter (PC) • mengandungi alamat arahan berikut yg perlu diambil • Instruction register (IR) • mengandungi arahan terakhir yg diambil utk semakan
Turutan Ambilan • Alamat arahan berikutnya di dlm PC • Alamat (MAR) ditempatkan pd alamat bas • Unit kawalam mengisu perintah READ • Keputusan (yakni data drpd memori) berada di data bas • Data drpd data bas disalin ke dlm MBR • PC incremented by 1 (serentak dgn operasi data di ambil drpd memori) • Data (atau arahan) bergerak drpd MBR ke IR • Pada masa ini MBR kosong utk pengambilan data selanjutnya
Fetch Sequence (Symbolic) • T1: MAR <- (PC) • T2: MBR <- (memory) • PC <- (PC) +1 • T3: IR <- (MBR) • (Tx = time unit/clock cycle) • Or • T1: MAR <- (PC) • T2: MBR <- (memory) • T3: PC <- (PC) +1 • IR <- (MBR)
Rules for Clock Cycle Grouping • Turutan sewajarnya mestiu diikuti • MAR <- (PC) mesti didahului MBR <- (memory) • Konflik mesti dihindarkan • Jangan baca & tulis pd pendaftar yg sama pd masa yg sama • MBR <- (memory) & IR <- (MBR) mesti tidak berada dlm kitaran yg sama • Also: PC <- (PC) +1 involves addition • guna ALU • berkemungkinan memerlukan penambahan operasi2 mikro
Kitaran tak-terus (Indirect) • MAR <- (IRaddress) - medan alamat IR • MBR <- (memory) • IRaddress <- (MBRaddress) • MBR mengandungi alamat • Sekarang IR berada pd situasi yg sama sekiranya jika pengalamat terus digunakan • (What does this say about IR size?)
Kitaran Pelaksanaan (ADD) • Berlainan utk setiap arahan • e.g. ADD R1,X - add the contents of location X to Register 1 , result in R1 • t1: MAR <- (IRaddress) • t2: MBR <- (memory) • t3: R1 <- R1 + (MBR) • Note no overlap of micro-operations
Example Control Signal Sequence - Fetch • Mar <- (pc) • Unit kawalan mengaktifkan isyarat utk membuka get2 di antara PC & MAR • MBR <- (memory) • Buka get2 antara MAR & alamat bas • Memori membaca isyarat kawalan • Buka get2 antara data bas & MBR
Example Control Signal Sequence - Fetch • Mar <- (pc) • Unit kawalan mengaktifkan isyarat utk membuka get2 di antara PC & MAR • MBR <- (memory) • Buka get2 antara MAR & alamat bas • Memori membaca isyarat kawalan • Buka get2 antara data bas & MBR
The Instruction Cycle • Instruction Cycle Code (ICC) • 2-bit register • 00: Fetch • 01: Indirect • 10: Execute • 11: Interrupt See Page 583 (Fig 16.3)
Organisasi Dalaman • Selalunya bas dalaman tunggal • Get2 mengawal pergerakan data ke dalam dan ke luar bas • Isyarat2 kawalan mengawal peralihan data ke dan drpd sistem2 bas luaran • Pendaftar sementara diperlukan utk operasi ALU yg sewajarnya.
Micro-programmed Control Unit • Control word (CW) adl perkataan yg mana bit individunya mewakili pelbagai isyarat2 kawalan • Turutan CWs bersepadanan kpd turutan kawalan arahan mesin yg terdiri drpd rutin-mikro utk arahan tersebut. • Setiap individu CW dlm rutin-mikro ini selalunya ada rujukan arahan-mikro. • Rutin-mikro bersepadan kepada set arahan komputer yg disimpan dlm memori khas yg dinamakan memori aturcara-mikro.
Implementation (1) • Semua unit kawalan menjanakan satu set isyarat2 kawalan. • Setiap isyarat kawalan adalah on atau off • Setiap isyarat kawalan diwakili oleh bit • Ada CW utk setiap operasi-mikro • Ada turutan CW utk setiap arahan kod mesin • Masukkan alamat utk menentukan arahan-mikro yg berikutnya, bergantung kpd syarat2 yg dikenakan.
Implementation (2) • Utk pemproses-mikto yg besar pd ketika ini • Byk arahan dan bersekutu dengan register-level hardware • Byk control point yg perlu dimanipulasikan • This results in control memory that • Contains a large number of words • Co-responding to the number of instructions to be executed • Has a wide word width • Due to the large number of control points to be manipulated
Micro-program Word Length • Bersandarkan kpd 3 faktor • Bil. maksima operasi-mikro yg dibolehkan secara serentak • Bgmn informasi kawalan diwakili dan dikodkan. • Bgmn alamat arahan-mikro yg berikutnya ditentukan.
Micro-instruction Types • Setiap arahan-mikro menentukan satu atau bbrp operasi-mikro yg akan dilaksanakan. • (Vertical micro-programming) ….?? • Setiap arahan-mikro menentukan bbrp operasi-mikro yg berlainan dilakukan serentak. • (Horizontal micro-programming) ….??
Micro-programmed Control Memory . Jump to Indirect or Execute Rutin kitaran ambilan . Jump to Execute Rutin kitaran tak-terus . Jump to Fetch Rutin kitaran sampukan Jump to Op code routine Mulakan kitaran perlaksanaan . Jump to Fetch or Interrupt Rutin AND . Jump to Fetch or Interrupt Rutin ADD
Micro-programmed Control Unit Instruction Register Decoder ALU Flags Clock Sequencing Logic Control Address Reg. Microprogram Memory Read Control Buffer Reg. Next Address Control Decoder Control Signals
Micro-programmed Control Unit • Control address register (CAR) digunakan utk membaca turutan CW drpd memori aturcara-mikro. • Setiap kali arahan baru dimuatkan ke dlm IR, keluaran drpd blok “sequencing logic” dimuatkan ke dlm CAR • Seterusnya secara autoamtik CAR dinaikkan oleh jam, menyebabkan arahan-mikro dibaca drpd memori.
Micro-programmed Control Unit • Aturcara-mikro mendefinasikan set arahan komputer; kerana ia boleh/mudah mengubah set arahan dengan hanya menukar kandungan dlm memori aturcara-mikro (flexibility) • Perlaksanaan arahan membabitkan ambilan drpd memori aturcara-mikro. Oleh itu, kelajuan memori ini merupakan peranan utama dlm menentukan kelajuan komputer. • Dlm kes di mana keseluruhan CPU difabrikasikan dlm satu cip, sebahagian drpdnya ialah micro-program ROM.
Advantages and Disadvantages • Simplifies design of control unit • Cheaper • Less error-prone • Slower
Reading Material • William Stallings “computer organization and architecture” 6th ed • Chapter 16, control unit operation • Chapter 17, micro-programmed control