計算機系統基礎:輸入輸出技術知識筆記

? ? ? ?? ? ? ?

1、內存與接口的編址方式

1.1 內存和接口地址獨立編址方法

內存地址和接口地址是兩個完全獨立和相互隔離的地址空間。訪問數據的指令也不同,接口只有讀寫指令,其余都是內存指令。

特點:接口和內存指令容易區分,但接口指令太少、功能太單一了。

1.2 內存和接口地址統一編址方法

內存地址和接口地址在一個公共的地址空間。其中一部分劃給接口使用,其余地址給內存單元使用。分配的地址空間只能給自己使用,比如內存單元分配的地址空間,只允許給內存單元使用。

特點:內存的指令可以全部用于接口。不區分內存指令和接口指令;缺點:內存地址不連續,原因是整個地址空間被分為兩部分。

2、程序的控制方式

在完成外設數據輸入輸出時,整個過程由CPU執行程序進行控制的。分為兩種控制方式。

2.1 無條件傳送

外設提前準備好,隨時可以無條件接收CPU發來的數據、無條件向CPU提供要輸入的數據。

2.2 程序查詢方式

通過CPU查詢程序判斷外設是否準備好接收數據或向提供CPU要輸入的數據。如果滿足條件則執行相應的動作。

缺點:

1、降低了CPU的效率:因為CPU需要不停的對外設的狀態進行查詢。

2、對外部的突發事件無法做出實時響應:CPU必須等待I/O系統完成傳輸任務,在此期間需要定時查詢I/O系統的狀態,確認數據傳輸是否完成。

3、中斷方式

3.1 工作流程

I/O系統和外設交換數據時,CPU無需等待和查詢I/O的狀態,可以處理其他任務。當I/O設備準備好后,發送中斷通知給CPU,CPU接收到中斷信號,保存當前執行的任務,轉入I/O中斷服務程序的執行,完成和I/O系統的數據傳輸任務,然后再返回中斷之前的任務。因為省掉了CPU等待的問題,所以效率較高。

? ? ? ?? ? ? ?

3.2 中斷處理的方法

1、多中斷信號法

每一個中斷源都有屬于自己的一條中斷請求信號向CPU提出中斷請求。

2、中斷軟件查詢法

通過中斷服務程序去輪詢每個中斷源確認是哪個發起了中斷請求。然后根據優先級進行響應處理。

3、菊花鏈法

改進了軟件查詢方法。本質是硬件查詢法。所以的I/O模塊共享一根共同的請求線,中斷信號以鏈式的方式在各個模塊相連。

4、總線仲裁法

I/O發出中斷請求之前,由總線獲得控制權,然后由總線的仲裁機制決定誰可以發出中斷信號請求。

5、中斷向量法

中斷向量表用來保存各個中斷源服務的入口地址。

? ? ? ?? ? ? ?

3.3 中斷優先級控制

在具有多個中斷源的計算機當中,需要根據中斷源的緊迫程度不同,根據輕重緩急進行安排中斷的執行順序。

1、當多個中斷請求同時發出中斷請求,CPU根據優先級決定先響應哪一個。

2、當CPU正在執行某個中斷請求時,來了一個比它優先級高的中斷請求。CPU應暫停當前中斷請求,去執行優先級高的請求。完成后再返回被暫停的中斷請求。也被稱為中斷嵌套。

4、DMA 直接存取方式

DMA指的是內存與I/O設備之間直接塊傳送,不需要CPU干涉,只需要CPU傳輸之前(發送一條傳數據指令)、傳輸結束(CPU根據輪詢或中斷判斷過程是否結束和下次操作是否準備就緒)。DMA硬件直接執行傳輸任務。CPU可以處理別的任務。

? ? ? ?? ? ? ?

5、 通道方式和外圍處理機方式

5.1 通道方式

通道是一個具有特殊功能的處理器被稱為輸入輸入處理器(IOP),它承擔了CPU的一部分功能,實現了對?外圍設備的統一管理,完成外圍設備和主存直接的數據傳送。

通道方式大大提高了CPU的工作效率,但需要增加硬件成本。

5.2 外圍處理機

