深入淺出計算機組成原理學習筆記:第十七講


一、引子

1、指令

2、計算

然而,光知道這兩部分還不能算是真正揭開了CPU的秘密,只有把“指令”和“計算”這兩部分功能連通起來,我們才能構成一個真正完整的CPU。
這一講,我們就在前面知識的基礎上,來看一個完整的CPU是怎么運轉起來的。

二、指令周期

1、計算機每執行一條指令的過程

4.重復進行1~3的步驟。
這樣的步驟,其實就是一個永不停歇的“ Fetch - Decode - Execute”的循環,我們把這個循環稱之為 指令周期(Instruction Cycle)。

 

2、什么是指令周期

3、不同步驟在不同組件之內完成

 

三個周期之間的關系

 

4、CPU周期

5、時鍾周期

三、建立數據通路

1、第一類操作元件

2、第二類存儲元件

3、什么是數據通路

4、控制器

聽起來是不是很簡單?實際上,控制器的電路特別復雜。下面我給你詳細解析一下。

 

一方面,所有CPU支持的指令,都會在控制器里面,被解析成不同的輸出信號。我們之前說過,現在的IntelCPU支持2000個以上的指令。這意味着,

控制器輸出的控制信號,至少有2000種不同的組合。

 

運算器里的ALU和各種組合邏輯電路,可以認為是一個固定功能的電路。控制器“翻譯”出來的,就是不同的控制信號。這些控制信號,告訴ALU去做不同的計算。

可以說正是控制器的存在,讓我們可以“編程”來實現功能,能讓我們的“存儲程序型計算機”名副其實。

指令譯碼器將輸入的機器碼,解析成不同的操作碼和操作數,然后傳輸給ALU進行計算

四、CPU所需要的硬件電路

1、ALU

2、寄存器

3、自動數數的電路

我們看似寫了各種復雜的高級程序進行各種函數調用、條件跳轉。其實只是修改PC寄存器里面的地址。PC寄存器里面的地址一修改,計算機就可以加載一條指令新指令

往下運行。實際上,PC寄存器還有一個名字,就叫作程序計數器。顧名思義,就是隨着時間變化,不斷去數數。數的數字變大了就去執行一條新指令。

所以,我們需要的就是一個自動數數的電路。

4、譯碼器

 五、總結延伸

好了,現在我們把這四類電路,通過各種方式組合在一起,就能最終組成功能強大的CPU了。但是,要實現這四種電路中的中間兩種,我們還需要時鍾電路的配合。

下一節,我們一起來看一看,這些基礎的電路功能是怎么實現的,以及怎么把這些電路組合起來變成一個CPU。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM