
算术 逻辑单元alu.doc
6页ALU百科名片ALU算术逻辑单元 (Arithmetic Logic Unit, ALU)是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,由"And Gate" 和"Or Gate"构成的算术逻辑单元,主要功能是进行二进制的算术运算,如加减乘(不包括整数除法)基本上,在所有现代 CPU 体系结构中,二进制都以二补数的形式来表示目录定义 运算方法 结构 运算器 主要功能 下面举例 8 位 ALU 的两种设计方案 生物学中 ALU编 辑 本 段 定 义计 算 机 中 执 行 各 种 算 术 和 逻 辑 运 算 操 作 的 部 件 运 算 器 的 基 本 操 作 包括 加 、 减 、 乘 、 除 四 则 运 算 , 与 、 或 、 非 、 异 或 等 逻 辑 操 作 , 以 及 移 位 、 比较 和 传 送 等 操 作 , 亦 称 算 术 逻 辑 部 件 ( ALU) 计 算 机 运 行 时 , 运 算 器 的 操作 和 操 作 种 类 由 控 制 器 决 定 运 算 器 处 理 的 数 据 来 自 存 储 器 ; 处 理 后 的 结 果数 据 通 常 送 回 存 储 器 , 或 暂 时 寄 存 在 运 算 器 中 。
ALU数 据 运 算 器 的 处 理 对 象 是 数 据 , 所 以 数 据 长 度 和 计 算 机 数 据 表 示 方 法 , 对 运算 器 的 性 能 影 响 极 大 70 年 代 微 处 理 器 常 以 1 个 、 4 个 、 8 个 、 16 个 二 进制 位 作 为 处 理 数 据 的 基 本 单 位 大 多 数 通 用 计 算 机 则 以 16、 32、 64 位 作 为运 算 器 处 理 数 据 的 长 度 能 对 一 个 数 据 的 所 有 位 同 时 进 行 处 理 的 运 算 器 称 为并 行 运 算 器 如 果 一 次 只 处 理 一 位 , 则 称 为 串 行 运 算 器 有 的 运 算 器 一 次 可处 理 几 位 ( 通 常 为 6 或 8 位 ) , 一 个 完 整 的 数 据 分 成 若 干 段 进 行 计 算 , 称为 串 并 行 运 算 器 运 算 器 往 往 只 处 理 一 种 长 度 的 数 据 有 的 也 能 处 理 几 种 不同 长 度 的 数 据 , 如 半 字 长 运 算 、 双 倍 字 长 运 算 、 四 倍 字 长 运 算 等 。
有 的 数 据长 度 可 以 在 运 算 过 程 中 指 定 , 称 为 变 字 长 运 算 按 照 数 据 的 不 同 表 示 方 法 , 可 以 有 二 进 制 运 算 器 、 十 进 制 运 算 器 、 十 六进 制 运 算 器 、 定 点 整 数 运 算 器 、 定 点 小 数 运 算 器 、 浮 点 数 运 算 器 等 按 照 数据 的 性 质 , 有 地 址 运 算 器 和 字 符 运 算 器 等 操 作 运 算 器 能 执 行 多 少 种 操 作 和 操 作 速 度 , 标 志 着 运 算 器 能 力 的 强 弱 ,甚 至 标 志 着 计 算 机 本 身 的 能 力 运 算 器 最 基 本 的 操 作 是 加 法 一 个 数 与 零 相加 , 等 于 简 单 地 传 送 这 个 数 将 一 个 数 的 代 码 求 补 , 与 另 一 个 数 相 加 , 相 当于 从 后 一 个 数 中 减 去 前 一 个 数 将 两 个 数 相 减 可 以 比 较 它 们 的 大 小 左 右 移 位 是 运 算 器 的 基 本 操 作 在 有 符 号 的 数 中 , 符 号 不 动 而 只 移 数 据位 , 称 为 算 术 移 位 。
若 数 据 连 同 符 号 的 所 有 位 一 齐 移 动 , 称 为 逻 辑 移 位 若将 数 据 的 最 高 位 与 最 低 位 链 接 进 行 逻 辑 移 位 , 称 为 循 环 移 位 运 算 器 的 逻 辑 操 作 可 将 两 个 数 据 按 位 进 行 与 、 或 、 异 或 , 以 及 将 一 个 数据 的 各 位 求 非 有 的 运 算 器 还 能 进 行 二 值 代 码 的 16 种 逻 辑 操 作 寄 存 器 连 线 面乘 、 除 法 操 作 较 为 复 杂 很 多 计 算 机 的 运 算 器 能 直 接 完 成 这 些 操 作 乘 法 操作 是 以 加 法 操 作 为 基 础 的 , 由 乘 数 的 一 位 或 几 位 译 码 控 制 逐 次 产 生 部 分 积 ,部 分 积 相 加 得 乘 积 除 法 则 又 常 以 乘 法 为 基 础 , 即 选 定 若 干 因 子 乘 以 除 数 ,使 它 近 似 为 1, 这 些 因 子 乘 被 除 数 则 得 商 没 有 执 行 乘 法 、 除 法 硬 件 的 计 算机 可 用 程 序 实 现 乘 、 除 , 但 速 度 慢 得 多 。
有 的 运 算 器 还 能 执 行 在 一 批 数 中 寻求 最 大 数 , 对 一 批 数 据 连 续 执 行 同 一 种 操 作 , 求 平 方 根 等 复 杂 操 作 编 辑 本 段 运 算 方 法实 现 运 算 器 的 操 作 , 特 别 是 四 则 运 算 , 必 须 选 择 合 理 的 运 算 方 法 它 直接 影 响 运 算 器 的 性 能 , 也 关 系 到 运 算 器 的 结 构 和 成 本 另 外 , 在 进 行 数 值 计算 时 , 结 果 的 有 效 数 位 可 能 较 长 , 必 须 截 取 一 定 的 有 效 数 位 , 由 此 而 产 生 最低 有 效 数 位 的 舍 入 问 题 选 用 的 舍 入 规 则 也 影 响 到 计 算 结 果 的 精 确 度 编 辑 本 段 结 构运 算 器 包 括 寄 存 器 、 执 行 部 件 和 控 制 电 路 3 个 部 分 在 典 型 的 运 算 器 中 有 3 个 寄 存 器 : 接 收 并 保 存 一 个 操 作 数 的 接 收 寄 存 器 ;保 存 另 一 个 操 作 数 和 运 算 结 果 的 累 加 寄 存 器 ; 在 进 行 乘 、 除 运 算 时 保 存 乘 数或 商 数 的 乘 商 寄 存 器 。
执 行 部 件 包 括 一 个 加 法 器 和 各 种 类 型 的 输 入 输 出 门 电路 控 制 电 路 按 照 一 定 的 时 间 顺 序 发 出 不 同 的 控 制 信 号 , 使 数 据 经 过 相 应 的门 电 路 进 入 寄 存 器 或 加 法 器 , 完 成 规 定 的 操 作 为 了 减 少 对 存 储 器 的 访 问 , 很 多 计 算 机 的 运 算 器 设 有 较 多 的 寄 存 器 , 存放 中 间 计 算 结 果 , 以 便 在 后 面 的 运 算 中 直 接 用 作 操 作 数 为 了 提 高 运 算 速 度 , 某 些 大 型 计 算 机 有 多 个 运 算 器 它 们 可 以 是 不 同 类型 的 运 算 器 , 如 定 点 加 法 器 、 浮 点 加 法 器 、 乘 法 器 等 , 也 可 以 是 相 同 类 型 的运 算 器 编 辑 本 段 运 算 器由 算 术 逻 辑 单 元 (ALU)、 累 加 寄 存 器 、 数 据 缓 冲 寄 存 器 和 状 态 条 件 寄 存器 组 成 , 它 是 数 据 加 工 处 理 部 件 相 对 控 制 器 而 言 , 运 算 器 接 受 控 制 器 的 命令 而 进 行 动 作 , 即 运 算 器 所 进 行 的 全 部 操 作 都 是 由 控 制 器 发 出 的 控 制 信 号来 指 挥 的 所 以 它 是 执 行 部 件 。
编 辑 本 段 主 要 功 能执 行 所 有 的 算 术 运 算 ; 执 行 所 有 的 逻 辑 运 算 , 并 进 行 逻 辑 测 试 , 如 零 值 测 试 或 两 个 值 的 比 较 编 辑 本 段 下 面 举 例 8 位 ALU 的 两 种 设 计 方 案使 用 原 理 图 方 法 设 计 : 使 用 VHDL 方 法 设 计 : 8-Bit ALU in VHDL This arithmetic logic unit accepts 8-bit inputs, but it can easily be modded to higher bits. It supports the addition, subtraction, set if less than, AND, and OR operations. The operation to perform is determined by the 3-bit address bus. library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; ENTITY alu8bit IS port(a, b : in std_logic_vector(7 downto 0); -- a and b are busses op : in std_logic_vector(2 downto 0); zero : out std_logic; f : out std_logic_vector(7 downto 0)); END alu8bit; architecture behavioral of alu8bit is begin process(op) variable temp: std_logic_vector(7 downto 0); begin case op is when "000" => temp := a and b; when "100" => temp := a and b; when "001" => temp := a or b; when "101" => temp := a or b; when "010" => temp := a + b; when "110" => temp := a - b; when "111" => if a temp := a - b; end case; if temp="00000000" then zero <= '1'; else zero <= '0'; end if; f <= temp; end process; end behavioral; 以 此 我 们 可 以 推 出 4 位 、 32 位 等 等 的 ALU 设 计 方 法 。
编 辑 本 段 生 物 学 中 ALUALU 序 列 Alu 重 复 序 列 是 哺 乳 动 物 基 因 组 中 SINE 家 族 的 一 员 , 约 有 50 万 份 拷 贝 也 就 是 说 平 均 4~ 6 kb 中 就 有 一 个 Alu 序 列 由 于 这 种 DNA 序 列 中 有 限 制性 内 切 核 酸 酶 Alu 工 的 识 别 序 列 AGCT, 所 以 称 为 Alu 重 复 序 列 典 型 的 人基 因 组 Alu 序 列 长 282 bp, 由 两 个 同 源 但 有 差 别 的 亚 基 构 成 亚 基 来 源 于有 缺 失 突 变 和 点 突 变 的 7SLRNA 基 因 两 个 亚 基 间 由 腺 嘌 呤 核 苷 酸 密 集 的 序列 连 接 右 边 的 亚 基 中 有 无 关 的 31 bp 插 入 片 段 , 称 为 IH Alu 序 列 两 端各 有 一 个 正 向 重 复。
