硬體編程

硬體編程

控制器對數據處理器的控制過程可以寫成硬體程式,即硬體描述語言。

基本介紹

  • 中文名:硬體編程
  • 外文名:hardware programming
  • 定義:控制器對數據處理器的控制過程
  • 步驟:從算法轉換到狀態轉換表的步驟
  • 系統:計算機
  • 套用學科:計算機原理
概述,硬體語句,複合語句,條件語句,

概述

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

硬體語句

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

複合語句

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

條件語句

條件語句的定義為:
<條件語句>::<標記> IF <狀態變數>
{
[SA]<語句>
...
[SL]<語句>
DEFAULT<語句>
}
大括弧內的所有語句都是條件語句主體內的語句。如狀態變數取值SA,那么執行[SA]語句;如果狀態變數的取值不在SA~SL之內,那么執行DEFAULT語句。如語句中無DEFAULT值,那么條件語句是不操作語句,下一個要執行的語句是跟隨條件語句之後的語句。

相關詞條

熱門詞條

聯絡我們