AI 助理
备案 控制台
开发者社区 云计算 文章 正文

410计算机组成原理学习笔记——运算方法和运算电路(三)

简介: 410计算机组成原理学习笔记——运算方法和运算电路(三)

7.补码的乘法运算

1.进行n轮加法、移位(补码的算术右移),最后再多来一次加法

2.加法的可能值为+0、x的补码、-x的补码(根据MQ的最低位和辅助位确定)

①辅助位 - MQ最低位 = 1:(ACC)+(x的补码)

②辅助位 - MQ最低位 = 0:(ACC)+ 0

③辅助位 - MQ最低位 = -1:(ACC)+(-x的补码)

3.符号位参与运算

4.初始状态:

①ACC置为0,使用双符号位(与原码乘法相同)

②MQ存放乘数,补码的乘法实现中,MQ需要添加一位辅助位(存放在最低位),辅助位初始为0,辅助位加上符号位,因此,设数值位为n位,则实际上MQ需要有n + 2位,并且,ACC和ALU也需要有n + 2位(MQ添加在低位,而ACC和ALU添加在高位)(原码乘法中MQ为n + 1位,仅有符号位,没有辅助位)

③寄存器X存放被乘数,使用双符号位补码形式(原码中被乘数也存放在X)3a085be1738e47f1bf33f4749e81aea2.png5.手算:a021e10c6f8640f29c964d15b85248fb.png

最后一次加法:使得符号位参与运算

8.原码的除法运算

1.符号位不参与运算,单独使用异或得到结果后替换(同原码的乘法思想),数值位取绝对值

2.数值位取绝对值运算

3.计算机在计算的时候,默认当前位的商为1,然后判断ACC和X的大小,若X更大,则恢复余数

4.初始:ACC存放被除数,X存放除数,MQ置为0(存放商),其最后一位为当前将要确定的商

①MQ当前位默认商1,(ACC)+ (-|Y|)补→ACC,ACC负值,说明余数比除数更小,应该商0

03e5facf335a48c4a487c9609311938b.png

②MQ修改当前位为0,(ACC)+ (|Y|)补→ACC,恢复余数eecce31992804e78a875afaa3fe0dbdb.png

③逻辑左移(错位)

23e0cc5cd59842e5becd08ba5c967ed4.png④MQ当前位默认商1,(ACC)+ (-|Y|)补→ACC,ACC负值,说明余数比除数更大,应该商15237ba22d01a4dd69265d37f982f0354.png

⑤逻辑左移4541697263804e4291f6b1542e6333fd.png

⑥MQ当前位默认商1,(ACC)+ (-|Y|)补→ACC,ACC负值,说明余数比除数更大,应该商16badb11734ce49e599520ac9a4fd415b.png

⑦逻辑左移 e7ee5c17bad641afa94b3571f4a08f07.png

⑧MQ当前位默认商1,(ACC)+ (-|Y|)补→ACC,ACC负值,说明余数比除数更小,应该商0411bd9113a1441dfb017ba7c6e41b5ad.png

⑨MQ修改当前位为0,(ACC)+ (|Y|)补→ACC,恢复余数

3d41295fdccb4f2da34b0254cbbee70e.png

⑩逻辑左移d81bc091bd284e02b9ed65deb76b82ce.png

11. MQ当前位默认商1,(ACC)+ (-|Y|)补→ACC,ACC负值,说明余数比除数更大,应该商1

f948fc50ce2c463995321981e47b9c2c.png

12.若最后MQ商的结果为负,则也需要恢复余数并商0

13.替换符号

5.小结84f847f62b454351b37e458a61083939.png

6.不恢复余数法:当余数为负时商0,先左移 ,再+除数(直接进行到下一位商的判断)

9.定点补码除法运算


a5ac9b390a9c486fb36974a06a969111.png

ccc107a628094998a2d379a96e7cbee3.png

10.C语言 类型转换

1.C语言的整数用补码表示

2.无符号数和有符号数的相互转换不会改变数值的存储,但是会改变解释方式(符号位)

3.长整数变短整数:高位截断,保留低位

4.短整数变长整数:符号扩展

11.数据的存储和排列

1.大小端存储:

①大端方式:最高有效字节存在低地址,最低有效字节存在高地址(利于人类阅读)

②小段方式:最低有效字节存在低地址,最高有效字节存在高地址(方便机器处理)

4ee2a8d9f9b64173a0e956258aacfffb.png

2.按字节、半字、字寻址:设字长位32bit,半字为16bit

①按字节寻址:一个字节对应一个地址

②按半字寻址:一个半字对应两个字节,因此,每个半字对应两个地址。设寻找半字地址为3,则二进制为11,左移一位(一个半字对应两个字节),因此,首字节地址为110,即6

