基于ARM的嵌入式原理与应用:ALU的功能与特点

简介: 基于ARM的嵌入式原理与应用:ALU的功能与特点

一.定义

       我们知道,一个CPU由控制单元CU(Control Unit),算数/逻辑运算单元ALU(Arithmetic Logic Unit)和存储单元MU(Memory Unit)三大部分组成。而我们的ALU在CPU里则主要进行数据的算数运算和逻辑运算。它是计算机中负责运算的“大脑”,能够处理加法、减法、乘法、除法等基本算术运算,以及与、或、非、异或等逻辑运算。ALU还能执行一些辅助运算,如移位和求补操作。


命名:算术逻辑单元(Arithmetic&Logic Unit),简称ALU

组成:ALU有2个单元,算术单元(Arithmetic Unit)和逻辑单元(Logic Unit),算术单元负责计算机里的所有数字操作

作用:计算机中负责运算的组件,处理数字/逻辑的最基本单元

二.功能

算术运算:ALU能够执行基本的算术运算,包括加法、减法、乘法和除法。在许多ALU设计中,还可以处理更复杂的运算,如求模、增量(加一)和减量(减一)等。


逻辑运算:ALU执行逻辑运算,如与(AND)、或(OR)、非(NOT)、异或(XOR)等。这些运算通常用于条件判断和位操作。


移位操作:ALU可以进行位序列的左移(SHL)和右移(SHR),以及算术移位。


比较操作:ALU能够比较两个数值的大小,并设置相应的标志(如进位标志、零标志、符号标志等)以指示比较结果。


三.结构

       构成ALU最基本的构件是一位全加器(两个数相加,接受受低位进位,输出结果和向高位的进位)


 

一位全加器+函数发生器可以构成一位全功能全加器,不仅可以进行算数运算还可以进行逻辑运算

由一位全功能全加器经过复合、级联、优化设计得到实际中的ALU

四.特点

并行处理能力:ALU能够同时对多个位进行操作,这使得它能够快速处理数据。


高速度:由于ALU是CPU执行运算的核心部分,因此它通常设计得非常快速,以适应高速的数据处理需求。


固定操作周期:ALU执行运算通常在一个或几个时钟周期内完成,保证了运算的稳定性和可预测性。


有限的操作集:虽然ALU能执行多种类型的运算,但它的操作集是固定的,这意味着它只能执行那些在硬件中预先定义的操作。


数据宽度:ALU的数据宽度通常与CPU的字长相同,例如32位、64位等,这决定了ALU一次可以处理的数据量。


标志寄存器:ALU的操作结果常常会影响标志寄存器中的特定位,这些标志可以用于后续的决策过程,如跳转指令的条件判断。


可编程性:ALU的操作可以通过指令来控制,这使得它可以灵活地执行各种不同的运算任务。

五.实例说明

假设 R2 = 5, R3 = 3


指令: ADD R1, R2, R3


步骤:

1. CU 获取指令 ADD R1, R2, R3

2. CU 解码指令,识别操作和寄存器

3. CU 从寄存器文件获取 R2 和 R3 的值(5 和 3)

4. ALU 执行加法运算: 5 + 3 = 8

5. ALU 将结果 8 发送给 CU

6. CU 将结果 8 写入 R1

7. ALU 设置标志位(如果没有溢出,则进位标志为0,结果不为零,所以零标志为0)

8. CU 更新 PSW 中的标志位

9. CU 准备执行下一条指令


相关文章
|
6月前
|
存储 Ubuntu 编译器
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(三)
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(三)
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(三)
|
6月前
|
Ubuntu Unix Linux
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(一)
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(一)
|
6月前
|
Linux 编译器 语音技术
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(二)
合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(二)
|
5月前
|
机器学习/深度学习 人工智能 计算机视觉
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
|
6月前
|
存储 算法 Linux
详细解读ARM嵌入式整理
详细解读ARM嵌入式整理
41 0
|
5天前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。
|
2月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
2月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
|
2月前
|
存储 Docker 容器
ARM架构鲲鹏主机BClinux离线安装docker步骤
下载并安装适用于ARM架构的Docker CE二进制文件,解压后移动至/usr/bin目录。创建docker组,配置systemd服务脚本(docker.service、docker.socket、containerd.service),重载systemd配置,启动并启用docker服务。编辑daemon.json配置存储驱动、镜像加速地址等,最后拉取所需镜像。
53 0
|
2月前
|
NoSQL MongoDB Docker
求助,有没有大神可以找到arm64架构下mongodb的3.6.8版本的docker镜像?
在Docker Hub受限的情况下,寻求适用于ARM架构的docker镜像资源或拉取链接,以便在x86架构上获取;内网中的机器为ARM架构,因此优先请求适合ARM的Docker镜像或Dockerfile,非常感激您的帮助。