問題
程式是什麼?
指示計算機每一步動作的一組指令。
程式是由什麼組成的?
指令和資料。
什麼是機器語言?
cpu可以直接識別並使用的語言。
正在執行的程式儲存在什麼位置?
記憶體,硬碟和磁碟等媒介上儲存的程式被複製到記憶體後才能執行。
什麼是記憶體位址?
用來表示指令和資料儲存位置的數值。
計算機的構成元件中,負責程式的解釋和執行的是哪個?
cpucpu的組成
記憶體指的是計算機的主儲存器main memory,簡稱主存。主存通過控制晶元等與cpu相連,主要負責儲存指令和資料。但主存中儲存的指令和資料會隨著計算機的關機而自動清除。在程式設計師看來,cpu是暫存器的集合體組合語言assembly按採用助記符memonic來編寫程式,組合語言和機器語言基本上是一一對應的。通常我們將組合語言轉換為機器語言的過程稱為彙編,反過來稱為反彙編。
種類功能
累加暫存器(accumulator register)
儲存執行運算的資料和運算後的資料
標誌暫存器(flagregister)
儲存運算處理後的cpu的狀態
程式計數器(program counter)
基址暫存器(baseregister)
儲存資料記憶體的起始位址
變址暫存器(indexregister)
儲存基址暫存器的相對位址
通用暫存器(general purpose register)
儲存任意資料
指令暫存器(instructionregister)
儲存指令。cpu內部使用,程式設計師無法通過程式對該暫存器進行讀寫操作
棧暫存器(stackregister)
儲存棧區域的起始位址
其中,程式計數器、累加暫存器、標誌暫存器、指令暫存器和棧暫存器都只有乙個,其他的暫存器一般有多個。
條件分支和迴圈機制
條件分支和迴圈中使用的跳轉指令,會參照當前執行的運算結果來判斷是否跳轉。
而cpu在進行運算時,標誌暫存器的數值會根據運算結果自動設定。
函式的呼叫機制
函式呼叫使用的是call指令,call指令會把呼叫函式後要執行的指令位址儲存在名為棧的主存內;函式處理完畢後,再通過函式的出口來執行return指令,return命令的功能是把儲存在棧中的位址設定到程式計數器中。
通過位址和索引實現陣列
通過基址暫存器和變址暫存器,可以對主記憶體上特定的記憶體區域進行劃分,從而實現類似於陣列的操作。
cpu會把基址暫存器+變址暫存器的值解釋為實際檢視的記憶體位址。變址暫存器的值就相當於高階程式語言程式中陣列的索引功能。
機器語言指令的主要型別和功能
型別功能
資料轉送指令
暫存器和記憶體、記憶體和記憶體、暫存器和外圍裝置之間的資料讀寫操作
運算指令
用累加暫存器執行算術運算、邏輯運算、比較運算和移位運算
跳轉指令
實現條件分支、迴圈、強制跳轉等
call/return指令
函式的呼叫/返**用前的位址
CPU對程式設計師來說,到底是什麼?
正如大多數人所知道的那樣,cpu的名字叫做 處理器,它是計算機的大腦,可是對cpu的了解僅限於此的話,對我們來說其實是毫無用處,今天我們就深入的了解這個由數萬個電晶體構成的小東西,是如何成為計算機的大腦的。當你在編 的時候,你真的只是編 嗎 作為乙個程式設計師或者程式愛好者,我們最基本的工作就是程式...
程式設計師最後歸宿是什麼
中學政治學科的課堂上,辯證唯物主義告訴我們,任何事物都包含著既對立又統一的兩個方面。要如實的反映事物的本來面目,就必須堅持一分為二的矛盾分析法,對矛盾作全面的分析要運用兩分法 兩點論去認識事務的本質。簡單的意思就是,萬事萬物都要看到它好的一面和不好的一面。it也是如此,程式設計師的職業也是如此。程式...
程式設計師的幸福是什麼
程式設計師的幸福是什麼?程式設計師的幸福是天馬行空的思維 無所顧忌的表達 程式設計師的幸福是能夠專心的做一件事 專心的寫一篇文件 專心的寫一段 程式設計師的幸福是不僅能夠自己天天進步,而且也讓周圍的同事 朋友一起進步 程式設計師的幸福是不僅實現了使用者的需求,而且得到了使用者的誇獎 比他想要的做得更...