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