互連及輸入輸出組織
一、輸入設(shè)備和輸出設(shè)備
輸入輸出系統(tǒng):通常把外部設(shè)備及其接口線路、I/O控制部件以及I/O軟件系統(tǒng)稱之。
輸入輸出組織的功能:
主要用于控制外設(shè)與內(nèi)存、外設(shè)與CPU之間進(jìn)行數(shù)據(jù)交換。
實(shí)現(xiàn)輸入輸出功能的關(guān)鍵是要解決的問題是:
如何在CPU、主存和外設(shè)之間建立一個(gè)高效的信息傳輸“通路”;
怎樣將用戶的I/O請(qǐng)求轉(zhuǎn)換為成對(duì)設(shè)備的控制命令;
如何對(duì)外設(shè)進(jìn)行編址;
怎樣使用CPU方便地尋找到要訪問的外設(shè);
I/O硬件和I/O軟件如何協(xié)調(diào)完成主機(jī)和外設(shè)之間的數(shù)據(jù)傳送等。
輸入輸出設(shè)備(又稱外圍設(shè)備或外部設(shè)備,簡(jiǎn)稱外設(shè))是計(jì)算機(jī)系統(tǒng)與人或它機(jī)之間進(jìn)行信息交換的裝置。
輸入設(shè)備的功能是把數(shù)據(jù)、命令、字符、圖形、圖像、聲音或電流、電壓等信息,以計(jì)算機(jī)可以接收和識(shí)別的二進(jìn)制代碼形式輸入到計(jì)算機(jī)中,供計(jì)算機(jī)進(jìn)行處理。
輸出設(shè)備的功能是把計(jì)算機(jī)處理的結(jié)果,變成人最終可以識(shí)別的數(shù)字、文字、圖形、圖像或聲音等信息,然后播放、打印或顯示輸出。
1.鍵盤
鍵盤有外殼、按鍵和電路板三部分組成。按鍵的結(jié)構(gòu)有兩類:
一類是觸點(diǎn)式按鍵,它借助觸點(diǎn)開關(guān)的接通或斷開,來(lái)產(chǎn)生電信號(hào);
另一類是非觸點(diǎn)式開關(guān),利用電壓、電流或電磁場(chǎng)的變化產(chǎn)生輸出信號(hào)。
按鍵的排列是一個(gè)m*n的二維陣列,每個(gè)按鍵對(duì)應(yīng)該陣列中的一個(gè)位置。鍵盤采用“按列掃描、接地檢查”的方式進(jìn)行工作。
2.鼠標(biāo)器
鼠標(biāo)器(mouse)是一種相對(duì)定位設(shè)備。它能方便地控制屏幕上的光標(biāo)移動(dòng)到指定的位置,并通過按鍵完成各種操作。
根據(jù)鼠標(biāo)器所采用傳感器技術(shù)的不同,鼠標(biāo)器可以分為兩類:機(jī)械式與光電式。
鼠標(biāo)器的技術(shù)指標(biāo)之一是分辨率,用dpi(dots perinch)表示,它指鼠標(biāo)在桌上每移動(dòng)一英寸,光標(biāo)在屏幕上所移動(dòng)的像素?cái)?shù)。對(duì)光電鼠標(biāo)來(lái)說(shuō),反映其性能的另一個(gè)指標(biāo)是幀速率,即刷新頻率。它指DSP每秒鐘可以處理的圖像幀數(shù)。
鼠標(biāo)器與主機(jī)相連的接口主要有USB或PS/2接口或無(wú)線接口。
3.打印機(jī)
1.針式打印機(jī)
擊打式打印機(jī)是最早研制成功的計(jì)算機(jī)打印設(shè)備。它以機(jī)械力量擊打字錘從而使字模隔著色帶在紙上打印出字來(lái)。按字錘或字模的構(gòu)成方式來(lái)分,又可以分成整字形打印設(shè)備和點(diǎn)陣打印設(shè)備兩類。
打印機(jī)通過打印控制器或打印適配器與主機(jī)連接,打印控制器由以下基本部件組成:
①數(shù)據(jù)鎖存器:暫存CPU送來(lái)的打印數(shù)據(jù)。
②命令譯碼器:對(duì)CPU送來(lái)的命令進(jìn)行譯碼,產(chǎn)生打印控制器內(nèi)部使用的幾個(gè)命令。
③控制鎖存器:鎖存CPU送來(lái)的控制命令。
④狀態(tài)鎖存器:保存打印機(jī)送來(lái)的狀態(tài)信息,以供CPU隨時(shí)監(jiān)測(cè)用。
2.激光打印機(jī)
激光印字由打印機(jī)控制器和打印裝置兩部分組成。打印機(jī)控制器一般由肝功能較強(qiáng)的處理器、緩沖存儲(chǔ)器以及相應(yīng)的輔助電路構(gòu)成,負(fù)責(zé)與主機(jī)的通信、解釋主機(jī)送來(lái)的打印語(yǔ)言。格式化打印內(nèi)容、光柵化處理等,然后送打印裝置進(jìn)行輸出。
彩色激光印字機(jī),一般帶有多種顏色的硒鼓,最典型的是C(青色)、M(品紅)、Y(黃色)、K(黑色)四種顏色。彩色印刷過程可先由處理器把彩色圖像分解成C、M、Y、K四種單色的圖像(稱為“分色”過程),再由打印裝置分4次套色印刷來(lái)完成。
3.噴墨打印機(jī)
噴墨打印機(jī)利用噴墨頭噴射出可控的墨滴從而在打印紙上形成文字或圖片,也是目前應(yīng)用較多的一種打印輸出設(shè)備。
4.顯示器
顯示器是用來(lái)顯示數(shù)字、字符、圖形和圖像的設(shè)備,它由顯示器(也稱監(jiān)視器)和顯示控制器組成。
計(jì)算機(jī)使用的顯示器主要分為兩種:
- 陰極射線管(CRT)顯示器
- LCD液晶平板顯示器
1.CRT顯示器
它由陰極射線管(CRT)、亮度控制電路(控制柵)以及掃描偏轉(zhuǎn)電路(水平/垂直掃描偏轉(zhuǎn)線圈)等部件構(gòu)成。CRT顯示器采用光柵掃描的方式顯示圖像。電子束在水平同步信號(hào)和垂直同步信號(hào)的控制下,在屏幕上按行優(yōu)先的方式形成光點(diǎn)。
水平掃描周期的倒數(shù)稱為行頻,垂直掃描周期的倒數(shù)稱為幀頻,也稱為刷新頻率。
液晶顯示器的基本原理是基于液晶如下物理特性:
液晶通電時(shí)會(huì)改變其排列次序,從而影響光線的通過。
顯示器工作時(shí)有兩種模式。一種是字符模式,顯示存儲(chǔ)器(簡(jiǎn)稱顯存、VRAM、也稱刷新存儲(chǔ)器)中存放的是字符的編碼(ASCII碼或漢字代碼)及其屬性(如加亮、閃爍等),其字形信息存放在字符發(fā)生器中。另一種模式是圖形模式,此時(shí)每一字符的點(diǎn)陣信息直接存儲(chǔ)在顯示存儲(chǔ)器中,字符在屏幕上的顯示位置可以定位到任意點(diǎn)。
彩色或單色多級(jí)灰度圖像顯示時(shí),每一個(gè)像素需要使用多個(gè)二進(jìn)位來(lái)表示,每個(gè)像素對(duì)應(yīng)的二進(jìn)位數(shù)稱為顏色深度。在圖形模式下,顯示控制器(CRTC)還能實(shí)現(xiàn)畫圖功能。
顯示控制器可以集成在主板上,這種情況下,它稱為集成顯卡;也可以以獨(dú)立的圖形顯示卡(簡(jiǎn)稱顯卡)的方式插在主板擴(kuò)充槽中稱謂獨(dú)立顯卡。
二、外部存儲(chǔ)器
1.磁表面存儲(chǔ)原理
磁表面存儲(chǔ)器中信息的存取,主要由磁層和磁頭來(lái)完成。磁層是存放信息的介質(zhì),它由非矩形剩磁特性的導(dǎo)磁材料(如氧化鐵、鎳鈷合金等)構(gòu)成。磁頭是實(shí)現(xiàn)“磁-電”和“電-磁”轉(zhuǎn)換的元件,由高導(dǎo)磁率的軟磁性材料做成鐵芯,在鐵芯上開有縫隙并繞有線圈。
①信息寫入過程
②信息讀出過程
③磁表面存儲(chǔ)器的性能指標(biāo)
- 記錄密度:道密度和位密度
- 存儲(chǔ)容量
- 平均存取時(shí)間(average access time)
- 數(shù)據(jù)傳輸速率
④數(shù)據(jù)記錄方式
數(shù)據(jù)記錄方式是指將數(shù)字信息轉(zhuǎn)換成磁表面的磁化單元所采用的各種方式。由于磁化過程是通過在磁頭中通以不同方向的電流來(lái)實(shí)現(xiàn)的,故記錄方式取決于寫電流波形的組合方式。
數(shù)據(jù)記錄方式按照寫信息所施加的電流波形的極性、頻率和相位的不同,分為歸零制、不歸零制、調(diào)相制和調(diào)頻制等。
2.硬盤存儲(chǔ)器
磁盤存儲(chǔ)器有硬盤和軟盤兩種
硬盤存儲(chǔ)器主要由三大部分組成:
- 磁記錄介質(zhì)
- 磁盤驅(qū)動(dòng)器
- 磁盤控制器
磁盤控制器包括控制邏輯、時(shí)序電路、“并->串”轉(zhuǎn)換和“串->并”轉(zhuǎn)換電路。
磁盤驅(qū)動(dòng)器包括讀寫電路、讀/寫轉(zhuǎn)換開關(guān)、讀/寫磁頭與磁頭定位伺服系統(tǒng)。
磁盤讀寫是指根據(jù)盤地址(柱面號(hào)、磁頭號(hào)、扇區(qū)號(hào))讀寫目標(biāo)磁道中的指定扇區(qū)。因此,其操作可歸納為尋道、旋轉(zhuǎn)等待和讀寫三種。
磁盤的記錄格式:

