- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SAB80C166学习笔记
3. 80C166概述存储器组织80C166的存储器空间采用冯诺依曼结构,即:代码存储器、数据存储器、寄存器和I/O口都被组织在同一个地址空间,该地址空间大小为256字节。在以后的C166系列芯片中地址空间将扩大到16M字节。整个存储空间可以被按字节访问或按字访问。片上存储器的特定部分可以直接位寻址。80C166内部有1K字节的双口RAM。这个内部RAM用来存储用户定义的变量、系统堆栈、通用寄存器组,甚至可以存储代码。一个通用寄存器组可以由多达16个字(R0到R15)和/或字节(RL0、RH0、…、RL7、RH7)组成。512字节的地址空间保留作为特殊功能寄存器(SFR)区域。SFR是16位宽的寄存器,用来控制和监视不同的片上单元的功能。目前有98个特殊功能寄存器。未使用的SFR地址为将来的C166家族芯片保留。为了满足对更多存储器的需求,可以将多达256K字节的RAM和/或ROM连接在片外。外部总线控制器所有对外部存储器的访问都是通过片上的外部总线控制器进行的。它可以通过编程成为单芯片模式(当不需要使用片外存储器时)或者以下三种模式之一:16位/18位地址,16位数据,无复用;16位/18位地址,16位数据,复用;16位/18位地址,8位数据,复用;在非复用总线模式中,端口1被用来输出地址,端口0被用来作为数据输入输出。在复用总线模式,仅有一个16位端口(端口0)被用来作为地址和数据总线。外部总线接口重要时序特性(存储器周期时间、存储器三态时间和读/写延迟)是可编程的,以便用户使用各种不同类型的存储器。通过一个特定的“Ready”函数来支持对非常低速的存储器的访问。对于使用的存储空间小于64K字节的应用,可以选用一种不分段的存储器模型。在这种情况下,所有的存储器位置可以用16位寻址,不需要端口4作为最高2位地址(A17和A16)的输出线(在分段模型中,需要用端口4作为最高2位地址)。CPU核CPU使用一个由多达16个字的通用目的寄存器构成的实际寄存器环境,这些通用目的寄存器物理上分布于片上RAM中。一个环境指针寄存器(CP,Context Pointer)用来确定CPU正在访问的活动的寄存器组的基地址。寄存器组的个数仅受可用的内部RAM的数量的限制。为了便于参数传递,不同的寄存器组可以有重叠。系统堆栈可达512字节,用来存储临时数据。系统堆栈被分配在片上RAM中,CPU通过堆栈指针寄存器(SP,Stack Pointer)访问。在每次访问堆栈时,使用两个独立的SFR,STKOV和STKUN,暗中与堆栈指针的值进行比较,以检测是否发生堆栈上溢出和下溢出。使用SAB80C166的高性能指令集,编程者可以有效的利用CPU实现的高性能。指令集包括以下指令类型:--算数指令--逻辑指令--布尔位操作指令--比较和循环控制指令--移位和循环以为指令--优先化指令--数据移动指令--系统堆栈指令--跳转和调用指令--返回指令--系统控制指令--其他各种指令基础指令长度是2或4字节。可能的操作数类型是位、字节和字。可以使用直接寻址、间接寻址和立即寻址方式获取操作数。中断系统中断响应时间在250ns到500ns之间。80C166的结构支持数种机制,使得可以快速、灵活的响应微控制器内部或外部的各种中断源所产生的中断服务请求。这些中断请求可以通过编程为由中断控制器或外设事件控制器(PEC)响应。标准的中断服务方式中,当前的程序执行将被挂起并执行向中断向量表的分支。PEC服务与标准的中断服务不同,在执行PEC服务时仅占用当前正在执行的程序一个CPU周期。PEC服务意味着在两个存储器位置间的一个字节或字的数据传输以及PEC源和目的指针的加1。每次PEC服务后,一个独立的PEC传输计数器将暗中减1(当执行连续传输模式时例外)。当这个计数器减小到0后,将执行相应的标准中断服务。PEC服务很适合以下情形:支持一个数据块的传输或接收,或者将AD转换的结果传输到一个内存表中。80C166有8个PEC通道。每个可能的中断源都有一个单独的控制寄存器,它包括一个中断请求标志,一个中断允许标志,一个中断优先级位字段。每个中断源都可以通过与其相关的寄存器编程为16个优先级之一。中断一旦被CPU接受,中断服务只能被更高优先级的中断源中断。对于标准的中断处理方式,每个可能的中断源有一个中断向量位置。将“TRAP”指令和一个独立的trap(中断)号结合使用,可以实现软件中断。80C166也提供了完美的识别和处理在运行期间的异常或错误条件的机制,这种机制被称为“硬件陷阱”。硬件陷阱将引起立即的、不可屏蔽的系统反应,这种反应与标准的中断服务(跳转到一个专用的向量表位置)类似。同时,硬件陷阱的发生由陷阱标志寄存器(TFR,Trap flag register)中的一个独立的位指
文档评论(0)