欢迎您访问大河网,请分享给你的朋友!

当前位置 : 首页 > 范文大全 > 报告范文

计算器总结范例(3篇)

来源:网络 时间:2024-01-06 手机浏览

计算器总结范文

关键词:SimpleScalar;CMPP;模拟器;实验机箱;验证;设计创新

中图分类号:G642文献标识码:B

1引言

“计算机系统结构”课程是计算机科学与技术专业中重要的专业课程,是一门从组织和结构角度上学习、总体把握和领会计算机系统的课程。因为其理论性较强,知识结构较为复杂,它的实验课设置一直是一个空白。但是,作为一门针对本科高年级学生的计算机综合设计课程,没有相应实验课对学生理解能力的提高和创新能力的培养,所谓的综合设计课程也成了一句空谈,为此,我们使用WinDLX、DLXView、SimpleScalar模拟器(安装在微机上)来仿真计算机,让学生在这个虚拟计算机上设置各种不同高端计算机系统结构技术,然后通过统计数据得到不同计算机系统结构技术对计算机性能的不同影响,最后给出统计结论。

但在实际教学过程中,我们发现,此种“PC机+模拟器”的实验方式形式过于单一,所有的实验都是先在模拟器中给出计算机系统结构技术参数设定,然后运行测试程序,最后根据程序运行结果给出实验结论。对学生而言,所做的工作只是系统结构参数的给定,然后面对一堆运行出来的枯燥数据给出实验结论。由于这些实验全是验证型实验,使得学生没有真正的实验体会,感觉也比较抽象,一个学期下来,整个实验课程没有收到它应有的效果,同时也没能激发出学生的创新性。

为了让学生更加有硬件实验体会,并发挥学生的创新性思维,我们在原有的“PC机+模拟器”模式下增加一个实验机箱,变成“实验机箱+PC机+模拟器”模式,经过一个学期的实践,计算机系统结构实验课程有了突破性的进展,取得了较好的效果。

本文其他部分内容如下:第二节介绍原有的“PC机+模拟器”实验模式的具体细节及其弊端;第三节阐明“实验机箱+PC机+模拟器”新模式的由来;第四节说明新模式具体的实验项目改革;最后给出本实验课程教改的特色与创新之处,并作出结论。

2“PC机+模拟器”模式

“计算机系统结构”课程中的实验课程在以往的教学中一直是一个空白。为响应微软亚洲研究院的大力倡导,本课程初期引入由卡内基・梅隆大学提出的“Learningbydoing”这一适用于工程教学的行之有效的先进教学理念,对“计算机系统结构”实验课程建设进行初步尝试。

由于这门课程的实验是从无到有的一个过程,因此,在建设初期,我们首先采用的是一个生搬照学的方法。为此,我们找到张晨曦教授在同济大学使用的“计算机系统结构”实验教学资料,然后根据本校学生具体情况对实验内容进行部分筛选,总结出“PC机+模拟器”模式,然后运用到实际教学中。

PC机是我们计算机系统结构实验课程开展的硬件平台,软件平台即我们的Windows操作系统以及安装在其上的各种模拟器,包括WinDLX、DLXView、SimpleScalar模拟器。实验过程中,学生在这些模拟器中设置各种不同参数而获得不同虚拟处理器,然后通过测试程序检测不同系统结构技术对处理器性能的影响。

WinDLX是一个基于Windows的模拟器。它能够以图的方式演示DLX流水线是如何工作的。学生通过改变流水线的结构和时间要求、存储器大小和其他几个控制模拟的参数,获得不同流水线的性能。实验一的流水线相关实验,实验二的循环展开及指令调度实验都是使用此模拟器。

DLXview是一个图形化、交互式的DLX流水线模拟器。该模拟器能够实现对基本流水线、记分牌算法和Tomasulo算法的模拟。通过对内存访问延迟、功能部件的数目、功能部件的延迟的配置,实现不同流水线的模拟。实验三的记分牌和Tomasulo算法实验使用的是此模拟器。

而SimpleScalar模拟器是目前学术界最为流行的体系结构模拟器,是一个单处理器架构的性能模拟器工具集。其工具集包含了非常丰富的工具,可以配置成许多不同体系结构的模拟器。同时,其源代码公开,具有良好可移植性和可扩展性,是开发微处理器芯片前期进行系统结构验证的重要工具。也是使用软件手段模拟和研究CPU系统结构的主要手段。实验四的Cache性能分析中和实验五的虚拟Cache与伪相联Cache使用的是此模拟器。