硬盤的主要技術(shù)指標(biāo)
①硬盤容量
硬盤的未格式化容量是指按道密度和位密度計(jì)算出來(lái)的容量,它包括了頭空、ID域、CRC碼等信息,是可利用的所有磁化單元的總數(shù),未格式化容量(或非格式化容量)比格式化后的實(shí)際容量要大。
對(duì)于低密度存儲(chǔ)方式,未格式化容量的計(jì)算方法為:
磁盤總?cè)萘?記錄面數(shù)*理論柱面數(shù)*內(nèi)圓周長(zhǎng)*位密度
理論柱面數(shù)=(有效記錄區(qū)外徑-有效記錄區(qū)內(nèi)徑)/2*道密度。
一個(gè)磁道能記錄的二進(jìn)制信息位(理論值)=內(nèi)圓周長(zhǎng)*位密度
格式化后的實(shí)際容量只包含數(shù)據(jù)區(qū)。通常,記錄面數(shù)約為盤片數(shù)的兩倍。假定按每個(gè)扇區(qū)512字節(jié)算,則磁盤實(shí)際數(shù)據(jù)容量(也稱為格式化容量)的計(jì)算公式為:
磁盤實(shí)際數(shù)據(jù)容量=2*盤片數(shù)*磁道數(shù)/面*扇區(qū)數(shù)/磁道*512B/扇區(qū)
②數(shù)據(jù)傳輸率是單位時(shí)間內(nèi)從磁盤盤面上讀出或?qū)懭氲亩M(jìn)制信息量。即:
數(shù)據(jù)傳輸率=每分鐘轉(zhuǎn)速/60*內(nèi)圓周長(zhǎng)*位密度
③響應(yīng)時(shí)間=排隊(duì)延遲+控制器時(shí)間+尋道時(shí)間+旋轉(zhuǎn)等待時(shí)間+數(shù)據(jù)傳輸時(shí)間
尋道時(shí)間為磁頭移動(dòng)到指定磁道所需時(shí)間。
旋轉(zhuǎn)等待時(shí)間指要讀寫的扇區(qū)旋轉(zhuǎn)到磁頭下方所需要的時(shí)間。
數(shù)據(jù)傳輸時(shí)間(transfer time)指?jìng)鬏斠粋€(gè)扇區(qū)的時(shí)間(大約0.01ms/扇區(qū))。
由于磁頭原有位置與要尋找的目的位置之間遠(yuǎn)近不一,故尋道時(shí)間和旋轉(zhuǎn)等待時(shí)間只能取平均值。
磁盤平均存取時(shí)間通常近似等于平均尋道時(shí)間和平均等待時(shí)間之和。
3.冗余磁盤陣列
RAID技術(shù)的基本思想是:將多個(gè)獨(dú)立操作的磁盤按某種方式組織成磁盤陣列,以增加容量;并用冗余磁盤技術(shù)來(lái)進(jìn)行錯(cuò)誤恢復(fù)以提高系統(tǒng)可靠性。
RAID技術(shù)有以下3個(gè)特性:(重要)
①RAID由一組物理磁盤驅(qū)動(dòng)器組成,在操作系統(tǒng)下它們被視為單個(gè)邏輯驅(qū)動(dòng)器。
②數(shù)據(jù)分布在一組物理磁盤上,可以連續(xù)分布也可以交叉分布,交叉分布時(shí)可以按小條帶交叉分布,也可以按大數(shù)據(jù)塊交叉分布。
③冗余磁盤用于存儲(chǔ)校驗(yàn)信息,保證磁盤萬(wàn)一損壞時(shí)能恢復(fù)數(shù)據(jù)。
RAID方案分為8級(jí)(0~7級(jí)),并由此派生出RAID 10(結(jié)合0和1級(jí))和RAID 30(結(jié)合0和3級(jí))和RAID 50(結(jié)合0和5級(jí))。
RAID 0不遵循以上特性③,沒有冗余,數(shù)據(jù)分布在多個(gè)物理磁盤上。
RAID 1采用鏡像盤實(shí)現(xiàn)一對(duì)一冗余。
RAID 3采用奇偶校驗(yàn)生成單個(gè)冗余盤,并使用小條帶交叉分布式。
RAID 4也采用一個(gè)冗余盤存放奇偶校驗(yàn)碼位,采用大數(shù)據(jù)塊交叉方式,每個(gè)磁盤的操作獨(dú)立進(jìn)行,所以多個(gè)小數(shù)據(jù)量的操作可以在多個(gè)磁盤上并行進(jìn)行,以同時(shí)響應(yīng)多個(gè)I/O請(qǐng)求,具有較快的I/O響應(yīng)時(shí)間。
RAID 5與RAID 4的組織方式類似,只是奇偶校驗(yàn)塊分布在各個(gè)磁盤中,采用獨(dú)立存取技術(shù)和大數(shù)據(jù)塊交叉分布方式,I/O請(qǐng)求的響應(yīng)速度快。
RAID 6與RAID 4和RAID 5一樣,采用獨(dú)立存取技術(shù)和大數(shù)據(jù)塊交叉分布方式。所不同的是RAID 6的冗余信息分布在所有磁盤上并采用雙維塊奇偶校驗(yàn)。
RAID 7是帶cache的磁盤陣列,它在RAID 6的基礎(chǔ)上,采用cache技術(shù)使傳輸率和響應(yīng)速度都有較大提高,cache分塊大小和磁盤陣列中數(shù)據(jù)分塊大小相同,一一對(duì)應(yīng)。有兩個(gè)獨(dú)立的cache,雙工運(yùn)行。在寫入時(shí)將數(shù)據(jù)同時(shí)分別寫入兩個(gè)獨(dú)立的cache;讀出時(shí),先從cache中讀出,cache中沒有要讀的信息時(shí),才從RAID中讀。
4.U盤和固態(tài)硬盤
U盤也稱為閃存盤,它采用flash存儲(chǔ)器(即閃存)做成,屬于非易失性半導(dǎo)體存儲(chǔ)器。閃存沿用了EPROM的簡(jiǎn)單結(jié)構(gòu)和浮柵/熱電子注入的編程寫入方式,又兼?zhèn)銭^2PROM的可擦除特點(diǎn),可在計(jì)算機(jī)內(nèi)進(jìn)行擦除和編程寫入。因此又稱為快擦型電可擦除重編程ROM。
移動(dòng)硬盤是由微型硬盤配上特制的硬盤盒構(gòu)成的一個(gè)大容量存儲(chǔ)器。通過USB和IEEE1394接口和計(jì)算機(jī)相連接,可以隨時(shí)插拔。
固態(tài)硬盤(solid state disk,SSD)也被稱為電子硬盤。它由一種使用NAND閃存組成的外部存儲(chǔ)系統(tǒng),和U盤并沒有本質(zhì)差別,只是容量大,存取性能更好。
SSD中包含一個(gè)或多個(gè)閃存芯片和閃存翻譯層(flash translation layer),其中的閃存芯片相當(dāng)于硬盤驅(qū)動(dòng)器,閃存翻譯層相當(dāng)于磁盤控制器,用于對(duì)邏輯塊的請(qǐng)求轉(zhuǎn)換成對(duì)底層閃存芯片的訪問。
SSD中一個(gè)閃存芯片由若干個(gè)區(qū)塊組成,每個(gè)區(qū)塊由若干頁(yè)組成,通常,頁(yè)大小為512B4KB,每個(gè)區(qū)塊由32128個(gè)頁(yè)組成,因而區(qū)塊大小為16KB~512KB,數(shù)據(jù)可以按頁(yè)為單位進(jìn)行讀寫。當(dāng)需要些某頁(yè)信息時(shí),必須先對(duì)該頁(yè)所在的區(qū)塊進(jìn)行擦除操作。一旦一個(gè)區(qū)塊被擦除過,區(qū)塊中的每一頁(yè)就可以直接再寫一次。若某一區(qū)塊進(jìn)行了大約100000次重復(fù)寫之后,就會(huì)被磨損而變成壞的區(qū)塊,不能再被使用。因此,閃存翻譯層中有一個(gè)專門的均化磨損(wear leveing)邏輯電路,試圖將擦除操作平均分布在所有區(qū)塊上,以最大限度地延長(zhǎng)SSD的使用壽命。
SSD通過標(biāo)準(zhǔn)的硬盤接口(SATA或USB)插槽連接到主機(jī)上,其外部接口的行為和硬盤一樣,處理的也是來(lái)自CPU的磁盤邏輯塊的讀寫請(qǐng)求,文件系統(tǒng)以邏輯塊為單位在SSD上為文件分配空間。
三、外設(shè)與CPU、主存的互連
1.總線概述
互連結(jié)構(gòu):連接各部件的通路的集合。
分散連接:各部件之間通過單獨(dú)的連線互連。
總線連接:將多個(gè)部件連接到一組公共信息傳輸線上。
總線是計(jì)算機(jī)內(nèi)數(shù)據(jù)傳輸?shù)墓猜窂剑糜趯?shí)現(xiàn)兩個(gè)或兩個(gè)以上部件之間的信息交換。
內(nèi)部總線指芯片內(nèi)部連接各元件的總線。
系統(tǒng)總線指連接CPU、存儲(chǔ)器和各種I/O模塊等主要部件的總線。
系統(tǒng)總線通常由一組控制線、一組數(shù)據(jù)線和一組地址線構(gòu)成。
也有些總線沒有單獨(dú)的地址線,地址信息通過數(shù)據(jù)線來(lái)傳送,這種情況為數(shù)據(jù)線和地址線復(fù)用,稱為信號(hào)線復(fù)用。
同步總線采用公共的時(shí)鐘信號(hào)進(jìn)行定時(shí),掛接在總線上的所有設(shè)備都從時(shí)鐘線上獲得定時(shí)信號(hào)。
同步總線通常采用并行傳輸方式。
現(xiàn)在越來(lái)越多的總線采用異步串行方式進(jìn)行傳輸,每次在一根信號(hào)線上傳送數(shù)據(jù)位。通常多個(gè)數(shù)據(jù)通道的組合,可以實(shí)現(xiàn)比傳統(tǒng)并行總線高得多的數(shù)據(jù)傳輸帶寬。
總線的性能指標(biāo)通常包含以下幾個(gè)方面:
①總線寬度
總線中數(shù)據(jù)線的條數(shù)稱為總線寬度,它決定了同時(shí)傳輸?shù)男畔⑽粩?shù)。
②總線的工作頻率
總線的工作頻率(也稱為總線時(shí)鐘頻率)指用于總線上對(duì)各種操作進(jìn)行定時(shí)的時(shí)鐘信號(hào)的頻率。通常以MHz或GHz為單位。
③總線的帶寬
總線帶寬指總線的最大數(shù)據(jù)傳輸率,即總線在進(jìn)行數(shù)據(jù)傳輸時(shí)單位時(shí)間內(nèi)最多可傳輸?shù)臄?shù)據(jù)量,不考慮其他如總線裁決、地址傳送等所花的時(shí)間??偩€帶寬的計(jì)算公式為:
B=W*F/N
其中,
W為總線寬度,通常以字節(jié)為單位;
F為總線時(shí)鐘頻率;
N為完成一次數(shù)據(jù)傳送所用的時(shí)鐘周期數(shù)。
④總線的尋址能力
總線的尋址能力主要指由地址位數(shù)所確定的可尋址地址空間的大小。
⑤總線的定時(shí)方式
按照總線上信息傳送的定時(shí)方式來(lái)分,有三類:
- 同步通信
- 異步通信
- 半同步通信
同步通信總線由時(shí)鐘信號(hào)同步;
異步通信總線指前一個(gè)信號(hào)的結(jié)束就是下一個(gè)信號(hào)的開始,信息的改變是順序的;
半同步通信總線則是同步和異步兩類總線定時(shí)方式的結(jié)合。
⑥總線的突發(fā)傳送
總線上數(shù)據(jù)傳送分正常的非突發(fā)方式和突發(fā)方式兩種。
正常的傳送方式在每個(gè)傳送周期內(nèi)都是先傳送地址,再傳送數(shù)據(jù)。
在突發(fā)(burst)傳送方式下,總線能夠進(jìn)行連續(xù)的成塊數(shù)據(jù)傳送,傳送開始時(shí),先給數(shù)據(jù)塊在存儲(chǔ)器中的首地址,然后連續(xù)地傳送數(shù)據(jù)塊,后續(xù)數(shù)據(jù)的地址默認(rèn)為前面數(shù)據(jù)的地址加1。
⑦總線的負(fù)載能力
總線的負(fù)載能力指總線上所能掛接的遵循總線電氣規(guī)范的總線設(shè)備的數(shù)目。


