KR100288036B1 - 정보처리장치용 프로세서 - Google Patents

정보처리장치용 프로세서 Download PDF

Info

Publication number
KR100288036B1
KR100288036B1 KR1019990005004A KR19990005004A KR100288036B1 KR 100288036 B1 KR100288036 B1 KR 100288036B1 KR 1019990005004 A KR1019990005004 A KR 1019990005004A KR 19990005004 A KR19990005004 A KR 19990005004A KR 100288036 B1 KR100288036 B1 KR 100288036B1
Authority
KR
South Korea
Prior art keywords
write
data
addresses
bus
address
Prior art date
Application number
KR1019990005004A
Other languages
English (en)
Other versions
KR19990072646A (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 KR19990072646A publication Critical patent/KR19990072646A/ko
Application granted granted Critical
Publication of KR100288036B1 publication Critical patent/KR100288036B1/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/38Information transfer, e.g. on bus
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

퍼스널컴퓨터, 워크스테이션 등의 정보처리장치에 관한 것으로서, 프로세서에서 버스변환장치를 거쳐서 시스템 버스로 액세스되는 PIO액세스 등에 있어서도 연속어드레스에 대한 전송이면 시스템 버스상에서 버스트 프로토콜전송으로 변환해서 발행하는 것에 의해 데이타효율의 저하를 방지하기 위해서, 정보처리장치의 시스템 버스에 대한 라이트 어드레스 및 라이트 어드레스에 대응하는 데이타의 세트를 여러개 축적할 수 있는 버퍼, 버퍼에 축적된 라이트 어드레스에 연속된 라이트 어드레스가 존재하는지의 여부를 판정하는 비교기 및 비교기에 의해 연속된 라이트 어드레스를 검출한 경우 연속된 라이트 어드레스에 대한 여러개의 데이타 각각의 라이트동작을 1어드레스 사이클에 계속되는 일련의 연속데이타 사이클에서 전송할 수 있는 버스트전송 프로토콜로 변환하는 수단을 마련한다.
이것에 의해, 프로세서에서 버스변환장치를 거쳐서 시스템 버스로 액세스되는 PIO액세스 등에 있어서도 연속어드레스에 대한 전송이면 시스템 버스상에서 버스트 프로토콜전송으로 변환해서 발행하는 것이 가능하게 되어 버스상의 데이타효율을 향상시킬 수 있다는 효과가 있다.

Description

정보처리장치용 프로세서{PROCESSOR FOR INFORMATION PROCESSING APPARATUS}
본 발명은 퍼스널컴퓨터, 워크스테이션 등의 정보처리장치에 관한 것이다. 또, 어드레스와 데이타를 시분할로 사용하는 다중버스이고 또한 연속어드레스에 대한 여러개의 라이트동작을 1어드레스 사이클에 계속되는 일련의 연속데이타 사이클에서 전송할 수 있는 버스트전송 프로토콜을 서포트하는 버스를 시스템내부에 갖는 프로세서 및 그 제어방법에 관한 것이다.
어드레스와 데이타를 시분할로 사용하는 다중버스이고 또한 연속어드레스에 대한 여러개의 라이트동작을 1어드레스 사이클에 계속되는 일련의 연속데이타 사이클에서 전송할 수 있는 버스트전송 프로토콜을 서포트하는 버스를 시스템내부에 갖는 컴퓨터장치에 관한 종래 기술이 일본국 특허공개공보 평성5-324544호에 개시되어 있다.
종래의 버스기술에서는 특히 표준시스템 버스에 있어서 인터페이스LSI의 핀수 저감의 요구에 따라 어드레스와 데이타를 시분할로 사용하는 어드레스/데이타 다중버스가 일반적으로 되어 있다. 어드레스/데이타 다중버스에서는 버스상의 데이타효율을 향상시키기 위해서 연속어드레스에 대한 여러개의 라이트동작을 1어드레스사이클에 계속되는 일련의 연속데이타사이클에서 전송할 수 있는 버스트전송 프로토콜을 서포트하는 것이 많이 보여진다.
도 3에 있어서, (a)는 시스템 버스상에 단발PIO(프로세서에서 입출력장치(IO)으로의 액세스)라이트액세스가 4회 연속된 경우, 각각의 액세스로 액세스어드레스를 갖고 전송하는 연속PIO 라이트전송의 타이밍도를 도시한 도면이고, (b)는 연속어드레스에 대한 4데이타 사이클의 버스트로 해서 전송하는 버스트PIO라이트전송 액세스의 타이밍도를 도시한 도면이다.
동일한 연속된 4개의 데이타(D0∼D3)을 전송하는 경우에도 도 3의 (a)의 연속PIO라이트 전송방식에서는 8클럭 걸리는 것을 도 3의 (b)에 도시한 버스트PIO라이트 전송방식에서는 5클럭으로 전송할 수 있어 버스트 프로토콜을 사용한 경우쪽이 버스상의 데이타전송효율이 높은 것을 알 수 있다.
상술한 바와 같은 버스트전송 프로토콜을 서포트한 어드레스/데이타 다중버스를 시스템 버스로서 갖는 정보처리장치에 있어서는 시스템 버스에 직접 접속된 모듈은 버스트 프로토콜을 서포트하는 것에 의해 연속어드레스에 대한 여러개의 액세스를 버스트 프로토콜에서 발행할 수 있지만, 다른 계층의 버스에서 버스변환장치를 거쳐서 전송되어 오는 전송 예를 들면 프로세서에서 버스변환장치를 거쳐서 시스템 버스로 액세스되는 PIO액세스 등은 연속어드레스에 대한 전송이어도 매회 어드레스 사이클이 삽입되는 단발의 전송으로서 시스템 버스에 발행되어 버스의 데이타효율이 저하한다는 문제가 있었다.
본 발명의 목적은 다른 계층의 버스에서 버스변환장치를 거쳐서 버스변환되어 온 전송 예를 들면 프로세서에서 버스변환장치를 거쳐서 시스템 버스로 액세스되는 PIO액세스 등에 있어서도 연속어드레스에 대한 전송이면 시스템 버스상에서 버스트 프로토콜전송으로 변환해서 발행하는 것에 의해 데이타효율의 저하를 방지하는 것이다.
도 1은 본 발명의 제1 실시예에 관한 마이크로 프로세서의 내부구조의 상세를 도시한 블럭도,
도 2는 본 발명의 제1 실시예에 관한 데이터전송시스템의 개요를 도시한 시스템구성도,
도 3은 본 발명에 관한 시스템 버스의 2개의 전송방식을 나타내는 타이밍도,
도 4는 본 발명의 제1 실시예에 관한 마이크로 프로세서의 내부클럭(CPUCLK)와 시스템 버스의 클럭(CLK)와 동기한 시스템내의 데이타의 전송타이밍을 도시한 타이밍도,
도 5는 본 발명의 제1 실시예에 관한 마이크로 프로세서의 내부클럭(CPUCLK)와 시스템 버스의 클럭(CLK)와 동기한 시스템내의 데이타의 전송타이밍을 도시한 타이밍도,
도 6은 본 발명의 제1 실시예에 관한 마이크로 프로세서의 데이타전송방식 선택의 제어수순을 도시한 흐름도,
도 7은 도 6의 흐름도에 대응한 제어방법을 도시한 타이밍도,
도 8은 본 발명의 제2 실시예에 관한 시스템 및 거기에서 사용되는 버스변환장치의 상세를 도시한 블럭도.
본 발명에서는 상기 목적을 달성하기 위해 시스템중에 시스템 버스에 대한 라이트 어드레스 및 데이타의 세트를 여러개 축적할 수 있는 버퍼, 그 버퍼에 축적된 액세스요구중에서 서로 전후하는 액세스요구의 라이트어드레스가 연속된 어드레스인지의 여부를 판정하는 비교기, 비교기의 판정결과가 상술한 버퍼에 축적된 액세스요구중에 서로 전후의 라이트어드레스가 연속된 것을 검출한 경우 상기 연속어드레스에 대한 여러개의 라이트동작을 1어드레스 사이클에 계속되는 일련의 연속데이타 사이클에서 전송할 수 있는 버스트전송 프로토콜로 변환하는 수단을 마련한다.
상기의 구성에 의하면, 다른 계층의 버스에서 버스변환장치를 거쳐서 버스변환되어 온 전송 예를 들면 프로세서에서 버스변환장치를 거쳐서 시스템 버스에 발행되는 PIO액세스등에 있어서도 연속어드레스에 대한 전송이면 버스트전송으로 변환해서 전송할 수 있으므로, 시스템 버스상의 데이타효율을 향상시키는 것에 의해 시스템전체의 성능이 향상된다.
이하, 본 발명의 제1 실시예를 도 1∼도 8을 사용해서 설명한다.
도 1은 본 발명의 제1 실시예에 관한 마이크로 프로세서의 내부구조의 상세를 도시한 블럭도, 도 2는 본 발명의 제1 실시예에 관한 데이타전송시스템의 개요를 도시한 시스템구성도, 도 3은 시스템 버스의 2개의 전송방식을 나타내는 타이밍도, 도 4 및 도 5는 본 발명의 제1 실시예에 관한 마이크로 프로세서의 내부클럭(CPUCLK)와 시스템 버스의 클럭(CLK)와 동기한 시스템내의 데이타의 전송타이밍을 도시한 타이밍도, 도 6은 본 발명의 제1 실시예의 마이크로 프로세서의 제어수순을 도시한 흐름도, 도 7은 도 6의 흐름도에 대응한 제어방법을 도시한 타이밍도이며, 도 8은 본 발명의 제2 실시예에 관한 데이타전송시스템 및 거기에서 사용되는 버스변환장치의 상세를 도시한 블럭도이다.
도 1에 도시한 바와 같이, 본 발명에 관한 주기억 버스(메모리버스)와 시스템 버스(I/O버스)의 2계통의 버스인터페이스를 갖는 마이크로 프로세서(1)은 주기억 버스 인터페이스(10), 시스템 버스 인터페이스(30) 및 각종 연산처리를 실행하는 CPU코어부(50)으로 구성된다.
주기억 버스 인터페이스(10)은 주기억 리드 액세스용 데이타 버퍼(11), 주기억 라이트 액세스용 데이타 버퍼(12), 주기억 액세스용 어드레스 버퍼(13), 다이렉트메모리액세스(DMA)용 어드레스 버퍼(14), 셀렉터(15), 입력버퍼(16), 출력버퍼(17) 및 출력버퍼(18)을 갖고 있다.
주기억 리드 액세스용 데이타 버퍼(11)은 주기억장치에서 메모리버스(데이타)(701)을 거쳐서 전송되어 온 데이타의 세트를 여러개 축적할 수 있는 데이타 버퍼로서 작용한다.
주기억 라이트 액세스용 데이타 버퍼(12)는 메모리버스(데이타)(701)을 거쳐서 주기억장치로 전송되는 데이타의 세트를 여러개 축적할 수 있는 데이타 버퍼로서 작용한다.
주기억 액세스용 어드레스 버퍼(13)은 메모리버스(어드레스)(702)를 거쳐서 주기억장치로 전송되는 액세스 어드레스의 세트를 여러개 축적할 수 있는 액세스 어드레스 버퍼로서 작용한다.
다이렉트 메모리 액세스(DMA)용 어드레스 버퍼(14)는 메모리버스(어드레스)(702)를 거쳐서 주기억장치로 전송되는 시스템 버스(800)에서 전송되어 온 액세스 어드레스의 세트를 여러개 축적할 수 있는 액세스 어드레스 버퍼로서 작용한다.
시스템 버스 인터페이스(30)은 PIO액세스용 어드레스 버퍼(31), PIO라이트 액세스용 데이타 버퍼(32), PIO리드 액세스용 데이타 버퍼(33), 셀렉터(34), 출력버퍼(35), 입력버퍼(36), 어드레스비교기(37), 내장 제어레지스터(38), 타이머(39), 시스템 버스 제어부(40), PIO액세스 어드레스 및 주기억 액세스 어드레스선(41), PIO 및 주기억 라이트 액세스 데이타선(42), PIO리드 데이타선(43), 제어선(44), 제어선(45), 제어선(46), 제어선(47)을 갖고 있다.
PIO액세스용 어드레스 버퍼(31)은 시스템 버스(800)에 대한 라이트어드레스의 세트를 여러개 축적할 수 있는 라이트 어드레스 버퍼로서 작용한다.
PIO라이트 액세스용 데이타 버퍼(32)는 시스템 버스(800)에 대한 라이트 데이타의 세트를 여러개 축적할 수 있는 라이트 데이타 버퍼로서 작용한다.
PIO리드 액세스용 데이타 버퍼(33)은 시스템 버스(800)으로 부터의 리드 데이타의 세트를 여러개 축적할 수 있는 리드 데이타 버퍼로서의 작용을 갖고 있다.
어드레스 비교기(37)은 PIO액세스용 라이트 어드레스 버퍼(31)에 축적된 액세스요구중에서 서로 전후하는 액세스요구의 라이트어드레스가 연속된 어드레스인지의 여부를 판정하는 작용 즉 전후의 PIO액세스가 연속어드레스에 대한 것인지의 여부를 판정하는 작용을 갖고 있다.
내장 제어레지스터(38)은 그 설정값에 따라서 타이머(39)의 계수시간을 설정한다.
타이머(39)는 전후의 PIO액세스의 간격을 카운트하고 시스템 버스(800)상으로의 버스트전송발행을 대기시키는 한계시간을 설정한다.
시스템 버스 제어부(40)은 시스템 버스 액세스를 제어하고 버퍼(31)에 축적된 액세스요구중에 서로 전후의 라이트 어드레스가 연속된 것을 검출한 경우, 상기 연속어드레스에 대한 여러개의 라이트동작을 1어드레스 사이클에 계속되는 일련의 연속데이타 사이클에서 전송할 수 있는 버스트전송 프로토콜로 변환하는 작용을 갖고 있다.
또, 마이크로 프로세서(1)은 셀렉터(20)과 주기억 리드 데이타선(21)을 갖고 있다.
본 발명에 관한 주기억 버스(메모리버스)와 시스템 버스(I/O버스)의 2계통의 버스인터페이스를 갖는 마이크로 프로세서(1)은 주기억 버스 인터페이스(10)을 거쳐서 메모리(주기억)버스의 데이타선(701)과 메모리(주기억)버스의 어드레스선(702)에 접속되고, 시스템 버스 인터페이스(30)을 거쳐서 시스템 버스(I/O버스)(800)에 접속된다.
주기억 리드 데이타선(21)은 주기억 리드 액세스용 데이타 버퍼(11)에서 셀렉터(20)을 거쳐서 CPU코어부(50)으로 주기억 리드 데이타를 전송한다.
PIO 및 주기억 액세스 어드레스선(41)은 CPU코어부(50)에서 PIO액세스용 어드레스 버퍼(31)과 주기억 액세스용 어드레스 버퍼(13)으로 액세스 어드레스를 전송한다.
PIO 및 주기억 라이트 액세스 데이타선(42)는 CPU코어부(50)에서 PIO라이트 액세스용 데이타 버퍼(32)와 주기억 라이트 액세스용 데이타 버퍼(12)로 액세스 어드레스를 전송한다.
PIO리드 데이타선(43)은 PIO리드 액세스용 데이타 버퍼(33)에서 셀렉터(20)을 거쳐서 CPU코어부(50)으로 PIO리드 데이타를 전송한다.
제어선(44)는 타이머(39)에서 시스템 버스 제어부(40)으로 제어신호를 전송한다.
제어선(45)는 어드레스 비교기(37)에서 시스템 버스 제어부(40)으로 제어신호를 전송한다.
제어선(46)은 내장 제어레지스터(38)에서 타이머(39)로 제어신호를 전송한다.
제어선(47)은 내장 제어레지스터(38)과 시스템 버스 제어부(40) 사이에서 제어신호를 전송한다.
주기억 액세스용 어드레스 버퍼(13)과 다이렉트 메모리 액세스(DMA)용 어드레스 버퍼(14)의 출력은 셀렉터(15) 및 출력버퍼(18)을 거쳐서 메모리버스 어드레스선(702)로 출력된다.
주기억 액세스용 어드레스 버퍼(12)의 출력은 출력버퍼(17)을 거쳐서 메모리버스 데이타선(701)로 출력된다.
메모리 버스 데이타선(701)에서 주기억데이타가 입력버퍼(16)을 거쳐서 주기억 리드 액세스용 데이타 버퍼(11)에 입력된다.
PIO액세스용 어드레스 버퍼(31)의 출력은 어드레스 비교기(37)로 출력된다.
PIO액세스용 어드레스 버퍼(31)과 PIO라이트 액세스용 데이타 버퍼(32)의 출력은 셀렉터(34) 및 출력버퍼(35)를 거쳐서 시스템 버스(I/O버스)(800)으로 출력된다.
시스템 버스(I/O버스)(800)에서 입력버퍼(36)을 거쳐서 PIO리드 액세스용 데이타가 PIO리드 액세스용 데이타 버퍼(33)과 다이렉트 메모리 액세스(DMA)용 어드레스 버퍼(14)에 입력된다.
도 2에 도시한 바와 같이, 본 발명에 관한 데이타전송 시스템은 마이크로 프로세서(1), 주기억장치(2), 표시계 등의 고속/중속IO(입출력)장치(7), 시스템 버스와 I/O버스 사이의 프로토콜변환을 실행하는 버스변환장치(8), 저속IO장치(9), 주기억(메모리)버스(700), 시스템 버스(800) 및 I/O버스(900)으로 구성된다.
마이크로 프로세서(1)은 주기억 버스 인터페이스(10), 시스템 버스 인터페이스(30) 및 CPU코어부(50)을 갖고 있다.
고속/중속IO(입출력)장치(7)로서는 표시장치(71)과 입력장치(72) 등이 있다. 저속IO장치(9)로서는 표시장치(91)과 입력장치(92) 등이 있다.
우선, 도 1에 있어서 연속해서 PIO라이트 액세스가 실행되는 경우를 고려한다. CPU코어부(50)으로 부터의 PIO라이트 어드레스는 내부어드레스선(41)을 거쳐서 버퍼(31)에 축적된다. CPU코어부(50)으로 부터의 PIO라이트 데이타는 내부데이타선(42)를 거쳐서 버퍼(32)에 축적된다.
통상, 프로세서(1) 내부의 동작주파수는 시스템 버스(800)의 동작주파수보다 높기 때문에, 만일 연속해서 PIO라이트 액세스요구가 있으면 시스템 버스(800)을 기동하는 타이밍 이전에 다음의 PIO라이트 액세스요구가 버퍼(31) 및 버퍼(32)에 축적된다.
다음에, 이들 연속된 2개의 PIO라이트 액세스의 어드레스는 어드레스 비교기(37)에 의해 비교되고, 만일 연속어드레스이면 시스템 버스 제어부(40)이 버스트전송으로 변환해서 시스템 버스상으로 전송하는 제어를 실행한다.
또, 버스트전송 길이는 길수록 데이타효율이 향상되므로, 바로 다음의 액세스가 오는 경우를 위해 잠시동안 시스템 버스상의 전송을 대기시키는 것도 고려하고 있다. 타이머(39)는 이 대기사이클수를 카운트하기 위한 것이다.
이 값은 프로세서(1) 내부와 시스템 버스(800)의 동작주파수의 비에 의해 결정된다. 만일, 시스템 버스의 프로토콜의 규정에 의해 어드레스 사이클 종료이전에 다음의 데이타가 있는지의 여부를 결정하지 않으면 안된다고 하면, 프로세서내부와 시스템 버스의 동작주파수의 비가 2 : 1인 경우에는 프로세서의 클럭(CPUCLK)에서 3사이클, 프로세서내부와 시스템 버스의 동작주파수의 비가 4 : 1인 경우에는 프로세서의 클럭(CPUCLK)에서 7사이클 대기시킬 수 있다.
도 3에 있어서, 도 3의 (a)는 시스템 버스상에 단발 PIO라이트 액세스가 4회 연속된 경우의 타이밍도를 도시한 도면이고, 도 3의 (b)는 연속어드레스에 대한 4데이타 사이클의 버스트 PIO라이트 액세스의 타이밍도를 도시한 도면이다.
연속 PIO라이트 전송방식의 경우에는 시스템 버스 제어부(40)은 ADV-N과 DTV-N을 교대로 출력하고, 라이트어드레스A0∼A4와 라이트 데이타D0∼D4가 교대로 시스템 버스(800)으로 송출된다.
버스트 PIO라이트 전송방식에서는 시스템 버스 제어부(40)은 ADV-N을 출력한 후 버스트형상으로 DTV-N을 출력하고, 라이트 어드레스A0후에 연속된 어드레스의 라이트 데이타D0∼D4가 버스트형상으로 시스템 버스(800)으로 송출된다.
본 발명의 제1 실시예에 관한 마이크로 프로세서의 내부클럭(CPUCLK)과 시스템 버스의 클럭(CLK)과 동기한 시스템내의 데이타의 전송타이밍을 도시한 도 4에 있어서, CPUCLK는 마이크로 프로세서의 내부클럭을, CPUAD는 마이크로 프로세서내의 어드레스 데이타를, CPUDT는 마이크로 프로세서내의 데이타를, CLK는 시스템 버스상의 클럭을, A/D는 시스템 버스상의 어드레스 데이타와 액세스 데이타를 나타내고 있다.
마이크로 프로세서(1) 내부의 1개째의 PIO라이트 액세스 어드레스WA1과 마이크로 프로세서(1) 내부의 1개째의 PIO라이트 액세스 데이타WD1은 CPU클럭2에서 출력된다. 마이크로 프로세서(1) 내부의 2개째의 PIO라이트 액세스 어드레스WA2와 마이크로 프로세서(1) 내부의 2개째의 PIO라이트 액세스 데이타WD2는 CPU클럭5에서 출력된다.
시스템 버스(800)상의 1개째의 PIO라이트 액세스 어드레스WAS1은 시스템 버스 클럭2에서 시스템 버스(800)상으로 전송되고, 시스템 버스(800)상의 1개째의 PIO라이트 액세스 데이타WAD1은 시스템 버스클럭3에서, 시스템 버스(800)상의 2개째의 PIO라이트 액세스 데이타WAD2는 시스템 버스클럭4에서 시스템 버스(800)상으로 전송된다.
이 실시예에서는 마이크로 프로세서(1)의 동작클럭 주파수(CPUCLK) 와 시스템 버스(800)의 동작클럭 주파수(CLK)의 비는 2 : 1로 설정되어 있다.
도 5에 있어서, 마이크로 프로세서(1) 내부의 1개째의 PIO라이트 액세스 어드레스WA1과 마이크로 프로세서(1) 내부의 1개째의 PIO라이트 액세스 데이타WD1은 CPU클럭2에서 출력되고, 마이크로 프로세서(1) 내부의 2개째의 PIO라이트 액세스 어드레스WA2와 마이크로 프로세서(1) 내부의 2개째의 PIO라이트 액세스 데이타WD2는 CPU클럭9에서 출력된다.
시스템 버스(12)상의 1개째의 PIO라이트 액세스 어드레스WAS1은 시스템 버스클럭2에서, 시스템 버스(12)상의 1개째의 PIO라이트 액세스 데이타WDS1은 시스템 버스클럭3에서, 시스템 버스(12)상의 2개째의 PIO라이트 액세스 데이타WDS2는 시스템 버스클럭4에서 시스템 버스(800)상으로 출력된다.
이 예에서는 마이크로 프로세서(1)의 동작클럭 주파수(CPUCLK)와 시스템 버스(12)의 동작클럭 주파수(CLK)의 비는 4 : 1로 설정되어 있다.
도 6을 사용해서 어드레스 비교기(37) 및 시스템 버스 제어부(45)에 있어서의 단발 PIO액세스로 할지 또는 버스트 PIO액세스로 할지의 판단처리에 대해 설명한다.
도 6은 마이크로 프로세서의 제어수순을 도시한 흐름도이다.
1개째의 PIO라이트 액세스가 있으면, PIO액세스처리의 실행이 개시되고(S1), 타이머를 기동하고(S2), 2개째의 액세스의 도착을 감시한다(S3). 소정의 시간내에 2개째의 액세스가 없을 때에는 단발의 PIO액세스로서 PIO어드레스 및 데이타를 전송한다(S11).
소정의 시간내에 2개째의 PIO액세스가 있었을 때에는 어드레스 비교기(37)은 1개째의 액세스와 어드레스가 연속되고 있는지의 여부를 판단한다(S4). 어드레스가 연속되고 있지 않을 때에는 단발의 PIO액세스로서 PIO어드레스 및 데이타를 전송한다(S11).
어드레스가 연속되고 있을 때는 타이머를 리세트하고(S5), 3개째의 액세스의 도착을 감시한다(S6).
소정의 시간내에 3개째의 액세스가 없을 때는 최초의 2개의 액세스를 버스트 프로토콜로 변환해서 PIO어드레스 및 데이타를 전송한다(S12).
소정의 시간내에 3개째의 액세스가 있었을 때는 2개째의 액세스와 어드레스가 연속되고 있는지를 판단하고(S7), 연속되고 있지 않을 때는 최초의 2개의 액세스를 버스트 프로토콜로 변환해서 PIO어드레스 및 데이타를 전송함과 동시에(S12), 스텝S1로 되돌아가서 다음의 액세스를 감시한다.
어드레스가 연속되고 있을 때는 타이머를 리세트하고(S8), 4개째의 액세스의 도착을 감시한다(S9).
소정의 시간내에 4개째의 액세스가 없을 때는 최초의 3개의 액세스를 버스트프로토콜로 변환해서 PIO어드레스 및 데이타를 전송한다(S13).
소정의 시간내에 4개째의 액세스가 있었을 때는 3개째의 액세스와 어드레스가 연속되고 있는지를 판단하고(S10), 연속되고 있지 않을 때는 최초의 3개의 액세스를 버스트 프로토콜로 변환해서 PIO어드레스 및 데이타를 전송함과 동시에(S13) 스텝S1로 되돌아가서 다음의 액세스를 감시한다.
어드레스가 연속되고 있을 때는 4개의 액세스를 버스트 프로토콜로 변환해서 PIO어드레스 및 데이타를 전송한다(S14).
도 6중의 ((스텝S11[1]), (스텝S12[2]), (스텝S13[3]), (스텝S14[4]))의 전송타이밍을 도 7을 사용해서 설명한다.
도 7에 있어서, 도 7의 (a)는 스텝S11에서 처리되는 단발의 PIO라이트 액세스 사이클SWS를 나타내고, 도 7의 (b)는 스텝S12에서 처리되는 데이타가 2개의 버스트 PIO라이트 액세스 사이클DWS를 나타내고 있다.
도 7의 (c)는 스텝S13에서 처리되는 데이타가 3개의 버스트 PIO라이트 액세스 사이클TWS를 나타내고, 도 7의 (d)는 스텝S14에서 처리되는 데이타가 4개의 버스트 PIO라이트 액세스 사이클QWS를 나타내고 있다.
통상의 CPU와 시스템 버스는 CPU버스와 시스템 버스의 버스변환장치(8)을 거쳐서 접속되는 것이 일반적이지만, 제1 실시예에서는 데이타의 수수의 효율을 고려해서 도 2에 도시한 바와 같은 시스템 버스 인터페이스부(30)을 내장한 프로세서(1)을 채용하였다. 그러나, 시스템 버스 인터페이스부(30)이 프로세서(1)과는 독립된 별개의 칩이어도 상관없다.
또, 본 제1 실시예에서는 도 2와 같은 시스템 버스 인터페이스부(10)을 내장한 프로세서(1)을 채용했지만, CPU와 시스템 버스가 버스변환장치를 거쳐서 접속되어도 마찬가지의 제어가 가능하다.
도 8을 사용해서 본 발명의 제2 실시예를 설명한다. 제2 실시예는 1계통만의 버스 인터페이스를 갖는 CPU를 사용한 경우의 버스변환장치를 대상으로 하고 있다.
이 실시예에서는 버스변환장치(8)은 CPU(500)과 주기억장치(2)에 CPU버스(750)을 거쳐서 접속됨과 동시에 시스템 버스(800)에 접속되어 있다.
CPU(500)은 1계통만의 버스 인터페이스를 갖고 있다.
버스변환장치(8)은 CPU버스(750)과 시스템 버스(800) 사이의 프로토콜변환을 실행한다.
CPU버스(750)은 어드레스선(751)과 데이타선(752)로 구성되어 있다.
버스변환장치(8)은 주기억 액세스용 어드레스 버퍼(14), 입력버퍼(17), 출력버퍼(18), 출력버퍼(22), 입력버퍼(23), 내부어드레스선(24), PIO액세스용 어드레스 버퍼(31), PIO라이트 액세스용 데이타 버퍼(32), 주기억 액세스용 데이타 버퍼(33), 셀렉터(34), 출력버퍼(35), 입력버퍼(36), 어드레스 비교기(37), 내장 제어레지스터(38), 타이머(39), 시스템 버스 제어부(40), 내부어드레스선(41), 내부데이타선(42), 내부데이타선(43), 제어선(45), 제어선(44), 제어선(46), 제어선(47), CPU버스 제어부(49)를 갖고 구성된다.
어드레스 비교기(37)은 전후의 PIO액세스가 연속어드레스에 대한 것인지의 여부를 판정한다.
타이머(39)는 전후의 PIO액세스의 간격을 카운트한다.
시스템 버스 제어부(40)은 시스템 버스 액세스를 제어한다.
CPU버스 제어부(49)는 시스템 버스 액세스를 제어한다.
CPU(500)으로 부터의 라이트 액세스 어드레스는 CPU버스(어드레스)(751), 입력버퍼(23), PIO액세스 어드레스선(41)을 거쳐서 PIO액세스용 어드레스 버퍼(31)로 전송된다.
라이트 액세스 데이타는 CPU버스(데이타)(752), 입력버퍼(17), PIO 및 주기억 라이트 액세스 데이타선(42)를 거쳐서 PIO라이트 액세스용 데이타 버퍼(32)로 전송된다.
PIO액세스용 어드레스 버퍼(31)의 액세스 어드레스 출력과 PIO라이트 액세스용 데이타 버퍼(32)의 데이타출력은 셀렉터(34), 출력버퍼(35)를 거쳐서 본 발명의 처리에 따라 시스템 버스(800)으로 송출된다.
PIO리드 액세스용 데이타 버퍼(33)으로 부터의 PIO리드 데이타는 PIO리드 데이타선(43), 출력버퍼(22), CPU버스(데이타)(752)를 거쳐서 주기억장치(2)로 전송된다.
주기억 액세스용 어드레스 버퍼(14)의 출력은 내부어드레스선(24), 출력버퍼(18), CPU버스(어드레스)(751)을 거쳐서 주기억장치(2)로 출력된다.
시스템 버스(800)에서 입력버퍼(36)을 거쳐서 입력된 PIO리드 액세스용 데이타는 PIO리드 액세스용 데이타 버퍼(33)에 입력되고, 액세스 어드레스는 주기억 액세스용 어드레스 버퍼(14)에 입력된다.
제어선(44)는 타이머(39)에서 시스템 버스 제어부(40)으로 제어신호를 전송한다.
제어선(45)는 어드레스 비교기(37)에서 시스템 버스 제어부(40)으로 제어신호를 전송한다.
제어선(46)은 내장 제어레지스터(38)에서 타이머(39)로 제어신호를 전송한다.
제어선(47)은 내장 제어레지스터(38)과 시스템 버스 제어부(40) 사이에서 제어신호를 전송한다.
PIO액세스용 어드레스 버퍼(31)의 출력은 어드레스 비교기(37)로 출력된다.
PIO액세스 어드레스 및 데이타의 전송방식은 제1 실시예와 마찬가지로 실행된다.
이 실시예에 의하면, 1계통만의 버스 인터페이스를 갖는 CPU를 사용한 경우에도 CPU버스(750)과 시스템 버스(800)을 버스변환장치(8)을 거쳐서 접속할 수 있음과 동시에 전송하는 데이타의 어드레스가 불연속인 경우에는 단발 PIO데이타 전송방식에 의해 전송하고, 전송하는 데이타의 어드레스가 연속되고 있을 때는 버스트 PIO데이타전송방식에 의해 전송하는 전환을 자동적으로 실행할 수 있다.
이상 설명한 바와 같이 본 발명에 의하면, 다른 계층의 버스에서 버스변환장치(8)을 거쳐서 버스변환되어 온 전송 예를 들면 프로세서에서 버스변환장치를 거쳐서 시스템 버스로 액세스되는 PIO액세스 등에 있어서도 연속어드레스에 대한 전송이면 시스템 버스상에서 버스트 프로토콜전송으로 변환해서 발행하는 것이 가능하게 되어 버스상의 데이타효율을 향상시킬 수 있다.

Claims (15)

  1. 연산처리를 실행하는 유닛을 갖는 정보처리장치용 프로세서에 있어서,
    상기 정보처리장치의 시스템 버스에 대한 라이트 어드레스 및 상기 라이트 어드레스에 대응하는 데이타의 세트를 여러개 축적할 수 있는 버퍼,
    상기 버퍼에 축적된 라이트 어드레스에 연속된 라이트 어드레스가 존재하는지의 여부를 판정하는 비교기 및
    상기 비교기에 의해 연속된 라이트 어드레스를 검출한 경우 상기 연속된 라이트 어드레스에 대한 여러개의 데이타 각각의 라이트동작을 1어드레스 사이클에 계속되는 일련의 연속데이타 사이클에서 전송할 수 있는 버스트전송 프로토콜로 변환하는 수단을 마련한 것을 특징으로 하는 정보처리장치용 프로세서.
  2. 제1항에 있어서,
    상기 비교기는 버퍼내에서 서로 인접해서 저장된 어드레스끼리가 연속된 어드레스인지의 여부를 판정하는 것을 특징으로 하는 정보처리장치용 프로세서.
  3. 제1항에 있어서,
    상기 여러개의 라이트 데이타는 상기 다중버스에서 버스변환장치를 거쳐서 상기 다중버스와는 다른 버스로 전송되는 것을 특징으로 하는 정보처리장치용 프로세서.
  4. 제1항에 있어서,
    상기 비교기에 의해 상기 라이트 어드레스 버퍼에 연속된 라이트 어드레스가 존재하는 것을 검출한 경우 연속된 라이트 어드레스가 검출되지 않았던 경우보다 소정 시간 지연시켜 라이트 데이타의 전송을 시작하는 수단을 갖는 것을 특징으로 하는 정보처리장치용 프로세서.
  5. 제4항에 있어서,
    상기 소정시간내에 상기 프로세서에 대해서 새로운 라이트 데이타의 전송요구가 있던 경우, 상기 비교기는 상기 새로운 라이트 데이타에 대응하는 라이트 어드레스가 검출된 연속된 라이트 어드레스 중의 어느 것과 연속되는지의 여부를 판정하는 것을 특징으로 하는 정보처리장치용 프로세서.
  6. 제4항에 있어서,
    상기 소정시간의 값을 선택적으로 설정하는 수단을 갖는 것을 특징으로 하는 정보처리장치용 프로세서.
  7. 제1항에 있어서,
    상기 프로세서는 1칩상에 집적화한 것을 특징으로 하는 정보처리장치용 프로세서.
  8. 연산처리를 실행하고 어드레스와 데이타를 시분할로 사용하는 다중버스와 접속된 프로세서에 있어서,
    상기 다중버스를 사용해서 전송되는 라이트 어드레스를 여러개 축적하는 라이트 어드레스 버퍼,
    상기 버스를 사용해서 전송된 라이트 데이타를 여러개 축적하는 라이트 데이타 버퍼,
    상기 라이트버퍼에 축적된 라이트 어드레스중에서 연속된 라이트 어드레스가 존재하는지의 여부를 판정하는 비교기 및
    상기 비교기에 의해 연속된 라이트 어드레스를 검출한 경우 검출된 연속된 라이트 어드레스에 대응해서 상기 라이트 데이타 버퍼에 축적된 여러개의 라이트 데이타의 라이트동작을 1어드레스 사이클에 계속되는 일련의 연속데이타 사이클에서 전송할 수 있는 버스트전송 프로토콜로 변환하는 수단을 갖고,
    상기 버스트전송 프로토콜로 변환된 라이트 동작에 의해 상기 여러개의 라이트 데이타를 전송하는 것을 특징으로 하는 정보처리장치용 프로세서.
  9. 제8항에 있어서,
    상기 비교기는 버퍼내에서 서로 인접해서 저장된 어드레스끼리가 연속된 어드레스인지의 여부를 판정하는 것을 특징으로 하는 정보처리장치용 프로세서.
  10. 제8항에 있어서,
    상기 여러개의 라이트 데이타는 상기 다중버스에서 버스변환장치를 거쳐서 상기 다중버스와는 다른 버스로 전송되는 것을 특징으로 하는 정보처리장치용 프로세서.
  11. 제8항에 있어서,
    상기 비교기에 의해 상기 라이트 어드레스 버퍼에 연속된 라이트 어드레스가 존재하는 것을 검출한 경우 연속된 라이트 어드레스가 검출되지 않았던 경우보다 소정시간 지연시켜 라이트 데이타의 전송을 시작하는 수단을 갖는 것을 특징으로 하는 정보처리장치용 프로세스.
  12. 제11항에 있어서,
    상기 소정시간내에 상기 프로세서에 대해서 새로운 라이트 데이타의 전송요구가 있던 경우, 상기 비교기는 상기 새로운 라이트 데이타에 대응하는 라이트 어드레스가 검출된 연속된 라이트 어드레스 중의 어느 것과 연속되는지의 여부를 판정하는 것을 특징으로 하는 정보처리장치용 프로세서.
  13. 제11항에 있어서,
    상기 소정시간의 값을 선택적으로 설정하는 수단을 갖는 것을 특징으로 하는 정보처리장치용 프로세서.
  14. 제8항에 있어서,
    상기 프로세서는 1칩상에 집적화한 것을 특징으로 하는 정보처리장치용 프로세서.
  15. 내부에 연산처리를 실행하는 유닛을 갖는 정보처리장치용 프로세서로서, 상기 프로세서의 외부로의 입출력수단으로서 접속되는 적어도 1개의 버스가 어드레스와 데이타를 시분할로 사용하는 다중버스이고 또한 연속어드레스에 대한 여러개의 라이트동작을 1어드레스 사이클에 계속되는 일련의 연속데이타 사이클에서 전송할 수 있는 버스트전송 프로토콜을 갖고, 상기 버스에 대한 라이트 어드레스의 세트를 여러개 축적할 수 있는 라이트 어드레스 버퍼, 상기 버스에 대한 라이트 데이타의 세트를 여러개 축적할 수 있는 라이트 데이타 버퍼, 상기 버퍼에 축적된 액세스요구중에서 서로 전후하는 액세스요구의 라이트 어드레스가 연속된 어드레스인지의 여부를 판정하는 비교기 및 연속어드레스에 대한 여러개의 라이트동작을 1어드레스 사이클에 계속되는 일련의 연속데이타 사이클에서 전송할 수 있는 버스트전송 프로토콜로 변환하는 수단을 갖는 정보처리장치용 프로세서의 제어방법에 있어서,
    상기 버퍼에 축적된 액세스요구중에서 서로 전후하는 액세스요구의 라이트 어드레스가 연속되는 것을 검출한 경우, 상기 연속어드레스에 대한 여러개의 라이트동작을 1어드레스 사이클에 계속되는 일련의 연속데이타 사이클에서 전송할 수 있는 버스트전송 프로토콜로 변환하는 것을 특징으로 하는 정보처리장치용 프로세서의 제어방법.
KR1019990005004A 1998-02-17 1999-02-12 정보처리장치용 프로세서 KR100288036B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1998-34541 1998-02-17
JP10034541A JPH11232214A (ja) 1998-02-17 1998-02-17 情報処理装置用プロセッサおよびその制御方法

Publications (2)

Publication Number Publication Date
KR19990072646A KR19990072646A (ko) 1999-09-27
KR100288036B1 true KR100288036B1 (ko) 2001-04-16

Family

ID=12417168

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990005004A KR100288036B1 (ko) 1998-02-17 1999-02-12 정보처리장치용 프로세서

Country Status (5)

Country Link
US (1) US6728813B1 (ko)
EP (1) EP0939374A3 (ko)
JP (1) JPH11232214A (ko)
KR (1) KR100288036B1 (ko)
TW (1) TW434485B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366509A (ja) * 2001-06-06 2002-12-20 Mitsubishi Electric Corp ダイレクトメモリアクセスコントローラおよびそのアクセス制御方法
US20040064662A1 (en) * 2002-09-26 2004-04-01 Analog Devices, Inc. Methods and apparatus for bus control in digital signal processors
JP2006243890A (ja) * 2005-03-01 2006-09-14 Nec Corp バスブリッジおよびデータ転送方法およびプログラム
KR101601291B1 (ko) * 2010-06-28 2016-03-08 현대자동차주식회사 차량용 니볼스터
JP5318080B2 (ja) * 2010-12-10 2013-10-16 三菱電機株式会社 データ処理装置
JP5387993B2 (ja) * 2011-04-19 2014-01-15 日本電気株式会社 データ転送制御装置、データ転送制御方法、およびコンピュータシステム
CN112559397A (zh) * 2019-09-26 2021-03-26 阿里巴巴集团控股有限公司 一种装置和方法
US11262226B2 (en) 2020-02-17 2022-03-01 GWU Design Hybrid mass flow sensor including a thermal and coriolis principle measurement arrangements
CN114036096B (zh) * 2021-11-04 2024-05-03 珠海一微半导体股份有限公司 一种基于总线接口的读控制器

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146582A (en) * 1989-06-19 1992-09-08 International Business Machines Corp. Data processing system with means to convert burst operations into memory pipelined operations
DE69123987T2 (de) * 1990-01-31 1997-04-30 Hewlett Packard Co Stossbetrieb für Mikroprozessor mit externem Systemspeicher
JP3357920B2 (ja) * 1991-07-03 2002-12-16 株式会社日立製作所 バス制御方式及びそのシステム
US5276684A (en) * 1991-07-22 1994-01-04 International Business Machines Corporation High performance I/O processor
JPH05324544A (ja) 1992-05-15 1993-12-07 Hitachi Ltd バス制御方法
JPH06149662A (ja) * 1992-11-02 1994-05-31 Toshiba Corp Romバースト転送の連続読みだし拡大方式およびその方式を用いたrom内蔵型マイクロコンピュータシステム
US5522050A (en) * 1993-05-28 1996-05-28 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
US5897667A (en) * 1993-11-16 1999-04-27 Intel Corporation Method and apparatus for transferring data received from a first bus in a non-burst manner to a second bus in a burst manner
US5983275A (en) * 1994-05-04 1999-11-09 Cirrus Logic, Inc. Apparatus for and method of providing interrupts to a host processor in a frame receiving system
KR0171942B1 (ko) * 1995-06-30 1999-03-30 김주용 버스트 길이 검출 회로
JP3579149B2 (ja) * 1995-11-10 2004-10-20 株式会社東芝 コンピュータシステム
US5708814A (en) * 1995-11-21 1998-01-13 Microsoft Corporation Method and apparatus for reducing the rate of interrupts by generating a single interrupt for a group of events
JPH10124447A (ja) * 1996-10-18 1998-05-15 Fujitsu Ltd データ転送制御方法及び装置
US5943479A (en) * 1997-01-02 1999-08-24 Digital Equipment Corporation Method for reducing the rate of interrupts in a high speed I/O controller

Also Published As

Publication number Publication date
JPH11232214A (ja) 1999-08-27
EP0939374A3 (en) 2000-05-24
KR19990072646A (ko) 1999-09-27
TW434485B (en) 2001-05-16
US6728813B1 (en) 2004-04-27
EP0939374A2 (en) 1999-09-01

Similar Documents

Publication Publication Date Title
US5475854A (en) Serial bus I/O system and method for serializing interrupt requests and DMA requests in a computer system
US5799207A (en) Non-blocking peripheral access architecture having a register configure to indicate a path selection for data transfer between a master, memory, and an I/O device
US7177970B2 (en) Bus control system
JP2757055B2 (ja) ディジタル・コンピュータのデータ転送方法
US6282598B1 (en) PCI bus system wherein target latency information are transmitted along with a retry request
JPH02227765A (ja) デジタル・コンピユータのデータ転送装置
JP4313607B2 (ja) バス接続回路及びバス接続システム
KR100288036B1 (ko) 정보처리장치용 프로세서
JP3444154B2 (ja) メモリアクセス制御回路
JPH09160866A (ja) バス・インタフェース論理システム及び同期方法
JPH04350754A (ja) データチャンネルに対するインターフェースを含むワークステーションまたは類似のデータ処理システム
US6463494B1 (en) Method and system for implementing control signals on a low pin count bus
US7774513B2 (en) DMA circuit and computer system
US20020085430A1 (en) Semiconductor memory device using dedicated command and address strobe signal and associated method
US5517624A (en) Multiplexed communication protocol between central and distributed peripherals in multiprocessor computer systems
US7114019B2 (en) System and method for data transmission
JP3698324B2 (ja) 直接メモリアクセス制御器およびデータチャンネルへのインターフェース装置を備えたワークステーション
US5192914A (en) Clock control circuit for suppressing clock pulses
KR100266963B1 (ko) 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치
JPH10307787A (ja) バッファメモリ装置
US5664213A (en) Input/output (I/O) holdoff mechanism for use in a system where I/O device inputs are fed through a latency introducing bus
JP3357920B2 (ja) バス制御方式及びそのシステム
EP1856619B1 (en) Scalable bus structure
US6453373B1 (en) Method and apparatus for differential strobing
JPH0944395A (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: 20040202

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee