日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

计算机系统和中断的概念

發(fā)布時間:2024/9/20 windows 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机系统和中断的概念 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

概念:
cpu:特指處理器核心,而不是處理器封裝,因為很多處理器將橋芯片和內(nèi)存控制器芯片都封裝在一起,造成一種誤解,實際上處理器核心并不包含這些內(nèi)容。
外設(shè):帶有處理邏輯的集成電路核心。

一、CPU和外設(shè)芯片

1、功能對等性和地位的不平等
外設(shè)芯片也可以處理數(shù)據(jù),因此和cpu在功能上是對等的,GPU概念的提出加深了我們對這種對等性的理解。cpu是相對比較通用的芯片,而外設(shè)呢是功能比較專一的芯片。有時候,外設(shè)在某方面的處理能力要遠遠高于cpu。
馮.諾依曼機器是以處理器即CPU為中心的,因此在編程層面上cpu和外設(shè)是不平等的。由于歷史原因,在那個年代,計算機主要用于科學(xué)計算,cpu足以勝任全部任務(wù),因此外設(shè)幾乎是不存在的,加上設(shè)計的簡單性,軟件指令統(tǒng)一由cpu發(fā)出和執(zhí)行,因此軟件意義上的不平等是歷史原因和設(shè)計原因造成的。
2、通信機制
不管怎樣,外設(shè)連接于系統(tǒng)上,cpu和外設(shè)必然需要相互通信。由于編程的不平等性,一般意義上所有指令由cpu發(fā)出,cpu可以主動讀寫或者操作外設(shè),而外設(shè)卻很難直接操作cpu,因此提出中斷的概念。外設(shè)通過硬件邏輯,而不是軟件邏輯(軟件邏輯一般全部由cpu負責)來通知cpu有事情要做,cpu必然需要一種機制被動得到這種通知,這就是中斷。
二、主板架構(gòu)
1、以cpu為中心
由于歷史原因和設(shè)計原因,主板都是以cpu為中心的,然后通過硬件連線邏輯連接各種外設(shè)。最簡單的連接方式就是外設(shè)們和cpu連接在一條共享的線路上(由于它們的平等性)。
2、以各種橋連接各種總線
然而外設(shè)們的速率和通信協(xié)議彼此并不一定相同,和cpu之間的協(xié)議也有所不同,那么必然需要一種設(shè)備來進行協(xié)議轉(zhuǎn)換和數(shù)據(jù)緩沖,以適配速率不同,協(xié)議不同的各種外設(shè)之間以及外設(shè)和cpu之間的通信。因此提出總線的概念,連接在一種總線上的所有設(shè)備的速率和底層通信協(xié)議是一致的。
3、外設(shè)連接在各種總線上
相同協(xié)議和相同速率的外設(shè)連接在一類總線之上。注意,系統(tǒng)中某一種總線并不一定只有一條,每一條總線(注意,不是一種,而是一條)都定了一個地址空間,也就是一個地址命名空間,在這個意義上,cpu訪問的地址x和pci設(shè)備的地址x并不是一個地址,因此橋設(shè)備必須可以提供一個地址映射機制,可以將一端的地址映射到另一端的y(可以直接等于x,然而意義卻不一樣)。
4、中斷引腳
cpu核心為了可以被外設(shè)中斷,它必須有一個中斷引腳。外設(shè)為了可以中斷cpu,也必須有一種機制使它和cpu中斷引腳直接或者間接相連接。
4.1、基于硬連線的中斷

外設(shè)要想能中斷cpu,最直接的方式是引出一根線,和cpu的唯一的中斷引腳相連,然而cpu只有一個引腳,所以cpu需要在后續(xù)的總線周期中查詢是誰發(fā)送了中斷信號,因此外設(shè)需要有機制告知這個信息,這個信息就是中斷向量號,然而很多設(shè)備會共享一個向量號,這就需要cpu在基于中斷向量號的中斷處理程序中遍歷所有的設(shè)備進行確認了。
5.協(xié)議軟化
早期很多的總線都是并行的,芯片除了片選引腳外,地址線/數(shù)據(jù)線都是并行的,這樣的話不利于通信協(xié)議的更改,因為并行總線的通信協(xié)議(總線事務(wù))完全基于時序,而時序是硬件設(shè)計時定義的,比如對于地址/數(shù)據(jù)復(fù)用線,第一個總線周期發(fā)出地址,然后后續(xù)周期發(fā)出數(shù)據(jù)等,這些都是硬連線確定的,另外,并行線路,頻率越高干擾越大,離得越近干擾越大,然而事情卻在向高頻,小型化發(fā)展,這明顯是一個矛盾,因此設(shè)計出了串行總線,將處理邏輯集中于芯片,總線線路只負責傳輸基于frame的數(shù)據(jù),這就是協(xié)議軟化,也叫總線事務(wù)軟化。當需要更新協(xié)議的時候,只需要更換芯片即可,線路無需更改。
5.1、基于消息的中斷
pci/pcie總線使用基于消息的中斷,即msi/msi-x,這種中斷機制無需設(shè)備的中斷線引腳,只需要在串行總線發(fā)出一個中斷事務(wù),然后會有芯片接管這個事務(wù),這個事務(wù)消息中有中斷向量號信息,然后該芯片會代理設(shè)備向cpu發(fā)出中斷事務(wù),具體如何向cpu轉(zhuǎn)發(fā)設(shè)備的中斷,有很多種方式,一種古老的方式用于使用8259的系統(tǒng)中,8259會向cpu的intr引腳發(fā)送中斷,然后到cpu查詢向量號的時候8259會將從msi中得到的向量號發(fā)給cpu。一種更新的方式是使用apic,msi向一個存儲器地址空間寫一個中斷消息,該地址在pcie橋處被轉(zhuǎn)換為cpu的存儲空間地址,該地址就是local-apic的映射地址,然后在fsb上發(fā)送中斷事務(wù),由于地址被映射到處理器封裝中的local-apic,該事務(wù)被local-apic接管,然后local-apic再向處理器核心即cpu發(fā)送中斷。這種方式完全由消息事務(wù)完成,絲毫不需要任何硬連線。
三、系統(tǒng)軟件相關(guān)
系統(tǒng)軟件并不僅僅是操作系統(tǒng),實際上操作系統(tǒng)并不直接管理硬件。fireware和硬件接口,而操作系統(tǒng)和用戶接口。
1、fireware定義硬連線拓撲
這種fireware和主板硬件接口,在x86平臺上,這種fireware稱為bios,在bios定義了豐富的信息。主板上電后,bios執(zhí)行,bios中保存了E820映射信息,也就是cpu的地址空間的什么地址映射到什么總線,接下來的一種可能實現(xiàn)是bios根據(jù)這些信息檢測并初始化總線設(shè)備,實際上是一種遍歷,為各個設(shè)備分配基地址,也就是寫入配置空間基地址信息。這些信息由操作系統(tǒng)讀出并使用。(當然也可以將這信息寫死到設(shè)備的rom中)
2、操作系統(tǒng)
和用戶接口,操作完全是為了管理用戶進程的,它對硬件的管理完全是基于fireware的。操作系統(tǒng)根據(jù)fireware的信息得到主板拓撲信息,設(shè)置中斷向量,得到設(shè)備的基地址等信息。
附:軟化
不知以太網(wǎng)以及tcp/ip的設(shè)計思想有沒有影響主板設(shè)計,以太網(wǎng)的802.3設(shè)計就是一個串行協(xié)議設(shè)計的成功例子,tcp/ip的設(shè)計也是類似的一個例子,網(wǎng)絡(luò)協(xié)議的設(shè)計幾乎都是串行的,這和計算機早期的并口不同,串口有著簡單性和抗干擾性的優(yōu)點,這點意義上,雙絞線最終淘汰了并口線,同軸線等...
不管怎樣,串行線路是軟的,而不像并行線路那樣硬,這樣就可以將處理邏輯集中于端點而不是線路本身,比如再也不用定義哪根線是數(shù)據(jù)準備好信號,那些根線是地址信號了,只需要定義一個frame的格式,然后按照這個格式發(fā)送數(shù)據(jù)就可以了,這樣在串行線路上,甚至都不再區(qū)分什么地址線和數(shù)據(jù)線了,地址和數(shù)據(jù)都包含在數(shù)據(jù)包本身了,這樣分層協(xié)議和封裝協(xié)議就容易設(shè)計出來了,芯片本身使用軟件或者硬件處理數(shù)據(jù)包,和線路沒有關(guān)系,正如ipv6的數(shù)據(jù)包和ipv4的包都可以跑在一條線路上一樣,雖然它們的地址信息一點都不同。
串行線路將更多的事交給了端點的軟件或者硬件,這就解耦了線路和線路載荷。一般意義上,并行線路在低頻率時鐘情況下比串行線路快,然而當這種優(yōu)勢達到極端時,當時鐘頻率發(fā)展到使并行線路不再可以提升性能時反而降低性能時,串行線路取代了并行了線路,此時由于時鐘頻率足夠高,串行線路也已經(jīng)足夠快了,前仆后繼,善莫大焉!我們的主板將越來越像一個網(wǎng)絡(luò)了,實際上,最終,我們的互聯(lián)網(wǎng)和主板將歸于一種設(shè)計,那就是串行線路連接各端點。人們一直以為軟件處理效率不如硬件直接處理,說不定最終接替摩爾定律的恰恰的軟件的設(shè)計思想而不再是單純的硬件,這里的軟件并不是編程意義上的軟件,而是設(shè)計意義上的軟件,也就是將處理邏輯集中于端點的設(shè)計思想。
笑聲中說一句,串行總線中可以輕松實現(xiàn)中斷的動態(tài)配置,操作系統(tǒng)可以參與中斷向量的配置,而在并行線路中,操作系統(tǒng)只能使用fireware的信息。

轉(zhuǎn)載于:https://blog.51cto.com/dog250/1271081

總結(jié)

以上是生活随笔為你收集整理的计算机系统和中断的概念的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。