微機(jī)原理與接口技術(shù) 周荷琴第五版課件 微型計算機(jī)的中斷系統(tǒng)
1 微 型 計 算 機(jī) 原 理 及 其 應(yīng) 用第七章:微型計算機(jī)的中斷系統(tǒng) 2 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng)1.中 斷 的 概 念 及 處 理 過 程2.8086中 斷 系 統(tǒng)3.中 斷 控 制 器 8259A 3 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng)1.中 斷 的 概 念 及 處 理 過 程2.8086中 斷 系 統(tǒng)3.中 斷 控 制 器 8259A 4 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 概 念 及 處 理 過 程什 么 是 中 斷 ? 在 CPU執(zhí) 行 程 序 的 過 程 中 , 由 于 某 種 突 發(fā) 事 件 的 發(fā) 生 , 強(qiáng) 迫CPU暫 時 停 止 正 在 執(zhí) 行 的 程 序 , 轉(zhuǎn) 向 對 該 突 發(fā) 事 件 進(jìn) 行 處 理 , 對 這 個事 件 處 理 結(jié) 束 后 又 能 回 到 原 中 止 的 程 序 ,接 著 中 止 前 的 狀 態(tài) 繼 續(xù) 執(zhí) 行原 來 的 程 序 , 這 一 個 過 程 就 稱 為 中 斷 。 把 引 起 中 斷 的 原 因 或 觸 發(fā) 中 斷請 求 的 來 源 稱 為 中 斷 源 。 5 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 概 念 及 處 理 過 程中 斷 請 求 信 號 的 產(chǎn) 生 中 斷 方 式 提 高 了 CPU的 工 作 效 率 , 但 是 它 同 時 也 提 高 了 系 統(tǒng)的 硬 件 開 銷 。 因 為 系 統(tǒng) 需 增 加 含 有 中 斷 功 能 接 口 電 路 , 用 來 產(chǎn) 生 中 斷請 求 信 號 。 以 輸 入 方 式 為 例 , 接 口 電 路 如 圖 所 示 。 外 設(shè) 發(fā) STB數(shù) 據(jù) 入 鎖 存 器 , 中 斷 請 求 觸 發(fā) 器 置 1若 沒 有 屏 蔽 則產(chǎn) 生 INTRCPU滿 足 條 件 (允 許 中 斷 ; 指 令 執(zhí) 行 完 )發(fā) (進(jìn) 入 中 斷 服務(wù) 子 程 序 )讀 數(shù) 據(jù) 和 地 址 清 中 斷 請 求 觸 發(fā) 器 , 數(shù) 據(jù) 送 D0 D7。 6 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 概 念 及 處 理 過 程中 斷 優(yōu) 先 級中 斷 優(yōu) 先 級 ( 1) 如 果 有 多 個 不 同 優(yōu) 先 級 的 中 斷 源 同 時 提 出 中 斷 請 求 時 ,CPU應(yīng) 當(dāng) 先 響 應(yīng) 最 高 優(yōu) 先 級 的 中 斷 源 。 ( 2) 如 果 CPU正 在 對 某 一 中 斷 源 服 務(wù) 時 , 比 它 優(yōu) 先 級 更 高的 中 斷 源 提 出 中 斷 請 求 時 , CPU能 夠 暫 停 正 在 執(zhí) 行 的 中斷 服 務(wù) 程 序 轉(zhuǎn) 向 對 優(yōu) 先 級 高 的 中 斷 源 進(jìn) 行 服 務(wù) , 當(dāng) 服 務(wù) 結(jié)束 后 再 返 回 原 優(yōu) 先 級 較 低 的 中 斷 服 務(wù) 程 序 繼 續(xù) 執(zhí) 行 。中 斷 嵌 套 正 在 運 行 的 中 斷 處 理 程 序 , 被 優(yōu) 先 級 高 的 中 斷 源中 斷 , 從 而 轉(zhuǎn) 入 新 的 中 斷 處 理 程 序 , 當(dāng) 新 的 中 斷 處 理 程 序執(zhí) 行 完 再 回 到 原 來 的 中 斷 處 理 程 序 , 這 一 現(xiàn) 象 稱 為 中 斷 嵌套 。 7 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 概 念 及 處 理 過 程 中 斷 服 務(wù) 程 序 : 為 中 斷 請 求 源 服 務(wù) 的 子 程 序 。中 斷 類 型 號 : 根 據(jù) 中 斷 服 務(wù) 程 序 入 口 地 址 在 中 斷 向量 表 中 的 位 置 編 號 , 該 編 號 即 中 斷 類 型 號 。 中 斷向 量 表 存 儲 器 由 0000H開 始 每 個 連 續(xù) 單 元 為 個類 型 號 , 共 256個 類 型 號 。中 斷 向 量 表 : CPU響 應(yīng) 中 斷 后 , 必 須 由 中 斷 源 提 供 地址 信 息 , 引 導(dǎo) 程 序 進(jìn) 入 中 斷 服 務(wù) 子 程 序 , 這 些 中斷 服 務(wù) 子 程 序 的 入 口 地 址 存 放 在 中 斷 向 量 表 中 。 8 中 斷 請 求 何 時 發(fā) 生 是 隨 機(jī) 的 。 CPU在 每 條 指令 的 最 后 一 個 T周 期 去 檢 測 INTR引 腳 , CPU一 旦檢 測 到 有 中 斷 請 求 , 在 滿 足 中 斷 響 應(yīng) 的 條 件 下( IF=1) , CPU響 應(yīng) 中 斷 , 向 外 設(shè) 發(fā) INTA中 斷 響應(yīng) 信 號 。 并 保 護(hù) 斷 點 ( 當(dāng) 前 CS, IP和 PSW值 入棧 ) , 然 后 轉(zhuǎn) 向 中 斷 服 務(wù) 程 序 。 中 斷 服 務(wù) 程 序 執(zhí)行 完 畢 , CPU返 回 原 執(zhí) 行 程 序 的 中 斷 處 , 繼 續(xù) 向下 執(zhí) 行 , 稱 為 中 斷 返 回 。中 斷 響 應(yīng) : 9 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 概 念 及 處 理 過 程中 斷 源 : 引 起 程 序 中 斷 的 事 件 稱 為 中斷 源 。8086中 斷 源 : 外 部 中 斷 源 和 內(nèi) 部 中 斷源 ,都 包 含 于 256個 中 斷 類 型 中 ;內(nèi) 部 中 斷 源 : 中 斷 指 令 INT n引 起 的中 斷 ; 由 CPU的 某 些 運 算 錯 誤 引 起 的中 斷 ; 由 調(diào) 試 程 序 debug設(shè) 置 的 中 斷外 部 中 斷 源 : 外 部 硬 件 產(chǎn) 生 。 分 為 不可 屏 蔽 中 斷 ( 請 求 線 NMI) 可 屏 蔽 中斷 ( 請 求 線 INTR) 10 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 概 念 及 處 理 過 程中 斷 優(yōu) 先 級 當(dāng) 系 統(tǒng) 中 有 多 個 設(shè) 備 提 出 中 斷 請 求 時 , 就 有 一 個 該 響 應(yīng)誰 的 問 題 , 也 就 是 一 個 優(yōu) 先 級 的 問 題 , 解 決 優(yōu) 先 級 的 問 題 一 般可 有 三 種 方 法 : 軟 件 查 詢 法 、 簡 單 硬 件 方 法 及 專 用 硬 件 方 法 。 11 軟 件 查 詢 方 法 只 需 有 簡 單 的 硬 件 電 路 , 如 將 A、 B、 C三 臺 設(shè) 備 的 中 斷 請 求 信號 “ 或 ” 后 作 為 系 統(tǒng) INTR, 這 時 , A、 B、 C三 臺 設(shè) 備 中 只 要 至少有 一 臺 設(shè) 備 提 出 中 斷 請 求 , 都 可 以 向 CPU發(fā) 中 斷 請 求 。 進(jìn) 入 中 斷服 務(wù) 子 程 序 后 , 再 用 軟 件 查 詢 的 方 式 分 別 對 不 同 的 設(shè) 備 的 服 務(wù) ,查 詢 程 序 的 設(shè) 計 思 想 同 查 詢 式 , 查 詢 的 前 后 順 序 就 給 出 了 設(shè) 備 的優(yōu) 先 級 。 12軟 件 查 詢 方 法 13 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 概 念 及 處 理 過 程中 斷 優(yōu) 先 級 簡 單 硬 件 方 法 將 所 有 的 設(shè) 備 連 成 一 條 鏈 , 靠 近 CPU的 設(shè)備 優(yōu) 先 級 最 高 , 越 遠(yuǎn) 的 設(shè) 備 優(yōu) 先 級 別 越 低 , 則 發(fā)出 中 斷 響 應(yīng) 信 號 , 若 級 別 高 的 設(shè) 備 發(fā) 出 了 中 斷 請求 , 在 它 接 到 中 斷 響 應(yīng) 信 號 的 同 時 , 封 鎖 其 后 的較 低 級 設(shè) 備 使 得 它 們 的 中 斷 請 求 不 能 響 應(yīng) , 只 有等 它 的 中 斷 服 務(wù) 結(jié) 束 以 后 才 開 放 , 允 許 為 低 級 的設(shè) 備 服 務(wù) 。 14簡 單 硬 件 方 法 15 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 概 念 及 處 理 過 程中 斷 優(yōu) 先 級 專 用 硬 件 方 法 采 用 可 編 程 的 中 斷 控 制 器 芯 片 , 如 Intel8259A。 16 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 概 念 及 處 理 過 程中 斷 過 程 是 指 中 斷 請 求 、 中 斷 響 應(yīng) 、 中 斷 處 理 、 中 斷 返 回 這 四 個 過 程 。中 段 請 求 、 中 斷 響 應(yīng) 由 硬 件 完 成 , 中 斷 處 理 、 中 斷 返 回 由 軟 件 完 成 。 中 斷 請 求 1) 外 部 設(shè) 備 發(fā) 中 斷 請 求 的 條 件 : 當(dāng) 外 設(shè) 準(zhǔn) 備 就 緒 或 本 身 工 作 已 經(jīng)完 成 時 , 才 向 CPU提 出 中 斷 請 求 。 2) 外 部 設(shè) 備 中 斷 請 求 的 標(biāo) 志 : 當(dāng) 外 設(shè) 要 求 和 CPU進(jìn) 行 數(shù) 據(jù) 交 換 時 ,將 中 斷 請 求 信 號 送 往 中 斷 請 求 觸 發(fā) 器 或 中 斷 控 制 器 , 經(jīng) 它 們 處 理 后 ,向 CPU發(fā) 出 中 斷 請 求 。中 斷 響 應(yīng) 如 果 CPU處 于 開 中 斷 狀 態(tài) , 經(jīng) 判 優(yōu) 后 響 應(yīng) 其 中 最 高 優(yōu) 先 級 的中 斷 請 求 , 關(guān) 中 斷 , 將 斷 點 壓 入 堆 棧 中 ( 有 的 微 機(jī) 還 將 程 序 狀 態(tài) 字 和 相 關(guān) 寄 存 器 的 內(nèi) 容 壓 入 堆 棧 ) 保 存 , 以 備 返 回 原 程 序 , 緊 接 著 將 相 應(yīng)的 中 斷 處 理 程 序 入 口 地 址 或 中 斷 向 量 送 CPU, 轉(zhuǎn) 入 中 斷 服 務(wù) 程 序 。 17 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 概 念 及 處 理 過 程中 斷 過 程 中 斷 處 理 保 護(hù) 現(xiàn) 場 。 將 在 中 斷 處 理 程 序 中 使 用 的 有 關(guān) 寄 存 器 的 內(nèi) 容 壓 入 堆 棧 保護(hù) 起 來 。 在 現(xiàn) 場 保 護(hù) 的 過 程 中 , 絕 對 不 允 許 被 中 斷 (應(yīng) 禁 止 中 斷 ),否則 現(xiàn) 場 將 被 破 壞 。 當(dāng) 現(xiàn) 場 保 護(hù) 好 后 應(yīng) 開 中 斷 。 中 斷 服 務(wù) 。 即 該 中 斷 所 要 執(zhí) 行 的 具 體 指 令 內(nèi) 容 。 恢 復(fù) 現(xiàn) 場 。 當(dāng) 中 斷 服 務(wù) 結(jié) 束 后 , 應(yīng) 用 中 斷 結(jié) 束 命 令 清 除 中 斷 標(biāo) 志 , 立即 關(guān) 中 斷 , 以 保 證 恢 復(fù) 現(xiàn) 場 的 過 程 不 受 干 擾 。 恢 復(fù) 現(xiàn) 場 就 是 把 原 來 壓入 堆 棧 的 有 關(guān) 寄 存 器 的 內(nèi) 容 彈 出 。 現(xiàn) 場 恢 復(fù) 后 應(yīng) 開 中 斷 , 以 便 CPU響應(yīng) 更 高 級 的 中 斷 請 求 。中 斷 返 回 將 壓 入 的 斷 點 地 址 彈 出 , 保 證 被 中 斷 的 程 序 按 原 來 狀 態(tài) 執(zhí) 行 下 去 。 18 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 概 念 及 處 理 過 程中 斷 過 程 中 斷 處 理 和 中 斷 返 回 中 的 所 有 內(nèi) 容 , 也 叫 做 中 斷 服 務(wù) 程 序 。 即 : 19 可 屏 蔽 中 斷 處 理 過 程第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 8086的 中 斷 系 統(tǒng) 20 21 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 8086的 中 斷 系 統(tǒng)中 斷 響 應(yīng) 過 程 22 23 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 8086的 中 斷 系 統(tǒng)中 斷 響 應(yīng) 過 程 與 時 序 24 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng)1.中 斷 的 概 念 及 處 理 過 程2.8086中 斷 系 統(tǒng)3.中 斷 控 制 器 8259A 25 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 8086的 中 斷 系 統(tǒng)中 斷 分 類 及 中 斷 類 型 碼 中 斷 源 可 以 分 為 兩 大 類 , 即 外 部 (硬 件 )中 斷 和 內(nèi) 部 (軟 件 )中 斷 。 硬 件 中 斷 : 即 通 過 外 部 的 硬 件 產(chǎn) 生 的 中 斷 , 如 打 印 機(jī) 、 鍵 盤 等 。 硬 件中 斷 又 可 分 為 : 可 屏 蔽 中 斷 和 不 可 屏 蔽 中 斷 。 不 可 屏 蔽 中 斷 : 由 NMI引 腳 引 入 , 它 不 受 中 斷 允 許 標(biāo) 志 的 影 響 ,每 個 系 統(tǒng) 中 僅 允 許 有 一 個 , 都 是 用 來 處 理 緊 急 情 況 的 , 如 掉 電 處理 。 這 種 中 斷 一 旦 發(fā) 生 , 系 統(tǒng) 會 立 即 響 應(yīng) 。 可 屏 蔽 中 斷 : 由 INTR引 腳 引 入 , 它 受 中 斷 允 許 標(biāo) 志 的 影 響 , 也就 是 說 , 只 有 當(dāng) IF 1時 , 可 屏 蔽 中 斷 才 能 進(jìn) 入 , 反 之 則 不 允 許進(jìn) 入 , 可 屏 蔽 中 斷 可 有 多 個 , 一 般 是 通 過 優(yōu) 先 級 排 隊 , 從 多 個 中斷 源 中 選 出 一 個 進(jìn) 行 處 理 。 軟 件 中 斷 : 即 根 據(jù) 某 條 指 令 或 者 對 標(biāo) 志 寄 存 器 中 某 個 標(biāo) 志 的 設(shè) 置 而 產(chǎn) 生 , 它 與 硬 件 電 路 無 關(guān) , 常 見 的 如 除 數(shù) 為 0, 或 用 INT n指 令 產(chǎn) 生 。 26 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 8086的 中 斷 系 統(tǒng)中 斷 分 類 及 中 斷 類 型 碼 8086/8088系 統(tǒng) 最 多 可 處 理 256級 不 同 類 型 的 中 斷 。 27 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 8086的 中 斷 系 統(tǒng)中 斷 分 類 及 中 斷 類 型 碼 INT n指 令 中 斷 邏 輯 INTO指 令 單 步中 斷INT 3指 令 除 數(shù) 為 0中 斷 非 屏 蔽 中 斷 請 求 中斷控制系 統(tǒng)(8259A) 。 可屏蔽中斷請求 NMIINTR 軟 件 中 斷 硬 件 中 斷 28 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 8086的 中 斷 系 統(tǒng)中 斷 分 類 及 中 斷 類 型 碼 中 斷 類 型 碼 : 8086為 每 個 中 斷 源 分 配 了 一 個 中 斷 類 型 碼 , 其 取 值 范 圍 為 0255, 即 可 處 理 256種 中 斷 。 其 中 包 括 軟 件 中 斷 , 系 統(tǒng) 占 用 的 中 斷 以 及 開 放 給用 戶 使 用 的 中 斷 。 中 斷 類 型 碼 或 者 包 含 在 指 令 中 , 或 者 預(yù) 先 規(guī) 定 ;所 有 內(nèi) 部 中 斷 和 NMI中 斷 都 不 執(zhí) 行 INTA總 線 周 期 ;除 單 步 中 斷 外 , 任 何 內(nèi) 部 中 斷 都 無 法 禁 止 且 都 比 外 部 中 斷 優(yōu) 先 級 高 ; 中 斷 優(yōu) 先 級內(nèi) 中 斷 ( 除 法 錯 , INTO, INT) 最 高最 低非 屏 蔽 中 斷 NMI可 屏 蔽 中 斷 INTR單 步 中 斷 29 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 8086的 中 斷 系 統(tǒng)中 斷 向 量 和 中 斷 向 量 表 中 斷 向 量 : 把 各 個 中 斷 服 務(wù) 子 程 序 的 入 口 都 稱 為 一 個 中 斷 向 量 ; 中 斷 向 量 表 : 將 這 些 中 斷 向 量 按 一 定 的 規(guī) 律 排 列 成 一 個 表 , 就 是 所 謂 的 中 斷 向量 表 , 當(dāng) 中 斷 源 發(fā) 出 中 斷 請 求 時 , 即 可 查 找 該 表 , 找 出 其 中 斷 向 量 , 就 可 轉(zhuǎn) 入相 應(yīng) 的 中 斷 服 務(wù) 子 程 序 。 向 量 表 地 址 : 中 斷 向 量 在 中 斷 向 量 表 中 的 位 置 。 8086中 斷 系 統(tǒng) 中 的 中 斷 向 量 表 是 位 于 0段 的 0 3FFFH的 存 貯 區(qū) 內(nèi) , 每 個 中 斷 向 量 占 四 個 單 元 , 其 中 前 兩 個 單 元 存 放 中斷 處 理 子 程 序 的 入 口 地 址 的 偏 移 量 (IP), 低 位 在 前 , 高 位 在 后 ;后 兩 個 單 元 存 放 中 斷 處 理 子 程 序 入 口 地 址 的 段 地 址 (CS), 也 是 低位 在 前 , 高 位 在 后 , 整 個 中 斷 向 量 的 排 列 是 按 中 斷 類 型 號 進(jìn) 行 的 。 30 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 8086的 中 斷 系 統(tǒng)中 斷 向 量 和 中 斷 向 量 表000H004H008H00CH014H 080H3FFH IP偏 移 地 址CS段 基 地 址IP偏 移 地 址CS段 基 地 址IP偏 移 地 址CS段 基 地 址 中 斷 類 型 碼 0( 除 法 錯 )中 斷 類 型 碼 1( 單 步 中 斷 )中 斷 類 型 碼 2( NMI中 斷 )中 斷 類 型 碼 3( 斷 點 中 斷 )中 斷 類 型 碼 4( 溢 出 中 斷 )中 斷 類 型 碼 5( 保 留 )系 統(tǒng) 保 留 中 斷用 戶 自 定 義 中 斷 31 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 8086的 中 斷 系 統(tǒng)中 斷 向 量 和 中 斷 向 量 表 00H: 除 法 出 錯 中 斷 01H: 單 步 中 斷 02H: NMI端 引 入 的 不 可 屏 蔽 中 斷 03H: 斷 點 中 斷 04H: 溢 出 中 斷 05H 31H: -系 統(tǒng) 使 用 中 斷 , 不 容 許 用 戶 修 改 ( 08H 0FH: 8259A中 斷 向 量 ; 10H 1FH: -BIOS用 ) 20H 3FH: -DOS用 40H FFH: -用 戶 用 32 中 斷 向 量 : 中 斷 服 務(wù) 程 序 的 入 口 地 址中 斷 向 量 的 獲 取 :8086/8088 CPU根 據(jù) 中 斷 類 型 號 在 中 斷 向 量 表 中 取 得 。中 斷 向 量 表 : 中 斷 服 務(wù) 程 序 的 入 口 地 址 存 放 的 區(qū) 域( 也 稱 中 斷 矢 量 表 )中 斷 類 型 號 的 獲 取 :1.中 斷 指 令 INT n 中 直 接 得 到 ;2.外 部 中 斷 類 型 寄 存 器 從 DB輸 入 。 33 PA0PA1 PA255 PA0PA1 PA255 P0P1 P255 8086/8088CPU中 對 應(yīng) 于 256個 中 斷 類 型 的 中 斷 向 量 必 須 設(shè)置 于 0000H至 03FFH的 1KB內(nèi) 存 空 間 的 中 斷 向 量 表 中 。 中斷服務(wù)程序 34 8086/8088 CPU中 斷 優(yōu) 先 級 :內(nèi) 中 不 可 屏 蔽 中 斷 可 屏 蔽 中 斷 單 步 中 斷最 高 最 低可 屏 蔽 中 斷 優(yōu) 先 級 設(shè) 定 三 種 方 式 :多 中 斷 源 的 中 斷 嵌 套 進(jìn) 入 中 斷 處 理 程 序 時 , 系 統(tǒng) 自 動 關(guān) 中 斷 ; 中 斷 服 務(wù) 程 序 中 必 須 有 STI開 中 斷 指 令 允 許 其它 中 斷 進(jìn) 入 實 現(xiàn) 中 斷 嵌 套 。 中 斷 結(jié) 束 返 回 前 要 有 EOI中 斷 結(jié) 束 命 令 , EOI結(jié) 束命 令 應(yīng) 放 在 中 斷 返 回 指 令 IRET前 面 。 RET軟 件 查 詢 中 斷 優(yōu) 先 級硬 件 查 詢 優(yōu) 先 級 菊 花 鏈?zhǔn)?量 中 斷 優(yōu) 先 級 35 硬 件 查 詢 優(yōu) 先 方 式 菊 花 鏈 法 36 矢 量 中 斷 優(yōu) 先 級 37 中 斷 嵌 套 38 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng)1.中 斷 的 概 念 及 處 理 過 程2.8086中 斷 系 統(tǒng)3.中 斷 控 制 器 8259A 39 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A性 能 概 述1. 具 有 8級 中 斷 優(yōu) 先 控 制 , 通 過 級 連 可 以 擴(kuò) 展 至 64級 優(yōu) 先 權(quán) 控 制 ;2. 每 一 級 中 斷 都 可 以 通 過 初 始 設(shè) 置 為 允 許 或 屏 蔽 狀 態(tài) ;3. 8259A的 工 作 方 式 , 可 通 過 編 程 進(jìn) 行 設(shè) 置 , 因 此 使 用 非 常 靈活 ;4. 8259A采 用 NMOS制 造 工 藝 , 只 需 要 單 一 的 +5V電 源 。5.可 以 通 過 編 程 選 擇 多 種 不 同 的 工 作 方 式 。 40 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 內(nèi) 部 結(jié) 構(gòu) 和 工 作 原 理 41 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 內(nèi) 部 結(jié) 構(gòu) 和 工 作 原 理 數(shù) 據(jù) 總 線 緩 沖 器 : 它 是 8259A與 系 統(tǒng) 數(shù) 據(jù) 總 線 的 接 口 , 是 8位 雙 向 三 態(tài) 緩 沖 器 。CPU與 8259A之 間 的 控 制 命 令 信 息 、 狀 態(tài) 信 息 以 及 中 斷 類 型 信 息 , 都 是 通 過該 緩 沖 器 傳 送 的 。 讀 /寫 控 制 邏 輯 : CPU通 過 它 實 現(xiàn) 對 8259A的 讀 /寫 操 作 。 級 連 緩 沖 器 : 用 以 實 現(xiàn) 8259A芯 片 之 間 的 級 連 , 使 得 中 斷 源 可 以 由 8級 擴(kuò) 展 至64級 。 控 制 邏 輯 電 路 : 對 整 個 芯 片 內(nèi) 部 各 部 件 的 工 作 進(jìn) 行 協(xié) 調(diào) 和 控 制 。 中 斷 請 求 寄 存 器 IRR: 8位 , 用 以 分 別 保 存 8個 中 斷 請 求 信 號 , 當(dāng) 相 應(yīng) 的 中 斷 請求 輸 入 引 腳 有 中 斷 請 求 時 , 該 寄 存 器 的 相 應(yīng) 位 置 1。 中 斷 屏 蔽 寄 存 器 IMR: 8位 , 相 應(yīng) 位 用 以 對 8個 中 斷 源 的 中 斷 請 求 信 號 進(jìn) 行 屏 蔽控 制 。 當(dāng) 其 中 某 位 置 ” 0”時 , 則 相 應(yīng) 的 中 斷 請 求 可 以 向 CPU提 出 ; 否 則 , 相 應(yīng)的 中 斷 請 求 被 屏 蔽 , 即 不 允 許 向 CPU提 出 中 斷 請 求 。 該 寄 存 器 的 內(nèi) 容 為 8259A的 操 作 命 令 字 OCW1, 可 以 由 程 序 設(shè) 置 或 改 變 。 中 斷 服 務(wù) 寄 存 器 ISR: 8位 , 當(dāng) CPU正 在 處 理 某 個 中 斷 源 的 中 斷 請 求 時 , ISR寄存 器 中 的 相 應(yīng) 位 置 1。 優(yōu) 先 級 比 較 器 PR: 用 以 比 較 正 在 處 理 的 中 斷 和 剛 剛 進(jìn) 入 的 中 斷 請 求 之 間 的 優(yōu) 先級 別 , 以 決 定 是 否 產(chǎn) 生 多 重 中 斷 或 中 斷 嵌 套 。 42 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 外 部 引 腳 43 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 外 部 引 腳 D7-D0: 雙 向 數(shù) 據(jù) 輸 入 /輸 出 引 腳 , 用 以 與 CPU進(jìn) 行 信 息 交 換 。 IR7-IR0: 8級 中 斷 請 求 信 號 輸 入 引 腳 。 INT: 中 斷 請 求 信 號 輸 出 引 腳 , 高 電 平 有 效 , 用 以 向 CPU發(fā) 中 斷 請 求 , 應(yīng) 接 在CPU的 INTR輸 入 端 。 INTA#: 中 斷 響 應(yīng) 應(yīng) 答 信 號 輸 入 引 腳 , 低 電 平 有 效 , 接 在 CPU的 中 斷 應(yīng) 答 信 號輸 出 端 。 RD#、 WR#: 讀 /寫 控 制 信 號 輸 入 引 腳 , 低 電 平 有 效 , 實 現(xiàn) 對 8259A內(nèi) 部 有關(guān) 寄 存 器 內(nèi) 容 的 讀 操 作 。 CS#: 片 選 信 號 輸 入 引 腳 , 低 電 平 有 效 , 決 定 了 8259A的 端 口 地 址 范 圍 。 A 0: 8259A兩 組 內(nèi) 部 寄 存 器 的 選 擇 信 號 輸 入 引 腳 , 決 定 8259A的 端 口 地 址 。 CAS2-CAS0: 級 連 信 號 引 腳 , 當(dāng) 8259A為 主 片 時 , 為 輸 出 ; 否 則 為 輸 入 , 與信 號 配 合 , 實 現(xiàn) 芯 片 的 級 連 , 這 三 個 引 腳 信 號 的 不 同 組 合 000 111, 剛 好 對應(yīng) 于 8個 從 片 。 SP#/EN#: 為 級 連 管 理 信 號 輸 入 引 腳 , 在 非 緩 沖 方 式 下 , 若 8259A在 系 統(tǒng) 中作 主 片 使 用 , 則 SP=1; 否 則 SP=0; 在 緩 沖 方 式 下 , 用 作 8259A外 部 數(shù) 據(jù) 總線 緩 沖 器 的 啟 動 信 號 。 +5V、 GND: 電 源 和 接 地 引 腳 。 44 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 過 程1. 當(dāng) 有 一 條 或 若 干 條 中 斷 請 求 輸 入 ( IR7-IR0) 有 效 時 , 則 使 中 斷 請 求 寄 存 器 的IRR的 相 應(yīng) 位 置 位 。2. 若 CPU處 于 開 中 斷 狀 態(tài) , 則 在 當(dāng) 前 指 令 執(zhí) 行 完 之 后 , 響 應(yīng) 中 斷 , 并 且 發(fā) 應(yīng) 答 信號 ( 兩 個 連 續(xù) 的 INTA#負(fù) 脈 沖 ) 。3. 第 一 個 INTA#負(fù) 脈 沖 到 達(dá) 時 , IRR的 鎖 存 功 能 失 效 , 對 于 IR7-IR0上 發(fā) 來 的 中斷 請 求 信 號 不 予 理 睬 。4. 使 中 斷 服 務(wù) 寄 存 器 ISR的 相 應(yīng) 位 置 1, 以 便 為 中 斷 優(yōu) 先 級 比 較 器 的 工 作 做 好 準(zhǔn) 備 。5. 使 中 斷 請 求 寄 存 器 的 相 應(yīng) 位 復(fù) 位 , 即 清 除 中 斷 請 求 。6. 第 二 個 INTA#負(fù) 脈 沖 到 達(dá) 時 , 將 中 斷 類 型 寄 存 器 中 的 內(nèi) 容 ICW 2, 送 到 數(shù) 據(jù) 總線 的 D7-D0上 , CPU以 此 作 為 相 應(yīng) 中 斷 的 類 型 碼 。7. 若 ICW4中 的 中 斷 結(jié) 束 位 為 1, 那 么 , 第 二 個 INTA#負(fù) 脈 沖 結(jié) 束 時 , 8259A將ISR寄 存 器 的 相 應(yīng) 位 清 零 。 否 則 , 直 至 中 斷 服 務(wù) 程 序 執(zhí) 行 完 畢 , 才 能 通 過 輸 出 操作 命 令 字 EOI, 使 該 位 復(fù) 位 。 45 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 編 程 結(jié) 構(gòu) 46 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 方 式1. 優(yōu) 先 權(quán) 的 管 理 方 式2. 中 斷 源 的 屏 蔽 方 式3. 結(jié) 束 中 斷 處 理 的 方 式4. 系 統(tǒng) 總 線 的 連 接 方 式 5. 引 入 中 斷 的 請 求 方 式 47 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 方 式1. 優(yōu) 先 級 設(shè) 置 方 式2. 中 斷 源 的 屏 蔽 方 式3. 結(jié) 束 中 斷 處 理 的 方 式4. 循 環(huán) 優(yōu) 先 級 的 循 環(huán) 方 法5. 系 統(tǒng) 總 線 的 連 接 方 式 6. 引 入 中 斷 的 請 求 方 式 48 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 方 式 優(yōu) 先 級 設(shè) 置 方 式1. 全 嵌 套 方 式 這 是 8259A默 認(rèn) 的 優(yōu) 先 權(quán) 設(shè) 置 方 式 , 在 全 嵌 套 方 式 下 , 8259A所 管理 的 8級 中 斷 優(yōu) 先 權(quán) 是 固 定 不 變 的 , 其 中 IR0的 中 斷 優(yōu) 先 級 最 高 , IR7的 中 斷 優(yōu)先 級 最 低 。 CPU響 應(yīng) 中 斷 后 , 請 求 中 斷 的 中 斷 源 中 , 優(yōu) 先 級 最 高 的 中 斷 源 , 在 中斷 服 務(wù) 寄 存 器 ISR中 的 相 應(yīng) 位 置 位 , 而 且 把 它 的 中 斷 矢 量 送 至 系 統(tǒng) 數(shù) 據(jù) 總 線 , 在此 中 斷 源 的 中 斷 服 務(wù) 完 成 之 前 , 與 它 同 級 或 優(yōu) 先 級 低 的 中 斷 源 的 中 斷 請 求 被 屏蔽 , 只 有 優(yōu) 先 級 比 它 高 的 中 斷 源 的 中 斷 請 求 才 是 運 算 的 , 從 而 出 現(xiàn) 中 斷 嵌 套 。當(dāng) 實 現(xiàn) 8級 嵌 套 時 , ISR寄 存 器 內(nèi) 容 為 0FFH.2. 特 殊 全 嵌 套 方 式 特 殊 全 嵌 套 方 式 與 全 嵌 套 方 式 基 本 相 同 , 所 不 同 的 是 , 當(dāng) CPU處 理 某 一 級 中 斷 時 , 如 果 有 同 級 中 斷 請 求 , 那 么 CPU也 會 作 出 響 應(yīng) , 從 而 形 成 了 對 同一 級 中 斷 的 特 殊 嵌 套 。 特 殊 全 嵌 套 方 式 通 常 應(yīng) 用 在 有 8259A級 連 的 系 統(tǒng) 中 , 在 這 種 情 況 下 ,對 主 8259A編 程 時 , 通 常 使 它 工 作 在 特 殊 全 嵌 套 方 式 下 。 這 樣 , 一 方 面 ,CPU對 于 優(yōu) 先 級 別 較 高 的 主 片 的 中 斷 輸 入 是 允 許 的 , 另 一 方 面 , CPU對 于 來 自同 一 從 片 的 優(yōu) 先 級 別 較 高 ( 但 對 于 主 片 來 講 , 優(yōu) 先 級 別 是 相 同 的 ) 的 中 斷 也 是允 許 、 能 夠 響 應(yīng) 的 。 49 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 方 式 優(yōu) 先 權(quán) 的 管 理 方 式3. 優(yōu) 先 級 自 動 循 環(huán) 方 式 在 實 際 應(yīng) 用 中 , 中 斷 源 優(yōu) 先 級 的 情 況 是 比 較 復(fù) 雜 的 , 要 求 8級 中 斷 的 優(yōu)先 級 在 系 統(tǒng) 工 作 過 程 中 , 可 以 動 態(tài) 改 變 。 即 一 個 中 斷 源 的 中 斷 請 求 被 響 應(yīng) 之 后 ,其 優(yōu) 先 級 自 動 降 為 最 低 。 系 統(tǒng) 啟 動 時 , 8級 中 斷 優(yōu) 先 級 默 認(rèn) 為 IR0IR7, 這 時 ,剛 好 IR4發(fā) 出 了 中 斷 請 求 , CPU響 應(yīng) 之 后 , 若 8259A工 作 在 優(yōu) 先 級 自 動 循 環(huán) 方式 下 , 則 中 斷 優(yōu) 先 級 自 動 變 為 IR5、 IR6、 IR7、 IR0、 IR1、 IR2、 IR3、 IR4。4. 優(yōu) 先 級 特 殊 循 環(huán) 方 式 優(yōu) 先 級 特 殊 循 環(huán) 方 式 與 自 動 循 環(huán) 方 式 相 比 , 只 有 一 點 不 同 , 即 初 始 化 的優(yōu) 先 級 是 由 程 序 控 制 的 , 而 不 是 默 認(rèn) 的 IR 0IR7。 50 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 方 式1. 優(yōu) 先 權(quán) 的 管 理 方 式2. 中 斷 源 的 屏 蔽 方 式3. 結(jié) 束 中 斷 處 理 的 方 式4. 循 環(huán) 優(yōu) 先 級 的 循 環(huán) 方 法5. 系 統(tǒng) 總 線 的 連 接 方 式 6. 引 入 中 斷 的 請 求 方 式 51 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 方 式 中 斷 源 的 屏 蔽 方 式1. 普 通 屏 蔽 方 式 8259A的 每 個 中 斷 請 求 輸 入 , 都 要 受 到 屏 蔽 寄 存 器 中 相 應(yīng) 位 的 控 制 。若 相 應(yīng) 位 為 “ 1”, 則 中 斷 請 求 不 能 送 CPU。 屏 蔽 是 通 過 對 屏 蔽 寄 存 器 IMR的 編程 ( 操 作 命 令 字 OCW1) , 來 加 以 設(shè) 置 和 改 變 的 。2. 特 殊 屏 蔽 方 式 有 些 場 合 下 , 希 望 一 個 中 斷 服 務(wù) 程 序 的 運 行 過 程 中 , 能 動 態(tài) 地 改 變 系 統(tǒng)中 的 中 斷 優(yōu) 先 級 結(jié) 構(gòu) , 即 在 中 斷 處 理 的 一 部 分 , 禁 止 低 級 中 斷 , 而 在 中 斷 處 理的 另 一 部 分 , 又 能 夠 允 許 低 級 中 斷 , 于 是 引 入 了 對 中 斷 的 特 殊 屏 蔽 方 式 。 設(shè) 置 了 特 殊 屏 蔽 方 式 后 , 用 OCW 1對 屏 蔽 寄 存 器 中 的 某 一 位 復(fù) 位 時 , 同時 也 會 使 中 斷 服 務(wù) 寄 存 器 ISR中 的 相 應(yīng) 位 復(fù) 位 , 這 樣 就 不 只 屏 蔽 了 正 在 處 理 的 等級 中 斷 , 而 且 真 正 開 放 了 其 它 優(yōu) 先 級 別 較 低 的 中 斷 請 求 。 特 殊 屏 蔽 是 在 中 斷 處 理 程 序 中 使 用 的 , 用 了 這 種 方 式 之 后 , 盡 管 系 統(tǒng) 正在 處 理 高 級 中 斷 , 但 對 外 界 來 講 , 只 有 同 級 中 斷 被 屏 蔽 , 而 允 許 其 它 任 何 級 別的 中 斷 請 求 。 52 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 方 式1. 優(yōu) 先 權(quán) 的 管 理 方 式2. 中 斷 源 的 屏 蔽 方 式3. 結(jié) 束 中 斷 處 理 的 方 式4. 循 環(huán) 優(yōu) 先 級 的 循 環(huán) 方 法5. 系 統(tǒng) 總 線 的 連 接 方 式6. 引 入 中 斷 的 請 求 方 式 53 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 方 式 結(jié) 束 中 斷 的 處 理 方 式1. 一 般 的 中 斷 結(jié) 束 方 式 一 般 的 中 斷 結(jié) 束 方 式 適 用 用 在 全 嵌 套 的 情 況 下 , 當(dāng) CPU用 輸 出 指 令 向8259A發(fā) 一 般 中 斷 結(jié) 束 命 令 OCW2時 , 8259A才 會 使 中 斷 響 應(yīng) 寄 存 器 ISR中優(yōu) 先 級 別 最 高 的 位 復(fù) 位 。2. 特 殊 的 中 斷 結(jié) 束 方 式 在 特 殊 全 嵌 套 模 式 下 , 系 統(tǒng) 無 法 確 定 哪 一 級 中 斷 為 最 后 相 應(yīng) 和 處 理 的 中斷 , 也 就 是 說 , CPU無 法 確 定 當(dāng) 前 所 處 理 的 是 哪 級 中 斷 , 這 時 就 要 采 用 特 殊 的中 斷 結(jié) 束 方 式 。 特 殊 的 中 斷 結(jié) 束 方 式 是 指 在 CPU結(jié) 束 中 斷 處 理 之 后 , 向 8259A發(fā) 送 一個 特 殊 的 EOI中 斷 結(jié) 束 命 令 , 這 個 特 殊 的 中 斷 結(jié) 束 EOI命 令 , 明 確 指 出 了 中 斷 響應(yīng) 寄 存 器 ISR中 需 要 復(fù) 位 的 位 。 3. 中 斷 自 動 結(jié) 束 方 式 這 種 方 式 僅 適 用 于 只 有 單 片 8259A的 場 合 , 在 這 種 方 式 下 , 系 統(tǒng) 一 旦響 應(yīng) 中 斷 , 那 么 CPU在 發(fā) 第 二 個 INTA#脈 沖 時 , 就 會 使 中 斷 響 應(yīng) 寄 存 器 ISR中相 應(yīng) 位 復(fù) 位 , 這 樣 一 來 , 雖 然 系 統(tǒng) 在 進(jìn) 行 中 斷 處 理 , 但 對 于 8259A來 講 , ISR沒 有 相 應(yīng) 的 指 示 , 就 象 中 斷 處 理 結(jié) 束 , 返 回 主 程 序 之 后 一 樣 。 CPU可 以 再 次 響應(yīng) 任 何 級 別 的 中 斷 請 求 , 容 易 產(chǎn) 生 重 復(fù) 中 斷 , 中 斷 深 度 無 法 控 制 , 容 易 產(chǎn) 生 錯誤 。 54 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 方 式1. 優(yōu) 先 權(quán) 的 管 理 方 式2. 中 斷 源 的 屏 蔽 方 式3. 結(jié) 束 中 斷 處 理 的 方 式4. 循 環(huán) 優(yōu) 先 級 的 循 環(huán) 方 法5. 系 統(tǒng) 總 線 的 連 接 方 式 6. 引 入 中 斷 的 請 求 方 式 55 8259A的 工 作 方 式 循 環(huán) 優(yōu) 先 級 的 循 環(huán) 方法 特 殊 EOI循 環(huán) 方 式 自 動 EOI循 環(huán) 方 式第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 56 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 方 式1. 優(yōu) 先 權(quán) 的 管 理 方 式2. 中 斷 源 的 屏 蔽 方 式3. 結(jié) 束 中 斷 處 理 的 方 式4. 循 環(huán) 優(yōu) 先 級 的 循 環(huán) 方 法5. 系 統(tǒng) 總 線 的 連 接 方 式 6. 引 入 中 斷 的 請 求 方 式 57 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 方 式 系 統(tǒng) 總 線 的 連 接 方 式1. 緩 沖 方 式 在 多 片 8259A級 連 的 大 系 統(tǒng) 中 , 8259A通 過 外 部 總 線 驅(qū) 動 器 和 數(shù) 據(jù)總 線 相 連 , 這 就 是 緩 沖 方 式 。 在 緩 沖 方 式 下 , 8259的 輸 出 信 號 作 為 緩 沖 器 的啟 動 信 號 , 用 來 啟 動 總 線 驅(qū) 動 器 , 在 8259A與 CPU之 間 進(jìn) 行 信 息 交 換 。2. 非 緩 沖 方 式 當(dāng) 系 統(tǒng) 中 只 有 一 片 或 幾 片 8259A芯 片 時 , 可 以 將 數(shù) 據(jù) 總 線 直 接 與 系 統(tǒng)數(shù) 據(jù) 總 線 相 連 , 這 時 8259A處 于 非 緩 沖 方 式 下 。 在 這 種 方 式 下 , 8259A的 作為 輸 入 端 設(shè) 置 , 主 片 應(yīng) 接 高 電 平 , 從 片 應(yīng) 接 低 電 平 。 58 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 方 式1. 優(yōu) 先 權(quán) 的 管 理 方 式2. 中 斷 源 的 屏 蔽 方 式3. 結(jié) 束 中 斷 處 理 的 方 式4. 循 環(huán) 優(yōu) 先 級 的 循 環(huán) 方 法5. 系 統(tǒng) 總 線 的 連 接 方 式 6. 引 入 中 斷 的 請 求 方 式 59 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 工 作 方 式 引 入 中 斷 請 求 的 方 式1. 邊 沿 觸 發(fā) 方 式 8259A將 中 斷 請 求 輸 入 端 出 現(xiàn) 的 上 升 沿 , 作 為 中 斷 請 求 信 號 , 上 升 沿 后 相 應(yīng) 引腳 , 可 以 一 直 保 持 高 電 平 。2. 電 平 觸 發(fā) 方 式 8259A將 中 斷 請 求 輸 入 端 出 現(xiàn) 的 高 電 平 作 為 中 斷 請 求 信 號 , 在 這 種 方 式 下 , 必須 注 意 : 中 斷 響 應(yīng) 之 后 , 高 電 平 必 須 及 時 撤 除 , 否 則 , 在 CPU響 應(yīng) 中 斷 , 開 中斷 之 后 , 會 引 起 第 二 次 不 應(yīng) 該 有 的 中 斷 。3. 中 斷 查 詢 方 式 當(dāng) 系 統(tǒng) 中 的 中 斷 源 很 多 , 超 過 64個 時 , 則 可 以 使 8259A工 作 在 查 詢 方 式 下 ,中 斷 查 詢 方 式 的 特 點 是 :a.中 斷 源 仍 往 8259A發(fā) 中 斷 請 求 , 但 8259A卻 不 使 用 INT信 號 向 CPU發(fā) 中 斷 請 求 信 號 。b. CPU內(nèi) 部 的 中 斷 允 許 標(biāo) 志 復(fù) 位 , 所 以 CPU對 INT引 腳 上 出 現(xiàn) 的 中 斷 請 求 呈 禁 止?fàn)?態(tài) 。c. CPU 用 軟 件 查 詢 的 方 法 來 確 定 中 斷 源 , 從 而 實 現(xiàn) 對 設(shè) 備 的 中 斷 服 務(wù) , 可 見 ,中 斷 查 詢 方 式 , 既 有 中 斷 的 特 點 , 又 有 查 詢 的 特 點 , 從 外 設(shè) 的 角 度 來 看 , 是 靠中 斷 的 方 式 來 請 求 服 務(wù) , 但 從 CPU的 角 度 來 看 , 是 用 查 詢 方 式 來 確 定 發(fā) 中 斷 請求 的 中 斷 源 。 60 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 編 程 8259A的 控 制 字 8259A的 命 令 字 有 兩 種 。 一 種 是 初 始 化 命 令 字(ICW), 在 8259A啟 動 之 前 寫 入 , 使 其 處 于 預(yù) 定 的 初 始 狀態(tài) 。 另 一 種 是 操 作 命 令 字 (OCW), 使 處 于 初 始 狀 態(tài) 的8259去 執(zhí) 行 具 體 的 某 種 操 作 方 式 。 操 作 命 令 字 可 在 8259初 始 化 后 的 任 何 時 刻 寫 入 。 61 62 63 64 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 65 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 66 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 67 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 68 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 69 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 70 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 71 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 72 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 73 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 74 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 75 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 76 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 77 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 78 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 79 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 80 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 81 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 82 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 83 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A 84 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 編 程 8259A的 級 聯(lián) INTACAS0CAS1CAS2IR0 IR3IR6IR7 INT IR4IR7 IR6 IR0 IR7 IR6IR0D7D0D7D0D7D0 D7D0 D7D0 D7D0 INTA CAS0CAS0 CAS1CAS1 CAS 2CAS2 INTINT 系 統(tǒng) 總 線 +5v主 控SP/ENSP/ENINTA SP/EN 85 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 編 程 例 7-1 IBMPC機(jī) 中 , 只 有 一 片 8259A, 可 接 受 外 部 8級 中 斷 。 在 I/O地 址中 , 分 配 8259A的 端 口 地 址 為 20H和 21H, 初 始 化 為 : 邊 沿 觸 發(fā) 、 緩 沖 連 接 、中 斷 結(jié) 束 采 用 EOI命 令 、 中 斷 優(yōu) 先 級 采 用 完 全 嵌 套 方 式 , 8級 中 斷 源 的 中 斷 類 型分 別 為 08H0FH, 初 始 化 程 序 為 : MOV DX,20HMOV AL,00010011BOUT DX,AL ;寫 入 ICW1MOV DX,21HMOV AL,08HOUT DX,AL ;寫 入 ICW2MOV AL,00001101BOUT DX,AL ;寫 入 ICW4 XOR AL,ALOUT DX,AL ;寫 入 OCW1 。 。 。 。 。 。STI。 。 。 。 。 。 86 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 中 斷 控 制 器 8059A8259A的 編 程 例 7-2 讀 8259A相 關(guān) 寄 存 器 的 內(nèi) 容 。 設(shè) 8259A的 端 口 地 址 為 20H、 21H, 請 讀 入IRR、 ISR、 IMR寄 存 器 的 內(nèi) 容 , 并 相 繼 保 存 在 數(shù) 據(jù) 段 2000H開 始 的 內(nèi) 存 單 元 中 ; 若 該8259A為 主 片 , 請 用 查 詢 方 式 , 查 詢 哪 個 從 片 有 中 斷 請 求 。MOV AL, xxx01010B 發(fā) OCW3,欲 讀 取 IRR的 內(nèi) 容OUT 20H, ALIN AL, 20H 讀 入 并 保 存 IRR的 內(nèi) 容MOV (2000H), ALMOV AL,xxx01011B 發(fā) OCW3,欲 讀 取 ISR的 內(nèi) 容OUT 20H, ALIN AL, 20H 讀 入 并 保 存 ISR的 內(nèi) 容MOV (2001H), ALIN AL, 21H 讀 入 并 保 存 ISR的 內(nèi) 容MOV (2002H), AL MOV AL, xxx0110 xB 發(fā) OCW3,欲 查 詢 是 否 有 中 斷 請 求OUT 20HIN AL, 20H 讀 入 相 應(yīng) 狀 態(tài) , 并 判 斷 最 高 位 是 否 為 1TEST AL, 80H JZ DONEAND AL,07H 判 斷 中 斷 源 的 編 碼DONE: HLT 87 第 七 章 : 微 型 計 算 機(jī) 的 中 斷 系 統(tǒng) 總 結(jié) 中 斷 的 相 關(guān) 基 本 概 念 , 要 求 達(dá) 到 “ 領(lǐng) 會 ”的 層 次 。 8086/8088系 統(tǒng) 中 的 中 斷 系 統(tǒng) 。 8086/8088系 統(tǒng) 中 的 中 斷 分 類 , 要 求 達(dá) 到 “ 領(lǐng) 會 ” 層 次 。 中 斷 向 量 表 的 定 義 和 應(yīng) 用 , 要 求 達(dá) 到 “ 綜 合 應(yīng) 用 ” 層 次 。 可 屏 蔽 中 斷 的 中 斷 響 應(yīng) 時 序 , 要 求 達(dá) 到 “ 領(lǐng) 會 ” 層 次 。 編 程 中 斷 控 制 器 8259A。 具 有 中 斷 控 制 功 能 的 接 口 電 路 , 要 求 達(dá) 到 “ 簡 單 應(yīng) 用 ” 層 次 。 中 斷 控 制 器 的 基 本 要 求 和 組 成 , 要 求 達(dá) 到 “ 領(lǐng) 會 ” 層 次 。 8259A可 編 程 中 斷 控 制 器 的 結(jié) 構(gòu) 和 功 能 , 要 求 達(dá) 到 “ 領(lǐng) 會 ” 層 次 。 8259A的 中 斷 優(yōu) 先 級 管 理 方 式 及 中 斷 結(jié) 束 方 式 , 要 求 達(dá) 到 “ 識 記 ” 層 次 。 8259A的 中 斷 順 序 , 要 求 達(dá) 到 “ 領(lǐng) 會 ” 層 次 。