机器如何区分和判定指令和数据
生活随笔
收集整理的這篇文章主要介紹了
机器如何区分和判定指令和数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
指令和數據都是應用上的概念。匯編語言,通過編譯器編譯,最后送給CPU的都是二進制數,那么CPU在一堆紛繁復雜的二進制,0110000110001中如何區分指令和數據呢?
?????我們需要明白以下幾點:
??? (1)每臺機器的指令,其格式和代碼所代表的含義都是硬性規定的,故稱之為面向機器的語言,也稱為機器語言。二進制,作為一種機器碼,計算機可以直接識別,不需要進行任何翻譯
??? (2)計算機硬件主要通過不同的時間段來區分指令和數據,即:取指周期(或取指微程序)取出的既為指令,執行周期計算機加載的第一條肯定是指令,然后根據這條指令去取二進制數,如果這條指令要取操作數,那么取出來的就是操作數;如果這條指令要取下一條指令,那么取出來得就是指令。
??? (3)把指令和數據分開放是為了安全和邏輯結構清晰。
??? (4)雖然指令和數據存放的格式一樣,但是訪問他們的時機不同。在取指令時期,cpu通過指令流取指令,存放在指令寄存器,?
然后解釋并執行指令;在執行指令時期,cpu通過數據流取數據, 存放在數據寄存器。 所以指令流取的是指令,數據流取的是數據。
總結
以上是生活随笔為你收集整理的机器如何区分和判定指令和数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: uCOS中任务调度时的上下文切换
- 下一篇: ARM中的RO、RW和ZI DATA