以上所述实验都是使用模拟器进行计算机系统结构技术参数设定,然后运行测试程序,最后根据程序运行结果给出实验结论,其实验属性全部是验证型实验。对于学生而言,所做的工作仅仅只是系统结构技术参数的给定,和测试程序的运行,最后从一堆运行出来的数据中得到实验结论。

这种软件模拟的方式适合研究生程度以上的学生进行学术研究和理论验证,这也是这些学生对于新思想新理论进行学术论证的常用方法与手段,但是对于发展目标为应用型的本科学生而言,此种实验形式与方法都过于枯燥与单一,整个实验做下来,学生感觉比较抽象,收不到实际效果,更谈不上激发学生创新意识,实验做到最后便流于一种形式,一种走过场。

3新模式的引入

基于计算机系统结构实验课程建设初期所遇到的问题,我们决定重新规划系统结构实验内容。

计算机系统结构实验课程是一门综合实验课程,既然是综合课程,即说它是一个软硬件结合体。在“PC机+模拟器”模式实验中,模拟器的引入可以很好的体现其软的方面,而硬的方面我们则选用学生在前期课程计算机组成原理中使用的教学设备(TND-CM++唐都教学仪器实验箱)入手,以达到事半功倍的学习效果。

计算机组成原理课程是专业必修课程,其教学与实验方面已经形成一个完整而成熟的体系。这是一门在整个计算机科学与技术专业课程中份量很重的课程,也是一门非常重视实验课的课程,除开课程本身的70学时中包括20学时的实验课程,学生还有专门2周的课程设计工作需要完成。这些大量的前期学习与实验实践,为学生熟练掌握和使用实验设备以及对计算机是软硬件综合体的理解打下坚实基础。而计算机系统结构课程本身就是计算机组成原理的后续和提高课程,利用前期的基础作进一步的理论提高和实验提高成了顺理成章的事情。

因此,“实验机箱+PC机+模拟器”模式引入到计算机系统结构实验教学中。在以前的教学中,“实验机箱+PC机”和“模拟器+PC机器”模式是分开使用的,因此PC机分别与两者的结合不是问题,但是当这三者(实验机箱、PC机和模拟器三者)结合在一起时,则需要对它们进行重新分工组合,以达到理想的实验效果,这将在文章的第4节的具体实验项目中详细叙述。

4“实验机箱+PC机+模拟器”模式

4.1“实验机箱+PC机+模拟器”模式简介

“实验机箱+PC机+模拟器”模式是“PC机+模拟器”和“实验机箱+PC机”两者的结合,但这种结合不是简单机械的结合,而是一种有机的结合。在以前的教学中,“PC机+模拟器”方式用于计算机系统结构初期实验课程,“实验机箱+PC机”方式用于计算机组成原理实验课程。但是,由于前一节“PC机+模拟器”方式所提到的弊端,即数据的枯燥性和理解的抽象性问题,我们把具有硬件动手优势的“实验机箱+PC机”方式中的计算机实验机箱引入到此课程实验中。

实验条件准备如下:首先在PC机器中安装Windows操作系统,然后在此操作系统中安装WinDLX、DLXView、SimpleScalar模拟器,同时安装CMPP模拟器(实验设备厂家随实验设备匹配提供)。然后通过RS-232串口与PC微机联机,这样,利用PC机上具有的这些模拟器我们可以在PC机上编程、向实验机箱系统装载实验程序、然后在图形界面下进行动态调试及运行。另外,系统具有的两路逻辑信号测量平台,使得可在PC机上看到信号测量波形。

我们实验的中心思想是:以计算机硬件为基础,通过软件配置扩充功能,形成一个可能是相当复杂的有机组合的计算机系统。最后通过模拟器中测试数据的统计获得此系统性能的结论数据。

其中的硬件是指我们通过实验机箱把计算机系统中的基础模块通过总线(数据总线、地址总线和控制总线)连接好;而配置软件是指通过CMPP、SimpleScalar模拟软件来进行一些高级配置的扩充,从而形成我们需要的系统结构;最后,通过(WinDLX、DLXView、SimpleScalar)模拟器跑动测试程序以获得此系统结构的性能参数及结论数据。

4.2模式的可行性论证

“实验机箱+PC机+模拟器”模式的可行性论证主要讨论如下问题(其中系统指实验系统,即实验设备):

(1)PC机与系统的关联:

实验系统安装有一个标准的DB型9针RS-232C串口插座,使用配套的串行通讯电缆分别插在实验系统及PC微机的串口,即可实现系统与PC的联机操作。系统通讯电缆连接方式如图1:

(2)CMPP与系统的关联

系统配套的集成操作软件CMPP具有专为联机操而开发的图形方式操作界面,其操作简便、直观且具有动态调试功能,可完全根据实验系统的数据通路图来实时、动态的显示用户设计的实验数据流的流向、数据值、控制线和各单元的内容。CMPP软件界面如图2:

本系统软件CMPP通过PC机串行口向实验系统上的单片机控制单元发送指令,由实验系统的单片机直接对程序存储器、微程序控制器进行读写,控制单拍或单步微程序、单步机器指令和程序连续运行等操作,实时监测各数据流和控制流的情况,从而实现实时动态图形方式下的系统跟踪调式和运行。

(3)SimpleScalar模拟器与系统的关联

SimpleScalar工具集是一个用于构建各种模拟程序的系统软件框架,可用于构建各种体系结构模拟器.它提供了一套参考模拟器,包括快速的功能模拟器,用于分支预测评估的模拟器,用于Cache层次评估的模拟器以及一个详细的、动态调度的、多级存储层次的微体系结构模拟器.SimpleScalar还包含一个机器定义框架,允许绝大部分体系结构细节和模拟器的具体实现分离.除了模拟器,SimpleScalar工具集还提供统计分析、调试、验证和可视化支持.SimpleScalar工具集被广泛用于计算机体系结构的研究和教学.例如在2000年,顶级体系结构会议上超过三分之一的文章是使用SimpleScalar来评价设计。

由于Simplescalar的使用广泛性和完整性,我们把它引入我们的实验课程中,但由于这个模拟器与我们的实验系统是各自独立的个体,因此当把这两者融合在一起时就存在一个有机组合问题。Simplescalar模拟器是一个原代码公开的软件,具有良好的可移植性和可扩展性,因此我们希望通过代码的更改,获得SimpleScalar模拟器与实验设备的有机整合。虽然这部分工作我们已经展开,但是工作做得还很不够,这也是我们下一步要继续进行的重点工作之一。

4.3存在的问题

(1)实验延续性的问题

通常,计算机组成原理课程会开在第五学期,计算机系统结构课程开在第七学期,因此,这两门课程之间有一个学期的间隔,由于这两门实验课程的顺延性较强,因此在计算机系统结构实验课程的设计中,初始实验应先重复计算机组成原理实验课程中综合性强,并在后续系统结构实验课程中需要应用到的实验内容。

(2)课时偏少而实验内容偏多的问题

计算机系统结构实验课时偏少,一般是8个课时(4个学时)。但是由于其实验内容综合性强,复杂度大,因此很难在一个学时(2个课时)完成一个实验。这就要求老师和学生在实验课之前要做较多的工作,包括老师在实验课之前详细的讲解,学生在课前完成实验预习工作,这样,才能充分利用一个学时的时间完成一次的实验。

(3)SimpleScalar与实验系统的整合问题

前面说过,我们利用SimpleScalar模拟器的开放性代码把SimpleScalar模拟器和实验系统整合在一起,这个工作还需要继续完善。这个工作也是整个计算机系统结构实验课程改革的一个重要的步骤。它是一个需要长期验证、修改和调试以及完善的工作,不是短时间就能完成的工作。

4.4实验项目的设计

(1)CISC(复杂指令集计算机)实验

此实验要求先按照实验连接图把计算机的主要模块通过总线连接起来(这个操作在实验机箱内进行),然后为这个模型计算机设计包括16条机器指令(包括算术逻辑指令、I/O指令、访问及转移指令和停机指令)的指令集,编写相应的微程序,通过PC机中CMPP模拟器装载和调试程序,以使同学们通过这个过程掌握整机概念,并能综合运用所学计算机原理知识,设计并实现较为完整的计算机。

此实验是在前计算机组成原理实验课程中掌握部件单元电路实验的基础上,进一步将其组成系统。同时也是对以前所学知识的温习。

(2)RISC(精简指令集计算机)实验

RISC是针对CISC结构存在的问题所提出的思想。它选取使用频率最高,以及很有用但不复杂的指令,这些指令大部分能在一个时钟周期内完成,并且只有Load和store两条指令访存等思想设计的计算机,在此实验中,我们选取使用频度比较高的五条基本指令:MOV、ADD、STORE、LOAD、JMP。然后寻址方式采用寄存器寻址及直接寻址两种方式来设计这个RISC计算机(依照前一实验方法,也是由CMPP模拟器进行调试)。