③按字寻址:一个字对应四个字节,因此,一个字对应四个地址。设寻找字地址为2,则二进制为10,左移两位(一个字对应四个字节),因此,首字节地址为1000,即8

19ffb4e26a064b169304f67d0769e5bf.png

3.边界对齐:每次访存只能读/写一个字image.png

12.无符号整数乘法的基本电路结构image.png

1.被乘数存放在被乘数寄存器X中,乘数存放在乘数寄存器Y中

2.乘积寄存器位P数和被乘数寄存器X、乘数寄存器Y相同,逻辑上乘积寄存器P、乘数寄存器Y和进位C是连在一起使用的(即逻辑右移时,原来的C作为现乘积寄存器的最高位原乘积寄存器的最低位作为现乘数寄存器的最高位,原乘数寄存器的最低位舍弃)

3.ALU主要实现加法运算,C是两个数相加可能产生的进位:若当前乘数寄存器的最低位为0,则ALU左边输入乘积寄存器,右边输入0,计算结果输出到乘积寄存器中;若当前乘数寄存器的最低位为1,则ALU左边输入乘积寄存器,右边输入被乘数寄存器,计算结果输入到乘积寄存器中

4.ALU计算完成并输出数据后,进行逻辑右移

5.控制逻辑发出加、右移和写使能控制信号;设乘数和被乘数位n位,则计数器从n开始计数,进行n轮加法、右移,每进行一轮加法和右移后,计数器 - 1

6.两个n位数相乘,结果用2n位暂存,结果最终保留的是乘数寄存器中n bit,乘积寄存器舍弃。若乘积寄存器全0,则不发生溢出;只要有1,则发生溢出

7cc7e53afc6740928d6d1121d3795b6e.png

7.初始状态:被乘数寄存器X存放被乘数1101,乘数寄存器Y存放乘数0111,乘积寄存器置为0,计数器 = 4

①第一轮加法:

A.控制逻辑检测乘数寄存器中当前最后一位为1,则乘积寄存器需要加上被乘数

B.控制逻辑发出发出加信号,乘积寄存器输入到ALU的左边,被乘数寄存器输入到ALU的右边,即进行0000 + 1101 = 1101,计算不产生进位,C为0

C.ALU计算完成后,ALU发出写使能信号,使得计算结果写入乘积寄存器中

5dfd68a1ce104a2abc9a7f5563f61266.png

第一轮右移:逻辑右移

A.进位C、乘积寄存器、乘数寄存器逻辑上是相连的

B.进行逻辑右移,右移后,则原来的C作为现乘积寄存器的最高位,原乘积寄存器的最低位作为现乘数寄存器的最高位,原乘数寄存器的最低位舍弃b7f3c38f592e45a7823ddb1eb2cf435e.png

此时,第一轮的加法和移位进行完毕,计数器 - 1 = 3

②第二轮加法:

A.控制逻辑检测乘数寄存器中当前最后一位为1,则乘积寄存器需要加上被乘数

B.控制逻辑发出发出加信号,乘积寄存器输入到ALU的左边,被乘数寄存器输入到ALU的右边,即进行0110 + 1101 = 1 0011,计算产生进位,C为1

C.ALU计算完成后,ALU发出写使能信号,使得计算结果写入乘积寄存器中

fe5fd2bbcc304e8dbf6f804c8a83d264.png

第二轮右移:逻辑右移6d60e1c8df8c426492fc5f49270185fd.png此时,第二轮的加法和移位进行完毕,计数器 - 1 = 2

③第三轮加法:

A.控制逻辑检测乘数寄存器中当前最后一位为1,则乘积寄存器需要加上被乘数

B.控制逻辑发出发出加信号,乘积寄存器输入到ALU的左边,被乘数寄存器输入到ALU的右边,即进行1001 + 1101 = 1 0110,计算产生进位,C为1

C.ALU计算完成后,ALU发出写使能信号,使得计算结果写入乘积寄存器中


image.png

第三轮右移:

9f6fddf3886b49cd87b26d533b4ad109.png

此时,第三轮的加法和移位进行完毕,计数器 - 1 = 1

④第四轮加法:

A.控制逻辑检测乘数寄存器中当前最后一位为0,则乘积寄存器需要加上0

B.控制逻辑发出发出加信号,乘积寄存器输入到ALU的左边,0000输入到ALU的右边,即进行1011 + 0000 = 1011,计算不产生进位,C为0

C.ALU计算完成后,ALU发出写使能信号,使得计算结果写入乘积寄存器中

41ea19ba1af84e37b524f60a8194d47c.png

第四轮右移:e762b2517166412f8c88afe0c78c5057.png

此时,第三轮的加法和移位进行完毕,计数器 - 1 = 0

