早期的cpu在執行程序時是將程序分解成串行的順序指令、微指令,按照先后的次序執行,在同一段時間內,處理器只能對一條指令進行分析、執行。這種方式的優點是控制簡單,不過效率低下:取指令和執行都是由cpu按照順序執行,在當前作業完成前,下一個作業不能開始,造成作業速度慢。同時由于任一時刻只能只能有一個作業,而cpu的處理速度和外部設備的速度是不一致的,這使得機器各部件的利用率低下。
提高cpu的性能方式之一是采用作業的并行執行。
在8086/8088cpu內部:執行單元(EU,Execution Unit)分析指令、執行指令。
總線接口單元(BIU Bus Interface UnVit)取指令、取操作數和寫結果。
這兩個單元可以獨立的進行工作,這種重疊式地進行即為流水線方式。
指令流水線結構
指令流水線是指將指令的執行過程分為多個可獨立執行的子過程,各個子過程都可以在專門的操作部件上完成,這樣,就可以實現多條指令在操作時重疊進行,就像流水線一樣~
一條指令可以分解為取指令、指令譯碼、取操作數(計算機指令中的一個組成部分。它規定了指令中進行數字運算的量。通常一條指令均包含操作符和操作數。)、執行指令、回寫 5個基本步驟,如果將這些基本的步驟放在幾個獨立的操作部件上執行,且每個獨立的部件執行的時間都差不多,形成一組流水線。當有幾條指令需要執行時,這些指令的執行時間就可以重疊,并行執行,從而提高cpu的執行效率。
實際上這是理想情況:取指令、取操作數、寫結果的執行時間要遠長于其他步驟。
posted on 2007-04-21 08:37
藍迪 閱讀(390)
評論(0) 編輯 收藏 引用