
2007年5月13日 星期日
修改為乘法器
動作和步驟:Step1;先將r1表乘數,再將乘數設為x(r1﹤﹣x),並且將COUNTER設定為0( r2﹤﹣0)
Step2:Push Bottom 是0或1
為1時,進入Step3。
為0時,返回Step1。
Step3:
判斷r1(乘數)是否大於等於y(此時的y為被乘數)且Push Bottom,這兩項去作邏輯運算。
為1時,進入Step4開始執行。
為0時,返回Step1。
Step4:
r2﹤﹣r2+y(r2本來是COUNTER用來計算聯加了多少次,所以r2等於r2加y)
r1﹤﹣r1-1(每做ㄧ次COMPUTE,r1就減一次,減到r1小於等於y後即停止。)
r3﹤﹣r2(將r2 值給r3)
執行完以上的步驟後,就可以知道被乘數y連加了乘數x(即r1)次,即可修改為乘法器。
課堂中的除法器

動作和步驟:
Step1;先將r1表除數,再將除數設為x(r1﹤﹣x),並且將COUNTER設定為0( r2﹤﹣0)
Step2:Push Bottom 是0或1
為1時,進入Step3。
為0時,返回Step1。
Step3:
判斷r1(除數)是否大於等於y(此時的y為被除數)且Push Bottom,這兩項去作邏輯運算。
為1時,進入Step4開始執行。
為0時,返回Step1。
Step4:
r1﹤﹣r1-y(將r1被除數減除數y)
r2﹤﹣r2+1(每做ㄧ次COMPUTE,r2就加一次)
r3﹤﹣r2(將r2 值給r3)
執行完以上的步驟後,就可以知道被除數y連減了除數x(即r1)次,並計算於COUNTER,即可修改為除法器。
Step1;先將r1表除數,再將除數設為x(r1﹤﹣x),並且將COUNTER設定為0( r2﹤﹣0)
Step2:Push Bottom 是0或1
為1時,進入Step3。
為0時,返回Step1。
Step3:
判斷r1(除數)是否大於等於y(此時的y為被除數)且Push Bottom,這兩項去作邏輯運算。
為1時,進入Step4開始執行。
為0時,返回Step1。
Step4:
r1﹤﹣r1-y(將r1被除數減除數y)
r2﹤﹣r2+1(每做ㄧ次COMPUTE,r2就加一次)
r3﹤﹣r2(將r2 值給r3)
執行完以上的步驟後,就可以知道被除數y連減了除數x(即r1)次,並計算於COUNTER,即可修改為除法器。
Non-Restoring Division Algorithm
訂閱:
文章 (Atom)




