複製鏈接
請複製以下鏈接發送給好友

硬件編程

鎖定
硬件編程,理學領域術語。控制器對數據處理器的控制過程可以寫成硬件程序,即硬件描述語言。 [1] 
中文名
硬件編程
外文名
hardware programming
定    義
控制器對數據處理器的控制過程
步    驟
從算法轉換到狀態轉換表的步驟
系    統
計算機
應用學科
計算機原理

硬件編程程序簡介

把硬件程序作為從算法轉換到狀態轉換表的一箇中間步驟。通過對硬件編程語言的學習,也可加深對計算、檢驗步驟的理解。控制器處在一個狀態,即一個計算步驟,向數據處理器發出命令信號,命令數據處理器完成相應的操作,並根據數據處理器返回的狀態變量,決定控制器的下一個狀態,即下一個計算步驟。既然控制器的工作可用硬件描述語言表示,那麼控制器的狀態轉換表的內容應與語言的內容相一致。程序中的語句應適應控制器的狀態。語句既包含控制器發出的命令信號,還包含根據狀態變量決定的次態信息。 [1] 

硬件編程硬件語句

硬件程序像任何程序一樣,是由語句序列組成的。為了編寫這些語句,必須建立正式的詞法規律和語句習慣。這些規律和習慣應儘可能地簡單易懂,並與狀態轉換表密切相關。程序中可能有許多語句,通常必須訪問其中的某個語句,為此應對語句做標記。標記是語句的一個成分。它由1~7個字母和數字組成,第一個符號是字母。泛指一個標記時,用角形括號將標記的元素括上,即“(標記)”。控制器的輸入是外輸入和狀態變量。為了簡便起見,今後把外輸入看做是狀態變量的元素,不再單獨考慮。狀態變量可能是多位變量
、…、
,它的取值為
、…、
,也可用助記符號表示它們。例如,狀態變量S包含三個變量
,其中:
時,
時,
時,
。在編程中,是否使用助記符號由編程者自己決定。
控制器的輸出信號T命令數據處理器執行特定的操作,通常用助記符號表示T,如NOP、CLR、ADD、SUB等。其目的是便於記憶或聯想數據處理器執行的操作。
任何編程語言都在程序的適當點加入註釋,對語句做附加説明。“(註釋)”為文字説明,不起程序作用。它緊跟在符號“/*”之後,例如:
/*THIS A COMMENT
/*COMPUTE THE MAGNITUDE OF X
“<註釋>”也可用中文書寫,它只起解釋和説明的作用,便於編程者記憶程序和語句的作用。
狀態轉換表規定控制器的次態和輸出,所以一個語句應提供下列信息:實現這個語句應完成的操作;確定該實現的下一個語句。一個簡單語句由下列成分構成:
<標記> <操作> <下一個語句> <註釋>
語句的第一個部分是語句的符號名稱。標記部分的定義是:
<標記> ::= (標記> :| 空項
“::=”指明左側的量由右側的量定義。上式意味着,“<標記>”不是“<標記>:”就是空項(無標記)。符號“|”指明它兩邊的量中的任何一個都可表示“<標記>”。
語句的第二部分是操作部分,其定義為
<操作> =<控制信號>
這表明,操作部分是用助記符號表示的控制信號。
語句的第三部分是下一個語句。它提供的是控制器的次態信息,其定義為:
<下一個語句>::= <標記> | 空項
這是語句的地址部分。如果“(下一個語句>”用“(標記)”表示,那麼下一個要執行的是由“<標記>”命名的語句;如果是空項,那麼下一個要執行的是語句序列中的下一個語句。
簡單語句的最後一部分是註釋部分,其定義為:
<註釋>::=<註釋> | 空項
任何一個語句都可能有一個附加的註釋,用來表明程序中語句的目的或者設計者附加的説明。 [1] 

硬件編程複合語句

寫硬件程序時,常把一個語句序列看做是一個單個語句,這樣的語句序列稱為複合語句,其定義為:
<複合語句>::={<語句>
...
<語句>}
定義指明,“(複合語句>”是由許多語句構成的,“{”表示複合語句的起點,“}”表示複合語句的終點。複合語句中的語句也可能是條件語句或是複合語句。它們是按次序執行的,只是最後一個語句在下一個語句位置寫有語句標記。例如:
0UT:{DISP /*顯示結果
{INC A /*複合語句中的複合語句
lNC B
INC C}
DEC
CLR NEW} /*下一個語句是NEW [1] 

硬件編程條件語句

條件語句的定義為:
<條件語句>::<標記> IF <狀態變量>
{
[SA]<語句>
...
[SL]<語句>
DEFAULT<語句>
}
大括號內的所有語句都是條件語句主體內的語句。如狀態變量取值SA,那麼執行[SA]語句;如果狀態變量的取值不在SA~SL之內,那麼執行DEFAULT語句。如語句中無DEFAULT值,那麼條件語句是不操作語句,下一個要執行的語句是跟隨條件語句之後的語句。 [1] 
參考資料
  • 1.    張元敏,宋庚寅主編,電子技術實驗與設計製作,西南交通大學出版社,2009.05,205-208