Alu 是 cpu 里的 算术逻辑单元
一个32位的Alu由32个独立的Alu 单元组成 每一个Alu单元的构成 由逻辑单元(and or not 等)和选择器组成, 选择器相当于控制选择哪个逻辑门或者逻辑群进行操作, 如下图 所示的一位选择器 比如有三个输入(A,B,C) 有一个输出 out, 细心发现 当A为 0时 out的结果取决于 B的值,当A为1的时候out的结果取决于C的值,因此 A相当于选择器 只不过是一位选择器,一位选择器 可以控制两个输入,当有更多位数时候,可以控制2^n个输入.
可能又有人疑问了,那么计算机自己是怎么设置控制器里的值的呢,其实值是由我们自己设置的,比如当我们声明一个变量 int a =1 此时编译器会将这行代码变成包含操作码的机器码,操作码就是控制器里对应的值。而cpu只需要转换这些机器码就可以了。
刚刚说了Alu里面包含简单的and or not,那么通过简单的And or not 就可以 执行复杂的加法操作,减法操作。
比如一个无符号位的加法 001 + 011二进制转换为十进制是1和2,因此结果是3即110,此时 110中的0刚好就是1异或1的结果,而异或
001
+ 011