Anda di halaman 1dari 9

Level-Sensitive Interrupt Sharing

Tujuan utama sharing interupsi level-sensitive adalah untuk:


• Sederhanakan desain adaptor berbagi logika
• Kurangi sensitivitas sementara dari interrupt controller
• Menyediakan kompatibilitas dengan perangkat lunak yang ada
• Izinkan untuk campuran perangkat keras berbagi dan perangkat tambahan yang
tidak beres pada tingkat interupsi yang sama.
Semua adaptor yang dirancang untuk Micro Channel menggunakan
mekanisme antarmuka tingkat sensitif dan aktif. Pengemudi open-collector (atau
Driver tri-state terjaga rendah aktif) diperlukan oleh masing-masing adaptor untuk
mengemudi baris permintaan interupsi untuk level yang ditetapkan untuk fungsi
adaptor.
Adaptor harus menahan interupsi level-sensitive yang aktif sampai disetel
ulang sebagai akibat langsung dari servis interrupt (reset). Rutinitas layanan tidak
boleh mencoba mengakhiri urutan Interrupt (EOI) sampai perangkat ini telah
mereset jalur interupsi perangkat yang sedang diservis. Semua adaptor juga harus
menyediakan latch tertunda yang mudah dibaca yang dapat dibaca pada posisi bit
alamat 1/0 dan diatur ulang dengan servis normal pada perangkat.

Gambar. Tipe Implementasi Interrupt Sharing Adapter

Kesesuaian (Compatibility)
Untuk menjaga kompatibilitas perangkat lunak, mekanisme pemungutan
suara yang digunakan oleh produk IBM Personal Computer dipertahankan.
Perangkat lunak yang terhubung ke port reset untuk IBM Personal Computer tipe
positif dari interrupt sharing1 tidak menciptakan interterence
Level-sensitive interrupt hardware memungkinkan beberapa perangkat
untuk mengatur garis interupsi yang umum aktif (rendah) secara bersamaan tanpa
interterence.
Kode aplikasi yang ada berhubungan langsung dengan interrupt pengendali
mungkin mencoba untuk me-reset controller ke mode sensitif-tepi positif saat
keluar dari kontrol. Sirkuit kontrol interupsi dari board sistem mencegah
pengaturan pengontrol ke mode tepi-sensitif dengan menghalangi perintah tepi
sensitif yang positif ke pengendali interupsi.

Urutan Operasi
Interupsi tingkat-sensitif saling terkait antara perangkat keras dan perangkat
lunak yang mendukung layanan interupsi. Interupsi yang hilang atau palsu lebih
mudah diisolasi. Gambar berikut menunjukkan urutan berbagi interupsi dan
interaksi perangkat keras dan perangkat lunak.
1 Hex address02FX atau 06FX, di mana X adalah tingkat interupsi.
Hardware Operation Software Operation

1. Kondisi interrupt menyetel


hardware interrupt line X ke level
aktif (rendah) dengan driver
kolektor terbuka, dan menetapkan
sebuah latch yang tertunda yang
dapat dibaca dengan kode.
2. Pengendali interupsi
menghadirkan interupsi ke
mikroprosesor sistem.
3. Sistem mikroprosesor mulai
mengeksekusi kode pada awal
rantai interupsi yang sesuai
penangan
4. Kode penangan interupsi
membaca kait interupsi yang
tertunda dari kartu pertama dalam
rantai. Jika kait tidak tertunda,
kartu berikutnya dalam rantai
diuji. Saat kartu laporan
terdeteksi, pawang menjalankan
rutin layanan yang sesuai.
5. Layanan interupsi rutin
mengoperasikan perangkat keras.
6. Perangkat keras adaptor me-reset
interrupt pending latch dan
hardware interrupt line sebagai
konsekuensi dari tindakan rutin
layanan interrupt.
7. Layanan interrupt rutin
menyelesaikan kode eksekusi
yang mengatur ulang interrupt
controller sebagai tindakan
terakhirnya (End of Interrupt).
8. Pengontrol interupsi mereset.
9. Ini adalah interupsi yang tertunda
(IRQ yang aktif oleh perangkat
lain), pengendali interrupt akan
segera disetel dan urutannya
dimulai lagi.

Gambar Interrupt Sharing Sequence

