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
Application number
KR1019900009248A
Other languages
English (en)
Other versions
KR910001555A (ko
Inventor
더블유.에덴필드 로빈
맥개리티 랠프
레이닌거 러쎌
비. 레드베터 2세 윌리암
샤한 밴비.
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 KR910001555A publication Critical patent/KR910001555A/ko
Application granted granted Critical
Publication of KR0154533B1 publication Critical patent/KR0154533B1/ko

Links

Images

Classifications

    • 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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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

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)

  1. m바이트 폭의 시스템 통신 버스에 결합된 제1메모리 및 제2메모리를 구비하며, 소정의 데이타 엔트리 블록에 대한 블록 이동 명령을 실행하며, 상기 m바이트가 상기 제1메모리의 1라인 폭에 해당하는 데이타 프로세서에 있어서, 상기 제1메모리에 결합되어 다수의 명령을 각각 실행하고, 다수의 제어 신호를 제공하며, 다수의 오퍼랜드 어드레스를 제공하는 명령 실행 수단과, 상기 제1메모리 및 상기 명령 실행 수단에 결합되며, 상기 명령 실행 수단의 최대 자연 데이타형의 폭에 해당하는 n(m보다 작은 정수)바이트 폭을 갖는 내부 통신 버스 및, 상기 명령 실행 수단 및 상기 시스템 통신 버스에 결합되어 상기 시스템 통신 버스를 통해, 판독 어드레스로부터 m바이트의 데이타 엔트리 블록을 검색하기 위해 버스트 판독 전송을 개시하고 상기 제2메모리내의 기록 어드레스로 상기 데이타 엔트리 블록의 버스트 기록 전송을 개시함으로써 상기 블록 이동 명령에 응답하며, 상기 데이타 엔트리 블록의 상기 버스트 기록동안, 프로그래머가 상기 시스템 통신 버스의 최대 버스 폭을 완전히 활용할 수 있도록 하는 제1수단을 포함하는 것을 특징으로 하는 데이타 프로세서.
  2. 시스템 통신 버스를 통해, 소정의 데이타 엔트리 블록에 대한 블록 이동 명령을 실행하며 상기 소정의 데이타 엔트리 블록의 버스트 모드 전송을 제1메모리 위치로부터 제2메모리 위치로 실행하는 데이타 프로세서에 있어서, 다수의 명령을 각각 실행하고, 다수의 제어 신호 및 다수의 오퍼랜드 어드레스를 제공하며, 프로그래머에 의해 상기 소정의 데이타 엔트리 블록이 상기 제1메모리 위치로부터 상기 제2메모리 위치로 전송되도록 상기 블록 이동 명령을 실행하는 명령 실행 수단과, 상기 시스템 통신 버스에 결합되어, 제1메모리 위치로부터 데이타 엔트리 블록을 검색하고 상기+ 시스템 통신 버스를 통해 상기 소정의 데이타 엔트리 블록의 상기 제2메모리 위치로의 버스트 기록 전송을 개시하며, 상기 프로그래머에 의한 상기 소정의 데이타 엔트리 블록의 상기 버스트 기록 전송을 허용하는 버스 컨트롤러 수단과, 상기 버스 컨트롤러 수단에 결합되어, 상기 소정의 데이타 엔트리 블록을 일시적으로 기억하며 상기 버스 컨트롤러 수단에 의해 제공된 제1제어 신호에 응답하여, 상기 소정의 데이타 엔트리 블록을 상기 버스 컨트롤러 수단에 전송하는 기억 수단과, 상기 명령 실행 수단, 상기 기억 수단, 및 상기 버스 컨트롤러 수단에 결합되어, 상기 명령 실행 수단으로부터의 판독 블록 요청을 수신하고 이에 응답하여 상기 제1메모리 위치로부터 검색된 상기 소정의 데이타 엔트리 블록을 상기 기억 수단에 전송하며, 상기 명령 실행 수단으로부터의 상기 기록 블록 요청을 수신하고 이에 응답하여 상기 소정의 데이타 엔트리 블록을 상기 기억 수단으로부터 상기 버스 컨트롤러 수단에 전송하며, 상기 시스템 통신 버스를 통해, 상기 기억 수단으로부터 상기 제2메모리 위치로의 상기 소정의 데이타 엔트리 블록의 상기 버스트 기록 전송을 개시하는 메모리 컨트롤러 수단을 구비하는 데이타 프로세서.
  3. m바이트 폭의 시스템 통신 버스를 통해, 제1메모리 위치로부터 제2메모리 위치로 m바이트 폭의 데이타 엔트리를 전송함으로써 프로그래머로부터 수신된 블록 이동 명령을 실행하며, 상기 m은 정수이며, 상기 m바이트 폭의 데이타 엔트리가 그 최대 자연 데이타 형보다 큰 데이타 프로세서에 있어서, 상기 블록 이동 명령을 포함하는 다수의 명령을 각각 실행하며, 상기 명령을 실행하는데 필요한 다수의 제어 신호 및 다수의 오퍼랜드 어드레스를 제공하며, 상기 프로그래머에 의해 상기 블록 이동 명령이 실행되는 명령 실행 수단 및, 상기 명령 실행 수단 및 상기 시스템 통신 버스에 결합되어, 상기 명령 실행 수단으로부터의 판독 블록 요청에 응답하여 상기 제1메모리 위치로부터 상기 m바이트폭의 데이타 엔트리를 검색하고 상기 명령 실행 수단으로부터의 기록 블록 요청에 응답하여 상기 시스템 통신 버스를 통해 상기 제2메모리 위치로 상기 m바이트 폭의 데이타 엔트리를 전송함으로써, 상기 블록 이동 명령에 응답하며, 상기 프로그래머가 상기 시스템 통신 버스의 최대 버스 폭을 활용하여 상기 제2메모리 위치로 상기 m바이트 폭의 데이타 엔트리의 버스트 기록 전송을 실행하도록 허용하는 제1수단을 포함하는 것을 특징으로 하는 데이타 프로세서.