2.基于總線的互連結(jié)構(gòu)

北橋是一個(gè)主存控制器集線器(Memory Controller Hub,MCH)芯片,本質(zhì)上是一個(gè)DMA(Direct Memory Access)控制器,因此,可通過MCH芯片,直接訪問主存和顯卡中的顯存。
南橋是一個(gè)I/O控制器集線器(I/O Controller Hub,ICH)芯片,其中可以集成USB控制器、磁盤控制器、以太網(wǎng)控制器等各種外設(shè)控制器,也可以通過南橋芯片引出若干主板擴(kuò)展槽,用以接插一些I/O控制卡,如聲卡、視頻卡(顯卡)、網(wǎng)卡等。
1.處理器總線
早期的Intel微處理器的處理器總線稱為前端總線(Front Side Bus,F(xiàn)SB),它是主板上最快的總線,主要用作處理器與北橋芯片進(jìn)行信息交換。
FSB的傳輸速率單元實(shí)際上是MT/s,通常所說(shuō)的總線傳輸速率單位MHz是習(xí)慣上的稱呼,實(shí)際上是時(shí)鐘頻率單位。
Intel Core i7是一個(gè)4核處理器芯片,Intel推出Core i7時(shí),北橋芯片的功能被集成到了CPU芯片內(nèi),CPU通過存儲(chǔ)器總線(即內(nèi)存條插槽)直接和內(nèi)存條相連,而在CPU芯片內(nèi)部的核與核之間、CPU芯片與其他芯片之間,以及CPU芯片與IOH(Input/Output Hub)芯片之間,則通過QPI(QuickPath Interconnect)總線相連。
QPI總線是一種基于包傳輸?shù)拇懈咚冱c(diǎn)對(duì)點(diǎn)連接協(xié)議,采用差分信號(hào)與專門的時(shí)鐘信號(hào)進(jìn)行傳輸。QPI總線有20條數(shù)據(jù)線,發(fā)送(TX)和接收方(RX)有各自的時(shí)鐘信號(hào),每個(gè)時(shí)鐘周期傳輸兩次。一個(gè)QPI數(shù)據(jù)包包含80位,需要兩個(gè)時(shí)鐘周期或4次傳輸,才能完成整個(gè)數(shù)據(jù)包的傳送。在每次傳輸?shù)?0位數(shù)據(jù)中,有16位時(shí)有效數(shù)據(jù),其余4位用于循環(huán)冗余校驗(yàn)。
每個(gè)QPI總線的帶寬計(jì)算公式:
每秒傳輸次數(shù)每次傳輸?shù)挠行?shù)據(jù)2
QPI總線的速度單位通常是GT/s,若QPI的時(shí)鐘頻率為2.4GHz,則速度為4.8GT/s,表示每秒鐘傳輸4.8G次數(shù)據(jù),并稱該QPI頻率為4.8GT/s,此時(shí)總帶寬是4.8GT/s2B2=19.2GB/s。

2.存儲(chǔ)器總線
早期的存儲(chǔ)器總線由北橋芯片控制,處理器通過北橋芯片和主存儲(chǔ)器、圖形卡(顯卡)以及南橋芯片進(jìn)行互連。Core i7以后的處理器芯片中集成了內(nèi)存控制器,因而,存儲(chǔ)器總線直接連接到處理器。圖中,主存儲(chǔ)器可直接插在三通道DDR3-1333 SDRAM的內(nèi)存插槽(存儲(chǔ)器總線)上。
根據(jù)芯片組設(shè)計(jì)時(shí)的確定的芯片組能夠處理的主存類型的不同,存儲(chǔ)器總線有不同的運(yùn)行速度。
3.I/O總線
I/O總線用于為系統(tǒng)中的各種I/O設(shè)備提供輸入/輸出通路,在物理上通常是主板上的一些I/O擴(kuò)展槽。
早期的第一代I/O總線有XT總線、ISA總線、EISA總線、VESA總線,這些I/O總線早已被淘汰;
第二代I/O總線包括PCI、AGP、PCI-X;
第三代I/O總線是PCI-Express。
PCI-Express總線采用串行傳輸方式。兩個(gè)PCI-Express設(shè)備之間以一個(gè)鏈路(link)相連,每個(gè)鏈路可包含多條通路(lane),可能的通路數(shù)為1、2、4、8、16或32,PCI-Express n表示具有n個(gè)通路的PCI-Express鏈路。
PCI-Express 1.0規(guī)范支持通路中每個(gè)方向的發(fā)送或接受速率為2.5Gb/s
。因此,PCI-Express 1.0總線的總帶寬計(jì)算公式(單位為GB/s)如下:
2.5Gb/s 2 通路數(shù) / 10
在PCI-Express 1.0規(guī)范下,
PCI-Express 1的總帶寬為0.5GB/s;
PCI-Express 2的總帶寬為1GB/s;
PCI-Express 16的總帶寬為8GB/s。
四、I/O接口
1.I/O接口的基本概念
1.I/O接口
I/O接口是介于外設(shè)和I/O總線之間,用來(lái)解決各個(gè)外設(shè)和主機(jī)之間的同步與協(xié)調(diào)、工作速度的匹配和數(shù)據(jù)格式的轉(zhuǎn)換等問題的邏輯部件。外設(shè)的I/O接口又稱設(shè)備控制器或I/O控制器或I/O控制接口,也稱為I/O模塊。
I/O接口是連接外設(shè)和主機(jī)的一個(gè)“橋梁”,因此它在外設(shè)側(cè)和主機(jī)側(cè)各有一個(gè)接口。通常把它在主機(jī)側(cè)的接口稱為內(nèi)部接口,在外設(shè)側(cè)的接口稱為外部接口。

