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

1、引子

一、指令

二、計算

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

2、指令週期

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

4.重複進行1~3的步驟。
這樣的步驟,其實就是一個永不停歇的「 Fetch - Decode - Execute」的循環,咱們把這個循環稱之爲 指令週期(Instruction Cycle)。

函數

 

二、什麼是指令週期

三、不一樣步驟在不一樣組件以內完成

 

三個週期之間的關係翻譯

 

四、CPU週期

五、時鐘週期

3、創建數據通路

一、第一類操做元件

二、第二類存儲元件

三、什麼是數據通路

四、控制器

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

 

一方面,全部CPU支持的指令,都會在控制器裏面,被解析成不一樣的輸出信號。咱們以前說過,如今的IntelCPU支持2000個以上的指令。這意味着,code

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

 

運算器裏的ALU和各類組合邏輯電路,能夠認爲是一個固定功能的電路。控制器「翻譯」出來的,就是不一樣的控制信號。這些控制信號,告訴ALU去作不一樣的計算。同步

能夠說正是控制器的存在,讓咱們能夠「編程」來實現功能,能讓咱們的「存儲程序型計算機」名副其實。
io

指令譯碼器將輸入的機器碼,解析成不一樣的操做碼和操做數,而後傳輸給ALU進行計算基礎

4、CPU所須要的硬件電路

一、ALU

二、寄存器

三、自動數數的電路

咱們看似寫了各類複雜的高級程序進行各類函數調用、條件跳轉。其實只是修改PC寄存器裏面的地址。PC寄存器裏面的地址一修改,計算機就能夠加載一條指令新指令循環

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

因此,咱們須要的就是一個自動數數的電路。

四、譯碼器

 5、總結延伸

好了,如今咱們把這四類電路,經過各類方式組合在一塊兒,就能最終組成功能強大的CPU了。可是,要實現這四種電路中的中間兩種,咱們還須要時鐘電路的配合。

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

相關文章
相關標籤/搜索