【廣告】
程序的運行過程,實際上是程序涉及到的、未涉及到的一大堆的指令的執(zhí)行過程。當程序要執(zhí)行的部分被裝載到內存后,CPU要從內存中取出指令,然后指令解了碼(以便知道類型和操作數(shù),簡單的理解為CPU要知道這是什么指令),然后執(zhí)行該指令。再然后取下一個指令、解了碼、執(zhí)行,以此類推直到程序退出。
CPU出現(xiàn)于大規(guī)模集成電路時代,處理器架構設計的迭代更新以及集成電路工藝的不斷提升促使其不斷發(fā)展完善。從初專用于數(shù)學計算到廣泛應用于通用計算,從4位到8位、16位、32位處理器,后到64位處理器,從各廠商互不兼容到不同指令集架構規(guī)范的出現(xiàn),CPU 自誕生以來一直在飛速發(fā)展。
為了改善性能,CPU已經不是單條取指-->解了碼-->執(zhí)行的路線,而是分別為這3個過程分別提供獨立的取值單元,解了碼單元以及執(zhí)行單元。這樣就形成了流水線模式。
CPU控制技術的主要形式,選擇控制。集中處理模式的操作,是建立在具體程序指令的基礎上實施,以此滿足計算機使用者的需求,CPU 在操作過程中可以根據實際情況進行選擇,滿足用戶的數(shù)據流程需求。 指令控制技術發(fā)揮的重要作用。根據用戶的需求來擬定運算方式,使數(shù)據指令動作的有序制定得到良好維持。CPU在執(zhí)行當中,程序各指令的實施是按照順利完成,只有使其遵循一定順序,才能保證計算機使用效果。CPU 主要是展開數(shù)據集自動化處理,其 是實現(xiàn)集中控制的關鍵,其核心就是指令控制操作。
關于CPU上的高速緩存
1、高速的緩存是CPU的寄存器,它們和CPU的材料相同,靠近CPU或接近CPU,訪問它們沒有時延(<1ns)。但容量很小,小于1kb。
2、寄存器之下,是CPU的高速緩存。分為L1緩存、L2緩存、L3緩存,每層速度按數(shù)量級遞減、容量也越來越大。
3、每核心都有一個自己的L1緩存。L1緩存分兩種:L1指令緩存(L1-icache)和L1數(shù)據緩存(L1-dcache)。L1指令緩存用來存放已解了碼指令,L1數(shù)據緩存用來放訪問非常頻繁的數(shù)據。
4、L2緩存用來存放近期使用過的內存數(shù)據。更嚴格地說,存放的是很可能將來會被CPU使用的數(shù)據。
5、多數(shù)多核CPU的各核都各自擁有一個L2緩存,但也有多核共享L2緩存的設計。無論如何,L1是各核私有的(但對某核內的多線程是共享的)。