計算機的軟體就是指令的排列組合。
從指令開始向上看,組合語言使用簡單的單詞縮寫代替了指令,彙編編譯器將組合語言翻譯成指令,形成計算機執行的程式。再向上看,各種高階語言,比如c語言,將c**利用c編譯器編譯成組合語言,然後再用彙編的機器翻譯成機器指令,形成動態的程式。更有甚者,如python,本身就是c語言寫成的,py**有乙個直譯器,且無法執行多執行緒的,直譯器將py**解釋成pyc**,然後編譯成組合語言,然後再轉成指令集合,供計算機使用。
從指令向下看,一條指令可以分解成各種微指令,微指令有自己的微指令系統,這些指令是硬體可以直接執行的。
然而現在的大多數機器都有os,os處於指令和組合語言之間,提供了一層計算機管理排程使用的平台。所以,整體看來,從硬體可以直接執行的微指令,到最高端的語言,中間經過了好幾層的轉換和翻譯。
一、 指令系統
一條指令包括兩部分:操作碼和位址碼,這個和io指令有所區別就是io指令的第二部分不是位址,而是命令碼。
指令也是儲存在記憶體中的,可以被呼叫的資訊。
根據指令的不同,可以分為零位址指令、一位址指令、二位址指令、三位址指令。像多位址指令,很多都可以分解為微指令,也就是其他指令的組合。
指令字長一般都是8的倍數。這裡要區分乙個概念,指令字長、機器字長、儲存字長並不一定都相等。
二、 常見指令
也就是操作型別,到底計算機裡可以進行哪些動作:
1、 資料傳送:讀、寫、出入棧等等;
2、 算數邏輯:也就是原碼、反碼、補碼,定點、浮點,加減乘除等等。
3、 移位:位運算。
4、 轉移:即指令的跳轉,經常在邏輯判斷中用。
5、 呼叫返回:也就是常見的迴圈和遞迴。
6、 陷阱指令:程式中的捕獲異常類似。
7、 輸入輸出:可模擬為print函式,只不過print是將資料從主存輸出到io中,而指令的輸出是從cpu的alu單元輸出到記憶體中。
8、 其他一些指令。
三、 指令定址方式
指令中的位址的存放方法多種多樣,但是指令中的位址分為定址特徵和形式位址兩種,所以主要的方法有:
立即定址:也就是形式位址就是真實的要找的資料,避免了訪問暫存器、記憶體等等;定址特徵標明了到底是哪種位址;
直接定址:形式位址就是真實位址,可拿去訪問記憶體。
隱含定址:形式位址在經過乙個算數才能得到真實位址。
間接定址:給出位址,但是還要從主存中的位址對應的資料中找出位址,也就是,找兩層位址。
還有很多其他方法,由於平時工作不需要,我只是總結對計算機有個整體認識,這裡就不列出了,因為真的好多啊。
四、 常見指令格式
各種大公司開發了很多版本和標準的指令系統,最常見的還是intel8086的指令系統了吧。
五、 risc
在經過多年的複雜指令系統發展失敗之後,現在流行簡單指令系統。它是一種指令系統的設計風格。
計算機組成 指令系統
指令是要計算機執行某種操作的命令。從層次結構來說,可以分為 為微指令,機器指令,巨集指令。微指令 微程式的命令,它屬於硬體 巨集指令 由若干條機器指令組成的軟體指令,它屬於軟體 機器指令 用機器字表示,簡稱指令。指令系統 一台計算機的所有機器指令的集合,稱為這台計算機的指令系統。用組合語言編寫各種程...
計算機組成原理 指令系統
機器指令系統的分類 常見的定址方式 指令格式 設計指令系統時應考慮的各種因素。人們習慣把每一條機器語言的語句稱為機器指令,將全部機器指令的集合稱為機器的指令系統。機器的指令系統集中反應了機器的功能。指令的一般格式 指令由操作碼和位址碼組成 操作碼其位數反應了機器的操作種類,機器允許的指令條數 通常採...
計算機組成原理 指令系統
本章首先說明指令系統的發展與效能要求,然後介紹指令的一般格式。之後重點講述定址方式,指令的分類和功能,並給出幾個指令系統例項。計算機的程式是由一系列的機器指令組成的。指令就是要計算機執行某種操作的命令。一台計算機中所有機器指令的集合,稱為這台計算機的指令系統。複雜指令系統計算機簡稱cisc comp...