然后,我们通过在SimpleScalar模拟器中设置参数来比较RISC计算机和CISC计算机,这是通过跑同一测试程序来完成的。结论是:RISC机器执行的速度和效率大大提高。如对于此实验中设计的机器指令在RISC处理器中执行完需9个机器周期,而在复杂模型机实验中,需34个机器周期才能完成。

这样的实验程序的设计,可以让同学们深刻体会到两种不同处理器的运行效率,同时让同学们体会到实验直观性。

(3)重叠实验

此实验是在RISC模型机实验的基础上,进一步将其构成一台具有重叠功能的模型机。

一条指令的执行包括“取指”和“分析执行”两个阶段,而重叠技术是指把前条指令的“分析和执行”与后条指令的“取指”重叠在一起执行。

在此实验中,计算机“执行部件”数据通路的控制由微程序控制器来完成,而“指令预取”部件的数据通路由一片CPLD来模拟。以原基本模型机的五条机器指令为例,编写相应的微程序,然后具体上机调试掌握重叠概念。

然后,在SimpleScalar模拟器中设置参数比较RISC计算机和重叠计算机。结论是:重叠计算机执行的速度和效率明显提高。如前所述的同段机器指令在重叠处理器中执行完需要20个机器周期,而在RISC模型机的实验中,需要27个机器周期。

(4)流水实验

流水可以看作是重叠的引申,一次重叠是一种简单的指令流水线。在流水计算机中,一条指令的执行包括“取指令”、“指令译码”、“取操作数”、“执行”四个子过程(前三阶段由指令分析部件完成,而第四阶段由指令执行部件完成),而每个子过程可以与其他子过程同时进行,这叫并行性中的并发性。

这种并行性大大提高了计算机的处理效率。本实验除“指令执行部件”为板上的“ALUUNIT”和“REGUNIT”电路构成外,其余全部由CM++板上的一片CPLD芯片设计,输入设备、输出设备、RAM及时序仍由板上输入单元、输出显示单元、存储器单元及时序单元电路给出。

实验过程类似于前述实验。

5实验特色与创新

新设计的“实验机箱+PC机+模拟器”实验模式有如下功能特点。

(1)结构清晰的单元式实验电路,可构造出不同结构及复杂程度的原理性计算机。系统采用部件单元式结构,包括运算器及数据通路、存储器、控制器、信号及时序控制、内总线、外总线、接口及输入输出设备、大规模可编程逻辑器件等计算机部件的单元电路,可使用排线连接方式(实验机箱)或计算机电子自动逻辑设计方式(SimpleScalar等模拟器),根据自己所设计的模型计算机结构方案,来构造出不同结构及复杂程度的原理性计算机,使学生能够对计算机组成结构有清楚的认识和理解。

(2)对实验设计具有完全的开放性,增强学生综合设计能力。系统所具有的软硬件结构(实验机箱和模拟器)对实验设计具有完全的开放性,其数据线、地址线、控制线都由学生来操作连接,系统中的运算器结构、控制器结构及微程序指令的格式及定义均可根据教学需要来做灵活改变或重新设计。这对于自行设计各种结构及不同复杂程度的模型计算机提供了强大的软硬件操作平台,从而避免了单纯验证性的实验模式,极大提高了学生计算机系统的综合设计能力。

(3)通用逻辑器件和大规模可编程逻辑器件相结合,可面向不同层次的学生。系统采用通用逻辑器件和大规模可编程逻辑器件并用的方式,既能给熟练掌握复杂逻辑系统设计的学生提供高档的实验平台,又能对不熟悉这些内容的学生提供易操作的实验平台。符合循序渐进、先基础后提高的教学原则。

(4)具有实时调试功能的图形方式操作界面,也可用于多媒体辅助教学。系统具有与PC微机联机实时调试的功能,提供了图形方式的调试界面(CMPP模拟器),在调试过程中可动态实时显示模型计算机各部件之间的数据传送以及各部件和总线上的所有信息。这种图形调试界面也可用于多媒体辅助教学,从而获得极佳的教学效果。

(5)多种输入输出方式及逻辑信号测量功能,实验操作及观察更容易。系统提供多种输入输出方式。通过RS-232串口与PC微机联机,可在PC机上进行编程并向系统装载实验程序,在图形界面下进行动态调试及运行。另外还具有两路逻辑信号测量平台,可在PC机上看到信号测量波形;如单独使用本系统,则可通过开关及LED以二进制码形式进行编程、显示及调试运行。

