在軟體方面,第一代計算機主要使用“機器語言”。
第一代計算機是電子管數字計算機。硬體方面,邏輯元件採用的是真空電子管,主儲存器採用汞延遲線、陰極射線示波管靜電儲存器、磁鼓、磁芯;外儲存器採用的是磁帶。軟體方面採用的是機器語言、組合語言。應用領域以軍事和科學計算為主。
缺點是體積大、功耗高、可靠性差。速度慢(一般為每秒數千次至數萬次)、價格昂貴,但為以後的計算機發展奠定了基礎。
機器語言是機器能直接識別的程式語言或指令程式碼,無需經過翻譯,每一操作碼在計算機內部都有相應的電路來完成它,或指不經翻譯即可為機器直接理解和接受的程式語言或指令程式碼。機器語言使用絕對地址和絕對操作碼。不同的計算機都有各自的機器語言,即指令系統。從使用的角度看,機器語言是最低階的語言。
機器語言指令是一種二進位制程式碼,由操作碼和運算元兩部分組成。操作碼規定了指令的操作,是指令中的關鍵字,不能預設。運算元表示該指令的操作物件。
計算機的指令格式與機器的字長、儲存器的容量及指令的功能都有很大的關係。從便於程式設計、增加基本操作並行性、提高指令功能的角度來看,指令中應包含多種資訊。但在有些指令中,由於部分資訊可能無用,這將浪費指令所佔的儲存空間,並增加了訪存次數,也許反而會影響速度。因此,如何合理、科學地設計指令格式,使指令既能給出足夠的資訊,又使其長度儘可能地與機器的字長相匹配,以節省儲存空間,縮短取值時間,提高機器的效能,這是指令格式設計中的一個重要問題。
計算機是透過執行指令來處理各種資料的。為了指出資料的來源、操作結果的去向及所執行的操作,一條指令必須包含下列資訊:
(1)操作碼。它具體說明了操作的性質及功能。一臺計算機可能有幾十條至幾百條指令,每一條指令都有一個相應的操作碼,計算機透過識別該操作碼來完成不同的操作。
(2)運算元的地址。CPU透過該地址就可以取得所需的運算元。
(3)操作結果的儲存地址。把對運算元的處理所產生的結果儲存在該地址中,以便再次使用。
(4)下條指令的地址。執行程式時,大多數指令按順序依次從主存中取出執行,只有在遇到轉移指令時,程式的執行順序才會改變。為了壓縮指令的長度,可以用一個程式計數器(ProgramCounter,PC)存放指令地址。每執行一條指令,PC的指令地址就自動+1(設該指令只佔一個主存單元),指出將要執行的下一條指令的地址。當遇到執行轉移指令時,則用轉移地址修改PC的內容。由於使用了PC,指令中就不必明顯地給出下一條將要執行指令的地址。
一條指令實際上包括兩種資訊即操作碼和地址碼。操作碼(OperationCode,OP)用來表示該指令所要完成的操作(如加、減、乘、除、資料傳送等),其長度取決於指令系統中的指令條數。地址碼用來描述該指令的操作物件,它或者直接給出運算元,或者指出運算元的儲存器地址或暫存器地址(即暫存器名)。
指令包括操作碼域和地址域兩部分。根據地址域所涉及的地址數量,常見的指令格式有以下幾種。
①三地址指令:一般地址域中A1、A2分別確定第一、第二運算元地址,A3確定結果地址。下一條指令的地址通常由程式計數器按順序給出。
②二地址指令:地址域中A1確定第一運算元地址,A2同時確定第二運算元地址和結果地址。
③單地址指令:地址域中A 確定第一運算元地址。固定使用某個暫存器存放第二運算元和操作結果。因而在指令中隱含了它們的地址。
④零地址指令:在堆疊型計算機中,運算元一般存放在下推堆疊頂的兩個單元中,結果又放入棧頂,地址均被隱含,因而大多數指令只有操作碼而沒有地址域。
⑤可變地址數指令:地址域所涉及的地址的數量隨操作定義而改變。如有的計算機的指令中的地址數可少至 0個,多至6個。
在軟體方面,第一代計算機主要使用“機器語言”。
第一代計算機是電子管數字計算機。硬體方面,邏輯元件採用的是真空電子管,主儲存器採用汞延遲線、陰極射線示波管靜電儲存器、磁鼓、磁芯;外儲存器採用的是磁帶。軟體方面採用的是機器語言、組合語言。應用領域以軍事和科學計算為主。
缺點是體積大、功耗高、可靠性差。速度慢(一般為每秒數千次至數萬次)、價格昂貴,但為以後的計算機發展奠定了基礎。
機器語言是機器能直接識別的程式語言或指令程式碼,無需經過翻譯,每一操作碼在計算機內部都有相應的電路來完成它,或指不經翻譯即可為機器直接理解和接受的程式語言或指令程式碼。機器語言使用絕對地址和絕對操作碼。不同的計算機都有各自的機器語言,即指令系統。從使用的角度看,機器語言是最低階的語言。
機器語言指令是一種二進位制程式碼,由操作碼和運算元兩部分組成。操作碼規定了指令的操作,是指令中的關鍵字,不能預設。運算元表示該指令的操作物件。
計算機的指令格式與機器的字長、儲存器的容量及指令的功能都有很大的關係。從便於程式設計、增加基本操作並行性、提高指令功能的角度來看,指令中應包含多種資訊。但在有些指令中,由於部分資訊可能無用,這將浪費指令所佔的儲存空間,並增加了訪存次數,也許反而會影響速度。因此,如何合理、科學地設計指令格式,使指令既能給出足夠的資訊,又使其長度儘可能地與機器的字長相匹配,以節省儲存空間,縮短取值時間,提高機器的效能,這是指令格式設計中的一個重要問題。
計算機是透過執行指令來處理各種資料的。為了指出資料的來源、操作結果的去向及所執行的操作,一條指令必須包含下列資訊:
(1)操作碼。它具體說明了操作的性質及功能。一臺計算機可能有幾十條至幾百條指令,每一條指令都有一個相應的操作碼,計算機透過識別該操作碼來完成不同的操作。
(2)運算元的地址。CPU透過該地址就可以取得所需的運算元。
(3)操作結果的儲存地址。把對運算元的處理所產生的結果儲存在該地址中,以便再次使用。
(4)下條指令的地址。執行程式時,大多數指令按順序依次從主存中取出執行,只有在遇到轉移指令時,程式的執行順序才會改變。為了壓縮指令的長度,可以用一個程式計數器(ProgramCounter,PC)存放指令地址。每執行一條指令,PC的指令地址就自動+1(設該指令只佔一個主存單元),指出將要執行的下一條指令的地址。當遇到執行轉移指令時,則用轉移地址修改PC的內容。由於使用了PC,指令中就不必明顯地給出下一條將要執行指令的地址。
一條指令實際上包括兩種資訊即操作碼和地址碼。操作碼(OperationCode,OP)用來表示該指令所要完成的操作(如加、減、乘、除、資料傳送等),其長度取決於指令系統中的指令條數。地址碼用來描述該指令的操作物件,它或者直接給出運算元,或者指出運算元的儲存器地址或暫存器地址(即暫存器名)。
指令包括操作碼域和地址域兩部分。根據地址域所涉及的地址數量,常見的指令格式有以下幾種。
①三地址指令:一般地址域中A1、A2分別確定第一、第二運算元地址,A3確定結果地址。下一條指令的地址通常由程式計數器按順序給出。
②二地址指令:地址域中A1確定第一運算元地址,A2同時確定第二運算元地址和結果地址。
③單地址指令:地址域中A 確定第一運算元地址。固定使用某個暫存器存放第二運算元和操作結果。因而在指令中隱含了它們的地址。
④零地址指令:在堆疊型計算機中,運算元一般存放在下推堆疊頂的兩個單元中,結果又放入棧頂,地址均被隱含,因而大多數指令只有操作碼而沒有地址域。
⑤可變地址數指令:地址域所涉及的地址的數量隨操作定義而改變。如有的計算機的指令中的地址數可少至 0個,多至6個。