JP2006510966A - カプセル化ハードウェアの構成/制御 - Google Patents
カプセル化ハードウェアの構成/制御 Download PDFInfo
- Publication number
- JP2006510966A JP2006510966A JP2004560121A JP2004560121A JP2006510966A JP 2006510966 A JP2006510966 A JP 2006510966A JP 2004560121 A JP2004560121 A JP 2004560121A JP 2004560121 A JP2004560121 A JP 2004560121A JP 2006510966 A JP2006510966 A JP 2006510966A
- Authority
- JP
- Japan
- Prior art keywords
- configuration
- subsystem
- control
- hardware
- control unit
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2289—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
-
- 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
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
-
- 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/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4498—Finite state machines
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Executing Machine-Instructions (AREA)
- Information Transfer Systems (AREA)
Abstract
システムプログラマにのしかかる負担を緩和し、かつ、すなわち、現在の方法と比較して安全かつ誤りのない、複雑なハードウェアサブシステムを構成しかつ制御するための技術を提供する。本発明の一態様では、ハードウェアサブシステム(110)の構成は、制御装置部(113)および構成パラメータを格納する格納装置部(115)を含む構成制御装置をハードウェアに設けることによって達成される。構成制御装置(113)は、例えば構成/制御・IDに応答して起動され、その後、少なくとも1つの構成パラメータをハードウェアサブシステムのレジスタ(111)に格納することを含め、ハードウェアサブシステム(110)の構成を実行する。一般的に、構成制御装置ハードウェア(113)および格納装置(115)は、構成または制御対象のハードウェアサブシステム内に埋め込まれる。構成/制御・機能はこうして、システムプログラマが詳細を配慮する必要がないように、ハードウェアサブシステム(110)自体の中に「カプセル化」される。
Description
本発明は、ハードウェアサブシステムの構成および制御に関する。
集積密度が増加するにつれて、ハードウェアサブシステムはますます複雑になる。そのようなサブシステムは一般的に、起動時の初期化、およびその後の動作中の構成または再構成を必要とする。動作中のサブシステムの制御もまた、構成または再構成を引き起こすことがある。そのような初期化、構成、再構成、および制御は現在、ハードウェア、ファームウェア、またはソフトウェアに埋め込むことのできる、システムプログラミングを通して達成される。そのようなシステムプログラミングは困難であり、間違いが発生しやすく、かつプログラミングの観点からは安全でない。
現在、システムプログラマは最初に、ハードウェアサブシステムの詳細な仕様を読まなければならない。この仕様はしばしば非常に多量であり、かつ不明瞭であり、矛盾し、時代遅れであり、あるいは誤っていることがある。次に、プログラマは一般的に、ハードウェア抽象化言語(abstraction language)を符号化し、この言語は、仕様に言及している多数のレジスタおよび定義ビットを英数字記述に変換し、この英数字記述は、プログラマが数字の代わりに名前でハードウェアサブシステムを構成しかつ制御することを可能にする。一般的にこのタスクを支援するツールはない。したがって、ハードウェア抽象化言語の構築はえてして、多くのプログラマにとって魅力がなく、したがって間違いを起こしやすい、困難な置換のプロセスを含む。
このプロセスの結果、ハードウェア抽象化インタフェースを通過するコマンドおよびデータを順序付ける際に誤りが発生することがある。また、仕様が間違っていたか誤解されたために、誤りが発生することもある。さらに、ハードウェアサブシステムのインタフェースは事実上グローバルである(つまり、一般的に任意のタスクが任意のサブシステムのレジスタまたはメモリにアクセスすることができる)ので、誤った、または悪意のあるタスクが、大混乱を引き起こすおそれがある。この意味で、複雑なハードウェアサブシステムの構成および制御のための現在のスキームは安全ではない。
必要なのは、システムプログラマにのしかかる上記の負担を緩和し、かつ比較的に安全かつ誤りのない、複雑なハードウェアサブシステムの構成および制御のための技術である。
本発明は、一般的に言うと、システムプログラマにのしかかる上記の負担を緩和し、かつ現在の方法と比較して安全かつ誤りのない、複雑なハードウェアサブシステムを構成しかつ制御するための技術を提供する。本発明の一態様では、ハードウェアサブシステムの構成は、制御装置部(コントローラ部)と構成パラメータを格納する格納装置部(ストーリッジ部)とを含む構成制御装置(configuration/controller)をハードウェアに設けることによって達成される。構成制御装置は、例えば構成/制御(configuration/control)・IDに応答して駆動され、その後、少なくとも1つの構成パラメータをハードウェアサブシステムのレジスタに格納することを含め、ハードウェアサブシステムの構成を実行する。一般的に、構成制御装置ハードウェアおよび格納装置は、構成または制御対象のハードウェアサブシステム内に埋め込まれる。構成/制御・機能はこうして、システムプログラマが該機能の詳細を配慮する必要がないように、ハードウェアサブシステム自体の中に「カプセル化(encapsulated)」される。構成制御装置は例えば状態機械(ステートマシン)の形を取ることができる。
ハードウェアサブシステムは、システムの動作中の異なる時間に異なる構成を取ることがある。この場合、複数の構成/制御・IDを設けることができ、各構成/制御・IDが特定の構成に対応する。
本発明は、以下の詳細な説明および添付の図面を参照することにより、いっそう理解が深まるであろう。
今、図1を参照すると、カプセル化ハードウェア構成/制御を使用するシステムの回路図が示されている。システムは、例えば電子シャーシ、回路基板、マルチチップモジュールもしくは他のモジュール、「システムオンチップ」(SOC)集積回路もしくは他の集積回路等を含め、様々な形のいずれかとすることのできる電子システムである。システムはプロセッサ101およびシステムバス103を含むものとする。システムバスは、必要に応じて1つまたはそれ以上のバスブリッジインタフェースを使用して、他のバス(図示せず)に接続することができる。
システム内では、構成または制御対象のサブシステム110を含め、様々なサブシステムがシステムバスに接続される。例えばSOCの文脈(コンテクスト)において、1つのそのような典型的なサブシステムは、例えばUSB制御装置である。他の典型的なサブシステムとして、例えばSDRAM制御装置、PLL/クロックサブシステムブロック等が挙げられる。
構成または制御対象のサブシステム110は、単純化された形で、様々なハードウェアレジスタ111を含み、かつ加えて構成/制御・状態機械113およびアソシエィテドメモリ115を含むように図示されている。状態機械113は、複雑な命令セットプロセッサにならってパターン化することができる。メモリ115は一般的に読出し専用である。構成/制御・状態機械113はシステムバスと通信し、メモリ115は例えばサブシステムバス117を介して様々なレジスタと通信する。メモリ115の幅はサブシステムバス117の幅と合致することが好ましい。
動作中、サブシステム110を構成または制御するために、単一の簡単な構成/制御・IDがプロセッサ101から構成/制御・状態機械113に渡され、それはシステムソフトウェアには単にレジスタのようにしか見えない。構成/制御・状態機械113は、サブシステムのレジスタセット111への1回またはそれ以上の書込みサイクルを実行させることによって、構成/制御・IDに応答する。システムプログラマは、構成/制御・状態機械113の内部の働きを忘れることができる。
異なる構成または異なる制御動作を考慮して、複数組の構成データをメモリ115の異なる部分内に格納することができる。異なる組の構成データまたは異なる制御動作を指定するために、異なる構成/制御・IDを使用することができる。
単一のサブシステムに対し複数の構成/制御・IDを使用する一例は、特定のポート(つまりエンドポイント)が制御、割込み、アイソクロナス(Isochronous)、またはバルクモード(Bulk Mode)で動作することのできる、USB(ユニバーサルシリアルバス)ブロックである。この場合、異なる構成/制御・IDが各モードに割り当てられる。各々の異なるモードに対し、構成/制御・状態機械113は対応する構成/制御・IDに応答して、先行技術の手法で遭遇した誤りの著しい潜在的可能性なしに、潜在的に多数のレジスタ(例えばエンドポイントイネーブルレジスタ、エンドポイント割込みレジスタ、DMA制御レジスタ等)に書き込む。システムソフトウェアはこれらの「内部」レジスタのいずれについても知る必要がなく、代わりに、システムソフトウェアは単に、比較的少数の構成/制御・IDを知る必要があるだけである。簡単な構成/制御・IDを単一の「レジスタ」(構成/制御・状態機械113)に書き込むことによって、所望の構成が確実に達成される。
構成/制御・IDは、様々なサブシステムハードウェアオプションを使用可能または使用禁止にすることができる。例えばUSB制御装置の場合、制御機能として、USBパケットが無事に受信された後のDMA制御装置の自動再初期化を使用可能にまたは使用禁止にすることが挙げられる。(このオプションを使用可能にした場合、DMA機能はソフトウェアの介在なしに次のパケットをすぐに受け入れることができる)。制御モードに対応する構成/制御・IDは一般的にこのオプションを使用可能にするが、バルクモードに対応する構成/制御・IDは一般的にそうしない。
複数の異なる制御IDを使用して、サブシステムの特定の内部の働きにアクセスすることができる。例えばUSBサブシステムでは、ソフトウェアによって制御される1つの機能は、USBバストラヒックがないときに電力を低減するために、サブシステムをサスペンドモードにすることである。単一の一意(ユニーク)の制御IDをこの機能に割り当てることができる。ソフトウェアは、このモードを使用可能にするために、単にこのIDをサブシステムに書き込むだけである。実際のレジスタおよびこの機能を実行するレジスタ内の特定のビットは、見えないように隠される(つまりカプセル化される)。このスキームの追加の利点は、ソフトウェアを変更することなく、USBブロックの完全な再設計を実現することができることである。
このように特定の実施形態に関して本発明を説明したが、本発明は、その精神または本質的特長から逸脱することなく、他の特定の形態で具現することができることを、当業者は理解されるであろう。したがって、現在開示する実施形態は、あらゆる点において例証であって、限定ではない。発明の範囲は、上記の説明ではなく、むしろ特許請求の範囲の記載によって示され、その均等物の趣旨および範囲内の全ての変形はその中に包含されるものとする。
Claims (10)
- サブシステムの構成または制御を実行する方法であって、
制御装置部(113)と、構成パラメータを格納する格納装置部(115)と、を有する構成/制御・ユニットを、サブシステムと共に設け、
前記構成/制御・ユニットで駆動信号を受け取り、
さらに、前記構成/制御・ユニットが、前記駆動信号に応答して、少なくとも1つの構成パラメータを前記サブシステム内のある場所(111)に格納することを含んだ、前記サブシステム(110)の構成または制御、を実行する、
方法。 - 前記サブシステム(110)がハードウェアサブシステムであり、かつ前記構成/制御・ユニットがハードウェア構成/制御・ユニットである請求項1に記載の方法。
- 前記ハードウェアサブシステム(110)および前記ハードウェア構成/制御・ユニットが共に同一集積回路内に設けられる請求項1に記載の方法。
- 前記駆動信号が構成/制御・IDである請求項1に記載の方法。
- 前記構成/制御・ユニットが、前記サブシステム(110)に対し異なる対応する構成または制御・動作を実行するために、複数の異なる構成/制御・IDに応答する請求項4に記載の方法。
- 自己構成能力を有するサブシステムであって、
前記サブシステムがレジスタの内容に応じて異なるように機能するように構成された、複数のレジスタを含むレジスタ部分(111)と、
制御装置部(113)と、構成パラメータを格納する格納装置部(115)と、を有する構成/制御・ユニットと
を備え、
前記構成/制御・ユニットは、少なくとも1つの構成パラメータを前記サブシステム(110)内のある場所(111)に格納することを含んだ、前記サブシステム(110)の構成または制御を、実行するために駆動信号に応答するように構成されている、
サブシステム。 - サブシステム(110)がハードウェアサブシステムであり、かつ前記構成/制御・ユニットがハードウェア構成/制御・ユニットである請求項6に記載の装置。
- 前記ハードウェアサブシステム(110)および前記ハードウェア構成/制御・ユニットが共に同一集積回路内に設けられる請求項7に記載の装置。
- 前記駆動信号が構成/制御ユニットIDである請求項6に記載の装置。
- 前記構成/制御・ユニットが、前記サブシステム(110)に対し異なる対応する構成または制御動作を実行するために、複数の異なる構成/制御・IDに応答する請求項9に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US43473802P | 2002-12-18 | 2002-12-18 | |
PCT/IB2003/006008 WO2004055668A2 (en) | 2002-12-18 | 2003-12-17 | Encapsulated hardware configuration/control |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006510966A true JP2006510966A (ja) | 2006-03-30 |
JP2006510966A5 JP2006510966A5 (ja) | 2007-02-08 |
Family
ID=32595302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004560121A Withdrawn JP2006510966A (ja) | 2002-12-18 | 2003-12-17 | カプセル化ハードウェアの構成/制御 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7788416B2 (ja) |
EP (1) | EP1576468A3 (ja) |
JP (1) | JP2006510966A (ja) |
CN (1) | CN100357890C (ja) |
AU (1) | AU2003292455A1 (ja) |
WO (1) | WO2004055668A2 (ja) |
Families Citing this family (6)
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 |
US7650437B2 (en) | 2006-08-01 | 2010-01-19 | Research In Motion Limited | System and method for managing hardware configuration parameters |
EP1909172A1 (en) * | 2006-08-01 | 2008-04-09 | 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)
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. |
CN1113302C (zh) * | 1993-07-30 | 2003-07-02 | 佳能株式会社 | 通过通信线路控制设备的控制器和方法 |
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) |
-
2003
- 2003-12-17 JP JP2004560121A patent/JP2006510966A/ja not_active Withdrawn
- 2003-12-17 EP EP03768034A patent/EP1576468A3/en not_active Ceased
- 2003-12-17 CN CNB2003801066519A patent/CN100357890C/zh not_active Expired - Fee Related
- 2003-12-17 US US10/538,458 patent/US7788416B2/en active Active
- 2003-12-17 WO PCT/IB2003/006008 patent/WO2004055668A2/en active Application Filing
- 2003-12-17 AU AU2003292455A patent/AU2003292455A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
AU2003292455A8 (en) | 2004-07-09 |
WO2004055668A3 (en) | 2005-08-04 |
EP1576468A2 (en) | 2005-09-21 |
US7788416B2 (en) | 2010-08-31 |
EP1576468A3 (en) | 2005-09-28 |
WO2004055668A2 (en) | 2004-07-01 |
AU2003292455A1 (en) | 2004-07-09 |
CN100357890C (zh) | 2007-12-26 |
CN1729450A (zh) | 2006-02-01 |
US20060123145A1 (en) | 2006-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3364495B2 (ja) | 追加ボード | |
KR100280637B1 (ko) | 고정된플래시롬의데이터갱신이가능한컴퓨터시스템및그제어방법 | |
JPH0583941B2 (ja) | ||
JP2006293544A (ja) | 数値制御システム | |
JP2006510966A (ja) | カプセル化ハードウェアの構成/制御 | |
JP2001134629A (ja) | シミュレーション方法およびシミュレーション装置 | |
JP2000163268A (ja) | コンピュータ | |
US11586446B1 (en) | System and methods for hardware-based PCIe link up based on post silicon characterization | |
JP2907808B1 (ja) | フラッシュメモリエミュレーション装置及びそれを用いたデバッグシステム | |
JP4083474B2 (ja) | メモリ装置の制御方法およびそのプログラムならびに記録媒体 | |
US20020004877A1 (en) | Method and system for updating user memory in emulator systems | |
JPH10283172A (ja) | フラッシュromデータ書き換え方式 | |
JP2000029679A (ja) | フラッシュメモリをbios―romとして使用したパ―ソナルコンピュ―タ | |
JPH10198524A (ja) | ハードディスク制御装置 | |
JPH11328089A (ja) | Pciバスインタフェース用デバイスにおけるid情報書き込み回路 | |
JPH1185529A (ja) | データ記憶システム及びコンピュータシステムの起動方法 | |
JPH10312307A (ja) | コンピュータシステムに適用するエミュレータ | |
JP2978008B2 (ja) | メモリ管理方式 | |
JPH04313117A (ja) | プリンタ | |
JP2006163555A (ja) | メモリ制御装置およびそのメモリ制御方法 | |
JPH10247187A (ja) | 1チップマイクロコンピュータ | |
JP2002373089A (ja) | コンピュータ装置 | |
JPH1153224A (ja) | ウォッチドッグタイマ及びマイクロコンピュータ | |
JP2000242516A (ja) | エミュレータシステム | |
JPH09282897A (ja) | Romライター装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061215 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061215 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080703 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090928 |