JP2000507016A - メモリの命令を読み出す処理装置 - Google Patents
メモリの命令を読み出す処理装置Info
- Publication number
- JP2000507016A JP2000507016A JP10521161A JP52116198A JP2000507016A JP 2000507016 A JP2000507016 A JP 2000507016A JP 10521161 A JP10521161 A JP 10521161A JP 52116198 A JP52116198 A JP 52116198A JP 2000507016 A JP2000507016 A JP 2000507016A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- instructions
- memory
- processing 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
Description
Claims (1)
- 【特許請求の範囲】 1.− 処理ユニットと、 − この処理ユニットに対する命令を記憶するメモリと、 − このメモリから論理シーケンスで命令を読み出すとともにこの論理シーケ ンスで実行するために前記処理ユニットに前記命令を供給する読出しユニット とを有する処理装置において、前記メモリが複数の独立してアドレス指定可能 なメモリバンクを具え、論理的に連続する命令を、相違するメモリバンクに記 憶し、前記読出しユニットを、前記相違するメモリバンクから複数の命令を並 列に読み出すとともに、前記メモリバンクから瞬時的に並列に読み出される命 令に論理的に続く命令の読出しを開始することによって前記処理ユニットが命 令を実行を開始する度に、前記複数の命令を再び充填するように配置したこと を特徴とする処理装置。 2.前記処理ユニットが、連続的なN個のみの命令の実行を開始することができ 、少なくともメモリバンクのアドレス指定と読み出された命令の前記処理ユニ ットへの供給との間に要求される時間間隔中、前記読出しユニットを、種々の メモリバンクから前記N個の命令を並列に読み出すように配置したことを特徴 とする請求の範囲1記載の処理装置。 3.前記処理ユニットを、特に分岐命令を実行するために配置し、その後、前記 処理ユニットが、評価すべき条件を満足するか否かに依存して分岐ターゲット 命令又はこの前記分岐命令に論理的に続く命令を実行しつづけ、前記読出しユ ニットを、前記メモリからの読出しと前記処理ユニットへの供給との間にパイ プラインユニットの命令をバッファリングして、このパイプラインユニットの 分岐命令を検出し、別のメモリバンクが前記分岐命令に論理的に続く一つ以上 の命令のいずれも記憶していない場合には、前記分岐命令の検出に応答すると ともに前記分岐命令に論理的に続く一つ以上の命令の読出しに平行して前記別 のメモリバンクから分岐ターゲット命令の読出しを開始し、かつ、前記分岐命 令の実行後前記条件を満足するか否かに依存して、前記分岐ターゲット命令及 びそれに論理的に続く命令、又は前記分岐命令に論理的に続く命令及びそれに 論理的に続く命令を前記処理ユニットに供給するように配置したことを特徴と する請求の範囲1又は2記載の処理装置。 4.前記読出しユニットを、分岐ターゲット命令位置のアドレス指定と平行して 前記分岐ターゲット命令に論理的に連続する少なくとも一つの命令の命令位置 をアドレス指定するとともに、前記条件が満足された場合には前記少なくとも 一つの命令を内部段又は前記パイプラインユニットの各内部段にロードするよ うに配置したことを特徴とする請求の範囲3記載の処理装置。 5.前記処理ユニットが、少なくともメモリバンクのアドレス指定とそれに応じ て読み出された命令の前記処理ユニットへの供給との間に要求される時間間隔 中にN個の命令の連続的な実行を開始することができ、前記読出しユニットを 、前記分岐ターゲット命令のアドレス指定と平行して前記分岐ターゲット命令 に論理的に連続するN−1個の命令の命令位置をアドレス指定するとともに、 前記条件を満足する場合にはN−1個の命令を前記パイプラインユニットに並 列にロードするように配置したことを特徴とする請求の範囲4記載の処理装置 。 6.前記読出しユニットを、前記処理ユニットが命令の実行を開始する度に、条 件付きの分岐命令を検出した後前記処理ユニットがこの条件付きの分岐命令を 実行するまで、分岐命令に論理的に連続する命令及び前記分岐ターゲット命令 に論理的に連続する命令を相違するメモリバンクから並列に読み出し始めるよ うに配置したことを特徴とする請求の範囲3,4又は5記載の処理装置。 7.前記読出しユニットを、前記分岐命令に論理的に連続する命令の命令位置と 同一メモリバンクに前記分岐ターゲット命令位置を配置したか否かを検出する ようにするとともに、一致した場合には前記分岐命令に関する追加の情報に基 づいて、前記分岐ターゲット命令位置及びこれに論理的に続く命令の命令位置 、又は前記分岐命令に論理的に続く命令の命令位置及びそれに論理的に続く命 令の命令位置をアドレス指定するように配置したことを特徴とする請求の範囲 3,4,5又は6記載の処理装置。 8.前記分岐ターゲット命令及び前記分岐ターゲット命令に論理的に続くM個の 命令を、前記分岐命令に論理的に続く命令及びこの分岐命令に論理的に続くM 個の命令以外のメモリバンクに記憶するプログラムでプログラミングしたこと を特徴とする請求の範囲3から7のうちのいずれかに記載の処理装置。 9.前記読出しユニットを、命令が読み出されずに前記処理ユニットが命令の実 行を開始する準備ができている場合、実行すべき最初の命令及びこの実行すベ き最初の命令に論理的に続く少なくとも一つの命令を並列に読み出し始めるよ うに配置したことを特徴とする請求の範囲1から8のうちのいずれかに記載の 処理装置。 10.半導体基板上に集積したことを特徴とする請求の範囲1から9のうちのいず れかに記載の処理装置。 11.分岐命令を含む命令メモリに記憶すべき命令を発生させ、分岐ターゲット命 令及びそれに論理的に続く一つ以上の命令が前記分岐命令に続く同数の命令以 外のメモリバンクに記憶されるように前記命令メモリの命令の配置に適合させ るように配置したことを特徴とする請求の範囲1から9のうちのいずれかに記 載した処理装置用のコンパイラ。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP96203063 | 1996-11-04 | ||
| EP96203063.1 | 1996-11-04 | ||
| PCT/IB1997/001197 WO1998020415A1 (en) | 1996-11-04 | 1997-10-02 | Processing device, reads instructions in memory |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000507016A true JP2000507016A (ja) | 2000-06-06 |
Family
ID=8224542
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10521161A Ceased JP2000507016A (ja) | 1996-11-04 | 1997-10-02 | メモリの命令を読み出す処理装置 |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US6360311B1 (ja) |
| EP (1) | EP0877981B1 (ja) |
| JP (1) | JP2000507016A (ja) |
| KR (1) | KR19990076967A (ja) |
| DE (1) | DE69727127T2 (ja) |
| WO (1) | WO1998020415A1 (ja) |
Families Citing this family (49)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002073330A (ja) * | 2000-08-28 | 2002-03-12 | Mitsubishi Electric Corp | データ処理装置 |
| KR20040008714A (ko) * | 2002-07-19 | 2004-01-31 | 주식회사 하이닉스반도체 | 마이크로 제어 시스템에 있어서 메모리 정보를 읽는 장치 |
| US7412418B2 (en) | 2002-12-06 | 2008-08-12 | Ocwen Financial Corporation | Expense tracking, electronic ordering, invoice presentment, and payment system and method |
| US10127558B2 (en) * | 2002-12-06 | 2018-11-13 | Altisource S.À R.L. | Expense tracking, electronic ordering, invoice presentment, and payment system and method |
| US8266028B2 (en) * | 2002-12-06 | 2012-09-11 | Altisource Solutions S.à r.l. | Expense tracking, electronic ordering, invoice presentment, and payment system and method |
| US7254690B2 (en) * | 2003-06-02 | 2007-08-07 | S. Aqua Semiconductor Llc | Pipelined semiconductor memories and systems |
| US7702883B2 (en) * | 2005-05-05 | 2010-04-20 | Intel Corporation | Variable-width memory |
| CN101449256B (zh) | 2006-04-12 | 2013-12-25 | 索夫特机械公司 | 对载明并行和依赖运算的指令矩阵进行处理的装置和方法 |
| US8139071B1 (en) | 2006-11-02 | 2012-03-20 | Nvidia Corporation | Buffering unit to support graphics processing operations |
| US7999817B1 (en) | 2006-11-02 | 2011-08-16 | Nvidia Corporation | Buffering unit to support graphics processing operations |
| EP2122461A4 (en) | 2006-11-14 | 2010-03-24 | Soft Machines Inc | DEVICE AND METHOD FOR PROCESSING COMMUNICATIONS IN A MULTITHREAD ARCHITECTURE WITH CONTEXT CHANGES |
| US9100319B2 (en) | 2007-08-10 | 2015-08-04 | Fortinet, Inc. | Context-aware pattern matching accelerator |
| US8079084B1 (en) | 2007-08-10 | 2011-12-13 | Fortinet, Inc. | Virus co-processor instructions and methods for using such |
| US8375449B1 (en) | 2007-08-10 | 2013-02-12 | Fortinet, Inc. | Circuits and methods for operating a virus co-processor |
| US8286246B2 (en) | 2007-08-10 | 2012-10-09 | Fortinet, Inc. | Circuits and methods for efficient data transfer in a virus co-processing system |
| CN101394541A (zh) * | 2007-09-21 | 2009-03-25 | 中兴通讯股份有限公司 | 用于交互式网络电视系统的文件内容的分发方法 |
| EP2283578A1 (en) | 2008-05-21 | 2011-02-16 | Nxp B.V. | A data handling system comprising memory banks and data rearrangement |
| EP2283485A1 (en) * | 2008-05-21 | 2011-02-16 | Nxp B.V. | A data handling system comprising a rearrangement network |
| EP2616928B1 (en) | 2010-09-17 | 2016-11-02 | Soft Machines, Inc. | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
| KR101620676B1 (ko) | 2011-03-25 | 2016-05-23 | 소프트 머신즈, 인크. | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 레지스터 파일 세그먼트 |
| KR101636602B1 (ko) | 2011-03-25 | 2016-07-05 | 소프트 머신즈, 인크. | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트 |
| EP2689327B1 (en) | 2011-03-25 | 2021-07-28 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
| US9442772B2 (en) | 2011-05-20 | 2016-09-13 | Soft Machines Inc. | Global and local interconnect structure comprising routing matrix to support the execution of instruction sequences by a plurality of engines |
| CN107729267B (zh) | 2011-05-20 | 2022-01-25 | 英特尔公司 | 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构 |
| KR101842550B1 (ko) | 2011-11-22 | 2018-03-28 | 소프트 머신즈, 인크. | 다중 엔진 마이크로프로세서용 가속 코드 최적화기 |
| WO2013077876A1 (en) | 2011-11-22 | 2013-05-30 | Soft Machines, Inc. | A microprocessor accelerated code optimizer |
| US9280398B2 (en) | 2012-01-31 | 2016-03-08 | International Business Machines Corporation | Major branch instructions |
| US9229722B2 (en) | 2012-01-31 | 2016-01-05 | International Business Machines Corporation | Major branch instructions with transactional memory |
| US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
| KR102063656B1 (ko) | 2013-03-15 | 2020-01-09 | 소프트 머신즈, 인크. | 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법 |
| US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
| CN105247484B (zh) | 2013-03-15 | 2021-02-23 | 英特尔公司 | 利用本地分布式标志体系架构来仿真访客集中式标志体系架构的方法 |
| WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
| US20140281116A1 (en) | 2013-03-15 | 2014-09-18 | Soft Machines, Inc. | Method and Apparatus to Speed up the Load Access and Data Return Speed Path Using Early Lower Address Bits |
| US9582322B2 (en) | 2013-03-15 | 2017-02-28 | Soft Machines Inc. | Method and apparatus to avoid deadlock during instruction scheduling using dynamic port remapping |
| US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
| US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
| WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
| US9436476B2 (en) | 2013-03-15 | 2016-09-06 | Soft Machines Inc. | Method and apparatus for sorting elements in hardware structures |
| US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
| WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
| US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
| US9627038B2 (en) | 2013-03-15 | 2017-04-18 | Intel Corporation | Multiport memory cell having improved density area |
| US10140138B2 (en) * | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
| CN104424128B (zh) * | 2013-08-19 | 2019-12-13 | 上海芯豪微电子有限公司 | 变长指令字处理器系统和方法 |
| EP3143496B1 (en) | 2014-05-12 | 2021-07-14 | INTEL Corporation | Method and apparatus for providing hardware support for self-modifying code |
| US10019743B1 (en) | 2014-09-19 | 2018-07-10 | Altisource S.á r.l. | Methods and systems for auto expanding vendor selection |
| US11550577B2 (en) * | 2019-05-15 | 2023-01-10 | Western Digital Technologies, Inc. | Memory circuit for halting a program counter while fetching an instruction sequence from memory |
| CN113434198B (zh) * | 2021-06-25 | 2023-07-14 | 深圳市中科蓝讯科技股份有限公司 | Risc-v指令处理方法、存储介质及电子设备 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4727474A (en) * | 1983-02-18 | 1988-02-23 | Loral Corporation | Staging memory for massively parallel processor |
| US4636942A (en) * | 1983-04-25 | 1987-01-13 | Cray Research, Inc. | Computer vector multiprocessing control |
| CA1250667A (en) * | 1985-04-15 | 1989-02-28 | Larry D. Larsen | Branch control in a three phase pipelined signal processor |
| JPS63131230A (ja) * | 1986-11-21 | 1988-06-03 | Hitachi Ltd | 情報処理装置 |
| US5179680A (en) * | 1987-04-20 | 1993-01-12 | Digital Equipment Corporation | Instruction storage and cache miss recovery in a high speed multiprocessing parallel processing apparatus |
| US5127091A (en) * | 1989-01-13 | 1992-06-30 | International Business Machines Corporation | System for reducing delay in instruction execution by executing branch instructions in separate processor while dispatching subsequent instructions to primary processor |
| EP0407911B1 (en) * | 1989-07-07 | 1998-12-09 | Hitachi, Ltd. | Parallel processing apparatus and parallel processing method |
| US5261068A (en) * | 1990-05-25 | 1993-11-09 | Dell Usa L.P. | Dual path memory retrieval system for an interleaved dynamic RAM memory unit |
| US5287467A (en) * | 1991-04-18 | 1994-02-15 | International Business Machines Corporation | Pipeline for removing and concurrently executing two or more branch instructions in synchronization with other instructions executing in the execution unit |
| EP0544083A3 (en) * | 1991-11-26 | 1994-09-14 | Ibm | Interleaved risc-type parallel processor and processing methods |
| US5878245A (en) * | 1993-10-29 | 1999-03-02 | Advanced Micro Devices, Inc. | High performance load/store functional unit and data cache |
| US5619663A (en) * | 1994-09-16 | 1997-04-08 | Philips Electronics North America Corp. | Computer instruction prefetch system |
| US5784548A (en) * | 1996-03-08 | 1998-07-21 | Mylex Corporation | Modular mirrored cache memory battery backup system |
-
1997
- 1997-10-02 JP JP10521161A patent/JP2000507016A/ja not_active Ceased
- 1997-10-02 WO PCT/IB1997/001197 patent/WO1998020415A1/en not_active Ceased
- 1997-10-02 DE DE69727127T patent/DE69727127T2/de not_active Expired - Fee Related
- 1997-10-02 KR KR1019980705095A patent/KR19990076967A/ko not_active Ceased
- 1997-10-02 EP EP97941140A patent/EP0877981B1/en not_active Expired - Lifetime
- 1997-11-04 US US08/963,937 patent/US6360311B1/en not_active Expired - Lifetime
-
2001
- 2001-11-15 US US10/000,667 patent/US7124282B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US7124282B2 (en) | 2006-10-17 |
| WO1998020415A1 (en) | 1998-05-14 |
| US6360311B1 (en) | 2002-03-19 |
| DE69727127D1 (de) | 2004-02-12 |
| KR19990076967A (ko) | 1999-10-25 |
| EP0877981A1 (en) | 1998-11-18 |
| DE69727127T2 (de) | 2004-11-25 |
| US20020038415A1 (en) | 2002-03-28 |
| EP0877981B1 (en) | 2004-01-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2000507016A (ja) | メモリの命令を読み出す処理装置 | |
| JP2750311B2 (ja) | データ処理装置内のデータ・オペレーションの実行を制御する装置及び方法 | |
| US6473836B1 (en) | Computing system and cache memory control apparatus controlling prefetch in hierarchical cache memories | |
| US6247120B1 (en) | Instruction buffer for issuing instruction sets to an instruction decoder | |
| EP1003095B1 (en) | A computer system for executing branch instructions | |
| US5555384A (en) | Rescheduling conflicting issued instructions by delaying one conflicting instruction into the same pipeline stage as a third non-conflicting instruction | |
| JP4566738B2 (ja) | コンピュータメモリ装置 | |
| US6338137B1 (en) | Data processor having memory access unit with predetermined number of instruction cycles between activation and initial data transfer | |
| JPS6341093B2 (ja) | ||
| KR100955433B1 (ko) | 파이프라인 구조를 갖는 캐시 메모리 및 이를 제어하는방법 | |
| US5099421A (en) | Variable length pipe operations sequencing | |
| CN1761940B (zh) | 指令处理设备,指令执行方法和装置,指令编译方法和装置 | |
| JP3304444B2 (ja) | ベクトル処理装置 | |
| JP2000066894A (ja) | パイプライン化浮動小数点ストア | |
| JP4173858B2 (ja) | 命令キャッシュ、及びメモリ競合を低減する方法 | |
| US5897654A (en) | Method and system for efficiently fetching from cache during a cache fill operation | |
| JP3789937B2 (ja) | ベクトルプロセッサのためのチャンク連鎖 | |
| JPH0689173A (ja) | ブランチ・ヒストリーを持つ命令実行処理装置 | |
| JP2004192021A (ja) | マイクロプロセッサ | |
| US6367002B1 (en) | Apparatus and method for fetching instructions for a program-controlled unit | |
| EP0292188B1 (en) | Cache system | |
| JP2001513933A (ja) | キャッシュ再充填中のcpuアイドルサイクルを最小にする追加のレジスタ | |
| US6769057B2 (en) | System and method for determining operand access to data | |
| EP0465847B1 (en) | Memory access control having commonly shared pipeline structure | |
| EP0684564B1 (en) | Data transfer system and method in an information processing system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040930 |
|
| A72 | Notification of change in name of applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A721 Effective date: 20040930 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061205 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070305 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070416 |
|
| A313 | Final decision of rejection without a dissenting response from the applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A313 Effective date: 20070718 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070828 |