CN1729450A - 封装的硬件配置/控制 - Google Patents

封装的硬件配置/控制 Download PDF

Info

Publication number
CN1729450A
CN1729450A CNA2003801066519A CN200380106651A CN1729450A CN 1729450 A CN1729450 A CN 1729450A CN A2003801066519 A CNA2003801066519 A CN A2003801066519A CN 200380106651 A CN200380106651 A CN 200380106651A CN 1729450 A CN1729450 A CN 1729450A
Authority
CN
China
Prior art keywords
configuration
subsystem
control
hardware
control module
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
Application number
CNA2003801066519A
Other languages
English (en)
Other versions
CN100357890C (zh
Inventor
L·戈夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1729450A publication Critical patent/CN1729450A/zh
Application granted granted Critical
Publication of CN100357890C publication Critical patent/CN100357890C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Logic Circuits (AREA)
  • Advance Control (AREA)
  • Information Transfer Systems (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

提供了一种用于配置和控制复杂硬件子系统的技术,减轻了对系统程序员设置的负担,而且与目前的方法相比较,该技术是安全且无差错的。根据本发明的一个方面,通过以硬件提供配置控制器来实现硬件子系统(110)的配置,所述配置控制器包括控制器部分(113)和存储配置参数的存储器部分(115)。例如,响应于配置/控制ID,激活配置控制器(113),并且据此执行硬件子系统(110)的配置,包括在硬件子系统的寄存器(111)中存储至少一个配置参数。典型地,配置控制器硬件(113)和存储器(115)被嵌入到要被配置或被控制的硬件子系统中。因此,配置/控制功能被“封装”到硬件子系统(110)自身内,使得系统程序员不必关注细节。

Description

封装的硬件配置/控制
技术领域
本发明涉及硬件子系统的配置和控制。
背景技术
随着集成密度的增加,硬件子系统变得越来越复杂。典型地,这些子系统一般在启动时需要初始化,并且在随后的操作过程中需要配置或重新配置。操作期间子系统的控制也可能需要配置或重新配置。目前通过可以嵌入在硬件、固件或软件中的系统程序设计来实现这样的初始化、配置、重新配置和控制。这样的系统程序设计是费力的和容易出错的,而且从程序设计的观点来看,也是不安全的。
当前,系统程序员首先必须读取硬件子系统的详细的技术说明。这种技术说明通常非常大而且可能是不清楚、存在矛盾、过期或者错误的。接下来,程序员一般要对硬件抽象语言(Hardware AbstractionLanguage)进行编码,该硬件抽象语言将技术说明中所提到的为数众多的寄存器和规定比特翻译为字母数字描述,这些字母数字描述允许程序员利用名称而不是数字来配置和控制硬件子系统。典型地,在该项任务中没有用来帮助的工具。因此,硬件抽象语言的构成主要涉及费力的代换(substiution)处理,而这样的处理对于许多程序员来说是不具有吸引力的并因此容易出错。
作为该处理的结果,可能在对通过硬件抽象接口传递的命令和数据进行排序时出现差错。也可能由于技术说明是错误的或者被误解而出现差错。此外,由于硬件子系统的接口实际上是全球性的(即,任何任务一般访问任何子系统的寄存器或存储器),所以错误的或恶意的任务能够带来严重的破坏。从这个意义上讲,目前用于复杂硬件子系统的配置和控制方案是不安全的。
对于复杂硬件子系统的配置和控制来说,所需要的是减轻上述的对系统程序员施加的负担并且与现有方法相比是安全和无差错的一种技术。
发明内容
一般来说,本发明提供一种用于配置和控制复杂硬件子系统的技术,该技术减轻置于系统程序员身上的负担,而且与目前方法相比较,该技术是安全的且无差错的。根据本发明的一个方面,通过在硬件中提供配置控制器来实现硬件子系统的配置,所述配置控制器包括控制器部分和存储配置参数的存储器部分。例如,响应于配置/控制ID,激活配置控制器,并据此执行硬件子系统的配置,包括在硬件子系统的寄存器中存储至少一个配置参数。典型地,配置控制器硬件和存储器被嵌入到要被配置或被控制的硬件子系统内。因此,配置/控制功能被“封装”在硬件子系统自身中,使得系统程序员不需要关心功能的细节。配置控制器例如可以采用状态机的形式。
硬件子系统可以在系统的运行期间在不同时间采用不同的配置。在该实例中,可以提供多个配置/控制ID,每个配置/控制ID对应于一种特定配置。
附图说明
参考下面的详细描述和附图,将更好地理解本发明。在附图中:
图1是使用封装的硬件配置/控制的系统的电路图。
具体实施方式
现在,参考图1,示出了使用封装的硬件配置/控制的系统的电路图。该系统是一种电子系统,其可以具有多种形式中的任何一种,例如包括电子底板、电路板、多片模块或其它模块、“单芯片系统(System-On-a-Chip)”(SOC)集成电路或其它集成电路等。假定该系统包括处理器101和系统总线103。必要时,系统总线可以使用一个或多个总线桥式接口连接到其它总线(未示出)。
在该系统内,各种子系统连接到系统总线,包括要被配置或被控制的子系统110。例如,在SOC的环境下,一种这样的典型子系统例如可以是USB控制器。其它典型的子系统例如可以包括SDRAM控制器、PLL/时钟子系统决等。
以简化的形式将要被配置或控制的子系统110表示为包括各种硬件寄存器111以及另外还包括配置/控制状态机113和相关存储器115。可以根据复杂指令集处理器来仿造状态机113。存储器115一般是只读的。配置/控制状态机113与系统总线进行通信,而存储器115例如经由子系统总线117与各个寄存器进行通信。优选地,存储器115的宽度与子系统总线117的宽度相匹配。
在操作中,为了配置或控制子系统110,将单个简单的配置/控制ID从处理器101传递到配置/控制状态机113,该配置/控制状态机113对于系统软件来说可以简单地表现为寄存器。配置/控制状态机113通过导致执行一个或多个到子系统寄存器组111的写循环来响应配置/控制ID。系统程序员可以不注意配置/控制状态机113的内部工作。
可以将允许不同配置或不同控制操作的多个配置数据集合存储到存储器115的不同部分。不同的配置/控制ID可以用于指定不同的配置数据集合或不同的控制操作。
对于单个子系统使用多个配置/控制ID的一个实例是USB(通用串行总线)块,其中特定端口(即,端点)可以操作在控制(Control)、中断(Interrupt)、等时(Isochronous)或批量(Bulk)模式。在该实例中,将不同的配置/控制ID分配给每个模式。对于每个不同的模式来说,配置/控制状态机113响应于相应的配置/控制ID,以便写入可能大量的寄存器(例如,端点使能寄存器、端点中断寄存器、DMA控制寄存器等),而不会出现在现有技术的解决方案中遇到的大量差错可能性。系统软件不需要知道这些“内部”寄存器中的任何一个;相反,系统软件仅需要知道相对较少的配置/控制ID。通过将单个配置/控制ID写入单个“寄存器”(配置/控制状态机113),可靠地实现期望的配置。
配置/控制ID可以激活或禁用各种子系统硬件可选项。例如,在USB控制器的情况下,在成功接收了USB分组之后,控制功能有可以激活或禁用DMA控制器的自动的重新初始化。(当激活该可选项时,DMA功能准备接受下一个分组而无需软件干涉)。对应于控制模式的配置/控制ID一般将激活该可选项,而对应于Bulk模式的配置/控制ID一般将不激活该可选项。
可以使用多个不同的控制I D来接入子系统的某一些特定的内部工作。例如,在USB子系统中,由软件控制的一项功能是将该子系统设置为中止模式(Suspend Mode),以便在没有USB总线业务量时,降低功率。可以将单个唯一的控制ID分配给这项功能。软件仅将该ID写入到子系统,以激活该模式。实际的寄存器和在该寄存器中执行这项功能的特定比特将被隐藏而无法看到(即,被封装)。这个方案的附增优点是:在不改变软件的情况下,能够实现对USB块的完整重新设计。
尽管已经就特定实施例描述了本发明,但本领域的普通技术人员应当理解,不脱离本发明的精神或实质特性,可以以其它特定形式来实现本发明。因此,当前公开的实施例在所有方面都被认为是示例性的而不是限制性的。由所附的权利要求、而不是上面的描述来指明本发明的范围,并且落入本发明的含义及其等价范围内的所有改变都旨为包含在其中。

Claims (10)

1.一种执行子系统的配置或控制的方法,包括:
给子系统一起提供具有控制器部分(113)的配置/控制单元和存储配置参数的存储器部分(115);
配置/控制单元接收激活信号;和
响应于激活信号,配置/控制单元执行子系统(110)的配置或控制,包括在子系统内的位置(111)上存储至少一个配置参数。
2.根据权利要求1的方法,其中子系统(110)是硬件子系统,并且配置/控制单元是硬件配置/控制单元。
3.根据权利要求1的方法,其中在同一个集成电路内一起提供硬件子系统(110)和硬件配置/控制单元。
4.根据权利要求1的方法,其中激活信号是配置/控制ID。
5.根据权利要求4的方法,其中配置/控制单元响应多个不同的配置/控制ID,用于对子系统(110)执行不同的相应配置或控制动作。
6.一种具有自配置能力的子系统,包括:
寄存器部分(111),包括多个寄存器,该子系统根据寄存器的内容而不同地起作用;和
配置/控制单元,其具有控制器部分(113)和存储配置参数的存储器部分(115);
其中配置/控制单元响应激活信号,用于执行子系统(110)的配置或控制,包括在子系统(110)内的位置(111)上存储至少一个配置参数。
7.根据权利要求6的设备,其中子系统(110)是硬件子系统,并且配置/控制单元是硬件配置/控制单元。
8.根据权利要求7的设备,其中在同一个集成电路中一起提供硬件子系统(110)和硬件配置/控制单元。
9.根据权利要求6的设备,其中激活信号是配置/控制ID。
10.根据权利要求9的设备,其中配置/控制单元响应多个不同的配置/控制ID,用于对子系统(110)执行不同的相应配置或控制动作。
CNB2003801066519A 2002-12-18 2003-12-17 封装的硬件配置/控制 Expired - Fee Related CN100357890C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43473802P 2002-12-18 2002-12-18
US60/434,738 2002-12-18

Publications (2)

Publication Number Publication Date
CN1729450A true CN1729450A (zh) 2006-02-01
CN100357890C CN100357890C (zh) 2007-12-26

Family

ID=32595302

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003801066519A Expired - Fee Related CN100357890C (zh) 2002-12-18 2003-12-17 封装的硬件配置/控制

Country Status (6)

Country Link
US (1) US7788416B2 (zh)
EP (1) EP1576468A3 (zh)
JP (1) JP2006510966A (zh)
CN (1) CN100357890C (zh)
AU (1) AU2003292455A1 (zh)
WO (1) WO2004055668A2 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104894B2 (en) * 2005-12-16 2015-08-11 Hewlett-Packard Development Company, L.P. Hardware enablement using an interface
EP1909172A1 (en) * 2006-08-01 2008-04-09 Research In Motion Limited System and method for managing hardware configuration parameters
US7650437B2 (en) 2006-08-01 2010-01-19 Research In Motion Limited System and method for managing hardware configuration parameters
TW201001289A (en) * 2008-06-27 2010-01-01 Silicon Motion Inc Embedded system and hardware setting method
CN105095149B (zh) * 2015-08-10 2018-10-16 青岛中星微电子有限公司 一种片上系统参数的批处理方法和装置
US11138140B2 (en) 2020-01-31 2021-10-05 Hewlett Packard Enterprise Development Lp Configuring first subsystem with a master processor and a second subsystem with a slave processor

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240496B1 (en) * 1989-11-24 2001-05-29 Hyundai Electronics America Architecture and configuring method for a computer expansion board
US5333270A (en) * 1992-12-29 1994-07-26 National Semiconductor Corporation FDDI configuration management state machine controller
FR2700402B1 (fr) * 1993-01-13 1995-04-07 Sgs Thomson Microelectronics Microcontrôleur à mémoire électriquement programmable multimode.
CN100545828C (zh) * 1993-07-30 2009-09-30 佳能株式会社 控制连接到网络的网络设备的控制设备及其控制方法
JP2000513523A (ja) * 1996-06-21 2000-10-10 オーガニック システムズ インコーポレイテッド プロセスの即時制御を行う動的に再構成可能なハードウェアシステム
US5938764A (en) * 1996-10-23 1999-08-17 Micron Electronics, Inc. Apparatus for improved storage of computer system configuration information
US6222757B1 (en) * 1998-02-25 2001-04-24 Xilinx, Inc. Configuration memory architecture for FPGA
US6363437B1 (en) * 1999-01-07 2002-03-26 Telefonaktiebolaget Lm Ericsson (Publ) Plug and play I2C slave
US6542945B1 (en) * 1999-09-28 2003-04-01 Intel Corporation Instant configuration of a digital device
EP1102173A3 (en) * 1999-11-22 2005-01-19 Texas Instruments Incorporated Universal serial bus architecture
US6640262B1 (en) * 1999-12-20 2003-10-28 3Com Corporation Method and apparatus for automatically configuring a configurable integrated circuit
US6606670B1 (en) * 2000-08-16 2003-08-12 Microchip Technology Incorporated Circuit serial programming of default configuration
TW518502B (en) * 2001-07-13 2003-01-21 Prolific Technology Inc USB compound device and the realization method thereof
US7064579B2 (en) * 2002-07-08 2006-06-20 Viciciv Technology Alterable application specific integrated circuit (ASIC)

Also Published As

Publication number Publication date
US7788416B2 (en) 2010-08-31
AU2003292455A8 (en) 2004-07-09
WO2004055668A2 (en) 2004-07-01
EP1576468A3 (en) 2005-09-28
JP2006510966A (ja) 2006-03-30
US20060123145A1 (en) 2006-06-08
WO2004055668A3 (en) 2005-08-04
EP1576468A2 (en) 2005-09-21
CN100357890C (zh) 2007-12-26
AU2003292455A1 (en) 2004-07-09

Similar Documents

Publication Publication Date Title
CN1318979C (zh) 更新光盘系统固件的方法
TW393608B (en) A flash memory system providing both BIOS and user storage capability, an integrated circuit package, and a memory system for computer
US5978862A (en) PCMCIA card dynamically configured in first mode to program FPGA controlling application specific circuit and in second mode to operate as an I/O device
JPH05158511A (ja) 着脱式ファンクション・カード付きプログラマブル・コントローラ・プロセッサ
EP0444886A2 (en) Disk drive accessing system and method of accessing a disk drive
KR101260066B1 (ko) 직렬 및 병렬 인터페이스들을 포함하는 컴퓨터 시스템
JP4218522B2 (ja) 電子装置、情報処理装置、アダプタ装置及び情報交換システム
CN100357890C (zh) 封装的硬件配置/控制
JP4787841B2 (ja) 接点を有しおよびまたは接点のないチップカードをプログラミングするための電子モジュール
CN102043636B (zh) 现场可编程门阵列位文件下载的方法及装置
US6021498A (en) Power management unit including a programmable index register for accessing configuration registers
EP0363567B1 (en) A computer with interrupt controlled clock speed and its method of operation
Mustafa Microcomputer interfacing and applications
SERIES II et al. inU
US20030084257A1 (en) Flash emulator
WO1994016382A1 (en) Expansion bus
JP3629947B2 (ja) プログラマブルコントローラシステム、プログラマブルコントローラ支援装置、プログラマブルコントローラ、および、記録媒体
CN115857805B (zh) 人工智能可计算存储系统
JP2004021421A (ja) メモリ装置の制御方法およびそのプログラムならびに記録媒体
KR100402516B1 (ko) 내장형 마이크로 컨트롤러 유닛에서 프로그램 코드를갱신하는 방법
CN1719412A (zh) 更新部分基本输入输出系统的方法
Lauterbach System design of a magnetic disk controller
JPH07248927A (ja) 入出力エミュレーション回路およびデータチェック回路
EP0656586A1 (en) Method and system for switching between a processor upgrade card and a planar processor
JPS61251926A (ja) 外部記憶装置切替方法

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
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20071130

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20071130

Address after: Holland Ian Deho Finn

Patentee after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Patentee before: Koninklijke Philips Electronics N.V.

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071226

Termination date: 20131217