指令系統是**處理器所有指令的匯集,也是高階軟體編制的基礎。cpu都會定義出自己特定的指令,但都有統一的標準格式,指令的基本格式是操作碼和位址碼兩部分組成。如圖所示:
操作碼指出該指令要完成什麼操作,位址碼則提供原始資料。指令系統中定義操作碼的方式可以分為規整型(定長編碼)和非規整型(變長編碼)兩種。
定長編碼:採用相等碼長,每個操作碼的長度相等
變長編碼:根據使用頻度選擇不同長度的編碼
我認為這種方式跟我們之前學習的哈弗曼編碼具有相同的道理,使用頻率大的採用短編碼,使用頻率小的採用長編碼,這樣可以節省儲存空間,提高效率。
(1)隱含定址方式
在指令中不明顯給我而是隱含著運算元的位址 。
(2)立即定址方式
指令的位址碼指出的不是運算元的位址,而是運算元本身。這種定址方式的特點是指令執行時間短,不需要訪問記憶體取數。由於位址碼存放的運算元,故只能用於源運算元,不能用於目的運算元字段,經常用於給暫存器賦初值。例如:
mov al,'6';將5的ascii碼送入暫存器al,'6'是立即數。
(3)直接定址方式
位址碼就是主存內資料的絕對位址,不必做任何的換算。不足之處在於定址範圍有限,位址碼的位數限制了定址空間,而計算機的發展趨勢是計算機擁有越來越大的記憶體。如果使用變長指令結構,則該指令就會變得臃腫。
(4)間接定址方式
指令位址欄位中d不是操作碼的真正位址,而是運算元位址的指示器。也就是說位址碼指向主存中的資料,這個資料仍然是乙個位址,這種方式提高了定址的靈活性,擴大了定址的範圍,但由於要多次讀主存,速度大為降低。這就跟我尋找寶藏一樣,找到乙個寶藏,寶藏中放著的寶藏的位址。
(5)暫存器定址方式
當運算元不放在記憶體中,而是放在cpu的通用暫存器中時,可採用暫存器定址方式。
位址碼的位址是暫存器的位址。和記憶體定址比較而言,訪問暫存器的速度非常快,所以使用暫存器定址有非常快的速度,缺點:暫存器的數量的有限。
(6)暫存器間接定址方式
位址碼儲存的是暫存器位址,相對應的暫存器中儲存的是資料的位址,該位址指明的運算元在記憶體中。這樣既快又有靈活性,是一種廣泛使用的定址方式。
【總結】
通過上面的分析可以看出,直接定址方式和暫存器定址方式在位址碼中存放的都是運算元,而只要帶著間接的方式,在位址碼中存放的是乙個指向運算元的位址,這樣會使得擴充套件更方便,同時也能體現出靈活性。比較之後發現暫存器比記憶體的速度更快。
軟考(六) 學會走心
都說一千個讀者就有一千個哈姆雷特,文章的標題是 走心 不知道讀者您怎麼理解 找到唯妍同學問那天軟考結束考後總結時候的事情,因為有一句話自己實在是想不起來了,倆人最後確定了的詞語是 磨嘰 之所以忘記這個詞是因為當時大家要表達的是 不走心 不過心直口快的唯妍也許是心急沒有及時以及辦法完全詮釋 冒出了這兩...
六 答疑解惑 揹包問題之軟考
小夥伴們提出的103個問題裡有這樣一些問題,如下所訴 軟考之後就成為了什麼樣的人?要不要把計算機拉下?怎麼對軟考感興趣?基礎不好能考過嗎?為什麼考?考這個有什麼用?沒考過不知道什麼感覺?軟考的意義何在?不知道考這個證書有什麼用,聽說大多單位都不看這個證書 感覺不到軟考有多重要 重要嗎?為什麼要考?其...
軟考之計算機組成原理之指令系統
學習使人 困餓醜陋貧窮不開心 0 0 指令系統 我的知識儲備 大概就是一堆指令組成的系統吧。不同的機器指令似乎是不同的。為啥書還能扯3頁。看完一遍書 它講了啥,cisc sisc 流水線,不明白講指令集系統為什麼要扯暫存器,堆疊,軟考書上的知識 略 軟考試卷知識點 累加暫存器,用來暫時存放算術邏輯運...