CN110716754A - 一种高效的处理器数据加载装置及方法 - Google Patents
一种高效的处理器数据加载装置及方法 Download PDFInfo
- Publication number
- CN110716754A CN110716754A CN201910857060.8A CN201910857060A CN110716754A CN 110716754 A CN110716754 A CN 110716754A CN 201910857060 A CN201910857060 A CN 201910857060A CN 110716754 A CN110716754 A CN 110716754A
- Authority
- CN
- China
- Prior art keywords
- req
- state
- write
- jumping
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 title claims abstract description 13
- 230000004044 response Effects 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000004806 packaging method and process Methods 0.000 claims abstract description 9
- 230000009191 jumping Effects 0.000 claims description 49
- 230000000977 initiatory effect Effects 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000012856 packing Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明涉及计算机体系结构与处理器微结构技术领域,具体为一种高效的处理器数据加载装置及方法。一种高效的处理器数据加载装置,包括组包模块,用于接收扫入数据并将扫入数据组成IO写请求包;请求发送模块,用于将IO写请求包中的IO写访问信息依次转成IO写操作以发送至处理器内部IO寄存器进行写操作;响应处理模块,用于接收处理器内部IO寄存器返回的写响应信号并进行处理。一种高效的处理器数据加载方法,包括1)通过组包模块串行接收扫入数据,并将扫入数据组成由8个IO写访问信息串行拼接而成的IO写请求包。本申请通过组包模块和请求发送模块能够将所需加载数据进行批量长包扫描转IO写操作,使数据加载效率得到有效提高。
Description
技术领域
本发明涉及计算机体系结构与处理器微结构技术领域,具体为一种高效的处理器数据加载装置及方法。
背景技术
处理器芯片中有大量的内部寄存器需要通过维护IO通路去进行读操作或者写操作。读操作主要用于监测内部IO寄存器的状态,写操作用于对内部IO寄存器进行配置,以及对处理器进行控制和管理。
处理器芯片在测试和初始化过程中,有大量数据需要进行加载,常规通过维护IO通路加载数据的方法要分批多次进行,效率较低。
发明内容
本发明针对现有技术存在的问题,提出了一种高效的处理器数据加载装置及方法,能够批量长包扫描转IO写操作,使数据加载效率得到有效提高。
本发明解决其技术问题所采用的技术方案是:一种高效的处理器数据加载装置,包括
组包模块,用于接收扫入数据并将扫入数据组成IO写请求包;
请求发送模块,用于将IO写请求包中的IO写访问信息依次转成IO写操作以发送至处理器内部IO寄存器进行写操作;
响应处理模块,用于接收处理器内部IO寄存器返回的写响应信号并进行处理。
作为优选,所述组包模块串行接收扫入数据。
作为优选,所述IO写请求包包括8个串行的IO写访问信息。
作为优选,所述8个串行的IO写访问信息保存在一个128B的IO写请求包中。
作为优选,每128bit形成一个所述IO写访问信息。
作为优选,所述IO写访问信息包括有效信号、IO访问地址和写入数据。
作为优选,所述请求发送模块包括
发送状态机,设有ST_REQ_IDLE空闲态、ST0_REQ状态、ST0_REQ_WAIT状态、ST1_REQ状态、ST1_REQ_WAIT状态、ST2_REQ状态、ST2_REQ_WAIT状态、ST3_REQ状态、ST3_REQ_WAIT状态、ST4_REQ状态、ST4_REQ_WAIT状态、ST5_REQ状态、ST5_REQ_WAIT状态、ST6_REQ状态、ST6_REQ_WAIT状态、ST7_REQ状态、ST7_REQ_WAIT状态。
作为优选,所述响应处理模块包括
寄存器,用于存储写响应信号。
一种高效的处理器数据加载方法,包括
1)通过组包模块串行接收扫入数据,并将扫入数据组成由8个IO写访问信息串行拼接而成的IO写请求包;
2)通过请求发送模块将IO写请求包中的IO写访问信息依次转成IO写操作以发送至处理器内部IO寄存器进行写操作;
3)通过响应处理模块接收处理器内部IO寄存器返回的写响应信号并进行处理。
作为优选,2)具体包括以下步骤,
21)发送状态机始状态为ST_REQ_IDLE空闲态,当批量扫描信号有效时,跳转至ST0_REQ状态,否则保持ST_REQ_IDLE状态;
22)当第0个写请求无效时,跳转至ST1_REQ状态,否则跳转至ST0_REQ_WAIT状态,并发起第0次IO写操作;
23)当第1个写请求无效时,跳转至ST2_REQ状态,否则跳转至ST1_REQ_WAIT状态,并发起第1次IO写操作;
24)当第2个写请求无效时,跳转至ST3_REQ状态,否则跳转至ST2_REQ_WAIT状态,并发起第2次IO写操作;
25)当第3个写请求无效时,跳转至ST4_REQ状态,否则跳转至ST3_REQ_WAIT状态,并发起第3次IO写操作;
26)当第4个写请求无效时,跳转至ST5_REQ状态,否则跳转至ST4_REQ_WAIT状态,并发起第4次IO写操作;
27)当第5个写请求无效时,跳转至ST6_REQ状态,否则跳转至ST5_REQ_WAIT状态,并发起第5次IO写操作;
28)当第6个写请求无效时,跳转至ST7_REQ状态,否则跳转至ST6_REQ_WAIT状态,并发起第6次IO写操作;
29)当第7个写请求无效时,跳转至ST_REQ_IDLE空闲态,否则跳转至ST7_REQ_WAIT状态,并发起第7次IO写操作。
本发明的有益效果是,本申请通过组包模块和请求发送模块能够将所需加载数据进行批量长包扫描转IO写操作,使数据加载效率得到有效提高,处理器芯片在测试和初始化过程中,采用本发明数据加载装置及方法,数据加载效率提升8倍。
附图说明
图1为本申请装置批量扫描转IO写操作的结构示意图;
图2为本申请发送状态机状态转换的示意图;
图3为本申请IO写请求包的示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
如图1所示,一种高效的处理器数据加载装置,包括
组包模块,用于接收扫入数据并将扫入数据组成IO写请求包。
请求发送模块,用于将IO写请求包中的IO写访问信息依次转成IO写操作以发送至处理器内部IO寄存器进行写操作。组包模块串行接收扫入数据,IO写请求包包括8个串行的IO写访问信息,8个串行的IO写访问信息保存在一个128B的IO写请求包中,每128bit形成一个所述IO写访问信息。
IO写请求包如图3所示,其中IO写访问信息包括有效信号、IO访问地址和写入数据。有效信号包括本次访问是否有效及校验位,其中125是写入数据[31:0]的偶校验位,126是写入数据[63:32]的偶校验位,127是IO写访问信息[112:64](有效位和IO访问地址)的偶校验位。
如图2所示,请求发送模块包括发送状态机,发送状态机设有ST_REQ_IDLE空闲态、ST0_REQ状态、ST0_REQ_WAIT状态、ST1_REQ状态、ST1_REQ_WAIT状态、ST2_REQ状态、ST2_REQ_WAIT状态、ST3_REQ状态、ST3_REQ_WAIT状态、ST4_REQ状态、ST4_REQ_WAIT状态、ST5_REQ状态、ST5_REQ_WAIT状态、ST6_REQ状态、ST6_REQ_WAIT状态、ST7_REQ状态、ST7_REQ_WAIT状态。
组包模块串行接收扫入数据,将扫入数据组成8个串行IO写访问信息拼接的IO写请求包。
请求发送模块从拼好的包中选择正确的数据发出,包括扫描转批量的IO访问地址(io_req_addr)、有效信号(io_req_valid)和写入数据(io_req_wdata)。请求发送状态机状态转换详见图2,发送状态机初始状态为空闲态ST_REQ_IDLE,当批量扫描信号(第0个IO写访问信息)有效时,跳转至ST0_REQ状态,否则保持ST_REQ_IDLE状态。在ST0_REQ状态,如果第0个请求无效,则跳转至ST1_REQ状态,否则跳转至ST0_REQ_WAIT状态,ST0_REQ状态与ST0_REQ_WAIT状态的主要区别是:ST0_REQ状态置有效信号为第0个输入请求的有效信号,ST0_REQ_WAIT状态置有效信号为0,这样保持输出的有效信号为一拍有效。ST1_REQ状态~ST7_REQ状态的处理与ST0_REQ状态类似,ST7_REQ状态要跳转回ST_REQ_IDLE状态。在各状态,均输出对应的IO写访问信息到目标部件(对应的处理器内部IO寄存器)。
响应处理模块,用于接收处理器内部IO寄存器返回的写响应信号并进行处理。响应处理模块包括寄存器,用于存储写响应信号。
在本申请装置内部设置8对寄存器,用来存储8个写请求的写响应。批量扫描信号有效时,8对寄存器清零,并根据返回的响应顺序存储写响应信号。
一种高效的处理器数据加载方法,包括
1)通过组包模块串行接收扫入数据,并将扫入数据组成由8个IO写访问信息串行拼接而成的IO写请求包。
2)通过请求发送模块将IO写请求包中的IO写访问信息依次转成IO写操作以发送至处理器内部IO寄存器进行写操作。具体包括以下步骤,21)发送状态机始状态为ST_REQ_IDLE空闲态,当批量扫描信号有效时,跳转至ST0_REQ状态,否则保持ST_REQ_IDLE状态;22)当第0个写请求无效时,跳转至ST1_REQ状态,否则跳转至ST0_REQ_WAIT状态,并发起第0次IO写操作;23)当第1个写请求无效时,跳转至ST2_REQ状态,否则跳转至ST1_REQ_WAIT状态,并发起第1次IO写操作;24)当第2个写请求无效时,跳转至ST3_REQ状态,否则跳转至ST2_REQ_WAIT状态,并发起第2次IO写操作;25)当第3个写请求无效时,跳转至ST4_REQ状态,否则跳转至ST3_REQ_WAIT状态,并发起第3次IO写操作;26)当第4个写请求无效时,跳转至ST5_REQ状态,否则跳转至ST4_REQ_WAIT状态,并发起第4次IO写操作;27)当第5个写请求无效时,跳转至ST6_REQ状态,否则跳转至ST5_REQ_WAIT状态,并发起第5次IO写操作;28)当第6个写请求无效时,跳转至ST7_REQ状态,否则跳转至ST6_REQ_WAIT状态,并发起第6次IO写操作;29)当第7个写请求无效时,跳转至ST_REQ_IDLE空闲态,否则跳转至ST7_REQ_WAIT状态,并发起第7次IO写操作。
3)通过响应处理模块接收处理器内部IO寄存器返回的写响应信号并进行处理。
首先,将每8个IO写访问信息保存在一个128B的数据包(IO写请求包)中,每128bit表示一次IO写访问(即表示一个IO写访问信息),一个IO写访问信息包括写入数据、IO访问地址、本次访问是否有效和校验位。IO访问数据包(IO写请求包)格式如图3所示。
接着,维护IO接口通过本申请装置进行批量扫入,扫入的128B数据在本装置收齐后,将依次转成8次IO写操作,发起对处理器芯片内部IO寄存器的写配置动作。
最后,写响应信号将返回本装置,存储在本装置内部的8对寄存器中,通过维护IO通路访问本装置内部寄存器可以判断写入完成情况。
本申请通过组包模块和请求发送模块能够将所需加载数据进行批量长包扫描转IO写操作,使数据加载效率得到有效提高。处理器芯片在测试和初始化过程中,采用本发明数据加载装置及方法,数据加载效率提升8倍。
上面所述的实施例仅是对本发明的优选实施方式进行描述,并非对本发明的构思和范围进行限定。在不脱离本发明设计构思的前提下,本领域普通人员对本发明的技术方案做出的各种变型和改进,均应落入到本发明的保护范围,本发明请求保护的技术内容,已经全部记载在权利要求书中。
Claims (10)
1.一种高效的处理器数据加载装置,其特征在于:包括
组包模块,用于接收扫入数据并将扫入数据组成IO写请求包;
请求发送模块,用于将IO写请求包中的IO写访问信息依次转成IO写操作以发送至处理器内部IO寄存器进行写操作;
响应处理模块,用于接收处理器内部IO寄存器返回的写响应信号并进行处理。
2.根据权利要求1所述的一种高效的处理器数据加载装置,其特征在于:所述组包模块串行接收扫入数据。
3.根据权利要求2所述的一种高效的处理器数据加载装置,其特征在于:所述IO写请求包包括8个串行的IO写访问信息。
4.根据权利要求3所述的一种高效的处理器数据加载装置,其特征在于:所述8个串行的IO写访问信息保存在一个128B的IO写请求包中。
5.根据权利要求3所述的一种高效的处理器数据加载装置,其特征在于:每128bit形成一个所述IO写访问信息。
6.根据权利要求1所述的一种高效的处理器数据加载装置,其特征在于:所述IO写访问信息包括有效信号、IO访问地址和写入数据。
7.根据权利要求1所述的一种高效的处理器数据加载装置,其特征在于:所述请求发送模块包括
发送状态机,设有ST_REQ_IDLE空闲态、ST0_REQ状态、ST0_REQ_WAIT状态、ST1_REQ状态、ST1_REQ_WAIT状态、ST2_REQ状态、ST2_REQ_WAIT状态、ST3_REQ状态、ST3_REQ_WAIT状态、ST4_REQ状态、ST4_REQ_WAIT状态、ST5_REQ状态、ST5_REQ_WAIT状态、ST6_REQ状态、ST6_REQ_WAIT状态、ST7_REQ状态、ST7_REQ_WAIT状态。
8.根据权利要求1所述的一种高效的处理器数据加载装置,其特征在于:所述响应处理模块包括
寄存器,用于存储写响应信号。
9.一种高效的处理器数据加载方法,其特征在于:包括
1)通过组包模块串行接收扫入数据,并将扫入数据组成由8个IO写访问信息串行拼接而成的IO写请求包;
2)通过请求发送模块将IO写请求包中的IO写访问信息依次转成IO写操作以发送至处理器内部IO寄存器进行写操作;
3)通过响应处理模块接收处理器内部IO寄存器返回的写响应信号并进行处理。
10.根据权利要求9所述的一种高效的处理器数据加载方法,其特征在于:2)具体包括以下步骤,
21)发送状态机始状态为ST_REQ_IDLE空闲态,当批量扫描信号有效时,跳转至ST0_REQ状态,否则保持ST_REQ_IDLE状态;
22)当第0个写请求无效时,跳转至ST1_REQ状态,否则跳转至ST0_REQ_WAIT状态,并发起第0次IO写操作;
23)当第1个写请求无效时,跳转至ST2_REQ状态,否则跳转至ST1_REQ_WAIT状态,并发起第1次IO写操作;
24)当第2个写请求无效时,跳转至ST3_REQ状态,否则跳转至ST2_REQ_WAIT状态,并发起第2次IO写操作;
25)当第3个写请求无效时,跳转至ST4_REQ状态,否则跳转至ST3_REQ_WAIT状态,并发起第3次IO写操作;
26)当第4个写请求无效时,跳转至ST5_REQ状态,否则跳转至ST4_REQ_WAIT状态,并发起第4次IO写操作;
27)当第5个写请求无效时,跳转至ST6_REQ状态,否则跳转至ST5_REQ_WAIT状态,并发起第5次IO写操作;
28)当第6个写请求无效时,跳转至ST7_REQ状态,否则跳转至ST6_REQ_WAIT状态,并发起第6次IO写操作;
29)当第7个写请求无效时,跳转至ST_REQ_IDLE空闲态,否则跳转至ST7_REQ_WAIT状态,并发起第7次IO写操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910857060.8A CN110716754A (zh) | 2019-09-11 | 2019-09-11 | 一种高效的处理器数据加载装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910857060.8A CN110716754A (zh) | 2019-09-11 | 2019-09-11 | 一种高效的处理器数据加载装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110716754A true CN110716754A (zh) | 2020-01-21 |
Family
ID=69209845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910857060.8A Pending CN110716754A (zh) | 2019-09-11 | 2019-09-11 | 一种高效的处理器数据加载装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110716754A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858854A (zh) * | 2005-12-28 | 2006-11-08 | 华为技术有限公司 | 一种寄存器访问装置及方法 |
CN101582058A (zh) * | 2009-06-10 | 2009-11-18 | 华为技术有限公司 | 一种访问寄存器的方法和装置 |
-
2019
- 2019-09-11 CN CN201910857060.8A patent/CN110716754A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858854A (zh) * | 2005-12-28 | 2006-11-08 | 华为技术有限公司 | 一种寄存器访问装置及方法 |
CN101582058A (zh) * | 2009-06-10 | 2009-11-18 | 华为技术有限公司 | 一种访问寄存器的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7827323B2 (en) | System and method for peripheral device communications | |
KR20110010707A (ko) | 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법 | |
US8335867B1 (en) | Method and apparatus for reducing host processor activity during interaction with peripheral devices | |
KR100919159B1 (ko) | 멀티미디어 카드 인터페이스 방법, 컴퓨터 프로그램 생성물및 장치 | |
US20070079015A1 (en) | Methods and arrangements to interface a data storage device | |
CN116414767B (zh) | 一种对基于axi协议乱序响应的重排序方法及系统 | |
CN116627869B (zh) | 应用于电子设备的数据传输方法及装置 | |
JP2008521080A5 (zh) | ||
US20080162974A1 (en) | Universal serial bus host controller | |
US7774513B2 (en) | DMA circuit and computer system | |
CN110716754A (zh) | 一种高效的处理器数据加载装置及方法 | |
CN116028404A (zh) | 一种dma配置方法和配置电路 | |
TW202306365A (zh) | 用於互連協定的訊框接收的資料處理的方法以及儲存裝置 | |
US8166228B2 (en) | Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods | |
CN107807888B (zh) | 一种用于soc架构的数据预取系统及其方法 | |
CN114385544A (zh) | Uart芯片及fpga芯片 | |
KR100591243B1 (ko) | 온-칩 직렬 주변장치 버스 시스템 및 그 운용방법 | |
CN117573588B (zh) | 并行apb协议转串行scom协议的装置、方法及芯片 | |
US20070073927A1 (en) | Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems | |
US11626149B2 (en) | SPI NOR memory with optimized read and program operation | |
JP2000132507A (ja) | Scsiプロトコルにおけるコマンド処理方法およびそれに用いる装置 | |
CN118210561A (zh) | 一种fpga快速加载方法、装置、设备及介质 | |
CN118656325A (zh) | 一种外接伪静态随机存储器的多功能导入装置及方法 | |
KR101192594B1 (ko) | 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법 | |
CN117762850A (zh) | 一种基于pxi架构的多通道rs422大批量数据传输系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200121 |
|
RJ01 | Rejection of invention patent application after publication |