外圍處理機(PPU) 它根據主機的I/O指令完成對外圍設備的輸入和輸出。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/271599.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/271599.shtml
英文地址,請注明出處:http://en.pswp.cn/news/271599.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

小米max2 android p,這就是小米Max2?6.4英寸超大屏幕配置大升級

標簽:小米手機(3463)小米(3233)雖說今年上半年小米6的重磅機型會是小米6,但隨著小米Max在官方商城的下架,這款巨屏手機的更新換代產品已經在網絡上浮出水面。根據知名圖形測試網站GFXBench最新公布的信息顯示,一款代號為Oxygen的小…

winform直接控制云臺_速學指南,2分鐘學會Feiyu pocket口袋云臺的隱藏功能操作

上周三,Feiyu pocket口袋云臺相機正式發布,重量僅115g,單手可持,可拍攝 4K/60fps高清畫面;6軸混合防抖技術加持,賦予軌跡延時、全域模式、慢動作、全跟隨等模式更專業、高效的拍攝體驗。Feiyu pocket口袋云…

Python中處理DataFrame,R繪圖

IN Pythonfrom pandas import DataFrame,Seriesimport pandas as pdimport numpy as npdata pd.read_csv(rC:\Users\lxy\Desktop\工作相關\工作報告KPI\pydata-book-master\ch06\ex5.csv)data.index.namexdata.to_csv(D:\df.csv)IN R> library(ggplot2)> df <- read.…

ThreadPoolTaskExecutor和ThreadPoolExecutor區別

初學者很容易看錯&#xff0c;如果沒有看到spring或者JUC源碼的人肯定是不太了解的。 ThreadPoolTaskExecutor是spring core包中的&#xff0c;而ThreadPoolExecutor是JDK中的JUC。ThreadPoolTaskExecutor是對ThreadPoolExecutor進行了封裝處理。 ThreadPoolExecutor ThreadP…

電腦技巧:如何解決大部分的電腦防彈窗廣告

相信很多人都有這種情況&#xff0c;打開電腦,電腦上全部各種廣告彈窗,或者在辦公、追劇的時候,電腦突然就彈出了一條&#xff0c;是不是很煩人&#xff0c;這幾招不用借助軟件&#xff0c;就能解決彈窗的方法不防一試。 方法一&#xff1a; 第一種方法&#xff0c;可以對付部分…

c 跨平臺android,Unity 使用C/C++ 跨平臺終極解決方式(PC,iOS,Android,以及支持C/C++的平臺)...

PC的事實上根本不用說&#xff0c;畢竟C#和C交互的文章已經夠多了&#xff0c;當然我自覺得經過幾次折騰后。差點兒全部游戲須要到的操作我都掌握了(各種傳參方法&#xff0c;各種坑&#xff0c;不懂的能夠留言問。盡管基本上沒人看。哈哈)廢話不多說&#xff0c;我們主要來講兩…

hades武器第四形態解鎖_凱多的第四個技能預告——冰凍!

在《海賊王》中&#xff0c;四皇凱多被譽為“海陸空最強生物”&#xff0c;能夠變成神龍&#xff0c;如果不出意外的話&#xff0c;凱多應該是動物系幻獸種神龍果實的能力者。畢竟凱多的海賊團就叫做“百獸海賊團”&#xff0c;手下也都是動物系果實能力者&#xff0c;能夠降服…

解決git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Pleas

今天用idea提交代碼到github上,push后報錯 gitgithub.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 一:原因分析 Permission denied (publickey) 沒…

轉載------------java equals 方法

作者&#xff1a;海子出處&#xff1a;http://www.cnblogs.com/dolphin0520/淺談Java中的equals和 在初學Java時&#xff0c;可能會經常碰到下面的代碼&#xff1a; 1 String str1 new String("hello"); 2 String str2 new String("hello"); 3 …

計算機系統基礎:校驗碼知識筆記

1、校驗碼概念 校驗碼主要是為了解決計算機各部件進行數據傳輸和交換&#xff0c;確保傳送過程的正確無誤&#xff0c;一是為了提高硬件電路的可靠性&#xff0c;二是提高代碼的校驗能力。通常會用校驗碼來檢查傳送的數據是否正確。 校驗碼編碼分為兩類&#xff1a;合法編碼、錯…

