SlideShare a Scribd company logo
第 七 章

中斷效能補償

         1
簡報綱要
7.1   引言
7.2   互連技術
7.3   I/O設備
7.4   I/O模組和外部設備
7.5   I/O命令
7.6   程式I/O策略      7.8 DMA策略
7.7   中斷I/O策略      7.9 結語

                               2
核心重點

•   大部分的I/O設備屬於慢速
    元件,即使是最快的I/O設
    備,仍然很難跟上CPU、或
    記憶體的速度。

•   一般電腦有三種存取I/O設備的策略:程式I/O、中斷I/O、
    一般電腦有三種存取I/O設備的策略:程式I/O、中斷I/O、
    DMA。
    DMA。

                                 3
1954年…
美國陸軍建置一台稱為NBS DYSEAC的行動電腦
(mobile computer),所有的設備分別放在兩
部拖拉機上面,總重量約20噸,比ENIAC輕;
儘管這部電腦相當努力在行動能力的表現,但
是最大的成就卻是對I/O設備的影響。



                               4
最原始的中斷觀念
兩部拖拉機使用兩個PC,分開指揮兩個不
同程式的執行。
如果某個服務程式需要等待時間(比如:
該I/O設備可能需要一點時間運作)時,
可以立刻切換到另一個程式執行,不必癡
癡等待,讓整體發揮最佳化效能。


                      5
最原始的DMA雛形
DYSEAC電腦引進一個觀念…,即使程式正在
執行時,也可以將I/O設備的資料直接傳輸到
記憶體,然後在完成傳輸後,再中斷這個程
式。
                  ∼Knuth



                           6
CPU - I/O設備之間的效能失衡




                     7
慢速的I/O設備

I/O應用可能是某種特殊功
能的專用模組開發,由於市
場受到規模的限制,因而所
製造的I/O 設備,通常是慢
速的。

I/O效能往往成為電腦的另一個瓶頸,因為有許多I/O設備仍使用
I/O效能往往成為電腦的另一個瓶頸,因為有許多I/O設備仍使用
機電設計,這更加深「I/O設備是慢速元件」的印象。
機電設計,這更加深「I/O設備是慢速元件」的印象。

                             8
效能失衡!
一旦速度極快的CPU存取慢速的I/O設備時,將
出現:
        ”急驚風遇上慢郎中”
於是CPU必須長時間等待(Wait)I/O設備,兩
個元件一快一慢,卻必須遷就於慢速元件,這
當然是一種效能失衡現象。


                            9
7.2


      10
單一匯流排

1965年,DEC PDP-8電腦首先
引進Omnibus單一匯流排,來
連接I/O設備,稱為系統匯流
排。

1970年,PDP-11 Unibus更發展出一套商業匯流排架構,讓匯流
1970年,PDP-11 Unibus更發展出一套商業匯流排架構,讓匯流
排的互連觀念受到相當歡迎,並且廣泛地運用在現代電腦上。

                                  11
互連技術!
1981年,PC XT/AT引進開放的背板匯流排ISA
(時脈頻率8.33MHz),來連接I/O晶片,ISA匯
流排為早期的個人電腦提供相當穩定的開放環
境,並且成為最受喜愛的匯流排標準。
1990年,PCI匯流排的時脈頻率33MHz,符合全螢
幕多媒體的要求,為了抵抗IBM的MicroChannel
匯流排的威脅,Intel甚至放棄專利權,讓PCI匯
流排走向開放架構。
                               12
於是
現代電腦大都採用多階層匯流排




                 13
14
7.3


      15
I/O設備(週邊裝置)特性


 • 可以視為不同類型的記憶裝置
 • 許多I/O設備內含機電設備
 • 大部分I/O設備的工作速度緩慢
 • I/O設備所使用的資料格式與處理器不同
 • I/O設備通常獨立存在,與處理器間需有匯流排連接


                         16
I/O設備可以分成兩種:
•I/O控制器(又稱設備控制器)
•I/O處理器(又稱I/O通道)




                   17
I/O控制器


 最早期的I/O設備總是需要CPU的控制。
 換言之,CPU事必躬親地指揮所有細節,而且
 要一直從旁指導I/O設備許多更細微的控制動
 作,一個命令一個動作,這種只能一直聽命行
 事的I/O模組,稱為I/O控制器或設備控制器。



                           18
I/O處理器

 I/O處理器具備智慧,可以自行執行一連串的I/O動
 作,降低CPU參與I/O的細節工作與時間。
 一般作業系統會在模組內部或者電腦內部記憶體上,
 建立一序列的I/O動作,包含:I/O執行命令、讀寫位
 址、資料傳輸方式,也就是I/O程式,然後由I/O處理
 器自行擷取這些I/O程式,執行I/O程式所指定的命
 令,整個過程CPU涉入的範圍變小。

                             19
7.4


      20
I/O模組和外部設備

 為了簡化匯流排的連線技術,我們把I/O設備分成:
 I/O模組和外部設備。
 一般而言,匯流排先連接I/O模組,然後由I/O模組連
 接外部設備。
 也就是,CPU會藉由I/O模組,連接到各種不同的外部
 設備,並且傳遞互相交換的控制、狀態、和資料。


                            21
分工精細的電腦業

I/O模組和外部設備組合在一起,才能形成I/O功能。
以顯示器為例,顯示器包含顯示卡和螢幕,顯示卡就
是I/O模組,螢幕就是外部設備,兩者組合出視訊功
能,缺一不可。
但是購買這些東西,可以分開購買,顯示卡可以選擇
不同的規格,比如:匯流排插槽、3D繪圖晶片、解析
度、視訊記憶體、視訊轉換速率、…等等,螢幕可以
選擇尺寸大小、對比強度、CRT或TFT LCD、…等等。

                           22
7.5


      23
I/O命令


I/O種類繁多,而且各有其特殊的專門功能。
如果,不事先建立一套共用的存取I/O命令,I/O模組
與匯流排的連線接腳數量,將會隨著新I/O設備不斷
地增加而增加,最後終將困擾整個系統。




                         24
發佈I/O命令


CPU會從記憶體擷取I/O指令,並且將這個I/O指令,
轉換成I/O命令,大部分I/O指令和I/O命令之間的關
係,是單純的一對一關係。
只是在發佈I/O命令時,必須明確地加入該I/O模組的
識別位址,以指出命令的對象。



                              25
I/O命令型態
 •控制命令:啟始I/O模組的基本狀態,指示設備
 的動作模式;
 •測試命令:測試目前I/O模組和週邊設備的狀
 態,像是:開機、備妥、I/O作業、錯誤;
 •讀取命令:要求I/O模組讀取設備的資料,放到
 I/O緩衝器,然後經由匯流排傳送給CPU;
 •寫入命令:CPU將資料傳送給I/O模組,然後再
 由I/O模組傳送給週邊設備。

                            26
7.6


      27
最簡單的策略就是
程式I/O(Programmed I/O,簡稱PIO)




                              28
假設
想從I/O模組讀取資料到記憶體
讓我們分別站在兩個不同的角度,來觀察
執行的動作…




                     29
CPU的執行動作

1. CPU會發佈讀取命令給I/O模
   CPU會發佈讀取命令給I/O模
組,I/O模組接收到命令後,會有
組,I/O模組接收到命令後,會有
自己的執行動作…
自己的執行動作…
2. CPU使用輪詢方式,不斷地詢
   CPU使用輪詢方式,不斷地詢
問I/O模組的狀態,若尚未準備
問I/O模組的狀態,若尚未準備
好,則繼續詢問…
好,則繼續詢問…
3. 等到狀態備妥後,CPU才能讀
   等到狀態備妥後,CPU才能讀
取I/O模組的資料
取I/O模組的資料
4. 最後把資料儲存在記憶體
                 30
I/O的執行動作


如果這個I/O設備屬於I/O處理
如果這個I/O設備屬於I/O處理
器,則在接收命令後,就會自
行工作,並且跟CPU的執行動作
行工作,並且跟CPU的執行動作
無關。



              31
效率不彰

CPU的輪詢必須等候I/O完成動作…
問題在於:CPU很快、I/O卻很慢!以CPU的時脈速度來
看,CPU可能要讀取狀態暫存器非常非常多次(高達
數百萬次或更多),而這只為了詢問I/O模組是否備
妥。
顯然,PIO會在這個迴圈上不斷地詢問,耗費大量的
CPU時間,犧牲效能。

                               32
PIO輪詢的漫長等待
典型的處理器速度遠快於I/O設備許多,一旦採用
輪詢策略,速度必須依賴I/O設備來決定,此時即
使再快速的處理器,也不會加速整體的執行效能。




                          33
7.7


      34
中斷結構
具有平行處理的能力,讓CPU和I/O
能夠同時工作,而且能夠各自獨立
地工作…




                     35
平行結構設計

中斷I/O必須分開CPU主程式和ISR中斷程式,並且盡
量維持兩者之間的獨立性。
正常的情況下,CPU正在執行主程式,等到I/O模組發
出中斷訊號後,CPU會暫停主程式,轉而執行ISR中斷
程式,結束後,再回到主程式。



                              36
CPU的執行動作

1. CPU對I/O模組發佈I/O讀取命令,
   CPU對I/O模組發佈I/O讀取命令,
發佈後,CPU不再理會I/O模組。
發佈後,CPU不再理會I/O模組。
2. CPU繼續執行主程式的其它指令;
   CPU繼續執行主程式的其它指令;
3. 若CPU收到中斷要求,暫時擱置目
   若CPU收到中斷要求,暫時擱置目
前的主程式(斷點處)。
4. CPU進入ISR中斷程式,處理最後階
   CPU進入ISR中斷程式,處理最後階
段的事務(轉移資料),把讀取的資
料寫入記憶體,ISR工作結束。
料寫入記憶體,ISR工作結束。
5. CPU再回到剛才的斷點處,繼續往
   CPU再回到剛才的斷點處,繼續往
下執行指令。
                    37
I/O的執行動作

I/O模組收到讀取命令後,自動
I/O模組收到讀取命令後,自動
進行一連串的動作…
進行一連串的動作…
等到完成整個讀取動作後,才
能設定狀態暫存器,發出中斷
要求(這個要求代表I/O已經完
要求(這個要求代表I/O已經完
成資料讀取),通知CPU。
成資料讀取),通知CPU。

             38
7.8


      39
中斷I/O效率當然比PIO好。
然而,每筆資料不論是由記憶體送到I/O模組,
或是由I/O模組送到記憶體,仍然都要經過CPU的
仲介。
我們可以更進一步地降低CPU時間…,讓CPU不再
仲介I/O模組和記憶體之間的傳輸。



                           40
解決這個問題
通常需要DMA模組,來取代CPU的角色。




                       41
DMA模組

                軟體和硬體在邏輯上是等
                效的,因此DMA硬體是CPU
                效的,因此DMA硬體是CPU
                的"分身",取代ISR中
                的"分身",取代ISR中
                斷程式的處理工作。
                斷程式的處理工作
DMA模組會把資料傳送到記憶體,不必再經由CPU仲介處理,
DMA模組會把資料傳送到記憶體,不必再經由CPU仲介處理,
CPU可以空下更多的時間,去執行其它的程式,顯然效能會
CPU可以空下更多的時間,去執行其它的程式,顯然效能會
比中斷I/O要好。
比中斷I/O要好。

                             42
結   語



        43
現代電腦使用單一程式計數器(PC)來記錄程式的
執行狀態,擴大延伸中斷的平行處理觀念。
目前所連接的I/O設備眾多,但是只要使用單一程式
計數器(PC),並且搭配堆疊(stack)記憶體,來
紀錄當時執行環境的必要狀態與資訊,以切換多個
程式之間的執行。



                             44
近年來,電腦系統追求效能設計,包括:CPU、記
憶體、…等都正在快速地成長,相對比較,I/O雖
然也在進步,但速度顯然較慢。
這導致各元件的效能平衡設計愈形困難,在這種情
況下,除非不重視速度要求(或只有單一任務),
才會使用程式I/O策略,否則大部分的結構師會建
議系統採用中斷結構或DMA模組,來補償I/O效能平
衡,以便讓CPU和I/O兩者獨立且平行工作。

                            45
事實上,對於許多非迫切性的I/O資料而言,中斷I/O
和DMA一直是現代電腦系統相當有效率的方法。
這種方式讓電腦的主控權回到CPU身上,不會受到慢
速I/O設備的影響,讓我們可以集中精神研究CPU的效
能表現,而CPU的效能表現也較接近電腦的整體效能
表現。



                             46
第 七 章



課 程 結 束
          47

More Related Content

What's hot

IE-019 何謂供應鏈管理
IE-019 何謂供應鏈管理IE-019 何謂供應鏈管理
IE-019 何謂供應鏈管理handbook
 
新生說明會_slide
新生說明會_slide新生說明會_slide
新生說明會_slide
Mu Chun Wang
 
97 08 19 46
97 08 19 4697 08 19 46
97 08 19 465045033
 
