KR920022101A - 개량된 메모리 아키텍쳐를 위한 방법 및 장치 - Google Patents

개량된 메모리 아키텍쳐를 위한 방법 및 장치 Download PDF

Info

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
Application number
KR1019920007921A
Other languages
English (en)
Other versions
KR100243853B1 (ko
Inventor
프라롱 쟝-마크
신두 프레디프
체클로브 미셀
파웰 마이클
젠슨 에릭
Original Assignee
마이클 에이치.모리스
선 마이크로시스템즈 인코오퍼레이티드
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 마이클 에이치.모리스, 선 마이크로시스템즈 인코오퍼레이티드 filed Critical 마이클 에이치.모리스
Publication of KR920022101A publication Critical patent/KR920022101A/ko
Application granted granted Critical
Publication of KR100243853B1 publication Critical patent/KR100243853B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache 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)
    • 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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30079Pipeline control instructions, e.g. multicycle NOP
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining 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. 메모리 수단에 결합된 복수의 프로세서를 포함하고, 상기 프로세서가 로드 및 기억명령을 발생하고, 이 명령을 실행하기 위해 상기 메모리수단에 제공하고, 상기 로드 및 기억명령의 각각은 메모리 번지를 포함하고, 상기 메모리수단이 상기 프로세서의 각각에 결합되고, 소정의 순서로 상기 기억명령을 기억하기 위한 기억 버퍼 수단, 상기 기억버퍼수단에 결합되고, 데이타를 기억하기 위해 복수의 번지를 포함하고, 상기 기억버퍼 수단으로부터 상기 기억명령을 수신하고 상기 기억명령을 수신하고 상기 기억 명령을 실행하는 메모리장치, 로드 명령을 감지하기 위해 상기 기억버퍼수단과 상기 프로세서에 결합되고, 상기 기억버퍼수단에서 상기 로드 명령의 메모리 번지를 상기 기억명령의 상기 메모리번지와 비교함으로써 만약 상기 로드명령의 메모리번지가 기억명령의 메모리번지와 매치된다면 그후 상기 기억명령의 데이타는 상기 로드 명령이 응답하여 상기 프로세서로 복귀되고, 매치가 안될 경우 상기 로드 명령은 실행을 위해 상기 메모리장치에 결합되는 검출수단, 및 실행하기 위해 상기 기억버퍼수단으로 부터 상기 기억명령을 상기 메모리 장치로 전달하고, 상기 로드 명령을 상기 메모리 장치로 전달하기 위해 상기 검출수단에 추가로 연결되는 스위칭 수단으로 구성되는 것을 특징으로 하는 컴퓨터 시스템.
  2. 제1항에 있어서, 상기 기억명령이 첫번째로 들어가고 첫번째로 나오는(FIFO)로 순서로 상기 기억버퍼수단에 기억되는 것을 특징으로 하는 컴퓨터 시스템.
  3. 제1항에 있어서, 상기 프로세서가 자동 로드-기억 명령을 추가로 발생하며, 상기 로드-기억명령이 상기 기억명령과 함께 상기 기억버퍼수단에 저장되는 것을 특징으로 하는 컴퓨터 시스템.
  4. 메모리 수단에 결합된 복수의 프로세서를 포함하고, 상기 프로세서가 로드 및 기억명령을 발생하고, 이 명령을 실행하기 위해 상기 메모리수단에 제공하고, 상기 로드 및 기억명령의 각각은 메모리 번지를 포함하고, 상기 기억 명령은 기억될 데이타를 추가로 포함하고, 상기 메모리수단이, 상기 프로세서의 각각에 결합되고, 사용자가 특정순서로 상기 기억명령을 실행하기를 원할때, 상기 기억명령의 실행순서를 보장하기 위한 순서수단을 포함하는 기억버퍼수단, 상기 기억버퍼수단에 결합되고, 데이타를 기억하기 위해 복수의 번지를 포함하고, 상기 기억버퍼 수단으로부터 상기 기억명령을 수신하고 상기 기억 명령을 실행하는 메모리장치, 로드 명령을 감지하기 위해 상기 기억버퍼수단과 상기 프로세서에 결합되고, 상기 기억버퍼수단에서 상기 로드 명령의 메모리 번지를 상기 기억명령의 상기 메모리번지와 비교함으로써 만약 상기 로드명령의 메모리번지가 기억명령의 메모리 번지와 배치된다면 그후 상기 기억명령의 데이타는 상기 로드 명령이 응답하여 상기 프로세서로 복귀되고, 매치가 안될 경우 상기 로드 명령은 실행을 위해 상기 메모리장치에 결합되는 검출수단, 및 실행하기 위해 상기 기억버퍼수단으로 부터 상기 기억명령을 상기 메모리 장치로 전달하고, 상기 로드 명령을 상기 메모리 장치로 전달하기 위해 상기 검출수단에 추가로 연결되는 스위칭 수단으로 구성되는 것을 특징으로 하는 컴퓨터 시스템.
  5. 제4항에 있어서, 상기 프로세서 자동 로드-기억명령을 추가로 포함하고, 상기 자동 로드-기억명령이 상기 기억명령과 함께 상기 기억버퍼수단에 기억되는 것을 특징으로 하는 컴퓨터 시스템.
  6. 메모리수단에 연결된 복수의 프로세서를 포함하는 컴퓨터 시스템에 있어서, 실행하기 위해 로드 및 기억명령을 발생하고 실행하기 위해 상기 명령을 상기 메모리수단이 제공하고, 각각의 상기 로드 및 기억명령이 기억될 데이타를 포함하고, 상기 기억명령을 기억버퍼수단에 기억하고, 상기 기억버퍼수단이 상기 프로세서의 각각에 결합되는 단계, 메모리 장치에 상기 기억명령을 수신해서 실행하고, 이 메모리장치가 상기 기억버퍼수단에 결합되고 데이타를 기억하기 위해 복수의 번지를 포함하는 단계, 상기 기억버퍼수단에서 상기 로드 명령의 상기 메모리번지를 상기 기억명령의 메모리 번지와 비교하는 단계와, 상기 로드 명령의 메모리번지가 기억 명령의 메모리번지와 매치되면 아기 로드 명령에 응답하여 상기 기억명령의 상기 데이타를 상기 프로세서의 복귀하는 단계와 상기 로드명령의 메모리번지가 상기 기억명령의 메모리 번지와 매치되지 않으면 실행하기 위해 상기 검출수단으로부터 상기 메모리 장치로 로드명령어를 전달하고 상기 기억수단으로부터 상기 메모리장치로 기억명령어를 전달하는 단계로 구성되는 검출수단에서 상기 프로세서에 의해 제공된 로드 명령을 검출하는 단계로 구성되는 것을 특징으로 하는 방법.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019920007921A 1991-05-17 1992-05-11 개량된메모리아키텍쳐를위한방법및장치 KR100243853B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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