2.I/O接口的功能
I/O接口的功能:
①數(shù)據(jù)緩沖:在I/O接口中引入數(shù)據(jù)緩沖寄存器,以達(dá)到主機(jī)和外設(shè)工作速度的匹配。
②錯(cuò)誤或狀態(tài)檢測(cè):在I/O接口中提供狀態(tài)寄存器,以保存各種狀態(tài)信息,供CPU查用。
③控制和定時(shí):接受從系統(tǒng)總線來(lái)的控制命令和定時(shí)信號(hào),并提供控制和定時(shí)邏輯,以實(shí)現(xiàn)對(duì)數(shù)據(jù)通信過程的控制??刂泼钪竿ㄟ^系統(tǒng)總線中的數(shù)據(jù)線傳送到控制寄存器中的命令字,I/O接口中的外設(shè)界面控制邏輯根據(jù)命令字的譯碼結(jié)果來(lái)控制I/O接口與設(shè)備之間的數(shù)據(jù)通信過程。
④數(shù)據(jù)格式轉(zhuǎn)換:提供數(shù)據(jù)格式轉(zhuǎn)換部件(如進(jìn)行串---并轉(zhuǎn)換的移位寄存器),使通過外部接口得到的數(shù)據(jù)轉(zhuǎn)換為內(nèi)部接口需要的格式,或在相反的方向進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。
3.I/O接口的通用結(jié)構(gòu)

