处理器微程序的初始化配置方法及系统的制作方法

文档序号:6621977阅读:289来源:国知局
处理器微程序的初始化配置方法及系统的制作方法
【专利摘要】本发明公开了一种处理器微程序的初始化配置方法,包括:S1、对片上系统进行上电复位;S2、微程序控制模块将微程序ROM中的微程序内容搬移到微程序RAM中,保持处理器的复位状态;S3、在所述微程序内容搬移完成后,启动处理器的正常功能。本发明通过将微程序存储在芯片内部的ROM中,并通过微程序控制模块将微程序ROM中的微程序内容搬移到微程序RAM中,在所述微程序内容搬移完成后,启动处理器的正常功能,微程序放在微程序RAM中,运行的频率高于片外的ROM,而且不需要额外使用片外ROM存储设备,节约了外围电路的设计成本。本发明还公开了一种处理器微程序的初始化配置系统。
【专利说明】[0001] 处理器微程序的初始化配置方法及系统

【技术领域】
[0002] 本发明涉及芯片设计【技术领域】,尤其涉及一种处理器微程序的初始化配置方法及 系统。
[0003] _

【背景技术】
[0004] CISC (复杂指令集计算机)系统,例如x86系统中,处理器内部将较复杂的机器指 令译码,分成多个微指令按次序执行。一条机器指令对应一个微程序,这个微程序是由若干 条微指令构成的。所有的微程序以一定格式存放在处理器内部的ROM (只读存储器)中,这 样的ROM被称为微程序ROM。处理器执行一条宏指令时,根据译码出来的指令,找到微程序 ROM的入口地址,并从微程序ROM中读取内容,送指令执行模块执行。
[0005] 在ASIC芯片设计中,一旦芯片生产完成,片内ROM就无法修改。芯片生产完成后, 片内ROM的设计错误,往往是致命的,有可能直接导致芯片的流片失败。
[0006] 为了在芯片设计中确保微程序ROM数据的正确性,提高流片的成功率,较优的做 法是实现微程序ROM在流片之后的可修改性。目前这方面的做法一般有两种:片外ROM存 放微指令数据;片内预留未用的ROM单元,采用电熔丝的方法进行一次性编程。
[0007] 使用片外ROM存放处理器微程序内容,可使微程序内容与芯片分开设计,有利于 微程序的随时修改和更新。但随之带来的弊端是,处理器芯片需要搭配相应的片外ROM存 储设备才能正常使用。此法带来成本增加的同时,还使通用扩展性大大降低。此外,片外 ROM的访问速度慢,也会制约处理器和整个片上系统的速度。
[0008]


【发明内容】

[0009] 有鉴于此,有必要提供一种不需要额外的片外R0M,并具有较高的微程序访问速度 的处理器微程序的初始化配置方法及系统。
[0010] 一种处理器微程序的初始化配置方法,其特征在于,其包括如下步骤: 51、 对片上系统进行上电复位; 52、 微程序控制模块将微程序ROM中的微程序内容搬移到微程序RAM中,保持处理器的 复位状态; 53、 在所述微程序内容搬移完成后,启动处理器的正常功能。
[0011] 一种处理器微程序的初始化配置系统,其特征在于,其包括如下模块: 复位模块,用于对片上系统进行上电复位; 程序搬运模块,用于通过微程序控制模块将微程序ROM中的微程序内容搬移到微程序 RAM中,保持处理器的复位状态; 处理器启动模块,用于在所述微程序内容搬移完成后,启动处理器的正常功能。
[0012] 本发明提供的处理器微程序的初始化配置方法及系统,通过将微程序存储在芯片 内部的ROM中,并通过微程序控制模块将微程序ROM中的微程序内容搬移到微程序RAM中, 在所述微程序内容搬移完成后,启动处理器的正常功能,微程序放在微程序RAM中,运行的 频率高于片外的R0M,而且不需要额外使用片外ROM存储设备,节约外围电路的设计成本。
[0013]

【专利附图】

