ALU 运算功能详解

您所在的位置:网站首页 均码的标志是f吗 ALU 运算功能详解

ALU 运算功能详解

2023-09-10 19:52| 来源: 网络整理| 查看: 265

总表

在这里插入图片描述

S3、S2、S1、S0、CN_I为控制信号;FC 进位标志,FZ 零标志,FS 正负标志,I 中断允许标志;表中功能栏内的FC、FZ、FS表示当前运算可能会影响到该标志。

很显然只放这么一张表是很随意且模糊的,其中有着很多的基础知识,下文将详细讲述其中每一个功能,剖析每一次的运算过程。

接下来我将会顺着二进制依次增大的顺序讲解,并将其作为标题。若 CN_I 有 1 与 0 的区别的将会分开解析。 FC,FZ,FS是什么 在进入解释前我们先了解一下什么是 FC,FZ,FS

一、FC(Flag Carry)进位标志 在这里插入图片描述 二、FZ(零标识) 当运算结果为 0 时,FZ = 1,即 FZ 将会亮。

所有的运算都有可能产生 0 的结果

三、FS(正负标识) 当运算结果为负数时,FS = 1,即 FS 将会亮。

逻辑运算 0 0 0 0,F 直通 A、B CN_I = 1

直接输出 A

CN_I = 0

直接输出 B

0 0 0 1,F = A + B

这里的 A + B 不是指一般的 1 + 1 = 2,而是使用二进制逻辑运算 “或” 进行运算 有关逻辑运算可以看 二进制逻辑运算 这里我直接放样例

A = 580101 1000B = AB1010 1011或运算结果[0] 1111 1011 = FB FC = 0,FZ = 0,FS = 0;上表中 [0] 表示 FC 的值,用以表示有无进位若有进位 FC 就会等于 1,也就是说 FC 将会亮(由于异或判断之类的逻辑运算不会产生进位,所以逻辑运算都不会亮) 0 0 1 0,F = A * B

同样,这里的 A * B 不是指的 2 * 2 = 4,而是使用二进制逻辑运算 “与” 进行运算(二进制逻辑运算 )

A = 580101 1000B = AB1010 1011与运算结果[0] 0000 1000 = 08 0 0 1 1 0 1 0 0 移位运算 0 1 0 1 0 1 1 0 0 1 1 1 算数运算 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 其他 1 1 0 0 其他 1 1 0 1 1 1 1 0 1 1 1 1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3