计算机组成原理——原码乘法运算(※)
Posted 流楚丶格念
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机组成原理——原码乘法运算(※)相关的知识,希望对你有一定的参考价值。
乘法运算的思想
手算乘法(二进制)
例如: 算 0.1101×0.1011
列竖式
移位运算
原码的一位乘法
补充:运算器相关知识
运算器:用于实现算术运算(如:加减乘除)、逻辑运算(如:与或非)
- ACC: 累加器,用于存放操作数,或运算结果。
- MQ: 乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。
- X: 通用的操作数寄存器,用于存放操作数
- ALU: 算术逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算
加 | 减 | 乘 | 除 | |
---|---|---|---|---|
ACC | 被加数、和 | 被减数、差 | 乘积高位 | 被除数、余数 |
MQ | 乘数、乘积低位 | 商 | ||
X | 加数 | 减数 | 被乘数 | 除数 |
原码一位乘法实现方法:先加法再移位,重复n次
符号位通过异或确定;数值部分通过被乘数和乘数绝对值的 n 轮加法、移位完成根据当前乘数中参与运算的位确定(ACC)加什么。
- 若当前运算位=1,则(ACC)+[|x|]原;
- 若=0,则(ACC)+0。
每轮加法后ACC、MQ的内容统一逻辑右移
手算模拟
tips
- 乘数的符号位不参与运算,可以省略
- 原码一位乘可以只用单符号位
- 答题时最终结果最好写为原码机器数
例题
设机器字长为5位(含1位符号位,n=4),x = −0.1101,y = +0.1011,采用原码一位乘法求x·y
解:手动计算是这样
符号位:1与0进行异或运算,得0。
所以随后结果是:x·y= -0.10001111
以上是关于计算机组成原理——原码乘法运算(※)的主要内容,如果未能解决你的问题,请参考以下文章
(计算机组成原理)第二章数据的表示和运算-第二节5:定点数乘法运算(原码/补码一位乘法)