KR100348808B1 - 메모리간의 데이타 전송장치 - Google Patents

메모리간의 데이타 전송장치 Download PDF

Info

Publication number
KR100348808B1
KR100348808B1 KR1019960012686A KR19960012686A KR100348808B1 KR 100348808 B1 KR100348808 B1 KR 100348808B1 KR 1019960012686 A KR1019960012686 A KR 1019960012686A KR 19960012686 A KR19960012686 A KR 19960012686A KR 100348808 B1 KR100348808 B1 KR 100348808B1
Authority
KR
South Korea
Prior art keywords
register
address
data
memory
cpu
Prior art date
Application number
KR1019960012686A
Other languages
English (en)
Other versions
KR970071308A (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 엘지전자주식회사
Priority to KR1019960012686A priority Critical patent/KR100348808B1/ko
Publication of KR970071308A publication Critical patent/KR970071308A/ko
Application granted granted Critical
Publication of KR100348808B1 publication Critical patent/KR100348808B1/ko

Links

Classifications

    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
    • 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
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 오퍼레이팅 시스템(O/S)이 중앙처리장치 보드에서 수행되면서 다량의 데이타를 메모리에서 메모리로 복사하는 경우 캐시 일관성 유지에 대한 오버헤드를 감소시켜 전체적인 컴퓨터 시스템의 성능 향상을 도모하도록 한 메모리간의 데이타 전송장치에 관한 것이다.
이러한 본 발명은 메모리 보드에 중앙처리장치로 부터 얻어진 복사해야할 시작 주소와 목적지 주소 및 카운트값에 따라 소스 레지스터 어드레스의 내용을 리드해서 목적지 레지스터 어드레스에 기록하고 다른 중앙처리장치 보드로 부터 현재 수행중인 데이타 영역을 요구하면 어드레스를 비교하여 매칭이되면 복사가 종료될 때까지 대기시키고 있다가 복사가 종료하면 응답을 행하도록 콘트롤 로직부를 구비한다.

Description

메모리간의 데이타 전송장치
본 발명은 메모리와 메모리간의 데이타 전송에 관한 것으로, 특히 오퍼레이팅 시스템(O/S)이 중앙처리장치 보드에서 수행되면서 다량의 데이타를 메모리에서 메모리로 복사하는 경우 캐시 일관성 유지에 대한 오버헤드를 감소시켜 전체적인 컴퓨터 시스템의 성능 향상을 도모하도록 한 메모리간의 데이타 전송장치에 관한 것이다.
일반적으로, 캐시 램이 존재하는 컴퓨터 시스템에서는 중앙처리가 수행할 명령어 및 데이타를 하드 디스크에서 읽어와서 저장하는 메모리와 중앙처리장치 내부에 캐시 램을 두어 상호 데이타 전송이 가능하도록 한다.
이러한 구성을 갖는 종래의 메모리간의 데이타 전송장치가 제 1 도에 도시되었다.
도시된 바와 같이, 중앙처리장치가 수행하는데 필요한 명령어 및 데이타를 저장하고 메모리간의 데이타 전송을 위해 전체적인 제어를 행하는 캐시 램(11)을 포함한 중앙처리장치 보드(10)와, 상기 중앙처리장치가 수행해야할 명령어 및 데이타를 하드 디스크에서 읽어와서 저장하는 메모리(20)로 구성 되었다.
이와 같이 구성된 종래 컴퓨터 시스템의 메모리간 데이타 전송 장치의 동작을 설명하면 다음과 같다.
먼저, 복사 동작을 시작하면 8바이트가 메모리(20)에서 리드 경로를 통해 중앙처리장치 보드(10)내의 캐시 램(11)에 로드된다.
복사될 장소(목적지)가 캐시 사이즈를 벗어나면 기록할 주소의 데이타 8바이트를 메모리(20)에서 캐시 램으로 리드 경로를 통해 읽어서 로드한다.
중앙처리장치는 상기 메모리(20)에서 로드한 데이타를 캐시 램(11)에 기록하게 되며, 캐시 램(11)에 기록된 데이타는 다른 중앙처리장치 보드가 원하면 메모리(20)에 기록 경로를 통해 기록된다.
그러나 이러한 컴퓨터 시스템의 메모리간 데이타 전송장치는 중앙처리장치가 메모리간 데이타 전송을 직접 수행하므로 매번 버스를 잡아야 하므로 상당한 시간이 소요되는 문제점이 있었다.
또한, 복사 하고자 하는 소스 데이타를 캐시에 로드 했다가 목적지에 기록할 때 목적지도 다시 캐시에 로드되어야 하므로 재 판독이 필요한 불합리한 문제점이 있으며, 상기한 일련의 동작들이 다중 프로세서 시스템에서 캐시 일관성을 유지시켜야 하는 동작이므로 로직에 오버헤드가 발생하는 문제점이 있으며, 이로 인해 시스템의 성능을 저하시키는 문제점을 유발 시켰다.
따라서 본 발명은 상기와 같은 종래 컴퓨터 시스템의 제반 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 오퍼레이팅 시스템(O/S)이 중앙처리장치 보드에서 수행되면서 다량의 데이타를 메모리에서 메모리로 복사하는 경우 캐시 로직이 존재하는 경우 캐시 일관성 유지에 대한 오버헤드를 감소시켜 전체적인 컴퓨터 시스템의 성능 향상을 도모하도록 한 메모리간의 데이타 전송장치를 제공하는데 있다.
이러한 본 발명의 목적을 달성하기 위한 기술적 수단은,
중앙처리장치로 부터 얻어진 복사해야할 시작 주소와 목적지 주소 및 카운트값에 따라 소스 레지스터 어드레스의 내용을 리드해서 목적지 레지스터 에드레스에 기록하고 다른 중앙처리장치 보드로 부터 현재 수행중인 데이타 영역을 요구하면 어드레스를 비교하여 매칭이되면 복사가 종료될때까지 대기시키고 있다가 복사가 종료하면 응답을 행하는 콘트롤 로직부를 포함하는 메모리 보드로 이루어진다.
상기에서 메모리 보드내의 콘트롤 로직부는 소스 어드레스 레지스터와 목적지 어드레스 레지스터와 카운트 레지스터 및 콘트롤 상태 레지스터로 이루어진 레지스터부와, 상기 중앙처리장치에 의해 복사해야 할 시작 주소와 목적지 주소 및 카운트값이 세팅되면 상기 소스 어드레스 레지스터의 내용을 판독해서 목적지 어드레스 레지스터에 기록하고 기록 인지신호가 오면 소스 어드레스 레지스터 및 목적지 어드레스 레지스터를 증가시키고 카운트 레지스터의 값을 감소시키며, 그 감소시킨 카운트 레지스터값이 영이되면 중앙처리장치로 복사가 완료됐다는 인터럽트를 발생하는 상태 머신부와, 현재 수행중인 데이타 영역을 다른 중앙처리장치 보드가 요구하면 어드레스를 비교하여 매칭이되면 복사가 완료될때까지 대기 시키고 있다가 복사가 종료되면 응답을 행하는 비교부와, 리드시 상기 비교부에서 어드레스를 비교한 결과 비매칭일 경우 디램에서 데이타를 읽어서 레지스터 버퍼에 래치한 후 버스를 통해 전송하고 기록시에는 기록 버퍼에서 데이타를 래치한 후 상기 디램에 기록하는 주변 로직부로 이루어진다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면에 의거 상세히 설명하면 다음과 같다.
제 2 도는 본 발명에 의한 메모리간 데이타 전송장치 구성도이다.
여기서, (가)는 메모리 보드 전체 구성도로서, 중앙처리장치로 부터 얻어진 복사해야할 시작 주소와 목적지 주소 및 카운트값에 따라 소스 레지스터 어드레스의 내용을 리드해서 목적지 레지스터 어드레스에 기록하고 다른 중앙처리장치 보드로부터 현재 수행중인 데이타 영역을 요구하면 어드레스를 비교하여 매칭이되면 복사가 종료될때까지 대기시키고 있다가 복사가 종료하면 응답을 행하는 콘트롤 로직부(110)를 포함하는 메모리 보드(100)로 구성 되었다.
상기에서 콘트롤 로직부(110)는 (나)에 도시된 바와 같이, 소스 어드레스 레지스터와 목적지 어드레스 레지스터와 카운트 레지스터 및 콘트롤 상태 레지스터로 이루어진 레지스터부(111)와, 상기 중앙처리장치에 의해 복사해야 할 시작 주소와 목적지 주소 및 카운트값이 세팅되면 상기 소스 어드레스 레지스터의 내용을 판독해서 목적지 어드레스 레지스터에 기록하고 기록 인지신호가 오면 소스 어드레스 레지스터 및 목적지 어드레스 레지스터를 증가시키고 카운트 레지스터의 값을 감소시키며, 그 감소시킨 카운트 레지스터값이 영이되면 중앙처리장치로 복사가 완료됐다는 인터럽트를 발생하는 상태 머신부(112)와, 현재 수행중인 데이타 영역을 다른 중앙처리장치 보드가 요구하면 어드레스를 비교하여 그 결과신호를 주변 로직부(114)에 전달하는 비교부(113)와, 상기 비교부(113)의 출력이 어드레스 매칭이면 복사가 완료될때까지 대기 시키고 있다가 복사가 종료되면 응답을 행하고, 리드시 어드레스가 비매칭일 경우 디램에서 데이타를 읽어서 레지스터 버퍼에 래치한 후 버스를 통해 전송하고 기록시에는 기록 버퍼에서 데이타를 래치한 후 상기 디램에 기록하는 주변 로직부(114)로 구성 되었다.
이와 같이 구성된 본 발명에 의한 메모리간 데이타 전송장치의 작용 및 효과를 첨부한 도면 제 3 도를 참조하여 상세히 설명하면 다음과 같다.
먼저, 중앙처리장치는 복사해야할 시작 주소(소스 어드레스)와 목적지 주소 및 카운트값을 메모리 보드(100)의 레지스터부(111)에 기록하고 콘트를 상태 레지스터(111d)의 진행 비트(GO비트)를 세팅한다.
상기와 같이 GO비트가 세팅되면 상태 머신부(112)가 동작하여 소스 어드레스 레지스터(111a)의 내용을 리드해서 목적지 어드레스 레지스터(111b)에 기록한다.
이후 기록 인지신호가 오면 소스 어드레스 레지스터(111a) 및 목적지 어드레스 레지스터(111b)를 증가시키고, 카운트 레지스터(111c)의 값을 1감소시킨다.
이런 동작을 카운트 레지스터값이 영(0)이 될때까지 반복 수행한다.
이후, 카운트 레지스터값이 영(0)이 되면 인터럽트를 중앙처리장치 보드로 보내서 복사가 완료되었음을 알려주게 되고, 이에 따라 오퍼레이팅 시스템은 다음 동작을 수행하게 되는 것이다.
상기와 같은 동작중에 에러가 발생하면 에러 상태를 콘트롤 상태 레지스터(111d)에 세팅해 놓고, 중앙처리장치 보드에 알려주면 중앙처리장치 보드에서 재시도를 행하여 성공적으로 끝내도록 한다.
한편, 비교부(113)는 현재 복사중인 데이타 영역을 다른 중앙처리장치 보드가 요구하면 어드레스를 비교하여 그 결과 신호, 즉 매칭 또는 비매칭신호를 주변 로직부(114)에 전달하게 되는데, 이때 어드레스 매칭일 경우에는 바로 매칭신호를주변 로직부(114)에 전달하지 않고 현재 진행중인 복사가 종료될때까지 대기 시키게 되며, 진행중인 복사가 종료되면 그때 응답을 행하게 된다.
그리고, 주변 로직부(114)는 상기 비교부(113)의 출력이 비매칭일 경우 바로 응답을 해주어야 한다.
즉, 판독시에는 디램(114c)에서 해당 데이타를 읽어서 판독 버퍼(114d 또는 114e)에 래치한 후 버스에 전송해주고, 이와는 달리 기록시에는 기록 버퍼(114a 또는 114b)에 해당 데이타를 래치한 후 디램(114c)에 기록 하게 되는 것이다.
이상에서와 같이 본 발명은 메모리 보드의 콘트롤 로직부에서 다른 메모리와 데이타 전송시 이를 처리 함으로써 캐시 일관성 유지에 대한 오버헤드를 감소시킬 수 있어 전체적인 시스템의 성능 향상을 도모하는 효과가 있다.
제 1 도는 종래 메모리간의 데이타 전송장치 구성도.
제 2 도는 본 발명에 의한 메모리간의 데이타 전송장치 구성도로서,
(가)는 메모리 보드 전체 구성도이고,
(나)는 콘트롤 로직부 블럭 구성도이다.
제 3 도는 제 2 도의 콘트롤 로직부 상세 구성도로서,
(가)는 레지스터부 구성도이고,
(나)는 비교부 구성도이고,
(다)는 상태 머신부 동작 흐름도이고,
(라)는 주변 로직부 상세 구성도이다.
** 도면의 주요 부분에 대한 부호의 설명 **
100 : 메모리보드 110 : 콘트를 로직부
111 : 레지스터부 112 : 상태 머신부
113 : 비교부 114 : 주변 로직부
111a : 소스 어드레스 레지스터 111b : 목적지 어드레스 레지스터
111c : 카운트 레지스터 111d : 콘트롤 상태 레지스터

Claims (2)

  1. 중앙처리장치가 수행하는데 필요한 명령어 및 데이타를 저장하고 메모리간의 데이타 전송을 위해 전체적인 제어를 행하는 캐시 램을 포함한 중앙처리장치 보드와, 상기 중앙처리장치가 수행해야할 명령어 및 데이타를 하드 디스크에서 읽어와서 저장하는 메모리 보드로 이루어진 컴퓨터 시스템에 있어서,
    상기 메모리 보드에 상기 중앙처리장치로 부터 얻어진 복사해야할 시작 주소와 목적지 주소 및 카운트값에 따라 소스 레지스터 어드레스의 내용을 리드해서 목적지 레지스터 어드레스에 기록하고 다른 중앙처리장치 보드로 부터 현재 수행중인 데이타 영역을 요구하면 어드레스를 비교하여 매칭이되면 복사가 종료될때까지 대기시키고 있다가 복사가 종료하면 응답을 행하는 콘트롤 로직부를 더 구비하여 구성한 것을 특징으로 하는 메모리간의 데이타 전송장치.
  2. 제 1 항에 있어서,
    상기 콘트롤 로직부는 소스 어드레스 레지스터와 목적지 어드레스 레지스터와 카운트 레지스터 및 콘트롤 상태 레지스터로 이루어진 레지스터부와; 상기 중앙처리장치에 의해 복사해야 할 시작 주소와 목적지 주소 및 카운트값이 세팅되면 상기 소스 어드레스 레지스터의 내용을 판독해서 목적지 어드레스 레지스터에 기록하고 기록 인지신호가 오면 소스 어드레스 레지스터 및 목적지 어드레스 레지스터를 증가시키고 카운트 레지스터의 값을 감소시키며, 그 감소시킨 카운트 레지스터값이영이되면 중앙처리장치로 복사가 완료됐다는 인터럽트를 발생하는 상태 머신부와; 현재 수행중인 데이타 영역을 다른 중앙처리장치 보드가 요구하면 어드레스를 비교하여 매칭이되면 복사가 완료될때까지 대기 시키고 있다가 복사가 종료되면 응답을 행하는 비교부와; 리드시 상기 비교부에서 어드레스를 비교한 결과 비매칭일 경우 디램에서 데이타를 읽어서 레지스터 버퍼에 래치한 후 버스를 통해 전송하고 기록시에는 기록 버퍼에서 데이타를 래치한 후 상기 디램에 기록하는 주변 로직부로 구성된것을 특징으로 하는 메모리간 데이타 전송장치.
KR1019960012686A 1996-04-24 1996-04-24 메모리간의 데이타 전송장치 KR100348808B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960012686A KR100348808B1 (ko) 1996-04-24 1996-04-24 메모리간의 데이타 전송장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960012686A KR100348808B1 (ko) 1996-04-24 1996-04-24 메모리간의 데이타 전송장치

Publications (2)

Publication Number Publication Date
KR970071308A KR970071308A (ko) 1997-11-07
KR100348808B1 true KR100348808B1 (ko) 2003-01-29

Family

ID=37488915

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960012686A KR100348808B1 (ko) 1996-04-24 1996-04-24 메모리간의 데이타 전송장치

Country Status (1)

Country Link
KR (1) KR100348808B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100856774B1 (ko) * 2005-12-22 2008-09-05 인터내셔널 비지네스 머신즈 코포레이션 효율적이고 유연성있는 메모리 복사 동작
KR20170099869A (ko) * 2014-12-27 2017-09-01 인텔 코포레이션 인덱스 및 즉치로 벡터 치환을 수행하기 위한 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0136178A2 (en) * 1983-09-29 1985-04-03 Tandem Computers Incorporated Automatic memory board reconfiguration
JPS6273345A (ja) * 1985-09-27 1987-04-04 Toshiba Corp 情報処理装置
KR930020245U (ko) * 1992-02-20 1993-09-24 엘지전자주식회사 멀티프로세서의 데이타 전송장치
US5500950A (en) * 1993-01-29 1996-03-19 Motorola, Inc. Data processor with speculative data transfer and address-free retry
KR960011722A (ko) * 1994-09-22 1996-04-20 양승택 다중프로세서 시스템에서의 캐쉬간 직접 데이타 전송 지원 제어 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0136178A2 (en) * 1983-09-29 1985-04-03 Tandem Computers Incorporated Automatic memory board reconfiguration
JPS6273345A (ja) * 1985-09-27 1987-04-04 Toshiba Corp 情報処理装置
KR930020245U (ko) * 1992-02-20 1993-09-24 엘지전자주식회사 멀티프로세서의 데이타 전송장치
US5500950A (en) * 1993-01-29 1996-03-19 Motorola, Inc. Data processor with speculative data transfer and address-free retry
KR960011722A (ko) * 1994-09-22 1996-04-20 양승택 다중프로세서 시스템에서의 캐쉬간 직접 데이타 전송 지원 제어 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100856774B1 (ko) * 2005-12-22 2008-09-05 인터내셔널 비지네스 머신즈 코포레이션 효율적이고 유연성있는 메모리 복사 동작
KR20170099869A (ko) * 2014-12-27 2017-09-01 인텔 코포레이션 인덱스 및 즉치로 벡터 치환을 수행하기 위한 방법 및 장치
KR102508075B1 (ko) 2014-12-27 2023-03-10 인텔 코포레이션 인덱스 및 즉치로 벡터 치환을 수행하기 위한 방법 및 장치

Also Published As

Publication number Publication date
KR970071308A (ko) 1997-11-07

Similar Documents

Publication Publication Date Title
EP0283628B1 (en) Bus interface circuit for digital data processor
JPH0337744A (ja) データ処理装置
US5619677A (en) Data processing system with an enhanced cache memory control
JP2695017B2 (ja) データ転送方式
US6092170A (en) Data transfer apparatus between devices
JPH01269142A (ja) 計算機システム
JPH0250499B2 (ko)
JPH04237349A (ja) キャッシュメモリシステムおよびキャッシュメモリコントローラ
KR100348808B1 (ko) 메모리간의 데이타 전송장치
JPH0789328B2 (ja) データ処理装置
JP3162459B2 (ja) データ処理装置
JPS63247852A (ja) キヤツシユメモリ制御方法
JP2791319B2 (ja) データ処理装置
JP3299147B2 (ja) キャッシュ制御回路
JP3097083B2 (ja) データ処理装置
JP2964504B2 (ja) 文書処理装置
JPH03127126A (ja) 情報処理装置
JPH01316851A (ja) チャネル制御方式
JPS63156263A (ja) アダプタのメインテナンス方式
JPH08166905A (ja) キャッシュメモリ制御方法
JPS6385949A (ja) キヤツシユメモリストア方式
JPH04302044A (ja) マルチプロセッサシステム
JPS6269337A (ja) キヤツシユ制御方式
JPH02224158A (ja) キャッシュメモリ装置及びデータ処理装置並びにデータアクセス方法とキャッシュメモリへのデータ格納方法
JPH0713865A (ja) キャッシュメモリ制御システム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080612

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee