CN1873604A - 处理器芯片与存储控制系统及方法 - Google Patents
处理器芯片与存储控制系统及方法 Download PDFInfo
- Publication number
- CN1873604A CN1873604A CNA2006100327860A CN200610032786A CN1873604A CN 1873604 A CN1873604 A CN 1873604A CN A2006100327860 A CNA2006100327860 A CN A2006100327860A CN 200610032786 A CN200610032786 A CN 200610032786A CN 1873604 A CN1873604 A CN 1873604A
- Authority
- CN
- China
- Prior art keywords
- bus
- udma
- controller
- control module
- hard disk
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明提供一种处理器芯片,包括至少两个控制器,分别连接在处理器系统总线上,用于接收处理器系统总线信号,控制处理器外部存储器的读写;一总线选择器,分别与所述控制器连接,所述总线选择器包含一接口,所述控制器通过该接口与处理器外部存储器进行数据交换;所述控制器之一为硬盘控制器,用于接收处理器系统总线信号,控制处理器外部硬盘的读写。本发明还提供一种基于该处理器芯片实现的存储控制系统及方法。通过本发明在实现多种数据交换模式复用的基础上减少了封装管脚的数目,从而减少了芯片封装体积。
Description
技术领域
本发明涉及一种数据存储技术,特别涉及一种处理器芯片及存储控制系统及方法。
背景技术
硬盘作为大多数CPU系统必不可少的外围设备,其控制器的设计是CPU系统设计的关键技术。硬盘的接口类型有多种,电子集成驱动器(IntegratedDrive Electronics,简称IDE)接口类型的硬盘,简称其为IDE硬盘,因其生产技术成熟与成本最低,所以应用也最为广泛。但是IDE硬盘的接口集成到CPU芯片中至少需要使用28个左右的芯片控制管脚。而且,在CPU芯片外围设备中与IDE硬盘共存的还有不少其它类型的存储器,如SRAM、Flash、ROM等,它们也使用了大量的芯片控制管脚。因此导致了管脚太多,芯片封装过大,这对于日益微型化的电子手持产品来说是一个较严重的问题。所以,实现IDE硬盘与其它存储器数据线与地址线的复用,是CPU芯片减少管脚、减小封装的一个好办法。
某公司提供的现有技术方案如图1所示:通过系统总线上的一个通用的、可配置的静态RAM(Static RAM,简称SRAM)控制器来统一控制所有的外部存储器。且在该技术方案中,SRAM控制器中设计有时序寄存器,能够通过配置时序寄存器来实现为不同的存储器类型配置正确的访问时序。因此,包括IDE硬盘,Flash存储器,压缩Flash(Compact Flash)存储器和只读内存(Read Only Memory,简称ROM)/SRAM存储器在内的外部存储器,无需分别在芯片中封装控制管脚,而是根据一定的访问时序在分配的数据线和地址线上进行数据交换,实现控制管脚数目的降低。
但上述技术方案中具有以下技术缺陷:
第一、SRAM控制的时序相对简单,为一般的SRAM时序,对于IDE硬盘而言,为了配合SRAM时序,只能应用可编程输入/输出(ProgrammingInput/Output,简称PIO)模式的数据交换方式。
目前硬盘与CPU进行数据交换的方式主要有PIO模式和直接内存访问(Direct Memory Access,简称DMA)模式的增强版本--高级直接内存访问(Ultra Direct Memory Access,简称UDMA)模式。
其中,PIO模式是一种通过CPU执行I/O端口指令来进行数据的读写的数据交换模式,是最早先的硬盘数据传输模式,分为PIO模式0、PIO模式1、PIO模式2、PIO模式3、PIO模式4等5种模式。由于其数据传输速率从3.3兆字节/秒到16.6兆字节/秒不等,数据传输速率相对较低;且其硬盘和内存之间的数据传输是由CPU来控制的,导致CPU占有率很高,大量传输数据时会因为占用过多的CPU资源导致系统停顿,而无法进行其它的操作。因此,PIO模式受限于传输速率低下和极高的CPU资源占有率。
DMA模式是一种不经过CPU而直接从内存来存取数据的数据交换模式:CPU向DMA控制器下达指令,让DMA控制器来处理数的传送,数据传送完毕后DMA控制器再把信息反馈给CPU。这样不过分依赖CPU,很大程度上减轻了CPU资源占有率,可以大大节省系统资源。但DMA模式与PIO模式相比,在传输速度上的差异并不十分明显:DMA模式分为单字节DMA和多字节DMA两种,其所能达到的最大传输速率也只有16.6兆字节/秒。为克服这一缺陷,现在硬盘使用的DMA工作模式已基本淘汰单字节DMA和多字节DMA,而使用全新的UDMA模式。
UDMA模式采用16位多字节DMA模式为基准,为DMA模式的增强版本,在包含了DMA模式的优点的基础上,又增加了16比特的循环冗余码校验(Cyclic Redundancy Check,简称CRC),提高了数据传输过程中的准确性和安全性。而且,数据传输速度有了极大的提高,其目前最高带宽已经可达到133兆字节/秒。
由于硬盘的数据交换速度决定了电子设备的存取速度,因此,硬盘仅能支持PIO模式无疑限制了电子设备的数据存储速度。随着高清电视信号等多媒体应用的带宽逐步增加,不支持UDMA模式显然不能适应高带宽应用需求。
第二、SRAM不能实现所控制存储器的动态交替访问,如果需要切换到不同的存储器,就需要重新配置时序寄存器。例如,如果多媒体芯片同时外挂一个Flash和一个IDE硬盘,则该多媒体芯片无法实现Flash和多媒体IDE硬盘的交替访问,必需通过CPU干预的方式重新配置时序寄存器进行切换。
发明内容
本发明的目的是提供一种处理器及基于处理器芯片实现的存储控制系统,以减少处理器的封装管脚。
这实现上述目的,本发明提供一种处理器芯片,包括:
至少两个控制器,分别连接在处理器系统总线上,用于接收处理器系统总线信号,控制处理器外部存储器的读写;
一总线选择器,分别与所述控制器连接,所述总线选择器包含一接口,所述控制器通过该接口与处理器外部存储器进行数据交换;
其中,所述控制器之一为硬盘控制器,用于接收处理器系统总线信号,控制处理器外部硬盘的读写。
其中所述硬盘控制器为IDE硬盘控制器。
其中所述硬盘控制器包括:
一可编程输入输出PIO控制单元,与处理器芯片的系统总线连接,用于接收处理器芯片的系统总线信号,以PIO模式进行指令与数据传输控制;
一直接内存访问UDMA控制单元,与所述处理器芯片系统的总线连接,用于接收处理器芯片的系统总线信号,以UDMA模式进行数据传输控制;
一逻辑单元,分别与所述PIO控制单元及所述UDMA控制单元相连接,用于区分硬盘PIO模式和硬盘UDMA模式,并选通对应的PIO控制单元或UDMA控制单元;
一接口单元,分别与所述PIO控制单元及所述UDMA控制单元以及所述总线选择器相连接,用于接收总线连接器发送的总线允许信号和总线释放信号,以获取和释放对所述总线选择器接口的控制。
其中所述硬盘控制器还包括:
一时序单元,分别与所述PIO控制单元和所述UDMA控制单元连接,用于提供硬盘PIO模式和硬盘UDMA模式的实现时序。
其中所述控制器为:Flash控制器或者压缩Flash控制器或者SRAM控制器或ROM控制器。
本发明还提供一种存储控制系统,包括:
至少两个存储器,用于存储数据,所述存储器之一为硬盘;
一处理器芯片;
一共享主线,连接处理器芯片和存储器;
所述处理器芯片包括:
至少两个控制器,分别连接在处理器系统总线上,用于接收处理器系统总线信号,控制处理器外部存储器的读写;
一总线选择器,分别与所述控制器连接,所述总线选择器包含一接口,所述控制器通过该接口与处理器外部存储器进行数据交换;
控制器之一为硬盘控制器,用于接收处理器系统总线信号,控制处理器外部的所述硬盘的读写。
其中所述硬盘控制器为IDE硬盘控制器,所述硬盘为IDE硬盘。
其中所述硬盘控制器包括:
一可编程输入输出PIO控制单元,与所述处理器系统总线连接,用于接收处理器系统总线信号,以PIO模式进行指令与数据传输控制;
一直接内存访问UDMA控制单元,与所述处理器系统的总线连接,用于接收处理器的系统总线信号,以UDMA模式进行数据传输控制;
一逻辑单元,分别与所述PIO控制单元及所述UDMA控制单元相连接,用于区分PIO模式和UDMA模式,选通对应的PIO控制单元或UDMA控制单元;
一接口单元,分别与所述PIO控制单元及所述UDMA控制单元以及所述总线选择器相连接,用于接收总线连接器发送的总线允许信号和总线释放信号,以获取和释放对所述数据与地址共享总线的控制。
其中所述硬盘控制器还包括:
一时序单元,分别与所述PIO控制单元和所述UDMA控制单元连接,用于提供硬盘PIO模式和硬盘UDMA模式的实现时序。
其中所述控制器为:Flash控制器或者压缩Flash控制器或者SRAM控制器或ROM控制器。
本发明的另一个目的是提供一种存储控制方法,实现多种数据交换模式的复用。
为实现上述目的,本发明提供的存储控制方法包括以下步骤:
A、总线选择器接收控制器的总线请求信号,确认共享总线释放后,向所述控制器发送总线允许信号,共享总线连通所述控制器与其控制的存储器;
B、当连通的控制器为硬盘控制器时,确定当前的数据交换模式,并选择该数据交换模式所对应的控制模块,然后,该控制模块控制硬盘进行数据读写;
C、当连通的控制器为非硬盘控制器时,该控制器直接控制对应的存储器进行数据读写。
其中所述确认共享总线释放具体包括:
所述总线选择器判断共享总线是否被占用,当共享总线被占用时,所述总线选择器向占用共享总线的控制器发送总线释放信号;
如果所述占用共享总线的控制器还处于预定的时间周期内,将所述总线释放信号设置为无效,当时间周期结束释放共享总线。
其中所述步骤B具体包括:
B1、硬盘控制器中的逻辑单元识别所述硬盘存储器的工作模式,如果是PIO模式,则执行步骤B2,如果是UDMA模式,则执行步骤B3;
B2、逻辑单元选通PIO控制单元,所述PIO控制单元进行PIO模式读写访问控制;
B3、逻辑单元选通PIO控制单元的线路,向硬盘发送UDMA传输指令;
B4、所述逻辑单元接收到硬盘存储器的接受反馈指令后,选通UDMA控制单元;
B5、所述UDMA控制单元进行UDMA模式读写访问控制。
其中所述步骤B4具体包括:
硬盘存储器识别命令并准备好UDMA数据传输时,产生硬盘中断信号,处理器接收到所述硬盘中断信号以后,查询硬盘的状态寄存器,确认硬盘控制器可以执行UDMA数据传输,所述处理器切换所述逻辑单元到UDMA模式所对应的逻辑值。
其中所述步骤B5具体包括:
操作模式配置寄存器向UDMA控制单元发送操作指令,所述UDMA控制单元识别所述操作指令为写操作指令,判断是否执行过写初始化,如果没有执行过,则执行写初始化;
所述UDMA控制单元检测是否接收到总线释放信号;
如果接收到总线释放信号,UDMA控制单元进入写暂停状态,释放共享总线,发出总线请求信号;
如果没有接收到总线释放信号,UDMA控制单元进行写传输一个时钟周期的数据;
当写传输结束时,发送循环冗余码校验。
其中所述步骤B5具体包括:
操作模式配置寄存器向UDMA控制单元发送操作指令,所述UDMA控制单元识别所述操作指令为读操作指令,判断是否执行过读初始化,如果没有执行过,则执行读初始化;
所述UDMA控制单元检测是否接收到总线释放信号;
如果接收到总线释放信号,UDMA控制单元设置DMA就绪信号为无效,继续0-3个数据,进入读暂停状态,释放共享总线;
如果没有接收到总线释放信号,UDMA控制单元进行读传输一个时钟周期的数据;
当读传输结束时,发送循环冗余码校验。
由上述技术方案可知,本发明具有以下有益效果:
1、通过在系统中设置硬盘控制器,在支持PIO模式的同时实现对IDE硬盘UDMA访问模式的支持;
2、通过在系统设置总线选择器,实现了CPU系统中硬盘控制器与其它存储控制器的数据地址的动态共享;
3、通过将包括硬盘控制器在内的控制器以及总线选择器封装在处理器芯片里,只通过总线器的接口与芯片外部存储器进行数据交换,减少了芯片封装管脚,从而减少了封装体积;
4、在本发明提供的存储控制方法中,通过控制器将时钟周期内接收的总线释放信号设置为无效,保证了在预定的时钟周期内能完整传递数据。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为现有技术中多媒体处理器的技术方案示意图;
图2为本发明存储控制系统框图;
图3为图2所示硬盘控制器的系统框图;
图4为本发明存储控制系统的实施例2的系统框图;
图5为本发明存储控制方法的总体流程图;
图6为本发明存储控制方法中硬盘控制器的工作流程图;
图7为本发明存储控制方法中硬盘控制器的写操作流程图;
图8为本发明存储控制方法中硬盘控制器的读操作流程图。
具体实施方式
为了在减少处理器封装管脚的同时实现多种数据交换模式的复用,本发明提供一种处理器芯片,请参见图2中的A部分,其包括至少两个控制器,分别连接在处理器系统总线上,控制器之一为硬盘控制器,还包括一总线选择器,分别与控制器相连,总线选择器上包含一接口,所述控制器通过该接口与芯片外部进行数据交换。
处理器芯片中各部分的主要功能为:
控制器,用于接收处理器总线信号,控制处理器外部存储器的读写。在实施例1中,处理器为CPU,包含两个控制器:第一控制器为IDE硬盘控制器21,第二控制器为SRAM控制器22。IDE硬盘控制器21和SRAM控制器22从CPU系统总线接受指令,分别对硬盘和其他存储器的读写进行控制。
总线选择器,用于控制IDE硬盘控制器21和SRAM控制器22的选路,确定接口的使用权,连通IDE硬盘控制器21与其控制的硬盘,或者连通SRAM控制器22与其他存储器。
如图2所示,相应地本发明还提供一种存储控制系统,包括处理器芯片,共享总线,和至少两个存储器,共享总线连接处理器芯片和并联的存储器。
在本实施例中,处理器芯片为CPU芯片,共享总线为数据与地址共享主线,存储器分别为SRAM/ROM存储器32、flash存储器33和IDE硬盘,存储控制系统各部分的主要功能为:
CPU芯片,包括IDE硬盘控制器21、第二控制器为SRAM控制器22和总线选择器1。IDE硬盘控制器21从CPU系统总线接受指令,对IDE硬盘31的存储进行控制,而SRAM控制器22从CPU系统总线接受指令,对SRAM/ROM存储器32和flash33按照SRAM控制器内部的时序控制器进行存储控制。总线选择器1分别与IDE硬盘控制器21和SRAM控制器22通过控制器总线连接,控制IDE硬盘控制器21和SRAM控制器22的选路;总线选择器1通过接口与数据与地址共享总线连接,进而与IDE硬盘31、SRAM/ROM存储器32和flash存储器33连接。总线选择器确控制器对接口的使用权,进而控制器对确定数据与地址共享总线的使用权,连通IDE硬盘控制器21与IDE硬盘31,或者连通SRAM控制器22与SRAM/ROM存储器32和flash存储器33。
通过引入IDE硬盘控制器21,并进行总线选择器1的选路,克服了仅仅使用具有简单时序的SRAM控制器无法实现该数据与地址共享总线的动态共享的缺陷。
硬盘控制器不局限于本实施例中的IDE硬盘控制器21,比如SCSI类型的硬盘控制器同样适用于本发明。
在本实施例中,不局限于SRAM控制器,第二控制器还可以为Flash控制器或者压缩Flash控制器或者ROM控制器。
参见图3,为本发明实施例1中IDE硬盘控制器的实施例的系统框图,包括PIO控制单元211,与CPU系统总线连接,用于接收CPU系统总线信号,以PIO模式进行指令与数据传输控制,实现硬盘PIO模式的操作;UDMA控制单元212,与所述CPU系统总线连接,用于接收CPU系统总线信号,以UDMA模式进行数据传输控制,实现硬盘UDMA模式的操作;逻辑单元213,分别与PIO控制单元211及UDMA控制单元212相连接,用于区分硬盘PIO模式和硬盘UDMA模式,选通对应的PIO控制单元或UDMA控制单元,可以通过选通PIO控制单元或UDMA控制单元传输线路的方式进行;接口单元214,分别与PIO控制单元211、UDMA控制单元212以及总线选择器1连接,用于获取和释放对共享总线的控制权;还包括一时序单元215,分别与PIO控制单元211和UDMA控制单元212连接,用于提供硬盘PIO模式和硬盘UDMA模式的实现时序参数,实现对不同的核心时钟设定的支持。
其中,PIO控制单元211及UDMA控制单元212都与CPU系统总线连接,获取系统指令及数据,但具体的,PIO控制单元211控制指令及数据的传输,但UDMA控制单元212只控制数据的传输,即首先都必须通过PIO控制单元211进行系统指令的传输。
通过上述本发明的实施例,可以实现对PIO模式和UDMA模式的复用支持。
在本发明中,处理器芯片并不仅仅局限于上述两个控制器,可以包含多个控制器,统一由总线选择器进行共享总线的选路。参见图4,为处理器芯片的实施例2,包括总线选择器1、IDE硬盘控制器21、SRAM控制器22和flash控制器23,其中flash控制器23负责Flash的读写控制。总线选择器1负责DE硬盘控制器21、SRAM控制器22和flash控制器23的选路。
本实施例中,还可以包括压缩Flash控制器或ROM控制器。一般来说,不会出现两个同样的控制器,以免造成空间和资源的浪费。
基于上述系统,本发明提供了一种存储控制方法,其流程图参见图5,包括以下步骤:
步骤101:控制器需要控制存储器的读写,向总线选择器发送总线请求信号,总线选择器接收该总线请求信号;
步骤102:总线选择器判断共享总线是否被占用,如果共享总线被占用,执行步骤103,否则执行步骤104;
步骤103:总线选择器向占用共享总线的控制器发送总线释放信号,要求占用的控制器释放共享总线;
为了保证各个设备的公平竞争,以及数据处理的完整性,接收到总线释放指令的控制器如果还处在预定的时间周期内,将该总线释放指令设置为无效,比如,UDMA模式下进行数据传输时,其预设的时间为一个CPU时钟周期,以满足UDMA能够完整进行至少一个CPU时钟的数据传输。
本步骤还可以包括以下步骤:
步骤1031:如果占用共享总线的控制器还处于预定的时间周期内,则将总线释放信号设置为无效;
步骤1032:占用共享总线的控制器一时间周期后进入暂停,释放共享总线;
步骤1033:总线选择器检测共享总线是否获得释放,则执行步骤104,否则重新执行步骤1033,直至确认共享总线被释放。
该步骤中也可以不进行总线选择器的检测操作,而是由占用共享总线的控制器发出释放完成指令,总线选择器接收到该释放完成指令后执行步骤104。
步骤104:占用总线的控制器释放共享总线后,总线选择器向请求的控制器总线允许信号;
步骤105:通过共享总线连通控制器与其控制的存储器,控制器分为硬盘控制器和非硬盘控制器,当连通的控制器为硬盘控制器时,执行步骤106,否则执行步骤107;
步骤106:硬盘控制器判断当前的数据交换工作模式,如果是UDMA模式,选择内部相应的模块用UDMA模式控制硬盘的读写访问,如果是PIO模式,选择内部相应的模块用PIO模式控制硬盘的读写访问,并结束读写访问流程;
步骤107:非硬盘控制器控制存储器的读写访问,并结束流程。
参见图6,为本发明存储控制方法中,硬盘控制器被允许使用共享总线时,硬盘控制器进行读写控制的过程的流程图,包括以下步骤:
步骤201、硬盘控制器获取共享总线;
步骤202、硬盘控制器逻辑单元识别所述硬盘存储器的工作模式,是PIO模式则执行步骤203,如果是UDMA模式执行步骤204;
步骤203、逻辑单元选通PIO控制单元的线路,进行PIO读写访问控制,并执行步骤209;
步骤204、逻辑单元选通PIO控制单元的线路,采用PIO模式向硬盘存储器发送UDMA传输指令;
步骤205、硬盘存储器发送接受反馈指令表示可以适用UDMA模式,逻辑单元接收到硬盘存储器的接受反馈指令后,选通UDMA控制单元的线路;
步骤206、UDMA控制单元判断UDMA模式类型,是写访问则执行步骤207,否则执行步骤208;
步骤207、用UDMA模式进行写访问控制;
步骤208、用UDMA模式进行读访问控制;
步骤209、读/写数据交换完成,结束。
下面的实施例详细介绍UDMA模式下读写访问控制方法。
图7为UDMA模式下写访问控制的完整流程图,包括以下步骤:
步骤401、总线选择器接收到硬盘控制器发送的总线请求信号;
步骤402、总线选择器判断数据与地址共享总线是否被占用,是则执行步骤403,否则执行步骤404;
步骤403、总线选择器向占用所述数据与地址共享总线的控制器发送总线释放信号;
步骤404、所述总线选择器检测数据与地址共享总线被释放或空闲后,向硬盘控制器返回总线允许信号;
步骤405、总线选择器通过接口将硬盘控制器连通至数据与地址共享总线;
步骤406、硬盘控制器逻辑单元识别所述硬盘存储器的工作模式为UDMA模式,通过PIO控制器发送UDMA传输指令;
步骤407、硬盘存储器识别命令并准备好UDMA数据传输时,产生硬盘中断信号,处理器接收到中断信号以后,查询硬盘的状态寄存器,确认硬盘控制器可以执行UDMA数据传输。处理器切换逻辑单元到UDMA模式所对应的逻辑值,并选择操作模式配置寄存器为写操作;
步骤408、逻辑单元选通UDMA控制单元;
步骤409、操作模式配置寄存器向UDMA控制单元发送操作指令,UDMA控制单元识别该操作指令为写操作指令;
步骤410、UDMA控制单元判断是否执行过UDMA写初始化,是则执行步骤415,否则执行步骤411;
步骤411、执行UDMA写初始化;
步骤412、UDMA控制单元检测是否接收到总线释放信号,如是执行步骤413,否则执行步骤415;
步骤413、UDMA控制单元进入写暂停状态,释放共享总线;
步骤414、发出总线请求指令,重新执行步骤401;
步骤415、UDMA控制单元进行写传输一个CPU时钟的数据;
步骤416、判断写传输是否结束,是则执行步骤417,否则执行步骤412;
步骤417、发送循环冗余码校验并结束。
图8为UDMA模式下读访问控制的完整流程图,包括以下步骤:
步骤501、总线选择器接收到硬盘控制器发送的总线请求信号;
步骤502、总线选择器判断数据与地址共享总线是否被占用,是则执行步骤503,否则执行步骤504;
步骤503、总线选择器向占用所述数据与地址共享总线的控制器发送总线释放信号;
步骤504、所述总线选择器检测数据与地址共享总线被释放或空闲后,向硬盘控制器返回总线允许信号;
步骤505、总线选择器将硬盘控制器连通至数据与地址共享总线;
步骤506、硬盘控制器逻辑单元识别所述硬盘存储器的工作模式为UDMA模式,通过PIO控制器发送DMA传输指令;
步骤507、硬盘存储器识别命令并准备好UDMA数据传输时,产生硬盘中断信号,处理器接收到中断信号以后,查询硬盘的状态寄存器,确认硬盘控制器可以执行UDMA数据传输。处理器切换逻辑单元到UDMA模式所对应的逻辑值,并选择操作模式配置寄存器为读操作;
步骤508、逻辑单元选通UDMA控制单元;
步骤509、操作模式配置寄存器向UDMA控制单元发送操作指令,UDMA控制单元识别该操作指令为读操作指令;
步骤510、控制单元判断是否执行过UDMA读初始化,是则执行步骤517,否则执行步骤511;
步骤511、执行UDMA读初始化;
步骤512、控制单元检测是否接收到总线释放信号,如是执行步骤513,否则执行步骤517;
步骤513、UDMA控制单元将DMA就绪信号设置为无效;
步骤514、按照设定继续接收0-3个数据;
步骤515、UDMA控制单元进入读暂停状态,释放共享总线;
步骤516、发出总线请求指令,重新执行步骤501;
步骤517、UDMA进行读传输一个CPU时钟的数据;
步骤518、判断读传输是否结束,是则执行步骤519,否则执行步骤512;
步骤519、发送循环冗余码校验并结束。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
Claims (16)
1、一种处理器芯片,其特征在于,包括:
至少两个控制器,分别连接在处理器系统总线上,用于接收处理器系统总线信号,控制处理器外部存储器的读写;
一总线选择器,分别与所述控制器连接,所述总线选择器包含一接口,所述控制器通过该接口与处理器外部存储器进行数据交换;
其中,所述控制器之一为硬盘控制器,用于接收处理器系统总线信号,控制处理器外部硬盘的读写。
2、根据权利要求1所述的处理器芯片,其特征在于,所述硬盘控制器为IDE硬盘控制器。
3、根据权利要求1或2所述的处理器芯片,其特征在于,所述硬盘控制器包括:
一可编程输入输出PIO控制单元,与处理器芯片的系统总线连接,用于接收处理器芯片的系统总线信号,以PIO模式进行指令与数据传输控制;
一直接内存访问UDMA控制单元,与所述处理器芯片系统的总线连接,用于接收处理器芯片的系统总线信号,以UDMA模式进行数据传输控制;
一逻辑单元,分别与所述PIO控制单元及所述UDMA控制单元相连接,用于区分硬盘PIO模式和硬盘UDMA模式,并选通对应的PIO控制单元或UDMA控制单元;
一接口单元,分别与所述PIO控制单元及所述UDMA控制单元以及所述总线选择器相连接,用于接收总线连接器发送的总线允许信号和总线释放信号,以获取和释放对所述总线选择器接口的控制。
4、根据权利要求3所述的处理器芯片,其特征在于,所述硬盘控制器还包括:
一时序单元,分别与所述PIO控制单元和所述UDMA控制单元连接,用于提供硬盘PIO模式和硬盘UDMA模式的实现时序。
5、根据权利要求1所述的处理器芯片,其特征在于,所述控制器为:Flash控制器或者压缩Flash控制器或者SRAM控制器或ROM控制器。
6、一种存储控制系统,其特征在于,包括:
至少两个存储器,用于存储数据,所述存储器之一为硬盘;
一处理器芯片;
一共享主线,连接处理器芯片和存储器;
所述处理器芯片包括:
至少两个控制器,分别连接在处理器系统总线上,用于接收处理器系统总线信号,控制处理器外部存储器的读写;
一总线选择器,分别与所述控制器连接,所述总线选择器包含一接口,所述控制器通过该接口与处理器外部存储器进行数据交换;
控制器之一为硬盘控制器,用于接收处理器系统总线信号,控制处理器外部的所述硬盘的读写。
7、根据权利要求6所述的存储控制系统,其特征在于,所述硬盘控制器为IDE硬盘控制器,所述硬盘为IDE硬盘。
8、根据权利要求6或7所述的存储控制系统,其特征在于,所述硬盘控制器包括:
一可编程输入输出PIO控制单元,与所述处理器系统总线连接,用于接收处理器系统总线信号,以PIO模式进行指令与数据传输控制;
一直接内存访问UDMA控制单元,与所述处理器系统的总线连接,用于接收处理器的系统总线信号,以UDMA模式进行数据传输控制;
一逻辑单元,分别与所述PIO控制单元及所述UDMA控制单元相连接,用于区分PIO模式和UDMA模式,选通对应的PIO控制单元或UDMA控制单元;
一接口单元,分别与所述PIO控制单元及所述UDMA控制单元以及所述总线选择器相连接,用于接收总线连接器发送的总线允许信号和总线释放信号,以获取和释放对所述数据与地址共享总线的控制。
9、根据权利要求8所述的存储控制系统,其特征在于,所述硬盘控制器还包括:
一时序单元,分别与所述PIO控制单元和所述UDMA控制单元连接,用于提供硬盘PIO模式和硬盘UDMA模式的实现时序。
10、根据权利要求9所述的存储控制系统,其特征在于,所述控制器为:Flash控制器或者压缩Flash控制器或者SRAM控制器或ROM控制器。
11、一种存储控制方法,其特征在于,包括以下步骤:
A、总线选择器接收控制器的总线请求信号,确认共享总线释放后,向所述控制器发送总线允许信号,共享总线连通所述控制器与其控制的存储器;
B、当连通的控制器为硬盘控制器时,确定当前的数据交换模式,并选择该数据交换模式所对应的控制模块,然后,该控制模块控制硬盘进行数据读写;
C、当连通的控制器为非硬盘控制器时,该控制器直接控制对应的存储器进行数据读写。
12、如权利要求11所述的存储控制方法,其特征在于,所述确认共享总线释放具体包括:
所述总线选择器判断共享总线是否被占用,当共享总线被占用时,所述总线选择器向占用共享总线的控制器发送总线释放信号;
如果所述占用共享总线的控制器还处于预定的时间周期内,将所述总线释放信号设置为无效,当时间周期结束释放共享总线。
13、如权利要求11所述的存储控制方法,其特征在于,所述步骤B具体包括:
B1、硬盘控制器中的逻辑单元识别所述硬盘存储器的工作模式,如果是PIO模式,则执行步骤B2,如果是UDMA模式,则执行步骤B3;
B2、逻辑单元选通PIO控制单元,所述PIO控制单元进行PIO模式读写访问控制;
B3、逻辑单元选通PIO控制单元的线路,向硬盘发送UDMA传输指令;
B4、所述逻辑单元接收到硬盘存储器的接受反馈指令后,选通UDMA控制单元;
B5、所述UDMA控制单元进行UDMA模式读写访问控制。
14、如权利要求13所述的存储控制方法,其特征在于,所述步骤B4具体包括:
硬盘存储器识别命令并准备好UDMA数据传输时,产生硬盘中断信号,处理器接收到所述硬盘中断信号以后,查询硬盘的状态寄存器,确认硬盘控制器可以执行UDMA数据传输,所述处理器切换所述逻辑单元到UDMA模式所对应的逻辑值。
15、如权利要求14所述的存储控制方法,其特征在于,所述步骤B5具体包括:
操作模式配置寄存器向UDMA控制单元发送操作指令,所述UDMA控制单元识别所述操作指令为写操作指令,判断是否执行过写初始化,如果没有执行过,则执行写初始化;
所述UDMA控制单元检测是否接收到总线释放信号;
如果接收到总线释放信号,UDMA控制单元进入写暂停状态,释放共享总线,发出总线请求信号;
如果没有接收到总线释放信号,UDMA控制单元进行写传输一个时钟周期的数据;
当写传输结束时,发送循环冗余码校验。
16、如权利要求14所述的存储控制方法,其特征在于,所述步骤B5具体包括:
操作模式配置寄存器向UDMA控制单元发送操作指令,所述UDMA控制单元识别所述操作指令为读操作指令,判断是否执行过读初始化,如果没有执行过,则执行读初始化;
所述UDMA控制单元检测是否接收到总线释放信号;
如果接收到总线释放信号,UDMA控制单元设置DMA就绪信号为无效,继续0-3个数据,进入读暂停状态,释放共享总线;
如果没有接收到总线释放信号,UDMA控制单元进行读传输一个时钟周期的数据;
当读传输结束时,发送循环冗余码校验。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100327860A CN100346285C (zh) | 2006-01-06 | 2006-01-06 | 处理器芯片与存储控制系统及方法 |
PCT/CN2006/003725 WO2007079660A1 (fr) | 2006-01-06 | 2006-12-30 | Puce microprocesseur et système de commande de mémoire, procédé correspondant |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100327860A CN100346285C (zh) | 2006-01-06 | 2006-01-06 | 处理器芯片与存储控制系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1873604A true CN1873604A (zh) | 2006-12-06 |
CN100346285C CN100346285C (zh) | 2007-10-31 |
Family
ID=37484090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100327860A Expired - Fee Related CN100346285C (zh) | 2006-01-06 | 2006-01-06 | 处理器芯片与存储控制系统及方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN100346285C (zh) |
WO (1) | WO2007079660A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043592A (zh) * | 2010-12-09 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 固态硬盘的连接处理方法、固态硬盘和通信系统 |
WO2014202003A1 (zh) * | 2013-06-21 | 2014-12-24 | 华为技术有限公司 | 数据存储系统的数据传输方法、装置及系统 |
CN105389283A (zh) * | 2015-12-11 | 2016-03-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于CoreConnect总线的电子盘控制器电路及控制方法 |
CN103106042B (zh) * | 2011-11-14 | 2016-07-06 | 联想(北京)有限公司 | 数据存取方法和电子设备 |
CN106155963A (zh) * | 2015-03-31 | 2016-11-23 | 上海黄浦船用仪器有限公司 | 一种基于Multibus总线的数据导出系统及应用 |
CN108762460A (zh) * | 2018-06-28 | 2018-11-06 | 北京比特大陆科技有限公司 | 一种数据处理电路、算力板、矿机以及挖矿系统 |
CN109669894A (zh) * | 2018-12-21 | 2019-04-23 | 天津国芯科技有限公司 | 一种可减少芯片封装管脚的通用异步收发装置 |
CN112685344A (zh) * | 2020-12-30 | 2021-04-20 | 合肥市芯海电子科技有限公司 | Dma编程电路及基于dma编程电路的编程方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113383326A (zh) * | 2019-05-17 | 2021-09-10 | 华为技术有限公司 | 一种具有接口复用功能的集成电路及管脚切换方法 |
CN114564426B (zh) * | 2020-11-27 | 2024-05-14 | 中国科学院声学研究所 | 一种嵌入式多接口数据转换装置 |
CN114564771A (zh) * | 2022-03-17 | 2022-05-31 | 集睿致远(厦门)科技有限公司 | 芯片封装管脚分配方法、装置、电子设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5495586A (en) * | 1991-12-26 | 1996-02-27 | Kabushiki Kaisha Toshiba | Computer system having memory card/disk storage unit used as external storage device |
JPH07311633A (ja) * | 1994-05-19 | 1995-11-28 | Toshiba Corp | データ記録再生装置及びそのインターフェース用ケーブル |
CN2335192Y (zh) * | 1998-02-25 | 1999-08-25 | 穆春虎 | 计算机硬盘切换器 |
US6983350B1 (en) * | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
US6560667B1 (en) * | 1999-12-28 | 2003-05-06 | Intel Corporation | Handling contiguous memory references in a multi-queue system |
CN1234116C (zh) * | 2003-11-06 | 2005-12-28 | 威盛电子股份有限公司 | 具有共用存储器存取装置的光盘控制芯片与其存储器存取方法 |
CN100367151C (zh) * | 2004-03-02 | 2008-02-06 | 广达电脑股份有限公司 | 可携式计算机 |
TWI271659B (en) * | 2004-05-05 | 2007-01-21 | Prolific Technology Inc | Memory card equipped with a multi-interface function and method for choosing a compatible transmission mode |
-
2006
- 2006-01-06 CN CNB2006100327860A patent/CN100346285C/zh not_active Expired - Fee Related
- 2006-12-30 WO PCT/CN2006/003725 patent/WO2007079660A1/zh active Application Filing
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043592A (zh) * | 2010-12-09 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 固态硬盘的连接处理方法、固态硬盘和通信系统 |
CN103106042B (zh) * | 2011-11-14 | 2016-07-06 | 联想(北京)有限公司 | 数据存取方法和电子设备 |
WO2014202003A1 (zh) * | 2013-06-21 | 2014-12-24 | 华为技术有限公司 | 数据存储系统的数据传输方法、装置及系统 |
CN106155963A (zh) * | 2015-03-31 | 2016-11-23 | 上海黄浦船用仪器有限公司 | 一种基于Multibus总线的数据导出系统及应用 |
CN105389283A (zh) * | 2015-12-11 | 2016-03-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于CoreConnect总线的电子盘控制器电路及控制方法 |
CN108762460A (zh) * | 2018-06-28 | 2018-11-06 | 北京比特大陆科技有限公司 | 一种数据处理电路、算力板、矿机以及挖矿系统 |
CN109669894A (zh) * | 2018-12-21 | 2019-04-23 | 天津国芯科技有限公司 | 一种可减少芯片封装管脚的通用异步收发装置 |
CN112685344A (zh) * | 2020-12-30 | 2021-04-20 | 合肥市芯海电子科技有限公司 | Dma编程电路及基于dma编程电路的编程方法 |
CN112685344B (zh) * | 2020-12-30 | 2024-05-14 | 合肥市芯海电子科技有限公司 | Dma编程电路及基于dma编程电路的编程方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2007079660A1 (fr) | 2007-07-19 |
CN100346285C (zh) | 2007-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100346285C (zh) | 处理器芯片与存储控制系统及方法 | |
CN1648876A (zh) | 闪速存储器的数据管理设备和方法 | |
CN1661583A (zh) | 协议转换和仲裁电路、系统及转换和仲裁信号的方法 | |
CN1237455C (zh) | 数据传输控制装置、电子设备、及数据传输控制方法 | |
CN1617160A (zh) | 用于识别标准卡以及非标准卡的卡识别系统 | |
CN1292360C (zh) | 一种实现自动读写内部集成电路设备的装置和方法 | |
CN1811744A (zh) | 通过串行总线互连多个处理节点的装置 | |
CN1551592A (zh) | 数据传输控制装置、电子设备及数据传输控制方法 | |
CN1117315C (zh) | 微处理机及多处理机系统 | |
CN1591374A (zh) | 直接存储器存取传输控制器 | |
CN101030186A (zh) | 接口电路、使用该接口电路的系统装置、数据接口方法 | |
CN1848070A (zh) | 数据存储设备、重构控制设备、重构控制方法与存储介质 | |
CN1848069A (zh) | 数据存储设备、重构控制设备、重构控制方法及存储介质 | |
CN1658142A (zh) | Atapi交换 | |
CN1570907A (zh) | 多处理器系统 | |
CN101038572A (zh) | 数据传送装置及数据传送系统 | |
CN1758213A (zh) | 带有共享内容的异构型并行多线程处理器(hpmt) | |
CN1188998C (zh) | 数据传输控制装置和电子设备 | |
CN1214592C (zh) | 多通道数据直接内存访问系统和方法 | |
CN1819554A (zh) | 数据处理系统及其数据接口连接方法 | |
CN2681233Y (zh) | 调试功能内置型微型计算机 | |
CN1851678A (zh) | 一种在内存和数字信号处理器之间传送数据的方法 | |
CN1363096A (zh) | 磁盘装置及改变磁盘装置旋转速度的方法 | |
CN1783992A (zh) | 再现设备、数据处理系统、再现方法、程序及存储介质 | |
CN1258153C (zh) | 总线控制装置和信息处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071031 Termination date: 20150106 |
|
EXPY | Termination of patent right or utility model |