【附图说明】
[0014] 图1是本发明实施例的芯片结构示意图; 图2是本发明一较佳实施例的处理器微程序的初始化配置方法流程图; 图3是图2中步骤S2的子流程图; 图4是本发明另一较佳实施例的处理器微程序的初始化配置方法流程图; 图5是本发明一较佳实施例的处理器微程序的初始化配置系统的结构框图; 图6是图5中修改模块的子结构框图; 图7是本发明另一较佳实施例的处理器微程序的初始化配置系统的结构框图。
[0015]

【具体实施方式】
[0016] 图1是本发明实施例的芯片结构示意图,包括处理器1,微程序控制模块2,微程序 RAM3,微程序 R0M4。
[0017] 所述处理器1,具备一般处理器的所有功能,在指令执行时,可以将一条指令分解 成若干条微指令,并从微程序RAM3中读取内容执行。特别地,处理器1还能向微程序控制 模块2发送改写微程序RAM3中微程序的特殊指令序列。
[0018] 所述微程序控制模块2,用于接收处理器1的特殊指令,改写微程序RAM3中相应内 容。另一方面,微程序控制模块2接收全局复位信号,完成微程序数据从微程序R0M4到微 程序RAM3的搬移。完成微程序的搬移后,向处理器1复位,启动处理器1。
[0019] 所述微程序RAM3,位于芯片内部,用于存放处理器1正常运行时的微程序,内容可 修改。处理器1读取微程序RAM3中的微程序内容进行微指令操作;微程序控制模块2可以 通过处理器1发出的特殊指令对微程序RAM3内容进行改写。
[0020] 所述微程序R0M4,位于芯片内部,存放固化的微程序代码,内容不能修改。可以实 现处理器1的正常运行。
[0021] 如图2所示,一种处理器微程序的初始化配置方法,其包括如下步骤: S1、对片上系统进行上电复位。
[0022] 片上系统(SoC :System-〇n-a-chip)指的是在芯片上集成一个完整的系统,对所 有或部分必要的电子电路进行包分组的技术。所谓完整的系统一般包括中央处理器1、存储 器、以及外围电路等。
[0023] S2、微程序控制模块2将微程序R0M4中的微程序内容搬移到微程序RAM3中,保持 处理器1的复位状态。
[0024] 微程序是实现程序的一种手段,具体就是将一条机器指令编写成一段微程序。每 一个微程序包含若干条微指令,每一条微指令对应一条或多条微操作。在有微程序的系统 中,处理器1内部有一个控制存储器,用于存放各种机器指令对应的微程序段。当处理器 1执行机器指令时,会在控制存储器里寻找与该机器指令对应的微程序,取出相应的微指令 来控制执行各个微操作,从而完成该程序语句的功能。
[0025] ROM是只读内存(Read-Only Memory)的简称,是一种只能读出事先所存数据的固 态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变 更资料的电子或电脑系统中,并且资料不会因为电源关闭而消失。
[0026] 随机存取存储器(random access memory,RAM)又称作"随机存储器",是与处理器 1直接交换数据的内部存储器。它可以随时读写,而且速度很快,通常作为操作系统或其他 正在运行中的程序的临时数据存储媒介。存储单元的内容可按需随意取出或存入,且存取 的速度与存储单元的位置无关的存储器。
[0027] 保持处理器1的复位状态,是为了使得处理器1不工作。
[0028] S3、在所述微程序内容搬移完成后,启动处理器1的正常功能。
[0029] 本发明实施例中,在将微程序从片内的微程序R0M4搬移到微程序RAM3的搬移过 程中,处理器1 一直处于复位状态,而不会启动。搬移完成后,微程序控制模块2再向处理器 1发出复位控制信号,此时处理器1使用微程序RAM3中数据执行微程序。如果微程序R0M4 中的微程序的内容正确,处理器1就可以正常工作。
[0030] 本发明实施例提供的处理器微程序的初始化配置方法中,通过将微程序存储在芯 片内部的微程序R0M4中,并通过微程序控制模块2将微程序R0M4中的微程序内容搬移到 微程序RAM3中。在所述微程序内容搬移完成后,启动处理器1的正常功能,微程序放在微 程序RAM3中,运行的频率高于片外的ROM。而且不需要额外使用片外ROM存储设备,节约了 芯片的设计资源,降低了成本。
[0031] 如图2所示,本发明实施例的处理器微程序的初始化配置方法还可以包括以下步 骤: S4、对微程序RAM3中的微程序内容进行修改。
[0032] 现在的通过片内预留未用的ROM单元的处理器微程序的初始化配置方法,若要修 改微程序内容,使用电熔丝编程(efuse)的方法可以一次性编程这些预留ROM的值。但以上 方法存在以下弊端:预留efuse的ROM单元不能太大;efuse ROM只能写一次。此法用来修 改微程序,灵活性不大。实施本实施例,可以达到用户随时修改和升级微程序内容的目的。
[0033] 可选地,如图3所示,所述步骤S4包括如下子步骤: S21、处理器1向微程序控制模块2发送一组使能微程序RAM3写操作的宏指令组UPG_ WREN。
[0034] 默认的,通过微程序控制模块2的微程序RAM3的写操作是被禁止的,必须先执行 UPG_WREN,微程序RAM3中的数据才可以被改写。
[0035] S22、处理器1向微程序控制模块2发送含有地址信息的宏指令组UPG_WRA,输入需 要修改的微程序RAM3的地址。
[0036] S23、处理器1向微程序控制模块2发送宏指令组UPG_WRD,输入需要写入该地址的 数据。
[0037] 通过步骤S22和步骤S23,就完成了微程序RAM3的一个地址的数据写操作,该次写 操作的地址和数据信息分别在UPG_WRA和UPG_WRD中由处理器1发送,并被微程序控制模 块2获取。
[0038] S24、重复执行所述步骤S22、S23直至完成所有的微程序内容修改。
[0039] 如果要修改位于其它地址的微程序数据,只需要重复发送相应的带地址和数据参 数的宏指令UPG_WRA和UPG_WRD即可。
[0040] S25、处理器1向微程序控制模块2发送取消写微程序RAM3的功能的宏指令组 UPG_WRDIS〇
[0041] 可选地,所述宏指令UPG_WREN、宏指令组UPG_WRA、宏指令组UPG_WRD、宏指令组 UPG_WRDIS分别由一条或多条处理器保留指令构成。
[0042] 因为这些保留指令是正常程序不会使用到的,从而可以确保处理器1正常操作时 不会误操作微程序RAM3中的数据。
[0043] 可选地,如图4所示,本发明实施例的处理器微程序的初始化配置方法还可以包 括如下步骤: S0、在所述步骤1之前,在微程序R0M4中加入一定量的错误微程序,所述错误微程序在 不影响处理器1对微程序控制模块2的操作同时,使得处理器1无法进行其他操作。
[0044] 芯片在生产时,可以人为地在固化的在微程序R0M4的关键位置加入一些错误,这 些错误不能影响处理器1对微程序控制模块2的操作,但要保证足以使处理器1不能正常 工作。如果不进行微指令修改操作,处理器1和整个片上系统处于死机状态。复位时,处理 器1和微程序控制模块2按图2所示的所述微程序的初始化配置流程对微程序RAM3进行 初始化。
[0045] S5、在所述步骤S2之后和S3之前,运行基本输入输出系统BIOS,并反馈运行结果, 根据反馈的运行结果判断BIOS是否为经过可信认证的BIOS。
[0046] S6、如果BIOS不是经过可信认证的BIOS,则BIOS开始位置不存在修改错误微程序 数据的程序,处理器1无法正常运行并结束整个初始化配置流程;如果BIOS为经过可信认 证的BIOS,根据BIOS开始位置的修改微程序数据的程序来纠正错误微程序,并跳转到步骤 S3〇
[0047] 由于微程序R0M4中有一些错误,处理器1运行普通BIOS或未经认证的BIOS时, 会出现未知的异常和错误。经过可信认证的BIOS,其最开始会有纠正微程序错误的特殊指 令操作,按照实施例中S7的步骤,将错误位置的微程序全部修改回来。
[0048] 只有经过纠正的微程序数据才能使处理器1正常启动。实施本实施例,可以利用 纠错微程序的方法,防止BIOS被人为篡改。
[0049] 如图5所示,本发明实施例还提供一种处理器微程序的初始化配置系统,其包括 如下模块: 复位模块10,用于对片上系统进行上电复位。
[0050] 程序搬运模块20,用于通过微程序控制模块2将微程序R0M4中的微程序内容搬移 到微程序RAM3中,保持处理器1的复位状态,使处理器1不工作。
[0051] 处理器启动模块30,用于在所述微程序内容搬移完成后,启动处理器1的正常功 能。
[0052] 可选地,如图5所示,本发明实施例的处理器微程序的初始化配置系统还可以包 括以下模块: 修改模块40,用于对微程序RAM3中的微程序内容进行修改。
[0053] 可选地,如图6所示,所述修改模块40包括如下单元: 使能单元41,用于通过处理器1向微程序控制模块2发送一组使能微程序RAM3写操作 的宏指令组UPG_WREN。
[0054] 地址修改单元42,用于通过处理器1向微程序控制模块2发送含有地址信息的宏 指令组UPG_WRA,输入需要修改的微程序RAM3的地址。
[0055] 数据写入单元43,用于通过处理器1向微程序控制模块2发送宏指令组UPG_WRD, 输入需要写入该地址的数据。
[0056] 迭代单元44,用于重复启动地址修改单元42、数据写入单元43的功能直至完成所 有的微程序内容修改。
[0057] 使能关闭单元45,用于通过处理器1向微程序控制模块2发送取消写微程序RAM3 的功能的宏指令组UPG_WRDIS。
[0058] 可选地,所述宏指令UPG_WREN、宏指令组UPG_WRA、宏指令组UPG_WRD、宏指令组 UPG_WRDIS分别由一条或多条处理器保留指令构成。
[0059] 可选地,如图7所示,本发明实施例的处理器微程序的初始化配置系统还可以包 括以下模块: 错误配置模块〇〇,用于在启动复位模块10之前,在微程序R0M4中加入一定量的错误 微程序,所述错误微程序在不影响处理器1对微程序控制模块2的操作同时,使得处理器1 无法进行其他操作。
[0060] BIOS判断模块50,用在启动程序搬运模块20功能之后,启动处理器1启动模块30 功能之前,运行基本输入输出系统BIOS,并反馈运行结果,根据反馈的运行结果判断BIOS 是否为经过可信认证的BIOS。
[0061] 错误修正模块60,用于在BIOS不是经过可信认证的BIOS时,BIOS开始位置不存 在修改错误微程序数据的程序,处理器1无法正常运行,用于结束初始化配置;并用于在 BIOS为经过可信认证的BIOS时,根据BIOS开始位置的修改微程序数据的程序来纠正错误 微程序,并启动处理器启动模块30的功能。
[0062] 以上装置实施例与方法实施例是一一对应的,装置实施例简略之处,参见方法实 施例即可。
[0063] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0064] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元 及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和 软件的可互换性,在上述说明中已经按照功能性一般性地描述了各示例的组成及步骤。这 些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专 业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不 应超过本发明的范围。
[0065] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执 行的软件模块,或者二者的结合来实施。软件模块可以置于随机储存器、内存、只读存储器、 电可编程ROM、电可檫除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】内所公 知的任意其他形式的存储介质中。
[0066] 上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体 实施方式,上述的【具体实施方式】仅仅是示意性的,而不是限制性的,本领域的普通技术人员 在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多 形式,这些均属于本发明的保护之内。
【权利要求】
1. 一种处理器微程序的初始化配置方法,其特征在于,其包括如下步骤: 51、 对片上系统进行上电复位; 52、 微程序控制模块将微程序ROM中的微程序内容搬移到微程序RAM中,保持处理器的 复位状态; 53、 在所述微程序内容搬移完成后,启动处理器的正常功能。
2. 根据权利要求1所述的处理器微程序的初始化配置方法,其特征在于,处理器微程 序的初始化配置方法还包括以下步骤: 54、 对微程序RAM中的微程序内容进行修改。
3. 根据权利要求2所述的处理器微程序的初始化配置方法,其特征在于,所述步骤S4 包括如下子步骤: 521、 处理器向微程序控制模块发送一组使能微程序RAM写操作的宏指令组UPG_WREN ; 522、 处理器向微程序控制模块发送含有地址信息的宏指令组UPG_WRA,输入需要修改 的微程序RAM的地址; 523、 处理器向微程序控制模块发送宏指令组UPG_WRD,输入需要写入该地址的数据; 524、 重复执行所述步骤S22、S23直至完成所有的微程序内容修改; 525、 处理器向微程序控制模块发送取消写微程序RAM的功能的宏指令组UPG_WRDIS。
4. 根据权利要求3所述的处理器微程序的初始化配置方法,其特征在于, 所述宏指令UPG_WREN、宏指令组UPG_WRA、宏指令组UPG_WRD、宏指令组UPG_WRDI S分别 由一条或多条处理器保留指令构成。
5. 根据权利要求4所述的处理器微程序的初始化配置方法,其特征在于,其还包括如 下步骤: SO、在所述步骤1之前,在微程序ROM中加入一定量的错误微程序,所述错误微程序在 不影响处理器对微程序控制模块的操作同时,使得处理器无法进行其他操作; 55、 在所述步骤S2之后和S3之前,运行基本输入输出系统BIOS,并反馈运行结果,根据 反馈的运行结果判断BIOS是否为经过可信认证的BIOS ; 56、 如果BIOS不是经过可信认证的BIOS,则BIOS开始位置不存在修改错误微程序数 据的程序,处理器无法正常运行并结束整个初始化配置流程;如果BIOS为经过可信认证的 BIOS,根据BIOS开始位置的修改微程序数据的程序来纠正错误微程序,并跳转到步骤S3。
6. -种处理器微程序的初始化配置系统,其特征在于,其包括如下模块: 复位模块,用于对片上系统进行上电复位; 程序搬运模块,用于通过微程序控制模块将微程序ROM中的微程序内容搬移到微程序 RAM中,保持处理器的复位状态; 处理器启动模块,用于在所述微程序内容搬移完成后,启动处理器的正常功能。
7. 根据权利要求6所述的处理器微程序的初始化配置系统,其特征在于,处理器微程 序的初始化配置系统还包括以下模块: 修改模块,用于对微程序RAM中的微程序内容进行修改。
8. 根据权利要求7所述的处理器微程序的初始化配置系统,其特征在于,所述修改模 块包括如下单元: 使能单元,用于通过处理器向微程序控制模块发送一组使能微程序RAM写操作的宏指 令组 UPG_WREN ; 地址修改单元,用于处理器向微程序控制模块发送含有地址信息的宏指令组UPG_WRA, 输入需要修改的微程序RAM的地址; 数据写入单元,用于通过处理器向微程序控制模块发送宏指令组UPG_WRD,输入需要写 入该地址的数据; 迭代单元,用于重复启动地址修改单元、数据写入单元的功能直至完成所有的微程序 内容修改; 使能关闭单元,用于通过处理器向微程序控制模块发送取消写微程序RAM的功能的宏 指令组 UPG_WRDIS。
9. 根据权利要求3所述的处理器微程序的初始化配置系统,其特征在于, 所述宏指令UPG_WREN、宏指令组UPG_WRA、宏指令组UPG_WRD、宏指令组UPG_WRDI S分别 由一条或多条处理器保留指令构成。
10. 根据权利要求9所述的处理器微程序的初始化配置系统,其特征在于,其还包括如 下模块: 错误配置模块,用于在启动复位模块之前,在微程序ROM中加入一定量的错误微程序, 所述错误微程序在不影响处理器对微程序控制模块的操作同时,使得处理器无法进行其他 操作; BIOS判断模块,用在启动程序搬运模块功能之后,启动处理器启动模块功能之前,运行 基本输入输出系统BIOS,并反馈运行结果,根据反馈的运行结果判断BIOS是否为经过可信 认证的BIOS ; 错误修正模块,用于在BIOS不是经过可信认证的BIOS时,BIOS开始位置不存在修改 错误微程序数据的程序,处理器无法正常运行,用于结束初始化配置;并用于在BIOS为经 过可信认证的BIOS时,根据BIOS开始位置的修改微程序数据的程序来纠正错误微程序,并 启动处理器启动模块的功能。
【文档编号】G06F11/07GK104156241SQ201410370611
【公开日】2014年11月19日 申请日期:2014年7月31日 优先权日:2014年7月31日
【发明者】张义伟, 阮航, 朱钟琦 申请人:中国船舶重工集团公司第七0九研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1