logo资料库

51单片机与ARM比较.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
64 51 系列单片机与 ARM 处理器的比较 51 系列单片机与 ARM 处理器的比较 Comp aris on Between 51 Series Sing le Chip Comp uter and ARM Microp roces s or 罗 佳 孙运强 ( 中北大学信息与通信工程学院, 山西 太原 030051) 目前 ARM 微处理器在国内逐步推广使用, 且在 32 位市场上, ARM 扮演着 8 位市场上 8051 的角色。从 51 系列单片 机基础知识出发, 将 ARM 处理器和 51 系列单片机进行综合对比, 使读者更好的理解和学习 ARM 处理器的基础知识。 摘 要 关键词: ARM 微处理器, 51 系列单片机 基础知识 Abs tract Currently,the ARM microproces s ors have extens ive us age gradually in the domes tic country.In 32 bits markets ,ARM play thee role of 8051 in 8 bits markets .This paper embarks on bas ic knowledge of 51 s eries s ingle chip computer.ARM microproces s or and 51 s eries s ingle chip computer are compared comprehens ively to make the reader better to compre- hend and learn the bas ic knowledge of the ARM microproces s or. Keywords :ARM microproces s or,51 s eries s ingle chip computer,bas ic knowledge 从 20 世纪 80 年 代 到 现 在, 单 片 机 始 终 在 8 位 机 的 档 次 上 徘徊, 8 位的单片机始终主导着应用的潮流。16 位单片机虽然也 曾经掀起过波浪, 但很快就销声匿迹了。随着科技的发展, 人们 对 单 片 机 的 性 能 、速 度 、存 储 量 、通 信 能 力 、功 能 的 多 样 性 、开 发 的方便程度及耗电的多少等不断提出更高的要求。32 位单片机 应用的高潮正悄悄到来。ARM 处理器就是近年来发展十分迅猛 的一种体系结构。 从 51 系列单片机到 ARM 处理器是一个很大的跨度。原因 是 ARM 处理器完全不同与 51 系列单片机, 其结构十分复杂。 1 ARM 不是单片机 一般称 51 系列为单片机, 单片机就是把中央处理器( Cen- ter Proces s ing Unite ) 、存 储 器 ( RAM/ROM) 和 输 入 / 输 出 设 备 ( Input /Output) 集 成 在 一 个 芯 片 内 的 芯 片 。 它 具 有 微 型 计 算 机 的最基本的功能, 是一个可以独立运行的最小的智能系统。一般 称其为 Single Microcomputer, 也 可 以 称 为 微 型 控 制 器( Micro- controller) 。 把 单 片 机 作 为 一 个 控 制 系 统 的 核 心 进 行 产 品 的 设 计, 使产品的性能得到提高。随着科技的发展, 更大规模的集成 电路在芯片设计方面得到了进一步的推广和应用, 单片机的功 能变得更加强大, 这时人们把这些功能更加强大的单片机成为 微处理器( Microproces s or) 。因此微处理器 与 单 片 机 一 般 并 没 有多大区别, 只不过微处理器功能更强大, 特别是数据处理能力 更加强大。 综 上 所 述 , ARM 不 是 单 片 机 , 而 只 是 一 个 单 片 机 的 内 核 。 ARM 是 Advanced RISC Machines 的缩写。其 中 RISC 原 文 是 Reduced Ins truction Set Computer, 意 为 精 简 指 令 集 计 算 机。单片机最主要的特征就是本身能组成最小系统, 可独立运 行, 并具有完整的功能, 而 ARM 则不能。ARM 和单片机不同, 它 仅仅是单片机中的中央处理器。一般称其为 ARM 处理器结构。 也 就 是 说 以 ARM 为 核 , 把 ARM 作 为 中 央 处 理 器 , 根 据 需 要 设 计出外围功能模块, 用总线把这些功能模块和 ARM 核连接在一 起, 组成一个单片机。这个单片机由 ARM 核控制, ARM 核执行 指令, 并根据指令对外围设备发出各种控制命令。 现在, 也有以 51 系列为核的单片机, 其设计主要基于 51 系 列具有广泛应用这样一个背景。在这样的设计中, 把使用 51 系 列 指 令 、具 备 51 系 列 结 构 的 单 片 机 设 计 得 功 能 更 加 强 大, 内 部 存储区更多, 输入 /输出口线增加几倍, 速度可达 40Mb /s 。但这 种单片机仍然是一个 8 位机, 功能仍然受到 51 系列的局限。 2 以 ARM 为核的单片机 2.1 51 系列单片机 在 单 片 机 内, 通 过 总 线 与 内 核( 中 央 处 理 器 ) 连 接 在 一 起 的 有 各 种 外 围( 片 内) 设 备, 如 定 时 器 / 计 数 器 、数 据 存 储 器 和 串 行 通信模块等。对中央处理器而言, 一般可以把这些统称为外围设 备( 片内) 。对中央处理器来说, 这些外围设备和外部设备并没有 太大区别, 中央处理器对片内外围设备的操作是通过对寄存器 的读 /写来完成的, 而对片外的外部设备的操作是通过对存储器 的读 /写来完成的。无论片内还是片外, 对中央处理器来说, 其操 作都是对某一地址的操作。 2.2 ARM 怎样组成一个单片机 像 51 系列的中央处理器( 内核) 一样, ARM 不是单片机, 是 一个只能够做单片机的内核的中央处理器。它的任何功能实现 都离不开外围设备。由于它仅仅是一个单片机的内核, 因此, 由 它所构成的单片机因侧重不同而性能相差很大。 在 这 种 单 片 机 中 , 可 以 设 计 出 各 种 功 能 模 块, 比 如 51 系 列 中所包含的串行通信模块、定时器 / 计数器模块等。由于这种模 块设计相对 简 单, 又 很 灵 活, 移 植 比 较 容 易, 因 此, 以 ARM 为 核 的单片机在同一家族中兼容性好。同时, 由于模块是连接在总线 上的, 模块的多少对 ARM 本身没有影响, 因此, 在一个片内可以 设计出很多不同功能的模块。正因为如此, 以 ARM 为核才容易 设计出功能强大的单片机。 在图 1 中, 模块也可以是完全相同的或是几个是相同的, 这 对系统并没影响。同 51 系列相似, ARM 处理器对外部模块的操 作仅仅是对不同地址的操作。每个模块都有自己的功能寄存器, 例如可能有命令寄存器、状态寄存器和中断屏蔽寄存器等。每个 图 1 以 ARM 为核的单片机结构
《工业控制计算机》2007 年 20 卷第 5 期 65 模块的寄存器在总线上都有固定的地址, ARM 通过对这些地 址 的操作来实现对这些寄存器的控制和检测, 也就是实现对这些 模块控制和检测, 从而实现各种功能。 在这种设计中, ARM 核只是把外部模块作为不同的地 址 对 象, 各个模块的不同对 ARM 处理器来说, 仅仅是地址不同而已。 3 51 系列单片机和 ARM 处理器的比较 下 面 以 89C52 和 ARM7 为 例 比 较 , ARM 处 理 器 作 为 单 片 机的内核和 51 系列单片机内核的相近和差异, 如表 1 所列。 表 1 51 系列和 ARM 处理器的比较 图 2 ARM7 3 级流水线结构的指令执行示意图 机 的 经 验 出 发, 我 们 知 道, 有 些 中 断 是 可 屏 蔽 的 ; 中 断 处 理 程 序 应 该 有 合 适 的 入 口, 成 为 中 断 向 量; 中 断 应 该 有 优 先 权 限 , 以 解 决多个中断同时发生等。这些对于 ARM 处理器同样适用。在处 理 中 断 的 过 程 时 , 51 系 列 单 片 机 和 ARM 处 理 器 本 质 上 是 一 致 的。尽管 ARM 的每一种中断都是一种模式, 但这和处理中断们 的过程无关。表 2 是 51 系列和 ARM 处理器中断响应的对比。 表 2 51 系列和 ARM 处理器中断响应的对比 其实这种比较没有多大意义, 我们只是想把它们联系起来, 便 于 今 后 学 习 51 系 列 单 片 机 和 ARM 处 理 器 时 会 发 现 它 们 之 间的差异。 举例来说, 51 系列单片机只有 6 个中断源, 而 ARM 系列单 片机可多达上百 个 中 断 源, 虽 然 ARM 处 理 器 只 有 7 个 中 断 源 。 有的以 ARM 为核的单片机复位中断也是可以屏蔽的, 这可能是 在 ARM 中也把复位作为 中 断 处 理 的 原 因, 但 从 51 系 列 的 结 构 出发, 这是一个很难理解的事情。 51 系 列 单 片 机 在 退 出 中 断 时 , 程 序 要 做 到 : 把 保 护 的 寄 存 器( 如 果 有 的 话) 从 堆 栈 中 弹 出 来 ( POP) 来 ; 重 新 开 启 进 入 中 断 时关闭的中断( 如果曾关闭过) ; 执行返回指令( RET1) 。ARM 处 理 器 在 退 出 异 常 中 断 时, 程 序 要 做 到: 把 保 护 的 寄 存 器 恢 复 ; 把 SPSR 恢 复 到 CPSR; 重 新 开 启 中 断( 如 果 需 要 的 话 ) ; 把 返 回 地 址赋给 PC。 3) 指令的种类和指令的含义是相近的, 比如数据传送、数据 虽然 ARM 处理器 要 比 51 系 列 强 大 得 多, 但 它 们 仍 有 很 多 相加 /减等。 相似之处: 1) 指令的处理———取指、译码和执行过程是一样的。一般地 说, 计算机在执行程序时, 要分 3 个步骤。第一步是要把指令从 程序存储器中取出来, 称为取指。第二步是把读到内核的指令进 行译码, 也就是把二进制的指令变换成电路的动作( 打开哪些门 电路, 关闭哪些门电路) 。第三步是指令的执行, 把门电路的动作 送到指定的目标地址。但应该注意的是, 51 系列 单 片 机 指 令 是 顺序读取和执行 的, 而 ARM 处 理 器 的 3 个 步 骤 是 同 时 进 行 的, 如图 2 所示( 以 ARM7 为例) 。从图中可以看出, ARM 执行指令 过 程 是: 第 1 条 指 令 译 码 的 同 时, 第 2 条 指 令 已 经 开 始 取 指; 在 第 1 条指令执行的时候, 第 2 条指令已经开始译码, 第 3 条指令 已经开始取指。由于取指总是提前进行, 所以叫做预取指。这种 指令的执行过程称为 3 级流水线结构。在 ARM 系列中, 流水线 级数越多, 说明单位时间内执行指令的条数就越多。正由于这种 结构, 所以 ARM 处理器指令吞吐量要大, 运算速度要快。 51 系列顺序进行如下: ARM7 的 3 级流水线如图 2。 2) 中断的处理过程———响应中断、分配向量、保护现场和退 出中断是一样的。ARM 处理器的所有异常都会引起中断。尽管 引起中断的起因和 51 系列单片机大不相同, 但从 51 系列单片 4) 程序的编程方法是相同的, 比如程序分支、子程序调用等。 5) 寄存器的使用是相近的, 比如堆栈指针、程序计数器(PC) 和程序状态寄存器等。 寄存器是处理器内部用于数据运算、传输和存储的地址单 元。在 ARM 处理器中, 共有 37 个寄存器, 其中, 31 个通用寄存 器和 6 个状态寄存器。如表 3 所列。 表 3 51 系列单片机和 ARM 处理器的寄存器比较 如表 3 所列, 计算机指令的运行是需要记录的, 这个记录是 由 程 序 计 数 器 PC 来 完 成 的 , PC 内 存 储 的 是 程 序 运 行 的 地 址 。 在 51 系列单片机和 ARM 处 理 器 中, 这 一 点 是 完 全 相 同 的 。 程 序运行的状态由状态寄存器来记录, 这一点也是相 同 的 。 在 51 系 列 中 , 程 序 状 态 一 般 是 由 累 加 器 A 决 定 的 , 因 为 A 参 与 操 作 并保存 操 作 结 果, 而 在 ARM 处 理 器 中, 则 是 由 参 与 操 作 的 目 标 寄存器决定的。 ARM 处理器中一般可使用的通用寄存器是 R0~R12, 而 51
66 系列中共有 4 组 R0~R7; 但 ARM 中所有的寄存器都有累加器 的功能和间 接 寻 址 功 能 ( 类 似 51 系 列 中 的 R0、R1 和 DPTR) , 可见 ARM 处理器中通用寄存器功能比 51 系列强大一些。在 51 系列中, 所有重要功能的指令都要用到累加器 A, 因此要不停地 保护累加器 A 中的数据; 而在 ARM 中完全不会出现这种情况。 另 外, 在 51 系 列 内 部 的 RAM 存 储 区 不 是 寄 存 器 , 只 是 作 为 存 储单元参与指令操作。51 系列内的定时器 /计数器, 串行通信控 制寄存器和口线控制寄存器等都不是 CPU 核内的部件, 而是核 外围的部件。 6) 程序的处理是相近的, 主要是指程序的编辑、编译、连接、 目标代码的生成和程序的调试等。 7) 一些通用概念是相同的, 不如复位、复位后的状态、中断、 地址、指令代码和数据等。 ARM 和 51 系列最主要的区别在于: 1) ARM 只是一个单片机内核; 上面我们已经阐述过了。 2) ARM 是 一 个 32 位 处 理 器, 而 51 系 列 只 是 8 位, 在 数 据 访问的处理方式上相差很大。我们说 51 系列单片机采用 8 位结 构, 这种叙述包含两种含义。一种含义是它的指令采用 8 位的指 令代码; 另一种含义是它也进行 8 位的数据处理。ARM 处理器 采用 32 位结构和 51 系列不 同, 它 的 指 令 既 可 以 运 行 32 位 的 ARM 指 令 系 统, 也 可 以 运 行 16 位 的 Thumb 指 令 系 统 ; 另 一 方 面 , 它 既 可 以 处 理 32 位 数 据 , 也 可 以 处 理 16 位 数 据 和 8 位 数 据, 比如, 在 51 系列单片机中, 进行一个 32 位的加法或一个 16 位数的乘法就不是一件容易的事。因此, ARM 处理器采用 32 位 数据结构, 所表达的信息量比 51 系列要强大得多。 3) ARM 处 理 器 有 多 种 工 作 模 式 , 而 51 系 列 只 有 一 种 。 ARM 处理器结构支持 7 种处理器模式, 如表 4 所示。在 ARM 处 理器中, 用户模式是最基本的处理器模式, 大多数用户程序都是 在用户模式下进行, 除了用户模式外, 其他模式均称为特权模 式。在特权模式中, 管理模式也是常常用到的模式, SVC 可以用 来 设 计 操 作 系 统 的 保 护 模 式 ; FIQ 模 式 可 以 用 来 设 计 支 持 快 速 的数据传输和通道处理; IRQ 模式可以用于通用中断处理; 特权 模式可以获得比用户模式更高的权限。在特权模式下, 程序可以 访问更多的系统资源。 51 系列只有一种模式。这在有些情况下使用受到限制。在 51 系列中, 所有的资源在所有的情况下都可以利用。因为 51 系 列是一个比较简单的系统, 所以有这样的结构。51 系 列 也 有 中 51 系列单片机与 ARM 处理器的比较 表 4 处理器模式 断, 但这并不产生其他模式。因为中断并没有特权, 所有资源在 所有情况下都是共享的。 4) ARM 处理器内寄存器只有一种, 而 51 系列有多种。比如在 Thumb 状态下, CPRS 程序状态寄存器只有 1 个, 各种模式共用。 5) ARM 不但有 32 位指令集, 还包含 16 位的 Thumb 指令 集。51 系列单片机是一个 8 位的单片机, 因而只能执行 8 位宽的 指 令 。ARM 是 一 个 32 位 的 结 构, 不 但 可 以 执 行 32 位 的 指 令 ( ARM 指令集) , 也可以执行 16 位的指令( 称为 Thumb 指令集) 。 4 结束语 现 在, 由 于 网 络 与 通 信 的 发 展, 我 们 无 法 把 51 系 列 和 一 个 技术先进的产品相提并论, 同时越来越多的产品需要具有联网 功能, 这需要智能产品具有一个更强劲的“芯”, 这是 8 位机很难 做 到 的, 所 以 我 们 必 须 适 应 时 代 的 需 求, 充 分 利 用 已 有 知 识 , 由 此及彼地去学习 ARM, 理解 51 系列和 ARM 中相似和不同的部 分, 将会收到事半功倍的效果。 [ 1] 周立功.ARM 微处理器基础与实战[M].北京: 北京航空航天大学出版 参考文献 社, 2003 [2] 李驹光, 聂雪媛, 江泽明, 等.ARM 应用系统开发详解———基于 S3C4510B 的系统设计[M].北京: 清华大学出版社, 2003 [ 3] 求 是 科 技. 单 片 机 通 信 技 术 与 工 程 实 践[M]. 北 京 : 人 民 邮 电 出 版 社 , 2005 [ 收稿日期: 2006.12.3] !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 然 后 在 PC2 上 , 用 同 样 的 方 法 打 开 OPC SCOUT, 但 要 注 ( 上接第 87 页) MOO_Q 对应从站的输入输出缓冲区, 根据需要添加其 下 的 变 意, 在双击“CP5611_DP”后, 在弹出的界面中选 DP2( 代表二类 量, 确认后, 若“Quality”显示“good ”, 则表示硬 件 连 接 和 组 态 完 主 站 ) , 将 “Slave2_I”和 “Slave2_Q”添 加 即 可 。 确 认 后 , OPC 全正确, OPC 开始运行读写数据。结果如图 6。 SCOUT 就开始运行了, 数据的变化与 PC1 中数据变化同步。 5 结束语 该通信网络主要应用于现场的小型自动化监控系统, 如水电 站的辅助设备自动化监控系统, 泵站的监控等。PROFIBUS- DP 网络也可挂接以太网, 成为企业级的综合监控系统的一部分。 参考文献 [ 1] 李建行.可编程控制器应用技术[ M] .北京: 机械工业出版社, 2004 [ 2] 张万忠.可 编 程 控 制 器 入 门 与 应 用 实 例( 西 门 子 S7- 200 系 列) [ M] . 北京: 中国电力出版社, 2005 [ 3] 李正军.现场总线与工业以太网及其应用系统设计[ M] .北京: 人民邮 电出版社, 2006 [ 收稿日期: 2006.9.22] 图 6 数据界面
分享到:
收藏