4.I/O端口及其編址
I/O端口實(shí)際上就是I/O接口中的寄存器。
給所有I/O接口中各個(gè)可訪問的寄存器進(jìn)行編址,有兩種方式:
- 獨(dú)立編址
- 統(tǒng)一編址
1.獨(dú)立編址方式
獨(dú)立編址方式對(duì)所有的I/O端口單獨(dú)進(jìn)行編號(hào),使它們成為一個(gè)獨(dú)立的I/O地址空間。指令系統(tǒng)中需要有專門的I/O指令來(lái)訪問I/O端口,I/O指令中地址碼部分給出I/O端口號(hào)。
獨(dú)立編址方式下,I/O地址空間和主存地址空間是兩個(gè)獨(dú)立的地址空間,無(wú)法從地址碼的形式上區(qū)分,需用專門的I/O指令來(lái)表明訪問的是I/O地址空間。CPU執(zhí)行I/O指令時(shí),會(huì)產(chǎn)生I/O讀或I/O寫總線事務(wù),CPU通過I/O讀或I/O寫總線事務(wù)訪問I/O端口。
2.統(tǒng)一編址方式
統(tǒng)一編址方式下,I/O地址空間與主存地址空間統(tǒng)一編址,也即,將主存地址空間分出一部分地址給I/O端口進(jìn)行編號(hào),根據(jù)地址范圍就可區(qū)分訪問的是I/O端口還是主存單元,無(wú)需設(shè)置專門的I/O指令,只是用一般的訪存指令就可以存取I/O端口。
因?yàn)檫@種方法是將I/O端口映射到主存空間的某個(gè)地址段上,所以,也被稱“為存儲(chǔ)器映射方式”。


五、I/O數(shù)據(jù)傳送控制方式
1.程序直接控制I/O方式
I/O數(shù)據(jù)傳送主要有三種不同的控制方式:
- 程序直接控制
- 中斷控制
- DMA控制
程序直接控制方式直接通過查詢程序來(lái)控制主機(jī)和外設(shè)之間的數(shù)據(jù)交換,通常有以下兩種類型:
1.無(wú)條件傳送方式
無(wú)條件傳送方式也稱同步傳送方式,主要用于對(duì)一些簡(jiǎn)單外設(shè)(如開關(guān)、繼電器、7段顯示器或機(jī)械式傳感器等)在規(guī)定的時(shí)間用相應(yīng)的I/O指令對(duì)接口中的寄存器進(jìn)行信息的輸入或輸出。其實(shí)質(zhì)是通過程序來(lái)定時(shí),以同步傳送數(shù)據(jù)。
2.條件傳送方式
條件傳送方式也稱為異步傳送方式。通過在查詢程序中安排相應(yīng)的I/O指令,由這些指令直接從I/O接口中取得外設(shè)和接口的狀態(tài),如:“就緒(Ready)”、“忙(Busy)”、“完成(Done)”等,根據(jù)這些狀態(tài)來(lái)控制外設(shè)和主機(jī)的信息交換。也稱為程序查詢方式。
CPU和外設(shè)之間完成一次數(shù)據(jù)交換過程:
①CPU執(zhí)行相應(yīng)的I/O指令向該接口送出“啟動(dòng)”命令,設(shè)備選擇電路對(duì)CPU送出的地址進(jìn)行譯碼,選中本I/O接口;
②I/O接口通過連接電纜向外設(shè)發(fā)送“啟動(dòng)設(shè)備”命令;
③外設(shè)準(zhǔn)備好一個(gè)數(shù)據(jù),通過電纜向I/O接口中的數(shù)據(jù)緩沖寄存器輸入數(shù)據(jù);
④外設(shè)向I/O接口回送“設(shè)備工作結(jié)束”狀態(tài)信號(hào);
⑤CPU通過執(zhí)行指令不斷讀取I/O接口狀態(tài)。查詢到外設(shè)“準(zhǔn)備就緒”;
⑥CPU通過執(zhí)行I/O指令從數(shù)據(jù)緩沖寄存器讀取數(shù)據(jù)。
根據(jù)查詢被啟動(dòng)的方式的不同,條件式程序查詢方式有兩種:
- 定時(shí)查詢
- 獨(dú)占查詢
①定時(shí)查詢時(shí)指周期性地查詢接口狀態(tài),每次查詢總是一直等到條件滿足,才進(jìn)行一個(gè)數(shù)據(jù)的傳送,傳送完成后返回。定時(shí)查詢的時(shí)間間隔與設(shè)備的數(shù)據(jù)傳輸率有關(guān)。
②獨(dú)占查詢方式下,CPU被獨(dú)占用于某設(shè)備的I/O,完全控制I/O整個(gè)過程,也即CPU花費(fèi)100%的時(shí)間在I/O操作上,此時(shí),外設(shè)和CPU完全串行工作。






2.程序中斷I/O方式
1.中斷的概念
中斷控制I/O方式下,一旦外設(shè)完成任務(wù),就會(huì)向CPU發(fā)中斷請(qǐng)求。然后CPU暫停正在執(zhí)行的其他進(jìn)程,調(diào)出中斷服務(wù)程序來(lái)執(zhí)行。執(zhí)行結(jié)束中斷返回,回到被打斷的處繼續(xù)執(zhí)行。

