• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于8位模型機的定點原碼一位乘法的實現

      2012-04-29 22:16:26孫曉麗富坤耿恒山王曉東秘海曉
      電腦知識與技術 2012年22期
      關鍵詞:計算機組成原理

      孫曉麗 富坤 耿恒山 王曉東 秘海曉

      摘要:該文描述了一套在八位微程序控制的模型計算機上通過編程實現定點原碼一位乘法的設計方案。通過對定點原碼一位乘法的算法分析,繪制出了原碼一位乘法操作流程控制圖,利用模型計算機現有指令系統(tǒng)設計機器操作步驟并編寫相應匯編語言程序,達到了在八位模型計算機中實現定點原碼一位乘法的預期目的。通過本實驗,加深了讀者對模型機工作原理的理解,開拓了讀者的思維。

      關鍵詞:計算機組成原理;模型機;原碼一位乘法;微程序

      中圖分類號:TP313文獻標識碼:A文章編號:1009-3044(2012)22-5347-04

      The Implementation of Point-Original Multiplication Based on 8-Bit Model Computer

      SUN Xiao-li, FU Kun, GENG Heng-shan, WANG Xiao-dong, MI Hai-xiao

      (School of Computer Science and Engineering, Hebei University of Technology, Tianjin 300401, China)

      Abstract: This article describes a design to achieve a point-original multiplication by programming in 8-bit model computer of the micro program control. Through its algorithm analysis, the operation process control charts of the point-original multiplication can be mapped out. In this paper, the purpose of achieving point-original multiplication is realized by taking advantage of existing model computer instruction set as well as programming corresponding assembly language programs. By the experiment, it is probable to help readers understand the working principle of the model machine easily and expand their thinking.

      Key words: computer organization; model computer; point-original multiplication; micro program

      計算機組成原理課程是大學本科計算機科學與技術專業(yè)的主干課程,而計算機組成原理課程設計是學習這門課程的關鍵實踐環(huán)節(jié)。在目前,大部分高校開設的實驗課程以驗證型實驗為主,這樣的實驗缺乏綜合性、設計性,不利于對學生的動手能力、設計能力的和創(chuàng)新意識的培養(yǎng)。該文針對傳統(tǒng)實驗的不足,設計了一套基于8位微程序控制的模型計算機實驗平臺的設計方案。通過實驗環(huán)節(jié),進一步融合貫通所學內容,明確計算機內部各個模塊的工作流程及其原理,并利用簡單指令系統(tǒng)實現在8位模型計算機上的定點原碼一位乘法運算,使讀者有了更大的想象空間、發(fā)揮空間,開拓了思維。

      1定點原碼一位乘法算法簡介

      原碼一位乘法是從手算演變而來的:即用兩個操作數的絕對值相乘,乘積的符號為兩操作數符號的異或值(同號為正,異號為負)。以小數為例:設X= Xs.X1X2X3X4X5X6,Y= Ys.Y1Y2Y3Y4Y5Y6,則X*=|X|=00. X1X2X3X4X5X6,Y*=|Y|= 00.Y1Y2Y3Y4 Y5Y6。

      乘積R=|X|×|Y|

      符號Rs=Xs⊕Ys

      式中:Rs為乘積的符號,Xs和Ys為被乘數和乘數的符號。

      原碼一位乘的運算規(guī)則如下:

      乘積的符號位由兩原碼符號位異或運算結果決定。

      參加運算的操作數取其絕對值。

      令乘數的最低位作為判定位,若為“1”,加被乘數;若為“0”,則加0。

      累加后的部分積和乘數均右移一位。

      重復n次③和④。

      2實驗平臺介紹

      本實驗采用的硬件平臺為8位單總線結構模型機,其分為四大模塊:存儲模塊,運算模塊,微程序控制模塊和時序模塊。存儲模塊主要功能是實現存儲器的讀寫操作;運算器模塊實現操作碼和運算結果的輸入輸出,數據和地址信息采用分時復用的原則對總線實現共享;時序脈沖模塊主要作用就是實現微程序的時序控制;微程序控制部分的主要作用是將指令譯碼成控制信息,并按操作次序將這些信息連接到有關部件,執(zhí)行指令規(guī)定的操作。本模型機有24位控制位,用以控制寄存器的輸入、輸出,選擇運算器的運算功能,存儲器的讀寫。

      3原碼一位乘法運算的實現

      在八位的原碼一位乘運算中需用多個寄存器,除了被乘數存放的寄存器以外,還需要三個寄存器,分別存放乘數及部分積的低位、部分積的高位和計數器,再配上加法器及其他相應電路來完成乘法運算。當前應用于教學實驗的8位微程序控制的模型計算機組成實驗平臺只包括三個通用寄存器組,因此本實驗的運算需要借助存儲器6116芯片來完成。乘數、被乘數以及部分積均存入存儲器,用670芯片的C寄存器作計數器。將乘數調入寄存器,判斷其最低位并右移一位寫回存儲器。根據乘法最后一位確定部分積是加被乘數還是加0(乘數最低位是1,則部分積加上被乘數絕對值,否則部分積加0),若加被乘數,則將其調入寄存器進行運算,然后判斷部分積的最后一位,確定部分積右移后,移入乘數的是0還是1,逐位運算后加入符號位即可。8位微程序控制的模型計算機組成實驗平臺上原碼一位乘運算基本配置框圖如圖1所示。

      圖1 8位微程序控制的模型計算機組成實驗平臺上原碼一位乘運算基本配置

      3.1原碼一位乘法操作流程

      乘法運算前,670芯片的A寄存器被清0,作為初始部分積,被乘數原碼存放在6116芯片的X單元中,乘數原碼存放在Q單元,計數器C中存放乘數的位數n(該文運算采用雙符號8位數)。乘法開始后,首先確定乘積的符號,由于本實驗采用的實驗平臺是針對本科教學的,其簡化了指令系統(tǒng),使其更利于學生從整體上把握計算機的工作流程,因此該平臺的指令系統(tǒng)中不存在異或指令,故該文采用加法來實現符號位的判定,求出乘積的符號并存于S處,接著將被乘數和乘數從原碼形式轉換為絕對值形式。然后再根據乘法末位是1還是0來決定部分積是否加上被乘數,并邏輯右移一位,重復n次,最后加上符號位,即得運算結果。

      原碼一位乘法控制流程如圖2所示。

      3.2機器操作步驟設計

      本實驗以X=+0.110101,Y=-0.101010為例,則[X]原=00.110101,[Y]原=11.101010,根據機器完成的功能,可以分成以下幾種操作過程:

      1)預置地址操作

      將開關K8置于輸入位置,合上開關K6(單指運行狀態(tài)),按A3鍵進行總清;將初始地址00000001置于數據開關上,按A2鍵輸入初始地址。

      2)輸入程序操作

      若地址沒有置好,則重新做第1)步中操作,若地址已置好,K8、K6保持原來狀態(tài);輸入初始地址后,將要輸入的程序置于數據開關上,按A1鍵,這時輸入的內容和單元的地址分別由數據燈和地址燈同時顯示;如果下一個字節(jié)緊接上一個單元存放,則回到第2)步,將輸入的下一條程序置于數據開關處,直至程序全部輸入完畢。

      第一步:輸入被乘數、乘數、部分積以及輔助運算數據。根據實驗平臺的特點,本實驗將被乘數、乘數、部分積均存入存儲器6116芯片中,同時利用精簡后指令集系統(tǒng)(只包含30條指令和3條面板控制指令),指令系統(tǒng)中不存在“異或”以及“右移多位”指令,根據該模型指令系統(tǒng)情況本實驗采用“加法”和“與”指令結合完成。在輸入乘數、被乘數時,利用與0011 1111進行“與指令”操作,取得乘數及被乘數的絕對值并存入存儲器中,內存存儲結構如圖3所示。

      第二步:利用“與”指令取得乘數、被乘數的符號,并根據乘數與被乘數的符號位判斷積的符號,然后將符號寫入1000 1111地址單元內,如表1存儲符號位所示。

      本示例中走分支1,將乘積符號0011 0000寫入1000 1111地址單元內。

      第三步,除兩位符號位外,兩個6位數相乘,總共需要進行6次加法運算和6次移位運算(移位操作通過與輔助數據進行加法運算)。進行運算時,由乘數的末位數值確定被乘數是否與原部分積相加,然后右移一位,形成新的部分積,同時乘數也右移一位,由次低位作新的末位,空出最高位放置部分積的最低位。每次做加法時,被乘數僅僅與原部分積的高位相加,其低位被移至乘數所空出的高位位置。本實驗平臺中寄存器不是級聯(lián)的,因此無法直接實現將部分積的低位移至乘數的高位。本實驗通過判斷部分積的最低位是0還是1來確定乘數是直接右移一位還是與0011 1111做與運算。運算過程如表2所示。

      圖2原碼一位乘法控制流程

      圖3內存存儲結構

      表1存儲符號位

      表2原碼一位乘法運算過程

      第四步,調整輸出結果。在存儲器中,部分積的高6位、低6位和乘積的符號位分別存儲在6116芯片的不同內存里,為了方便結果的輸出顯示,需對其進行調整。首先判斷部分積的第7位是否為1,若為1則溢出停機,否則將部分積的高6位(00100010)右移兩位至低6位(00110010)部分積的存儲單元的高兩位(001000)和(10110010),然后將符號位加上部分積高位單元的第5位和第6位,再進行存儲(00111000)。

      3)檢查內存

      用第1)步中的方法,將要檢查的單元地址0000 0001預置好;將開關K8置于檢查處,合上開關K6;按A1,這時被查單元地址和內容均分別由地址燈和數據燈顯示;若順序檢查下一個單元內容,則再按A1鍵,否則重新預置要檢查的地址,重復上面操作直到檢查完畢。

      4)運行操作

      用第1)步中的方法,把要執(zhí)行的程序入口地址預置好;根據需要可合上單微指開關K7或單指令開關K6(當這兩個開關均打開,機器自動連續(xù)運行),并置K8于運行處;按A1鍵后,機器開始執(zhí)行程序。

      4結束語

      以上遵循分析、設計、實現的思路,設計了一套基于NJS-1的八位原碼一位乘法的方案,該方案是對組成原理課程的加深和延續(xù)。通過對原碼一位乘法運算的設計,使讀者進一步理解機器中乘法是如何進行運算的,加深其對計算機工作原理的理解,尤其是指令系統(tǒng)的工作原理,以及各部件間的協(xié)調和配合;同時提供讀者一種如何在現有實驗平臺上利用簡單指令系統(tǒng)實現復雜機器指令的設計方案,從而開拓讀者的思維,對全面提高教學質量具有長足意義。

      參考文獻:

      [1]耿恒山.計算機組成原理[M].北京:機械工業(yè)出版社,2009.

      [2]劉永鐸.手工模擬計算機進行原碼一位乘法的實現方案[J].甘肅廣播電視大學學報,2008,18(4):84-86.

      [3]王曉蘭. JZYL-II型計算機組成原理實驗平臺研制與開發(fā)[J]].實驗室研究與探索,2009,28(9):80-82.

      [4]張宇華,周瑩.《計算機組成原理》綜合性、設計性實驗的開發(fā)與實現[J].現代計算機,2004(9):98-100.

      [5]張宇華.《計算機組成原理》實驗的開發(fā)與提高[J].現代計算機,2010(4):93-95.

      [6]戚梅,程勇.計算機組成原理實驗教程[M].北京:北京航空航天大學出版社,2008.

      [7]任益夫,從艷,劉喜梅.一種定點原碼一位乘法器的設計與實現[J].開發(fā)研究與設計技術,2007(8):443-447.

      [8]唐朔飛,劉旭東,包健,熊桂喜.“計算機組成原理”課程教學實施方案[J].中國大學教學,2010(11):42-45.

      猜你喜歡
      計算機組成原理
      物聯(lián)網工程專業(yè)計算機組成原理教學改革探索
      《計算機組成原理》綜合教學輔助平臺的設計與實現
      面向計算機系統(tǒng)能力培養(yǎng)的計算機組成原理實驗教學
      計算機教育(2016年7期)2016-11-10 08:08:16
      問題教學法在《計算機組成原理》課程教學中研究應用
      科技視界(2016年23期)2016-11-04 13:43:40
      用“工程思維”引領《計算機組成原理》課程教學
      考試周刊(2016年63期)2016-08-15 22:38:55
      計算機組成原理課程實驗教學探討與實踐
      來華留學生計算機組成原理課教學方法初探與思考
      大學教育(2016年4期)2016-04-07 06:29:00
      來華留學生計算機組成原理課教學方法初探與思考
      大學教育(2016年4期)2016-04-07 06:28:59
      《計算機組成原理》課程建設的改革與探索
      考試周刊(2016年1期)2016-03-11 00:29:06
      精品資源共享課平臺建設研究
      拉孜县| 顺昌县| 丹东市| 虎林市| 门头沟区| 中宁县| 新源县| 通海县| 广河县| 巴林左旗| 武威市| 龙胜| 中西区| 广安市| 思茅市| 内丘县| 澜沧| 淳化县| 远安县| 济源市| 肃宁县| 庆安县| 阿拉善右旗| 宁武县| 萨嘎县| 河南省| 红原县| 株洲县| 丹阳市| 绥德县| 奉新县| 台南县| 县级市| 库伦旗| 海口市| 松江区| 来宾市| 宁夏| 满洲里市| 上高县| 日土县|