




已阅读5页,还剩53页未读, 继续免费阅读
(微电子学与固体电子学专业论文)一款8位risc+mcu的设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 综合考虑8 位m c u 的发展前景和r i s c 体系结构的特点,充分利用e d at 具的强大功能,本论文课题采用自顶向下的设计方法,独立开发出一款具有自主 知识产权、性价比较高的8 位r i s cm c u ,并且将其c p u 部分开发成可综合的软 核,并且根据用户需要还可以对外围电路进行不同的配置。 本论文所设计的一款8 位r i s c 体系结构的m c u ,其主要特点是:采用哈佛 体系结构;指令长度为固定的1 3 位,一共有5 4 条指令,绝大部分指令为单周期 指令,有利于简化编程,以及节省芯片面积,硬件实现:在设计中采用两级流水 线;集成了3 2 8 b i t 的s r a m 和l k 1 3 b i t 的r o m ;具有休眠唤醒功能;具有看 门狗复位功能;有多个可编程使用的i o 端口。 本论文对整个m c u 芯片的体系结构设计、指令集设计和各个主要模块设计进 行了详细的论述。论文实现了系统的v c r i l o gh d l 描述,经f p g a 验证,整个系统 工作正常,工作频率可以达到7 2 m h z 。最后基于c s m c0 5 u r n 工艺完成了整个芯 片的逻辑综合、布局布线、版图设计和验证,芯片后仿真时工作频率可以达到 6 5 m h z 。 关键词:m c u s cc p uf p g a a b s t r a c t w i t l lt h ep r o s p e c to f8 - b i tm c ua n da d v a n t a g eo fr i s cs t r u c u u ec o n s i d e r e d , i ti s d e s i g n e db y l l :出l ge d a t o o l si nt h em o d eo ft o p - d o w ni nt h i st h e s i st h a t8 1 18 - b i tr i s c m c uh a si t s e l f 玻g n o dq 诚i t ya n dp r i c ea n dc o n f i g n r a b l ec a p a b i l i t yo fo u t s i d ec i r c u i t f o ru s e r sn e e d i nt h i st h e s i s ,a n8 - b i tr i s cm c ui sd e s i g n e d m ss y s t e mu s e sah a r v a r d a r c h i t e c t u r e ,i nw h i c hp r o g r a ma n dd a t aa r ea c c e s s e df i - o ms e p a r a t em e m o r i e su s i n g s e p a r a t eb u s e s s e p a r a t i n gp r o g r a ma n dd a t am e m o r yf u r t h e ra l l o w si n s t r u c t i o n s 幻b e s i z e dd i f f e r e n t l yt h a n8 - b i tw i d ed a t aw o r d i n s t r u c t i o no p c o d e sa r e1 3 - b i tw i d e8 0t h a ti t i sp o s s i b l et oh a v ea l ls i n g l ew o r di n s t r u c t i o n s at w o - l e v e lp i p e l i n eo v e r l a p sf e t c ha n d e x e c u t i o no fi n s t r u c t i o n s c o n s e q u e m t i y , a l li n s t r u c t i o n s ( 5 4 ) e x e c u t ei nas i n g l e - c y c l e e x c e p tf o rt h ei n s t r u c t i o n st h a t8 c o e s st h el o wb y t eo ft h ep c i 商t e g r a t e do n t oas i n g l e c h i pa r eo n - c h i pw a t c h d o gt i m e r ( w d t ) ,d a t ar a m , r o m ,p r o g r a m m a 船r e e lt i m e c l o c kc o u n t e r , i n t e r n a l e x t e r n a li n t e r r u p t , s l e e pm o d e ,a n dp r o g r a m a b l ef op o r t s 1 1 l ed e s i g no f :t h ea r c h i t e c t u r e 。t h ei n s t r u c t i o ns e ta n dt h em a i nm o d u l e s 嘶 d e t a i l e di nt h i st h e s i s t h cl u lc o d eo f t h es y s t e mi sd e s c r i b e di nv e r i l o ga n di sv e r i f i e d o nf p g ap l a t f o r m t h cw o r k i n gf r e q u e n c yi su pt o7 2 m h z 。f i n a l l y , w ef i n i s ht h e w h o l ed e s i g ni n c l u d i n gr t ld e s c r i p t i o n , s i m u l a t i o n ,s y n t h e s i s , v e r i f i c a t i o na n d p h y s i c a ld e s i g ni nc s m co s u mp r o c e s s t h es i m u l a t i 蚰f r e q u e n c yi su pt o6 5 m h z k e y w o r d s :m c u r i s cc p uf p g a 创新性声明 本人声明所呈交的论文是我个人在导师的指导下进行的研究工作及所取得的研究成果。 尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其它人已经发 表或撰写过的研究成果:也不包含为获得西安电子科技大学或其它教育机构的学位或证书而 使用过的材料。与我一同工作的同志所做的任何贡献均已在论文中做了明确的说明并表示了 谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:_ i 每张日期;g z - 丝 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生在校攻读 学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业离校后,发表论文或 使用论文工作成果时署名单位仍然为西安电子科技大学。学校有权保留送交论文的复印件, 允许查阅和借阅论文;学校可以公布论文的全部或部分内容,可以允许采用影印、缩印、或 其它复制手段保存论文。( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在年解密后适用本授权书。 日期:! z :厶丝 聃:爿辨 绪轮 第一章绪论 1 1m s c 体系结构的发展和特点 从计算机的出现开始,计算机性能的提高大多是通过增加硬件电路的复杂性 来获取的。但是随着集成电路技术,特别是v l s i 技术的迅速发展,为了软件编程 方便和提高程序的运行速度,硬件工程师采用的方法是不断增加可实现复杂功能 的指令和多种灵活的编址寻址方式,甚至某些指令可以支持高级语言语句归类后 的复杂操作。这种方法的结果致使硬件电路越来越复杂,其实现成本也相应的提 高。为了实现复杂操作,微处理器除了向程序员提供普通的机器指令外,还通过 放在r o m 中的微程序来实现这些极其复杂的功能,这种形式设计的计算机被称为 复杂指令集计算机( c i s c ) 。 采用c i s c 结构的计算机有着较强的处理高级语言的功能,这对提高计算机的 性能是有益的。当计算机的设计沿着这条道路发展时,有些人开始怀疑这种传统 的做法。i b m 公司设在纽约的研究中心于1 9 7 5 年组织人力研究指令系统的合理性 问题,因为当时已感到日趋庞杂的指令系统不但不易实现,而且还可能降低系统 的性能1 9 7 9 年,以帕特逊( d a v i d a p a t t e r s o n ) 教授为首的一批科学家也开始在 美国加州大学伯克莱分校开展这一研究。结果表明,c i s c 结构存在许多的缺点。 在这种计算机中,各种指令的使用率相差非常悬殊:一个典型程序的运行过程所 使用的8 0 的指令,只占一个处理器指令系统的2 0 。事实上,最频繁使用的指 令是取、存和加这些比较简单的指令。这样一来,长期致力于复杂指令系统的设 计,实际上是在设计一种很难在实践中用得上的指令系统,同时,复杂的指令系 统必然带来结构的复杂性,这不但增加了设计的时间与成本,还容易造成设计上 的失误。在c i s c 结构中,许多复杂指令就需要很多复杂的操作,这类指令多数是 某种高级语言的直接翻版,因而通用性差,由于采用二级的微码执行方式,也降 低了那些最频繁使用的简单指令的执行速度。针对c i s c 结构的这些弊病,帕特逊 教授等人提出了精简指令集的设想,即指令系统应当只包含那些使用频率很高的 少量指令,并提供一些必要的指令以支持操作系统和高级语言。按照这个原则发 展而成的计算机被称为精简指令集计算机( r e d u c e di n s t r u c t i o ns e tc o m p u t e r ) ,简 称r i s c 。 砒s c 的优点主要表现在以下几个方面: 单周期执行指令:由于r i s c 微处理器的指令经过精选,所有指令长 度都相同,大多数指令都在一个机器周期内执行完,单周期执行指令 是r i s c 微处理器性能增强的基础,可以采用简化的指令系统和流水 2 一款8 位r i s c m c u 的设计 线技术: l o a d s t o r e 结构:每当一条指令需要访问主存信息时,机器的执行速度 会降低,r i s c 系统中只有l 0 a d 和s t o r e 可以访问存储器,所有其他的 指令都是在寄存器内对数据进行操作大大提高了运行速度; 简单固定格式的指令系统:所有指令长度都一样,寻址方式较少,简 化了逻辑设计,缩短了译码时间,确保指令单周期执行,同时也有利 于流水线的运行,固定的指令格式保证了指令译码和取操作数同时进 行; 不用微码技术: 大寄存器堆:r i s c 微处理器中大量的计算都在a l u 和高速寄存器中 执行,由编译器产生、分配和优化寄存器的使用; 采用哈佛总线结柯; 高效的流水线操作:c i s c 结构也有流水线,但由于c i s c 的指令比较 复杂,每条指令的执行时间不一致,所以流水线经常处于停滞状态, 而i u s c 结构的指令大多都是单周期指令,并且采用了一些先进的技 术,所以流水线的效率较高; 优化编译程序:编译程序能够分析数据流和控制流,并在这个基础上 调整指令的执行顺序,巧妙安排寄存器的使用。 1 28 位m c u 的现状和发展前景 在整个m c u 市场中,尽管高端处理器,特别是3 2 位m c u 已逐步成为人们关 注的焦点,但8 位m c u 也并非就没有市场。目前,国际上8 位m c u 的产品很多, 性能各异,属于c i s c 结构的单片机有i n t e l 8 0 5 1 系列、m o t o r o l a 的m 6 8 h c 系列、 台湾w i n b o n d ( 华邦) w 7 8 系列、a t m e l 的a t 8 9 系列等;属于r i s c 结构的有 m i c r o c h i p 公司的p i c 系列、z i l o g 的z 8 6 系列、台湾义隆的e m 7 8 系列、a l m e l 的a t 9 0 s 系列等嗍。这些国外的m c u 种类较多,市场的占有率很高,而国产的 m c u 品种很少,市场的占有率也很低。 如果还是处在1 9 8 0 年代最初设计时的半导体工艺水平( 时钟频率约为2 m h z ) , 8 位处理器将很快丧失生命力,退出应用市场。但可综合、可配置m c u 的出现使 它可以利用最新工艺技术的优势,以便允许设计者根据目标应用的要求来优化 m c u 。架构和工艺的改进已经使8 位m c u 的指令执行速度提高了1 0 0 0 倍,即从 1 9 8 0 年的每秒l o 万条指令发展到今天的每秒l 亿条指令以上。而且,这些可综合 的m c u 还受益于最新的e d a 优化工具,不仅在提高产品的可靠性、可制造性和 成品率上,还可以在设计中插入可测性设计( d f t ) 。事实上,设计者更乐于使用 架构成熟并已验证的i p ,而并不想自己去重复开发。当设计者致力于达到现代s o c 所要求的可生产性和性价比时,这一点尤为重要。设计者继续使用8 位处理器当 绪轮 然是因为该架构被入们所熟悉,并具有很高的稳定性。另一方面,那些与标准架 构紧密相关的可综合内核只需做少量或无需做修改就可以支持原有的软件,围绕 它们已形成的庞大产业体系也成为令人难以舍弃的主要原因。 8 位m c u 的前景如何呢? 对于消费类电子产品,诸如录像机、洗衣机、遥控 器、玩具等应用,8 位处理器足以提供所需要的处理能力并且根据应用的需求, 设计者还可以使用性价比更先进的制造工艺。 在确实需要3 2 位处理器进行数据运算的应用中,8 位m c u 可以用于减轻相 对较大且功耗较高的主处理器的负担。当主处理器处于空闲或睡眠状态时,辅助 管理功能可以由8 位m c u 负责,从而使3 2 位主处理器运行在低频率上。在一些 情况下,8 位m c u 还可以完成许多处理任务,因此允许我们选择较小或不太强大 的3 2 位处理器。在实时应用中,把8 位m c u 同一个1 6 、3 2 或“位处理器联合 使用可以提高系统的整体可靠性脚。 虽然,3 2 位m c u 在市场上的应用在不久的将来无疑会超过8 位m c u ,但8 位m c u 仍具有强大的生命力。一方面,它们已经把自己重塑成可综合内核,另一 方面,设计者也继续探索在新应用中使用它们的途径。它们能否继续生存取决于 设计者能否迅速把8 位m c u 嵌入到其最新的设计中蝴。 1 3 论文课题的意义 综合考虑8 位m c u 的发展前景和r i s c 体系结构的特点,充分利用e d at 具 的强大功能,本论文课题采用自顶向下的设计方法,独立开发出一款具有自主知 识产权的、性价比较高的8 位砒s cm c u ,并且将其c p u 部分开发成可综合的软 核,并且根据用户需要还可以对外围电路进行不同的配置,从而就可以降低产品 的成本,增强市场的竞争力。 1 4 论文课题的主要研究工作 本课题主要包括以下几个方面的工作: r i s c 体系结构的确立; 流水线级数的选择和实现: 指令体系的确立; r t l 代码的实现; r t l 代码的综合和仿真: r t l 代码的f p g a 验证: 版图设计; 编译器的设计。 1 5 论文课题的设计流程 根据图1 1 所示的设计流程我们设计了一款高性能的8 位r i s cm c u 。 4一款8 位r i s c m c u 的设计 图1 1 芯片设计流程 1 6 论文课题的研究成果 本文完成了一款8 位r j s cm c u 的设计,经过f p g a 验证,该m c u 的c p u 部分可以工作在7 2 瑚z ,最后经过逻辑综合、布局布线生成了c s m c0 5 u m 工艺 的版图,在o 5 u m 工艺下工作频率可以达到6 5 m h z 。 1 7 论文课题的主要内容 本论文一共6 章,简单介绍如下: 第一章绪论,主要介绍了论文的研究背景、研究目的、研究方法和取得的 成果; 第二章m c u 体系结构的设计,主要讲述整个系统的硬件结构; 第三章m c u 的指令系统,详细的讲述了此款m c u 的指令集; 第四章m c u 主要模块的设计,对m c u 中主要模块的设计进行了详细的描 绪轮 述: 第五章m c u 的验证和实现,主要讲述m c u 的r t l 代码编写,系统的验证 和后端设计: 第六章结束语,对整个论文进行了总结。 第二章m c l i 体系结构的设计7 第二章m c u 体系结构的设计 本章主要讲述此款单片机的硬件结构,所谓m c u 被称为单片机,也可以称为 微控制器。它是在同一个芯片上来实现计算机的某些基本功能,即有c p u 、r a m 、 r o m 、i o 等单元【5 】在这一章会讲述整个单片机的结构框图、流水线结构,时序 设计、中断系统、数据存储系统、各个工作寄存器的功能、特殊功能寄存器、i o 输入输出单元、以及振荡器模块。 2 1m c u 系统结构 c p u 是计算机的核心单元,是计算机能够正常工作所必需的组成单元在设 计架构上,也就是从c p u 工作时访问程序存储器和数据存储器的方式上,传统的 c p u 架构是冯诺依曼架构,它工作时访问的程序存储器和数据存储器是合二为 一的,且通过同一总线访问,如图2 1 。而哈佛架构有独立的程序存储器和数据存 储器,并且可以通过各自的独立总线进行存取嘲。当执行一条指令时,冯诺依 曼架构的处理器通常需要通过8 位总线进行多次操作,才能取得指令,同时也需 要对数据进行读取、处理以及写操作,可见数据总线的操作非常繁忙但哈佛架 构则不同,如果指令的字长固定的话,取指令可以在单周期内完成,在访问程序 存储器的同时,可通过独立的总线对数据存储器进行读写操作。采用哈佛架构使 得在执行一条指令的同时,可以取下一条指令。 图2 1 冯诺依曼架构和哈佛架构的对比 本文m c u 的c p u 结构是基于哈佛架构设计的,除了有c p u 、r a m 、r o m 、 i o 的基本功能外,还集成了定时计数器看门狗模块、休眠唤醒模块、复位模块、 内部振荡器。它的系统框图见图2 2 。 8一款8 位r i s c m c u 的设计 图2 2m c u 系统框图 图2 2 中c o n t r o lm a c h i n e 模块控制整个m c u 工作,具有进行系统初始 化功能,产生各个模块的工作时钟和控制信号,具有指令寄存、译码、以及中断 控制功能;a l u 模块在控制机的控制下执行相应的算术逻辑操作;a c c 是累加器, 它是默认的一个操作数,是隐含寻址的;rr e g i s t e r 是工作寄存器组,地址为o o h 0 f h ,其功能后面再详述;i o cr e g i s t e r 是控制寄存器组,地址为o o h o f h ,其功 能后面再详述;a c c s t a c k 作为累加器堆栈,是8 位1 级;f l a g s t a c k 作为标志寄 存器堆栈,是8 位l 级;p c s t a c k 作为地址指针的堆栈,是1 0 位5 级;r o m 的容 量是l k 1 3 b i t ;s r a m 的容量为3 2 x8 b i t :s l e e p w a k e 是休眠唤醒模块:r e s e t 作为m c u 的复位模块;t c c w d t 是定时计数器看门狗模块,用于定时计数, 监视m c u 工作;o s c i l l a t o r 是内部振荡器:p o r t 5 和p o r l - 6 是i o 端口。 2 2 流水线的设计 为了提高c p u 运行速度和效率,在进行设计时往往采用并行处理技术。可以 从两个方面来开发处理器内部的并行性,一个是所谓的空间并行性,即在一个处 理器内设置多个独立的操作部件,并让这些操作部件并行工作,这种处理器被称 为多操作部件处理器或超标量处理器;另一个是所谓的时间并行性,就是采用流 水线技术 7 1 。流水线技术是把一个重复的过程分解为若干个子过程,每个子过程可 以与其它子过程同时进行。由于这种工作方式与工厂中的生产流水线十分相似, 第二章m c u 体系结构的设计9 因此,把它称为流水线技术( p l p el 烈e ) 。采用流水线技术可以不增加硬件或只 需要增加少量硬件就能够把处理器的运行速度提高好几倍,它是目前使用非常普 遍的一种并行处理方式。对于8 位的m c u 来说,没有必要采用太过复杂的流水线 技术,所以我们只采用了两级流水线,第一级流水线是取指令阶段,第二级流水 线是执行指令阶段( 包括译码,执行,存储器访问) 。 在进行流水线技术的设计中,要解决可能出现的冒险情况。冒险是指下一条 指令不能立即在下一指令周期执行的几种情况:主要是结构冒险、数据冒险和控 制冒险。解决冒险的最简单办法是停止流水线的执行直到冒险解除为止,但这也 是效率最低的解决办法,它会极大的降低流水线的吞吐率。 在本文中由于采用的是哈佛体系结构,数据总线和指令总线是分开的,所以 不存在结构冒险;由于两级流水线的第一级和第二级没有重叠的操作,所以也不 存在数据冒险;只有控制冒险有可能发生,由于本文对取指令阶段进行了特殊的 处理,只有极少数的指令是双周期指令,所以控制冒险也降低了很多 图2 3 是本文采用的两级流水线的示意图,由e l k 引脚输入的时钟信号,在器 件内部经过4 分频后,产生4 个非交叠的时钟节拍,分别命名为q 1 ,q 2 ,q 3 和 q 4 。下面是两级流水线的具体工作: 取指令阶段 在每个q 1 拍,即c l k l 的上升沿,程序指针p c 更新为目标地址,目标地 址在正常情况下是当前地址加l ;当跳转时,由控制机给出目标地址;当 中断时,目标地址是对应的中断向量;在q 2 拍,即c l k 2 的上升沿,把指 令从程序存储器中取出,并将指令锁存在指令寄存器中; 执行指令阶段 指令执行阶段包括译码、取操作数、执行运算和结果写回存储器,以上所 有操作是在下一个q 1 到q 4 拍之间完成,与取指令阶段并行工作。 e l k c l k l c l k 2 c i k 3 c l k 4 盹 第一指令周期 筇= 指令周期 第兰指令周期 图2 3 两级流水线 泌 1 0一款8 位r i s c m c u 的设计 2 3 时序设计 两级流水线的时序划分非常重要,它要确定在每一个时钟节拍需要做什么工 作,如何分配三态总线的控制权等工作,时序结构的设计还要考虑存储器的读写 时序,一旦时序设计确定下来,下面的其它工作就好做了,因为它已经把各个模 块在各个时钟节拍的工作都确定下来了【8 】。下面是c p u 的时序划分,如图2 4 : 在第一个时钟节拍的上升沿,p c 指针更新为新的目标地址;操作结果写 入目的寄存器; 在第二个时钟节拍的上升沿,控制机读入新的指令;控制机要给出s r a m 地址、读信号或寄存器的读使能信号以及其它的控制信号;寄存器和s r a m 的读信号在0 e 为0 时一直有效,此时由它们驱动数据总线,当o e 为l 时由a c c 驱动总线,此时寄存器和s r a m 的读信号无效:所有的控制信 号都在第二节拍的上升沿给出,持续半个指令周期; 在第三个时钟节拍的上升沿处,a l u 读入数据总线上的数据,在控制机 给出的控制信号的控制下执行相应的工作; 在第四个时钟节拍的上升沿,a l u 将执行结果由a c c 及标志寄存器输出, 此时o e 有效,o e 在第四个时钟节拍一直持续到下一时钟周期的第一节拍 结束,这样a c c 在这两个时钟节拍一直驱动数据总线;如果执行结果的 目标地址是s r a m 的话,要在第四个时钟节拍期间给出s r a m 的写信号 和地址。 图2 。4c p u 的时序划分 2 4 中断系统 从执行程序流程的角度来看,所谓中断就是一种可以临时中断微处理器正常 程序执行并引发另一个程序开始执行的特殊信号1 9 。本文中的中断系统包含4 个中 断源,其中一个软中断由指令i n t 触发,其它3 个中断都是硬中断:t c c 溢出中 断、p o r t 6 端口输入变化中断、外部p 6 0 i n t 中断,所有中断没有优先级,不可 中断嵌套。3 个硬件中断是可屏蔽中断,都有对应的标志寄存器( r f ) 和中断屏 第二章m c u 体系结构的设计 蔽寄存器( i o c f ) 。软中断是不可屏蔽的中断,它主要是方便程序调试而设计的。 中断的响应是靠中断向量来实现的,当有中断产生时,系统首先要保护现场, 把下一条指令地址、a c c 和标志寄存器压入堆栈,然后程序指针指向中断对应的 中断向量,下一条指令在此处开始执行。当中断返回时,执行一条r e t i 指令,系 统会恢复现场,把堆栈中的数据弹出来继续执行中断前的下一条指令,被中断的 程序就像没有发生中断那样继续的执行中断输入电路的设计如图2 5 所示。 图2 5 中断输入电路 2 5 数据存储系统 整个数据存储器r a m 的系统见图2 6 所示,地址0 0 h 0 f h 是r 和i o c 寄存 器的地址空间,它们的地址重叠,通过指令进行区分;地址1 0 h 2 f h 是3 2 个通 用寄存器s r a m 以上的寄存器都可以作为指令的操作数直接访问,可以直接寻 址,也可以间接寻址,其中除了r 2 为1 0 b i t 。其余为8 b i t ( 图中没有标记的寄存器 和r 0 寄存器在物理上不存在) 。 r 0 0 ir lc o n t 0 2r 2 0 3r 3 0 4“ 0 5r 5 i o c 5 0 6r 6i o c 6 0 7 o e i o c b i o c c i o c d i o c e r f1 0 c f 1 0 2 f s r a m 圈2 6 数据存储器r a m 配置图 1 2一款8 位r 1 s c m c u 的设计 2 6 工作寄存器 2 6 1 间接寻址寄存器( i a r r o ) r 0 不是一个物理上实际存在的寄存器,它是间接寻址的指针,任何访问r 0 的 指令实际上访问的是r a m 选择寄存器r 4 指定地址的寄存器。 2 。6 2 计数定时寄存器( 1 c 展1 ) 该寄存器在内部时钟或外部输入信号控制下进行定时计数,可以读写。 2 6 3 程序指针寄存器( p c r 2 ) p c 共1 0 位,可以寻址1 k 空间。当执行j m p 和c a l l 指令时,它的地址由指令提 供。当执行返回指令( r e t 、r e t i 、r 阴,) 时,p c 由堆栈项的内容提供。p c 的 低8 位可以作为普通的寄存器来读写,也可以对其进行算术逻辑操作,当对其进行 写和算术逻辑操作时,该指令将占用两个指令周期。 2 6 4 状态标志寄存器( s r r 3 ) 袁2 1 s r r 3 b i t 0( c ) :进位标志位,即由第8 位向高位进位或借位时为1 ,没 有时为o ; b i t l( d c ) :半进位标志位,即由低4 位向高位进位或借位时为l ,没有时0 ; b i t 2( z ) :零标志位,当执行结果为零时z 为1 ,否则为o ; b i t 3( p ) :低功耗位,当上电或执行w d t c 指令时为l ,执行s l e p 时为o ; b i t 4( t ) :时间溢出位,执行w d t c 、s l e p 指令或上电时为1 , w d t 溢出时为0 ; b i t s ( g p 0 ) :通用读写位; b i t 6 ( g p l ) :通用读写位; b i t 7 ( r s t ) :复位类型位,若由引脚变化引起休眠唤醒时为1 ,其余 复位时为0 。 2 6 5r a m 选择寄存器( r s m t 4 ) b i t 0 5 :用于间接寻址时选择r a m ; b i t 6 7 :通用读写位。 2 6 6p o r t 5 寄存器( r s ) b i t 0 3 :i ,o 端口寄存器; b i t 4 7 :保留不用。 第二章m c u 体系结构的设计 2 6 7p o r t 6 寄存器( r 6 ) b i t o 7 :8 位i o 端口寄存器,除b i t 3 只能置为输入,其余可编程双 向口。 2 6 8 中断状态寄存器( r f ) 表2 2r f b ( t c 职) :1 c 溢出中断标志,t c c 溢出置1 ,软件清0 ; b i t l ( i c i f ) :p 6 口输入变化中断标志,p 6 1 2 1 输入变化置l ,软件清0 ; b i t 2 ( e x ) ;外部中断标志,由n 盯引脚上的下降沿置1 ,软件清0 ; b 鹕7:保留不用。 , r f 寄存器软件不能置1 ,可以清0 ,注意读r f 的结果是r f 和i o c f 相与的结果。 2 7 特殊功能寄存器 2 7 1 累加器( a c c ) a c c 可作为进行算术逻辑操作的操作数,以及保存操作结果和数据传输单元, 它是隐含寻址的。 2 7 2 控制寄存器( i o c l ) 表2 3i o c l b i t 0 ( p s r 0 ) 2 ( p s r 2 ) :t c c w d t 预分频器位; 表2 4 预分频器位 :潞澎嗍“嬲f 一。靛凳磁涎。“、“。譬:啪审麟鬻娶 oo01 21 : oo11 :41 2 01o1 :81 :4 011 :1 61 :8 1o01 :3 21 :1 6 1011 :6 41 :3 2 1101 :1 2 81 :6 4 111 2 5 61 :1 2 8 b i t 3 ( p a b ) :分频器分配位,0 为t c c ,1 为w d t ; 1 4一款8 位r i s c m c u 的设计 b i t 4( t e ) :t c c 信号边沿选择位,o 为t c c 弓i 脚信号发生由低到高变化加l , l 为t c c 引脚信号发生由高到低变化加1 ; b i t 5( t s ) :t c c 信号源选择位,o 为内部指令周期时钟,l 为外部输入信号 ( 此时p 6 2 t c c 置为输入) ; b i t 6 ( i n t ) :中断使能标志位,o 为由d i s i 指令或硬件中断屏蔽,1 为e n f r e t i 指令使能中断; b i t 7 :保留不用。 c o n t 寄存器可读可写。 2 7 3p o r t 5 控制寄存器( i o c 5 ) i o c 5 低4 位有定义,高4 位不用,l 为对应i o 引脚高阻状态,o 为输出,可读可 写。 2 7 4p o r t 6 控制寄存器( i o c 6 ) i o c 6 各位都有定义,l 为对应引脚为高阻状态,o 为输出,可读可写。 2 7 5 下拉控制寄存器( i o c b ) 表2 5i o c b b i t 0 ( p d o ) :p 5 0 管脚的下拉使能控制位, 内部下拉禁止; b i t l ( p d l ) :p 5 1 管脚的下拉使能控制位, 。 内部下拉禁止; b i t 2 ( p d 2 ) :p 5 2 管脚的下拉使能控制位, 内部下拉禁止; b i t 3:保留不用: b i t 4 ( p d 4 ) :p 6 0 管脚的下拉使能控制位, 内部下拉禁止: b i t 5 ( p d 5 ) :p 6 1 管脚的下拉使能控制位, 内部下拉禁止; b i t 6 ( p d 6 ) :p 6 2 管脚的下拉使能控制位, 内部下拉禁止; b i t 7 :保留不用。 i o c b 寄存器是可读可写的。 2 7 6 漏极开路控制寄存器( i o c c ) o 为内部下拉使能,1 为 o 为内部下拉使能,1 为 0 为内部下拉使能,1 为 o 为内部下拉使能,l 为 0 为内部下拉使能,1 为 o 为内部下拉使能,l 为 第二章m c u 体系结构的设计 表2 6i o c c b i t 0 ( 0 d o ) :p 6 0 管脚的漏极开路使能控制位,o 为漏极开路输出使能,l 为 漏极开路输出禁止; b i t l ( o d l ) :p 6 1 管脚的漏极开路使能控制位,o 为漏极开路输出使能,l 为 漏极开路输出禁止; b i t 2c o d 2 ) :p 6 2 管脚的漏极开路使能控制位,o 为漏极开路输出使能,l 为 漏极开路输出禁止; b i t 3 :保留不用; b i t 4 ( o d 4 ) :p 6 4 管脚的漏极开路使能控制位,0 为漏极开路输出使能,1 为 漏极开路输出禁止; b i t 5 ( o d 5 ) :p 6 5 管脚的漏极开路使能控制位,o 为漏极开路输出使能,l 为 b i t 6 ( o d 6 ) b i t 7 ( 0 d 7 ) 漏极开路输出禁止; :p 6 6 管脚的漏极开路使能控制位,0 为漏极开路输出使能,l 为 漏极开路输出禁止; :p 6 7 管脚的漏极开路使能控制位,o 为漏极开路输出使能,1 为 漏极开路输出禁止。 i o c c 寄存器是可读可写的。 2 7 7 上拉控制寄存器( i o c d ) 表2 71 0 c 1 ) b i t 0 ( p h o ) :p 6 0 管脚的上拉使能控制位, 禁止; b i t l ( p h l ) :p 6 1 管脚的上拉使能控制位, 禁止; b i 心( p h 2 ) :p 6 2 管脚的上拉使能控制位, 禁止; b i t 3 :保留不用: b i t 4 ( p h 4 ) ;p 6 4 管脚的上拉使能控制位, 禁止; b i t 5 ( p h 5 ) :p 6 5 管脚的上拉使能控制位, 禁止; o 为内部上拉使能,1 为内部上拉 o 为内部上拉使能,1 为内部上拉 0 为内部上拉使能,l 为内部上拉 o 为内部上拉使能,l 为内部上拉 o 为内部上拉使能,l 为内部上拉 1 6一款8 位r i s c m c u 的设计 b i t 6 ( p h 6 ) :p 6 6 管脚的上拉使能控制位,o 为内部上拉使能,l 为内部上拉 禁止; b i t 7 ( p h 7 ) :p 6 7 管脚的上拉使能控制位,o 为内部上拉使能,l 为内部上拉 禁止。 i o c d 寄存器是可读可写的。 2 7 8w d t 控制寄存器( i o c e ) 表2 8i o c e b i t 0 5 :保留不用; b i t 6 ( e i s ) :p 6 0 管脚( 盯) 功能控制位,o :勾p 6 0 ,双向i o 管脚,矾t 通 道被屏蔽;l 为i n t ,外部中断管脚,管脚的状态可以由p o r t 6 端口读取( r 6 ) ,在这种情况下,p 6 0 的i 0 控制位( i o c 6 的 b i t o ) 必须设置为1 ; b i t 7 ( w d t e ) :看门狗定时器的使能控制位,0 为w d t 禁止,1 为w d t 使能。 i o c e 寄存器是可读可写的。 2 7 9 中断屏蔽寄存器( i o c f ) 。 表2 9i o c f b i t 0 ( t c m ) :t c i f 中断使能位,0 为t c i f 中断禁止,l 为t c i f 中断使能; b i t l ( i c i e ) :i c 硬中断使能位,o 为t c i f 中断禁止,1 为t c i f 中断使能; b i t 2 ( e x i e ) :e x i f 中断使能位,o 为t c i f 中断禁止,l 为t c i f 中断使能; b i t 3 7 :保留不用。 i o c f 寄存器是可读可写的,执行e n i 指令使全局中断有效,d i s i 指令全局中断 禁止。 2 8 i o 输入输出单元 i o 寄存器组,包括p o r t 5 和p o r t 6 ,都是双向三态i o 端口【1 0 l 。p o r t 6 端口 除了p 6 3 9 f 都可由软件设置为内部上拉或漏极开路输出。p o r t 6 端口具有输入状态 变化中断( 或唤醒) 功能。p 5 0 5 2 和p 6 0 6 2 可由软件设置为下拉。除p 6 3 夕f ,各 i o 弓l 脚都由b o 控制寄存器( i o c 5 i o c 6 ) 定义为“输入”或“输出”。i 0 寄存 器组和i o 控制寄存器组都可读可写。 2 9 振荡器 第二章m c u 体系结构的设计1 7 本m c u 可以利用两种振荡器,一种是内部l c 振荡器【1 1 1 ,其基本频率为1 6 m h z ; 另一种是外部振荡器,可以接2 0 m h z 的晶体振荡器,其外接晶体振荡器电路如图 2 7 ,其中c 1 和c 2 约为1 5 p f 。 c “a器el l l j 黧 上” x t , a d 一 i i t ,+ 。i ” t 。 o s e c 2 图2 7 外接晶体振荡器电路 第三章m c u 的指令系统 1 9 第三章m c u 的指令系统 本章主要讲述m c u 的指令系统。先概述了指令的结构和分类,然后讲述了 m c u 系统中的几种寻址方式,最后详述了整个系统的指令集。 3 1m c u 指令概述 计算机是通过执行程序,也就是一系列指令来进行工作的,因此每种计算机 都有一组指令集提供给用户使用,这组指令集就称为计算机的指令系统【1 2 j 。计算 机中的指令由操作码字段和操作数字段两部分组成。操作码字段指示计算机所要 执行的操作,而操作数字段则指出在指令执行操作的过程中所需要的参数。操作 数字段可以是操作数本身,也可以是操作数地址或是地址的一部分,还可以是指 向操作数地址的指针或其它有关操作数的信息,指令的格式如表3 1 。 表3 1 计算机指令格式 操作码 l 操作数 f 一 操作数 i 操作数字段可以有一个、二个或三个,通常称为一地址、二地址或三地址指 令。例如,单操作数指令就是一地址指令,它只需要指定一个操作数,如加l 指 令只需要指出需要加l 的操作数。大多数运算型指令都是双操作数指令。对于这 种指令,有的机器使用三地址指令:除给出参加运算的两个操作数外,还指出运 算结果存放的地址。近代多数机器则使用二地址指令,此时分别称两个操作数为 源操作数和目的操作数。尽管在指令执行前这两个操作数都是输入操作数,但指 令执行后将把运算结果存放到目的操作数的地址中去,也就是说,经过运算后, 参加运算的一个操作数将会丢失。 本文中的m c u 共有5 4 条指令,其宽度为1 3 位。每一条指令可分割为两部分, 第一部分为表示指令功能的操作码,第二部分则指出运算时所需之参数,亦即操 作数,指令格式如表3 2 。 表3 2m c u 指令格式 操作码 l ( 操作数 操作数 i 指令中的操作数部分除了位操作类指令外都只给出一个操作数的信息,操作 数可以是6 位的寄存器地址、8 位的常数或1 0 位的地址常数。虽然只是给出指令 的一个操作数信息,但指令是可以正常执行的,因为a c c 是通过隐含寻址方式给 出的,即所有的运算都要通过a c c 计算,源操作数和目的操作数的区分信息是由 操作码提供的。在所有的指令中a c c 和其它寄存器的地位是对称的,都可以做源 操作数和目的操作数,因此编程非常方便。m c u 的绝大部分指令都是单周期指令, 一个指令周期由4 个振荡器周期组成,在对r 2 ( p c ) 的操作、j m p ,c a l l ,r e t , 一款8 位r i s c m c u 的设计 r e t l ,r e t i 和条件跳转指令( j b s ,j b c ,j z ,j z a ,d j z ,d j z a ) 检测为真时,执行 需要两个指令周期。 m c u 的指令类型可以可分为下列五种: 3 1 1 控制类指令 这类指令是用来控制p c 跳转的,在正常情况下,p c 是每执行一条指令便会 按自动加1 的顺序执行下一条指令;当执行控制类指令时,p c 不再自动加1 ,而 是按照指令的指示跳转到目标地址,比如j m p 、c a l l 、i n t 等指令是控制类指令。 3 1 2 逻辑运算类指令 这类指令负责逻辑操作和算术运算操作,例如a n d 、a d d 和d a a 等。它们 都有两个操作数,一个是默认的操作数a c e ,一个是通用寄存器或者是指令提供 的8 位常数,寄存器的寻址方式可以是直接寻址,也可以是间接寻址。 3 1 3 位操作类指令 位操作类指令主要是对寄存器某位置l 或清0 ,它的操作数部分给出两个操作 数,一个是寄存器的位信息,一个是寄存器的地址。, 3 1 4 数据传输类指令 这类指令主要负责各个寄存器之间的数据传输和从r a m 中读取数据。主要包 括访问r 类寄存器和s r a m 的m o v 指令和访问i o c 类寄存器的指令i o w 、i o r 。 3 1 5 特殊功能类指令 这类指令主要是对某些特殊功能寄存器的操作,它们不需要a l u 的参与,直 接对相应的控制寄存器进行操作以实现某一功能,包括e n i 、d i s i 、w d t e 、s l e p 指令。 3 2m c u 的寻址方式 寻址技术是指m c u 工作执行程序时,寻找读取和存储数据地址的技术,它是 软件与硬件的一个主要区别,是计算机系统结构的一个重要组成部分【1 3 1 。寻址技 术要研究的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年汽车行业智能驾驶技术发展研究报告
- 2025年职业病科化工毒物中毒处理流程模拟测试卷答案及解析
- 2026中国中车集团有限公司全球招聘笔试备考题库及答案解析
- 2025重庆南开中学教育集团、教共体学校招募115人笔试参考题库附答案解析
- 2025江西吉安县公安局面向社会招聘留置看护男勤务辅警29人笔试备考题库及答案解析
- 2025年秋季高中石油工程材料研究院有限公司招聘(20人)笔试备考题库及答案解析
- 2025宁波余姚市总工会公开招聘工会社会工作者2人笔试模拟试题及答案解析
- 2025年药理学药物作用机制分析模拟试卷答案及解析
- 2025年度下半年黄陂区中医医院公开招聘7人笔试模拟试题及答案解析
- 2026中国东方航空运行控制中心航务签派秋季招聘笔试备考试题及答案解析
- 2025贵州省贵阳市殡仪服务中心公开招聘(编外)工作人员25人考试参考试题及答案解析
- 2025年国家安全知识竞赛试卷(答案+解析)
- 2025年四川基层法律服务工作者执业核准考试复习题及答案二
- 2025年音乐学科会考练习卷及答案
- 化妆详细教程课件
- 良好学习习惯养成课件
- 合同的效力教学设计-2025-2026学年中职专业课-经济法律法规-纳税事务-财经商贸大类
- 辽宁省名校联盟2025-2026学年高三上学期9月联合考试数学试题(无答案)
- 2025-2030中国农机金融租赁业务模式创新与风险定价策略报告
- 2025年秋期新部编人教版五年级上册道德与法治教学计划+进度表
- 测绘新技术之无人机的
评论
0/150
提交评论