Transcript 第三章
第三章
輸出入裝置的控制
本章概要
•輸出入裝置
•標準介面
•資料傳輸
•介面電路
•CPU與輸出入裝置的資料傳送
•CPU如何處理多個中斷要求
•CPU與記憶體及輸出入裝置的連接
•橋接器
•網路介面
•錯誤檢查碼
輸出入裝置(Input/Output Devices)
又稱週邊裝置(Peripheral Devices);可細
分成輸入裝置,如鍵盤、滑鼠、搖桿、
數位相機、數位攝影機、各類感測器等
等。輸出裝置,如列表機、螢幕、喇叭、
馬達、告示看板、警示器、遙控裝置等
等。
CPU的介面連接系統圖
CPU
高速匯流排(前置匯流排, FSB)
主機板晶片
AGP
顯示晶片
北橋電路
主記憶體
DDR SDRAM
視訊記憶體
低速匯流排
USB
Parallel Port
LAN Interface
南橋電路
FD
8 Channel audio
SATA
IDE PCI
COM
Port
北橋電路
主要的傳送系統分成三個部份:
1. 主記憶體。其插槽分成SIMM可提供32
位元資料寬度的單面記憶體插槽介面(主
機板上記憶體插槽的接腳是單面的)與
DIMM可提供64位元的資料寬度,雙面
記憶體插槽介面(主機板上記憶體插槽的
接腳是雙面的)。
2. AGP (Accelerated Graphics Port, 繪圖加速
埠)。是顯示記憶體在大量畫面的資料傳
輸顯示介面。
3. 南橋電路傳送的資料。負責處理較低速
的輸出入裝置介面資料傳送;在介面電
路上已有一些固定的標準規格,供廠商
們直接在設計時使用。
標準介面電路
PCI 週邊組件互連介面:網路卡、音效卡、
影音卡、顯示卡等等,需要特殊傳輸與
轉換介面電路卡的插槽,其資料以32 bits
傳輸,速率為133M bps,頻率為33MHz。
IDE 整合電子式驅動介面:硬碟驅動的
技術規格,供硬碟、光碟、CD/RW等使
用匯流排插槽。
USB 通用串列匯流排:供鍵盤、滑鼠、
隨身碟、無線網路卡、記憶卡讀卡機、
數位相機資料輸入插孔等等。
ATA :硬碟與電腦連接的規格,一般後
面標有資料傳輸速率。(SATA 串列式
ATA 1.5Gbps)
PS/2 Port :供滑鼠、鍵盤連接的介面為
圓形六針插頭。
ISA 工業標準架構匯流排:早期介面卡
插槽,由於速度較慢(8MHz,16bits),現
多已被PCI取代。
FD :供軟式磁碟介面的匯流排插槽。
Parallel Port 並列埠介面:通常連接列表
機供資料並列傳送,為25針接頭。
Serial Port 串列埠介面:又稱COM Port
( 通訊埠,有分二個為COM1,COM2)是
電腦的通訊介面,供滑鼠、數據機等資
料串列傳送使用,為9針接頭。
LAN 區域網路介面:有些內建主機板,
提供網路連線傳輸處理接頭,並加速其
資料處理。
8 Channel Audio(八頻道音效):較
新的主機板,有內建多媒體的多聲道
喇叭輸出,環繞音效介面。 而有些
主機板內建音效卡,直接提供喇叭、
麥克風及聲音信號的輸出入接孔。
EISA (擴充工業標準結構介面):是
增強ISA所得的工業標準,32位元的
匯流排且支援33Mbps的資料傳輸。
資料傳輸
• 資料傳輸線路
• 傳輸控制線路
• 同步脈波線路
• 資料傳送速率
• 資料格式
• 單一線路傳送
• 無線傳送
在傳輸資料的二者(CPU與輸出入裝置介面電路)
間,所要連接的線路分成三種:
資料傳輸線路
傳輸控制線路
同步脈波線路
傳輸線路
記憶體
資料傳輸線路
CPU
傳輸控制線路
同步脈波線路
輸出入裝置
介面
資料傳輸線路(Data Transfer Bus)
並列式(Parallel Mode)
並列式傳送
發射
1
0
1
0
1
1
0
0
接收
接收端資料讀取的同步取樣
1
0
1
0
1
1
0
0
發射
落 理 超
後 想 前
接收
脈波歪斜
1
0
1
0
0
0
0
0
發射
取樣
接收
串列式(Serial Mode)
串列式屬長距離單線式設計,傳輸之間
僅有一條線路,資料以一個位元逐一傳
送,優點是遠距離佈線時非常節省線路,
所以這種串列式較廣泛被使用,而缺點
是傳送較並列式慢。
串列式資料傳輸
0 0 1 1 0 1 0 1
發射
接收
t7 t6 t5t4 t3 t2 t1 t0
單向控制式:傳送資料的雙方,是僅能
由CPU控制資料的讀取成送出,而裝置
是被動的。
相互控制式:傳送資料的雙方,都可以
做資料要求與給予的控制動作。
單向控制式,其控制線路完全由CPU操
作。
對輸入裝置而言,當CPU需要裝置資料
時,會先利用狀態讀取線路,檢查輸入
裝置目前是否有資料要輸入?或是在可
輸入資料的狀態下;若是有資料要輸入,
則要求資料讀取的控制線路,執行資料
的輸入動作,否則CPU必須一直檢查到
可輸入的狀態,才可以做資料讀取動作。
對輸出裝置而言,當CPU需要對裝置輸
出資料時,會先利用狀態讀取線路,檢
查輸出裝置目前是否在可輸出資料的狀
態下,若是有資料要輸出,則要求資料
輸出的控制線路,執行資料的輸出動作,
否則CPU必須一直檢查到可輸出的狀態,
才可以做資料輸出動作。
相互控制式
相互控制式的輸入或輸出裝置,其控制
線路,除了由CPU主動控制,對裝置的
資料輸入或輸出;還有另一組是由輸入
或輸出裝置,主動要求CPU來讀取或送
出資料。
輸入裝置會主動透過資料輸入控制線路,
要求CPU準備接收資料,若CPU可接收輸
入,就利用允許輸入通知線路,告知輸
入裝置可傳入資料;否則輸入裝置必須
等待,CPU通知才能做輸入動作;同樣的
CPU也可主動要求輸入裝置,將所需的資
料輸入,這種做法也必須待輸入裝置允
許後,才可進行資料傳送。
輸出裝置會主動透過資料輸出控制線路,
要求CPU送出資料過來,若CPU可做資
料輸出,就利用允許輸出通知線路,告
知輸出裝置可接收資料;否則輸出裝置
必須等待CPU通知,才能做輸出動作;
同樣的CPU亦可主動要求輸出裝置,做
指定的資料輸出。
雙向控制式
有些儲存裝置是又可做資料讀取(輸入裝
置),而又能做資料寫入(輸出裝置),這
類裝置都具有雙向作業的功能,而且有
些動作是CPU主動控制傳送,而有的是
裝置主動要求傳送,在程序上有不同;
此稱為雙向控制式。
握手(Handshake)
一般在處理資料的存取裝置如磁碟或磁
帶時,主要是以CPU做主動的控制;首
先是決定讀寫的要求通知裝置,然後檢
查裝置是否在可使用的狀態,若可使用
或收到裝置的允許通知,則立即通知資
料位址與資料量,開始做連續的資料存
取動作,直到傳送完成通知連繫結束;
若在傳送過程中,發生狀況裝置會立即
反映給CPU,由CPU中斷傳送動作或去
排除狀況繼續做傳送工作。
有時CPU會將資料傳送的主動權交由裝
置來做,其方式是在裝置需要資料時會
主動要求CPU傳送資料,當然CPU必須
視目前的工作是否可以中斷來處理資料
傳送,若可以則通知裝置,然後開始傳
送資料,反之CPU若暫時無法中斷,則
裝置要求的資料傳送動作必須等待。
並列式與串列式傳送的內部暫存器設計
同步傳送(Synchronous Transfer)
記憶體
資料傳輸線路
傳輸控制線路
CPU
同步脈波線路
輸出入裝置
介面
取樣時間
同步傳送,主要不僅傳送速度要快,而
且在於同步控制脈波(Clock)在資料讀取
時,必須一致即取樣時間要正確。
取樣的時間如果不正確,有的超前,有
的落後,會造成讀取的錯誤;而這個取
樣時間,是考慮同步控制脈波的動作緣。
非同步傳送(Non-synchronous Transfer)
傳輸介面
記憶體
相位鎖
定電路
資料傳輸線路
資料
監視
電路
傳輸控制線路
資料
監視
電路
相位鎖
定電路
輸出入裝置
介面
CPU
內部控制脈波
內部控制脈波
非同步傳送時,資料信號都加上同步信
號,來調整彼此的頻率與相位。
在基準頻率(Base Frequency)的不同或
有相位(Phase)的落差時,是無法傳送資
料的。
脈波的頻率與相位
傳送雙 方的頻率與 相位都不同
V
傳送雙 方的頻率相 同而相位不同
V
t
t
t
t
頻率 Fa
頻率 Fb
相位差
在傳送時必須利用傳輸控制線路,先確
定資料傳送速率,然後再確定資料格式,
再配合控制信號,完成彼此進入資料可
進行傳送的狀態,即確定通信協定,同
時做同步相位調整。
單一線路傳送(Single Line Transfer)
在單一線路傳送時,是將同步、控制與
資料信號,合在這單一線路做串列傳送。
資料/ 控制/ 同步線路
CPU
輸出入裝置
介面
使用單一線路就是要解決多線佈置上的
困擾,通常用在長距離傳送,所以都是
串列傳送的方式。
其所有訊息或資料,以封包的資料傳送
設計,就可以完成單一線路的串列傳送
工作。
所有的控制動作即通信協定,可用控制
型封包傳送,其資料內容改成控制要求
或命令,包括傳送前的通知,偵測資料
的同步,檢查資料是否有錯,傳送是否
結束以及各種錯誤訊息表示等,再配合
資料封包做傳送。
在線路上要一直保持著,監視是否有資
料在傳送,以及頻率與相位的正確。
裝置的介面電路
•CPU要讀取裝置的資料
•CPU要寫出資料存入裝置
•CPU對主記憶體的控制
•I/O指令與I/O命令
•狀態表示
•介面與裝置間的連接
•多個I/O裝置的連接
裝置的介面電路(Interface Circuit)
一般介面電路主要的功能是:
1. 因為CPU與輸出入裝置的資料傳送速率
不同,所以需要居中調節,在資料的傳
送與接收上,有處理不同速度的電路,
而且要有一個資料暫時存放的記憶體區
塊。
2.資料傳送必須有控制線路,做相互連繫。
3.有一個資料傳送的狀態暫存器,用以標
示目前傳送是否正常。
介面電路功能
CPU與輸出入裝置的資料傳送
•分時作業系統
•介面電路控制式的資料傳送方式
•介面電路偵測式
•介面電路傳送式
•CPU直接傳送式
•直接記憶體存取式
CPU與輸出入裝置的資料傳送
CPU與輸出入裝置的執行速度差異很大。
如果要雙方傳送資料,就必須考慮同步
問題,CPU通常要調降頻率與輸出入裝
置互傳資料,這對CPU的執行效率是有
影響的,所以CPU在處理與輸出入裝置
傳送資料時,必須儘可能的減少彼此等
待與執行時間。
分時(Time Sharing)作業系統
現在的作業系統都將其內部分成數個不
同的處理工作單元,稱為任務(Task),而
每一個任務可分別同時處理使用者所要
執行的程式,此稱為多任務(Multi-task)
處理。當各任務在處理程式時,並非由
每個任務逐一處理,而是由CPU分出時
間片段(Time Slice)給每一個任務,使每
個任務都輪流有一時段執行,快速不斷
的輪流,形似所有任務都同時在執行。
相同的技術也用在多程式(Multi-Program)
處理,現在的視窗作業系統,可同時執
行多個程式,也是由CPU分別給每個程
式一個時間片段輪流執行,讓使用者感
覺電腦可同時執行多個程式。
另一種多使用者(Multi-User)處理,也是
使用這種技術,一個CPU將時間片段分
給每個使用者執行,由於速度很快,使
每個電腦使用者都同時受到服務。
多程式(Multi-Program)處理系統
C PU的 執 行 時 間
1 SEC
2 SEC
3 SEC
4 SEC
t
P1 P2 P3 P4 P5 P6
有6個程式一起執行
P2
P3
P6
P7
P1,P4,P5做完, 新加入P7
P3
P6
P7
P8
P2做完, P8新加入, 而
P6,P8執行不可中斷的工
作, 故時間延長
P3
P6
P7 P8
P9
P9新加入, 而P6,P9執行不
可中斷的工作, 故時間延
長,但P8必須等待
外部資料, 故先放棄
P6
P7
P8
P3做完, 而P8執行不可中
斷的工作, 故時間延長
介面電路控制式的資料傳送方式
如果某個程式要讀取或寫出資料給外部
輸出入裝置,CPU去配合偵測外部裝置是
否可以傳送資料,然後配合其速度一筆
筆的資料傳送;這是非常沒有效率的做
法,對CPU而言,應該暫停這樣的程式,
而切換去處理別的程式,儘量去減少與
輸出入裝置的交涉。
介面電路偵測式
CPU若需要與輸出入裝置傳送資料時,
即通知介面電路,然後CPU不等該程式
的執行時間片段用完,立刻儲存後執行
另一程式(切換動作);這時介面電路負責
偵測輸出入裝置是否可以做資料傳送,
若不可則一直偵測,若可以就立即通知
CPU,待CPU執行完其他程式片段後,
會回來恢復這個程式,完成資料傳送的
工作。
這種做法在CPU與輸出入裝置間,資
料直接傳送,介面本身並不暫存資
料。
在介面電路上,可省略資料緩衝區
的設計,但CPU與裝置間的資料傳送
速度是很慢的,對CPU的執行效率會
有很大的影響,實施上有些困難,
除非裝置的資料傳送速度也很快,
或電腦的執行本身並不要求CPU有很
好的效率。
另一個可能就是CPU必須確認,每筆
資料的傳送都有確實與裝置讀寫完
成,所以才直接與裝置傳送。
介面電路傳送式
當CPU要傳送資料給輸出入裝置時,就
直接將資料先傳到介面電路的資料緩衝
區內,然後CPU就不再管資料傳送工作,
直接處理下一指令。
由介面電路負責偵測裝置是否可以傳送,
若不行則一直偵測,若可以就直接與輸
出入裝置做資料傳送。
若輸出入裝置要傳資料給CPU時,也是
先將資料給介面電路,再由介面電路傳
給CPU。
這種方式CPU與介面電路之間的資料傳
送速度,可配合CPU的速度;而輸出入
裝置與介面電路之間的資料傳送速度,
可配合輸出入裝置。
這種介面電路傳送式設計,CPU要傳送
資料給輸出入裝置時,直接交給介面電
路就算傳送完成,可直接做下一指令,
完全不須等待;當資料存入介面的資料
緩衝區後,就由介面電路去處理與輸出
入裝置間的傳送。
CPU直接傳送式
CPU要傳送資料時,先偵測裝置是否可
以使用,若不行則會不斷的偵測,直到
可以傳送並將資料傳送完畢為止。這是
最浪費CPU效率的方法,CPU要不斷去
偵測,而且資料必須配合輸出入裝置速
度傳送;但它的優點是資料保證切實的
傳給裝置,且是即時的,介面電路的設
計很簡易。
CPU直接傳送式的使用
CPU直接傳送式是使用在資料傳送過程,
必須確定資料確實傳給輸出入裝置無誤。
譬如遠端提款問題。
直接記憶體存取式(DMA)
直接記憶體存取簡稱DMA,是一個輔助
CPU從裝置快速存取資料,傳送至記憶
體的控制電路,即稱為DMA控制電路;
它是在主機板上己設計好的電路,專門
處理將大量的裝置資料,直接存取至記
憶體,而不經由CPU的傳送控制方式。
中斷訊息(Interrupt Message)
當CPU在執行某一程式時,接收到訊息
要停止目前的程式,此即稱為中斷。
在程式的指令逐一執行時,有二類中
斷訊息會要求CPU停止程式執行。
一是內部中斷(又稱系統中斷,軟體中
斷):它是透過作業系統提出的中斷指令,
要求CPU停止程式的執行,其原因可能是
該程式的執行時段已盡,需立即切換至
其他程式執行,或程式的指令執行發生
錯誤,譬如計算除法時分母為零,計算
有虛數等等程式已無法執行下去,這時
系統會停止程式;如果是程式出錯即顯
示錯誤訊息,程式終止;如果是執行時
間已盡,即將資料儲存轉至其他程式執
行,這是系統內部所下達的中斷作業程
序。
二是外部中斷(又稱輸出入裝置中斷,硬
體中斷):它是因外部裝置發生問題,而
產生一個要求服務的控制訊息,給CPU中
斷(Interrupt, INT)接腳;而當CPU由中
斷接腳接收到外部裝置的訊息,先是辨
識那個裝置?發生怎樣的事件?然後由
系統決定是否要處理?若決定要處理即
進入中斷作業程序,即停止目前的程式
執行而轉至中斷服務程式(Interrupt
Service Program)。
中斷處理程序(發生與檢查)
當外部輸出入裝置有問題時會發送中
斷訊息給CPU的INT接腳,CPU依中斷訊
息,在系統中分辨是那一個裝置發生
什麼事情?
然後決定是否要處理,有時系統在關
鍵區,或目前的程式比外部事故更重
要,所以不予理會。
中斷處理程序(執行中斷服務常式)
但若必須處理外部裝置的問題,即依中
斷訊息至中斷向量表,尋找該問題的處
理程式在記憶體的位址,在系統裡有個
中斷向量表(Interrupt Vector Table),
記載著所有裝置發生任何事的中斷訊息
碼,及其各處理程式在記憶體的位址(中
斷服務常式的啟始位址) 。
CPU暫停目前的程式,立即至中斷服務常
式執行,完成後再回原程式。
CPU如何處理同時發生的多個中斷要求
• 中斷訊息的優先順序編碼
• 輪詢式
• 菊輪式
• 裝置競爭式
中斷訊息的優先順序編碼
每個中斷事件就有一個訊息編碼供做識
別,且對應著其服務常式;所以同時發
生多個中斷要求時,系統會接收到多個
內外部的訊息,而這些訊息編碼,即可
排列優先順序。
依中斷訊息編碼,
排列處理的優先順序
多個外部裝置要
求CPU服務時,
CPU依中斷事件
的訊息編碼,決
定處理的優先順
序(編號小的先
執行) 。
中斷向量表
主動服務的輪詢式(Polling)
CPU每隔一段時間或在執行的空檔,
主動輪流詢問外部裝置是否有事件
要服務,譬如資料傳送、故障處理
等等事務。
菊輪式的裝置要求之詢問服務
這是特別的一種處理外部中斷服務要求
的電路,首先是每個裝置共接一條中斷
要求訊號線至CPU的中斷服務輸入接腳
(Interrupt, INT),任何裝置需要CPU中
斷服務,都可以利用這條線提出要求,
由裝置主動提出要求,CPU收到訊息才考
慮是否要處理。
當CPU執行程式時,會發現外部有裝置提
出中斷服務要求,然後透過串列式的詢
問線路,逐一詢問是那個裝置所提出的
要求?
這種詢問方式是透過裝置逐一相互詢問
的設計,如果這個裝置沒提出服務要求,
就會繼續詢問下一裝置;若這個裝置有
提出中斷服務要求,就不再詢問下一裝
置,並透過控制線與CPU連繫,以告知
本身是那一個裝置,以及需要服務的事
件。
CPU確知裝置與事件後,才決定是否要
進入中斷服務程序。
裝置競爭式的中斷服務要求
各個外部裝置在必要時都可隨時向CPU要
求中斷服務,裝置競爭式是讓各個裝置,
同時提出的不同服務要求,經過一個競
爭電路來決定那一個裝置要求,可獲得
CPU的處理。
大型電腦系統的應用
在大型的電腦系統中,有配設較多的輸
出入裝置,在設計上有的採用菊輪式或
競爭式,而系統內部也都有中斷向量表。
另有一種是將菊輪式與競爭式共用的組
合式,這種組合式可能是幾個裝置分別
用菊輪式組成數個菊輪式單元,再由競
爭式連起來;也可能反過來將數個裝置
組成數個競爭式單元,再由菊輪式連起
來。如此一方面可連接多個裝置,另外
也可應用到菊輪式與競爭式不同的優點。
CPU與輸出入裝置、記憶體的連接方式
• 記憶體圖示式
• 分離式
• 輸出入處理器
• 功能處理器
CPU與輸出入裝置、記憶體的連接方式
由於電腦的用途不同,所以內部CPU與
輸出入裝置的連接,會因不同的考量,
而有不同的設計。
有些電腦著重於CPU的計算,在裝置的
使用上較求簡易;也有的CPU考慮特殊
裝置的使用,或同時有多個裝置的控制,
就需要較複雜的電路;另外CPU的執行
速度與接腳數,也會影響與記憶體與裝
置的連接設計考量。
記憶體圖示式(Memory Mapping)裝置連接
如果電腦的用途主要在於CPU的計算與
程式執行,對於輸出入裝置只需要簡易
的控制,可以使用記憶體圖示式。
CPU與記憶體、輸出入裝置的控制線及
位址、資料匯流排完全共接在一起;都
使用記憶體指令,以記憶體位址做區分。
在裝置使用上,一般要提供記憶體分佈
圖(Memory Map),才能讓使用者瞭解各
個裝置的設定位址。
在指令的使用上,由於都是記憶體指令,
所以使用較為簡單,只是對於特殊又專
業的一些輸出入裝置,必須利用有限的
記憶體指令,完成複雜的動作,較為困
難。
分離式(Isolation)裝置連接
CPU與記憶體、輸出入裝置的位址與資料
匯流排共接,而控制線不同。
CPU與記憶體的控制線是讀寫控制線,針
對記憶體內的資料做讀取還是寫入的控
制;CPU與輸出入裝置的控制線是輸出入
控制線,針對裝置是要輸入資料還是輸
出資料的控制。
分離式的指令使用
記憶體與輸出入裝置,在指令上是不同的。
記憶體存取使用記憶體指令,LD R1,M[230]
指令是將記憶體位址230內資料讀入R1,而
ST M[250],R1指令是將R1內資料寫入記憶體
位址250中。
輸出入裝置使用輸出入指令,IN R1,#3 指
令是將輸出入埠3所讀到的資料輸入R1內,
而OUT #2,R1 指令是將R1值從輸出入埠2輸
出。
輸出入處理器(I/O Processor)
在大量或特殊的輸出入裝置控制上,有
時會嚴重影響CPU執行控制程式的效率;
採用輸出入處理器,即是專門在處理輸
出入裝置上,能有一個專門的處理器,
負責處理所有的輸出入裝置的控制。
這時CPU與輸出入處理器有專用的控制線
及匯流排,在CPU與記憶體的連接是完全
不同的。
在指令的使用上也是不同的,記憶
體指令仍是讀取LD與存入ST,而輸
出入指令即輸入IN與輸出OUT。
輸出入處理器的優缺點
在程式執行時,CPU讀取指令若發現是輸
出入指令,全部交給輸出入處理器執行;
而輸出入處理器另擁有自己的記憶體,
內含所有裝置的驅動程式及管理系統,
俱有處理及控制每個裝置的能力(I/O命
令)。
基本上這種架構已是並行處理
(Concurrent Process),即在一台電腦
內有CPU與輸出入處理器,處理程式時,
彼此分工同時在執行不同的工作。
但電腦只有一個主記憶體,所以CPU與輸
出入處理器都要用主記憶體時,必須相
互競爭或處理器透過CPU使用主記憶體。
功能處理器(Function Processor)
有些特殊的裝置,本身即俱有處理器或
處理晶片,譬如音效卡、影像加速卡、
影像擷取卡、印表機等等,這些裝置有
的是多媒體在速度處理上,必須迅速播
放與接收資料,所以需要另置一個專門
處理器;也有的裝置功能複雜,機件內
部本身就有強大的處理器在控制。
這些裝置雖以分離式與CPU連接,但其
內部已有自己的處理器,對電腦架構而
言,以形成多處理器系統(CPU是處理器
再加上裝置處理器),且執行並行處理。
橋接器
橋接器(Bridge)
一般CPU的執行速度非常快,而記憶體
與外部裝置的速度比較慢,如果CPU只
是單一對記憶體或某一裝置,做資料傳
送則效率很差,但是把多個裝置與記憶
體的資料,同時組合起來與CPU做資料
傳送,那就顯得非常有效率;而這個組
合多個裝置與記憶體資料的電路,即稱
為橋接器。
CPU
高速匯流排(前置匯流排, FSB)
主機板晶片
AGP
顯示晶片
北橋電路
主記憶體
DDR SDRAM
視訊記憶體
低速匯流排
USB
Parallel Port
LAN Interface
南橋電路
FD
8 Channel audio
SATA
IDE PCI
COM
Port
網路介面
網路介面(Network Interface)
如果CPU在處理程式執行外,還要去辨
識外界網路的資料,與資料傳送,封包
製作等,都會使CPU無時間去處理程式,
否則CPU的效率會受到很大的影響。
所以網路介面電路(如網路介面卡或數據
機),本身即俱備有資料的封包製作、資
料的輸出入、資料的辨識等功能。
錯誤檢查碼
•同位元核對
•餘數核對
•循環運算核對
錯誤檢查碼(ECC, Error Check Code)
在資料的傳送過程中,有可能因外部雜
訊干擾、電源波動、高頻幅射或硬體損
壞、記憶儲存元件損壞,以及資料傳送
的同步、相位不協調,都有可能造成資
料傳送錯誤。
所以在接收的過程中,必須要確認該資
料是正確的,一般要在資料內附加錯誤
檢查碼,以供查核資料在傳輸過程中是
否有誤。
同位元核對(Parity Check)
在傳送資料中附加一個位元,使得資料
都為偶數個1,稱為偶同位元;若為奇數
個1,稱奇同位元。
假設為偶同位元,資料添加一個偶同位
元傳給I/O裝置;接收到資料時,就會檢
查每個字是否為偶數個1,若是則資料正
確,不是則資料錯誤,要求重新傳送。
交錯的檢查
在字組的並列傳送時,可將同位元核對,
擴充成水平同位元與垂直同位元,用以
交錯的檢查資料。
每個字組在傳送時,加一個同位元為水
平同位元,最後添加一字為垂直同位元
又稱為檢查字(Check Word) 。
由垂直與水平同位元交錯可檢查出那一
個位元錯誤,在二進制設計中,甚至有
修正資料位元的功能,因查出那一位元
確定錯誤,則1改成0或0改成1。
但同位元檢查的設計,並無法處理同時
有一個以上位元發生錯誤時,檢測核對
的功能,譬如同時二個位元出錯,資料
仍是偶數個1。
餘數核對(Remainder Check)
將資料用一般算術除法或邏輯除法,求
得餘數;在資料的傳送過程中,將其餘
數加在資料末端,一起傳送出去;而接
收時做同樣的計算,檢查餘數是否正確?
若正確則接收,若錯誤要求資料重送。
循環運算核對(Cyclic Operating Check)
資料一邊在傳送,另一邊進入循環移位
電路,計算移位值,最後資料傳出後,
再加上移位值做檢查碼,待接收時做相
同運算,以核對檢查是否正確?移位電
路是幾個位元,以及邏輯運算的方式,
都可以有不同的設計。
這種循環運算的優點,是資料在傳送的
同時,就在移位計算,而資料送完也同
時計算完成,檢查碼緊接著送出,不需
要另加檢查碼編排的時間;在接收時也
是一樣,接收完同時也核對檢查碼,但
傳送間的移位電路必須一致,計算才會
正確。