KR1019900009248A 1989-06-26 1990-06-22 데이타 프로세서 KR0154533B1 (ko)

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)

* Cited by examiner, † Cited by third party
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
AU662973B2 (en) * 1992-03-09 1995-09-21 Auspex Systems, Inc. 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 富士通株式会社 データ送信装置、データ受信装置、データ伝送装置及びデータ伝送方法
EP0745941B1 (en) * 1995-06-02 2003-08-06 Sun Microsystems, Inc. A system and method for providing a flexible memory hierarchy
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
AUPO647997A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6289138B1 (en) 1997-04-30 2001-09-11 Canon Kabushiki Kaisha General image processor
US6414687B1 (en) 1997-04-30 2002-07-02 Canon Kabushiki Kaisha Register setting-micro programming system
US6195674B1 (en) 1997-04-30 2001-02-27 Canon Kabushiki Kaisha Fast DCT apparatus
US6259456B1 (en) 1997-04-30 2001-07-10 Canon Kabushiki Kaisha Data normalization techniques
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
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
US8141076B2 (en) * 2005-09-27 2012-03-20 Sony Computer Entertainment Inc. Cell processor methods and apparatus
US8316220B2 (en) * 2005-09-27 2012-11-20 Sony Computer Entertainment Inc. Operating processors over a network
US7975269B2 (en) * 2005-09-27 2011-07-05 Sony Computer Entertainment Inc. Parallel 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)

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

Also Published As

Publication number Publication date
HK1002438A1 (en) 1998-08-21
DE69031367T2 (de) 1998-03-19
EP0405882B1 (en) 1997-09-03
US5185694A (en) 1993-02-09
EP0405882A2 (en) 1991-01-02
DE69031367D1 (de) 1997-10-09
JP3431626B2 (ja) 2003-07-28
JPH0337744A (ja) 1991-02-19
KR910001555A (ko) 1991-01-31
EP0405882A3 (en) 1993-04-21

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) 集積キャッシュユニットおよびその内部でキャッシュ機能を実現するための方法
KR100322223B1 (ko) 대기행렬및스누프테이블을갖는메모리제어기
JPH06309230A (ja) バススヌ−プ方法
US8688890B2 (en) Bit ordering for communicating an address on a serial fabric
KR920004401B1 (ko) 디지탈 데이타 프로세싱 시스템내의 프로세서와 특수명령 프로세서간의 인터페이스
US7035981B1 (en) Asynchronous input/output cache having reduced latency
JP2680293B2 (ja) データ処理装置及びキャッシュメモリ制御方法
KR20040047398A (ko) 캐쉬 메모리를 이용한 데이터 억세스 방법

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