qml與HTML數據交互,GitHub - toby20130333/QtQuickHtmlBridge: 基于QtQuick的C++,qml,Html三者的Bridge交互...

基于QtQuick的C,qml,Html三者的Bridge交互主要功能自定義C對象并注冊到QML可以在QML中繼續擴展C對象的屬性和方法 信號等將C對象注入到WebChannelHtml中引入C對象JavaScript與C直接交互示例代碼說明main.cpp://該實例必須直接繼承自Object的 QWidget的忽略qmlRegisterType(&quo…

html為什么要進行表單驗證_化學錨栓為什么要進行拉拔試驗?

點擊箭頭處“藍色字”&#xff0c;關注我們哦&#xff01;&#xff01;化學錨栓是繼膨脹錨栓之后出現的一種新型緊固材料&#xff0c;由化學藥劑與金屬桿體組成&#xff0c;是通過特制的化學粘接劑&#xff0c;將螺桿膠結固定于砼基材鉆孔中&#xff0c;以實現對固定件錨固的復…

電路基礎知識講解(太全面了)

IT技術分享社區個人博客網站&#xff1a;https://programmerblog.xyz文章推薦程序員效率&#xff1a;畫流程圖常用的工具程序員效率&#xff1a;整理常用的在線筆記軟件遠程辦公&#xff1a;常用的遠程協助軟件&#xff0c;你都知道嗎&#xff1f;51單片機程序下載、ISP及串口基…

github設置倉庫可見性 私人倉庫設置

一:點擊Setting 二:點擊Make private 三:閱讀關于將倉庫設為私有的警告。 入您要設為私有的倉庫的名稱&#xff0c;例如 accountname/reponame。 單擊 I understand, make this repository private&#xff08;我已了解&#xff0c;請將此倉庫設為私有&#xff09;

Git合并分支操作

1. 添加自己的文件 git add .; 2. 緩存自己的文件 git stash; 3. 查看狀態 git status; 4. 獲取別的分支 git pull origin master(分支名); 5. 出棧自己的文件 git stash pop 。 轉載于:https://www.cnblogs.com/csl0910/p/5605868.html

html鼠標懸停區域拉伸,html – :將鼠標懸停在具有邊框半徑的div上

這里的問題是子元素不繼承父元素的border-radius.有兩種方法可以實現您想要的&#xff1a;您可以將子元素的border-radius設置為匹配或大于父元素的radius,或者將父元素的overflow屬性設置為hidden.這是一個快速的片段,說明了問題和兩個解決方案&#xff1a;*{box-sizing:borde…

rfid在高速公路管理中的應用_RFID技術與ETC技術在弱電門禁系統中應用

前言&#xff1a;無線射頻識別技術(RFID技術)較早的大規模的綜合應用&#xff0c;發展至今&#xff0c;我國的RFID技術已經較為成熟。 相關技術1、無線射頻識別 RFID(Radio Frequency Identification&#xff0c;無線射頻識別)是一種非接觸式的自動識別技術&#xff0c;它通過射…

Idea中Terminal中git基本操作

列出分支 列出分支基本命令&#xff1a;git branch 沒有參數時&#xff0c;git branch 會列出你在本地的分支。 上圖的意思就是&#xff0c;我們有一個叫做 master 的分支&#xff0c;并且該分支是當前分支(有*星號的)。 當你執行 git init 的時候&#xff0c;默認情況下 Gi…

計算機體系結構知識筆記

計算機體系結構結構&#xff1a;計算機的概念結構、功能和性能特性&#xff0c;它從一個更高的層次對計算機的結構特征等宏觀特征進行研究。 1、計算機體系結構分類 2、CISC和RISC 指令體系結構&#xff08;ISA&#xff09;&#xff1a;一個處理器支持的指令和指令的字節級編碼…

java類的加載機制

一、什么是類的加載 類的加載指的是將類的.class文件中的二進制數據讀入到內存中&#xff0c;將其放在運行時數據區的方法區內&#xff0c;然后在堆區創建一個java.lang.Class對象&#xff0c;用來封裝類在方法區內的數據結構。類的加載的最終產品是位于堆區中的Class對象&…