(6)实验电路的实时在线检测功能,便于检查接线错误。系统具有实验电路检测功能,通过人机交互方式可实时在线检测各实验单元电路的好坏以及模型机实验线路连接是否正确。

(7)测试功能的完备性。SimpleScalar工具集所自带的SimpleScalarSpec2000测试程序使得学生可以及时对自己设计出来的计算机系统结构方案进行测试,然后根据测试结果对所设计计算机结构进行及时调整,以提高学生的实验直观性。

6小结

实践证明,此模式把计算机系统结构实验设计成一门软硬件结合的综合实验课程,并真正实现从呆板的“验证为主”到创新的“设计为主”的飞跃。试用一年以来获得较好效果。

参考文献:

[1]张福新,章隆兵.基于SimpleScalar的龙芯CPU模拟器Sim-Godson[J].计算机学报,2007,30(1).

计算器总结范文

关键词处理器、安全处理器、安全模块、密码模块

1引言

现有的安全技术似乎始终存在着局限性,防火墙被动防御无法阻止主动入侵行为、应用级过滤检测与处理能力存在矛盾,背负众望的IPv6技术也无法鉴别主机、用户真实身份,无法阻止攻击报文。当系统的安全越来越岌岌可危,人们开始尝试从芯片的角度去解决安全难题。要保证信息安全首先要保证拥有自有版权的安全芯片。目前,安全芯片设计在信息安全领域已取得了很大成绩,在密码学研究方面已经接近国际先进水平,嵌入式密码专用芯片也已开发成功,但密码芯片在功能与速度方面还滞后于系统和网络的发展,特别在高速密码芯片方面与国际先进水平有很大差距。同时,在CPU方面,不管是通用处理器、嵌入式处理器还是专用微处理器技术已经很成熟,国内多个单位都把嵌入式处理器作为切入点,如中科院计算所的“龙芯”、北大微处理器中心的“众志”、中芯的"方舟"等,嵌入式CPU已作为SOC芯片的核心,但很少考虑安全方面,特别是针对国内的专用密码算法。具有自主版权的CPU才是安全的CPU,只有具有自主知识产权的CPU不断取得新突破,对我国的信息安全才具有重大现实意义。随着网络速度的不断提高,微电子技术的不断发展,在芯片中加入安全功能成为一种趋势,特别是在个人电脑的芯片设计中。研制安全处理器将是今后安全产品的发展趋势。

2安全处理器的技术跟踪2.1嵌入式处理器

目前处理器的划分从应用角度出发,分三类:通用处理器、嵌入式处理器、专用处理器。这些分类都是相对的,只是在一定程度上反映CPU的特性。

根据CPU的特性,选择嵌入式处理器[2]为主要的研究对象。它的有利方面表现在:

(1)芯片设计技术,EDA工具已有很大发展,完全可将一个完整的系统集成在一个芯片上,即SOC(SystemOnChip)。这一技术使开发速度大大加快,可实现自主的知识产权。

(2)与嵌入式CPU配套的软件,从嵌入式OS(包括Linux和其他自主OS)到在它上面运行的应用程序,不像PC的软件那样受到微软垄断的影响,完全可以自主开发。

(3)嵌入式CPU对半导体生产工艺的要求适合我国的国情。多数不必采用最先进、昂贵的半导体工艺,能充分发挥国内现有的半导体生产能力。

系统芯片技术使嵌入式应用系统的开发越来越倾向于以32位CPU为核心,传统的8位微处理器由于芯片面积小,开发方便,得到了广泛的应用。但由于其总线宽度仅为8比特,性能相对较低。而随着应用的不断扩展,系统控制部分越来越复杂,对微控制器的性能要求也日趋提高。32位CPU核是发展趋势,掌握了自主32位CPU核的技术,在安全应用领域具有重大意义。纵上所述,我们研究的安全处理器采用的是32位嵌入式处理器。

2.2安全处理器

目前,市场大部分的安全产品采用传统的应用电子系统设计,其结构都是通过CPU软件运算密码算法或者将密码算法用硬件FPGA实现,然后用CPU控制。这样的结构使安全产品的速度受到约束,产品的集成度不高,不能降低产品的成本。

