Title: Konsep Aturcara
1Konsep Aturcara
- Sistem dawai-kekal (hardwired) tidak fleksibel
- Perkakasan gunaan am boleh melakun tugasan yg
berbeza-beza mberi isyarat2 kawalan yg betul - Instead of re-wiring, supply a new set of control
signals
2Apakah Aturcara?
- Turutan langkah2
- setiap langkah terdiri drpd operasi aritmetik
atau logikal dilaksanakan - setiap operasi memerlukan set isyarat2 kawalan yg
berbeza.
3Fungsi Unit Kawalan
- Utk setiap operasi, kod unik disediakan
- E.G. Add, move
- Segmen perkakasan menerima kod tersebut dan
isyarat2 kawalan dikeluarkan atau diterbitkan.
4Komponen2
- 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
5Komponen2 KomputerPandangan Aras Teratas (Top
Level View)
6Kitaran Arahan/Suruhan
- Dua langkah
- Ambil/Dapatkan (Fetch)
- Laksana (Execute)
7Kitaran 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
8Kitaran 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
9Contoh 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
10Contoh Perlaksanaan Program (samb)
11Instruction 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
String or Vector
Next Instruction
11
12Perlaksanaan 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)
13Sampukan (Interrupts)
- Mekanisma yg disediakan utk menghalang/membantutka
n/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
14Sampukan
- 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 mbenarn 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.
15Program Flow Control
16Sampukan
- 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
17Transfer of Control via Interrupts
18Kitar Arahan dengan Sampukan
19Program Timing Short I/O Wait
20Program Timing Long I/O Wait
21State Diagram W/interrupts
InstructionFetch
OperandFetch
OperandStore
Inst.....AddressCalculation
Inst.....OperationDecoding
OperandAddressCalculation
OperandAddressCalculation
DataOperation
InterruptCheck
Interrupt
String or Vector
Next Instruction
No Interrupt
22Sampukan 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.
23Multiple Interrupts - Sequential
24Multiple Interrupts - Nested
25Time Sequence of Multiple Interrupts
26Penyambungan (Connecting)
- Semua unit-unit mesti bersambungan
- Unit yg berlainan jenis memerlukan penyampungan
yg berlainan jenis - Memori
- Input/output
- CPU
27Penyambungan Memori
- Membabitkan
- Terima hantar data
- Terima alamat lokasi
- Terima isyarat kawalan
- Baca
- Tulis
- Pemasaan
28Penyampungan Input/output (1)
- Sama seperti memori (from computers viewpoint)
- Output
- Terima data drpd komputer
- Hantar data ke peranti persisian (peripheral
device) - Input
- Terima data drpd peranti persisian
- Hantar data ke komputer
29Penyambungan 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)
30Penyambungan CPU
- Baca arahan data
- Tulis data (slps pemprosesan)
- Hantar isyarat kawalan ke unit2 lain
- Terima sampukan ( laksana)