Titik Kontrol Arbitrasi Pusat


Central Arbitration Control Point memberikan subsistem cerdas pada
saluran kemampuan untuk berbagi dan mengendalikan sistem. Hal ini
memungkinkan
burst transfer data dan prioritas kontrol antar perangkat. Arbiter ini mendukung
hingga 16 perangkat arbitrasi, seperti budak OMA. master bus dan mikroprosesor
sistem.
Arbiter pusat menggunakan tujuh sinyal untuk mengkoordinasikan arbitrase
untuk semua perangkat dari satu titik arbitrasi tunggal pada board sistem. Sinyal
ini -PREEMPT, ARB / -GNT, -BURST, dan ARBO melalui AAB3.
Arbiter lokal meminta penggunaan saluran sistem, drive -PREEMPT aktif.
Arbiter pusat memulai sebuah siklus arbitrase segera setelah perangkat ini
meluncurkan saluran tersebut. Penengah pusat menunjukkan siklus arbitrasi
dengan mengarahkan ARB / -GNT ke arbitrase negara. Para arbiter lokal yang
meminta kemudian mengarahkan tingkat arbitrasi 4 bit mereka ke bus arbitrase.
Setiap petugas arbiter melihat bit yang lebih signifikan pada bus arbitrase daripada
yang digerakkan rendah oleh petugas arbiter tersebut, berhenti mengemudikan bit
pesanan yang lebih rendah ke bus arbitrase. Perangkat yang menggerakkan tingkat
arbitrase terendah sehingga berhasil mengendalikan saluran sistem saat ARB /
-GNT beralih ke status hibah.
Perangkat yang ingin mempertimbangkan beberapa transfer harus memberi
sinyal pada petugas pusat dengan mengemudi -BURST aktif sampai semua
transfer selesai atau sampai perangkat lain mengarahkan sinyal -PREEMPT aktif,
dalam hal ini transfer lebih lanjut ditunda sampai perangkat tersebut menang.
saluran sistem lagi Karena -PREEMPT dan ARBO melalui ARB3 dapat didorong
oleh banyak perangkat, mereka harus didorong melalui driver kolektor terbuka.
ARB / -GNT hanya bisa digerakkan oleh wasit pusat.
Penengah utama mengenali End of Transfer saat kedua sinyal status (-SO
dan -S1) tidak aktif dan -BURST atau -CMD tidak aktif, mana saja yang terjadi
terakhir. Pengendalian saluran kemudian ditransfer ke perangkat prioritas yang
lebih tinggi atau mikroprosesor sistem secara default.
Fitur keadilan yang dapat diprogram memungkinkan setiap perangkat
berbagi waktu saluran. Jika kewajaran aktif dan perangkat arbitrasi yang memiliki
saluran telah diawali, perangkat memasuki Inactive State dan harus menunggu
tidak aktif -PREEMPT sebelum menjadi aktif dan bersaing untuk saluran tersebut
lagi. Hal ini memungkinkan sistem untuk melayani semua perangkat arbitrasi agar
prioritas sebelum perangkat yang sama bisa mendapatkan kontrol saluran lagi.

Berikut ini adalah diagram blok dari arbitrase pusat:

Gambar Central Arbitration