对于安全处理器来说,不是以功能电路为基础的分布式系统综合技术,而是以功能IP为基础的系统固件和电路综合技术。因此,安全处理器是集处理器和安全技术于一体。其功能的实现不再针对功能电路进行综合,而是针对系统整体固件实现进行电路综合。电路设计的最终结果与IP功能模块和固件特性有关,而与PCB板上电路分块的方式和连线技术基本无关,从而使所设计的结果十分接近理想设计目标。当前,国外已经有些公司研制生产出了安全协议处理器,如Hifn公司近日推出最具性价比的HIPPII8155安全协议处理器,适用于路由器、交换机及VPN网关等IPsec和SSL等应用。但是这些产品使用的是标准的公开算法如AES,DES等,不能满足国内安全产品的需要。文章所设计的安全处理器是基于专用算法的32位处理器。

3安全处理器的设计

安全处理器的设计将包括嵌入式操作系统、嵌入式系统程序和应用程序的开发;软件与硬件的划分、协同设计、协同仿真;电路的综合、布局布线等等。在完成对当前微处理器、SOC设计技术和安全处理器等新技术的跟踪后,结合对CPU和密码芯片的实践,设计了安全处理器的结构、算法核的结构和软件。

3.1安全处理器结构

安全处理器采用的基本体系结构如下:

采用这种系统结构,CPU能通过内部总线控制各个模块部分,DMA控制器也能通过内部总线控制各个模块之间的数据传输。且CPU能响应各个模块的中断,中断控制器控制着优先级和响应模式;总线控制器控制着内部总线的状态;安全模块能产生中断并具有状态值可供查询和使用。

安全处理器能独立作为数字信号处理器DSP使用;也能通过PCI、存储器扩展等通用接口连接显示器、硬盘等外设、存储器可以组成微计算机环境。

作为专用芯片时,一般用来研制安全设备,对用户的数据进行保护。将密码算法模块挂在系统总线上,(系统总线采用ARM公司的AMBA2.0规范[1]),密码算法模块有主模式和从模式两种工作模式,通过微处理器核来初始化、配置密码模块。这样,单个的SOC[3]可以实现网络加密,当安全处理芯片接受一个从MAC发来的数据包后,由操作系统的TCP/IP应用程序分析数据包,根据协议提取加/脱密操作有关的数据,将密码模块设置为从设备,安全处理器按照密码模块的要求,送相关的地址、长度、或者密钥等参数,然后将密码模块置为主设备,由密码主设备申请总线传输,从MAC或存储器中读入数据,进行加、脱密算法运算,添加一些必要的信息,将结果数据送到MAC或者目的存储器中。采用这种结构不但实现了使用一个安全处理器就完成了网络数据包的加脱密,而且由于密码模块直接挂在系统总线上,提高了加脱密速度。同时由于集成在一个芯片上,增加了密码模块的安全性。从而根据不同的用户需求,研制开发成不同种类的安全保密设备。安全模块分为专用密码算法核、公开密码算法核、运算加速器和快速驱动引擎。安全模块核心部件挂接在系统的高速总线上,为了提高其利用率,采用虚拟部件的结构和算法部件驱动引擎。不同的算法操作对应不同的指令,这些指令为专用指令,需要编译器的支持或者通过微指令执行。物理寻址范围一般较窄,输入/输出支持DMA、I/O、Burst等总线结构的所有操作。操作的策略实现预置/预测机制,采用4位指令执行状态标记。密码算法核预设两组物理实体,实体间相互独立。算法的逻辑位宽128bit,为部件级流水线的工作方式。数据处理按序进行,操作结果按序写入,回写操作受指令的执行状态控制。算核中还嵌入部分微代码,支持特定的应用和专用算法的测试、密码算法的自动配置和参数下载,从而确保密码算法硬件的可靠性和安全性。

密码算法部件的结构如下:

Reset(复位)来自芯片的复位控制器模块,中断及响应与芯片的中断控制器相连,状态反映在芯片的状态寄存器中,CLK来自芯片的PLL模块,最高频率为160MHz,地址线、数据线等与芯片的内部总线相连,扩展控制可以连接已有的外部安全密码模块。

密码算法核采用两种工作方式主设备模式和从设备模式。当工作在主设备模式时,写完密钥后,密码模块按AHB规范[1]申请总线,在请求总线成功后,密码模块将源地址发送到总线上,将源地址中的数据读入SFIFO中,释放数据总线,处理器可以并行完成其余任务。同时,模块内部从SFIFO中读出数据,进行算法运算,同时将加密结果写入EFIFO中。通过这种工作方式,可以提高加脱密速度,并行完成任务。密码模块工作在从设备模式时,处理器以存储器模式访问专用算法核,适应于低速产品的需要。

3.3安全处理器的软件特征

安全处理器的软件是实现嵌入式系统功能的关键,对安全处理器系统软件和应用软件的要求也和通用计算机有所不同。

