程式是怎樣執行起來的ch01 aboutCPU

2021-08-29 05:31:52 字數 1736 閱讀 5347

1.要想知道程式是怎麼執行的,為什麼需要了解cpu?

2.從功能上劃分,cpu可以分為那幾個部分?對程式設計師來說,最重要的是哪一部分?

3.cpu解釋和執行程式的大致流程是怎樣的?

4.為什麼對於程式設計師來說,cpu是暫存器的集合?

5.暫存器的功能和物理實體,分類?

6.決定程式流程的是什麼?程式流程可以分為那三種?

6.1程式計數器儲存著的數值代表什麼

6.2分支和迴圈是通過什麼指令來實現的?程式計數器如何作出相應變化?

6.3對於程式中的比較指令,在計算機內部發生了什麼

7.函式的呼叫如何實現跳轉和返回?

7.1棧在函式呼叫中起到了什麼作用?

8.基址暫存器和變址暫存器是通過怎樣的合作來實現類似「陣列」的功能的?

1.要想知道程式是怎麼執行的,為什麼需要了解cpu?

答:因為程式是通過cpu來解釋和執行的。

2.從功能上劃分,cpu可以分為那幾個部分?對程式設計師來說,最重要的是哪一部分?

答:運算器;控制器:執行控制指令(把指令和資料從記憶體讀入暫存器)的器件;暫存器;時鐘:傳送cpu開始工作的訊號

3.cpu解釋和執行程式的大致流程是怎樣的?

答:時鐘先發出訊號,控制器把相應程式從記憶體中取出讀入到暫存器,通過對這些指令加以解釋和執行,由運算器對暫存器中的資料進行計算。控制器根據計算結果對計算機實施控制。上述流程並非 線性進行,中間有交錯。

4.為什麼對於程式設計師來說,cpu是暫存器的集合?

答:機器語言和組合語言把 暫存器 當做物件直接處理。比如:mov ax ,bx ;

5.暫存器的功能和物理實體,分類?

答:作為cpu的一部分,暫存器自然也是由大量電晶體組成的ic了。記憶體也是,應該是製作工藝不同。

暫存器的主要種類和功能

種類功能

累加暫存器

儲存執行運算的資料和運算後的資料

標誌暫存器

儲存運算處理後的cpu的狀態

程式計數器

基址暫存器

儲存 資料記憶體的起始位址

變址暫存器

儲存 資料記憶體 的偏移位址

通用暫存器

儲存任意資料

指令暫存器

儲存指令、僅限cpu內部使用。程式設計師無法通過程式對其進行讀寫操作

棧暫存器

儲存棧區域的起始位址

6.決定程式流程的是什麼?程式流程可以分為那三種?

6.1程式計數器儲存著的數值代表什麼

答:程式計數器是暫存器的一種,儲存著下一條指令所在的記憶體位址

6.2分支和迴圈是通過什麼指令來實現的?程式計數器如何作出相應變化?

答:jump跳轉指令。順序執行時,程式計數器自動主動加1(1代表相應的指令長度)

。遇到跳轉時,程式計數器將被動地更改為跳轉到的位址。

6.3對於程式中的比較指令,在計算機內部發生了什麼?

答:只要有比較,cpu就會默默進行減法運算,將結果正零負分別以「1「的形式儲存在標誌暫存器的0 1 2 三個位置。

7.函式的呼叫如何實現跳轉和返回?

答:call指令實現跳轉;return指令實現返回。

7.1棧在函式呼叫中起到了什麼作用?

答:函式呼叫時,在將函式的入口位址設定到程式計數器之前,call指令會先把呼叫結束後要執行的指令儲存到名為棧的主存中。函式處理完畢後,通過函式出口來執行return命令。return命令的功能是把儲存到棧中的位址(後進先出)設定到程式計數器中。

8.基址暫存器和變址暫存器是通過怎樣的合作來實現類似「陣列」的功能的?

程式是怎樣執行起來的ch04 記憶體

1.為什麼程式設計師必須要了解記憶體?答 雖然記憶體的物理結構就是ic構成的,每個記憶體單元也都有固定的實體地址。儲存單元的實體地址是唯一的。intel8086cpu有20根位址線,因此其儲存空間可達2的20次方 1m個位元組單元 1mb 位址都是從0開始的,在20位位址線的儲存空間中採用十六進製制...

程式是怎樣執行起來的ch02 03 二進位制

1.why is 二進位制?2.二進位制中怎麼表示 1 3.左移 右移的運算規則?4.什麼是正規表示式 excess系統?1.why is 二進位制?答 cpu的物理結構是數目眾多的積體電路 ic 構成的。ic有很多引腳,每個引腳只有直流電壓0v 5v兩個狀態。明顯二進位制和ic特性非常吻合,所以計...

程式是怎樣執行的

程式儲存在磁碟上,程式執行在記憶體中,我們雙擊執行乙個程式的時候,作業系統通過檔案管理器找到檔案資料儲存的具體位置 通過磁碟定址技術 然後將程式載入到記憶體 每個程序對應乙個虛擬記憶體,就相當於每個程序獨自占有主記憶體,每個程序看到的記憶體位址都是一樣的,稱為虛擬位址空間 程式不會全部載入到記憶體,...