Hr 003 工業工程系生涯規劃
Hr 003 工業工程系生涯規劃Hr 003 工業工程系生涯規劃
Hr 003 工業工程系生涯規劃handbook
 
OSS International Case Study
OSS International Case StudyOSS International Case Study
OSS International Case StudyRyan Chung
 
IE-012 工業工程進學程
IE-012 工業工程進學程IE-012 工業工程進學程
IE-012 工業工程進學程handbook
 
Dry machining and near dry machining, Chinese
Dry machining and near dry machining, ChineseDry machining and near dry machining, Chinese
Dry machining and near dry machining, Chinese
Aaron Dion
 
複製 嘉智教學卓越獎簡報 2007版 20090529 F
複製  嘉智教學卓越獎簡報 2007版 20090529 F複製  嘉智教學卓越獎簡報 2007版 20090529 F
複製 嘉智教學卓越獎簡報 2007版 20090529 F
q0922009101
 
H1n1
H1n1H1n1
guangdongtiger is a cheater?
guangdongtiger is a cheater?guangdongtiger is a cheater?
guangdongtiger is a cheater?Tony Liu
 
知識管理期末報告
知識管理期末報告知識管理期末報告
知識管理期末報告guestabb317
 
程式之美-微軟技術面試心得
程式之美-微軟技術面試心得程式之美-微軟技術面試心得
程式之美-微軟技術面試心得Bob Wei
 
CRE-024-製商整合科技與產業創新
CRE-024-製商整合科技與產業創新CRE-024-製商整合科技與產業創新
CRE-024-製商整合科技與產業創新handbook
 
第3章 計算機組織 (Update)
第3章 計算機組織 (Update)第3章 計算機組織 (Update)
第3章 計算機組織 (Update)Seng Chi Ao
 
第1章 計算機簡介
第1章 計算機簡介第1章 計算機簡介
第1章 計算機簡介Seng Chi Ao
 
Endnote使用教程
Endnote使用教程Endnote使用教程
Endnote使用教程jimexifeng
 
高餐講座
高餐講座高餐講座
高餐講座mr65210
 

What's hot (19)

IE-019 何謂供應鏈管理
IE-019 何謂供應鏈管理IE-019 何謂供應鏈管理
IE-019 何謂供應鏈管理
 
新生說明會_slide
新生說明會_slide新生說明會_slide
新生說明會_slide
 
97 08 19 46
97 08 19 4697 08 19 46
97 08 19 46
 
Hr 003 工業工程系生涯規劃
Hr 003 工業工程系生涯規劃Hr 003 工業工程系生涯規劃
Hr 003 工業工程系生涯規劃
 
OSS International Case Study
OSS International Case StudyOSS International Case Study
OSS International Case Study
 
IE-012 工業工程進學程
IE-012 工業工程進學程IE-012 工業工程進學程
IE-012 工業工程進學程
 
Dry machining and near dry machining, Chinese
Dry machining and near dry machining, ChineseDry machining and near dry machining, Chinese
Dry machining and near dry machining, Chinese
 
複製 嘉智教學卓越獎簡報 2007版 20090529 F
複製  嘉智教學卓越獎簡報 2007版 20090529 F複製  嘉智教學卓越獎簡報 2007版 20090529 F
複製 嘉智教學卓越獎簡報 2007版 20090529 F
 
H1n1
H1n1H1n1
H1n1
 
guangdongtiger is a cheater?
guangdongtiger is a cheater?guangdongtiger is a cheater?
guangdongtiger is a cheater?
 
知識管理期末報告
知識管理期末報告知識管理期末報告
知識管理期末報告
 
程式之美-微軟技術面試心得
程式之美-微軟技術面試心得程式之美-微軟技術面試心得
程式之美-微軟技術面試心得
 
CRE-024-製商整合科技與產業創新
CRE-024-製商整合科技與產業創新CRE-024-製商整合科技與產業創新
CRE-024-製商整合科技與產業創新
 
第3章 計算機組織 (Update)
第3章 計算機組織 (Update)第3章 計算機組織 (Update)
第3章 計算機組織 (Update)
 
Frbifri
FrbifriFrbifri
Frbifri
 
rrds08
rrds08rrds08
rrds08
 
第1章 計算機簡介
第1章 計算機簡介第1章 計算機簡介
第1章 計算機簡介
 
Endnote使用教程
Endnote使用教程Endnote使用教程
Endnote使用教程
 
高餐講座
高餐講座高餐講座
高餐講座
 

入門啟示錄Ch07簡報