從程式語言到微指令

2021-09-12 21:56:29 字數 1099 閱讀 5386

從程式設計到微指令

從學語言開始我就就覺得很神奇,

乙個機器怎麼能實現這麼多豐富的功能呢?

機器到底是怎麼設計出來的?

我想明白:從c++到機器的01**到底發生了什麼?硬體都做了什麼?

以前一直覺得這是很難的,我甚至為自己準備了好多學習計畫。

8086組合語言,微機原理,51微控制器,數字邏輯電路。

我想最少得把上面4本書完全弄通了,才能解決上面的問題吧。

但是最近學了jvm的原理,後又補充了點8086的知識,似乎就豁然開朗了。

無論什麼樣的軟體,什麼樣的程式。無外乎作如下三件事

1.輸入

2.處理

3.輸出

輸入輸出,無非就是資料,

處理的過程無非就是處理資料。

所以我做了乙個簡單的歸納:使用者關心的是資料,而電腦給我們加工資料。

電腦本質上就像乙個函式,我們給他一些資料,他給我們輸出一些資料。

那麼我們寫的程式機器到底是什麼執行的呢?

首先我們無論用什麼語言寫的程式都最終程式設計二進位制**,二進位制是啥呢?

先說說我們寫的函式程式設計了啥,實際上就是指標,有就是說程式設計電腦執行的乙個位置。

那我們寫的跳轉語句程式設計啥了呢,還是指標,指向程式跳轉的位置。

那麼電腦訪問到某個位置執行啥呢?

就是微指令,電腦也只能執行他是微指令。

到這來我把我們的程式怎麼比電腦執行的過程整理一下

寫程式編譯,連線,將程式程式設計01**。(這個過程就是把我們寫的任何語句對最終轉換成微指令)

執行,將我們的程式匯入記憶體。

cpu執行記憶體中的一條條指令,具體內容如下:

a.指令計數器會控制執行微指令的順序

b.遇到分支處理會根據資料狀態會有跳轉

c.幾乎沒一條指令的處理都會有資料的變化

d.在處理的過程中,也包括io系統對處理資料的讀取和表示

要點:

1.我們寫的程式最終會轉換成微指令

2.微指令就像函式一樣,不同的指令對資料進行不同成處理

3.我們看到豐富多型的輸入輸出(動畫,遊戲,計算…),都是資料的表現形式。

4.豐富的源泉在於微指令的設計和硬體對資料的表現力(多**等)

C語言程式設計,從菜鳥到高手

it行業,應屆畢業生不能順利地找到理想工作的原因在於,沒有程式設計的實戰經驗,即使是計算機科班出身的也會有相當的困惑!就是說,即使你不是計算機科班出身,通過自己的積極努力,照樣可以提高自己的程式設計技能,找到稱心如意的工作。成為高手,必須經歷的幾個歷程 一 研讀c語言程式設計教程,特別是經典教程 推...

從程式設計到工程

語言只是工具 我曾經是非常執著的開發人員。我有連續幾天幾夜coding 的經歷,也曾經為了乙個技術問題耗上三四個星期而導致專案一再延遲,還曾經為了乙個實現細節與專案相關的人員逐一爭論。我也曾經像大多數的開發人員一樣熱衷於爭論語言之間孰優孰劣。我在 delphi大富翁論壇 上寫過乙個簡介,其中個人特長...

從 Scratch 到程式設計

目前很多孩子在學 scratch 程式設計,但是覺得有些教育的方向有問題,大多數是在做遊戲設計,與演算法層面的培訓不多。實際上,作為一種兒童程式語言,當我第一次看到兒子用scratch,我就意識到這是乙個非常不錯的適合孩子用的程式語言。scratch的 控制 模組中包含的 迴圈重複執行 如果那麼條件...