Arbiter Lokal
Perangkat yang meminta penggunaan saluran harus menerapkan logika
untuk mengarahkan bus arbitrase dengan cara yang memungkinkan semua
perangkat pesaing mengenali pemenangnya. Logika ini dikenal sebagai Local
Arbiter. Perangkat arbitrasi harus bersaing untuk mengendalikan saluran hanya
jika telah didorong -PREEMPT aktif dan selanjutnya
ARB / -GNT telah pergi ke negara arbitrase. Seorang arbiter lokal yang bersaing
membawa tingkat arbitrasi ke bus arbitrase dan membandingkan tingkat arbitrasi
dengan nilai yang muncul di bus arbitrase secara bit-by-bit yang dimulai dengan
bit paling signifikan, ARB3. Jika arbiter lokal bersaing mendeteksi
ketidakcocokan pada salah satu bit, seharusnya menghentikan semua bit tingkat
rendah dengan segera. Jika arbiter setempat kemudian mengenali kecocokan pada
bit itu, mungkin akan terus mendorong bit tingkat rendah sampai ketidakcocokan
lain terdeteksi. Karena bus arbitrase didorong oleh pengumpul kolektor terbuka,
berlipat ganda
Arbiters dapat dengan aman mengemudikan bus. Berikut ini adalah contoh bus
arbitrasi:
1. Dua perangkat dengan tingkat arbitrase 1010 dan 0101 (hex A dan 5)
bersaing untuk saluran tersebut. Kedua perangkat tersebut mengarahkan
tingkat arbitrasi mereka ke bus yang sekarang tampak seperti tahun 0000.
2. Perangkat pertama (1010) mendeteksi ketidakcocokan pada ARB3 dan
berhenti mengemudikan semua bit arbitrase lainnya.
3. Perangkat kedua (0101) mendeteksi ketidakcocokan pada ARB2 dan berhenti
mengemudi bit arbitrasi. Bus arbitrasi sekarang menunjukkan 0111.
4. Perangkat kedua sekarang melihat kecocokan ARB2 dan melanjutkan
mengemudi sedikit dari bus arbitrase.
5. Bus arbitrasi sekarang menunjukkan nilai 0101 dan perangkat kedua
memenangkan kendali saluran.
Berikut ini adalah contoh sederhana dari seorang arbiter lokal.

Gambar Contoh Local Arbiter


Burst Mode
Beberapa perangkat, seperti disket tetap, data transfer dalam semburan, yang
sering dipisahkan oleh periode tidak aktif yang panjang. Mode burst membuat
perangkat ini lebih efisien. Untuk menggunakan mode burst, arbiter lokal
mengaktifkan -BURST dan menahannya aktif. Siaran arbiter lokal -BURST
setelah terdepan pulsa -CMO terakhir dalam urutan burst. Pengikut
diagram menunjukkan operasi burst tanpa gangguan:

Gambar Burst Mode Timing

Preemption
Setiap kali perangkat arbitrasi membutuhkan layanan, alat ini akan mengaktifkan
-PREEMPT. Diagram timing berikut menunjukkan -PREEMPT yang terjadi
selama operasi burst.

Gambar Preemption Timing

Urutannya adalah sebagai berikut:


1. Burst mode arbitrating device Kontrol keuntungan dari saluran.
2. Device B, mendekati kondisi overrun, meminta preemption.
3. Perangkat A, saat masih memegang kendali saluran, menyelesaikan transfer
parsial dan menghapus -BURST. Perangkat A tidak berpartisipasi dalam siklus
arbitrase jika keadilan aktif.
4. Bila titik arbitrasi pusat mengakui Akhir Transfer, ini akan menghapus hibah
tersebut.
5. Arbitrase untuk kontrol saluran dimulai.
6. Bila ARB / -GNT ada dalam keadaan hibah, kontrol penengah baru akan
mendapatkan kontrol saluran.
7. Perangkat 8, perangkat preempting, menghapus -PREEMPT sebagai tanggapan
untuk hibah

Jika lampiran terpasang -BURST aktif lebih dari 7,8 mikrodetik setelah aktif
-PREEMPT, kondisi kesalahan mungkin ada dan batas waktu saluran mungkin
terjadi. Sinyal ARB / -GNT digerakkan tinggi segera, secara paksa mengambil
kontrol saluran dari pemilik saluran. Sebuah NMI akan digerakkan aktif, dan bit 5
dan 6 port hex 0090 akan diatur aktif. Saluran akan tetap berada dalam keadaan
arbitrase dengan Sistem mikroprosesor di kontrol sampai bit 6 dari port hex 0090
di-reset.

Prioritas Penugasan Arbitrasi Bus


Angka berikut menunjukkan penugasan tingkat arbitrase. Fungsi dengan
jumlah terendah untuk tingkat arbitrasenya memiliki prioritas tertinggi.

Gambar Arbitrasi BusPriority Assignments

Layanan NMI dijalankan pada level yang lebih tinggi dari 0 yang disebut -1.
Refresh Memori diprioritaskan pada -2, 2 tingkat lebih tinggi dari 0. Tingkat -1
dan -2 dicapai pada board sistem saja, sedangkan sinyal 'arbitrate / -grant' ada
dalam keadaan arbitrase.

Anda mungkin juga menyukai