現(xiàn)代計(jì)算機(jī)系統(tǒng)中都配有完善的異常和中斷處理系統(tǒng),它們有兩個(gè)重要的不同點(diǎn)。
①“缺頁(yè)”或“溢出”等異常事件是在執(zhí)行特定指令過程中產(chǎn)生的,而中斷相對(duì)于指令的執(zhí)行則是異步的。也就是說(shuō),中斷不和任何指令相關(guān)聯(lián),也不阻止任何指令的完成。因此,CPU只需要在一條新指令的指令周期開始之前,檢測(cè)是否有外部發(fā)來(lái)的中斷請(qǐng)求即可。
②異常的發(fā)生和異常事件的類型是由CPU自身發(fā)現(xiàn)和識(shí)別的,不必通過外部的某個(gè)信號(hào)通知CPU,而對(duì)于中斷,CPU必須通過對(duì)外部中斷請(qǐng)求線進(jìn)行采樣,并從總線上獲取相應(yīng)的中斷源設(shè)備的標(biāo)識(shí)信息,才能獲知哪個(gè)設(shè)備發(fā)生了何種中斷。
2.中斷系統(tǒng)的基本職能和結(jié)構(gòu)
每個(gè)計(jì)算機(jī)系統(tǒng)的中斷功能可能不完全相同,但其基本功能有:
①及時(shí)記錄各種中斷請(qǐng)求信號(hào)。通常用一個(gè)中斷請(qǐng)求寄存器來(lái)保存。
②自動(dòng)響應(yīng)中斷請(qǐng)求。CPU在每條指令執(zhí)行完、下條指令取出前,會(huì)自動(dòng)檢測(cè)中斷請(qǐng)求引腳,發(fā)現(xiàn)有中斷請(qǐng)求時(shí),則根據(jù)情況決定是否響應(yīng)和響應(yīng)哪個(gè)中斷請(qǐng)求。
③自動(dòng)判優(yōu)。在有多個(gè)中斷請(qǐng)求同時(shí)產(chǎn)生時(shí),能夠判斷出哪個(gè)中斷的優(yōu)先級(jí)高,選擇優(yōu)先級(jí)高的中斷先被響應(yīng)。
中斷源的識(shí)別和判優(yōu)方法可分為兩大類:
- 軟件查詢
- 硬件判優(yōu)
①采用軟件查詢方法:
當(dāng)CPU檢測(cè)到中斷請(qǐng)求時(shí),通過中斷響應(yīng),自動(dòng)轉(zhuǎn)到一個(gè)特定的中斷查詢程序,在中斷查詢程序中,按中斷優(yōu)先順序依次查詢哪個(gè)設(shè)備有中斷請(qǐng)求,并轉(zhuǎn)到第一個(gè)查詢到有請(qǐng)求的中斷服務(wù)程序去執(zhí)行。對(duì)于這種用軟件進(jìn)行中斷識(shí)別的方式,其中斷接口的硬件結(jié)構(gòu)很簡(jiǎn)單,只要一根中斷請(qǐng)求線和一個(gè)中斷請(qǐng)求寄存器,而且,可通過改變軟件中的查詢順序來(lái)改變中斷響應(yīng)優(yōu)先級(jí)。
②采用硬件判優(yōu)方法:
硬件判優(yōu)方式是一種向量中斷方式,它不同于軟件查詢的中斷處理技術(shù)。它根據(jù)中斷控制器接口(如PIC)中的中斷判優(yōu)電路和編碼器等,得到當(dāng)前所有未被屏蔽的中斷請(qǐng)求中具有最高響應(yīng)優(yōu)先權(quán)的中斷源類型(即中斷源標(biāo)識(shí)信息),通過編碼器輸出的i最終被送到CPU中,CPU根據(jù)i的值找到對(duì)應(yīng)的中斷服務(wù)程序的首地址PC和初始PSW。
4.保護(hù)被中斷程序的斷點(diǎn)和現(xiàn)場(chǎng)。因?yàn)橹袛囗憫?yīng)后要轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,而執(zhí)行完中斷服務(wù)程序后,還要回到原來(lái)的程序繼續(xù)運(yùn)行。所以原程序被中止處的指令地址和遠(yuǎn)程序的程序狀態(tài)和各寄存器的內(nèi)容等必須被保存,以便能正確回到原被中止處繼續(xù)執(zhí)行。
5.中斷屏蔽。
通過中斷屏蔽實(shí)現(xiàn)多重中斷的嵌套執(zhí)行,中斷屏蔽功能通過一個(gè)中斷屏蔽字寄存器來(lái)實(shí)現(xiàn)。
中斷系統(tǒng)允許CPU在執(zhí)行某個(gè)中斷服務(wù)程序時(shí),被新的中斷請(qǐng)求打斷,這就是中斷嵌套技術(shù)。但是并不是所有的中斷處理都可被新的中斷打斷,對(duì)于一些重要的緊急事件的處理,就要設(shè)置成不可被其他新中斷事件打斷,這就是中斷屏蔽的概念。
在中斷系統(tǒng)中設(shè)置中斷屏蔽字來(lái)實(shí)現(xiàn)。屏蔽字中的每一位對(duì)應(yīng)某一個(gè)外設(shè)或中斷源,稱為該外設(shè)的中斷屏蔽位,例如,用“1”表示允許中斷,“0”表示不允許中斷(即屏蔽中斷)。CPU通過在程序中執(zhí)行相應(yīng)的指令來(lái)修改屏蔽字的內(nèi)容,從而動(dòng)態(tài)地改變中斷處理的先后次序。
中斷嵌套(多重中斷):

