CN1305133A - 适应性强的通用输入/输出系统 - Google Patents
适应性强的通用输入/输出系统 Download PDFInfo
- Publication number
- CN1305133A CN1305133A CN00135202A CN00135202A CN1305133A CN 1305133 A CN1305133 A CN 1305133A CN 00135202 A CN00135202 A CN 00135202A CN 00135202 A CN00135202 A CN 00135202A CN 1305133 A CN1305133 A CN 1305133A
- Authority
- CN
- China
- Prior art keywords
- register
- pin
- data
- treating apparatus
- mask
- 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
- 238000012545 processing Methods 0.000 claims abstract description 7
- 238000013507 mapping Methods 0.000 claims description 13
- 238000000034 method Methods 0.000 claims description 8
- 230000008878 coupling Effects 0.000 claims 3
- 238000010168 coupling process Methods 0.000 claims 3
- 238000005859 coupling reaction Methods 0.000 claims 3
- 239000000872 buffer Substances 0.000 abstract description 14
- 230000015654 memory Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- UJKWLAZYSLJTKA-UHFFFAOYSA-N edma Chemical compound O1CCOC2=CC(CC(C)NC)=CC=C21 UJKWLAZYSLJTKA-UHFFFAOYSA-N 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
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/14—Handling requests for interconnection or transfer
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Microcomputers (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
本发明揭示一种处理装置(10),包括通用输入/输出引脚(52)。数据输入寄存器(54)具有相应于每个引脚(52)的用于存储在引脚上的信号的值的定位。数据输出寄存器(56)具有相应于每个引脚(52)的用于驱动在引脚(52)上的信号到所要求的值的位。输出使能寄存器(58)控制耦合在输出寄存器(56)和引脚(52)之间的输出缓冲器(62)。可以分别设置多个屏蔽寄存器(60)以确定一组与屏蔽相关联的引脚。通过多个地址访问每个数据寄存器、数据输入寄存器(56)、数据输出寄存器(58)以及输出使能寄存器(60),其中地址指定正被访问的数据寄存器和相关联的屏蔽寄存器(60)两者。逻辑(50)按照相关联的屏蔽寄存器(60)的状态而访问数据寄存器。
Description
本发明一般涉及处理装置,特别涉及通用输入/输出子系统。
可以包括微处理单元(MPU)、数字信号处理器(DPS)和其它装置的通用处理装置,允许在许多不同的应用中使用单个装置。按所要求的应用通过编程定制处理装置。可以使用单个处理装置分别地或同时地执行多个程序。在处理装置的操作期间可以动态地变化所执行的应用的次序。
许多处理装置包括通用输入/输出(I/O)引脚,编程员可以使用这些引脚把处理装置连接到其它装置。可以作为特殊应用的需要而使用这些I/O引脚。例如,在蜂窝电话中使用的处理装置可以指定第一组引脚连接到调制和解调电路并指定第二组引脚连接到LCD屏幕控制器。在另外的应用中,这些相同的引脚可以用于极其不同的用途。
在现有技术中,已经把通用I/O引脚耦合到I/O寄存器,所述寄存器在寄存器的相应位位置上存储与每个引脚相关联的值。对于读出特定功能的引脚信号,处理器读出寄存器的值,而处理装置对于与该功能不相关联的位进行屏蔽。对于把信号发送到特定功能的引脚,为了防止与该功能不相关联的位的变化,处理器必需执行读-修改-写操作。处理器读出与通用I/O引脚相关联的输出缓冲器的值,仅修改已取得的与所述功能相关联的这些位,并把经修改的值再-写入输出缓冲器。提供通用I/O引脚的方案可以使用大量的处理时间和功率,并要求冗长的和细心的编程以正确地操作I/O引脚。
其它重要的的考虑包括通用I/O引脚在多任务环境中的使用,在所述多任务环境中,多个独立的任务访问I/O寄存器。既然是这样,读-修改-写操作必须是原子的(atomic),即,必须在另一个操作开始之前完成整个操作。否则,会发生下列情况:(1)为了把数据写入通用I/O引脚的引脚0-3,第一任务执行读-修改-写;(2)在读之后但是在写之前,第二任务中断第一任务,并执行对通用I/O引脚的引脚4-6的读-修改-写;以及(3)在完成第二任务的读-修改-写之后,第一任务再得到控制并完成它的读-修改-写。既然是这样,第一任务的读-修改-写操作将重写驱动引脚4-6的数据。为了防止这种情况发生,在读-修改-写期间必须对处理核心禁止所有的中断,对处理核心禁止所有的中断会在装置的操作中产生不需要的等待时间。
相应地,已经产生对于一种可以容易地编程和不妨碍处理器性能的处理装置的一般输入/输出引脚的需求。
在本发明中,处理装置包括多个屏蔽寄存器,每个屏蔽寄存器具有多个位。多个输入/输出引脚相应于每个屏蔽寄存器的相应的位。把一个或多个数据寄存器耦合到输入/输出引脚,每个数据寄存器具有相应于每个屏蔽寄存器的相应位的多个位。仅在所选择的一个所述屏蔽寄存器确定的位置处,逻辑电路才访问数据寄存器。
本发明具有比现有技术明显的优点。屏蔽寄存器和逻辑允许处理核心用简单的读或写命令对与通用I/O引脚相关联的数据寄存器读和写信息,而不包括在执行读-修改-写操作中。此外,本发明消除了由于中断读-修改-写而产生差错的可能性。还有,对引脚读和写数据的编程比现有技术大大地简化而且较不容易产生差错。
为了更完整地理解本发明和本发明的优点,下面,参照附图进行下述说明。
图1表示结合通用输入/输出电路的处理装置的方框图;
图2表示图1的处理装置的存储映象示例;
图3a表示从物理观点来说明通用输入/输出电路的方框图;
图3b表示从逻辑观点来说明通用输入/输出电路的方框图;
图4表示描述通用输入/输出电路的操作的流程图;
图5a到5d分别表示屏蔽寄存器、数据输入寄存器、数据输出寄存器和输出使能寄存器的详图。
参照图1-5,可以较佳地理解本发明,在各附图中,用相同的标号表示相同的元件。
图1示出了处理装置10的方框图,所述处理装置使用本发明的适应性强的通用输入/输出结构。应注意,为了示意的目的,处理装置10的方框图是DSP的特定的实施,而且本发明可以与图1所示的处理器结构有显著不同的处理器结构一起使用。可以设想在任何提供通用引脚的处理装置的设计中可以使用本发明,包括,但是不限于,微处理器、数字信号处理器、混合的模/数信号处理器和协处理器。
在图1的例子中,处理装置10包括耦合到1级(L1I)指令高速缓冲存储器14和1级(L1D)数据高速缓冲存储器16的CPU(处理)核心12。把L1I高速缓冲存储器14和L1D高速缓冲存储器16耦合到2级(L2)高速缓冲存储器18。把L2高速缓冲存储器18耦合到传递控制器20、配置总线22和传递请求总线24。还把传递控制器20耦合到EMIF(外部存储器接口)26和缓冲管理器28。把配置总线22耦合到EMIF26、监视定时器30、XDMA(外部直接存储器存取)控制器31、定时器0 32、定时器1 34、中断选择器35、GPIO(通用输入/输出)电路36、URAT(通用异步接收/发送)38、McBSP(多信道缓冲串行端口)40以及缓冲管理器28。缓冲管理器28还耦合到UART38、McBPS40、HDLC(高级数据链)控制器42以及MAC(媒体访问控制器)44以及MDIO(串行MII管理直接输入/输出)控制器46。把传递请求总线24耦合到L2高速缓冲存储器18、传递控制器20、缓冲管理器28和XDMA控制器31。
在操作中,可以把装置分开成一组数据输入/输出单元(MAC44、McBPS40、UART38、HDLC控制器42、GPIO36、MDIO46)、数据运算和处理单元(CPU核心12)、数据位移和存储单元(L1和L2高速缓冲存储器14-18、传递控制器20、缓冲管理器28、EMIF26)以及支持单元(XDMA控制器31、中断选择器35、定时器032、定时器134、监视定时器30)。众所周知,传递控制器20和XDMA控制器31的组合为增强DMA(EDMA)。
在这里所描述的实施例中,所有装置元件都共享通过32位地址总线访问的存储器空间。把该空间的上半部,地址区域0x80000000-0xFFFFFFFF,分成4个直到128兆位的分立的空间,每个空间通过EMIF26访问的外部存储器装置而执行。内部安排下半部分,地址区域0x00000000-0x7FFFFFFF。地址区域还分开成许多空间。把装置接口和支持元件内存映象到这些内部地址空间。随着在传递请求总线24上接收到的来自缓冲管理器28、L2高速缓冲存储器18和/或XDMA控制器31的请求,通过传递控制器21进行在整个存储器空间上的任何位置之间的数据移位。此外,由CPU核心12经由配置总线22访问超出地址区域0x01800000-0x01FFFFFF的存储器区域。该配置总线空间主要用于访问系统控制和配置所使用的寄存器。通过两级高速缓冲存储器装置对CPU核心12的数据和指令的需要起作用,所述两级高速缓冲存储器包括分立的第一级指令和数据高速缓冲存储器(分别为L1指令高速缓冲存储器14和L1数据高速缓冲存储器16)以及一致的第二级高速缓冲存储器(L2高速缓冲存储器)18。
处理装置10提供许多外部接口,包括能够工作于10或100Mbps的以太网MAC接口、可以设置到高达167k的所有公共波特率(baud rates)的通用异步接收/发送(UART)接口38、多信道缓冲串行端口(McBPS)接口40、高级数据链控制(HDLC)接口42、串行MII管理(MDIO)接口46、用于连接包括外部处理器核心中断源的其它外部装置的16个通用输入/输出(GPIO)引脚、以及两个内部定时器32和34的控制信号。
内部资源包括可以用于多种计数和定时用途的两个32位定时器32和34;中断选择器35,该中断选择器处理引起CPU中断的所有的装置事件;XDMA控制器31,由输入事件激励该XDMA控制器,以相似于CPU对中断事件反应的方式,但是不是转移到中断服务程序,而是通过指派一个所选择的预定义数据传递请求到传递控制器20而使XDMA控制器起反应。此外,缓冲管理器28构成主要的内部资源。该单元是一种手段,MAC44、HDLC控制器42、McBSP40以及UART38通过这种手段把分组的数据传递入和出装置存储器空间。它提供专用的硬件,用于在它本身和它服务的外围设备之间传递数据,把数据建立到分组清单(已知为数据队列),以及用于使用传递控制器20把数据队列传递到/自CPU核心12可以访问的外部存储器并按要求通过应用程序运算数据。
如下较详细的描述,提供许多(在示例实施例中为16个)通用输入/输出(I/O)引脚。可以独立地设置每个GPIO引脚作为输入或输出。通过对一组存储映象寄存器读和写来驱动和监视GPIO引脚。在示例实施例中,使GPIO寄存器存储映象到配置总线22的地址空间。
图2示出了用于处理装置10的存储映象示例。在示例实施例中,处理装置使用单个统一的存储映象,然而,这对实现本发明不是必须的。在所示的实施例中,配置总线地址空间具有从0x01800000(所有地址都是以16进制)到0x01FFFFFF的地址空间。然而,可以把GPIO地址空间存储映象到处理装置10的地址空间的任何方便的部分。
图3a示出了GPIO电路的基本物理方框图。逻辑50接收来自0x01B81000到0x001B81FFF区域到GPIO36的读和写请求(在图2的示例实施例中)。一般在图3a中用BBBBBMMR来表示该地址,其中,BBBBB是“基本”字段,MM是“屏蔽”字段,而R是“寄存器”字段。因此,逻辑50接收对于基本地址BBBBB=01B81的地址处的读和写请求。对于提供16个通用I/O引脚52的配置,GPIO硬件36包括16-位数据输入寄存器54(每个引脚一位)、16-位数据输出寄存器56、16-位数据使能寄存器58以及,在示例实施例中,32个16位屏蔽寄存器60(分别以屏蔽寄存器600-601F表示)。把数据输入寄存器54的16位的每一位耦合到相应的引脚52。把输出使能寄存器58的每一位耦合到相应的三态缓冲器62的控制门。把数据输出寄存器56的每一位耦合到相应的缓冲器62的输入。把三态缓冲器62的输出耦合到引脚52。对于屏蔽寄存器60、数据输入寄存器54、数据输出寄存器56和输出使能寄存器58,在寄存器位和引脚52之间存在直接的通信。在GPIO引脚52的最后取样点处数据输入寄存器54存储GPIO引脚52的状态。数据输出寄存器56确定待驱动到这些引脚52的数据,在输出使能寄存器58中把所述这些引脚设置成输出使能寄存器位。数据输出寄存器56控制三态缓冲器,因此确定把哪些数据从数据输出寄存器56输出到引脚52。
为了方便起见,用32位寄存器来实施这里所描述的每个寄存器,而仅使用较低的16位。通过使用寄存器中的另外的位可以容易地标定这里所示的实施以提供另外的GPIO引脚。
图3b示出了GPIO电路36的逻辑图。使每个寄存器54、56、58和60存储映象到GPIO地址空间。同时,在较佳实施例中,把屏蔽寄存器60唯一地存储映象到地址空间(即,通过单个地址访问每个屏蔽寄存器60),把数据输入寄存器54、数据输出寄存器56和输出使能寄存器58存储映象到地址空间32次(对每个屏蔽寄存器一次)。因此,通过访问多个地址的任何一个可以读出数据输入寄存器54,通过访问多个地址的任何一个可以写入数据输出寄存器56,以及通过访问多个地址的任何一个可以读出或写入输出使能寄存器58。在示例实施例示出使用32个屏蔽寄存器60的实施时,可以使用任何数目的屏蔽寄存器,而数据输入寄存器54、数据输出寄存器56和输出使能寄存器58的逻辑存储映象数目等于屏蔽寄存器的数目。
在示例实施例中,地址(MM)的屏蔽字段唯一地确定一组与给定屏蔽相关联的(逻辑)寄存器。因此,对于MM=00,R=0相应于屏蔽寄存器0 600,R=4相应于逻辑数据输入寄存器0,R=8相应于逻辑数据输出寄存器0以及R=C相应于逻辑输出使能寄存器0。相似地,对于MM=1F,R=0相应于屏蔽寄存器1F 601F,R=4相应于逻辑数据输入寄存器1F,R=8相应于逻辑数据输出寄存器1F以及R=C相应于逻辑输出使能寄存器1F。例如,如在图3a中所示,逻辑数据输入寄存器0和逻辑数据输入寄存器1F是相同的物理数据输入寄存器54,然而,通过识别相关联的屏蔽寄存器60,用于访问多个存储映象寄存器54、56和58的每一个寄存器的地址确定如何访问寄存器。
在操作中,当访问多个存储映象寄存器时,仅使对应于受到操作影响的相关联的屏蔽寄存器60的位的哪些位使能。每个屏蔽寄存器60和它的相关联的(逻辑)数据输入54、数据输出56和输出使能58寄存器构成GPIO屏蔽寄存器组。当访问特定的数据输入、数据输出或输出使能寄存器位置时,在所访问位置的相同组中的屏蔽寄存器60确定在受访问影响的相应的硬件寄存器内的位。当所访问的寄存器是数据输入寄存器54、数据输出寄存器56或输出使能寄存器58时,根据相应于用于访问寄存器的地址的屏蔽寄存器60的状态,逻辑50读出访问寄存器。访问数据输入寄存器54、数据输出寄存器56或输出使能寄存器58,致使仅影响适当的位(对应于在相关联的屏蔽寄存器60中设置的位)。对于通过处理核心112的读出操作,逻辑50仅对哪些位恢复正确的硬件寄存器值,所述哪些位对应于所设置的屏蔽寄存器位;其它位将恢复到“0”。对于通过处理核心12的写入操作,逻辑50直接写入在寄存器中对应于设置屏蔽位的哪些位;写入操作不影响在寄存器中不对应于设置屏蔽位的位。
访问寄存器的装置允许配置GPIO接口,以致多个软件程序可以彼此独立地访问不同的GPIO引脚52。使用一个或多个GPIO引脚52的任务仅需要设置一个确定使用哪个引脚的屏蔽寄存器;此后,它可以使用对适当地址(根据所访问的数据寄存器和相关联的屏蔽寄存器)的简单的读和写命令访问引脚。因此大大地简化了编程。此外,由于逻辑50经由硬件写入数据寄存器而不是CPU经由软件写入数据寄存器,即使逻辑50正在执行写入也可以中断核心12而不会造成从不同的任务重复写入数据的危险。
图4表示在图3a和3b中示出的GPIO电路的操作流程图。在方框80中,逻辑50接收到连同读或写请求的地址。只有具有基本地址BBBBB=01B81的那些地址才针对GPIO电路36(对于示例实施例)。如果屏蔽字段在0和1F之间(即,0≤MM≤1F),则在判定方框82中,请求针对在屏蔽寄存器组中的一个寄存器。一般在方框84中处理对在该屏蔽字段区域之外的地址的访问。如果对在屏蔽组中的数据寄存器进行访问,则在方框86中确定寄存器。一般处理对于屏蔽寄存器60的访问;在方框84中,从屏蔽寄存器读出数据或把数据写入屏蔽寄存器。
在方框88中,如果所访问的寄存器是数据输入寄存器54(R=4),则只有设置相关联的屏蔽寄存器位的那些位恢复正确的硬件寄存器值,其它位将恢复0。数据输入寄存器54是只读的。在方框90中,如果所访问的寄存器是数据输出寄存器56(R=8),并且访问是读出,则只恢复具有相应的屏蔽寄存器位设置的那些位的数据,其它位将恢复到“0”。对于数据输出寄存器56的写入操作,只对设置相应屏蔽位的硬件寄存器位写入数据,将保持不影响数据输出寄存器56的其它位。在方框92中,如果所访问的数据寄存器是输出使能寄存器58(R=C),则只从该寄存器中具有相应屏蔽位设置的那些位读出数据,其它位将恢复“0”。对应输出使能寄存器58的写入操作,只把数据写入设置相应屏蔽位的硬件寄存器位,将保持不影响其它位。
图5a到5d示出了屏蔽寄存器60、数据输入寄存器54、数据输出寄存器56以及输出使能寄存器58的详细组成。在表Ⅰ到表Ⅳ中分别表示每个寄存器的操作。
表Ⅰ屏蔽寄存器定义
位 | 名称 | 功 能 |
31到16 | 保留 | 保留。写入这些位无作用。它们始终读出0。 |
15到0 | 屏蔽15到屏蔽0(msk15thru msk0) | 屏蔽位。设置位mskx到1,使之能够访问相关联的屏蔽寄存器设置的dinx、doutx和oenx位。 |
表Ⅱ数据输入寄存器定义
位 | 名称 | 功 能 |
31到16 | 保留 | 保留。写入这些位无作用。它们始终读出0。 |
15到0 | 数据输入15到数据输入0(din15thru din0) | 数据输入位。在GPIO引脚上恢复数据,当读出时,如果设置相关联的屏蔽寄存器的mskx位,则恢复在GPIO引脚适当寄存器位x,否则寄存器位x恢复0。写入对于该寄存器无作用。 |
表Ⅲ数据输出寄存器定义
位 | 名称 | 功 能 |
31到16 | 保留 | 保留。写入这些位无作用。它们始终读出0。 |
15到0 | 数据输出15到数据输出0(dout15thru dout0) | 数据输出位。确定待在GPIO引脚上写出的数据。当读出时,如果设置相关联的屏蔽寄存器的mskx位,则位x恢复到doutx,否则读出数据的位x设置为0。当写入时,如果设置相关联的屏蔽寄存器的mskx位,则把写入数据的位x写入寄存器位doutx,否则不影响doutx。 |
表Ⅳ数据输出寄存器定义
位 | 名称 | 功 能 |
31到16 | 保留 | 保留。写入这些位无作用。它们始终读出0。 |
15到0 | 输出使能15到输出使能0(oen15thru oen0) | 输出使能位。从GPIO数据输出寄存器到GPIO引脚的数据驱动的使能。当读出时,如果设置相关联的屏蔽寄存器的mskx位,则位x恢复到oenx,否则读出数据的位x恢复设置为0。当写入时,把写入数据的位x写入设置相关联的屏蔽寄存器的mskx位d的寄存器位oenx,否则不影响oenx。如果oenx=1,则用在doutx中的值驱动GPIO引脚。 |
在操作中,处理器10执行的每个软件程序可以设置一个或多个屏蔽寄存器60,以确定通过程序监视的或驱动的引脚52。例如,如果程序访问作为某个装置的输入/输出端口的引脚3-0,则可以把一个“0…01111”的值写入屏蔽0。使用通过地址0x1B81004访问的数据输入寄存器54以及通过地址0x1B8100C访问的输出使能寄存器可以进行对该端口的所有的访问。在设置屏蔽寄存器600之后,使用其它通用引脚不必考虑软件程序,因为写入屏蔽所定义的引脚不影响使用屏蔽寄存器所禁止的引脚。
本发明具有比现有技术显著的优点。因此,处理核心的简单写入命令启动逻辑50的硬件写入所访问的寄存器的指定位,在由写地址定义的相关联的屏蔽寄存器60中规定所述指定位。对于核心12,逻辑50的写入是透明的,从而简化了对任务的编码,而且不会由于中断而引起差错。
虽然已经针对某个示例实施例进行本发明的详细描述,但是将对熟悉本技术领域的人员建议这些实施例和另外的实施例的各种修改。例如,这里所示出的地址、寄存器的大小、屏蔽寄存器(以及逻辑数据输入、数据输出和输出使能寄存器)的数目、以及引脚的数目是为了说明特定的实施例;熟悉本领域技术的人员会理解,可以容易地对这些因素作出改变。同样,这里所示出的屏蔽装置包括4个寄存器(屏蔽、数据输入、数据输出和使能);然而,当必须提供所要求的功能时,某些实施可以增加或减少在每个屏蔽装置中的寄存器数目。本发明包括属于权利要求范围内的任何修改或另外的实施例。
Claims (18)
1.一种处理装置,其特征在于,包括:
多个屏蔽寄存器,每个屏蔽寄存器具有多个位;
相应于每个屏蔽寄存器的各个位的多个输入/输出引脚;
耦合到所述输入/输出引脚的一个或多个数据寄存器,每个所述数据寄存器具有相应于每个屏蔽寄存器的各个位的多个位;以及
逻辑电路,所述逻辑电路用于仅在所选择的一个所述屏蔽寄存器确定的位置处访问所述数据寄存器。
2.如权利要求1所述的处理装置,其特征在于,所述一个或多个数据寄存器包括用于存储相应于施加到所述输入/输出引脚的信号值的数据输入寄存器。
3.如权利要求1所述的处理装置,其特征在于,所述一个或多个数据寄存器包括用于存储施加到所述输入/输出引脚的值的数据输出寄存器。
4.如权利要求3所述的处理装置,其特征在于,所述一个或多个数据寄存器包括用于存储相应于施加到缓冲器的信号值的输出使能寄存器,所述缓冲器耦合在所述数据输出寄存器和所述输入/输出引脚之间。
5.如权利要求1所述的处理装置,其特征在于,所述数据寄存器是存储映象的。
6.如权利要求5所述的处理装置,其特征在于,通过用于访问数据寄存器的地址确定所述选择的屏蔽寄存器。
7.一种在处理装置中控制一组输入/输出引脚的方法,所述处理装置包括处理核心和一个或多个数据寄存器,所述数据寄存器具有耦合到各个引脚的多个位,其特征在于,所述方法包括下列步骤:
接收针对一个所述数据寄存器的来自逻辑电路中处理核心的访问请求;
识别多个屏蔽寄存器中相关联的一个屏蔽寄存器;
仅在由所述相关联的屏蔽寄存器的状态确定的位的位置处访问所述一个数据寄存器。
8.如权利要求7所述的在处理装置中控制一组输入/输出引脚的方法,其特征在于,所述接收步骤包括接收针对数据输入寄存器的访问请求的步骤,所述数据输入寄存器用于存储相应于施加到所述输入/输出引脚的信号值。
9.如权利要求7所述的在处理装置中控制一组输入/输出引脚的方法,其特征在于,所述接收步骤包括接收针对数据输出寄存器的访问请求的步骤,所述数据输出寄存器用于存储施加到所述输入/输出引脚的信号值。
10.如权利要求7所述的在处理装置中控制一组输入/输出引脚的方法,其特征在于,所述接收步骤包括接收针对输出使能寄存器的访问请求的步骤,所述输出使能寄存器用于存储相应于施加到缓冲器的信号值,所述缓冲器耦合在所述数据输出寄存器和所述输入/输出引脚之间。
11.如权利要求7所述的在处理装置中控制一组输入/输出引脚的方法,其特征在于,所述数据寄存器是存储映象的。
12.如权利要求11所述的在处理装置中控制一组输入/输出引脚的方法,其特征在于,所述识别步骤包括根据用于访问数据寄存器的地址,识别相关联的屏蔽寄存器的步骤。
13.一种处理装置,其特征在于,包括:
一组输入/输出引脚;
处理核心;
一个或多个数据寄存器,所述数据寄存器具有耦合到各个引脚的多个位;
多个屏蔽寄存器;
用于接收针对一个所述数据寄存器的来自逻辑电路中处理核心的访问请求的逻辑电路;
识别相关联的一个屏蔽寄存器;
仅在由所述相关联的屏蔽寄存器的状态确定的位的位置处访问所述一个数据寄存器。
14.如权利要求13所述的处理装置,其特征在于,所述数据寄存器包括用于存储相应于施加到所述输入/输出引脚的信号值的数据输入寄存器。
15.如权利要求13所述的处理装置,其特征在于,所述数据寄存器包括用于存储施加到所述输入/输出引脚的值的数据输出寄存器。
16.如权利要求13所述的处理装置,其特征在于,所述数据寄存器包括用于存储相应于施加到缓冲器的信号值的输出使能寄存器,所述缓冲器耦合在所述数据输出寄存器和所述输入/输出引脚之间。
17.如权利要求13所述的处理装置,其特征在于,所述数据寄存器是存储映象的。
18.如权利要求17所述的处理装置,其特征在于,逻辑电路根据用于访问数据寄存器的地址,识别相关联的屏蔽寄存器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/450,889 US6532533B1 (en) | 1999-11-29 | 1999-11-29 | Input/output system with mask register bit control of memory mapped access to individual input/output pins |
US09/450,889 | 1999-11-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1305133A true CN1305133A (zh) | 2001-07-25 |
CN1167018C CN1167018C (zh) | 2004-09-15 |
Family
ID=23789926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB001352024A Expired - Lifetime CN1167018C (zh) | 1999-11-29 | 2000-11-29 | 适应性强的通用输入/输出系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6532533B1 (zh) |
EP (1) | EP1103889B1 (zh) |
JP (1) | JP2001195384A (zh) |
KR (1) | KR100721091B1 (zh) |
CN (1) | CN1167018C (zh) |
DE (1) | DE60025788T2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1302394C (zh) * | 2004-08-31 | 2007-02-28 | 威盛电子股份有限公司 | 配置存储器空间的方法与使用该方法的集成电路产品 |
CN104365081A (zh) * | 2012-06-11 | 2015-02-18 | 索尼电脑娱乐公司 | 图像生成设备以及图像生成方法 |
CN111562946A (zh) * | 2020-05-06 | 2020-08-21 | 青岛信芯微电子科技股份有限公司 | 一种数据处理方法及芯片 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6694385B1 (en) * | 1999-09-10 | 2004-02-17 | Texas Instruments Incorporated | Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor |
US7185183B1 (en) * | 2001-08-02 | 2007-02-27 | Mips Technologies, Inc. | Atomic update of CPO state |
US20040127207A1 (en) * | 2002-09-25 | 2004-07-01 | Interdigital Technology Corporation | Programmable radio interface |
US7634638B1 (en) * | 2002-10-22 | 2009-12-15 | Mips Technologies, Inc. | Instruction encoding for system register bit set and clear |
JP2005352568A (ja) * | 2004-06-08 | 2005-12-22 | Hitachi-Lg Data Storage Inc | アナログ信号処理回路、並びに、そのデータレジスタ書換方法とそのデータ通信方法 |
TWI291152B (en) * | 2005-07-05 | 2007-12-11 | Quanta Comp Inc | Interface unit and interface transmission method |
CN100468378C (zh) * | 2005-12-17 | 2009-03-11 | 鸿富锦精密工业(深圳)有限公司 | Spi设备通信电路 |
JP2009187615A (ja) * | 2008-02-05 | 2009-08-20 | Elpida Memory Inc | 半導体記憶装置 |
US8209509B2 (en) * | 2008-05-13 | 2012-06-26 | Atmel Corporation | Accessing memory in a system with memory protection |
JP5248444B2 (ja) * | 2009-08-11 | 2013-07-31 | ルネサスエレクトロニクス株式会社 | シリアル通信装置 |
US8549251B1 (en) * | 2010-12-15 | 2013-10-01 | Juniper Networks, Inc. | Methods and apparatus for efficient modification of values within computing registers |
CN102103543B (zh) * | 2011-02-22 | 2012-07-04 | 哈尔滨工业大学 | 利用处理器gpio管脚扩展m模块地址空间的方法 |
US20120254591A1 (en) * | 2011-04-01 | 2012-10-04 | Hughes Christopher J | Systems, apparatuses, and methods for stride pattern gathering of data elements and stride pattern scattering of data elements |
US9400650B2 (en) | 2012-09-28 | 2016-07-26 | Intel Corporation | Read and write masks update instruction for vectorization of recursive computations over interdependent data |
US10180925B2 (en) * | 2016-03-28 | 2019-01-15 | Nxp Usa, Inc. | Integrated circuit with pin level access to IO pins |
CN110795369B (zh) * | 2019-09-19 | 2023-05-30 | 深圳震有科技股份有限公司 | 基于gpio管脚实现mdio从机功能的方法及终端 |
CN112052041B (zh) * | 2020-10-10 | 2022-03-11 | 乐鑫信息科技(上海)股份有限公司 | 更新寄存器的方法 |
CN113836069B (zh) * | 2021-09-30 | 2023-04-14 | 龙芯中科技术股份有限公司 | 芯片、引脚操作方法、可读存储介质和电子设备 |
KR102709301B1 (ko) * | 2023-05-03 | 2024-09-25 | 한국전기연구원 | 고신뢰 통신 기반 전력변환장치 제어기 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5089955A (en) * | 1984-11-02 | 1992-02-18 | Hitachi, Ltd. | Programmable counter/timer device with programmable registers having programmable functions |
US5185859A (en) * | 1985-10-22 | 1993-02-09 | Texas Instruments Incorporated | Graphics processor, a graphics computer system, and a process of masking selected bits |
JPH0511889A (ja) * | 1991-07-04 | 1993-01-22 | Nec Corp | データ処理装置の初期設定回路 |
JPH07225727A (ja) * | 1994-02-14 | 1995-08-22 | Fujitsu Ltd | 計算機システム |
WO1996013902A1 (en) * | 1994-11-01 | 1996-05-09 | Virtual Machine Works, Inc. | Programmable multiplexing input/output port |
US5826093A (en) * | 1994-12-22 | 1998-10-20 | Adaptec, Inc. | Dual function disk drive integrated circuit for master mode and slave mode operations |
US5737748A (en) * | 1995-03-15 | 1998-04-07 | Texas Instruments Incorporated | Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory |
US6058443A (en) * | 1997-02-18 | 2000-05-02 | Advanced Micro Devices, Inc. | System for partitioning PC chipset functions into logic and port integrated circuits |
US5923894A (en) * | 1997-11-03 | 1999-07-13 | Teragen Corporation | Adaptable input/output pin control |
SE520126C2 (sv) * | 1997-12-11 | 2003-05-27 | Axis Ab | I/U-Processor och metod för styrning av periferienheter |
-
1999
- 1999-11-29 US US09/450,889 patent/US6532533B1/en not_active Expired - Lifetime
-
2000
- 2000-11-24 EP EP00125264A patent/EP1103889B1/en not_active Expired - Lifetime
- 2000-11-24 DE DE60025788T patent/DE60025788T2/de not_active Expired - Lifetime
- 2000-11-28 JP JP2000361291A patent/JP2001195384A/ja active Pending
- 2000-11-28 KR KR1020000071207A patent/KR100721091B1/ko active IP Right Grant
- 2000-11-29 CN CNB001352024A patent/CN1167018C/zh not_active Expired - Lifetime
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1302394C (zh) * | 2004-08-31 | 2007-02-28 | 威盛电子股份有限公司 | 配置存储器空间的方法与使用该方法的集成电路产品 |
CN104365081A (zh) * | 2012-06-11 | 2015-02-18 | 索尼电脑娱乐公司 | 图像生成设备以及图像生成方法 |
US9692966B2 (en) | 2012-06-11 | 2017-06-27 | Sony Corporation | Image capturing device and image capturing method |
CN104365081B (zh) * | 2012-06-11 | 2018-05-08 | 索尼电脑娱乐公司 | 图像生成设备以及图像生成方法 |
CN111562946A (zh) * | 2020-05-06 | 2020-08-21 | 青岛信芯微电子科技股份有限公司 | 一种数据处理方法及芯片 |
CN111562946B (zh) * | 2020-05-06 | 2023-09-08 | 青岛信芯微电子科技股份有限公司 | 一种数据处理方法及芯片 |
Also Published As
Publication number | Publication date |
---|---|
DE60025788D1 (de) | 2006-04-13 |
EP1103889B1 (en) | 2006-02-01 |
EP1103889A3 (en) | 2004-05-19 |
JP2001195384A (ja) | 2001-07-19 |
CN1167018C (zh) | 2004-09-15 |
KR100721091B1 (ko) | 2007-05-23 |
DE60025788T2 (de) | 2006-09-07 |
US6532533B1 (en) | 2003-03-11 |
KR20010051991A (ko) | 2001-06-25 |
EP1103889A2 (en) | 2001-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1167018C (zh) | 适应性强的通用输入/输出系统 | |
US7107382B2 (en) | Virtual peripheral component interconnect multiple-function device | |
CN1199115C (zh) | 执行中断目的地重新指向的机制 | |
US4575793A (en) | Personal-computer to 3270 system interfacing apparatus | |
US6823414B2 (en) | Interrupt disabling apparatus, system, and method | |
CN101308466B (zh) | 数据处理方法 | |
US7502876B1 (en) | Background memory manager that determines if data structures fits in memory with memory state transactions map | |
CN1390323A (zh) | 在多线程并行处理器结构中使用的寄存器组 | |
CN107967225A (zh) | 数据传输方法、装置、计算机可读存储介质和终端设备 | |
CN1168505A (zh) | 具有自对准堆栈指针的数据处理系统及其方法 | |
CN1713134A (zh) | 虚拟机控制结构译码器 | |
CN1185255A (zh) | 用于处理器间传输数据的链路协议 | |
US6766358B1 (en) | Exchanging messages between computer systems communicatively coupled in a computer system network | |
CN115878266A (zh) | ARM Cortex-A7处理器仿真方法、系统、介质及设备 | |
US6735659B1 (en) | Method and apparatus for serial communication with a co-processor | |
CN101223511A (zh) | 用于非存储映像式设备存储器的直接访问的方法和系统 | |
CN1707456A (zh) | 模拟信号处理电路、其数据寄存器重写方法及其数据通信方法 | |
US6710620B2 (en) | Bus interface for I/O device with memory | |
US6425029B1 (en) | Apparatus for configuring bus architecture through software control | |
CN116126397B (zh) | 基于微控制器的控制方法、装置、设备及介质 | |
CN2605635Y (zh) | 通用点阵液晶显示控制装置及其应用软件开发系统 | |
CN1487453A (zh) | 通用点阵液晶显示控制装置及其应用软件开发系统 | |
US5938753A (en) | Method and apparatus for controlling autonomous units transferring data between buses having different ordering policies | |
JPH04195563A (ja) | メモリシステムの制御装置 | |
CN1163428A (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 | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20040915 |