300 likes | 534 Views
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
E N D
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
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 0 3 4 15 a) Instruction Format 0 1 15 b) Integer Format Program Counter (PC)= Address of Instruction Instruction Register (IR) = Instruction Being Executed Accumulator (AC) = Temporary Storage c) Internal CPU Registers 0001b = 1d = Load AC from Memory 0010b = 2d = Store AC to Memory 0101b = 5d = Add to AC from Memory
Instruction Cycle State Diagram Capaian CPU ke Memoriatau I/O AmbilArahan AmbilOperan Simpan Operan OperasiCPU Dalaman PengiraanAlamatArahan Operasi Arahan dinyahkodkan Pengiraan Alamat Operan OperandAddressCalculation Operasi Data Next Instruction String or Vector 11
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.
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
State Diagram W/interrupts InstructionFetch OperandFetch OperandStore Inst.....AddressCalculation Inst.....OperationDecoding OperandAddressCalculation OperandAddressCalculation DataOperation InterruptCheck Interrupt Next Instruction String or Vector No Interrupt
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.
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)