中斷系統(tǒng)中存在兩種中斷優(yōu)先級(jí):
- 中斷響應(yīng)優(yōu)先級(jí)
- 中斷處理優(yōu)先級(jí)
中斷響應(yīng)優(yōu)先級(jí)是由查詢程序或中斷判優(yōu)電路決定的優(yōu)先級(jí),它反映的是多個(gè)中斷同時(shí)請(qǐng)求時(shí)選擇哪個(gè)先被響應(yīng)。中斷處理優(yōu)先級(jí)是由各自的中斷屏蔽字來(lái)動(dòng)態(tài)設(shè)定的,反映了本中斷與其他所有中斷之間的處理優(yōu)先關(guān)系。在多重中斷系統(tǒng)中通常用中斷屏蔽字對(duì)中斷處理優(yōu)先級(jí)進(jìn)行動(dòng)態(tài)分配。
3.中斷過程
中斷過程包括兩個(gè)階段:
- 中斷響應(yīng)
- 中斷處理
中斷響應(yīng)階段由硬件實(shí)現(xiàn),
而中斷處理階段則由CPU執(zhí)行中斷服務(wù)程序來(lái)完成,所以中斷處理是由軟件實(shí)現(xiàn)的。
①中斷響應(yīng)
中斷響應(yīng)是指主機(jī)發(fā)現(xiàn)中斷請(qǐng)求,中止現(xiàn)行程序的執(zhí)行,到調(diào)出中斷服務(wù)程序這一過程,因此,中斷響應(yīng)過程是處理器從一個(gè)進(jìn)程切換到另一個(gè)進(jìn)程的過程。
需要保存兩類信息:現(xiàn)場(chǎng)信息和斷點(diǎn)信息。
現(xiàn)場(chǎng)信息是用戶可見的通用寄存器的內(nèi)容,這些通用寄存器中存放著程序執(zhí)行到斷點(diǎn)處的現(xiàn)行值;
斷點(diǎn)信息是用指令無(wú)法直接讀取的程序計(jì)數(shù)器PC和程序狀態(tài)字寄存器PSWR等的內(nèi)容。
中斷響應(yīng)的條件:
- CPU處于“開中斷”狀態(tài)。
- 至少要有一個(gè)未被屏蔽的中斷請(qǐng)求。
- 當(dāng)前指令剛執(zhí)行完。
在中斷響應(yīng)周期中,通過執(zhí)行一條隱指令,完成以下幾個(gè)操作。
(1)關(guān)中斷:將中斷允許標(biāo)志置為禁止(即“關(guān)中斷”)狀態(tài),這時(shí)將屏蔽掉所有可屏蔽中斷請(qǐng)求。
(2)保護(hù)斷點(diǎn):將PC和PSW送入?;蛱厥饧拇嫫鳌?br> (3)識(shí)別中斷源并轉(zhuǎn)中斷服務(wù)程序:通過某種方式,獲得優(yōu)先級(jí)最高的中斷源所對(duì)應(yīng)的中斷服務(wù)程序的首地址和初始PSW,并分別送PC和PSWR。
②中斷處理
中斷處理就是CPU執(zhí)行一個(gè)中斷服務(wù)程序的過程,完全由軟件完成。中斷服務(wù)程序包含三個(gè)階段:
- 準(zhǔn)備階段
- 處理階段
- 恢復(fù)階段
中斷服務(wù)程序的典型結(jié)構(gòu):

如果有開中斷和關(guān)中斷則可以實(shí)現(xiàn)多重中斷,即中斷的嵌套。如果沒有,則只能實(shí)現(xiàn)單重中斷。


3.DMA方式
DMA(Direct Memory Access)稱為直接存儲(chǔ)器存取,該輸入輸出方式用專門的DMA接口硬件來(lái)控制外設(shè)與主存的直接數(shù)據(jù)交換,數(shù)據(jù)不通過CPU。通常把專門用來(lái)控制總線進(jìn)行DMA傳送的接口硬件稱為DMA控制器。在進(jìn)行DMA傳送時(shí),CPU讓出總線控制權(quán),由DMA控制器控制總線,通過“竊取”一個(gè)主存周期完成和主存之間的一次數(shù)據(jù)交換,或獨(dú)占若干個(gè)主存周期完成一批數(shù)據(jù)的交換。
1.三種DMA方式
①CPU停止法:
DMA傳輸時(shí),由DMA控制器發(fā)一個(gè)停止信號(hào)給CPU,使CPU脫離總線,停止訪問主存,直到DMA傳送一塊數(shù)據(jù)結(jié)束。
②周期挪用法:
DMA傳輸時(shí),CPU讓出一個(gè)總線事務(wù)周期,由DMA控制器挪用一個(gè)主存周期來(lái)訪問主存,傳送完一個(gè)數(shù)據(jù)后立即釋放總線。是一種單字傳送方式。
③交替分時(shí)訪問法:
每個(gè)存儲(chǔ)周期分成兩個(gè)時(shí)間片,一個(gè)給CPU,一個(gè)給DMA,這樣在每個(gè)存儲(chǔ)周期內(nèi),CPU和DMA都可訪問存儲(chǔ)器。
2.DMA操作步驟
第一步:DMA控制器的預(yù)置(初始化)。
進(jìn)程P1在進(jìn)行數(shù)據(jù)傳送之前,先通過內(nèi)核執(zhí)行一段初始化程序,完成對(duì)DMA控制器中各參數(shù)寄存器的初始值的設(shè)定。主要操作包括以下三個(gè)方面。
①準(zhǔn)備內(nèi)存區(qū):
若是從外設(shè)輸入數(shù)據(jù),則進(jìn)行內(nèi)存緩沖區(qū)的申請(qǐng),并對(duì)緩沖區(qū)進(jìn)行初始化;
若是輸出數(shù)據(jù)到外設(shè),則先在內(nèi)存準(zhǔn)備好數(shù)據(jù)。
②設(shè)置傳送參數(shù):
執(zhí)行I/O指令來(lái)測(cè)試外設(shè)狀態(tài),并對(duì)DMA控制器設(shè)置各種參數(shù)。例如,將內(nèi)存首址傳送到地址寄存器,將字計(jì)數(shù)值傳送到字計(jì)數(shù)器,將讀/寫命令字傳送到控制寄存器,將設(shè)備地址傳送到設(shè)備地址寄存器等。
③發(fā)送“啟動(dòng)DMA傳送”命令,然后調(diào)度CPU執(zhí)行進(jìn)程P2。
第二步:DMA數(shù)據(jù)傳送(DMA傳送)
CPU對(duì)DMA傳送參數(shù)進(jìn)行預(yù)置并發(fā)送“啟動(dòng)DMA傳送”命令后,就把數(shù)據(jù)傳送的工作交給了DMA控制器。在整個(gè)DMA傳送過程中,不再需要CPU的參與,完全由DMA控制器實(shí)現(xiàn)數(shù)據(jù)的傳送。DMA控制器將內(nèi)存地址送到總線,并在總線的讀/寫控制線上發(fā)出“讀”命令或“寫”命令,隨后在數(shù)據(jù)線上給出數(shù)據(jù)。DMA控制器每完成一個(gè)數(shù)據(jù)的傳送,就將字計(jì)數(shù)器減1,并修改地址寄存器中的主存地址。當(dāng)字計(jì)數(shù)器為0時(shí),完成所有I/O操作。
第三步:DMA結(jié)束處理(后處理):
當(dāng)字計(jì)數(shù)器為“0”,則發(fā)出“DMA結(jié)束”中斷請(qǐng)求信號(hào)給CPU,轉(zhuǎn)入中斷服務(wù)程序,做一些數(shù)據(jù)校驗(yàn)等后處理工作。


