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