tft每日頭條

 > 生活

 > 針腳型cpu的性能指标

針腳型cpu的性能指标

生活 更新时间:2024-09-16 12:13:50

對于一個8位CPU來說,指令可以分為兩大類,一類為ALU相關指令,主要包括需要ALU參與完成的相關指令,比如加法、移位、比較等;另一類是非ALU相關指令,比如加載數據,存儲數據,跳轉等。

無論哪種指令,都可以分為前4位後4位前四位和動作有關,後四位和數據有關

我們先說ALU相關指令,其基本定義如下:

針腳型cpu的性能指标(CPU系列-ALU指令編碼及解析)1

最高位1表示該條指令為ALU指令,接下來三位為操作碼,表示ALU要幹的具體工作;後四位的前兩位和後兩位表示ALU運算所需要的數據所在寄存器的編碼,具體定義如上圖所示。

比如,有一條ALU(1)指令執行加法(000)運算,被加的内容是Resister 2(10)裡的數據與Resister 3(11)的數據,結果存放在Resister 3(11)裡面,那麼它對應的指令就是:

針腳型cpu的性能指标(CPU系列-ALU指令編碼及解析)2

如果把這條指令(1000 1011)存入RAM中,地址為10,那麼當IAR設為10時,開啟計算機,它就會從IAR為10的RAM中讀取該條指令,通過總線傳輸至IR,然後在Control Section的控制下,去計算R2R3之和。

如果ALU指令是單輸入指令,比如SHL,SHR或者NOT,數據内容将來自Reg A,經過ALU運算,結果會被存在Reg B中。可以選在從一個寄存器取數,結果存到另外一個寄存器,比如R1→R3;可以選在從一個寄存器取數,結果存到同一個寄存器,比如R2→R2。

如果ALU指令是雙輸入指令,Reg A和Reg B将會被送到ALU,運算結果送到Reg B,Reg A和Reg B可以是同一個寄存器。

通過以上分析我們知道,ALU面對的是兩個輸入:Reg A和Reg B。Reg A和Reg B的邏輯相對是比較明确的,那就是Reg A (ALU) Reg B→Reg B,Reg A和Reg B經過ALU運算,結果存在Reg B裡面,具體實現方式如下:

針腳型cpu的性能指标(CPU系列-ALU指令編碼及解析)3

數據流總結如下:

針腳型cpu的性能指标(CPU系列-ALU指令編碼及解析)4

Step 4:“讀”和“寫”使能端有兩個條件:指令寄存器IR最高位為1,Stepper 4的clk信号為高;通過控制“讀”“寫”兩個信号,實現Reg B的内容加載到TMP裡面;

Step 5:“讀”和“寫”使能端有兩個條件:指令寄存器IR最高位為1,Stepper 5的clk信号為高,實現Reg B的内容加上TMP裡面存的Reg A,結果傳輸至Reg B;Stepper 5的clk信号還作為ALU操作碼産生信号的控制,也就是說,隻有在step 5才産生非000的ALU操作碼。

Step 6:隻要不是比較運算(操作碼111),都要将ACC的計算計算結果存儲至Reg B。

可見,對于ALU指令操作,就是Reg A和Reg B兩個寄存器的數據運算和存儲。但是呢,我們手上有4個寄存器:R0、R1、R2、R3,每一個Reg A或Reg B可以是R0、R1、R2、R3中的任意一個,因此,我們需要對R0、R1、R2、R3編碼,這樣,就可以實現對任何一個寄存器的操作,如下圖所示:

針腳型cpu的性能指标(CPU系列-ALU指令編碼及解析)5

這樣就可以通過指令後四位的寄存器編碼,實現對寄存器裡面數據的操作。

針腳型cpu的性能指标(CPU系列-ALU指令編碼及解析)6

助記符如下:

針腳型cpu的性能指标(CPU系列-ALU指令編碼及解析)7

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved