Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Pelajaran

Terangkan sela menggunakan senario

Anda boleh mentakrif sela dalam satu baris, tetapi soalan senario meminta anda menerangkan apa yang benar-benar berlaku, mengikut urutan.

Dalam halaman ini
  1. Apakah yang berlaku, langkah demi langkah?
  2. Contoh berlangkah: tekanan kekunci semasa pengiraan
  3. Kesilapan yang perlu diawasi
  4. Semak sendiri
  5. Ke mana pelajaran ini menuju seterusnya

Sela (interrupt) ialah isyarat kepada pemproses bahawa sesuatu memerlukan perhatian. Pemproses menjeda program semasa, menjalankan rutin pendek untuk mengendalikan peristiwa itu, kemudian menyambung tepat di tempat ia berhenti. Soalan memberi senario seperti tekanan kekunci, kerosakan pencetak atau kegagalan kuasa, dan meminta anda menerangkan apa yang berlaku.

Pelajaran ini menyusul perbandingan penterjemah dan menggunakan idea pemproses daripada perkakasan dan pemprosesan.

Apakah yang berlaku, langkah demi langkah?

  1. Sumber menghantar isyarat: perkakasan (papan kekunci, pencetak, pemasa) atau perisian (program yang memerlukan perkhidmatan).
  2. Pemproses menyemak sela selepas menyiapkan arahan semasa dalam setiap kitaran ambil-nyahkod-laksana.
  3. Jika sela menunggu dan **keutamaan (priority)**nya cukup tinggi, pemproses menyimpan keadaannya: pembilang program dan kandungan daftar.
  4. Ia menjalankan rutin perkhidmatan sela (ISR) yang sepadan dengan isyarat.
  5. Ia memulihkan keadaan yang disimpan dan meneruskan program asal daripada arahan seterusnya.

Jika dua sela tiba serentak, yang berkeutamaan lebih tinggi dilayan dahulu. Isyarat kegagalan kuasa mengatasi tekanan kekunci.

Kitaran dengan semakan sela boleh ditulis dalam pseudokod:

REPEAT
   FETCH instruction at program counter
   EXECUTE instruction
   IF interrupt signal received AND its priority is high enough THEN
      SAVE program counter and registers
      RUN interrupt service routine
      RESTORE program counter and registers
   ENDIF
UNTIL program ends

Contoh berlangkah: tekanan kekunci semasa pengiraan

Satu program mempunyai empat arahan:

I1: A ← 2
I2: B ← A * 3
I3: C ← B + 1
I4: D ← C * 2

Pengguna menekan kekunci semasa I2 dilaksanakan. Jejak pemproses.

LangkahTindakanABCD
1Laksana I12
2Laksana I2: B = 2 × 326
3Semakan sela: tekanan kekunci menunggu, maka simpan keadaan (arahan seterusnya ialah I3, A = 2, B = 6)26
4Jalankan ISR: simpan kekunci dalam penimbal papan kekunci26
5Pulihkan keadaan, sambung pada I326
6Laksana I3: C = 6 + 1267
7Laksana I4: D = 7 × 226714

Jawapan akhir ialah D = 14, sama seperti tanpa sela.

Itulah tujuan langkah simpan dan pulih: program yang terganggu tidak rosak. Semakan: 2 × 3 = 6, 6 + 1 = 7, 7 × 2 = 14. Anda boleh menjejak gelung yang serupa dalam pelatih jejak pseudokod terhad.

Kesilapan yang perlu diawasi

Jawapan yang salah: “Pemproses berhenti menjalankan program sehingga pengguna berhenti menekan kekunci.”

Ini menganggap sela sebagai henti kekal, dan tidak menyebut keadaan yang disimpan. Versi lain mengatakan pemproses terus bertanya kepada papan kekunci sama ada kekunci telah ditekan. Itu ialah pengundian (polling), dan tujuan sela ialah peranti memberi isyarat kepada pemproses.

Jawapan penuh menamakan isyarat, menyatakan arahan semasa disiapkan, menyatakan keadaan disimpan, menamakan rutin dan menyatakan program disambung semula.

Semak sendiri

1. Pencetak kehabisan kertas semasa mencetak dokumen. Terangkan bagaimana sela digunakan.

Tunjukkan jawapan

Pencetak menghantar isyarat sela kepada pemproses. Pemproses menyiapkan arahan semasa dan menyimpan keadaannya. Ia menjalankan rutin yang memberitahu pengguna pencetak memerlukan kertas. Kemudian ia memulihkan keadaannya dan meneruskan program lain.

2. Tekanan kekunci dan amaran kegagalan kuasa tiba pada masa yang sama. Yang manakah dikendalikan dahulu, dan mengapa?

Tunjukkan jawapan

Amaran kegagalan kuasa, kerana ia mempunyai keutamaan lebih tinggi. Pemproses mungkin perlu menyimpan kerja sebelum kuasa hilang. Tekanan kekunci boleh menunggu.

3. Berikan satu perkara yang mesti disimpan pemproses sebelum menjalankan rutin perkhidmatan sela, dan terangkan sebabnya.

Tunjukkan jawapan

Pembilang program (atau kandungan daftar). Tanpanya, pemproses tidak akan tahu arahan mana yang perlu dijalankan seterusnya, atau nilai apa yang digunakan program yang terganggu, apabila ia kembali.

Ke mana pelajaran ini menuju seterusnya

Kini beralih daripada bertindak balas terhadap peristiwa kepada alat penyelenggaraan pada komputer, dalam kenal pasti fungsi utiliti. Kemudian, set latihan perisian dan sistem mencampurkan sela dengan pelajaran lain.

Menulis urutan langkah yang kemas ialah kemahiran yang boleh dilatih terus oleh guru kami dalam tuisyen Computer Science dalam talian satu dengan satu.

Soalan lazim

Apakah sela (interrupt)?

Sela ialah isyarat yang dihantar kepada pemproses untuk menyatakan sesuatu memerlukan perhatian segera. Ia boleh datang daripada perkakasan, seperti tekanan kekunci atau ralat pencetak, atau daripada perisian, seperti program yang meminta perkhidmatan. Pemproses menjeda tugas semasa sebentar, mengendalikan isyarat itu, kemudian menyambung.

Adakah pemproses berhenti serta-merta apabila sela tiba?

Biasanya ia menyiapkan arahan yang sedang dilaksanakan dahulu, kemudian menyemak sela. Pada ketika itu ia menyimpan keadaan semasa, supaya tahu tepat di mana hendak menyambung. Menerangkan langkah simpan ini ialah apa yang dicari oleh banyak skema markah peperiksaan.

Apakah rutin perkhidmatan sela?

Ia ialah program kecil yang mengendalikan satu jenis sela, contohnya membaca tekanan kekunci ke dalam penimbal. Pemproses menjalankannya selepas menyimpan keadaannya. Apabila rutin itu tamat, keadaan yang disimpan dipulihkan dan program yang terganggu diteruskan.

Dikemas kini:

Langkah seterusnya

Jika jawapan senario anda melompat antara langkah, guru satu dengan satu boleh meminta anda menceritakan urutan dengan lantang dan membetulkan susunannya sebelum ia sampai ke kertas.

Kelas percubaan berbayar satu jam pada kadar guru yang disahkan, bermula RM80. Yuran lain, jadual dan susunan seterusnya disahkan terus bersama guru selepas kelas percubaan.

Tuisyen diatur bersama ibu bapa atau penjaga. Hantar halaman ini kepada mereka melalui WhatsApp supaya mereka boleh bertanya bagi pihak anda.

Ibu bapa atau penjaga? Tanya di sini

9,000+ pelajar telah dibantu melalui perkhidmatan kami