⑴ 微程序的控制方法
微程序控制方法由於規整性好,靈活方便,通用性強,因此在包括計算機在內的各種復雜數字系統控制器的設計中得到了廣泛應用,成為控制器的主流設計方法之一。
程序控制的基本思想,就是仿照通常的解題程序的方法,把所有的控制命令信號匯集在一起編碼成所謂的微指令,存放在一個EPROM里。系統運行時,一條又一條地讀出這些微指令,從而產生執行部件所需要的各種控制信號,以控制各邏輯部件執行所規定的操作。
一個數字系統基本上可以劃分成兩大部分——控制部件和執行部件,如圖6.26所示。控制器就是控制部件。而ALU、寄存器組、存儲器RAM等,相對控制器來講,就是執行部件。那麼兩者之間是如何進行聯系的呢?
控制部件與執行部件的聯系之一,是通過控制線。控制部件通過控制線向執行部件發出各種控制命令,我們把這種控制命令稱為微命令,而執行部件接受微命令所執行的操作叫作微操作。
控制部件與執行部件之間的另一聯系是反饋信息。例如由於運算處理中正在處理的數據因其結果特徵(正、負、進位、溢出等)而影響下一個操作的執行,因此就需要規定條件測試或狀態測試。執行部件通過反饋線向控制部件反映當前操作的結果情況,以便使控制部件根據執行部件的「狀態」標志下達新的微命令。
在系統的一個基本周期(又稱機器周期,一般由幾個時鍾周期組成)中,一組實現一定操作功能的微命令的組合,構成一條微指令。
這里要強調兩點:
第一,一條微指令的有效持續時間為一個系統基本周期,它表示從R0M中讀出微指令與執行這條微指令的時間總和。當從ROM中讀出下一條微指令後,當前的這條微指令即失效。
第二,一條微指令中包含若干個微命令,它們分頭並行地控制執行部件進行相應的微操作。
微指令除給出微命令信息外,還應給出測試判別信息。一旦出現此信息,執行這條微指令時要對系統的有關「狀態標志」進行測試,從而實現控制演算法流程圖的條件分支。微指令中還包含一個下址欄位,該欄位將指明ROM中下一條微指令的地址。
圖6.27示出了微指令的典型結構,長條框內的符號X表示一個二進制位(bit)。其中微命令欄位給出執行部件的控制信號:X編碼為1,表示有微命令,X編碼為0表示無微命令。測試判別欄位和下一地址欄位一起實現順序控制:當測試判別欄位無效時(X編碼為0),下址欄位信息即是下條微指令的地址;當判別測試欄位有效時(其中一個X編碼為1),根據執行部件反饋線上的標志信息對下址欄位信息進行修改,修改好的地址即為下條微指令的地址。
微程序是由若干條微指令組成的序列。在計算機中,一條機器指令的功能可由若干條微指令組成的序列來解釋和執行,因此機器執行一條指令的過程,也就是執行一個相應的微程序的過程。就一般數字系統而言,按照我們在第6.5節中使用的概念,微程序實質上就是將控制演算法流程圖用EPROM等來實現。
微程序概念的引入使大型復雜數字系統控制器的設計發生了革命性的變化。因為微程序技術可代替硬體布線的控制技術,即由門電路和觸發器等組成的硬體網路可被存有控制代碼的EPROM存儲器所取代 。
⑵ 舉例說明我們對信息進行編碼的三種主要方式,編碼對培養學生應用知識和學習知識有何啟示
深度加工材料,有效運用記憶術,進行組塊化編碼。
c++通常使用的是三種編碼方式,分別是SBCS,MBCS,和Unicode字元集。
SBCS是一個位元組一個字元,MBCS是幾個位元組一個字元,可能是一個,兩個,三個不等,但是實際上,絕大多數時候使用兩個位元組的,所以有時候看到DBCS(double-byte character set)代替MBCS也不奇怪。
Unicode一律是兩個位元組編碼。在windows nt內核中,API一律使用的是unicode編碼,所以如果在編喊橡皮寫軟體過程中使用非unicode編碼方式,系統也會自動轉換成unicode執行,然後鄭差返回的結構再轉換為使用的類型。
(2)如何通過編碼方式控製程序資源擴展閱讀:
注意事項:
1、在具體編寫代碼時,是否考慮該模塊的參數和返回值,好的參數,便於調用,返回值明確,直指error,如設計一套Error Code。
2、編寫代碼時,定義的變數,是否有初始化,最好都初始化,特別是數組、指針和控制變數,有時候一些莫名其妙的結果都是因為沒有初始化引起的,而有些控制變數則可能導致該模塊的執行出現異常。
3、是否有參數出錯判斷,對哪些參數需要如沖進行出錯判斷。
4、申請空間後,是否用了memset初始化。
⑶ 程序文件的編號
質量手冊:QM-XX,XX是公司的一號文件如01;
程序文件:OP-XX-00,XX是部門的代號(如品質控制部門QM),OO是文件在整個程序文件中的序號,如01、02
作業指導書:WI-XX-00,XX是部門的代號,OO是各部門編製作業指導書的序號,按部門排序。
供參考!
如有不明白,可以把你的QQ號碼留下,把詳細的資料傳給你!
⑷ 信息編碼方式有哪些
編碼方式有哪些_簡述常用的編碼方式
1、ASCII碼
學過計算機的人都知道ASCII碼,總共有128個,用一個位元組的低7位表示,0~31是控制字元如換行回車刪除等;32~126是列印字元,可以通過鍵盤輸入並且能夠顯示出來。
2、ISO-8859-1
128個字元顯然是不夠用的,於是ISO組織在ASCII碼基礎上又制定了一些列標准用來擴展ASCII編碼,它們是ISO-8859-1~ISO-8859-15,其中ISO-8859-1涵蓋了大多數西歐語言字元,所有應用的最廣泛。ISO-8859-1仍然是單位元組編碼,它總共能表示256個字元。
3、GB2312
它的全稱是《信息交換用漢字編碼字元集基本集》,它是雙位元組編碼,總的編碼范圍是A1-F7,其中從A1-A9是符號區,總共包含682個符號,從B0-F7是漢字區,包含6763個漢字。
4、GBK
全稱叫《漢字內碼擴展規范》,是國家技術監督局為windows95所制定的新的漢字內碼規范,它的出現是為了擴展GB2312,加入更多的漢字,它的編碼范圍是8140~FEFE(去掉XX7F)總共有23940個碼位,它能表示21003個漢字,它的編碼是和GB2312兼容的,也就是說用GB2312編碼的漢字可以用GBK來解碼,並且不會有亂碼。
5、GB18030
全稱是《信息交換用漢字編碼字元集》,是我國的強制標准,它可能是單位元組、雙位元組或者四位元組編碼,它的編碼與GB2312編碼兼容,這個雖然是國家標准,但是實際應用系統中使用的並不廣泛。
6、UTF-16
說到UTF必須要提到Unicode(UniversalCode統一碼),ISO試圖想創建一個全新的超語言字典,世界上所有的語言都可以通過這本字典來相互翻譯。可想而知這個字典是多麼的復雜,關於Unicode的詳細規范可以參考相應文檔。Unicode是Java和XML的基礎,下面詳細介紹Unicode在計算機中的存儲形式。
UTF-16具體定義了Unicode字元在計算機中存取方法。UTF-16用兩個位元組來表示Unicode轉化格式,這個是定長的表示方法,不論什麼字元都可以用兩個位元組表示,兩個位元組是16個bit,所以叫UTF-16。UTF-16表示字元非常方便,每兩個位元組表示一個字元,這個在字元串操作時就大大簡化了操作,這也是Java以UTF-16作為內存的字元存儲格式的一個很重要的原因。
7、UTF-8
UTF-16統一採用兩個位元組表示一個字元,雖然在表示上非常簡單方便,但是也有其缺點,有很大一部分字元用一個位元組就可以表示的現在要兩個位元組表示,存儲空間放大了一倍,在現在的網路帶寬還非常有限的今天,這樣會增大網路傳輸的流量,而且也沒必要。而UTF-8採用了一種變長技術,每個編碼區域有不同的字碼長度。不同類型的字元可以是由1~6個位元組組成。
UTF-8有以下編碼規則:
如果一個位元組,最高位(第8位)為0,表示這是一個ASCII字元(00-7F)。可見,所有ASCII編碼已經是UTF-8了。
如果一個位元組,以11開頭,連續的1的個數暗示這個字元的位元組數,例如:110xxxxx代表它是雙位元組UTF-8字元的首位元組。
如果一個位元組,以10開始,表示它不是首位元組,需要向前查找才能得到當前字元的首位元組。