指令系統,指令系統是什么意思
指令系統,指令系統是什么意思
一臺計算機所能執行的各種指令集合稱為指令系統或指令集。一臺特定的計算機只能執行自己指令系統中的指令。因此,指令系統就是計算機的機器語言。指令系統表征著計算機的基本功能和使用屬性,它是計算機系統設計中的核心問題。指令系統的設計主要包括指令功能、操作類型的設計,尋址方式和指令格式的設計。
計算機的性能與它所設置的指令系統有很大的關系,指令系統反映了計算機的主要屬性,而指令系統的設置又與機器的硬件結構密切相關。指令是計算機執行某種操作的命令,而指令系統是一臺計算機中所有機器指令的集合。通常性能較好的計算機都設置有功能齊全、通用性強、指令豐富的指令系統,而指令功能的實現需要復雜的硬件結構來支持。
指令格式
計算機的指令格式與機器的字長、存儲器的容量及指令的功能都有很大的關系。從便于程序設計、增加基本操作并行性、提高指令功能的角度來看,指令中應包含多種信息。但在有些指令中,由于部分信息可能無用,這將浪費指令所占的存儲空間,并增加了訪存次數,也許反而會影響速度。因此,如何合理、科學地設計指令格式,使指令既能給出足夠的信息,又使其長度盡可能地與機器的字長相匹配,以節省存儲空間,縮短取指時間,提高機器的性能,這是指令格式設計中的一個重要問題。
計算機是通過執行指令來處理各種數據的。為了指出數據的來源、操作結果的去向及所執行的操作,一條指令必須包含下列信息:
(1)操作碼。它具體說明了操作的性質及功能。一臺計算機可能有幾十條至幾百條指令,每一條指令都有一個相應的操作碼,計算機通過識別該操作碼來完成不同的操作。(2)操作數的地址。CPU 通過該地址就可以取得所需的操作數。(3)操作結果的存儲地址。把對操作數的處理所產生的結果保存在該地址中,以便再次使用。(4)下條指令的地址。執行程序時,大多數指令按順序依次從主存中取出執行,只有在遇到轉移指令時,程序的執行順序才會改變。為了壓縮指令的長度,可以用一個程序計數器(Program Counter,PC)存放指令地址。每執行一條指令,PC 的指令地址就自動 +1(設該指令只占一個主存單元),指出將要執行的下一條指令的地址。當遇到執行轉移指令時,則用轉移地址修改 PC 的內容。由于使用了 PC,指令中就不必明顯地給出下一條將要執行指令的地址。
一條指令實際上包括兩種信息即操作碼和地址碼。操作碼(OperationCode,OP)用來表示該指令所要完成的操作(如加、減、乘、除、數據傳送等),其長度取決于指令系統中的指令條數。地址碼用來描述該指令的操作對象,它或者直接給出操作數,或者指出操作數的存儲器地址或寄存器地址(即寄存器名)。
一條指令就是機器語言的一個語句,它是一組有意義的二進制代碼,指令的基本格式如:操作碼字段地址碼字段其中操作碼指明了指令的操作性質及功能,地址碼則給出了操作數或操作數的地址。
各計算機公司設計生產的計算機,其指令的數量與功能、指令格式、尋址方式、數據格式都有差別,即使是一些常用的基本指令,如算術邏輯運算指令、轉移指令等也是各不相同的。因此,盡管各種型號計算機的高級語言基本相同,但將高級語言程序(例如 Fortran 語言程序)編譯成機器語言后,其差別也是很大的。因此將用機器語言表示的程序移植到其他機器上去幾乎是不可能的。從計算機的發展過程已經看到,由于構成計算機的基本硬件發展迅速,計算機的更新換代是很快的,這就存在軟件如何跟上的問題。大家知道,一臺新機器推出交付使用時,僅有少量系統軟件(如操作系統等)可提交用戶,大量軟件是不斷充實的,尤其是應用程序,有相當一部分是用戶在使用機器時不斷產生的,這就是所謂第三方提供的軟件。為了緩解新機器的推出與原有應用程序的繼續使用之間的矛盾,1964 年在設計 IBM360 計算機時所采用的系列機思想較好地解決了這一問題。從此以后,各個計算機公司生產的同一系列的計算機盡管其硬件實現方法可以不同,但指令系統、數據格式、I/O 系統等保持相同,因而軟件完全兼容(在此基礎上,產生了兼容機)。當研制該系列計算機的新型號或高檔產品時,盡管指令系統可以有較大的擴充,但仍保留了原來的全部指令,保持軟件向上兼容的特點,即低檔機或舊機型上的軟件不加修改即可在比它高檔的新機器上運行,以保護用戶在軟件上的投資。
CISC(復雜指令系統)和RISC(精簡指令系統)
指令系統的發展和CISC設計思想
回顧計算機的發展歷史,指令系統的發展經歷了從簡單到復雜的演變過程。早在20世紀50-60年代,計算機大多數采用分立元件的晶體管或電子管組成,其體積龐大,價格也很昂貴,因此計算機的硬件結構比較簡單,所支持的指令系統也只有十幾至幾十條最基本的指令,而且尋址方式簡單。到60年代中期,隨著集成電路的出現,計算機的功耗、體積、價格等不斷下降,硬件功能不斷增強,指令系統也越來越豐富。在70年代,高級語言己成為大、中、小型機的主要程序設計語言,計算機應用日益普及。由于軟件的發展超過了軟件設計理論的發展,復雜的軟件系統設計一直沒有很好的理論指導,導致軟件質量無法保證,從而出現了所謂的“軟件危機”。人們認為,縮小機器指令系統與高級語言語義差距,為高級語言提供很多的支持,是緩解軟件危機有效和可行的辦法。計算機設計者們利用當時已經成熟的微程序技術和飛速發展的VLSI技術,增設各種各樣的復雜的、面向高級語言的指令,使指令系統越來越龐大。這是幾十年來人們在設計計算機時,保證和提高指令系統有效性方面傳統的想法和作法。按這種傳統方法設計的計算機系統稱為復雜指令系統計算機(Complex Set Instruction Computer),簡稱CISC.
RISC是一種計算機體系結構的設計思想,是近代計算機體系結構發展史中的一個里程碑。然而,直到現在,RISC還沒有一個確切的定義。90年代初,IEEE的Michael Slater對于RISC的定義做了如下描述: RISC處理器所設計的指令系統應使流水線處理能高效率執行,并使優化編譯器能生成優化代碼。
1.RISC為使流水線高效率執行,應具有下述特征: (1) 簡單而統一格式的指令譯碼; (2) 大部分指令可以單周期執行完成; (3) 只有L AD和STORE指令可以訪問存儲器; (4) 簡單的尋址方式 ; (5) 采用延遲轉移技術; (6) 采用LOAD 延遲技術。
2.RISC為 使優化編譯器便于生成優化代碼,應具有下述特征: (1) 三地址指令格 式 ; (2) 較多的寄存器 ; (3) 對稱的指令格式 。
減少指令平均執行周期數是RISC思想的精華。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關閱讀:
- [電子說] 龍芯指令集,世界第三極 2023-09-22
- [電子說] 8051內核、兼容MCS-51的1T指令系統、通用IO型的8位芯片CMS8S5897介紹 2023-08-15
- [工業控制] PLC指令的表達方式 PLC指令系統的類型 2023-03-15
- [電子說] 龍芯自主CPU指令系統獲得開源DPDK支持 2022-12-08
- [控制/MCU] 一文詳解80C51單片機的指令系統 2022-11-15
- [工業控制] 龍芯中科發布基于自主指令系統“龍架構”29款自主工業系列產品 2022-09-05
- [今日頭條] 構建 4 位計算機:指令權衡 2022-08-01
- [電子說] 龍芯自主指令系統架構產學合作協同育人項目正式發布 2022-06-10
( 發表人:admin )