KR920022101A - 개량된 메모리 아키텍쳐를 위한 방법 및 장치 - Google Patents
개량된 메모리 아키텍쳐를 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR920022101A KR920022101A KR1019920007921A KR920007921A KR920022101A KR 920022101 A KR920022101 A KR 920022101A KR 1019920007921 A KR1019920007921 A KR 1019920007921A KR 920007921 A KR920007921 A KR 920007921A KR 920022101 A KR920022101 A KR 920022101A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- command
- load
- instruction
- address
- Prior art date
Links
- 239000000872 buffer Substances 0.000 claims 14
- 239000012536 storage buffer Substances 0.000 claims 6
- 238000001514 detection method Methods 0.000 claims 3
- 230000004044 response Effects 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 3
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- 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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch 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/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- 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/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- 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/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
내용 없음
Description
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제3도는 본 발명의 교지를 이용하는 메모리 모델의 개념도.
제5도는 본 발명의 교지를 이용하는 총 기억순서매김(TSO) 메모리 모델의 개념도.
제6도는 본 발명의 교지를 이용하는 총 기억순서매김(PSO) 메모리 모델의 개념도.
Claims (6)
- 메모리 수단에 결합된 복수의 프로세서를 포함하고, 상기 프로세서가 로드 및 기억명령을 발생하고, 이 명령을 실행하기 위해 상기 메모리수단에 제공하고, 상기 로드 및 기억명령의 각각은 메모리 번지를 포함하고, 상기 메모리수단이 상기 프로세서의 각각에 결합되고, 소정의 순서로 상기 기억명령을 기억하기 위한 기억 버퍼 수단, 상기 기억버퍼수단에 결합되고, 데이타를 기억하기 위해 복수의 번지를 포함하고, 상기 기억버퍼 수단으로부터 상기 기억명령을 수신하고 상기 기억명령을 수신하고 상기 기억 명령을 실행하는 메모리장치, 로드 명령을 감지하기 위해 상기 기억버퍼수단과 상기 프로세서에 결합되고, 상기 기억버퍼수단에서 상기 로드 명령의 메모리 번지를 상기 기억명령의 상기 메모리번지와 비교함으로써 만약 상기 로드명령의 메모리번지가 기억명령의 메모리번지와 매치된다면 그후 상기 기억명령의 데이타는 상기 로드 명령이 응답하여 상기 프로세서로 복귀되고, 매치가 안될 경우 상기 로드 명령은 실행을 위해 상기 메모리장치에 결합되는 검출수단, 및 실행하기 위해 상기 기억버퍼수단으로 부터 상기 기억명령을 상기 메모리 장치로 전달하고, 상기 로드 명령을 상기 메모리 장치로 전달하기 위해 상기 검출수단에 추가로 연결되는 스위칭 수단으로 구성되는 것을 특징으로 하는 컴퓨터 시스템.
- 제1항에 있어서, 상기 기억명령이 첫번째로 들어가고 첫번째로 나오는(FIFO)로 순서로 상기 기억버퍼수단에 기억되는 것을 특징으로 하는 컴퓨터 시스템.
- 제1항에 있어서, 상기 프로세서가 자동 로드-기억 명령을 추가로 발생하며, 상기 로드-기억명령이 상기 기억명령과 함께 상기 기억버퍼수단에 저장되는 것을 특징으로 하는 컴퓨터 시스템.
- 메모리 수단에 결합된 복수의 프로세서를 포함하고, 상기 프로세서가 로드 및 기억명령을 발생하고, 이 명령을 실행하기 위해 상기 메모리수단에 제공하고, 상기 로드 및 기억명령의 각각은 메모리 번지를 포함하고, 상기 기억 명령은 기억될 데이타를 추가로 포함하고, 상기 메모리수단이, 상기 프로세서의 각각에 결합되고, 사용자가 특정순서로 상기 기억명령을 실행하기를 원할때, 상기 기억명령의 실행순서를 보장하기 위한 순서수단을 포함하는 기억버퍼수단, 상기 기억버퍼수단에 결합되고, 데이타를 기억하기 위해 복수의 번지를 포함하고, 상기 기억버퍼 수단으로부터 상기 기억명령을 수신하고 상기 기억 명령을 실행하는 메모리장치, 로드 명령을 감지하기 위해 상기 기억버퍼수단과 상기 프로세서에 결합되고, 상기 기억버퍼수단에서 상기 로드 명령의 메모리 번지를 상기 기억명령의 상기 메모리번지와 비교함으로써 만약 상기 로드명령의 메모리번지가 기억명령의 메모리 번지와 배치된다면 그후 상기 기억명령의 데이타는 상기 로드 명령이 응답하여 상기 프로세서로 복귀되고, 매치가 안될 경우 상기 로드 명령은 실행을 위해 상기 메모리장치에 결합되는 검출수단, 및 실행하기 위해 상기 기억버퍼수단으로 부터 상기 기억명령을 상기 메모리 장치로 전달하고, 상기 로드 명령을 상기 메모리 장치로 전달하기 위해 상기 검출수단에 추가로 연결되는 스위칭 수단으로 구성되는 것을 특징으로 하는 컴퓨터 시스템.
- 제4항에 있어서, 상기 프로세서 자동 로드-기억명령을 추가로 포함하고, 상기 자동 로드-기억명령이 상기 기억명령과 함께 상기 기억버퍼수단에 기억되는 것을 특징으로 하는 컴퓨터 시스템.
- 메모리수단에 연결된 복수의 프로세서를 포함하는 컴퓨터 시스템에 있어서, 실행하기 위해 로드 및 기억명령을 발생하고 실행하기 위해 상기 명령을 상기 메모리수단이 제공하고, 각각의 상기 로드 및 기억명령이 기억될 데이타를 포함하고, 상기 기억명령을 기억버퍼수단에 기억하고, 상기 기억버퍼수단이 상기 프로세서의 각각에 결합되는 단계, 메모리 장치에 상기 기억명령을 수신해서 실행하고, 이 메모리장치가 상기 기억버퍼수단에 결합되고 데이타를 기억하기 위해 복수의 번지를 포함하는 단계, 상기 기억버퍼수단에서 상기 로드 명령의 상기 메모리번지를 상기 기억명령의 메모리 번지와 비교하는 단계와, 상기 로드 명령의 메모리번지가 기억 명령의 메모리번지와 매치되면 아기 로드 명령에 응답하여 상기 기억명령의 상기 데이타를 상기 프로세서의 복귀하는 단계와 상기 로드명령의 메모리번지가 상기 기억명령의 메모리 번지와 매치되지 않으면 실행하기 위해 상기 검출수단으로부터 상기 메모리 장치로 로드명령어를 전달하고 상기 기억수단으로부터 상기 메모리장치로 기억명령어를 전달하는 단계로 구성되는 검출수단에서 상기 프로세서에 의해 제공된 로드 명령을 검출하는 단계로 구성되는 것을 특징으로 하는 방법.※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US702,781 | 1991-05-17 | ||
US07/702,781 US5265233A (en) | 1991-05-17 | 1991-05-17 | Method and apparatus for providing total and partial store ordering for a memory in multi-processor system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR920022101A true KR920022101A (ko) | 1992-12-19 |
KR100243853B1 KR100243853B1 (ko) | 2000-02-01 |
Family
ID=24822571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019920007921A KR100243853B1 (ko) | 1991-05-17 | 1992-05-11 | 개량된메모리아키텍쳐를위한방법및장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5265233A (ko) |
EP (1) | EP0514024B1 (ko) |
JP (1) | JPH05233421A (ko) |
KR (1) | KR100243853B1 (ko) |
DE (1) | DE69231197T2 (ko) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5398325A (en) * | 1992-05-07 | 1995-03-14 | Sun Microsystems, Inc. | Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems |
US5434993A (en) * | 1992-11-09 | 1995-07-18 | Sun Microsystems, Inc. | Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories |
US6144930A (en) * | 1993-06-09 | 2000-11-07 | Compaq Computer Corporation | Method for providing a memory model of a memory device for use in simulation |
US5506967A (en) * | 1993-06-15 | 1996-04-09 | Unisys Corporation | Storage queue with adjustable level thresholds for cache invalidation systems in cache oriented computer architectures |
EP0679990B1 (en) * | 1994-04-28 | 2000-03-01 | Hewlett-Packard Company | A computer apparatus having a means to force sequential instruction execution |
US5745732A (en) * | 1994-11-15 | 1998-04-28 | Cherukuri; Ravikrishna V. | Computer system including system controller with a write buffer and plural read buffers for decoupled busses |
US5699538A (en) * | 1994-12-09 | 1997-12-16 | International Business Machines Corporation | Efficient firm consistency support mechanisms in an out-of-order execution superscaler multiprocessor |
US6073211A (en) * | 1994-12-13 | 2000-06-06 | International Business Machines Corporation | Method and system for memory updates within a multiprocessor data processing system |
US5692153A (en) * | 1995-03-16 | 1997-11-25 | International Business Machines Corporation | Method and system for verifying execution order within a multiprocessor data processing system |
US5797043A (en) * | 1996-03-13 | 1998-08-18 | Diamond Multimedia Systems, Inc. | System for managing the transfer of data between FIFOs within pool memory and peripherals being programmable with identifications of the FIFOs |
US5822553A (en) * | 1996-03-13 | 1998-10-13 | Diamond Multimedia Systems, Inc. | Multiple parallel digital data stream channel controller architecture |
US5778244A (en) * | 1996-10-07 | 1998-07-07 | Timeplex, Inc. | Digital signal processing unit using digital signal processor array with recirculation |
US6748493B1 (en) | 1998-11-30 | 2004-06-08 | International Business Machines Corporation | Method and apparatus for managing memory operations in a data processing system using a store buffer |
US6678810B1 (en) * | 1999-12-30 | 2004-01-13 | Intel Corporation | MFENCE and LFENCE micro-architectural implementation method and system |
US7538772B1 (en) * | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
US6678807B2 (en) * | 2000-12-21 | 2004-01-13 | Intel Corporation | System and method for multiple store buffer forwarding in a system with a restrictive memory model |
JP4180569B2 (ja) * | 2003-01-27 | 2008-11-12 | 富士通株式会社 | 記憶制御装置、データキャッシュ制御装置、中央処理装置、記憶装置制御方法、データキャッシュ制御方法およびキャッシュ制御方法 |
US20050210204A1 (en) * | 2003-01-27 | 2005-09-22 | Fujitsu Limited | Memory control device, data cache control device, central processing device, storage device control method, data cache control method, and cache control method |
US7360035B2 (en) | 2004-09-01 | 2008-04-15 | International Business Machines Corporation | Atomic read/write support in a multi-module memory configuration |
US7606998B2 (en) * | 2004-09-10 | 2009-10-20 | Cavium Networks, Inc. | Store instruction ordering for multi-core processor |
CN101689143B (zh) * | 2007-06-20 | 2012-07-04 | 富士通株式会社 | 高速缓存控制装置以及控制方法 |
JP5094822B2 (ja) * | 2008-12-04 | 2012-12-12 | 韓國電子通信研究院 | 多重プロセッサを含むメモリアクセス装置 |
KR101635395B1 (ko) * | 2010-03-10 | 2016-07-01 | 삼성전자주식회사 | 멀티포트 데이터 캐시 장치 및 멀티포트 데이터 캐시 장치의 제어 방법 |
US9052890B2 (en) | 2010-09-25 | 2015-06-09 | Intel Corporation | Execute at commit state update instructions, apparatus, methods, and systems |
US8713259B2 (en) * | 2010-11-17 | 2014-04-29 | Advanced Micro Devices, Inc. | Method and apparatus for reacquiring lines in a cache |
US9361103B2 (en) * | 2012-11-02 | 2016-06-07 | Advanced Micro Devices, Inc. | Store replay policy |
JP6191172B2 (ja) * | 2013-03-12 | 2017-09-06 | 日本電気株式会社 | メモリコントローラ、プロセッサ、演算処理方法、及び、演算命令ライブラリ。 |
US10345883B2 (en) * | 2016-05-31 | 2019-07-09 | Taiwan Semiconductor Manufacturing Co., Ltd. | Power estimation |
US11914511B2 (en) * | 2020-06-22 | 2024-02-27 | Apple Inc. | Decoupling atomicity from operation size |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4136386A (en) * | 1977-10-06 | 1979-01-23 | International Business Machines Corporation | Backing store access coordination in a multi-processor system |
JPS621067A (ja) * | 1985-02-25 | 1987-01-07 | Hitachi Ltd | ベクトル処理装置 |
JPH0731669B2 (ja) * | 1986-04-04 | 1995-04-10 | 株式会社日立製作所 | ベクトル・プロセツサ |
US5023776A (en) * | 1988-02-22 | 1991-06-11 | International Business Machines Corp. | Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage |
US5148536A (en) * | 1988-07-25 | 1992-09-15 | Digital Equipment Corporation | Pipeline having an integral cache which processes cache misses and loads data in parallel |
US5043886A (en) * | 1988-09-16 | 1991-08-27 | Digital Equipment Corporation | Load/store with write-intent for write-back caches |
US4905141A (en) * | 1988-10-25 | 1990-02-27 | International Business Machines Corporation | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification |
US5201041A (en) * | 1988-12-29 | 1993-04-06 | International Business Machines Corporation | Cache bypass apparatus |
US5202972A (en) * | 1988-12-29 | 1993-04-13 | International Business Machines Corporation | Store buffer apparatus in a multiprocessor system |
US5185871A (en) * | 1989-12-26 | 1993-02-09 | International Business Machines Corporation | Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions |
-
1991
- 1991-05-17 US US07/702,781 patent/US5265233A/en not_active Expired - Lifetime
-
1992
- 1992-04-21 EP EP92303551A patent/EP0514024B1/en not_active Expired - Lifetime
- 1992-04-21 DE DE69231197T patent/DE69231197T2/de not_active Expired - Fee Related
- 1992-05-11 KR KR1019920007921A patent/KR100243853B1/ko not_active IP Right Cessation
- 1992-05-18 JP JP4149015A patent/JPH05233421A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
DE69231197T2 (de) | 2001-03-15 |
JPH05233421A (ja) | 1993-09-10 |
EP0514024A3 (ko) | 1994-05-04 |
EP0514024B1 (en) | 2000-06-28 |
US5265233A (en) | 1993-11-23 |
KR100243853B1 (ko) | 2000-02-01 |
DE69231197D1 (de) | 2000-08-03 |
EP0514024A2 (en) | 1992-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR920022101A (ko) | 개량된 메모리 아키텍쳐를 위한 방법 및 장치 | |
KR930001086A (ko) | 집적된 승산/누산 유니트를 갖는 cpu | |
KR950007448B1 (ko) | 집적회로 메모리 시스템 | |
JPH04505818A (ja) | 並列多重糸データ処理システム | |
KR910014818A (ko) | 데이타 처리 시스템 | |
KR910001555A (ko) | 데이타 프로세서 | |
ES8103868A1 (es) | Un sistema para acceder a modulos de memoria | |
GB1203003A (en) | Multiprocessing computer system | |
KR930002935A (ko) | 정보 처리 장치 | |
GB920696A (en) | Cryogenic memory systems | |
KR930700907A (ko) | 스톨캐쉬를 제공하기 위한 장치 및 방법 | |
KR880011676A (ko) | 캐쉬 메모리를 사용한 블록 액세스 방식 | |
JP2015184706A (ja) | 半導体装置及び命令読み出し制御方法 | |
KR930010742A (ko) | 메모리 억세스 장치 | |
KR900016865A (ko) | 파이프라인방식의 분기명령제어장치 | |
KR970705086A (ko) | 같은 클락 사이클 동안에 캐쉬 메모리와 외부 메모리 제어기로 메모리 요청을 하는 파이프라인 마이크로프로세서(A Pipelined Microprocessor that Makes Memory Requests to a Cache Memory and an external Memory Controller During the Same Clock Cycle) | |
JPH07114509A (ja) | メモリアクセス装置 | |
JPS6429933A (en) | Store buffer controller for buffer storage system | |
KR920018768A (ko) | 고유의 버스트 검색 기능을 가진 데이타 저장 시스템 | |
JP2776388B2 (ja) | 記憶制御方法及び記憶装置 | |
KR890008681A (ko) | 프로세서 제어 장치 | |
JP2622138B2 (ja) | 情報処理装置 | |
KR930006551A (ko) | 시스템 프로그램의 로딩 방법 | |
JPH0520253A (ja) | データ処理装置 | |
JPH05342094A (ja) | コンピュータ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20031106 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |