3月18日作业(2.4,2.5)1.P638.(1)解:(1)[x1]原=011000,[y1]原=111111,(2)符号位单独运算qf=(xf⊕yf)=0⊕1=1(3)数值位运算过程:计算11000/11111=0.11000/0.11111令|x|=0.11000|y|=0.11111(关键)则[|x|]补=0.11000,[|y|]补=0.11111,[-|y|]补=1.000010.11000+[-|y|]补1.000011.110010,q0=0+[|y|]补2-10.0111110.0100010,q1=1+[-|y|]补2-21.11000010.00000110,q2=1+[-|y|]补2-31.111000011.111001110,q3=0+[|y|]补2-40.0000111111.1111011010,q4=0+[|y|]补2-50.00000111111.11111110010,q5=0[q]原=qf.q1q2q3q4q5=1.11000余数校正:1.1111111001+0.0000011111=0.0000011000q=-0.11000r=0.0000011(余数与被除数同号)x1/y1的余数r1=r×25=0.11000主要问题:未按要求——阵列除法器(操作过程:减(or加)右移后的除数)符号位未单独处理2.(选作)已知x=-0.0100,y=0.1000,用加减交替法原码一位除(亦即原码加减交替法的串行实现)计算[x/y]原。要求:补码用双符号位表示,列表给出运算过程,商保留到小数点后4位。解:[x]原=1.0100,[y]原=0.1000,结果为[q]原符号位单独运算qf=(xf⊕yf)=1⊕0=1数值为运算过程:|x|=0.0100|y|=0.1000[|x|]补=00.0100,[|y|]补=00.1000,[-|y|]补=11.1000运算过程中要用到补码加、减法公式:[x+y]补=[x]补+[y]补[x-y]补=[x]补+[-y]补部分余数ri商说明00.0100+11.1000r0=00.01000.0000用一移位寄存器保存商,初始值为0;减|y|11.110011.1000+00.1000r1=11.1100r1=11.10000.0000|1=r0-|y|0,故商0余数左移一位,即r1=2r1加|y|100.000000.0000+11.1000r2=00.0000r2=00.00000.0001r20,商1余数左移一位,即r2=2r2减|y|11.100011.0000+00.1000r3=11.1000r3=11.00000.0010r30,商0余数左移一位,r3=2r3减|y|11.100011.0000+00.1000r4=11.1000r4=11.00000.0100r40,商0余数左移一位,r4=2r4加|y|11.1000+00.1000r5=11.10000.1000r50,商1余数校正100.0000r5=00.0000[q]原=[q]补=0.1000q=-0.1000余数[r]原=1.0000×2-4主要问题:没有把符号位提出来单独运算;步数不够3.原码除法有恢复余数法和加减交替法,哪一种方法好,为什么?恢复余数法:除法进行过程的步数多且步数不固定,故控制比较复杂。加减交替法:其步数少且步数固定,控制简单。4.(选作)在原码除法器中,原码一位除电路(详见PPT)和不恢复余数的阵列除法器电路(教材:图2.9)有何主要相同之处和不同之处?主要相同之处:基于加减交替法而构建主要不同之处:纯串行结构(加/减,移位),有并行实现(加/减和移位同时进行)5.在原码除法的加减交替法中,符号位单独运算,b。a)数值位求商的运算过程使用了原码加法和减法运算b)数值位求商的运算过程使用了补码加法和减法运算c)数值位只做减法运算d)数值位只做加法运算6.运算器的主要功能是进行c。a)逻辑运算b)算术运算c)逻辑运算和算术运算d)只作加法7.定点运算器中,一般包括ALU、寄存器、多路开关、三态缓冲器、数据总线等。