⑤此时,乘法计算结束,4bit * 4bit = 8bit存储,得到最终结果0101 1011 = 91,若只保留乘数寄存器的n bit,则结果位11,发生溢出























相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
gbip7sii3jwms
目录
相关文章
王同学睡醒了
|
9月前
【408计算机组成原理】—原码的乘法运算(九)
【408计算机组成原理】—原码的乘法运算(九)
王同学睡醒了
63 1
游客4llb6htoixmxw
|
4月前
计算机加法器执行二进制加法的原理介绍
计算机加法器执行二进制加法的原理介绍
游客4llb6htoixmxw
92 2
游客4llb6htoixmxw
|
4月前
计算机里加法器的工作原理
计算机里加法器的工作原理
游客4llb6htoixmxw
49 0
uzl2tcffzmkty
|
存储
计算机的运算方法
计算机的运算方法
uzl2tcffzmkty
204 0
游客4pdnrrpfa3xdq
计算机组成原理<四>——数据的表示和运算(下)(二)
计算机组成原理<四>——数据的表示和运算(下)
游客4pdnrrpfa3xdq
301 0
计算机组成原理<四>——数据的表示和运算(下)(二)
gbip7sii3jwms
408计算机组成原理学习笔记——运算方法和运算电路(一)
408计算机组成原理学习笔记——运算方法和运算电路
gbip7sii3jwms
312 1
408计算机组成原理学习笔记——运算方法和运算电路(一)
gbip7sii3jwms
409计算机组成原理学习笔记——运算方法和运算电路(二)
409计算机组成原理学习笔记——运算方法和运算电路(二)
gbip7sii3jwms
328 1
409计算机组成原理学习笔记——运算方法和运算电路(二)
gbip7sii3jwms
|
存储
410计算机组成原理学习笔记——运算方法和运算电路(四)
410计算机组成原理学习笔记——运算方法和运算电路
gbip7sii3jwms
176 1
410计算机组成原理学习笔记——运算方法和运算电路(四)
游客4pdnrrpfa3xdq
|
存储 人工智能 BI
计算机组成原理<四>——数据的表示和运算(下)(三)
计算机组成原理<四>——数据的表示和运算(下)
游客4pdnrrpfa3xdq
248 0
计算机组成原理<四>——数据的表示和运算(下)(三)
游客4pdnrrpfa3xdq
|
算法
计算机组成原理<三>——数据的表示和运算(上)
计算机组成原理<三>——数据的表示和运算(上)
游客4pdnrrpfa3xdq
346 0
计算机组成原理<三>——数据的表示和运算(上)

热门文章

最新文章

  • 1
    VS Code 是如何优化启动性能的?
  • 2
    Java设计模式(一)----单例模式
  • 3
    解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题
  • 4
    Enterprise Library Step By Step系列(十六):使用AppSetting Application Block
  • 5
    第10章 指针(四) 地址簿-----指针变量
  • 6
    百度也是seoer
  • 7
    Ext 智能 在VS2008中让Intellisense提供对ExtJS的支持 (转载)作者殷良胜
  • 8
    关于under any table/view 权限的解释
  • 9
    java反序列化时的类加载
  • 10
    AutoIt自动化编程(4)
  • 1
    设置 Maven 环境变量
    134
  • 2
    进程空间管理:用户态和内核态
    133
  • 3
    基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,节点消耗能量
    128
  • 4
    Docker:容器化技术的领航者 —— 从基础到实践的全面解析
    146
  • 5
    管理的命令
    130
  • 6
    日志管理服务
    20
  • 7
    TCP 报文的报头
    21
  • 8
    Linux系统
    23
  • 9
    linux目录结构
    22
  • 10
    IP地址
    19
  • 相关电子书

    更多
  • 低代码开发师(初级)实战教程
  • 冬季实战营第三期:MySQL数据库进阶实战
  • 阿里巴巴DevOps 最佳实践手册
  • 下一篇
    搭建自己的私有云盘工具总结

    天下网标王信阳网站建设优化推广公司嘉定网站优化多少钱关键词排名优化网站建设公司济南网站优化与seo深圳哪个网站可以优化银川手机网站优化结核病医院网站优化策略深圳如何把网站推广优化网上网站优化排名靠谱吗网站运营优化需要什么软件东宝区网站排名优化要多少钱外链对于百度网站优化的重要性徐州网站优化报价李沧网站优化效果石岩网站关键词优化多少钱临清网站优化企业服务长安网站优化天津网站优化推广公司宜昌工厂网站优化多少钱松岗怎么把网站优化济南企业网站优化推广方案陇南优化网站报价网站图片优化的概念成都网站seo优化网站开封网站快照优化网站一直优化不上去无锡网站关键词优化方案网站搜索优化询问n火18星青州网站推广优化公司苏州综合网站优化行业香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

    天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化