KR100265263B1 - 프로그램가능 공용 메모리 시스템 및 방법 - Google Patents

프로그램가능 공용 메모리 시스템 및 방법 Download PDF

Info

Publication number
KR100265263B1
KR100265263B1 KR1019970054924A KR19970054924A KR100265263B1 KR 100265263 B1 KR100265263 B1 KR 100265263B1 KR 1019970054924 A KR1019970054924 A KR 1019970054924A KR 19970054924 A KR19970054924 A KR 19970054924A KR 100265263 B1 KR100265263 B1 KR 100265263B1
Authority
KR
South Korea
Prior art keywords
memory
processor
bus
controller
coupled
Prior art date
Application number
KR1019970054924A
Other languages
English (en)
Other versions
KR19980041957A (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 KR19980041957A publication Critical patent/KR19980041957A/ko
Application granted granted Critical
Publication of KR100265263B1 publication Critical patent/KR100265263B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

프로세서와 하나이상의 주변장치를 가진 컴퓨터 시스템은 프로그램가능 공용메모리 시스템과 프로세서에 의해 사용하기 위해 메모리의 제1 부분을 선택적으로 제공하고 시스템내의 프로세서와 주변장치에 의해 공용 사용하기 위해 메모리의 제2부분을 할당하는 방법을 갖는다. 프로그램가능 메모리 기술은 프로세서에 연결된 제1버스와 시스템 제어기에 의해 프로세서에 연결되고 주변장치 제어기에 의해 주변장치에 연결된 제2버스를 가진 이중 버스 기술을 사용하여 구현된다. 프로그램가능 메모리 기술은 시스템에서 각각의 구성가능한 메모리 뱅크에 연결된 구성 제어기를 갖는다. 각각의 구성 제어기는 제1 및 제2버스 모두에 부가적으로 연결된다. 프로그램가능 제어 하에서, 각각의 구성 제어기는 시스템 제어기내에 저장된 구성 정보에 응답하여, 관련 메모리를 제1 및 제2버스에 연결시킨다. 제1버스에 연결된 메모리는 제공된 프로세서 메모리로서 동작하고, 제2버스에 연결된 메모리는 시스템내의 프로세서와 어떤 주변장치에 의해 액세스 가능한, 공용 메모리로서 동작한다.

Description

프로그램가능 공용 메모리 시스템 및 방법
본 발명은 일반적으로 컴퓨터 시스템에서 메모리 기술에 관한 것으로, 특히 중앙 처리 장치와 주변장치사이에서 메모리를 공용하기 위한 기술에 관한 것이다.
컴퓨터 시스템 성능과 비용은 시스템의 메모리 기술에 의해 영향을 받는다.
어떤 종래의 메모리 기술은 고정 메모리 기술을 가지며 어떤 양의 메모리는 CPU 에 의한 배타적 사용을 위해 중앙 처리 장치 (CPU) 에 제공되어 연결되며, 반면에 다른 메모리는 컴퓨터 디스플레이와 같은 주변장치에 제공되어 연결된다. 하나의 통상적인 구성은 CPU 에 제공되는 다이나믹 랜덤 액세스 메모리 (DRAM) 와 디스플레이 장치와 같은 주변장치에 의해 사용되기 위해 제공되는 개별적인 DRAM의 몇몇 메가바이트를 갖는다. 제1(a)도는 이러한 종래의 고정 메모리 기술을 도시한다.
도시된 기술 하에서, CPU (101)는 프로세서 버스 (102) 와 시스템 제어기 (103)에 의해 메모리 (104) 에 연결된다. 메모리 (104) 는 예를 들면, CPU (101) 에 의해 사용하기 위해 제공되는 종래의 DRAM 뱅크이다. 도시된 기술에서, 시스템 제어기 (103) 는 또한 PCI 버스와 같은 PCI 버스 (105) 에 연결된다. PCI 버스(105) 는 CPU (101)를 종래의 주변장치 제어기 (106) 에 연결시킨다. 이러한 종래의 기술에서, 주변장치 제어기 (106) 는 제공된 주변장치 메모리 (107) 에 연결된다. 그러므로, 메모리 (104) 는 CPU (101) 에 의해 사용하기 위해 제공되고, 주변장치 메모리 (107) 는 관련 주변장치 제어기 (106) 에 의해 사용하기 위해 제공된다.
이러한 기술에서, 주변장치 제어기 (106) 에 제공되는 주변장치 메모리(107) (그래픽을 위해 프레임 버퍼로서 사용되는 메모리 등) 는 상당히 클 수 있고 주변장치 제어기 (106) 와 관련된 주변장치가 메모리 (107) 에 의해 주어진 전체 메모리 공간의 사용을 필요로 하지 않는다면 자주 비효율적으로 사용된다. 메모리의 이러한 비효율적인 사용은 시스템 성능을 저하시키고 컴퓨터 시스템에서 전체적인 메모리 비용을 증가시킨다.
다른 종래의 메모리 기술은 통합 메모리 기술 (UM) 이다. 통합 메모리 기술을 가진 시스템은 일반적으로 시스템 비용을 감소시켰고 메모리 사용을 개선시켰다. 이러한 이점은 주변에 제공된 메모리를 제거함으로써 성취된다. 하나의 종래의 통합 메모리 기술은 제1(b)도에 도시된다. 도시된 종래의 통합 메모리 기술은 부가적으로 CPU(101) 와 주변장치 제어기 (106)를 메모리 (104) 에 연결시키기 위한 단일 공용 메모리 버스 (108)를 갖는다. 도시된 종래의 통합 메모리 기술은 CPU (101) 와 주변장치 제어기 (106) 의 메모리 요구 출력에 연결된 시스템 제어기(103)를 갖는다. 시스템 제어기 (103) 는 메모리 충돌을 없애기 위해 주변장치 제어기 (106) 와 CPU (101) 에 의해 메모리의 액세스를 중재한다. 그러나, 이 메모리 액세스 중재는 수 개의 클럭 사이클을 취할 수 있고 그러므로 시스템 성능을 저하시킨다.
그러므로, 메모리 사용을 개선시키고 전체적인 시스템 메모리 요구 사항과 비용을 감소시키며 시스템 성능을 저하시키지 않는 메모리 구조가 필요하다.
제1(a)도는 종래 기술의 고정 메모리 기술의 도면.
제1(b)도는 종래 기술의 통합 메모리 기술의 도면.
제2도는 본 발명에 따른 프로그램가능 공용 메모리 기술을 가진 컴퓨터 시스템의 기능 블록도.
제3도는 본 발명에 따른 메모리 구성 제어기의 기능 블록도.
제4도는 본 발명에 따른 시스템 제어기의 기능 블록도.
제5도는 본 발명에 따른 시스템 제어기내에 포함된 레지스터의 어레이도.
* 도면의 주요부분에 대한 부호의 설명
101 : CPU 102 : 프로세서 버스
103, 201 : 시스템 제어기 104 : 메모리
105 : 주변장치 버스 106 : 주변장치 제어기
107 : 주변장치 메모리 200 : 컴퓨터 시스템
202 : 메모리 구성 제어기 301 : 데이터 루터
302 : 제어 멀티플렉서 303 : 제어기
304 : 어드레스 멀티플렉서 401 : CPU 인터페이스
402, 407, 407 : 버퍼 405 : 브리지
402 : 구성 레지스터 501,502,503,504,505 : 레지스터
본 발명에 따라서, 메모리 사용을 개선하며 전체적인 시스템 메모리 요구 사항과 비용을 감소시키며 시스템 성능을 저하시키지 않는 프로그램가능 공용 메모리 시스템 및 방법이 제공된다. 프로그램가능 공용 메모리 시스템과 방법은 프로세서에 의해 사용하기 위해 메모리의 제1부분을 선택적으로 제공하고 시스템내의 프로세서와 어떤 주변장치에 의해 공용 사용하기 위해 메모리의 제2부분을 할당한다. 프로그램가능 메모리 기술은 2중 버스 기술과 복수의 구성 가능한 메모리 뱅크를 사용하여 구현된다. 2중 버스 기술은 프로세서에 접속된 제1버스와 주변장치 제어기에 의해 주변장치에 연결되고 시스템 제어기에 의해 프로세서에 또한 연결된 제2버스를 갖는다.
또한, 본 발명에 따라서, 프로그램가능 메모리 기술은 각각의 구성 가능한 메모리 뱅크에 연결된 구성 제어기를 갖는다. 각각의 구성 제어기는 부가적으로 제1버스와 제2버스 양자에 연결된다. 프로그램된 제어 하에서, 각각의 구성 제어기는 관련된 메모리를 시스템 제어기내에 저장된 구성 정보에 응답하여, 제1버스 또는 제2버스중의 하나에 연결시킨다. 제1버스 (프로세서 버스) 에 연결된 메모리는 제공된 프로세서 메모리로서 동작하고, 제2버스 (공용 메모리 버스) 에 연결된 메모리는 시스템내의 프로세서와 어느 주변장치에 의해 액세스 가능한, 공용 메모리로서 동작한다.
또한, 본 발명에 따라서, 시스템 제어기는 메모리 구성 제어 워드를 저장하고, 공용 메모리 버스 상에서의 충돌을 피하기 위해 공용 메모리의 액세스를 중재한다. 프로세서 버스에 연결된 메모리는 주변장치에 의해서 액세스되는 것이 아니라 프로세서에 의해서만 액세스되기 때문에, 프로세서는 공용 메모리의 주변장치 액세스와 동시에 주변장치와 독립된 프로세싱을 수행할 수 있다.
본 발명의 또 다른 측면에서, 프로그램가능 공용 메모리 시스템과 방법은 수신된 메모리 구성 요구에 응답하여, 시스템 시동동안 메모리를 동적으로 구성한다.
그러므로, 메모리 구성 요구에 응답하여, 선택된 양의 시스템 메모리는 제공된 프로세서 메모리로서 구성되고 선택된 양의 메모리는 공용 메모리 (호스트 프로세서와 어떤 시스템 주변장치 양자에 의해 액세스 가능한 메모리) 로서 구성된다. 이러한 프로그램가능 기술 하에서, 호스트 프로세서에게는 시스템 주변장치 (공용 메모리 공간) 와 공용된 메모리 공간에 더하여 전용의 메모리 공간에 제공된다.
바람직하게는, 프로세서 제공 메모리 (프로세서 버스에 연결된 메모리) 와 공용 메모리 (공용 메모리 버스에 연결된 메모리) 사이의 메모리 중재는 시스템 시동시 사용자에 의해 선택되어 시스템내의 주변장치의 수와 형태 및 시스템 내에 포함된 실제 메모리의 양이 주어진 효과적인 시스템을 성취한다.
하나의 실시예에서, 메모리 구성 제어기는 각각의 메모리와 관련된 데이터, 어드레스 및 제어 신호를 프로세서 버스 또는 공용 메모리 버스 중 하나에 선택적으로 연결시키기 위해, 데이터 멀티플렉서와, 어드레스 멀티플렉서 및 제어 멀티플렉서를 포함한다.
명세서에 기술된 특징 및 이점이 모드를 포함하고 있는 것은 아니며, 특히, 도면, 명세서 및 그의 청구항을 고려하면 많은 부가적인 특징과 이점이 관련기술 분야의 당업자들에게는 분명할 것이다. 또한, 명세서에서 사용된 언어는 읽기 쉽도록 교육적 목적을 위해 이론적으로 선택된 것으로, 본 발명의 종속적 문제를 결정하기 위해 필요한 청구항에 의거하여, 본 발명의 종속적인 문제를 나타내거나 드러내도록 선택된 것은 아니다.
제2도는 본 발명에 따른 프로그램가능 공용 메모리 기술을 가진 컴퓨터 시스템 (200)을 도시한다. 컴퓨터 시스템 (200) 은 호스트 중앙 처리 장치 (CPU)(100) 와, 시스템 제어기 (201) 와, 관련 메모리 (또는 메모리 뱅크) (104) 에 각각 연결된 복수의 메모리 구성 제어기 (202) 와, 종래의 주변장치 제어기 (106) 및, 판독전용 메모리 (ROM BIOS) (109) 내에 저장된 기본 입력/출력 시스템을 포함한다. 시스템 (200) 은 호스트 프로세서 버스 (HBP) (203) 와 공용 메모리 버스(SMB) (206) 를 포함한 이중 버스 기술을 갖는다. 호스트 프로세서 버스 (203)는 CPU (101)를 시스템 제어기 (201) 에 연결시키고 각각의 메모리 구성 제어기(202) 에 연결시킨다. 시스템 (200) 은 부가적으로 바람직하게는 각각의 주변장치 제어기 (106) 와 ROM BIOS (109) 에 연결된 PCI 버스 (105)를 포함한다. 바람직한 실시예에서 메모리 (104) 의 6개 뱅크가 있다. (그러므로, 제2도와 제4도에서 N=6)
그러나, 본 발명의 이론은 다른 수의 메모리 (104)를 가진 시스템에 적용된다.
바람직한 실시예에서, CPU (101) 는 Intel Corporation 에 의해 제조된 펜티엄
Figure kpo00001
마이크로프로세서이다. Intel Corporation 에 의해 제조된 ′486 마이크로프로세서, Advanced Micro Devices, Inc에 의해 제조된 K5 프로세서 또는 Cyrix Corporation 에 의해 제조된 Ml 프로세서와 같은 다른 프로세서가 대체적으로 사용될 수 있다. 또한, 바람직한 실시예에서, 메모리 (104) 는 NEC Electronics 에 의해 제조된 다이나믹 랜덤 액세스 메모리 (DRAM) 이다.
시스템 제어기 (201) (하기에 제4도를 참조로 설명될 것임) 는 바람직하게는 (i) PCI 버스 (105)에 브리지 인터페이스를 제공하고, (ii) 메모리 구성 정보를 포함한 시스템 구성 정보를 저장하며, (iii) 어드레스를 디코딩하며, (iv) 캐시 메모리 (도시 생략)를 제어하고, (v) 인터페이스를 각각의 메모리 (104) 에 제공하며, (vi) 메모리 액세스를 중재하는 것을 포함한 시스템 제어 기능을 수행하기 위한 회로 모듈을 가진 주문된 응용 특정 집적 회로이다.
주변장치 제어기 (106) 는 종래의 주변장치 제어기이고 관련된 주변장치에 접속한다. ROM BIOS (109) 는 본 발명에 따라서 BIOS 프로그램을 저장하기 위해 프로그램된 종래의 판독전용 메모리 (ROM) 장치이다. 도시된 실시예에서, HPB(203) 및 SMB (206) 는 64 비트 폭의 데이터 경로를 가진 버스이다. 그러나, 본 발명의 이론은 다른 버스 폭과, 다른 메모리 형태 및, 다른 제어기 구성을 가진 시스템에 적용되는 것으로 이해해야 한다.
본 발명에 따라서, 각각의 메모리 (104) (집합적으로“시스템 메모리”로 언급됨) 는 주변장치 (주변장치 제어기 (106)를 통과하는) 또는 호스트 프로세서 (CPU(101)) 중의 하나에 의해 액세스되도록 제공된 호스트 프로세서 메모리 또는 공용 메모리중의 하나로서 동작하기 위해 구성된다. 하나의 실시예에서, 메모리(104)는 부트(시스템 시동) 프로세스 동안 구성된다. 다른 실시예에서, 메모리는 더 높은 레벨 시스템 또는 오퍼레이팅 시스템 구성 프로세스동안 구성된다. 예를 들면, 윈도우 기준의 사용자 인터페이스를 제공하는 오퍼레이팅 시스템을 가진 하나의 실시예에서, 윈도우 자원의 구성동안 메모리 셋업이 발생한다. 특정메모리 구성은 사용자에 의해 지정되거나, 전체 시스템 메모리 양, 시스템 (200)에 연결된 주변장치의 타입 및 메모리에 대한 시스템 및 그의 해당하는 요구에 의해 수행되는 테스크 또는 테스크들의 타입과 같은 시스템 파라미터를 기준으로 프로그래밍된다. 그러므로, 프로그래밍 제어하에서, 메모리는 호스트 프로세서 메모리 또는 공용 메모리중의 하나로서 동적으로 할당된다. 시스템 메모리 구성에서의 이러한 유연성은 각각의 메모리 공간 (호스트 프로세서 메모리와 공용 메모리)의 크기의 선택을 위해 현재 주변장치 구성과 수행되는 테스크의 타입이 주어진 메모리 사용을 개선시키는 것을 가능하게 한다. 그러므로, 프로그램가능 메모리 기술은 시스템 성능을 저하시키는 것 없이 효과적인 메모리 사용을 유리하게 제공하고 전체적인 시스템 비용을 낮게 한다.
다시 제2도를 참조로, CPU(101)는 시스템 제어기(201)와 메모리 구성 제어기(202)를 사용하여 각각의 메모리(104)를 구성한다. 부팅시, BIOS 프로그램은 ROM BIOS (109)로부터 업로딩되어 CPU (101)의 로컬 메모리에 위치시킨다. 바람직하게는, BIOS 프로그램은 메모리 테스트를 수행하고, 컴퓨터 (200)에서 사용가능한 전체 시스템 메모리를 결정하고, 메모리 기능을 컴퓨터 디스플레이 (도시)상에 사용자에게 알린다. 대체적으로, 메모리는 오퍼레이팅 시스템 구성동안과 같은 더 높은 레벨 구성 프로세스동안 구성된다. 바람직한 실시예에서, 사용자는 CPU (101) 에 제공하는 메모리의 양과 공용 메모리로서 할당하는 양 사이로서, 요구되는 메모리 할당을 지정하여 CPU (101) 와 주변장치 제어기에 의해 공용되도록 한다. 메모리 구성 정보는 시스템 제어기 (201) 에 기록되고 내부에 저장된다.
시스템 제어기 (201) 는 각각의 메모리 구성 제어기 (202) 에 연결되고 각각의 메모리 (104)를 구성하고 사용자에 의해 선택적으로 프로그램 가능하도록 제공된 호스트 프로세서 메모리 또는 공용 메모리로서 동작한다.
메모리 구성 제어기 (202) 는 프로세서 버스에 연결된 제1 입력 및 출력(I/0) 포트와, 공용 메모리 버스에 연결된 제2 I/0 포트 및, 관련 메모리 (104)에 연결된 제3 I/0 포트를 갖는다. 각각의 메모리 구성 제어기 (202)는 시스템 제어기 (201) 로부터 모드 선택 제어 신호를 수신한다. 모드 선택 신호는 각각의 메모리 (104) 와 관련된 특정 할당 (공용되고 제공된 호스트 프로세서)을 지시한다. 제1 또는 제2디지털 상태에 있는 수신 모드 선택 신호에 응답하여, 메모리 구성 제어기 (202) 는 메모리 I/0 포트를 SMB (206) 또는 HPB(203) 에 각각 연결시킨다. 모드 선택 제어 신호에 연결되는 것에 더하여, 메모리 구성 제어기(202) 는 시스템 제어기 (201) 의 호스트 메모리 제어 출력에 또한 연결되어 HMA_CTRL 제어 신호 세트를 수신하고 시스템 제어기 (201) 의 공용 메모리 제어 출력에 연결되어 SMA_CTRL 신호 세트를 수신한다. 모드 선택, SMA_CTRL 및 HMA_CTRL 신호는 시스템 제어기 (201) 에 의해 발생되고 메모리 구성 제어기 (202)에 의해 사용되어 각각의 관련 메모리 (104) 에 대한 판독, 기록 및 인에이블 제어 신호를 발생시킨다.
이제, 제3도를 참조로, 본 발명에 따른 메모리 구성 제어기 (202) 의 기능 블록도가 도시된다. 메모리 구성 제어기 (202) 는 데이터 루터 (301) 와, 제어 멀티플렉서 (302) 와, 어드레스 멀티플렉서 (304) 및 제어기 (303)를 갖는다.
데이터 루터 (301) 는 제어기 (303) 로부터 수신된 제어 신호에 응답하는 제3 I/0 포트에 선택적으로 연결하기 위한 제1 및 제2 I/0 포트를 가진 멀티플렉서 /셀렉터이다. 제1 I/0 포트는 HPB (203) 에 연결되고 제2 I/0 포트는 SMB(206)에 연결된다. 그러므로, 데이터 루터 (301) 는 제어기 (303) 에 의해 발생된 제어신호에 응답하여 메모리 (104) 와 관련된 데이터 버스를 각각의 HPB (203) 또는 SMB (206) 에 연결시킨다.
제어기 (303) 는 시스템 제어기에 연결되고 시스템 제어기 (201) 로부터 HMA_CTRL, SMA_CTRL 및 모드 선택 제어 신호를 수신한다. 제어기 (303) 는 수신 제어 신호를 디코딩하여 데이터 루터 (301) 의 동작을 제어하기 위해 한 세트의 제어 신호를 발생시킨다. 특히, 제어기 (303) 는 출력 인에이블 (OE) 신호와 버스 선택 (SEL) 신호를 발생시킨다. 하기의 상태 (표 1 에 도시됨) 를 가진 출력 인에이블과 버스 선택 신호에 응답하여, 데이터 루터는 하기의 동작 모드 (표 1에 도시됨) 에 놓여진다.
Figure kpo00002
제어기 (303) 는 HMA_CTRL, SMA_CTRL 및 모드 선택 제어 신호를 디코딩하여 표 1 에 도시된 출력 인에이블 (OE) 과 버스 선택 (SEL) 제어 신호를 발생시킨다.
HMA_CTRL 제어 신호는 또한 판독 인에이블 (RD) 및 기록 인에이블 (WR) 신호를 포함한다. HMA_CTRL 및 SMA_CTRL 제어 신호 세트는 메모리 (104)를 동작시키기 위해 필요한 제어 신호에 의해 결정된다. 다른 메모리 형태는 다른 제어 요구를 가지며 그러므로 다른 제어 신호 세트와 제어기 (303) 에 의한 다른 디코딩을 요구한다. 표 2는 시스템 제어기 (201) 에 의해 발생된 HMA_CTRL, SMA_CTRL 및 모드 선택 제어 신호에 응답하여, 제어기 (303) 에 의해 발생된 출력 신호 OE 및 SEL 의 상태를 나타낸다.
Figure kpo00003
모드 선택 신호는 SMB (206) 가 선택되는 제1상태 (디지털“0”또는 로우 상태) 와 HPB (203) 가 선택되는 제2상태 (디지털“1”또는 하이 상태)를 갖는다. SMA (206) 버스가 선택되면 (모드 상태=0), HMA_CTRL 제어 신호는 OE 및 SEL 신호를 발생시키기 위해 사용되지 않으므로, HMA_CTRL 제어 신호는 표 2의 무시 (*) 상태와 같이 표시된다. 유사하게, HPB (203) 이 선택되면 (모드 선택=1), SMA_CTRL 제어 신호는 OE 및 SEL 신호를 발생시키기 위해 사용되지 않으므로, SMA_CTRL 제어 신호는 표 2의 무시 (*) 상태와 같이 표시된다.
제어 멀티플렉서 (302) 는 모드 선택 제어 신호에 응답하여 제3 I/0 포트에 선택적으로 연결하기 위한 제1 및 제2 I/0 포트를 가진 멀티플렉서/셀렉터이다.
제1 I/0 포트는 (시스템 제어기 (201) 로부터 수신된) HMA_CTRL 제어 신호에 연결되고, 제2 I/0 포트는 (또한 시스템 제어기 (201) 로부터 수신된) SMA_CTRL 제어 신호에 연결된다. 그러므로, 제어 멀티플렉서 (302) 는 제1상태 또는 제2상태중의 하나, 예를 들면, 디지털“1”또는 디지털“0”인 모드 선택 신호에 응답하여, 메모리 (104) 와 관련된 제어 입력을 HMA_CTRL 또는 SMA_CTRL 제어 신호중의 하나에 연결시킨다.
유사하게, 어드레스 멀티플렉서 (304) 는 제어 신호에 응답하여 제3 I/0 포트에 연결하도록 선택적으로 구성되는 제1 및 제2 I/0 포트를 가진 멀티플렉서/셀렉터이다. 제1 I/0 포트는 시스템 제어기 (201) 에 의해 발생된 HMA_Addr 신호에 연결되고, 제2 I/0 포트는 시스템 제어기 (201) 에 의해 또한 발생된 SMA_Addr 신호에 연결되며, 제3 I/0 포트는 메모리 (104) 의 어드레스 입력에 연결된다. 그러므로, 어드레스 멀티플렉서 (304) 는 메모리 (104) 와 관련된 어드레스 입력을 시스템 제어기 (201) 에 의해 발생된 모드 선택 신호의 상태에 응답하여 각각의 HMA_Addr 어드레스 신호 또는 SMA_Addr 어드레스 신호에 연결시킨다.
제4도는 본 발명에 따른 시스템 제어기 (201)를 도시한다. 시스템 제어기(201) 는 CPU (101) 에 연결하기에 적합하고 시스템 제어기 (201) 와 CPU (101) 사이에 인터페이스를 제공하기에 또한 적합한 CPU 인터페이스 (401)를 포함한다.
시스템 제어기 (201)는 또한 주변장치 제어기 (106) 또는 메모리 (104) 로부터 수신되거나 주변장치 제어기 (106) 또는 메모리 (104) 로 기록되는 정보의 판독 버퍼링 및 기록 버퍼링을 위해 CPU 인터페이스 (401) 에 연결된 DRAM 버퍼 (402)를 또한 포함한다. DRAM 버퍼 (402) 는 브리지 (405) 와 버퍼 (406, 407)를 경유하여 PCI 버스 (105) 에 연결되어 주변장치로 기록되거나 주변장치로부터 판독되는 정보의 버퍼렁을 인에이블한다. DRAM 버퍼 (402) 는 부가적으로 SMB (206) 에 연결되어, 공용 메모리로서 구성된 메모리 (104) 로 기록되거나 메모리 (104) 로부터 판독된 정보의 버퍼링을 인에이블한다.
시스템 제어기 (201) 는 또한 브리지 (405) 와 CPU 인터페이스 (401) 에 의해 CPU (101) 에 연결된 구성 레지스터 (414)를 포함한다. 구성 레지스터 (414)는 캐시 정보와, PCI 인터페이스 정보 및 메모리 구성 데이터를 포함한 시스템 구성 정보를 수신하고 저장한다. 바람직한 실시예에서, 구성 레지스터 (414)는 8비트 폭 레지스터의 어레이이다. 제5도는 본 발명에 따라서, 메모리 구성에 관계하며 구성 레지스터 (414) 내에 포함된 레지스터의 어레이를 도시한다.
레지스터 (501) 는 각각의 메모리 (104)에 대한 선택된 모드 (공용 또는 호스트) 의 상태를 저장하는 모드 선택 레지스터이다. 레지스터 (501) 의 비트 0-5는 각각 메모리 (104) 와 일치한다. 표 3은 레지스터 (501) 의 디코딩을 도시한다.
Figure kpo00004
제1상태 (디지털“0”또는 로우 상태) 를 가진 비트는 공용 모드가 해당하는 메모리 (104)에 대해 선택되는 것을 나타낸다. 제2상태 (디지털“1”또는 하이 상태) 를 가진 비트는 호스트 모드가 해당하는 메모리 (104) 에 대해 선택되는 것을 나타낸다. 레지스터 (501)의 비트 6 과 7 은 시스템에서 사용되지 않는다. 레지스터 (501) 의 출력 비트 0-5 는 각각의 메모리 구성 제어기 (202) 에 연결되는 스태틱 모드 선택 신호를 각각 형성한다.
레지스터 (502) 는 시스템 메모리의 시작 (메모리가 존재하고 인에이블되는지) 을 저장하기 위한 메모리 상태 레지스터이다. 레지스터 (502) 의 디코딩이 표 4에 도시된다.
Figure kpo00005
바람직한 실시예에서, 비트 0-5 는 각각 시스템에서 사용되는 메모리 (메모리 (104) 등) 의 뱅크에 해당한다. 제1상태를 가진 비트는 메모리 (104) 의 해당하는 뱅크가 존재하고 인에이블되는 것을 나타내고 제2상태를 가진 하나의 비트는 메모리 (104) 의 해당하는 뱅크가 존재하지 않거나 인에이블되지 않는 것을 나타낸다.
레지스터 (503-505) 는 각각의 메모리 (104) 의 크기를 나타내는 정보를 저장한다. 레지스터 (503-505) 의 디코딩은 표 5, 6 및 7 에 나타나 있다.
Figure kpo00006
Figure kpo00007
Figure kpo00008
구성 레지스터 (414) 는 캐시 제어기 (411) 와, 호스트 DRAM 제어기 (408)와, 공용 DRAM 제어기 (409) 및, 어드레스 및 명령 디코더 (410) 에 또한 연결된다.
호스트 및 공용 DRAM 제어기 (408 및 409) 는 각각 구성 레지스터 (414)에 연결되고 어드레스 및 명령 디코더 (410) 에 연결되어 구성 제어와 디코딩된 어드레스 정보를 수신한다. 호스트 및 공용 DRAM 제어기 (408 및 409) 는 각각 적당한 판독, 기록 리프레시 신호를 관련 메모리 (104) 에 발생시켜 DRAM 기능을 관리한다.
공용 메모리 DRAM 제어기 (409) 는 각각의 메모리 구성 제어기 (202) 에 연결되어, 각각의 메모리 구성 제어기 (202)를 구성하기 위한 제어 신호를 발생시켜 관련 메모리 (104)를 공용 메모리 버스 (206) 에 연결시킨다. 공용 DRAM 제어기(409) 는 부가적으로 각각의 CPU (101) 에 의해서 또는 주변장치 제어기 (106) 에 의해서 요구된 메모리 액세스의 타입에 응답하는 판독 및 기록 제어 신호를 부가적으로 발생시킨다.
호스트 DRAM 제어기 (408) 는 각각의 메모리 구성 제어기에 연결되어, 각각의 메모리 구성 제어기 (202)를 구성하기 위한 제어 신호를 발생시켜 관련 메모리(104)를 호스트 프로세서 버스 (203) 에 연결시킨다. 호스트 DRAM 제어기 (408)는 부가적으로 CPU (101) 에 의해 응답된 메모리 액세스 (판독 또는 기록) 의 타입에 응답하는 판독 및 기록 제어 신호를 발생시킨다.
어드레스 및 명령 디코더 (410) 는 브리지 (405) 와 구성 레지스터 (414) 에 연결된다. 어드레스 및 명령 디코더 (410)는 호스트 메모리 디코더와 공용 메모리 디코더를 갖는다. 호스트 메모리 디코더는 브리지 (405) 로부터 수신된 어드레스를 디코딩하고 어드레스가 호스트 프로세서 메모리에 해당하는지 또는 공용 메모리에 해당하는지를 결정한다. 새로운 메모리 액세스 사이클의 시작에서, 메모리 및 명령 디코더 (410) 가 어드레스가 호스트 메모리에 해당한다고 결정하면, 어드레스와 명령 디코더 (410) 는 트리거 제어 신호를 발생시키고 호스트 DRAM 제어기 (408)를 활성화시킨다. 새로운 메모리 사이클의 시작 시에, 어드레스 및 명령 디코더 (410) 가 어드레스가 공용 프로세서 메모리에 해당한다고 결정하면, 어드레스와 명령 디코더 (410) 는 트리거 제어 신호를 발생시키고 공용 DRAM 제어기(409)를 활성화시킨다.
어드레스 및 명령 디코더 (410) 는 각각의 메모리 구성 제어기 (202) 에 각각 연결된 HMA_CTRL 및 SMA_CTRL 제어 신호 세트를 부가적으로 발생시킨다.
시스템 제어기 (201) 는 PCI 마스터 인터페이스 (406) 와 PCI 슬레이브 인터페이스 (407)를 부가적으로 포함한다. PCI 마스터 인터페이스 (406) 는 PCI 버스 마스터와 인터페이스 접속하기에 적합한 통상적인 PCI 버스 인터페이스이다. PCI 마스터 인터페이스 (406) 는 바람직하게 판독 프리 패치 버퍼와 기록 버퍼를 포함한다. PCI 슬레이브 인터페이스 (407) 는 PCI 슬레이브 주변장치와 인터페이스 접속하기에 적합한 통상적인 PCI 버스 인터페이스이다.
시스템 제어기 (201) 는 바람직하게 시스템 내에 부가적으로 포함된 관련 태그 RAM (413) 으로 임의의 RAM 캐시 (412)를 제어하기 위한 캐시 제어기 (411)를 또한 포함한다.
시스템 제어기 (201) 는 또한 중재 장치 (403)를 포함한다. 중재 장치(403) 는 공용 DRAM 제어기 (409) 에 연결되고 각각의 주변장치 제어기 (106) 에 연결된다. 중재 장치 (403) 는 메모리 액세스가 필요할 때 각각의 주변장치 제어기 (106) 에 의해 발생된 메모리 요구 신호를 수신한다. 중재 장치 (403) 는 요구 버스 마스터가 공용 메모리에 대한 액세스가 허가되는지를 결정한다. 액세스 허가를 위해 버스 마스터를 선택한 후에, 중재 장치 (403) 는“GRANT”신호를 해당하는 주변장치 제어기 (106) 로 다시 보낸다.
그러므로, 동작동아, 예를 들면, 제1메모리 (104) 는 제공된 호스트 프로세서 메모리로서 동작하도록 구성되고, 나머지 메모리 (104) 는 공용 메모리로서 동작하도록 구성된다. 이 구성에서, CPU (101) 는 요구 중재없이 제1메모리(104)를 액세스하고, 제공된 호스트 프로세서 메모리에서 메모리 충돌은 발생할 수 없다. 제1메모리 (104)를 액세스하는 CPU (101) 와 동시에, 주변장치는 임의의 공용 메모리를 액세스할 수 있다. 그러므로, CPU (101) 가 주변장치 독립 동작을 수행하는 동안, 제공된 호스트 메모리만을 액세스하고, 버스 마스터 기능을 가진 주변장치는 공용 메모리를 독립적으로 액세스할 수 있다.
전술한 설명은 본 발명의 예시적인 방법과 실시예만을 개시하고 나타낸다.
관련 기술 분야의 당업자들에게 잘 알려져 있는 바와 같이, 본 발명은 본 발명의 이론과 필수적인 특징에서 벗어나지 않은 다른 특정 형태로 구현될 수 있다. 따라서, 본 발명의 설명은 예시적인 것이며, 하기의 청구항에 나타난, 본 발명의 범위를 제한하려는 의도는 아니다.
상기 설명된 바와 같이, 프로그램가능 메모리 기술은 시스템 성능을 저하시키지 않고 효과적인 메모리 사용을 유리하게 제공하고 전체적인 시스템 비용을 낮게 한다.

Claims (15)

  1. 프로세서와 주변장치를 가진 컴퓨터 시스템에서 제1부분 및 제2부분을 가지는 메모리를 할당하는 방법에 있어서, 구성 요구를 수신하는 단계; 상기 구성 요구로부터 결정되는 상기 메모리의 상기 제1 부분을 프로세서에 전용하는 단계; 및 상기 프로세서와 상기 주변장치에 의해 공용 사용하기 위해, 구성 요구로부터 결정되는, 메모리의 제 2 부분을 할당하는 단계를 포함하는 것을 특징으로 하는 메모리 할당 방법.
  2. 제1항에 있어서, 상기 메모리의 상기 제1부분을 프로세서에 제공하는 단계는 메모리의 상기 제1부분을 프로세서 버스에 연결하는 단계를 포함하며, 상기 프로세서와 주변장치에 의한 공용 사용을 위해 메모리의 제2부분을 할당하는 단계는 메모리의 제2부분을 프로세서와 주변장치 양자에 연결된 공용메모리 버스에 연결하는 단계를 포함하는 것을 특징으로 하는 메모리 할당 방법.
  3. 제2항에 있어서, 상기 메모리의 제1부분을 프로세서 버스에 연결하는 단계는 제1메모리 부분의 어드레스 입력, 데이터 포트 및 제어 입력을 제1스위칭 회로를 사용하여 프로세서 버스에 연결하는 단계를 포함하며, 메모리의 제2부분을 프로세서와 주변장치에 모두에 연결된 공용 메모리 버스에 연결하는 단계는 어드레스 입력, 데이터 포트 및 제어 입력을 스위칭 회로를 사용하여 공용 메모리 버스에 연결하는 단계를 포함하는 것을 특징으로 하는 메모리 할당 방법.
  4. 제1항에 있어서, 상기 메모리의 제2부분에 대한 액세스를 중재하는 단계를 더 포함하는 것을 특징으로 하는 메모리 할당 방법.
  5. 제1항에 있어서, 상기 메모리의 제2부분에 대한 액세스를 중재하는 단계 및, 메모리의 제1부분에 대한 중재되지 않은 액세스를 허용하는 단계를 더 포함하는 것을 특징으로 하는 메모리 할당 방법.
  6. 제1항에 있어서, 상기 구성 요구를 수신하는 단계는, 사용가능한 시스템 메모리의 양을 결정하는 단계; 사용가능한 시스템 메모리의 결정된 양의 식별을 사용자에게 디스플레이하는 단계 및 사용가능한 시스템 메모리의 식별을 디스플레이한 후에, 구성 요구를 수신하는 단계를 포함하는 것을 특징으로 하는 메모리 할당 방법.
  7. 제1항에 있어서, 상기 구성 요구를 수신하는 단계는, 사용가능한 시스템 메모리의 양에 각각 해당하는 한 세트의 소정의 구성 요구를 저장하는 단계; 사용가능한 시스템 메모리의 양을 결정하는 단계; 및 사용가능한 시스템 메모리의 결정된 양에 해당하는 소정의 구성 요구를 검색하는 단계를 포함하는 것을 특징으로 하는 메모리 할당 방법.
  8. 프로세서와, 상기 프로세서에 연결된 프로세서 버스와, 주변장치와, 상기 주변장치와 프로세서에 연결된 공용 버스 및 복수의 메모리를 가진 컴퓨터 시스템에서 메모리를 구성하는 방법에 있어서, 공용 메모리와 프로세서 메모리중의 어느 하나를 나타내는 메모리 할당 요구를 수신하는 단계; 상기 할당 요구를 저장하는 단계; 공용 메모리를 나타내는 저장된 요구에 응답하여 상기 메모리를 공용 메모리 버스로 스위칭하는 단계; 및 프로세서 메모리를 나타내는 저장된 요구에 응답하여 상기 메모리를 프로세서 버스로 스위칭하는 단계를 포함하는 것을 특징으로 하는 메모리 구성 방법.
  9. 제8항에 있어서, 상기 공용 메모리와 프로세서 메모리중의 어느 하나를 나타내는 메모리 할당요구를 수신하는 단계는, 사용가능한 시스템 메모리의 양을 결정하는 단계; 사용가능한 시스템 메모리의 결정된 양의 식별을 사용자에게 디스플레이하는 단계; 및 사용가능한 시스템 메모리의 식별을 디스플레이한 후에, 사용자로부터 할당요구를 수신하는 단계를 포함하는 것을 특징으로 하는 메모리 구성 방법.
  10. 제8항에 있어서, 상기 공용 메모리와 프로세서 메모리중의 어느 하나를 나타내는 메모리 할당요구를 수신하는 단계는, 사용가능한 시스템 메모리의 양에 각각 해당하는, 한 세트의 소정 메모리 할당 요구를 저장하는 단계; 사용가능한 시스템 메모리의 양을 결정하는 단계; 및 사용가능한 시스템 메모리의 결정된 양에 해당하는 소정 메모리 할당을 검색하는 단계를 포함하는 것을 특징으로 하는 메모리 구성 방법.
  11. 프로세서와, 주변장치 및 복수의 메모리를 가지며, 메모리를 프로세서와 주변장치에 의해 액세스하기 위한 공용 메모리로서 구성하거나 프로세서에 의해 액세스하기 위한 제공된 프로세서 메모리로서 구성하기 위한 시스템에 있어서, 상기 프로세서에 접속된 프로세서 버스; 상기 주변장치와 상기 프로세서에 연결된 공용 메모리 버스: 및 프로세서 및 공용 메모리 버스중의 하나에 메모리를 선택적으로 연결하기 위해, 공용 메모리 버스와, 프로세서 버스 및 하나이상의 메모리에 연결된 제어기를 포함하는 것을 특징으로 하는 시스템.
  12. 제11항에 있어서, 상기 제어기는, 상기 프로세서 버스와 공용 메모리 버스에 연결되며, 메모리 구성을 저장하기 위한 구성 레지스터를 가진 시스템 제어기; 상기 저장된 메모리 구성에 응답하여 메모리를 상기 프로세서 버스와 공용메모리 버스 중의 하나에 선택적으로 연결하기 위해, 시스템 제어기와, 공용 메모리 버스와, 프로세서 버스 및 하나 이상의 메모리에 연결된 메모리 구성 제어기를 포함하는 것을 특징으로 하는 시스템.
  13. 제12항에 있어서, 상기 메모리 구성 제어기는 상기 프로세서 버스에 연결된 제1포트와 공용메모리 버스에 연결된 제2포트를 가진 데이터 멀티플렉서와, 상기 시스템 제어기로부터 수신된 제어 신호에 응답하여 상기 제1 및 제2포트중의 어느 하나를 제3포트에 선택적으로 연결시키기 위해 메모리 데이터 경로에 연결된 제 3 포트를 포함하는 것을 특징으로 하는 시스템.
  14. 제13항에 있어서, 상기 메모리 구성 제어기는 시스템 제어기에 연결된 선택 입력과, 시스템 제어기의 제1제어 출력에 연결된 제1입력 포트와, 시스템 제어기의 제2제어 출력에 연결된 제2입력 포트 및 메모리 제어 입력에 연결된 제3출력 포트를 가진 제어 멀티플렉서를 더 포함하는 것을 특징으로 하는 시스템.
  15. 제12항에 있어서, 상기 시스템 제어기는 상기 공용 메모리 버스의 액세스를 중재하기 위해 프로세서와 주변장치에 연결된 중재기를 더 포함하는 것을 특징으로 하는 시스템.
KR1019970054924A 1996-11-01 1997-10-24 프로그램가능 공용 메모리 시스템 및 방법 KR100265263B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/742,339 US5911149A (en) 1996-11-01 1996-11-01 Apparatus and method for implementing a programmable shared memory with dual bus architecture
US8/742,339 1996-11-01

Publications (2)

Publication Number Publication Date
KR19980041957A KR19980041957A (ko) 1998-08-17
KR100265263B1 true KR100265263B1 (ko) 2000-10-02

Family

ID=24984441

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970054924A KR100265263B1 (ko) 1996-11-01 1997-10-24 프로그램가능 공용 메모리 시스템 및 방법

Country Status (4)

Country Link
US (1) US5911149A (ko)
EP (1) EP0840234A3 (ko)
JP (1) JPH10133941A (ko)
KR (1) KR100265263B1 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167437A (en) * 1997-09-02 2000-12-26 Silicon Graphics, Inc. Method, system, and computer program product for page replication in a non-uniform memory access system
US6289424B1 (en) 1997-09-19 2001-09-11 Silicon Graphics, Inc. Method, system and computer program product for managing memory in a non-uniform memory access system
US6249802B1 (en) * 1997-09-19 2001-06-19 Silicon Graphics, Inc. Method, system, and computer program product for allocating physical memory in a distributed shared memory network
US6965974B1 (en) * 1997-11-14 2005-11-15 Agere Systems Inc. Dynamic partitioning of memory banks among multiple agents
US7071946B2 (en) * 1997-12-30 2006-07-04 Micron Technology, Inc. Accelerated graphics port for a multiple memory controller computer system
US6157398A (en) * 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
US6252612B1 (en) * 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
US6243775B1 (en) * 1998-01-20 2001-06-05 Micron Technology, Inc. System for extending the available number of configuration registers
US6272576B1 (en) 1998-01-20 2001-08-07 Micron Technology, Inc. Method for extending the available number of configuration registers
US6678801B1 (en) * 1998-04-17 2004-01-13 Terraforce Technologies Corp. DSP with distributed RAM structure
US6163829A (en) * 1998-04-17 2000-12-19 Intelect Systems Corporation DSP interrupt control for handling multiple interrupts
US6456628B1 (en) * 1998-04-17 2002-09-24 Intelect Communications, Inc. DSP intercommunication network
US6393530B1 (en) 1998-04-17 2002-05-21 Intelect Communications, Inc. Paging method for DSP
US6272584B1 (en) * 1998-09-10 2001-08-07 Compaq Computer Corporation System board with consolidated EEPROM module
US7114056B2 (en) * 1998-12-03 2006-09-26 Sun Microsystems, Inc. Local and global register partitioning in a VLIW processor
JP3419334B2 (ja) 1999-01-14 2003-06-23 日本電気株式会社 データ処理装置および方法
US6401151B1 (en) * 1999-06-07 2002-06-04 Micron Technology, Inc. Method for configuring bus architecture through software control
US6425029B1 (en) * 1999-06-07 2002-07-23 Micron Technology, Inc. Apparatus for configuring bus architecture through software control
US6684321B1 (en) * 2000-01-04 2004-01-27 Advanced Micro Devices, Inc. Unified memory architecture for use by a main processor and an external processor and method of operation
US6499089B1 (en) * 2000-01-18 2002-12-24 Cypress Semiconductor Corp. Method, architecture and circuitry for independently configuring a multiple array memory device
US6636939B1 (en) * 2000-06-29 2003-10-21 Intel Corporation Method and apparatus for processor bypass path to system memory
US6754739B1 (en) * 2000-08-31 2004-06-22 Hewlett-Packard Development Company Computer resource management and allocation system
US6665775B1 (en) * 2000-09-22 2003-12-16 Intel Corporation Cache dynamically configured for simultaneous accesses by multiple computing engines
US6801208B2 (en) 2000-12-27 2004-10-05 Intel Corporation System and method for cache sharing
FR2823579A1 (fr) * 2001-04-12 2002-10-18 Koninkl Philips Electronics Nv Dispositif de traitement de donnees par plusieurs processeurs
US20020161453A1 (en) * 2001-04-25 2002-10-31 Peltier Michael G. Collective memory network for parallel processing and method therefor
US7380085B2 (en) * 2001-11-14 2008-05-27 Intel Corporation Memory adapted to provide dedicated and or shared memory to multiple processors and method therefor
US20030177344A1 (en) * 2002-03-18 2003-09-18 Harvey Arthur E. Configuration controller and method for initializing a data-processing device
US7139849B2 (en) 2002-08-07 2006-11-21 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit device
US7260677B1 (en) * 2003-07-16 2007-08-21 Unisys Corporation Programmable system and method for accessing a shared memory
JP4658050B2 (ja) 2003-09-02 2011-03-23 サーフ テクノロジー インコーポレイテッド 衛星測位信号用の信号処理システム
US7822105B2 (en) * 2003-09-02 2010-10-26 Sirf Technology, Inc. Cross-correlation removal of carrier wave jamming signals
US7136957B2 (en) * 2004-03-24 2006-11-14 Hewlett-Packard Development Company, L.P. Device bandwidth management using a bus configuration multiplexer
KR101064878B1 (ko) * 2005-03-17 2011-09-16 엠텍비젼 주식회사 복수의 프로세서에 의한 메모리 공유 방법 및 메모리 공유구조를 가지는 휴대형 단말기
KR100591371B1 (ko) * 2005-03-23 2006-06-20 엠텍비젼 주식회사 공유 메모리의 분할 영역 크기 가변 방법 및 공유 메모리를가지는 휴대형 단말기
KR100719808B1 (ko) * 2005-07-01 2007-05-21 엠텍비젼 주식회사 메모리 공유 방법 및 메모리 공유 구조를 가지는 휴대용단말기
US8352609B2 (en) * 2009-09-29 2013-01-08 Amazon Technologies, Inc. Dynamically modifying program execution capacity
US8909219B2 (en) 2013-01-17 2014-12-09 Qualcomm Incorporated Methods and apparatus for providing unified wireless communication through efficient memory management
US10996959B2 (en) * 2015-01-08 2021-05-04 Technion Research And Development Foundation Ltd. Hybrid processor

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2226667B (en) * 1988-12-30 1993-03-24 Intel Corp Self-identification of memory
JPH031260A (ja) * 1989-05-30 1991-01-07 Hitachi Ltd 計算機方式
US5182801A (en) * 1989-06-09 1993-01-26 Digital Equipment Corporation Apparatus and method for providing fast data transfer between multiple devices through dynamic reconfiguration of the memory space of the devices
US5202973A (en) * 1990-06-29 1993-04-13 Digital Equipment Corporation Method of controlling a shared memory bus in a multiprocessor system for preventing bus collisions and for ensuring a full bus
JP3144794B2 (ja) * 1990-11-09 2001-03-12 株式会社日立製作所 マルチプロセッサシステム
EP0553338B1 (en) * 1991-08-16 1999-10-13 Cypress Semiconductor Corp. High-performance dynamic memory system
US5299309A (en) * 1992-01-02 1994-03-29 Industrial Technology Research Institute Fast graphics control system capable of simultaneously storing and executing graphics commands
US5335322A (en) * 1992-03-31 1994-08-02 Vlsi Technology, Inc. Computer display system using system memory in place or dedicated display memory and method therefor
US5265218A (en) * 1992-05-19 1993-11-23 Sun Microsystems, Inc. Bus architecture for integrated data and video memory
US5454107A (en) * 1993-11-30 1995-09-26 Vlsi Technologies Cache memory support in an integrated memory system
WO1995015528A1 (en) * 1993-11-30 1995-06-08 Vlsi Technology, Inc. A reallocatable memory subsystem enabling transparent transfer of memory function during upgrade
AU5029896A (en) * 1995-03-31 1996-10-16 Intel Corporation Memory testing in a multiple processor computer system
US5664152A (en) * 1995-06-06 1997-09-02 Hewlett-Packard Company Multiple segmenting of main memory to streamline data paths in a computing system
US5682522A (en) * 1995-07-18 1997-10-28 Silicon Integrated Systems Corp. Shared memory architecture of graphics frame buffer and hard disk cache

Also Published As

Publication number Publication date
EP0840234A2 (en) 1998-05-06
US5911149A (en) 1999-06-08
KR19980041957A (ko) 1998-08-17
JPH10133941A (ja) 1998-05-22
EP0840234A3 (en) 2002-07-10

Similar Documents

Publication Publication Date Title
KR100265263B1 (ko) 프로그램가능 공용 메모리 시스템 및 방법
US6104417A (en) Unified memory computer architecture with dynamic graphics memory allocation
US7793008B2 (en) AMBA modular memory controller
US5301278A (en) Flexible dynamic memory controller
JP3976342B2 (ja) 複数のエージェントから共用メモリに同時にアクセスできるようにする方法および装置
KR100799687B1 (ko) 비휘발성 메모리를 공유하는 두 개 이상의 콘트롤러를내장한 시스템
US5857083A (en) Bus interfacing device for interfacing a secondary peripheral bus with a system having a host CPU and a primary peripheral bus
US6330645B1 (en) Multi-stream coherent memory controller apparatus and method
US5854638A (en) Unified memory architecture with parallel access by host and video controller
KR100847968B1 (ko) 컴퓨팅 시스템, 전자 통신 디바이스, 컴퓨팅 시스템 운영 방법 및 정보 처리 방법
US5577230A (en) Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch
US6643746B1 (en) Optimal multi-channel memory controller system
JPH0584532B2 (ko)
JPH07175783A (ja) ディジタル信号処理プロセッサ
JPH10247163A (ja) コンピュータ・システム及びそのメモリ管理方法
WO1997023824A1 (en) The boot of a shared memory buffer architecture employing an arbitrary operating system
US6601130B1 (en) Memory interface unit with programmable strobes to select different memory devices
US5761455A (en) Dynamic bus reconfiguration logic
US6263390B1 (en) Two-port memory to connect a microprocessor bus to multiple peripherals
JP2001043180A (ja) マイクロプロセッサおよびそのための記憶装置
US6735643B2 (en) Electronic card with dynamic memory allocation management
US20070156947A1 (en) Address translation scheme based on bank address bits for a multi-processor, single channel memory system
US5933613A (en) Computer system and inter-bus control circuit
US5901298A (en) Method for utilizing a single multiplex address bus between DRAM, SRAM and ROM
US6434688B1 (en) Method and apparatus for providing and maximizing concurrent operations in a shared memory system which includes display memory

Legal Events

Date Code Title Description
A201 Request for examination
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: 20040609

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee