konsep aturcara sistem dawai-kekal (hardwired) tidak fleksibel perkakasan gunaan am boleh melaku’n...
Post on 20-Dec-2015
234 views
TRANSCRIPT
Konsep Aturcara
• Sistem dawai-kekal (hardwired) tidak fleksibel
• Perkakasan gunaan am boleh melaku’n tugasan yg berbeza-beza & m’beri isyarat2 kawalan yg betul
• Instead of re-wiring, supply a new set of control signals
Apakah Aturcara?
• Turutan langkah2
• setiap langkah terdiri drpd operasi aritmetik atau logikal dilaksanakan
• setiap operasi memerlukan set isyarat2 kawalan yg berbeza.
Fungsi Unit Kawalan
• Utk setiap operasi, kod unik disediakan– E.G. Add, move
• Segmen perkakasan menerima kod tersebut dan isyarat2 kawalan dikeluarkan atau diterbitkan.
Komponen2
• Unit kawalan dan unit logik aritmerik merupakan sebahagian daripada komponen CPU.
• Data & arahan2 perlu dimasukkan ke dalam sistem dan seterusnya keputusan dikeluarkan.– Input/output
• Tempat simpan sementara untuk kod & jawapan diperlukan– Main memory
Komponen2 Komputer:Pandangan Aras Teratas (Top Level View)
Kitaran Arahan/Suruhan
• Dua langkah:– Ambil/Dapatkan (Fetch)– Laksana (Execute)
Kitaran Ambilan
• Pembilang aturcara (Program counter-PC) memegang alamat arahan yg berikutnya utk diambil
• Pemproses mengambil arahan drpd lokasi memori yg ditunjukkan oleh PC.
• Increment PC– kecuali jika diberitahu sebaliknya
• Arahan dimuatkan ke dalam daftar arahan (instruction register-IR)
• Pemproses mentafsirkan arahan tersebut dan melaksanakan tindakan yg diperlukan
Kitaran Perlaksanaan• Ant. Pemproses & ingatan
– Peralihan data di antara CPU & ingatan utama
• Pemproses I/O– Peralihan data di antara CPU & modul I/O
• Pemprosesan Data– Operasi aritmetik atau logikal dikenakan ke atas data
• kawalan (Control)– Pengubahan/pemindaan terhadap turutan operasi– E.G. Jump
• Combination of above
Contoh Perlaksanaan Program
Op Code Address
0 3 4 15
a) Instruction Format
S Address
0 1 15
b) Integer Format
Program Counter (PC)= Address of InstructionInstruction Register (IR) = Instruction Being ExecutedAccumulator (AC) = Temporary Storage
c) Internal CPU Registers
0001b = 1d = Load AC from Memory0010b = 2d = Store AC to Memory0101b = 5d = Add to AC from Memory
Contoh Perlaksanaan Program (samb)
11
Capaian CPU ke Memoriatau I/O
OperasiCPUDalaman
AmbilArahan
PengiraanAlamatArahan
Operasi Arahan
dinyahkodkan
AmbilOperan
PengiraanAlamatOperan
Operasi Data
OperandAddress
Calculation
SimpanOperan
String or VectorNext Instruction
Instruction Cycle State Diagram
Perlaksanaan Arahan
Set kitaran perlaksanaan arahan• Tentukan alamat arahan berikutnya• Ambil arahan tersebut drpd memori• Nyahkod arahan tersebut utk menentukan apa yg perlu
dilakukan• Hitung alamat2 operan yg diperlukan dan ambil operan
tersebut. • Lakukan operasi ke atas operan tersebut. • Simpan keputusan/jawapan yg didapati.• Semak sampukan samada ada atau tidak atau yg dlm
pemerhatian (belum selesai)
Sampukan (Interrupts)
• Mekanisma yg disediakan utk menghalang/membantutkan/menggagalkan pemprosessan normal.– Program: limpahan, bahagi dgn sifar dsgnya– Timer: dijanakan o timer dalam pemproses– Input/output: tugas selesai atau belum selesai– Perkakasan: tiada kuasa, memori error dsbg
Sampukan• Mekanisma drpd modul sistem yg lain yg boleh menyampuk
proses normal CPU.
• Peranti ini 1-10 kali lebih perlahan drpd CPU.
• CPU kena/terpaksa membazirkan bbrp kitaran proses utk menunggu peranti yang perlahan ini menyelesaikan tugasnya.
• Sampukan akan m’benar’n CPU melaksanakan turutan proses normalnya & berhenti seketika drpd servis peranti luaran jika isyarat sampukan sedia untuk perhatian CPU.
• Pemproses & O/S bertanggungjawap ke atas proses mengenalpasti sampukan, menggantung aturcara pengguna, melayan sampukan, & kemudian menyambung semula aturcara pengguan.
Program Flow Control
Sampukan
• Sampukan diproses dlm kitaran sampukan yg berada dlm kitaran arahan– Pd penghujung kitaran arahan (yakni pd simpan operan), semak
samada ada sampukan yg perlu diselesaikan.
– Jika tiada, teruskan arahan berikutnya
– Jika ada
• » Perlaksanaan aturcara digantung & statenya dingatkan
• » Lompat ke interrupt service routine (ISR) & sambung semula kitaran arahan “normal”.
• » Bila ISR selesai, masukan semula state aturcara & sambung semual operasinya
Transfer of Control via Interrupts
Kitar Arahan dengan Sampukan
Program Timing Short I/O Wait
Program Timing Long I/O Wait
InstructionFetch
Inst.....Address
Calculation
Inst.....OperationDecoding
OperandFetch
OperandAddress
Calculation
DataOperation
OperandAddress
Calculation
OperandStore
String or VectorNext Instruction
InterruptCheck
Interrupt
No Interrupt
State Diagram W/interrupts
Sampukan Berbilang• Kebanyakan sistem boleh menampung beberapa sampukan.• Bgmn sistem bertindak jika lebih drpd satu sampukan wujud dlm
satu masa?– » Gunakan sistem keutamaan (yakni memberikan darjah keutamaan
kpd sampukan berbilang).– » Pd permulaan kitaran sampukan, sampukan darjah keutamaan
tertinggi yg menanti dilayan dahulu.– » Sampukan yg selebihnya akan dilayan kemudian.
• Apa yg patut dilakukan sekiranya sampukan wujud ketika ISR sedang dilaksanakan (a result of a previous interrupt).– » Biarkan sampukan kedua sementara waktu (by disabling interrupts)
sehingga ISR selesai.– » Kenalpasti & layan sampukan tersebut jk hy jk ia mempunyai
darjah keutamaan lbh tingg drpd sampukan yg sedang dilaksanakan.
Multiple Interrupts - Sequential
Multiple Interrupts - Nested
Time Sequence of Multiple Interrupts
Penyambungan (Connecting)
• Semua unit-unit mesti bersambungan
• Unit yg berlainan jenis memerlukan penyampungan yg berlainan jenis– Memori– Input/output– CPU
Penyambungan Memori
Membabitkan
• Terima & hantar data
• Terima alamat lokasi
• Terima isyarat kawalan – Baca– Tulis– Pemasaan
Penyampungan Input/output (1)
• Sama seperti memori (from computer’s viewpoint)• Output
– Terima data drpd komputer– Hantar data ke peranti persisian (peripheral device)
• Input– Terima data drpd peranti persisian– Hantar data ke komputer
Penyambungan Input/output (2)
• Terima isyarat kawalan drpd komputer
• Hantar isyarat kawalan ke peranti persisian– E.G. Spin disk
• Terima alamat drpd komputer– E.G. Port number to identify peripheral
• Hantar isyarat sampukan (kawalan)
Penyambungan CPU
• Baca arahan & data
• Tulis data (slps pemprosesan)
• Hantar isyarat kawalan ke unit2 lain
• Terima sampukan (& laksana)