电子信息工程外文翻译.doc_第1页
电子信息工程外文翻译.doc_第2页
电子信息工程外文翻译.doc_第3页
电子信息工程外文翻译.doc_第4页
电子信息工程外文翻译.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计外文资料翻译专 业: 电子信息工程 姓 名: 学 号: 100701113 外文出处: /literature/lit-nio2.jsp/nios II Processor Reference Handbook (用外文写)附 件: 1.外文资料翻译译文;2.外文原文。 指导教师评语: 签名: 年 月 日附件1:外文资料翻译译文 第二章 处理器架构 本章介绍了Nios的硬件结构,包括Nios II架构的所有单元功能和Nios II处理器硬件实现的基本面。本章包含以下几个部分:“处理器实现” “注册文件”“算术逻辑单元”“复位和调试信号”“异常和中断控制器”“内存和I / O组织” “JTAG调试模块”Nios II架构描述的指令集架构(ISA ) 。在ISA架构中需要一组用于指令功能单元的实现。Nios II的处理器核心是由Nios II指令集硬件设计和本文中所描述的功能单元来实现。该处理器核心不包括外围设备或外界逻辑连接。它仅包括Nios II体系结构所需实现电路。Nios II的架构包括了以下功能:注册文件算术逻辑单元(ALU )自定义逻辑接口指令异常控制器内部或外部中断控制器指令总线数据总线内存管理单元(MMU )存储器保护单元(MPU )数据高速缓存存储器和指令数据紧耦合存储器接口和指令JTAG调试模块处理器实现 Nios II体系结构的功能单元由Nios II的基础指令集构成。然而,这并不表示任何单元功能都由硬件实施。 Nios II的架构指令集的描述,并不是一个特定的硬件实现。一种单元功能可以由硬件来实现,仿真软件,或完全省略。Nios II的实现是由特定的Nios II的处理器核心来完成的。所有定义的指令集的实现可以参考的Nios II处理器参考手册的相关章节。各个执行情况如核心尺寸的减小或性能的提高都应达到特定的目标。这种Nios II的架构的灵活性允许不同的目标应用程序适应。各个变量通常包含3种功能模式:本身包含的功能、增加的功能、硬件或软件仿真实现。实例如下:更多的功能,例如,微调性能,可以增加或降低指令高速缓冲存储器的量。更大的缓存增加大型程序的执行速度,而规模较小的缓存节省芯片内存。包含的功能,例如,为了降低成本,可以选择省略JTAG调试模块。这一功能可以节省逻辑芯片和存储器资源,但它消除了软件调试器对应用程序的调试能力。硬件或软件仿真实现,例如,在控制应用程序很少进行复杂的运算,可以在仿真软件选择适合的除法指令来实现。硬件芯片卸下除法指令上,但会增加程序的操作执行时间。有关Nios II内核支持的功能信息,请参考Nios II处理器参考手册的核心实施细则的篇章。关于用户想了解Nios II处理器参数的完整详细信息,请参阅Nios II处理器参考手册的实例篇章。寄存器文件Nios II的架构支持一个平面寄存器文件,包括32个32位通用整数寄存器,以及多达32个32位控制寄存器。该架构支持管理员和用户模式,可以使系统在运行应用错误程序时可以保护控制寄存器。Nios II处理器可以有一个或多个映射寄存器集。映射寄存器集是一套完整的Nios II的通用寄存器。状态寄存器的CRS字段表示该寄存器为正在使用。一个指令通常访问一个通用寄存器。映射寄存器组的一个典型功能是加速上下文切换。当映射寄存器运行时, Nios II处理器有两个特殊的指令rdprs和wrprs 来移动寄存器组之间的数据。映射寄存器由系统内核操作,并是可见的应用程序代码。 Nios II处理器最多可以有63映射寄存器集。有关映射寄存器集实现和使用的详细信息,请参阅Nios II处理器“寄存器”的编程模型和“异常处理”参考手册。有关rdprs和wrprs指令的详细内容,请参阅Nios II处理器指令集参考手册参考章节。Nios II的架构允许增加的浮点寄存器。算术逻辑单元Nios II的ALU用来存储通用寄存器的数据。 ALU将从一个或两个寄存器的输入和运算结果存回寄存器。 未实现的指令 有些Nios II处理器内核实现不是由硬件提供完整的Nios II指令集实现的。没有硬件支持的指令被称为未实现的指令。 该处理器产生异常时,它会发出一个未实现指令让你的异常处理程序可以调用,模拟在操作的例程软件。未实现指令不影响的程序员对程序的处理。想了解未实现指令的列表,请参阅Nios II处理器参考手册的“编程模型”实例章。自定义指令 Nios II的架构支持用户自定义指令。 Nios II的ALU直接连接到自定义逻辑指令,使您能够实现在业务被访问和使用完全一样的原生指令的硬件。 欲了解更多信息,请参考Nios II用户指南的自定义指令和Nios II处理器参考手册的自定义指令实例。浮点指令 Nios II的架构支持由754-1985标准库提供的单精度浮点指令。基本浮点自定义指令包括单精度浮点的加法,减法,乘法和除法,并且可有基本指令集进行相关运算。这些浮点指令由自定义指令实现。浮点参数编辑器在进行除法运算时允许省略浮点从而使运行代码不会产生大量的除法浮点。当你省略了除法浮点 指令时,Nios II的编译器自动实现除法浮点运算。在Qsys中,自定义指令的浮点根据硬件在包含自定义浮点的组件库中说明。要添加的自定义浮点指令,在Nios II内核处理器SOPC中生成,想了解更多,请查询Nios II处理器参考手册的“自定义指令”实例。Nios II的浮动自定义指令说明是基于Altera的浮点宏功能包含:ALTFP_MULT,ALTFP_ADD_SUB和ALTFP_DIV。有关浮点宏功能,包括的更多信息和设备资源的使用,请参阅宏功能用户指南,可在Altera网站的IP和宏功能的相关文献。 在Nios II软件开发工具识别的C代码,它利用的优势浮点指令存在于处理器核心。当自定义浮点指令存在于你的目标硬件,Nios II的编译器编译你的代码以使用自定义指令进行浮点运算,包括加法,减法,乘法,除法和NEWLIB数学库。软件开发的思考为您的硬件设计的最佳选择取决于之间的浮点平衡用法,硬件资源使用情况和性能。而浮点定制说明加快浮点运算,它们大大加快了您的硬件设计。如果资源的使用是一个问题,则考虑重新加工您算法来减少浮点运算。 您可以在你的软件中使用pragma指令,从而比较硬件和软件的浮点指令的实现。下面的pragma指令由Nios II编译器忽略浮点指令,并由软件实现。这些pragma指令的作用域是整个C文件。 #pragma no_custom_fadds强制软件实现浮点加 #pragma no_custom_fsubs强制软件实现的浮点减 #pragma no_custom_fmuls强制软件实现的浮点乘 #pragma no_custom_fdivs强制软件实现的浮点除Nios II的指令集仿真器(ISS)在Nios II集成开发环境(IDE)不支持自定义指令。如果你需要运行软件在国际空间站上,禁用软件浮点定制指令与在pragma指令。所有浮点自定义指令都是单精度运算。双精度浮点运算是在软件中实现。当浮点定制指令不存在,在Nios II编译把浮点常量作为双精度值。然而,随着自定义浮点指令,在Nios II编译器中将浮点常量因为默认情况下的单精度数。这使得所有浮点表达式在硬件中进行评估,并节约运行速度。如果您不希望浮点常量被自定义成单精度值,每一个恒定值前加L,则指示编译器将常量作为一个双精度浮点值。在这种情况下,如果一个表达式包含一个 浮点常量,表达式中的每一项被转换为双精度。表达式被计算用软件实现的双精度四则运算表示,但运算速度的减慢。如果是GCC4编译器工具链,预编译的库编译双精度浮点常量。预编译浮点行为库函数如sin()和cos()是不受的存在浮点自定义指令影响的。以获得关于Nios II处理器的复位信号更多信息,请参阅Nios II处理器参考手册的“高级功能选项”实例。对于Nios II处理器矢量和调试信号的更多信息,请参阅Nios II处理器参考手册中“JTAG调试模块选项”的实例篇章。异常和中断控制器 Nios II处理器包括硬件处理异常,包括硬件中断。它也包括一个可选的外部中断控制器(EIC)接口。该EIC界面,您可以通过添加自定义的中断控制器来处理一个复杂的系统。 异常控制器 Nios II的架构有一个简单的向量异常控制器来处理所有的异常类型。异常控制器,包括内部硬件中断,从而使处理器执行转移到异常地址。异常处理程序地址确定异常控制器,并调度一个合适的异常程序。异常地址由在Qsys中的Nios II处理器参数指定的编辑器和SOPC构成。 所有的异常都是精确的。该处理器已完成执行精确的手段的错误指令之前的所有指令,并没有开始执行说明以下错误指令。一旦异常处理程序清除异常则异常处理器恢复执行程序。EIC接口EIC接口可以提高硬件中断的性能,还可以减少程序的中断延迟。EIC接口通常用于与映射寄存器组结合,而你需要的不仅仅是Nios II内部提供32个中断控制器。Nios II处理器通过EIC接口连接到EIC 。目前,EIC中断由Qsys和SOPC内部的中断控制器连接构成。EIC自动选择并连接到Nios II处理器,与中断处理程序的地址和寄存器组选择信息相连接。EIC特定中断算法的实现,一般根据中断优先级来判断处理顺序。 Nios II处理器不依赖于任何特定的中断优先级方案中的EIC。对于外部中断,EIC接口自主提供中断级别。 Nios II处理器用于确定中断程序的中断级。任何外部中断可配置一个没有被屏蔽 status.PIE位,并且没有中断级别。EIC接口可以通过软件配置。当EIC接口和映射寄存器集在Nios II内核实现时,你必须确保你的软件是在Nios II EDS9.0或更高版本上建立的。早期版本有ERET指令与映射寄存器不兼容的实现功能。EIC的典型例子,在嵌入式外设IP用户指南的中断向量控制器章节中。有关EIC使用细节,请参考Nios II处理器参考手册的编程模型“异常处理”一章。内部中断控制器Nios II的架构支持32个内部硬件中断。处理器核心有32个电平敏感的中断请求(IRQ)输入,IRQ0至IRQ31,提供了独特的输入为每个中断源。 IRQ优先级是由软件决定,该架构支持中断嵌套。可以通过启用和禁用任何单独的中断源来控制使能寄存器,其中包含一个中断软件使能位由IRQ输入。软件可以通过启用和禁用使用的PIE位来控制状态寄存器。当且仅当下列所有条件为真时,硬件中断产生:状态寄存器的PIE位为1 一个中断请求输入,IRQ,有效 相应的n位使能寄存器的值为1在SOPC中,Nios II处理器内核提供中断向量自定义指令,从而加速中断向量调度,以减少程序的中断延迟。EIC接口的中断向量自定义指令与Altera的中断向量控制器比使用效率较低,从而弃用Qsys。 Altera建议使用EIC接口。有关中断向量定制指令,请参阅Nios II处理器参考手册“自订指令选项”实例。内存和I / O组织本节介绍了Nios II内存的硬件细节,I / O的组织。涵盖了一般概念所有的Nios II的处理器系统,以及从系统到系统的功能。Nios II内存和I / O的组织的灵活特性是Nios II处理器系统与传统的微控制器之间的最显著差异。由于Nios II处理器在存储器和外设是可配置的,因此内存和I / O组织变化是从系统到系统。Nios II的核心采用以下提供的指令对内存和I/ O进行访问: 主端口指令,Avalon 内存映射(Avalon-MM)主端口通过系统互联架构连接到指令存储器 缓存指令,将高速缓冲存储器的内容存储到Nios II内核 数据存储器中的数据主端口,Avalon-MM主端口和系统互联架构外设连接 高速数据缓存存储器内部的数据存储到Nios II的核心 紧耦合指令或数据存储器端口的接口快速将Nios II内核外的数据存储到芯片内Nios II的架构可处理硬件程序的细节,所以程序员可以开发Nios II的应用程序,来实现具体的知识硬件。对于编程问题的详细信息,请参阅Nios II处理器参考手册的编程模型章。指令和数据总线 Nios II体系结构支持独立的指令和数据总线,它作为哈佛架构。指令和数据总线连接Avalon-MM主端口和Avalon-MM的规范接口。该数据主端口连接到内存和外围元件,而指令主端口只连接到内存组件。内存和外设访问 Nios II架构通过的内存映射I/ O接口访问数据存储器和外设映射到数据主端口的地址空间。该 Nios II的架构使用小端字节顺序,字和半字存储在内存的高位地址。 Nios II体系结构不指定有关内存的任何外设、数量、类型,并依赖于系统与外围设备相连接。通常情况下,Nios II处理器系统包含快速片上的混合存储器和较慢的片外存储器。外设通过接口将存在的外设数据存储到芯片。指令主端口Nios II的指令总线通过一个32位的Avalon -MM主端口来实现。该指令主端口执行单一的功能,取指令是由处理器执行,该指令主端口不执行任何写操作。指令主端口是一个流水线的Avalon -MM主端口。支持流水线的Avalon -MM转让与最大限度地减少同步存储以及减缓流水线的延迟,并增加了系统的整体最大存储值。该主端口指令可以发出连续的读取请求,将之前的数据读取,并且读取后请求返回。Nios II处理器可以连续缓存指令和执行分支并且指令管道尽可能保持活跃。指令主端口始终获取32位的数据。该主端口指令依赖于互连系统结构和动态总线的逻辑。通过动态总线,每次指令一个完整的字,不管目标存储器的宽度,都自动返回。因此,程序不需要知道Nios II处理器系统内存的宽度。Nios II架构支持芯片以较慢速度访问内存来提高指令端口提取指令的性能。想了解更多详细内容,请参阅“高速缓存内存“一节第2-13页。 Nios II的架构支持紧密耦合内存,可以延迟访问片上存储器。更多信息,请参阅读2-14页的“紧耦合存储器”章节的有关详细信息。数据主端口 Nios II的数据总线支持一个32位的Avalon-MM主端口。数据主端口拥有两个功能: 阅读来自存储器或外设的数据时,处理器执行的负载指令 将数据写入存储器或外设时,处理器执行一个存储指令 字节使能主端口上的信号,通过要写入指定的其中四个字节通道来存储操作。当Nios II的核心与数据高速缓冲存储器被配置为大于四个字节,数据主端口支持流水线的Avalon-MM传输。当该数据的高速缓存只有4个字节大小,任何内存流水线都是由数据主端口来感知等待状态。装载和存储操作可以在一个单一时钟周期内完成,数据主端口连接到内存的零等待状态。在Nios II架构支持芯片以高速缓存来提高平均数据访问速度较慢的内存传输性能。更多信息,请参阅“快取记忆体”第2-13页的说明。 Nios II的架构支持紧密耦合内存,可以延迟访问片上存储器。请参阅第2页-14因为细节“紧耦合存储器”。共享内存的指令和数据通常情况下,指令和数据主端口共享一个包含指令和数据的存储器。而处理器内核具有独立的指令和数据总线,整体Nios II处理器的系统可能呈现一个单一的,共享指令/数据总线到外面的世界。 Nios II处理器的外部视图系统依赖于在系统中和的结构的存储器和外围设备系统互连结构。该数据和指令主端口不会导致一个僵局状态,其中一个端口抑制其他端口。为了获得最高的性能,指定数据主端口高底是由指令和数据共享主内存的优先权序列端口决定的。高速缓存存储器Nios II的架构支持高速缓存存储器的两个指令主端口(指令缓存)和数据主端口(数据缓存)。高速缓存存储器驻留片上作为Nios II处理器核心的一个组成部分。高速缓冲存储器可以提高使用速度慢的Nios II处理器系统的平均内存访问时间片外存储器,例如SDRAM用于程序和数据的存储。指令和数据高速缓存在运行时永远启用,但方法是提供软件绕过数据缓存,以便外设访问不返回缓存的数据。缓存管理和缓存的一致性是由软件来处理。Nios II的指令集提供了缓存管理指令。可配置的高速缓存 高速缓冲存储器是可选的。需要更高的存储性能(或通过联系,需要高速缓存存储器)是依赖于应用程序。许多应用程序所需要的最小的可能的处理器内核,并且可以折衷表现为尺寸。 Nios II处理器内核可能包括一个或两个高速缓冲存储器,另外,对于核心,提供数据或指令高速缓存,高速缓冲存储器是用户可配置的。包含高速缓冲存储器的,不影响程序的功能,但它确实会影响速度,该处理器取指令和读取/写入数据。高速缓冲存储器 高速缓冲存储器中以提高性能的效果是基于以下前提: 定期存储器位于芯片,和访问时间相比芯片记忆较长 循环指令最大关键性能比缓存指令小性能关键型数据最大块比数据缓存较小 最佳的高速缓存配置为特定的应用程序,虽然可以做出决定是有效跨越广泛的应用。例如,如果一个Nios II处理器系统仅包括速度快,片上存储器(即,它从来没有访问速度慢,片存储器),指令或数据高速缓冲存储器是不可能提供任何性能增益。如另一个例子,如果一个程序的临界循环为2 K字节,但指令缓存为1 KB,指令缓存并不能提高执行速度。在事实上,指令高速缓冲存储器可能在这种情况下降低性能。如果一个应用程序总是要求以位于高速缓存中特定的数据的代码段或内存性能方面的原因,紧密耦合内存功能可以提供一个更合适的解决方案。请参阅“紧耦合存储器”2-14页的详细信息。缓存旁路方法 Nios II的体系结构提供了用于绕过数据高速缓存的下列方法: I / O负载和存储指令 31位旁路缓存I / O负载和存储指令加载和存储I / O指令的方法,如ldio和STIO旁路数据缓存和迫使一个Avalon-MM的数据转移到一个指定的地址。 31位旁路缓存方法 数据主端口上的31位旁路缓存方法使该地址的31位作为标记,指示是否处理器应该从数据高速缓存,或旁路转移到它。这是一个方便的软件,可能需要缓存某些地址和旁路等。软件可以通过地址作为函数之间的参数,而不必指定是否被寻址的数据的任何进一步的信息被高速缓存。 要了解哪些内核实现的缓存旁路方法,请参考Nios II处理器参考手册的核心实施细则的篇章。紧耦合存储器紧耦合存储器提供保证的低延时内存访问性能关键型应用程序。相比于高速缓冲存储器中,紧密耦合内存提供了以下好处:性能类似高速缓存存储器软件可以保证性能的关键代码或数据位于紧耦合存储器无实时缓存间接,如加载,无效,或冲洗记忆在物理上,一个紧耦合存储器端口是在Nios II的一个单独的主端口 处理器核心,类似的指令或数据的主端口。一个Nios II的核心可以有零个,一个或多个紧密耦合的存储器。在Nios II架构支持紧密耦合的存储器,用于指令和数据的访问。每个紧密耦合存储器端口直接连接到只有一个内存有保障的低,固定延迟。内存是外部的Nios II的核心,位于芯片。 紧耦合存储器的访问 紧耦合存储器占用正常的地址空间,像其他的内存通过系统互联架构连接的设备。紧耦合存储器的地址范围(如果有的话)在系统生成时确定。 使用常规的加载和存储指令的软件访问紧耦合存储器。从软件的角度来看,访问紧耦合存储器与其他存储器相比是没有区别的。高效紧耦合存储器一个系统可以使用紧密耦合内存以达到最大性能访问的代码或数据的特定部分。例如,中断密集型应用程序可以将异常处理程序代码到一个紧密耦合的存储器,以最大限度地减少中断延迟。同样的,计算密集的数字信号处理(DSP),应用程序可以将数据缓冲区入紧耦合存储器的最快可能的数据访问。 如果应用程序的内存需求是足够小,以适应整个芯片上,它是可以使用紧密耦合的存储器专用代码和数据。大应用程序必须选择性地选择要在紧耦合存储器包括以最大限度地提高成本性能权衡。 有关更多的紧密耦合内存原则,请阅读Nios II处理器手册的紧耦合内存章节。地址地图 地址映射为存储器和外设的Nios II处理器系统设计依赖。你的Qsys和SOPC Builder中指定的地址映射。但是也有一些处理器的一部分,特别值得一提三个地址: 复位地址 异常地址 中断处理程序的地址 程序员通过使用宏和驱动程序访问存储器和外设。因此,灵活的地址映射不会影响应用程序的开发人员。存储器管理单元 可选的Nios II的MMU提供以下特性和功能: 虚拟地址到物理地址的映射 存储器保护32位虚拟地址和物理地址,一个4 GB的虚拟地址空间映射到高达4 GB的物理内存 4 KB大小的页和帧可直接访问低512 MB的物理地址空间 硬件转换后备缓冲器(TLB的),加速地址转换 独立的TLB指令和数据访问 读,写和执行每页控制权限 每页默认缓存行为控制 TLB的作为n路组相联高速缓存软件的页表 TLB的大小和结合在Nios II处理器参数配置编辑 页表(或等效的数据结构)格式由系统决定软件 由系统软件确定TLB项替换策略 由系统软件确定TLB项写入策略有关MMU实现的更多信息,请参Nios II处理器参考手册编程型号的篇章。 你可以选择包括MMU在内的程序,来例化您的Nios II硬件系统。MMU始终处于启用状态,并数据和指令高速缓存的虚拟索引,标记缓存。几个 参数可供选择,来优化MMU为您的系统增速。 有关用户要了解Nios II的MMU的完整详细信息,请参阅Nios II处理器参考手册的实例篇章。Nios II的MMU是可选的,相互排斥其外的Nios II微处理器。 Nios II的系统可以包括任一个MMU或MPU,但不能同时包含一个MMU和MPU在同一个Nios II处理器内核。存储器保护单元 可选的Nios II MPU提供以下特性和功能: 存储器保护 最多32个指令地区和32个地区的数据 可变的指令和数据区的大小 区域内存量大小或高地址限制规定 读取和写入访问权限的数据区域 执行访问权限的指令地区 重叠区域有关MPU实现的详细信息,请参阅Nios II处理器参考手册的编程模型章。 你可以选择包括主控板在内的硬件系统,来实例化您的Nios II硬件系统。MPU始终启用,几个参数可供选择,来优化MPU为您的系统服务。 有关用户想了解Nios II微处理器的完整详细信息,请参阅Nios II处理器参考手册实例篇章。 Nios II的MPU是可选的,相互排斥的Nios II的MMU。 Nios II的系统可以包括任一MPU或MMU,但不能同时包含一个微控制器和MMU在同一个Nios II处理器内核。JTAG调试模块 Nios II的架构支持JTAG调试模块,提供芯片仿真功能从主机PC远程控制处理器。基于PC的软件调试工具与JTAG调试模块进行通信,并提供设施,例如以下功能: 下载程序到内存 启动和停止执行 设置断点和观察点 分析寄存器和存储器 收集实时执行跟踪数据调试模块连接到Altera 的JTAG电路中。然后通过调试探针可以对标准的JTAG接口访问外部处理器FPGA中。在处理器方面,调试模块连接到信号内的处理器核心。调试模块具有不可屏蔽的控制处理器,和不需要存根软件测试下链接到应用程序。所有系统在管理员可见模式下运行,处理器的资源可用于调试模块。对于跟踪数据收集,调试模块存储在跟踪存储器中的数据无论是芯片还是在调试探头。调试模块增益控制处理器无论是通过产生一个硬件中断信号,或通过写中断指令到程序的内存来执行。在这两种情况下,该处理器将执行转移到位于断点地址的例程。地址被指定在Qsys中的Nios II处理器参数编辑器和SOPC中 。软处理器内核,如Nios II处理器提供独特的调试功能超越传统的,固定处理器的功能。在Nios II软性质处理器可以让你的系统在开发中使用一个全功能的调试调试核心,后来删除了调试功能,以节省逻辑资源。为释放版本的产品,JTAG调试模块的功能可被减少,或完全删除。以下各节描述了Nios II JTAG调试模块的功能硬件。的所有硬件功能的使用依赖于主机的软件,如Nios II软件构建工具的Eclipse,它管理的连接针对处理器和控制调试过程。JTAG目标连接 该JTAG目标连接提供到通过连接到处理器的能力标准的JTAG引脚上的Altera的FPGA中。这提供了基本的功能,以启动或停止处理器,并检查和编辑寄存器和存储器。该JTAG最低要求为Nios II闪存编程器。 当处理器没有最低时钟频率的要求,Altera公司建议您设计的系统时钟频率至少四倍JTAG时钟频率,以确保芯片上的仪器(OCI)核心功能正常。下载并执行软件下载软件是指为可执行代码和数据下载到的能力通过JTAG连接处理器的内存。下载软件后,JTAG调试模块可以退出调试模式并将执行权转由内存可执行代码的开始。软件断点软件断点让你驻留在RAM中的指令上设置断点。该软件断点机制写入断点指令转换成可执行代码存储在RAM中。当处理器执行的指令休息,控制转移到JTAG调试模块。硬件断点硬件断点允许你对居住在指令上设置断点非易失性存储器,如闪存。硬件断点机制连续监视处理器的当前指令的地址。如果该指令的地址硬件断点地址匹配时,JTAG调试模块需要控制处理器。硬件断点使用JTAG调试模块的硬件实现触发功能。硬件触发 硬件触发器激活基于对指令或条件调试操作 实时程序执行过程中的数据总线。触发器可以做多叫停处理器执行。例如,触发器可以被用来使跟踪数据收集在实时处理器执行。目标触发器 JTAG调试模块提供了两个级别的触发功能,称为目标触发器。目标触发器使能JTAG调试模块,B事件上触发而A事件不触发转化为,A事件导致触发动作,使触发器B事件触发。 触发值的范围 JTAG调试模块可对数据或地址值的范围上的数据触发总线。这种机制使用两个硬件触发,共同创造一个触发条件激活的范围在规定范围内的值。跟踪捕获跟踪捕获是指能够记录的指令,由指令执行的因为它在实时执行代码的处理器。 JTAG调试模块提供以下跟踪功能:捕获执行跟踪(指令总线周期)。捕获数据跟踪(数据总线周期)。对于每个数据总线周期,捕获地址,数据,或两者兼而有之。启动和停止捕获跟踪,实时,基于触发器。手动启动和主机控制下停止跟踪。可选择停止捕获跟踪时,跟踪缓冲区已满,留下处理器执行。在片上内存缓冲区的JTAG调试模块中存储跟踪数据。 (此内存是只能通过JTAG连接。 )存储跟踪数据在片调试探头较大的缓冲区。某些跟踪功能需要额外的许可证或调试工具来自第三方调试提供商。例如,一个片上跟踪缓冲器的一个标准功能Nios II处理器,而是采用了片上跟踪缓冲器需要额外的调试软件和MIPS科技或劳特巴赫有限公司提供的硬件。有关详细信息,请搜索关于MIPS科技网站()和劳特巴赫有限公司网站()的“Nios II”。执行与数据跟踪 JTAG调试模块支持跟踪指令总线(执行跟踪)时,数据总线(数据跟踪),或两者同时进行。执行跟踪记录只有的指令地址执行,使您能够分析在内存(即,在其中的函数)代码执行。数据跟踪与记录相关的数据每个加载和存储操作的数据总线上。 JTAG调试模块可以筛选数据总线跟踪实时捕捉以下内容: 负载地址存储地址双方加载和存储地址 负载数据加载地址和数据 存储地址和数据 地址和数据的加载和存储 在触发事件的数据总线单一样本跟踪帧帧是一个单位的内存分配,收集跟踪数据。然而,帧并不是一个绝对的衡量跟踪标准。为了跟上处理器执行实时步伐,进行优化执行跟踪,只存储选中的地址,如分支,电路,陷阱和中断。这些地址,可以从主机端的调试软件,可以由指令执行跟踪进行重建指定的精确。此外,执行跟踪数据以压缩格式被存储,使得一个帧代表以上的一个指令。如这些优化的结果,实际开始和结束点跟踪收集在执行过程中可能会从用户指定的启动和结束略有不同。数据跟踪存储要求100跟踪缓冲区实时加载和存储。当存储到跟踪缓冲区,数据跟踪帧的优先级低于执行跟踪框架。因此,当数据帧在实时存储时,执行和跟踪数据都不能保证正好与每个同步等。附件2:外文原文(复印件)2. Processor ArchitectureThis chapter describes the hardware structure of the NiosII processor, including a discussion of all the functional units of the Nios II architecture and the fundamentals of the Nios II processor hardware implementation. This chapter contains the following sections: “Processor Implementation” on page 22 “Register File” on page 23 “Arithmetic Logic Unit” on page 24 “Reset and Debug Signals” on page 28 “Exception and Interrupt Controllers” on page 28 “Memory and I/O Organization” on page 210 “JTAG Debug Module” on page 217The Nios II architecture describes an instruction set architecture (ISA). The ISA in turn necessitates a set of functional units that implement the instructions. A Nios II processor core is a hardware design that implements the Nios II instruction set and supports the functional units described in this document. The processor core does not include peripherals or the connection logic to the outside world. It includes only the circuits required to implement the Nios II architecture.The Nios II architecture defines the following functional units: Register file Arithmetic logic unit (ALU) Interface to custom instruction logic Exception controller Internal or external interrupt controller Instruction bus Data bus Memory management unit (MMU) Memory protection unit (MPU) Instruction and data cache memories Tightly-coupled memory interfaces for instructions and data JTAG debug moduleProcessor ImplementationThe functional units of the Nios II architecture form the foundation for the Nios II instruction set. However, this does not indicate that any unit is implemented in hardware. The Nios II architecture describes an instruction set, not a particular hardware implementation. A functional unit can be implemented in hardware, emulated in software, or omitted entirely. A Nios II implementation is a set of design choices embodied by a particular Nios II processor core. All implementations support the instruction set defined in the Instruction Set Reference chapter of the Nios II Processor Reference Handbook. Each implementation achieves specific objectives, such as smaller core size or higher performance. This flexibility allows the Nios II architecture to adapt to different target applications. Implementation variables generally fit one of three trade-off patterns: more or less of a feature; inclusion or exclusion of a feature; hardware implementation or software emulation of a feature. An example of each trade-off follows: More or less of a featureFor example, to fine-tune performance, you can increase or decrease the amount of instruction cache memory. A larger cache increases execution speed of large programs, while a smaller cache conserves on-chip memory resources. Inclusion or exclusion of a featureFor example, to reduce cost, you can choose to omit the JTAG debug module. This decision conserves on-chip logic and memory resources, but it eliminates the ability to use a software debugger to debug applications. Hardware implementation or software emulationFor example, in control applications that rarely perform complex arithmetic, you can choose for the division instruction to be emulated in software. Removing the divide hardware conserves on-chip resources but increases the execution time of division operations. For information about which Nios II cores supports what features, refer to the Nios II Core Implementation Details chapter of the Nios II Processor Reference Handbook. For complete details about user-selectable parameters for the Nios II processor, refer to the Instantiating the Nios II Processor chapter of the Nios II Processor Reference Handbook.Register FileThe Nios II architecture supports a flat register file, consisting of thirty-two 32-bit general-purpose integer registers, and up to thirty-two 32-bit control registers. The architecture supports supervisor and user modes that allow system code to protect the control registers from errant applications.The Nios II processor can optionally have one or more shadow register sets. A shadow register set is a complete set of Nios II general-purpose registers. When shadow register sets are implemented, the CRS field of the status register indicates which register set is currently in use. An instruction access to a general-purpose register uses whichever register set is active.A typical use of shadow register sets is to accelerate context switching. When shadow register sets are implemented, the Nios II processor has two special instructions, rdprs and wrprs, for moving data between register sets. Shadow register sets are typically manipulated by an operating system kernel, and are transparent to application code. A Nios II processor can have up to 63 shadow register sets.For details about shadow register set implementation and usage, refer to “Registers” and “Exception Processing” in the Programming Model chapter of the Nios II Processor Reference Handbook. For details about the rdprs and wrprs instructions, refer to the Instruction Set Reference chapter of the Nios II Processor Reference Handbook. The Nios II architecture allows for the future addition of floating-point registers. Arithmetic Logic UnitThe Nios II ALU operates on data stored in general-purpose registers. ALU operations take one or two inputs from registers, and store a result back in a register.Unimplemented InstructionsSome Nios II processor core implementations do not provide hardware to support the entire Nios II instruction set. In such a core, instructions without

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论