DSP6x架构的嵌入式CPU模拟技术研究与应用

来源 :中国新通信 | 被引量 : 0次 | 上传用户:chenshunsheng
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】    首先分析DSP6x架构嵌入式CPU的模拟需求,然后研究了DSP6x架构的嵌入式CPU模拟器的架构设计、组成与功能、运行流程与接口设计等,最后设计实现了基于DSP6x架構嵌入式CPU模拟技术构建的嵌入式软件测试平台。
  【关键词】    DSP6x    嵌入式CPU    模拟仿真
  引言:
  DSP6x系列的CPU是典型的嵌入式系统芯片处理器。该系列CPU采用超长指令字结构,具有易编程性,且编译性能较好,同时该CPU上还集成了一些大容量的存储器,使得应用变得非常方便。所以广泛应用于通信导航、弹载星载、航空航天等多种领域的嵌入式装备设备中。
  本文以典型的DSP6x系列CPU为研究对象,通过对DSP6x系列嵌入式CPU内核的结构、组成、指令执行过程和执行时序的研究分析,介绍了对DSP6x系列芯片进行仿真模拟的总体架构、操作流程、指令集模拟执行过程等。
  一、DSP6x嵌入式CPU原理
  1.1典型DSP6x架构的CPU分析
  典型DSP6x系列DSP包括DSP62x和DSP64x两个定点系列和DSP67x一个浮点系列,其DSP芯片中包括CPU、存储器及定时器、串口等外设。
  DSP6x系列DSP含有不同大小的数据存储器。与CPU一样,DMA控制器(直接存储访问)、EMIF接口(外部存储器接口)和省电逻辑电路等外设,也是DSP必备的组成部分。通用寄存器组一般分为A组和B组。8个运算功能单元的名称分别为.L1、.L2、.S1、.S2、.M1、.M2、.D1、.D2。内核控制寄存器包括AMR、CSR、IFR、ISR、ICR、IER、ISTP、IRP、NRP、PCE1、PC等控制器。控制逻辑是DSP6x处理器内核各种运行时序控制的单元。测试和仿真是接仿真器的接口。中断是DSP6x处理器的中断处理模块。
  1.2典型DSP6x架构CPU原理分析
  DSP6x系列CPU的总线分为两种:程序总线和数据总线。程序总线主要负责将存储在CPU芯片程序存储器中的指令,传送至CPU芯片的执行器执行。程序总线宽度为256位,一次取指操作是同时取8条指令,将8条指令同时通过程序总线传递给CPU执行器。在执行器上执行时,每条指令都独占一个操作单元。取指、分配和译码三个指令操作,都可在一个CPU周期内读取并传递8条(32位)指令。这些指令的操作方式都是由控制寄存器组进行控制。从在程序存储器中读取第一个取值指令包起,一个超长指令字的处理流程就开始了。
  DSP6x系列CPU芯片外存储器及芯片外总线都是不区分程序和数据的。CPU芯片所有存储器(内部和外部的程序存储器和数据存储器),都是按字节进行统一编址的。无论是读外部指令或者对外交换数据,CPU都需要通过DMA和EMIF。但CPU内部交换数据时使用数据总线,在取指令时才使用程序总线。
  与指令执行相关的主要包括数据通路和控制寄存器。数据通路一般包括执行指令的功能单元、通用寄存器组和数据总线。DSP6x系列CPU有两个类似的数据通路,每个数据通路都有4个功能单元和1组通用寄存器。4个功能单元执行指令的操作,所有算术逻辑运算指令(除读、存储及转移指令外)的源操作数和目的操作数都放在通用寄存器中,这样指令运算的速度就更快。CPU一般使用读指令和存储指令在通用寄存器组与片内存储器间进行数据交换,在进行数据交换时,由两个指令的数据寻址单元提供数据存储的地址。
  1.3指令执行过程分析
  DSP6x系列CPU的指令执行过程都是按3级流水线模式。流水线的每一级由不同数量的执行节拍组成。一般“取指”级有4个节拍;“译码”级有2个节拍;“执行”级执行节拍数不是固定的,不同指令有不同的节拍数。每个指令执行的节拍数量的差别主要在“执行”级。
  “取指”指令的4个节拍分别是:PG、PS、PW、PR。“译码”指令的2个节拍分别是:DP和DC。在“译码”级中,在DP节拍期间,1个取值包的8条指令可根据并行执行的需要,分成若干个执行包。
  在“执行”指令中,定点计算和浮点计算的所占的流水线节拍数量是不同的,前者最多占5个节拍,而后者最多则可占有10个节拍。
  二、DSP6x嵌入式CPU模拟器总体设计
  2.1架构设计
  嵌入式CPU模拟器在设计上采用模块化的结构设计。其系统架构设计如图1所示。
  从DSP6x的体系架构上来分析,DSP62x、DSP64x和DSP67x的体系结构是一致的,包括处理器流水线、算术运算单元、内存、寄存器等。在设计时,采用向下兼容的模式,DSP67x兼容DSP64x,DSP64x又兼容dsp62x。
  2.2组成与功能
  嵌入式CPU模拟器主要由目标码文件解析、内存模拟、指令集模拟解析、算术运算单元模拟、总线模拟、流水线模拟、寄存器模拟、外设接口仿真等功能模块组成。
  1.目标码文件解析
  DSP6x处理器的目标码格式为COFF文件格式。模拟器读取目标码文件中的数据到模拟器仿真内存中,读取的数据包括代码段的数据、数据段的数据、向量表段的数据等。
  2.内存模拟
  按照DSP6x处理器的内存分布来动态创建内存空间。
  3.指令集模拟解析
  模拟器模拟DSP6x系列的180多条指令,包括存储类、算术类、逻辑类、搬移类、程序转移类等类别的指令。模拟解析每种类别的指令在不同的运算功能单元上运行。
  4.算术运算单元模拟
  模拟器模拟DSP6x架构CPU的6个算术运算单元ALU、2个乘法器和1个地址产生器等。模拟这6个算术运算单元ALU和2个乘法器在1个CPU周期内同时执行8条指令的运算过程。   5.寄存器模拟
  模拟器模拟DSP6x处理器的A和B两个通用寄存器组,以及通用内核寄存器。模拟其利用通用接口函数,对通用寄存器组和特殊功能寄存器进行访问和位操作的运行过程。
  6.总线模拟
  模拟器模拟DSP6x处理器的程序总线和数据总线。模拟总线的位数为32位。程序总线和数据总线运行过程采用并行模拟的技术进行模拟。
  7.流水线模拟
  模拟器模拟DSP6x的“取指、译码、执行”3级流水线的工作过程,并根据3级流水线各级的实际工作节拍,模拟指令在各级的CPU工作节拍。
  8.外设接口仿真
  模拟器模拟外设接口。在外设接口模块中,包含接口仿真所需要的接口函数以及时序控制与调度模块,来完成外设仿真的实时性。
  2.3 运行流程设计
  在嵌入式CPU模拟器运行流程中,首先导入源代码进行交叉编译,交叉编译器编译后的二进制目标码导入到嵌入式CPU模拟内存中,然后通过嵌入式代码指令集执行。在执行过程中,当访问特定端口地址时,响应绑定的外设仿真函数,最后外设仿真函数的接口数据源与仿真测试环境构建进行数据交互,完成整个嵌入式软件测试的运行流程。
  2.4外部接口设计
  在嵌入式软件外部接口中,嵌入式CPU模拟器与外设接口的访问都是通过外部接口寄存器进行的,每个外部接口的寄存器与具体地址空间一一对应。访问外部接口寄存器,就是访问特殊的地址空间。通过设定地址空间绑定函数,关联外设与外设仿真接口函数,实现外部接口仿真。
  根据上述嵌入式软件外部接口仿真过程,设计外部初始化接口和外部参考时钟接口。在外部初始化接口中,根据外设寄存器的端口地址,把外设关联到相应的外设仿真函数中,实现IO、AD/DA、串口、CAN、1553B等外设与仿真外设库的关联。外部参考时钟实现外部接口设备的时序仿真与控制。寄存器读写接口实现相关的内存、寄存器的读写功能。
  在嵌入式软件外部接口中,还设计了寄存器读写接口、内存读写接口、中断事件触发接口、数据传递接口、内核处理器的控制接口等。内核处理器的控制接口包括启动接口、停止接口、继续执行接口和复位接口。
  三、结束语
  在通用计算机平台上,模拟并运行嵌入式软件,是提高嵌入式软件开发与测试效率的通用方法,不同嵌入式系统模拟的技术不同,但是关键技术都是嵌入式CPU对指令执行过程的模拟。本文重点研究了嵌入式CPU模拟的技术方案,限于篇幅的限制,其具体实现的细节这里就不再类似。有兴趣的读者可以查阅本作者其他类似论文。
  参  考  文  献
  [1]蔡建平,关于嵌入式应用开发技术 单片机与嵌入式系统应用 2001年第1期
  [2](美)奥沙纳(Oshana,R),(美)雷林(Kraeling,M.)主编;单波等译.嵌入式系统软件工程:方法、实用技术及应用[M].北京:清华大学出版社,2016
  [3](美)施部.克.威(V,S.K.)著,伍微譯.嵌入式系统原理、设计及开发[M].北京:清华大学出版社,2012
  [4]文玉亮(导师:宋彬)H.264编码算法的DSP优化与实现,《西安电子科技大学硕士论文》—2008-01-01
  [5]董培(导师:沈玉荪)H.264编码器在DSP和智能手机平台上的优化实现,《北京工业大学硕士论文》—2008-03-01
其他文献
现代学徒制是职业学校根据国家要求,所制定的一种深化产教融合,并且进一步完善校企合作育人机制,创新技术技能人才培养的模式.针对我校中药制药技术专业开展现代学徒管理模式
【摘要】 教育目标分类理论主张强化学生知识迁移能力,应将学习和掌握的知识进行创新应用,从记忆理解的低阶思维相创新创造高阶思维发展。教育工作者应以STEM为教育载体,多维度和多层次的开展计算机专业课程教学活动。具体做法使,基于科技支撑深度推进研究型学习模式、将STEM课程融入计算机专业课程教学设计中、构建多样化的教学成效评价体系。  【关键词】 STEM教育 计算机专业课程 教学  引言: 
【摘要】 通过将光纤在民航空管遥控台中应用,能够促使传输速度大幅度提升。在现阶段信息时代背景下,我国社会正在快速发展,为能够确保民航通信效率与质量得到有力保障,便需针对光纤通信传输技术展开更深层次研究院,同时确保其科学性、合理性、有效性。基于此,本文将主要针对如何在民航空管遥控台当中有效应用光纤传输展开探讨。  【关键词】 光纤 民航空管 传输通信  引言:  随着民航空中交通管制工作的飞
【摘要】 大数据技术作为一种新的科技数据管理和应用模式,为新的条件和任务下的水工业信息系统提供了基础,对水利信息系统提出了新的要求。本文总结了该技术在水利变革中的可行性研究,并结合水利信息化过程中的许多问题,进一步研究了大规模信息系统的核心困难与解决措施,重大信息技术将为信息技术在水利管理模式和新一代信息技术的应用及其在传统产业中的创新活动提供强有力的技术支撑,简要说明了大型信息技术在水利系统水
【摘要】 海上钻井液作业数据受现场办公条件、管理制度等的影响,一直依赖于手工填写的Excel报表。近年来随着信息化的推进,解决钻井液作业现场数据的采集、管理和应用成为最迫切的一项任务。海上钻井液作业数据管理系统从现场的实际业务出发,以B/S和C/S架构相结合的方式,部署于海油云服务器,从而实现钻井液数据的录入、数据管理、数据服务于一体。  【关键词】 钻井液 数据采集 B/S与C/S架构
【摘要】 在互联网经济高速发展、企业多元化且专业化的发展趋势下,客户需求趋向个性化与多元化,运营商在对客户的销售、产品交付、关系维系等工作环节中,存在多业务系统间的多重信息传递及交互,存在信息重复、流程繁琐、内耗较大、不统一等问题。通过建立中台系统,整合内部资源,消灭数据孤岛,统一客户标签,提升数字化能力并赋能等,真正做到数字化转型,到达提升销售及服务水平的目的。  【关键词】 渠道融合 销
【摘要】 随着我国经济建设的不断地取得发展,计算机技术水平也在不断地提升,并逐渐的广泛的应用到生产生活的各个方面,同时社会和国家对于计算机领域的专业性人才的需求也在不断地增加,对专业性人才的需求也在不断地提高,而职业院校在培养计算机专业性人才的过程中发挥着十分重要的作用,只有通过充分的重视计算机网络应用课程的教学,并不断地加强计算机网络应用在教学实践中的研究,从而更好的促进职业院校在计算机专业的
【摘要】 随着我国经济建设的不断发展,国家和社会对于电子商务专业的专业性人才的需求也在不断地提高,对于培养电子商务专业人才的职业院校的要求不断地加强,以求更好的培养具有时代特征的专业性人才,但现阶段职业院校在进行电子商务专业的教学实践活动的开展过程中存在着许多亟需解决的教学方面的问题,需要院校和教师共同努力,并在教学实践中不断地加以调整与完善。所以本文根据职业院校中电子商务专业在教学实践活动中存
【摘要】 校企合作在网络工程专业人才培养过程中具有重要的意义和作用。在分析高校网络工程专业校企合作人才培养现状的基础上,以校企深度融合的创新创业能力培养为目标,从人才培养模式创新、双师型教学团队建设、课程体系优化、实践条件共建等方面进行探索与改革,以期为网络工程专业的创新创业人才培养提供参考。  【关键词】 网络工程 校企融合 人才培养 创新创业  2017年12月,国务院办公厅印发了《
近年来,随着科学技术的不断发展,各种先进技术及高新设备不断涌出,使得人们的生活及生产方式发生了极大的改变。其中,就以5G技术与大数据技术表现得最为明显和突出。通过对"5G+大数据"技术的合理应用,能够进一步提高城市管理质量,提升城市管理水平,从而推动城市的现代化、智慧化发展。鉴于此,本文将对基于5G+大数据的智慧城市管理应用作以分析和探究,以供同行业人士交流和借鉴。