計算機中有哪幾種常見數(shù)據(jù)類型
數(shù)據(jù)類型在數(shù)據(jù)結(jié)構(gòu)中的定義是一個值的集合以及定義在這個值集上的一組操作。下面是YJBYS小編帶來的計算機中有哪幾種常見數(shù)據(jù)類型介紹,希望對你有幫助。
一、指令系統(tǒng)概述
指令是實現(xiàn)計算機“程序控制”功能的載體,也是“存儲程序”操作的對象之一,可見指令在馮諾依曼體系結(jié)構(gòu)計算機中的重要地位!本章立足于計算機系統(tǒng)層次結(jié)構(gòu)中的“機器語言級”,機器語言指令是計算機硬件與軟件的界面,也是用戶操作和使用計算機硬件的接口。計算機所包含的所有指令的集合成為該機的指令系統(tǒng)。
從系統(tǒng)觀的角度看,指令系統(tǒng)是計算機系統(tǒng)性能的集中體現(xiàn),是計算機軟/硬件系統(tǒng)的設(shè)計基礎(chǔ),一方面,硬件設(shè)計者要根據(jù)指令系統(tǒng)進行硬件的邏輯設(shè)計;另一方面,軟件設(shè)計者也要根據(jù)指令系統(tǒng)來建立計算機的系統(tǒng)軟件。如何表示指令,怎樣組成一臺計算機的指令系統(tǒng),直接影響計算機系統(tǒng)的硬件和軟件功能。
二、指令格式
指令是計算機中傳輸控制信息的載體,每條指令代表某個基本的信息處理操作及操作的對象,因此,指令中應(yīng)該包含表示處理功能的操作碼字段和與操作對象有關(guān)的地址碼字段。指令的一般格式如圖5.1所示。
圖1 指令的一般格式
1.操作碼OP
操作碼來表示“程序控制”的具體操作,因此,不同功能的指令其操作碼編碼必須不同,因此,操作碼的長度(即操作碼字段所包含的二進制位數(shù))就與機器支持的指令數(shù)量有關(guān)。通常情況下,長度為n位的操作碼,最多可表示1條指令。
2.地址碼
地址碼字段的作用宏觀上看是提供操作碼的操作對象,微觀上隨指令類型和尋址方式的不同而不同,它可能作為一個操作數(shù)、也可能是操作數(shù)的地址(包括操作數(shù)所在的主存地址、寄存器編號或外部設(shè)備端口地址)、也可能是一個用于計算地址的偏移量。不論地址碼具體上起什么作用,但其長度會影響對象的范圍(數(shù)據(jù)大小、地址范圍大小、偏移量的大小)
根據(jù)一條指令中所含操作數(shù)地址的數(shù)量,可將指令分三地址指令,雙地址指令,單地址指令和零地址指令等4種。不同數(shù)量地址碼格式時,指令表示的操作也略有區(qū)別。
1)三地址指令
指令中具有三個地址碼字段,其格式為:
三、地址指令的操作表達式為:
將地址Ad1所指數(shù)據(jù)與Ad2所指數(shù)據(jù)執(zhí)行OP所指定的操作,結(jié)果送Ad3所指地址存放。
2)二地址指令
為壓縮指令的長度,在三地址指令的基礎(chǔ)上,不另指定地址存放結(jié)果,而是存放到第一操作數(shù)地址Ad1中,把原來存放的第一操作數(shù)覆蓋,從而減少一個地址,形成雙地址指令。格式如為:
雙地址指令的操作表達式為:
將地址Ad1所指數(shù)據(jù)與Ad2所指數(shù)據(jù)執(zhí)行OP所指定的操作,結(jié)果送Ad1所指地址存放。
目前,常見的雙地址指令主要有RR型(兩個地址均為寄存器地址)和RS型(一個地址是存儲地址,另一個是寄存器地址)。
3)一地址指令
單地址指令中只有一個地址碼字段,其格式為:
兩種情況下使用單地址指令:
(1)單目運算類指令,如邏輯運算中的求反操作,其運算對象只有一個,故只需一個地址碼,它既表示該操作數(shù)的源地址,又作為操作結(jié)果的目的地址。此時,單地址指令的操作表達式為:
(2)為進一步縮短指令長度,將雙目運算類指令中的一個操作數(shù)和操作結(jié)果均約定隱含于CPU中的某個寄存器(通常是累加器A)中,此時,單地址指令的操作表達式為:
4)零地址指令
零地址指令中往往只有操作碼而沒有顯式地給出地址碼字段,其格式為:
零地址指令分三種情況:
(1)指令本身不需要任何操作數(shù),如只是為了占位和延時而設(shè)置的`空操作指令NOP(空操作指令)、WAIT(等待指令)、HALT(停機指令)等;
(2)指令需要一個操作數(shù),但該操作數(shù)隱含于CPU的某個寄存器(通常是累加器A)中;
(3)操作數(shù)均由堆棧提供的指令,其操作結(jié)果也存入堆棧。
特別說明:指令格式的不同會影響到控制器局部通路和控制結(jié)構(gòu)的不同,在學習控制器設(shè)計時,要牢牢把握指令格式與控制器結(jié)構(gòu)的這種緊偶合!體會硬件與軟件之間的互動關(guān)系!
三、指令長度對指令格式的影響
一條指令中所包含的二進位數(shù)即為指令長度。指令越長,能夠分配給操作碼和地址碼字段的位數(shù)就越多。在指令長度固定的情況下,所分配的地址字段越多,則每個字段的位數(shù)就越少,將影響到地址字段的尋址范圍(包括所表示數(shù)據(jù)、地址范圍或偏移量的大小)。
四、指令系統(tǒng)的發(fā)展
早期的指令系統(tǒng)以復雜指令為主,對應(yīng)的計算機稱為復雜指令集計算機(Complex Instruction Set Computer: CISC),現(xiàn)代計算機的指令系統(tǒng)以精減指令為主,對應(yīng)的計算機稱為精簡指令集計算機(Reduced Instruction Set Computer: RISC),兩者具有非常明顯不同的特征:
1.復雜指令系統(tǒng)的特征
(1)指令系統(tǒng)復雜龐大,指令數(shù)目一般多達二三百條;
(2)尋址方式多;
(3)指令格式多;
(4)指令字長不固定;
(5)訪存指令不加限制;
(6)各種指令使用頻率相差大;
(7)各種指令執(zhí)行時間相差大;
(8)大多數(shù)采用微程序控制器。
2.精簡指令系統(tǒng)的特征
人們進一步分析CISC后發(fā)現(xiàn)了80-20規(guī)律,即80%程序只用到了20%的指令集,基于這一發(fā)現(xiàn),RISC精簡指令集被提出來,這是計算機系統(tǒng)結(jié)構(gòu)的一次深刻革命。
RISC體系結(jié)構(gòu)的基本思路是:針對CISC指令系統(tǒng)指令種類太多、指令格式不規(guī)范、尋址方式太多的缺點,通過減少指令種類、規(guī)范指令格式和簡化尋址方式,方便處理器內(nèi)部的并行處理,從而大幅度地提高處理器的性能。大部分RISC具有下述一些特點:
(1)優(yōu)先選取使用頻率最高的一些簡單指令;
(2)大多數(shù)指令在一個機器周期內(nèi)完成;
(3)采用LOAD/STORE結(jié)構(gòu)。由于訪問主存時間長,只保留LOAD(取數(shù))和STORE(存數(shù))兩種訪存指令,其余指令只對存放在寄存器中的操作數(shù)進行處理;
(4)采用簡單的指令格式和尋址方式,指令長度固定;
(5)固定的指令格式。指令長度、格式固定,可簡化指令的譯碼邏輯,有利于提高流水線的執(zhí)行效率;
(6)面向寄存器的結(jié)構(gòu)。為減少訪問主存儲器,CPU內(nèi)應(yīng)設(shè)大量的通用寄存器;
(7)采用硬布線控制邏輯;
(8)注重編譯的優(yōu)化,力求有效地支撐高級語言程序。
精簡指令系統(tǒng)計算機的著眼點不是簡單地放在簡化指令系統(tǒng)上,而是通過簡化指令使計算機的結(jié)構(gòu)更加簡單合理,從而提高處理速度,其主要途徑是減少指令的執(zhí)行周期數(shù)。 現(xiàn)在,RISC的硬件結(jié)構(gòu)有很大改進,一個機器周期平均可完成1條以上指令,甚至可達到幾條指令。
【計算機中有哪幾種常見數(shù)據(jù)類型】相關(guān)文章: