“最後給加法器加上一個8位鎖存器,這樣這個鎖存器就會成為累加器。
“累加器會用來存放加法器計算的中間結果,省得每次運算過程的中間結果都要寫入到記憶體中。”
“然後,我們要再另外做一個64KRAM。”
程理看向了鍾武,然後這個看上去有些憨厚的黝黑大漢,掄起大錘,二話不說就是一陣亂揮。
然後一盞茶的功夫過後,又一個64KRAM就做好了,放在程理面前。
“將這個64KRAM再做進一步改進,就會得到一個暫存器。”
暫存器是CPU內部用來儲存指令和操作碼的一個特殊儲存器,是CPU內部必不可少的一個元件。
“好了,有了暫存器,就可以開始進行操作碼的設計了……這可是最難的地方。”程理有些頭疼道。
不同的邏輯閘電路可以構造出許多不同功能的觸發器,比如之前程理已經制造出來的丁(D)型觸發器,就是帶有記憶功能的邏輯靈路,最後可以透過D型觸發器做出鎖存器。
而所謂的操作碼是透過設計出特殊的觸發器,然後使這個觸發器,可以被一串特定的唯一資料觸發,從而執行某種具有特殊功能的操作。
“要怎麼設計這個操作碼?”算老問道。
“首先,我要設計出這樣一個邏輯靈路,這個邏輯靈路的功能是,把RAM裡某個地址的資料,轉移到累加器裡,供加法器進行運算。”
程理開始不停連線邏輯靈路起來,然後一邊說道。
“然後這個邏輯靈路被設計成,只有輸入特殊資料,比如當輸入00010000,這樣一個位元組8為數的二進位制資料時,邏輯靈路就被接通,從而觸發。”
在邏輯電路里,輸入資料,就像是撥動開關,所以可以設計一個這樣的特殊邏輯電路,只有把開關調成某個唯一數值的時候,才會被觸發。
“這樣一來,00010000,就被我們人為的賦予了某種特殊功能的指令碼,我們又稱之為操作碼。”
“因為00010000,這樣的二進位制格式不方便記憶,通常我們可以用十六進位制來對其進行標識。”
“00010000轉換成十六進位制就是10,用我們剛剛定義好的卦文來說的話,就是艮坤。”
“那麼這個‘艮坤’,就是操作碼,或者說可以稱之為程式碼!”
這種根據邏輯電路編寫出一個具有特殊功能的唯一資料,可以稱之為操作碼,也可以稱為硬體指令,實際上這就是一種最原始的程式碼,是所有程式語言程式碼的最原始來源。
透過硬體指令,我們才可以告訴計算機,要進行什麼操作。