JP3816932B2 - 拡張可能な中央処理装置 - Google Patents
拡張可能な中央処理装置 Download PDFInfo
- Publication number
- JP3816932B2 JP3816932B2 JP2004261309A JP2004261309A JP3816932B2 JP 3816932 B2 JP3816932 B2 JP 3816932B2 JP 2004261309 A JP2004261309 A JP 2004261309A JP 2004261309 A JP2004261309 A JP 2004261309A JP 3816932 B2 JP3816932 B2 JP 3816932B2
- Authority
- JP
- Japan
- Prior art keywords
- control
- unit
- execution unit
- signal
- logic
- 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.)
- Expired - Lifetime
Links
- 238000012545 processing Methods 0.000 title claims description 42
- 238000012546 transfer Methods 0.000 claims description 98
- 238000000034 method Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 230000015654 memory Effects 0.000 description 15
- 230000006872 improvement Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000004020 conductor Substances 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- 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
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/30181—Instruction operation extension or modification
-
- 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/30181—Instruction operation extension or modification
- G06F9/30196—Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microcomputers (AREA)
- Executing Machine-Instructions (AREA)
- Programmable Controllers (AREA)
Description
「アサートする(assert)」と「ネゲートする(negate)」という言葉は、信号,ステータス・ビットまたは同様の装置を、それぞれ、論理的に真の状態にすることおよび論理的に偽の状態にすることを指すときに用いられる。論理的に真の状態が論理レベル1であるとすると、論理的に偽の状態は論理レベル0である。論理的に真の状態が論理レベル0であるとすると、論理的に偽の状態は論理レベル1である。
本発明により、CPUに拡張性を持たせることができ、回路構成を追加することが容易になったり、既存の回路構成をほとんど変更せずに新しい命令またはアルゴリズムを組み込むことができる。
まとめると、本発明により、新しいCPUまたは従来技術のCPUを拡張可能なものとして、拡張可能CPU12または12’に回路構成を容易に追加して、現在においても将来においても、さまざまな顧客の必要性を満足させることができる。その結果、個々の顧客の融通性を図るためのコストが大幅に削減された。CPUに関して「拡張可能」という言葉は、既存のCPU回路構成に大きな変更を加えることなく、特定の指定された回路構成を単に追加するだけでCPUに新たな命令を追加することができることを意味するために用いられる。第2制御ユニット64と第2状態シーケンサ68とを追加するだけで、新しい命令を追加することができる。第2制御ユニット64の大部分は、元の制御ユニット54の複製でよいこと、また第2状態シーケンサ68は元の状態シーケンサ58の複製でもよい場合があることに注目されたい。本発明の実施例には、1つ以上のデコーダ89,99,109,119を必要としないものもある。
12 拡張可能中央処理装置(CPU)
14 システム統合部
16 シリアル部
18 ランダム・アクセス・メモリ(RAM)
20 読み込み専用メモリ(ROM)(オプション)
22 その他のメモリ(オプション)
24 ポート論理
26 外部バス・インターフェース(オプション)
28 タイマ部
30 直接メモリ・アクセス(DMA)(オプション)
32 バス
Claims (2)
- 外部の制御拡張回路(52,152)と接続可能な実行ユニット(56,156)を有するデータ処理装置(12,12’)における方法であって:
前記実行ユニット(56,156)において、第1組の入力および第2組の入力を設ける段階;
当該データ処理装置(12,12’)において、第1組の命令および第2組の命令をもたらす段階;
当該データ処理装置(12,12’)において、第1組の命令に含まれ第2組の命令には含まれない第1命令を受信する段階;
該第1命令の受信に応答して、第1組の入力にもたらされた制御信号を介して前記実行ユニット(56,156)を制御する段階;
当該データ処理装置(12,12’)において、前記第1命令とは異なる拡張可能制御命令を受信する段階;
該拡張可能制御命令の受信に応答して、当該データ処理装置(12,12’)を第2組の命令を受信できるよう可能化する段階;
当該データ処理装置(12,12’)において、前記第2組の命令の一部であるが前記第1組の命令には含まれない第2命令を受信する段階;
該第2命令の受信に応答して、前記第2組の入力にもたらされた前記外部の制御拡張回路からの制御信号を介して前記実行ユニット(56,156)を制御する段階;
前記第1命令とは異なる第2の拡張可能制御命令を受信する段階;
該第2の拡張可能制御命令の受信に応答して、当該データ処理装置(12,12’)を第1組の命令を受信できるよう可能化する段階;
前記第1組の命令内の任意の命令を受信する段階;ならびに
該任意の命令の受信に応答して、第1組の入力にもたらされた制御信号を介して、前記実行ユニット(56,156)を制御する段階;
から構成されることを特徴とする方法。 - 外部の制御拡張回路(52,152)と接続可能なプロセッシングユニット(12,12’)であって:
第1組の実行ユニット制御信号を発生する第1制御ユニット(54,154);
前記外部の制御拡張回路内にあり、第2組の実行ユニット制御信号を発生する第2制御ユニット(64,164);
前記第1制御ユニット(54,154)と前記第2制御ユニット(64,164)とに結合された実行ユニット(56,156)であって、特殊制御転送命令以外の命令が実行されているときには、第1組および第2組の実行ユニット制御信号のうちの一方のみによって制御され、前記特殊制御転送命令の一部の間では第1組および第2組の実行ユニット制御信号の両方により制御される、実行ユニット(56,156);ならびに
前記第1制御ユニット(54,154)に結合された第1状態シーケンサ回路(58,158)及び前記第2制御ユニット(64,164)に結合され前記外部の制御拡張回路内にある第2状態シーケンサ回路(68,168)であり、特殊制御転送命令の受信の結果として、第1組の実行ユニット制御信号から第2組の実行ユニット制御信号へと前記実行ユニット(56,156)の制御の転送を開始する、第1及び第2の状態シーケンサ回路;
によって構成されることを特徴とする中央処理装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/982,327 US5848289A (en) | 1992-11-27 | 1992-11-27 | Extensible central processing unit |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31918593A Division JP3681182B2 (ja) | 1992-11-27 | 1993-11-26 | 拡張可能な中央処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005050365A JP2005050365A (ja) | 2005-02-24 |
JP3816932B2 true JP3816932B2 (ja) | 2006-08-30 |
Family
ID=25529045
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31918593A Expired - Lifetime JP3681182B2 (ja) | 1992-11-27 | 1993-11-26 | 拡張可能な中央処理装置 |
JP2004261309A Expired - Lifetime JP3816932B2 (ja) | 1992-11-27 | 2004-09-08 | 拡張可能な中央処理装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31918593A Expired - Lifetime JP3681182B2 (ja) | 1992-11-27 | 1993-11-26 | 拡張可能な中央処理装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5848289A (ja) |
EP (2) | EP1376336A3 (ja) |
JP (2) | JP3681182B2 (ja) |
KR (1) | KR100275059B1 (ja) |
DE (1) | DE69333853T2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044453A (en) * | 1997-09-18 | 2000-03-28 | Lg Semicon Co., Ltd. | User programmable circuit and method for data processing apparatus using a self-timed asynchronous control structure |
US6546479B1 (en) * | 1998-02-10 | 2003-04-08 | Koninklijke Philips Electronics N.V. | Reduced instruction fetch latency in a system including a pipelined processor |
US6099585A (en) * | 1998-05-08 | 2000-08-08 | Advanced Micro Devices, Inc. | System and method for streamlined execution of instructions |
US6317820B1 (en) * | 1998-06-05 | 2001-11-13 | Texas Instruments Incorporated | Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism |
US6510444B2 (en) | 1999-06-16 | 2003-01-21 | Motorola, Inc. | Data processor architecture and instruction format for increased efficiency |
WO2001069411A2 (en) | 2000-03-10 | 2001-09-20 | Arc International Plc | Memory interface and method of interfacing between functional entities |
US7043625B2 (en) * | 2000-03-27 | 2006-05-09 | Infineon Technologies Ag | Method and apparatus for adding user-defined execution units to a processor using configurable long instruction word (CLIW) |
JP3957948B2 (ja) | 2000-04-12 | 2007-08-15 | 富士通株式会社 | 演算処理装置 |
JP3930729B2 (ja) * | 2001-11-30 | 2007-06-13 | 富士通株式会社 | 半導体装置並びにこれを用いたフラットパネル表示装置及びそのデータドライバ |
JP4002151B2 (ja) * | 2002-07-31 | 2007-10-31 | 富士通株式会社 | 情報処理装置 |
EP1408405A1 (en) * | 2002-10-11 | 2004-04-14 | STMicroelectronics S.r.l. | "A reconfigurable control structure for CPUs and method of operating same" |
US8145882B1 (en) * | 2006-05-25 | 2012-03-27 | Mips Technologies, Inc. | Apparatus and method for processing template based user defined instructions |
US8688933B2 (en) | 2006-08-31 | 2014-04-01 | Hewlett-Packard Development Company, L.P. | Firmware component modification |
CN101539849B (zh) * | 2009-04-21 | 2013-10-16 | 北京红旗胜利科技发展有限责任公司 | 一种处理器以及一种寄存器选通方法 |
US20120226890A1 (en) * | 2011-02-24 | 2012-09-06 | The University Of Tokyo | Accelerator and data processing method |
US9274797B2 (en) | 2012-12-19 | 2016-03-01 | International Business Machines Corporation | Computer processor with instruction for execution based on available instruction sets |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4236204A (en) * | 1978-03-13 | 1980-11-25 | Motorola, Inc. | Instruction set modifier register |
US4293907A (en) * | 1978-12-29 | 1981-10-06 | Bell Telephone Laboratories, Incorporated | Data processing apparatus having op-code extension register |
US4374418A (en) * | 1979-06-27 | 1983-02-15 | Burroughs Corporation | Linear microsequencer unit cooperating with microprocessor system having dual modes |
EP0414811B1 (en) * | 1988-05-03 | 1997-02-19 | Wang Laboratories, Inc. | Microprocessor having external control store |
US5249273A (en) * | 1989-01-17 | 1993-09-28 | Fujitsu Limited | Microprocessor having a variable length instruction format |
US5150468A (en) * | 1989-06-30 | 1992-09-22 | Bull Hn Information Systems Inc. | State controlled instruction logic management apparatus included in a pipelined processing unit |
US5430862A (en) * | 1990-06-29 | 1995-07-04 | Bull Hn Information Systems Inc. | Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution |
JPH0476626A (ja) * | 1990-07-13 | 1992-03-11 | Toshiba Corp | マイクロコンピュータ |
EP0871108B1 (en) * | 1991-03-11 | 2000-09-13 | MIPS Technologies, Inc. | Backward-compatible computer architecture with extended word size and address space |
JP2677719B2 (ja) * | 1991-05-08 | 1997-11-17 | 富士通株式会社 | 情報処理装置 |
GB2266606B (en) * | 1992-04-27 | 1996-02-14 | Intel Corp | A microprocessor with an external command mode |
-
1992
- 1992-11-27 US US07/982,327 patent/US5848289A/en not_active Expired - Lifetime
-
1993
- 1993-09-24 DE DE69333853T patent/DE69333853T2/de not_active Expired - Lifetime
- 1993-09-24 EP EP03022386A patent/EP1376336A3/en not_active Withdrawn
- 1993-09-24 EP EP93115428A patent/EP0599012B1/en not_active Expired - Lifetime
- 1993-11-09 KR KR1019930023651A patent/KR100275059B1/ko not_active IP Right Cessation
- 1993-11-26 JP JP31918593A patent/JP3681182B2/ja not_active Expired - Lifetime
-
2004
- 2004-09-08 JP JP2004261309A patent/JP3816932B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69333853T2 (de) | 2006-04-13 |
EP0599012A3 (en) | 1995-01-04 |
EP0599012A2 (en) | 1994-06-01 |
EP0599012B1 (en) | 2005-08-10 |
JP3681182B2 (ja) | 2005-08-10 |
US5848289A (en) | 1998-12-08 |
JP2005050365A (ja) | 2005-02-24 |
KR940012160A (ko) | 1994-06-22 |
EP1376336A3 (en) | 2004-01-14 |
DE69333853D1 (de) | 2005-09-15 |
JPH0736691A (ja) | 1995-02-07 |
KR100275059B1 (ko) | 2000-12-15 |
EP1376336A2 (en) | 2004-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3816932B2 (ja) | 拡張可能な中央処理装置 | |
US4878174A (en) | Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions | |
KR100462951B1 (ko) | Risc 구조를 갖는 8 비트 마이크로콘트롤러 | |
KR100272937B1 (ko) | 마이크로프로세서및멀티프로세서시스템 | |
JP2004056716A (ja) | 半導体装置 | |
US5155819A (en) | Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions | |
US5412785A (en) | Microprogrammed data processor which includes a microsequencer in which a next microaddress output of a microROM is connected to the or-plane of an entry PLA | |
KR19980032103A (ko) | 컴퓨터에 있어서 스칼라값을 벡터로 기입하는 방법 | |
EP0954791B1 (en) | Eight-bit microcontroller having a risc architecture | |
US5838934A (en) | Host port interface | |
JPS589454B2 (ja) | プログラマブル制御ラツチ機構 | |
JP3616402B2 (ja) | 拡張可能なレジスタを提供するデータ処理システムおよびその方法 | |
EP0226991B1 (en) | Data-processing device | |
JP3705811B2 (ja) | 再構成可能なプログラム状態語を有するマイクロコントローラ | |
US5546353A (en) | Partitioned decode circuit for low power operation | |
EP0404132B1 (en) | CPU core suitable for a single-chip microcomputer | |
EP0136699B1 (en) | Programmable controller | |
US20020004877A1 (en) | Method and system for updating user memory in emulator systems | |
JPS6362778B2 (ja) | ||
KR20010072490A (ko) | 레지스터 스택을 포함하는 데이터 프로세서, 그 처리방법, 컴퓨터 프로그램 제품 및 멀티미디어 장치 | |
EP0335502A2 (en) | Microcontroller and associated method | |
JPS6258018B2 (ja) | ||
JPH08263290A (ja) | データ処理装置 | |
Salcic et al. | FLIX—a Custom-Configurable Microcomputer | |
JP2002157236A (ja) | 不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051004 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20051222 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051228 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060404 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060516 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060608 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100616 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100616 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110616 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120616 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130616 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |