計算機中有哪幾種常見數據類型

數據類型在數據結構中的定義是一個值的集合以及定義在這個值集上的一組操作。下面是YJBYS小編帶來的計算機中有哪幾種常見數據類型介紹,希望對你有幫助。

計算機中有哪幾種常見數據類型

  一、指令系統概述

指令是實現計算機“程序控制”功能的載體,也是“存儲程序”操作的對象之一,可見指令在馮諾依曼體系結構計算機中的重要地位!本章立足於計算機系統層次結構中的“機器語言級”,機器語言指令是計算機硬件與軟件的界面,也是用戶操作和使用計算機硬件的接口。計算機所包含的所有指令的集合成爲該機的指令系統。

從系統觀的角度看,指令系統是計算機系統性能的集中體現,是計算機軟/硬件系統的設計基礎,一方面,硬件設計者要根據指令系統進行硬件的邏輯設計;另一方面,軟件設計者也要根據指令系統來建立計算機的系統軟件。如何表示指令,怎樣組成一臺計算機的指令系統,直接影響計算機系統的硬件和軟件功能。

  二、指令格式

指令是計算機中傳輸控制信息的載體,每條指令代表某個基本的信息處理操作及操作的對象,因此,指令中應該包含表示處理功能的操作碼字段和與操作對象有關的地址碼字段。指令的一般格式如圖5.1所示。

圖1 指令的一般格式

1.操作碼OP

操作碼來表示“程序控制”的.具體操作,因此,不同功能的指令其操作碼編碼必須不同,因此,操作碼的長度(即操作碼字段所包含的二進制位數)就與機器支持的指令數量有關。通常情況下,長度爲n位的操作碼,最多可表示1條指令。

2.地址碼

地址碼字段的作用宏觀上看是提供操作碼的操作對象,微觀上隨指令類型和尋址方式的不同而不同,它可能作爲一個操作數、也可能是操作數的地址(包括操作數所在的主存地址、寄存器編號或外部設備端口地址)、也可能是一個用於計算地址的偏移量。不論地址碼具體上起什麼作用,但其長度會影響對象的範圍(數據大小、地址範圍大小、偏移量的大小)

根據一條指令中所含操作數地址的數量,可將指令分三地址指令,雙地址指令,單地址指令和零地址指令等4種。不同數量地址碼格式時,指令表示的操作也略有區別。

1)三地址指令

指令中具有三個地址碼字段,其格式爲:

  三、地址指令的操作表達式爲:

將地址Ad1所指數據與Ad2所指數據執行OP所指定的操作,結果送Ad3所指地址存放。

2)二地址指令

爲壓縮指令的長度,在三地址指令的基礎上,不另指定地址存放結果,而是存放到第一操作數地址Ad1中,把原來存放的第一操作數覆蓋,從而減少一個地址,形成雙地址指令。格式如爲:

  雙地址指令的操作表達式爲:

將地址Ad1所指數據與Ad2所指數據執行OP所指定的操作,結果送Ad1所指地址存放。

目前,常見的雙地址指令主要有RR型(兩個地址均爲寄存器地址)和RS型(一個地址是存儲地址,另一個是寄存器地址)。

  3)一地址指令

單地址指令中只有一個地址碼字段,其格式爲:

兩種情況下使用單地址指令

(1)單目運算類指令,如邏輯運算中的求反操作,其運算對象只有一個,故只需一個地址碼,它既表示該操作數的源地址,又作爲操作結果的目的地址。此時,單地址指令的操作表達式爲:

(2)爲進一步縮短指令長度,將雙目運算類指令中的一個操作數和操作結果均約定隱含於CPU中的某個寄存器(通常是累加器A)中,此時,單地址指令的操作表達式爲:

4)零地址指令

零地址指令中往往只有操作碼而沒有顯式地給出地址碼字段,其格式爲:

  零地址指令分三種情況:

(1)指令本身不需要任何操作數,如只是爲了佔位和延時而設置的空操作指令NOP(空操作指令)、WAIT(等待指令)、HALT(停機指令)等;

(2)指令需要一個操作數,但該操作數隱含於CPU的某個寄存器(通常是累加器A)中;

(3)操作數均由堆棧提供的指令,其操作結果也存入堆棧。

特別說明:指令格式的不同會影響到控制器局部通路和控制結構的不同,在學習控制器設計時,要牢牢把握指令格式與控制器結構的這種緊偶合!體會硬件與軟件之間的互動關係!

  三、指令長度對指令格式的影響

一條指令中所包含的二進位數即爲指令長度。指令越長,能夠分配給操作碼和地址碼字段的位數就越多。在指令長度固定的情況下,所分配的地址字段越多,則每個字段的位數就越少,將影響到地址字段的尋址範圍(包括所表示數據、地址範圍或偏移量的大小)。

  四、指令系統的發展

早期的指令系統以複雜指令爲主,對應的計算機稱爲複雜指令集計算機(Complex Instruction Set Computer: CISC),現代計算機的指令系統以精減指令爲主,對應的計算機稱爲精簡指令集計算機(Reduced Instruction Set Computer: RISC),兩者具有非常明顯不同的特徵:

  1.複雜指令系統的特徵

(1)指令系統複雜龐大,指令數目一般多達二三百條;

(2)尋址方式多;

(3)指令格式多;

(4)指令字長不固定;

(5)訪存指令不加限制;

(6)各種指令使用頻率相差大;

(7)各種指令執行時間相差大;

(8)大多數採用微程序控制器。

  2.精簡指令系統的特徵

人們進一步分析CISC後發現了80-20規律,即80%程序只用到了20%的指令集,基於這一發現,RISC精簡指令集被提出來,這是計算機系統結構的一次深刻革命。

RISC體系結構的基本思路是:針對CISC指令系統指令種類太多、指令格式不規範、尋址方式太多的缺點,通過減少指令種類、規範指令格式和簡化尋址方式,方便處理器內部的並行處理,從而大幅度地提高處理器的性能。大部分RISC具有下述一些特點:

(1)優先選取使用頻率最高的一些簡單指令;

(2)大多數指令在一個機器週期內完成;

(3)採用LOAD/STORE結構。由於訪問主存時間長,只保留LOAD(取數)和STORE(存數)兩種訪存指令,其餘指令只對存放在寄存器中的操作數進行處理;

(4)採用簡單的指令格式和尋址方式,指令長度固定;

(5)固定的指令格式。指令長度、格式固定,可簡化指令的譯碼邏輯,有利於提高流水線的執行效率;

(6)面向寄存器的結構。爲減少訪問主存儲器,CPU內應設大量的通用寄存器;

(7)採用硬佈線控制邏輯;

(8)注重編譯的優化,力求有效地支撐高級語言程序。

精簡指令系統計算機的着眼點不是簡單地放在簡化指令系統上,而是通過簡化指令使計算機的結構更加簡單合理,從而提高處理速度,其主要途徑是減少指令的執行週期數。 現在,RISC的硬件結構有很大改進,一個機器週期平均可完成1條以上指令,甚至可達到幾條指令。