(1)软件要求固态化存储。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或作为BIOS。

(2)软件代码高质量、高可靠性。尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度、提高执行速度。

(3)系统软件(OS)的高实时性是基本要求。

(4)在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实时性是基本要求。

(5)多任务操作系统是知识集成的平台和走向工业标准化道路的基础。

4安全处理器的应用

安全处理器的应用很广阔,既可以用来设计终端加密设备,又可以设计线路式加密设备,完成批信息加/脱密处理、数字签名、认证和密钥管理等功能。安全处理器具有PCI、MAC、USB等接口,直接与接口器件相连。线路上的数据流通过接口芯片流入安全处理器芯片的相应接口模块,数据被接受。CPU对收到的一帧(包)数据进行处理,支持SDLC/HDLC、PPP、DDN、FR等协议,需要加(脱)密的数据通过处理器芯片的内部总线与密码模块进行交换,由密码模块完成加(脱)密操作,处理完的数据最后由CPU控制通过相应的接口发送出去。安全处理器将专用密码算法核和处理器集成在一个芯片上,最大限度的减少了部件之间的连接,提高了系统的安全性和可靠性,充分保证了高性能和高性价比,优越性会越来越明显,必将会得到更广泛的应用。

参考文献

〔1〕AMBASpecification(AdvancedMicrocontrollerBusArchitectureSpecification)

计算器总结范文篇3

关键词:可配置处理器;指令扩展;Xtensa;TIE

中图分类号:TP391文献标识码:A文章编号:1009-3044(2010)20-5474-02

XtensaConfigurableProcessor-basedSoCDesign

CONGXue

(PLA94860Army,Nanjing210049,China)

Abstract:Aprocessorwhichcanbeconfiguredandextendedgetsindustry'sgreatconcern.Designerscantailortheprocessorsaccordingtothespecificalgorithm.Designerscanincreasespecialregistersandexecutionunitsandexpandthedatabus.Configurableprocessorhastheadvantageofshortdevelopmentcycles,flexibility,fasterprocessingspeedandsoon.

Keywords:configurableprocessor;instructionextension;xtensa;TIE

目前研发人员在进行SoC设计时,一般采用三种方法,其一是基于标准微处理器内核进行设计;其二采用定制ASIC的设计方法;其三是选择可配置处理器进行设计。相较于前两种方法,可配置处理器最大的优势在于具有强大的可编程能力,可针对特定应用优化处理逻辑,设计时间短,处理速度快。

1可配置处理器简介

可配置处理器不仅能处理大量密集计算型数据,处理性能接近ASIC硬件实现,同时,基于该处理器的设计又比硬件实现更加灵活快速。同时它提供了强大的指令扩展功能,利用指令扩展,可以使得运算速度大幅提高。

一个完整的可配置处理器工具集包括一个预先定义好的处理器核和一个设计工具环境,这个设计工具环境允许设计人员对基本处理器核进行大幅度修改以满足特殊应用的需求。典型的配置形式包括添加、删除和更新存储器、外部总线宽度、总线握手协议以及公共的处理器外设部件。

作为可配置处理器的一个重要子集,可扩展性可以让系统设计人员能够为处理器增加指令,这是原先的处理器体系结构设计人员从来没有考虑过或者想象过的。添加高度量身定做的指令能够让处理器更适合算法,更适合特殊的应用。

可配置处理器技术有诸多好处,但真正有实力做出来的厂商寥寥无几,目前唯一能够提供完整成熟的解决方案的只有Tensilica公司。

2基于Xtensa处理器的开发流程

Tensilica公司的Xtensa7处理器是一个高度可配置的、可扩展的32位的精简指令集处理器。这个精简指令集处理包含了取指、指令译码、执行、访存以及寄存器写回5级流水线设计。Xtensa处理器提供了共80种不同的指令。包含载入、回存、转移、移位、算术、逻辑、跳转、循环以及流水线控制指令。

开发需要使用Tensilica提供的开发环境XtensaXplorer。首先,根据算法的特点和复杂度,设计者可灵活配置处理器并生成处理器配置文件(XtensaConfigurationFile,XCF),该文件除了包括Xtensa处理器的基本指令集结构以外,还含有针对特殊算法所用到的配置功能,如乘累加运算模块、各种调试接口以及总线接口等。然后,设计者需要把该文件上传给XPG作自动处理,经过一段时间XPG把处理的结果又自动下载给设计者。在该阶段,XPG根据用户选择的硬件实现技术(目前130或180nm)来估计该配置处理器的面积、功耗以及运算频率等,方便用户设计。同时,XPG根据XCF还能自动生成适合于自定义处理器的各种软件开发工具,包括编译器、汇编器、连接器、调试器以及指令集仿真器等。

在这些工具基础之上,设计者就能实现算法的各种编译、调试和仿真等软件开发工作。在软件开发阶段的另外一项重要工作就是设计者根据处理器指令集的特殊结构以及算法的特点,利用指令扩展技术开发出设计者自定义的执行单元,辅助处理器的运算,大规模提高处理器的处理性能。如果该自定义处理器的性能、面积、功耗以及运算频率等满足用户的设计要求,配置文件XCF和TIE文件就固定下来,利用它们完成处理器的硬件实现。如果该处理器不满足设计要求,则可重新开始设计流程的第一步,不断反复设计优化,直至开发出设计者满意的自定义处理器内核。

3指令扩展(以数字滤波器设计为例)

指令扩展实际是为算法量身定做指令,使处理器更适合算法。Xtensa处理器扩展是通过Tensilica指令扩展(TIETensilicaInstructionExtension)来实现的。设计者可以增加专用的、可变宽度寄存器,增加专用执行单元和宽的数据总线等,从而为特定的算法达到最佳的处理器配置。

通过代码剖析,定制处理器的优化点是很明显的。优化的目标一般都在最内层的软件循环中,这些运算每秒要执行几千次甚至几百万次。减少这些循环中的目标代码的指令数量可以极大地提高系统的性能。

以下用数字滤波器的设计为例,进行指令扩展。数字滤波器的基本运算单元主要是延时器、加法器、乘法器。延时器在实现中主要是靠移位操作来实现。Xtensa处理器提供了可选、可配置的乘法器,另外TIE模板也提供了高性能乘法运算单元(因此,配置处理器时也可以不附加乘法器,这样可以减小处理器面积)。

当大量数据需要处理时,移位操作会消耗大量处理时间。而TIE技术提供单指令多数据(SIMD)功能,该功能允许在一个处理器指令内同时对多个数据进行操作。在滤波器的移位操作中利用该技术,可同时对多个数据进行移位。

乘累加操作也是主要运算工作,减少该操作的执行时间是提高处理器性能的有效途径之一。TIE技术提供融合(fusion)功能,允许设计者把多个连续的指令加入到一个指令中,即用一个指令就能执行多个连续的处理动作。对于乘累加操作,在传统的通用DSP设计之中,总是先进行乘法运算再作加法运算,它们是两个连续的操作,需要两个处理器指令。而利用融合技术,可以把乘法和加法这两个连续的指令融合在一个指令中,使得处理器在一个时钟周期内就能够完成乘累加操作。同时,结合SIMD技术可同时对多个输入数据和冲击响应进行乘累加操作,进一步减少处理器的运算时间。

滤波器的乘累加操作必须等待移位操作完成之后才能进行,而且需要反复对储存器读和写。在Xtensa处理器中可以运用state和regfile这两种用户自定义的特殊寄存器,在state寄存器中存放乘累加的结果,在regfile寄存器中存放移位操作结果,这样,利用融合技术可以在移位的同时进行乘累加操作,而且不再需要对储存器读写而是直接调用寄存器操作,在减少存取操作的同时提高数据处理的并行性。利用上述方法,可节省大量的处理器运行时钟数。

作者利用Xtensa可配置处理器实现了IIR低通数字滤波器、FIR低通数字滤波器、CIC滤波器三种滤波器,并根据各自算法特点进行了指令扩展优化。扩展后,性能分别提升了54倍、137倍、2.3倍。以上实验结果表明,运用Tensilica提供的TIE技术,设计者可以方便快速地开发出自定义执行单元辅助处理器的运行,大幅度提高处理器性能,满足用户的需要。但需要注意的是,作为辅助执行单元,TIE技术会增加处理器的面积,执行频率也可能会受到影响。设计者应当根据需求,在性能与面积和速度间做出选择。

4小结

Xtensa处理器可以针对用户专用算法进行自由配置和灵活扩展,而且自动产生适合于该处理器的一系列软件工具和硬件实现模型。运用Tensalica的Xtensa处理器实现的FIR滤波器利用TIE扩展技术使得处理器性能提升了一百多倍,而且这种处理器开发周期很短,设计灵活具有软件可编程性,在复杂SoC设计中更能体现其强大优势。

参考文献:

[1]LeibsonS.可配置处理器:技术与应用[M].TensilicaInc,2004.