cpu如何实现数学运算的
发布网友
发布时间:2022-03-18 01:43
我来回答
共7个回答
懂视网
时间:2022-03-18 06:04
cpu加法运算是由运算器的算术逻辑部件完成的,CPU的主要构成部分就是控制器和运算器。
中央处理器(Central Processing Unit),简称CPU,是1971年推出的一个计算机的运算核心和控制核心,是信息处理、程序运行的最终执行单元。
CPU包含运算逻辑部件、寄存器部件和控制部件等,并具有处理指令、执行操作、控制时间、处理数据等功能。其自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。
通用寄存器是中央处理器的重要组成部分,大多数指令都要访问到通用寄存器。通用寄存器的宽度决定计算机内部的数据通路宽度,其端口数目往往可影响内部操作的并行性。
热心网友
时间:2022-03-18 03:12
您好,很高兴为您回答。
1:CPU其实只能运行4种逻辑运算(与/或/非/异或)
2:该说法“CPU只能运算加法,加法也是通过4种逻辑运算来实现的”是错误的,CPU的加减法的实现是有微处理器的各个逻辑单元分别实现的,但是不仅仅是四种逻辑运算,否则怎么进位啊?
3:乘法,除法,减法都是转换成加法来运算的,然后再由加法转换成逻辑运算,得到结果.
乘法,除法不仅仅有加法,还有移位运算。
关于数的补码表示法,正数是从0开始往1111111走,而负数则是从1111111反过来向0走,感觉上不方便.
假设最高位决定正负,正负数字的绝对值依次从地位走,这样好像很好看.
全1是最小的负数,但是除去符号位全1的正数是最大的整数。而且补码0有两个,一个正0,一个负0
但这样做的目的是方便在做减法的时候,能比较简单的通过逻辑运算把减法转换成加法.
比如a-b,就看成a+(-b的补码值)
负数的补码表示通过对该数字的绝对值的补码值做 非 逻辑运算 ,底位再加1得到.
负数的补码就是对其正数部分取反加一。计算中,CPU只会做加法,它只知道1+1=10(二进制)其他的工作是由CPU的指令系统(控制单元)来完成的,比如乘法——把一个二进制数乘以二,就是把一个二进制数左边移一位,除法刚好相反,右移一位。 比如求一个数的10倍:
先给这个数字左移2次=原来数字乘以2,
然后把乘以2的结果放在寄存器里(存储单元),
再给这个数先左移2次=原来数的4倍,
然后,在给这个数字乘以2=原来数的8倍,
最后加上存放在寄存器里面的两倍就=原来数字的10倍了。
这些都是由CPU的指令系统控制的,在做逻辑运算的时候(就是逻辑控制单元)在起作用了,其实就是一些奇怪的加法比如:
与运算就会被规定两个不一样的数字进行比较结果为0
或运算:
两个不一样的数字比较,只要有一个不为“0”那么,结果就不为“0”
热心网友
时间:2022-03-18 04:30
这个东西貌似没法说的那么简单 cpu实际就是一个复杂而精密的数字电路,推荐你看这本书《微机原理与接*术》北京邮电大学出版社的那本白的 很经典 就行
热心网友
时间:2022-03-18 06:05
CPU首先把等一个数放入一个寄存器,再把另一个数放入另一个寄存器,运算。例:13+12=25。在CPU先把13和12以二进制1101和1100放入两个寄存器里,加法运算时按位门电路异或,进位标志在有进位时置高电平参与下一位加法运算。物理门电路学好就很好理解了。
热心网友
时间:2022-03-18 07:56
加法。移位。关键CPU有一个标志的寄存器。
热心网友
时间:2022-03-18 10:04
有点难吧,不敢想象,学过计算机原理的应该懂得mov eax,1mov ebx,1add eax,ebx
热心网友
时间:2022-03-18 12:29
如果你能理解二进制, 就知道计算机能理解的只有0和1. 说什么寄存器,运算逻辑的东西估计也不好懂,就举一个简单的例子吧。
计算机里面也是电路,CPU中只是电路比较多。 为啥计算机只能识别1和0呢? 其实那不是1和0,是有电和没电。
既然所有语言、数字,都能换成1和0的形式,那么计算机只需要一会断电一会通电就可以了。只是CPU把这个过程执行得很快,很有顺序很有条理。
而已。