KR0154533B1 - 데이타 프로세서 - Google Patents
데이타 프로세서Info
- Publication number
- KR0154533B1 KR0154533B1 KR1019900009248A KR900009248A KR0154533B1 KR 0154533 B1 KR0154533 B1 KR 0154533B1 KR 1019900009248 A KR1019900009248 A KR 1019900009248A KR 900009248 A KR900009248 A KR 900009248A KR 0154533 B1 KR0154533 B1 KR 0154533B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- data entry
- data
- memory location
- memory
- Prior art date
Links
- 238000012546 transfer Methods 0.000 claims description 32
- 238000013479 data entry Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 10
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 23
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
Images
Classifications
-
- 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/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
내용 없음.
Description
제1도는 본 발명의 집적회로 데이타 처리 시스템을 예시하는 블록선도.
제2a 및 2b도는 본 발명의 양호한 실시예에 따라 MOVE 블록 명령을 수행하는 흐름도.
* 도면의 주요부분에 대한 부호의 설명
12 : CPU 14 : 데이타 캐시 컨트롤러
16 : 데이타 캐시 18 : 내부 버스
20 : 버스 인터페이스 컨트롤러 22a : 판독 버퍼
22b : 푸시 버퍼 24 : 시스템 버스
26 : 메모리 28 : DMA
30 : 디스크 32 : 어드레스 레지스터
34 : TLB
본 발명은 일반적으로 판독 및 기록시에 시스템 버스로의 버스트(burst) 전송을 함으로써, 단일 명령을 통해 데이타 블록의 메모리간 이동을 실행할 수 있는 데이타 프로세서에 관한 것이다. 보다 구체적으로, 본 발명은 소결합 시스템(loosely coupled system) 에 대한 명령에 관한 것으로, 상기 명령은 시스템 버스의 자연 데이타 형(type)을 유지해 주고 그러므로써 시스템 프로그래머로 하여금 CPU의 자연 데이타형보다 상당히 큰 데이타형에 대한 MOVE 명령을 발생할 수 있게 한다.
오늘날의 고성능 마이크로프로세서들은 중앙 처리 장치(CPU)와 외부 메모리 그리고 주변 장치들 사이에서 대규모의 고속 데이타 전송 성능을 필요로 하고 있다. 이러한 고성능 마이크로 프로세서들은 전반적인 시스템의 성능을 제한시키는 전송 싸이즈 및 전송 프로토콜과 같은 제한 조건들이 존재하는 여건에서 동작한다. 결과적으로, 요즈음의 마이크로프로세서는 버스 대역폭의 제한 요인을 부분적으로 상쇄시키기 위해 블록 전송(예컨데, 버스트 전송)을 이용하고 있다. 이러한 블록 전송은 데이타를 전송하기 위한 전송 프로토콜의 비율을 작게하고, 각각의 데이타 전송을 위해 최대 버스폭을 활용한다.
종래의 기술에서, 마이크로프로세서는 최대 데이타 싸이즈 보다 큰 데이타형의 이동(예컨데, 다중 프로세서 데이타 워드를 포함하는 캐시 라인의 로드/언로드)를 필요로 하는 특별한 조건하에서만 자동 버스트 전송을 활용하고 있다. 버스트 전송의 활용이 이러한 특별한 조건으로만 국한되기 때문에, 프로그램 제어(예컨데, DMA, 블록이동, 메모리 페이지 초기화, 및 분할 코프로세서로의 명령/데이타 전송)하에 있는 다른 데이타형의 블록 이동은 시스템 버스에 대한 최대의 활용을 성취할 수 없으며, 따라서 시스템 성능이 저하된다.
따라서, 본 발명의 목적은 프로그래머의 제어하에서 시스템 버스에 데이타의 버스트 모드 전송을 유지시키는 MOVE 명령을 제공하는 것이다.
본 발명의 또다른 목적은 프로그래머가 소결합 시스템 버스 컨트롤러에 있는 와이드 레지스터 세트를 활용하여, 싸이즈에 있어서 CPU의 자연 데이타 보다 큰 데이타량에 대한 메모리간의 이동 또는 캐시에서 메모리로의 이동을 실행할 수 있도록 하는 MOVE 명령을 제공하는 것이다.
본 발명은 이러한 목적 및 기타 목적들은 제1메모리 및 제2메모리를 갖는 데이타처리 시스템으로 성취되는데, 이 데이타 처리 시스템은 다수의 명령을 각각 실행하고 다수의 제어 신호를 제공하며 다수의 오퍼랜드 어드레스를 제공하는 명령 실행 유닛과, 시스템 통신 버스 및 제1논리 포션을 구비하며, 여기서 제1논리 포션은 명령 실행 유닛 및 시스템 통신 버스에 결합되어, 상기 명령 실행 유닛으로부터의 판독 블록요청에 응답하여 제1메모리 위치로부터 제1오퍼랜드 어드레스에 대응하는 소정의 데이타 엔트리 블록을 검색하는 한편 제1메모리 위치로부터 수신된 소정의 데이타 엔트리 블록의 시스템 통신 버스를 통한 제2메모리 위치로의 버스트 모드 전송을 초기화 함으로써, 소정의 데이타 엔트리 블록을 명령 실행 유닛으로부터의 기록 블록 요청에 응답하여 제2오퍼랜드 어드레스에 대응하는 제2메모리 위치에 전송시킨다.
제1도는 본 발명의 데이타 처리 시스템(10)의 양호한 실시예에 대한 블록선도로서, 이 데이타 처리 시스템(10)은 CPU(12), 데이타 캐시 컨트롤러(14), 데이타 캐시(16), 내부버스(18), 버스 인터페이스 컨트롤러(20), 버퍼(22), 시스템 버스(24), 주 메모리(26), DMA 유닛(28), 디스크(30) 및 어드레스 레지스터(32)를 구비한다. 이 데이타 처리 시스템(10)은 본 발명을 뒷받침 해주는 단일의 캐시를 사용하는 전형적인 유니-프로세서 시스템이다. 양호한 실시예에서, 내부 버스(18)는 n바이트 폭이며, 여기서 n바이트는 CPU(12)의 가장 큰 자연 데이타의 폭(즉, 4바이트)으로 되어 있다. 시스템 버스(24)는 m바이트 이며, 여기서 m바이트는 데이타 캐시(16)의 단일 라인 폭(즉, 16바이트)으로 되어 있다. 예시한 형태에서, CPU(12)는 일련의 소정 명령을 실행하는 통상적인 실행 유닛을 구비하는 제1내부 기능 유닛이다. 데이타 캐시 컨트롤러(14)는 버스 인터페이스 컨트롤러(20) 및 CPU(12)로부터 나오는 제어 신호를 수신하는 한편 데이타 캐시(16), CPU(12) 및 버스 인터페이스 컨트롤러(20) 사이에서 데이타 전송을 행하는 제2내부 기능 유닛이다. 데이타 캐시(16)는 데이타 캐시 컨트롤러(14), 버퍼(22) 및 내부 버스(18)에 연결되는 제3기능 유닛이다. 데이타 캐시(16)는 캐시를 판독, 기록, 갱신, 무효화(invalidate) 및 플러쉬(flush)하는데 필요한 적절한 논리를 포함한다. 양호한 실시예에서, 상기 3개의 내부 기능 유닛은 동시에 동작하여 최대의 지속 성능을 제공한다.
MOVE블록 명령은 프로그래머로 하여금 데이타 캐시(16)의 자연 라인 및 시스템 버스(24)의 버스트 성능을 이용할 수 있도록 한다. MOVE블록 명령을 수신하는 즉시 CPU(12)는 데이타 캐시 컨트롤러(14)로 하여금 판독 어드레스로부터의 데이타에 대한 블록 판독을 수행하도록 하는데, 이 블록 판독이 있은 후 기록 어드레스로의 데이타에 대한 블록 기록이 뒤따른다. 데이타 캐시 컨트롤러(14)는 CPU(12)로부터의 판독 블록 요청을 수신함에 응답하여, 판독 어드레스로부터 나오는 데이타를 푸시버퍼(22b)로 보낸다. 푸시버퍼(22b)로 로드되는 데이타는 데이타 캐시(16)로 부터 나오거나 또는 시스템 버스(24)로부터 판독 버퍼(22a)를 통해 나온다. 후자의 경우에서, 버스 인터페이스 컨트롤러(20)에 의해 수행되는 버스트 판독이 판독 버퍼(22a)로 로드된다. 데이타 캐시 컨트롤러(14)는 푸시 버퍼(22b)에 있는 데이타를 판독 블록 요청에 응답하여 CPU(12)에 의해 제공되는 기록 어드레스와 더불어 버스 인터페이스 컨트롤러(20)에 전송한다. 버스 인터페이스 컨트롤러(20)는 상기 데이타를 주 메모리(26)에 전송하는데, 이 데이타는 버스트 기록 전송을 이용하는 기록 어드레스에 대응한다.
동작시, CPU(12)는 다음과 같은 방식으로 MOVE 블록 명령을 행한다. CPU(12)는 데이타 컨트롤러(14)에 판독 블록 요청을 전송함과 동시에, 판독 어드레스를 어드레스 레지스터(32)에 전송한다. 양호한 실시예에서, 데이타 캐시(16)는 물리적 캐시(physical cache)가 되며, 판독 어드레스는 물리적 어드레스가 발생되도록 우선 번역 참조 버퍼(Translation Lookaside Buffer(TLB) ; 34)로 번역될 것이다. TLB(34)는 소정수로된 오퍼랜드 어드레스의 상부 비트를 물리적 어드레스로 변역함과 동시에 이 물리적 어드레스를 데이타 캐시 컨트롤러(14) 및 버스 인터페이스 컨트롤러(20)에 전송한다. 데이타 캐시(16)는 또한 TLB(34)에 의해 발생되는 물리적 어드레스를 수신하는 한편, 이 물리적 어드레스를 데이타 캐시(16)에 기억된 일련의 태그 어드레스(tag address)와 비교한다.
상기 비교의 결과로 어드레스 매치(address match)가 이루어지는 경우, 캐시 히트(hit)가 발생되며 데이타 캐시(16)가 HIT신호를 데이타 캐시 컨트롤러(14)에 전송하게 된다. 만일 데이타 캐시(16)에 있는 엔트리가 판독 어드레스를 매칭하지 못하는 경우, 캐시 미스(miss)가 발생되며 데이타 캐시(16)가 MISS 신호(HIT 신호의 보수) 데이타 캐시 컨트롤러(14)에 전송하게 된다. 데이타 캐시 컨트롤러(14)가 HIT 신호 또는 MISS신호를 수신하면 4개의 이벤트중 한 이벤트가 발생된다. 이벤트 1은 MISS 신호가 수신될 때 발생되고, 이벤트 2는 HIT 신호가 수신되고 그리고 판독 어드레스가 캐시 가능하며, 데이타가 데이타 캐시(16)로부터 판독됨을 나타낼때 발생되며, 이벤트 3은 HIT 신호가 수신되고 그리고 판독 어드레스가 캐시 불가능하며 주메모리(26)와 일관성을 유지할때, (VALID)발생되고, 이벤트 4는 HIT 신호가 수신되고 그리고 판독 어드레스가 캐시 불가능하며 판독 어드레스에 대응하는 캐시 데이타가 주 메모리(26)와 일관성을 유지하지 않을때 (DIRTY) 발생된다.
제2도는 본 발명의 양호한 실시예에 따라 MOVE 블록 명령을 수행하는 흐름도를 보인것이다. 괄호안의 번호들은 상기한 4개의 이벤트에 각각 대응한다. 이벤트 1은 데이타 캐시(16)가 MISS 신호를 데이타 캐시 컨트롤러(14)에 전송할때 발생된다. 데이타 캐시 컨트롤러(14)는 상기 MISS 신호를 수신함에 응답하여, BUS ACCESS REQUEST (BAR) 신호를 버스 인터페이스 컨트롤러(20)에 전송하므로써 블록 판독을 요청한다. 이 블록 판독 요청은 TLB(34)에 의해 버스 인터페이스 컨트롤러(20)에 전송되는 판독 어드레스에 대응한다. BAR 신호에 응답하여, 버스 인터페이스 컨트롤러(20)는 시스템 버스(24)에 판독 어드레스를 전송하는 한편 메모리 제어(CONTROL) 신호를 이용하여 버스트 판독 신호를 표시한다. 주 메모리(26)는 판독 어드레스 및 버스트 판독 CONTROL 신호를 수신하는 즉시 데이타 버스폭에 대응하는 소정의 데이타 포션에서 요청 데이타를 시스템 버스(24)에 전송한다. 버스 인터페이스 컨트롤러(20)는 시스템 버스(24)를 통해 각각의 데이타 포션을 수신하고 이 데이타를 판독 버퍼(22a)에 전송한다. 버스 인터페이스 컨트롤러(20)는 데이타 캐시 컨트롤러(14)에 전송된 STATUS 신호를 이용하여 버스트 전송의 완료를 표시한다. 이어서, 데이타 캐시 컨트롤러(14)는 TRANSFER CONTROL신호를 이용하여 판독 버퍼(22a)로부터 나오는 데이타를 푸시 버퍼(22b)에 전송한다.
데이타 캐시(16)가 데이타 캐시 컨트롤러(14)에 HIT 신호를 전송하고, 판독 어드레스가 캐시 가능한 것으로 여겨질때, 이벤트 2가 발생한다. 데이타 캐시 컨트롤러(14)는 데이타 캐시(16)로부터 나오는 모든 데이타 블록을 판독하고, 이 데이타를 CACHE CONTROL 신호를 이용하여 푸시 버퍼(22b)에 전송한다.
데이타 캐시(16)가 데이타 캐시 컨트롤러(14)에 HIT 신호를 전송하고, 판독 어드레스가 캐시 불가능하며, 데이타 캐시(16)에 있는 데이타 주 메모리(26)와 일관성을 유지할때(예컨데, VALID), 이벤트 3이 발생한다. 데이타 캐시 컨트롤러(14)는 제어 신호를 이용하여 캐시 엔트리를 무효화하고 그리고 이벤트 1에서와 같이 주 메모리(26)로부터 나오는 데이타 블록을 검색하게 된다.
데이타 캐시(16)로부터 나오는 HIT 신호가 데이타 캐시 컨트롤러(14)에 의해 수신되고, 판독 어드레스가 캐시 불가능하며, 판독 어드레스에 대응하는 데이타 캐시(16)에 있는 데이타가 주 메모리(26)와 일관성을 유지하지 못할때(예컨데, DIRTY), 이벤트 4가 발생한다. 데이타 캐시 컨트롤러(14)는 데이타 캐시(16)에 있는 엔트리를 무효화 하고, 데이타 캐시(16)로부터 나오는 모든 데이타 캐시 블록을 판독하며, 이 데이타를 CACHE CONTROL 신호를 이용하여 푸시 버퍼(22b)에 전송한다. 데이타 캐시 컨트롤러(14)는 버스 인터페이스 컨트롤러(20)에 블록 기록(푸시) 요청을 전송하고 그리고 더티(dirty) 데이타가 지금 푸시 버퍼(22b)에 기억됨을 표시한다. 버스 인터페이스 컨트롤러(20)는 푸시 요청을 수신하는 즉시 푸시 버퍼(22b)에 PUSH CONTROL 신호를 전송하며 그럼으로써 푸시 버퍼(22b)에 기억되는 더티 데이타가 버스 인터페이스 컨트롤러(20)에 있는 내부 레지스터(도시안됨)에 전송되게 한다. 더티 데이타는 다시 주 메모리(26)에 기록된다. 버스 인터페이스 컨트롤러(20)는 데이타 캐시 컨트롤러(14)에 STATUS 신호를 전송하며 이렇게 해서 푸시 요청의 수신을 표시한다. 버스 인터페이스 컨트롤러(20)로부터 나오는 STATUS 신호를 수신하는 즉시. 데이타 캐시 컨트롤러(14)는 다시 판독 주기를 시작하는바, 이렇게 해서 이벤트 1이 발생된다. CPU(12)로부터 나오는 블록 판독 요청에서 어떠한 이벤트가 발생되는가에 관계없이, 일단 푸시 버퍼(22b)에 판독 데이타가 로드되면, 데이타 캐시 컨트롤러(14)는 CPU(12)로 부터 나오는 기록 블록 요청을 수신할 준비에 들어간다. 기록 블록 요청 및 기록 어드레스를 수신하는 즉시 데이타 캐시 컨트롤러(14)는 버스 인터페이스 컨트롤러(20) 및 데이타 캐시(16)에 기록 어드레스(TLB(34)에 의해 번역이 가능함)를 동시 전송한다. 데이타 캐시(16)는 데이타 캐시(16)에 기억된 태그 어드레스와 상기 기록 어드레스를 비교한다. 비교결과 어드레스 매칭이 일어나는 경우, 캐시 히트가 발생되어, 데이타 캐시(16)로 하여금 매칭 캐시 엔트리를 무효화하도록 하는바, 이에 따라 상기 HIT 신호가 데이타 캐시 컨트롤러(14)에 전송된다. 만일 어떠한 캐시 엔트리도 기록 어드레스를 매칭하지 못하면, 캐시 미스가 발생되어 데이타 캐시(16)로 하여금 MISS 신호를 데이타 캐시 컨트롤러(14)에 전송하도록 한다. 캐시 엔트리의 매칭이 없고 그리고 무효화가 필요로 되지 않기 때문에, 데이타 캐시(16)는 추가 동작을 취하지 않는다.
각각의 경우(즉, 캐시히트 또는 캐시미스의 경우)에, 데이타 캐시 컨트롤러(14)는 BAR 신호를 버스 인터페이스 컨트롤러(20)에 전송하며, 그러므로써 기록 블록을 요청한다. 버스 인터페이스 컨트롤러(20)는 상기 기록 블록 요청을 수신하는 즉시 기록 버스트 전송을 위한 기록 블록 제어 신호와 더불어 기록 어드레스를 시스템 버스(24)에 전송한다. 더우기, 버스 인터페이스 컨트롤러(20)는 푸시버퍼(22b)에 PUSH CONTROL 신호를 전송하며 그러므로써 최대 버스폭에 대응하는 소정 포션에서, 푸시 버퍼(22b)로부터 나오는 데이타를(버스 인터페이스 컨트롤러(20)를 통해) 시스템 버스(24)에 전송한다. 데이타 전송비는 주 메모리(26)에 의한 각각의 데이타 포션의 수신비에 따라 조절된다. 주 메모리(26)는 상태 신호를 통해 데이타에 대한 각각의 포션을 수신함을 표시하는바, 그러므로써 모든 푸시 버퍼(22b)가 주 메모리(26)에 전송되고 그리고 버스트 전송이 완료될때까지 전송이 계속된다. 버스 인터페이스 컨트롤러(20)는 STATUS 신호를 이용하여 주 메모리(26)로의 데이타 전송이 완료되었음을 캐시 컨트롤러(14)에 알린다. 이제, MOVE 블록 명령이 완료되고 그리고 데이타 캐시 컨트롤러(14)는 CPU(12)로부터 나오는 새로운 요청을 수신할 준비 상태에 있게 된다.
본 발명은 양호한 실시예에 의거하게 상술되었지만은 본 기술분야에 전문 지식을 가진 자이면 본 발명이 다양한 방식으로 변경될 수 있고 그리고 여기에 특별히 제시하여 설명한 실시예가 아닌 다른 실시예들도 가능함을 분명히 알수 있을 것이다. 예컨데, 데이타 캐시(16)는 논리 캐시 로도 될수있는바, 이 경우에 TLB(34)에 의해 실행되는 어드레스 번역은 더이상 필요로 되지 않는다. 따라서, 데이타 캐시(16)가 논리 캐시인 경우, 어드레스 레지스터(32)는 데이타 캐시 컨트롤러(14) 및 버스 인터페이스 컨트롤러(20)에 판독 어드레스를 직접 전송할 것이다. 직접 메모리 억세스 디바이스(DMA)(28) 즉, 분할 코프로세서에서 데이타의 버스트 기록을 유지시키기 위해서 BLOCK MOVE 명령이 활용될 수 있다. 전송되는 블록의 싸이즈는 캐시 라인 싸이즈 및 버스 프로토콜에 따라 변화된다. 더우기, 블록 싸이즈의 변화는 명령 자체로 엔코딩 된다. 다중 레지스터의 데이타 내용에 대한 버스트 기록을 유지하는데도 역시 BLOCK MOVE 명령이 활용될 수 있다. 이것은 CPU(12)에 있는 레지스터들을 판독 데이타 소스로 지정하고 그리고 이 레지스터들을 내부 버스(18)를 통해 푸시 버퍼(22b)에 전송하여 이동 다중 레지스터 명령을 효과적으로 실행함으로써 성취된다.
Claims (3)
- m바이트 폭의 시스템 통신 버스에 결합된 제1메모리 및 제2메모리를 구비하며, 소정의 데이타 엔트리 블록에 대한 블록 이동 명령을 실행하며, 상기 m바이트가 상기 제1메모리의 1라인 폭에 해당하는 데이타 프로세서에 있어서, 상기 제1메모리에 결합되어 다수의 명령을 각각 실행하고, 다수의 제어 신호를 제공하며, 다수의 오퍼랜드 어드레스를 제공하는 명령 실행 수단과, 상기 제1메모리 및 상기 명령 실행 수단에 결합되며, 상기 명령 실행 수단의 최대 자연 데이타형의 폭에 해당하는 n(m보다 작은 정수)바이트 폭을 갖는 내부 통신 버스 및, 상기 명령 실행 수단 및 상기 시스템 통신 버스에 결합되어 상기 시스템 통신 버스를 통해, 판독 어드레스로부터 m바이트의 데이타 엔트리 블록을 검색하기 위해 버스트 판독 전송을 개시하고 상기 제2메모리내의 기록 어드레스로 상기 데이타 엔트리 블록의 버스트 기록 전송을 개시함으로써 상기 블록 이동 명령에 응답하며, 상기 데이타 엔트리 블록의 상기 버스트 기록동안, 프로그래머가 상기 시스템 통신 버스의 최대 버스 폭을 완전히 활용할 수 있도록 하는 제1수단을 포함하는 것을 특징으로 하는 데이타 프로세서.
- 시스템 통신 버스를 통해, 소정의 데이타 엔트리 블록에 대한 블록 이동 명령을 실행하며 상기 소정의 데이타 엔트리 블록의 버스트 모드 전송을 제1메모리 위치로부터 제2메모리 위치로 실행하는 데이타 프로세서에 있어서, 다수의 명령을 각각 실행하고, 다수의 제어 신호 및 다수의 오퍼랜드 어드레스를 제공하며, 프로그래머에 의해 상기 소정의 데이타 엔트리 블록이 상기 제1메모리 위치로부터 상기 제2메모리 위치로 전송되도록 상기 블록 이동 명령을 실행하는 명령 실행 수단과, 상기 시스템 통신 버스에 결합되어, 제1메모리 위치로부터 데이타 엔트리 블록을 검색하고 상기+ 시스템 통신 버스를 통해 상기 소정의 데이타 엔트리 블록의 상기 제2메모리 위치로의 버스트 기록 전송을 개시하며, 상기 프로그래머에 의한 상기 소정의 데이타 엔트리 블록의 상기 버스트 기록 전송을 허용하는 버스 컨트롤러 수단과, 상기 버스 컨트롤러 수단에 결합되어, 상기 소정의 데이타 엔트리 블록을 일시적으로 기억하며 상기 버스 컨트롤러 수단에 의해 제공된 제1제어 신호에 응답하여, 상기 소정의 데이타 엔트리 블록을 상기 버스 컨트롤러 수단에 전송하는 기억 수단과, 상기 명령 실행 수단, 상기 기억 수단, 및 상기 버스 컨트롤러 수단에 결합되어, 상기 명령 실행 수단으로부터의 판독 블록 요청을 수신하고 이에 응답하여 상기 제1메모리 위치로부터 검색된 상기 소정의 데이타 엔트리 블록을 상기 기억 수단에 전송하며, 상기 명령 실행 수단으로부터의 상기 기록 블록 요청을 수신하고 이에 응답하여 상기 소정의 데이타 엔트리 블록을 상기 기억 수단으로부터 상기 버스 컨트롤러 수단에 전송하며, 상기 시스템 통신 버스를 통해, 상기 기억 수단으로부터 상기 제2메모리 위치로의 상기 소정의 데이타 엔트리 블록의 상기 버스트 기록 전송을 개시하는 메모리 컨트롤러 수단을 구비하는 데이타 프로세서.
- m바이트 폭의 시스템 통신 버스를 통해, 제1메모리 위치로부터 제2메모리 위치로 m바이트 폭의 데이타 엔트리를 전송함으로써 프로그래머로부터 수신된 블록 이동 명령을 실행하며, 상기 m은 정수이며, 상기 m바이트 폭의 데이타 엔트리가 그 최대 자연 데이타 형보다 큰 데이타 프로세서에 있어서, 상기 블록 이동 명령을 포함하는 다수의 명령을 각각 실행하며, 상기 명령을 실행하는데 필요한 다수의 제어 신호 및 다수의 오퍼랜드 어드레스를 제공하며, 상기 프로그래머에 의해 상기 블록 이동 명령이 실행되는 명령 실행 수단 및, 상기 명령 실행 수단 및 상기 시스템 통신 버스에 결합되어, 상기 명령 실행 수단으로부터의 판독 블록 요청에 응답하여 상기 제1메모리 위치로부터 상기 m바이트폭의 데이타 엔트리를 검색하고 상기 명령 실행 수단으로부터의 기록 블록 요청에 응답하여 상기 시스템 통신 버스를 통해 상기 제2메모리 위치로 상기 m바이트 폭의 데이타 엔트리를 전송함으로써, 상기 블록 이동 명령에 응답하며, 상기 프로그래머가 상기 시스템 통신 버스의 최대 버스 폭을 활용하여 상기 제2메모리 위치로 상기 m바이트 폭의 데이타 엔트리의 버스트 기록 전송을 실행하도록 허용하는 제1수단을 포함하는 것을 특징으로 하는 데이타 프로세서.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/371,343 US5185694A (en) | 1989-06-26 | 1989-06-26 | Data processing system utilizes block move instruction for burst transferring blocks of data entries where width of data blocks varies |
US371,343 | 1989-06-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR910001555A KR910001555A (ko) | 1991-01-31 |
KR0154533B1 true KR0154533B1 (ko) | 1998-11-16 |
Family
ID=23463581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019900009248A KR0154533B1 (ko) | 1989-06-26 | 1990-06-22 | 데이타 프로세서 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5185694A (ko) |
EP (1) | EP0405882B1 (ko) |
JP (1) | JP3431626B2 (ko) |
KR (1) | KR0154533B1 (ko) |
DE (1) | DE69031367T2 (ko) |
HK (1) | HK1002438A1 (ko) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336180B1 (en) | 1997-04-30 | 2002-01-01 | Canon Kabushiki Kaisha | Method, apparatus and system for managing virtual memory with virtual-physical mapping |
US5255378A (en) * | 1989-04-05 | 1993-10-19 | Intel Corporation | Method of transferring burst data in a microprocessor |
CA2131627A1 (en) * | 1992-03-09 | 1993-09-16 | Yu-Ping Cheng | High-performance non-volatile ram protected write cache accelerator system |
US5953513A (en) * | 1992-07-09 | 1999-09-14 | Hitachi, Ltd. | Recording and reproducing device for recording and reproducing information from different kinds of storage media having different sector formats |
CA2135681C (en) * | 1993-12-30 | 2000-01-18 | Srinivas V. Makam | System and method for directly accessing long-term memory devices |
JP3529429B2 (ja) * | 1994-06-10 | 2004-05-24 | 富士通株式会社 | データ送信装置、データ受信装置、データ伝送装置及びデータ伝送方法 |
DE69629331T2 (de) * | 1995-06-02 | 2004-02-12 | Sun Microsystems, Inc., Mountain View | System und Verfahren zur Bereitstellung einer flexiblen Speicherhierarchie |
JP3513291B2 (ja) * | 1995-12-14 | 2004-03-31 | 富士通株式会社 | データ転送装置 |
US5911151A (en) * | 1996-04-10 | 1999-06-08 | Motorola, Inc. | Optimizing block-sized operand movement utilizing standard instructions |
US5835972A (en) * | 1996-05-28 | 1998-11-10 | Advanced Micro Devices, Inc. | Method and apparatus for optimization of data writes |
US5774135A (en) * | 1996-11-05 | 1998-06-30 | Vlsi, Technology, Inc. | Non-contiguous memory location addressing scheme |
US5933855A (en) * | 1997-03-21 | 1999-08-03 | Rubinstein; Richard | Shared, reconfigurable memory architectures for digital signal processing |
AUPO648397A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Improvements in multiprocessor architecture operation |
US6707463B1 (en) | 1997-04-30 | 2004-03-16 | Canon Kabushiki Kaisha | Data normalization technique |
US6289138B1 (en) | 1997-04-30 | 2001-09-11 | Canon Kabushiki Kaisha | General image processor |
US6674536B2 (en) | 1997-04-30 | 2004-01-06 | Canon Kabushiki Kaisha | Multi-instruction stream processor |
AUPO647997A0 (en) * | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Memory controller architecture |
US6414687B1 (en) | 1997-04-30 | 2002-07-02 | Canon Kabushiki Kaisha | Register setting-micro programming system |
US6349379B2 (en) | 1997-04-30 | 2002-02-19 | Canon Kabushiki Kaisha | System for executing instructions having flag for indicating direct or indirect specification of a length of operand data |
US6006303A (en) * | 1997-08-28 | 1999-12-21 | Oki Electric Industry Co., Inc. | Priority encoding and decoding for memory architecture |
US6108723A (en) * | 1998-07-20 | 2000-08-22 | Hewlett-Packard Company | System for implementing hardware automated control of burst mode data transfer over a communication link between devices operating in a block mode |
US6449711B1 (en) | 1999-02-04 | 2002-09-10 | Sun Microsystems, Inc. | Method, apparatus, and article of manufacture for developing and executing data flow programs |
JP2001035153A (ja) * | 1999-07-23 | 2001-02-09 | Fujitsu Ltd | 半導体記憶装置 |
US6665749B1 (en) * | 1999-08-17 | 2003-12-16 | Nec Electronics, Inc. | Bus protocol for efficiently transferring vector data |
DE19948100A1 (de) * | 1999-10-06 | 2001-04-12 | Infineon Technologies Ag | Prozessorsystem |
US6751675B1 (en) | 1999-11-15 | 2004-06-15 | Sun Microsystems, Inc. | Moving set packet processor suitable for resource-constrained devices |
JP2005190057A (ja) * | 2003-12-25 | 2005-07-14 | Hitachi Ltd | ディスクアレイ装置及びディスクアレイ装置のリモートコピー制御方法 |
US7343451B2 (en) * | 2003-12-25 | 2008-03-11 | Hitachi, Ltd. | Disk array device and remote copying control method for disk array device |
US7522168B2 (en) * | 2005-09-27 | 2009-04-21 | Sony Computer Entertainment Inc. | Cell processor task and data management |
US8037474B2 (en) * | 2005-09-27 | 2011-10-11 | Sony Computer Entertainment Inc. | Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution |
US7975269B2 (en) * | 2005-09-27 | 2011-07-05 | Sony Computer Entertainment Inc. | Parallel processor methods and apparatus |
US7734827B2 (en) * | 2005-09-27 | 2010-06-08 | Sony Computer Entertainment, Inc. | Operation of cell processors |
US7506123B1 (en) * | 2005-09-27 | 2009-03-17 | Sony Computer Entertainment Inc. | Method and system for performing memory copy function on a cell processor |
US8316220B2 (en) * | 2005-09-27 | 2012-11-20 | Sony Computer Entertainment Inc. | Operating processors over a network |
US8141076B2 (en) * | 2005-09-27 | 2012-03-20 | Sony Computer Entertainment Inc. | Cell processor methods and apparatus |
US8085275B1 (en) * | 2005-12-20 | 2011-12-27 | Nvidia Corporation | System and method for low-overhead push buffer jumps |
US8595747B2 (en) * | 2005-12-29 | 2013-11-26 | Sony Computer Entertainment Inc. | Efficient task scheduling by assigning fixed registers to scheduler |
US8621154B1 (en) | 2008-04-18 | 2013-12-31 | Netapp, Inc. | Flow based reply cache |
US8161236B1 (en) | 2008-04-23 | 2012-04-17 | Netapp, Inc. | Persistent reply cache integrated with file system |
US8543796B2 (en) * | 2008-11-05 | 2013-09-24 | Intel Corporation | Optimizing performance of instructions based on sequence detection or information associated with the instructions |
US9218183B2 (en) * | 2009-01-30 | 2015-12-22 | Arm Finance Overseas Limited | System and method for improving memory transfer |
US8171227B1 (en) | 2009-03-11 | 2012-05-01 | Netapp, Inc. | System and method for managing a flow based reply cache |
US10210114B2 (en) | 2014-08-01 | 2019-02-19 | Universiti Teknologi Malaysia | Interrupt-driven I/O arbiter for a microcomputer system |
DE102014111302B4 (de) * | 2014-08-07 | 2023-09-14 | Mikro Pahlawan | Unterbrechungsgesteuerter Ein-/Ausgabe-Arbiter für ein Mikrocomputersystem |
US9575913B1 (en) * | 2015-12-07 | 2017-02-21 | International Business Machines Corporation | Techniques for addressing topology specific replicated bus units |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5621240A (en) * | 1979-07-27 | 1981-02-27 | Hitachi Ltd | Information processor |
US4533995A (en) * | 1981-08-03 | 1985-08-06 | International Business Machines Corporation | Method and system for handling sequential data in a hierarchical store |
US4564899A (en) * | 1982-09-28 | 1986-01-14 | Elxsi | I/O Channel bus |
US4933835A (en) * | 1985-02-22 | 1990-06-12 | Intergraph Corporation | Apparatus for maintaining consistency of a cache memory with a primary memory |
US4958351A (en) * | 1986-02-03 | 1990-09-18 | Unisys Corp. | High capacity multiple-disk storage method and apparatus having unusually high fault tolerance level and high bandpass |
US4811208A (en) * | 1986-05-16 | 1989-03-07 | Intel Corporation | Stack frame cache on a microprocessor chip |
US4802085A (en) * | 1987-01-22 | 1989-01-31 | National Semiconductor Corporation | Apparatus and method for detecting and handling memory-mapped I/O by a pipelined microprocessor |
US4910656A (en) * | 1987-09-21 | 1990-03-20 | Motorola, Inc. | Bus master having selective burst initiation |
US4912631A (en) * | 1987-12-16 | 1990-03-27 | Intel Corporation | Burst mode cache with wrap-around fill |
US4926323A (en) * | 1988-03-03 | 1990-05-15 | Advanced Micro Devices, Inc. | Streamlined instruction processor |
EP0375883A3 (en) * | 1988-12-30 | 1991-05-29 | International Business Machines Corporation | Cache storage system |
-
1989
- 1989-06-26 US US07/371,343 patent/US5185694A/en not_active Expired - Lifetime
-
1990
- 1990-06-22 KR KR1019900009248A patent/KR0154533B1/ko not_active IP Right Cessation
- 1990-06-25 DE DE69031367T patent/DE69031367T2/de not_active Expired - Lifetime
- 1990-06-25 EP EP90306918A patent/EP0405882B1/en not_active Expired - Lifetime
- 1990-06-26 JP JP16587490A patent/JP3431626B2/ja not_active Expired - Lifetime
-
1998
- 1998-02-23 HK HK98101378A patent/HK1002438A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP3431626B2 (ja) | 2003-07-28 |
JPH0337744A (ja) | 1991-02-19 |
EP0405882A3 (en) | 1993-04-21 |
EP0405882B1 (en) | 1997-09-03 |
HK1002438A1 (en) | 1998-08-21 |
DE69031367T2 (de) | 1998-03-19 |
KR910001555A (ko) | 1991-01-31 |
DE69031367D1 (de) | 1997-10-09 |
US5185694A (en) | 1993-02-09 |
EP0405882A2 (en) | 1991-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0154533B1 (ko) | 데이타 프로세서 | |
KR920004402B1 (ko) | 디지탈 데이타 프로세서용 버스 인터페이스 회로 | |
JP3067112B2 (ja) | 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法 | |
JP3218317B2 (ja) | 集積キャッシュユニットおよびその構成方法 | |
US4959777A (en) | Write-shared cache circuit for multiprocessor system | |
US4939641A (en) | Multi-processor system with cache memories | |
US4747043A (en) | Multiprocessor cache coherence system | |
US5097409A (en) | Multi-processor system with cache memories | |
KR920008427B1 (ko) | 마이크로프로세서 | |
US5249284A (en) | Method and system for maintaining data coherency between main and cache memories | |
EP0288649A1 (en) | Memory control subsystem | |
US6718441B2 (en) | Method to prefetch data from system memory using a bus interface unit | |
JP3575572B2 (ja) | データ転送方法及びシステム | |
EP0303648B1 (en) | Central processor unit for digital data processing system including cache management mechanism | |
US5619677A (en) | Data processing system with an enhanced cache memory control | |
US5918069A (en) | System for simultaneously writing back cached data via first bus and transferring cached data to second bus when read request is cached and dirty | |
AU612814B2 (en) | Data processing system | |
JP3218316B2 (ja) | 集積キャッシュユニットおよびその内部でキャッシュ機能を実現するための方法 | |
JPH06309230A (ja) | バススヌ−プ方法 | |
KR100322223B1 (ko) | 대기행렬및스누프테이블을갖는메모리제어기 | |
US8688890B2 (en) | Bit ordering for communicating an address on a serial fabric | |
KR920004401B1 (ko) | 디지탈 데이타 프로세싱 시스템내의 프로세서와 특수명령 프로세서간의 인터페이스 | |
US7035981B1 (en) | Asynchronous input/output cache having reduced latency | |
KR20040047398A (ko) | 캐쉬 메모리를 이용한 데이터 억세스 방법 | |
JP2680293B2 (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: 20120625 Year of fee payment: 15 |
|
EXPY | Expiration of term |