KR100348808B1 - 메모리간의 데이타 전송장치 - Google Patents
메모리간의 데이타 전송장치 Download PDFInfo
- 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
Links
Classifications
-
- 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
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
-
- 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
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program 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
-
- 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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information 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 항에 있어서,상기 콘트롤 로직부는 소스 어드레스 레지스터와 목적지 어드레스 레지스터와 카운트 레지스터 및 콘트롤 상태 레지스터로 이루어진 레지스터부와; 상기 중앙처리장치에 의해 복사해야 할 시작 주소와 목적지 주소 및 카운트값이 세팅되면 상기 소스 어드레스 레지스터의 내용을 판독해서 목적지 어드레스 레지스터에 기록하고 기록 인지신호가 오면 소스 어드레스 레지스터 및 목적지 어드레스 레지스터를 증가시키고 카운트 레지스터의 값을 감소시키며, 그 감소시킨 카운트 레지스터값이영이되면 중앙처리장치로 복사가 완료됐다는 인터럽트를 발생하는 상태 머신부와; 현재 수행중인 데이타 영역을 다른 중앙처리장치 보드가 요구하면 어드레스를 비교하여 매칭이되면 복사가 완료될때까지 대기 시키고 있다가 복사가 종료되면 응답을 행하는 비교부와; 리드시 상기 비교부에서 어드레스를 비교한 결과 비매칭일 경우 디램에서 데이타를 읽어서 레지스터 버퍼에 래치한 후 버스를 통해 전송하고 기록시에는 기록 버퍼에서 데이타를 래치한 후 상기 디램에 기록하는 주변 로직부로 구성된것을 특징으로 하는 메모리간 데이타 전송장치.
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)
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)
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 | 양승택 | 다중프로세서 시스템에서의 캐쉬간 직접 데이타 전송 지원 제어 장치 |
-
1996
- 1996-04-24 KR KR1019960012686A patent/KR100348808B1/ko not_active IP Right Cessation
Patent Citations (5)
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)
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 | |
US6711650B1 (en) | Method and apparatus for accelerating input/output processing using cache injections | |
JPH0337744A (ja) | データ処理装置 | |
US5479625A (en) | Ring systolic array system for synchronously performing matrix/neuron computation using data transferred through cyclic shift register connected in cascade of trays | |
JP2695017B2 (ja) | データ転送方式 | |
US6092170A (en) | Data transfer apparatus between devices | |
JPH01269142A (ja) | 計算機システム | |
JPH0250499B2 (ko) | ||
JPH04237349A (ja) | キャッシュメモリシステムおよびキャッシュメモリコントローラ | |
KR100348808B1 (ko) | 메모리간의 데이타 전송장치 | |
JPH0789328B2 (ja) | データ処理装置 | |
JP3162459B2 (ja) | データ処理装置 | |
JPH0447350A (ja) | 主記憶読み出し応答制御方式 | |
JPS63247852A (ja) | キヤツシユメモリ制御方法 | |
JP2791319B2 (ja) | データ処理装置 | |
JP3299147B2 (ja) | キャッシュ制御回路 | |
JP3097083B2 (ja) | データ処理装置 | |
JPH0376501B2 (ko) | ||
JPH03127126A (ja) | 情報処理装置 | |
JPH01316851A (ja) | チャネル制御方式 | |
JPS63156263A (ja) | アダプタのメインテナンス方式 | |
JPH08166905A (ja) | キャッシュメモリ制御方法 | |
JPS6385949A (ja) | キヤツシユメモリストア方式 | |
JPH04302044A (ja) | マルチプロセッサシステム | |
JPS6269337A (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 |