KR920003270B1 - 캐쉬 메모리를 사용한 블록 액세스 장치 - Google Patents

캐쉬 메모리를 사용한 블록 액세스 장치 Download PDF

Info

Publication number
KR920003270B1
KR920003270B1 KR1019880002448A KR880002448A KR920003270B1 KR 920003270 B1 KR920003270 B1 KR 920003270B1 KR 1019880002448 A KR1019880002448 A KR 1019880002448A KR 880002448 A KR880002448 A KR 880002448A KR 920003270 B1 KR920003270 B1 KR 920003270B1
Authority
KR
South Korea
Prior art keywords
memory
signal
block access
block
address
Prior art date
Application number
KR1019880002448A
Other languages
English (en)
Other versions
KR880011676A (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 KR880011676A publication Critical patent/KR880011676A/ko
Application granted granted Critical
Publication of KR920003270B1 publication Critical patent/KR920003270B1/ko

Links

Images

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
    • 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/0877Cache access modes
    • G06F12/0879Burst mode
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61KPREPARATIONS FOR MEDICAL, DENTAL OR TOILETRY PURPOSES
    • A61K9/00Medicinal preparations characterised by special physical form
    • A61K9/10Dispersions; Emulsions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Medicinal Chemistry (AREA)
  • Dispersion Chemistry (AREA)
  • Pharmacology & Pharmacy (AREA)
  • Epidemiology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

내용 없음.

Description

캐쉬 메모리를 사용한 블록 액세스 장치
제1도는 본 발명의 블록액세스 장치를 실현하는 시스템의 블록도.
제2도는 제1도의 상세한 회로구성의 블록도.
제3도는 제1도 및 제2도에 도시한 버스 마스터의 상세한 회로구성의 블록도.
제4a도 내지 제4j도는 제1도의 신호 타이밍도.
제5a도 내지 제5j도는 제1도의 신호 타이밍도.
제6a도 내지 제6j도는 제1도의 신호 타이밍도.
제7a도 및 제7b도는 블록내의 워어드 전송순차를 설명하기 위한 도.
제8도는 제2도에 도시한 어드레스 버스 인터페이스 회로의 블록도.
제9도는 제8도의 어드레스 버스 인터페이스에 있는 인터페이스 회로의 회로도.
제10도는 제8도의 어드레스 버스 인터페이스 회로에 있는 어드레스 증가장치의 회로도.
제11a도 내지 제11g도는 제10도의 어드레스 증가장치의 동작을 설명하기 위한 신호 파형도.
제12도는 제8도에 도시한 어드레스 버스 인터페이스에 있는 또 다른 인터페이스 회로의 회로도.
제13도는 제2도에 도시한 로우드/카운트 신호 발생장치의 회로도.
제14a도 내지 제14e도는 제13도에 도시한 로우드/카운트 신호 발생장치의 동작을 설명하기 위한 신호 파형도.
제15도는 제2도에 도시한 어드레스 스트로브 신호 발생장치의 회로도.
제16a도 내지 제16f도는 제15도에 도시한 어드레스 스트로브 신호 발생장치에 있어서의 신호 파형도.
제17도는 제2도에 도시한 데이타 스트로브 신호 발생장치의 회로도.
제18a도 내지 제18g도는 제17도에 도시한 데이타 스트로브 신호 발생장치에 있어서의 신호 파형도.
제19도는 제2도에 도시한 액세스 요구신호 발생장치에 있어서의 신호 파형도.
제20a도 내지 제20h도는 제19도에 도시한 블록액세스 요구 신호 발생장치에 있어서의 신호 파형도.
제21도는 제2도에 도시한 블록 액세스 실행 판정회로 구성의 일부인 블록 액세스 취소 신호 발생장치의 회로도.
제22a도 내지 제22g도는 제21도의 블록 취소 신호 발생장치에 있어서의 신호 파형도.
제23도는 제2도에 도시한 블록 액세스 실행 판정회로 구성의 일부인 캐쉬-인 엔드 신호 발생장치의 회로도.
제24a도 내지 제24k도는 제23도의 캐쉬-인 엔드 신호 발생장치에 있어서의 신호 파형도.
제25a도 내지 제25j도는 제23도의 캐쉬-인 엔드 신호 발생장치에 있어서의 신호 파형도.
제26도는 제2도에 도시한 블록 액세스 실행 판정회로 구성의 일부인 클록 셀렉트 신호 발생장치의 회로도.
제27a도 내지 제27d도는 제26도에 클록 셀렉트 신호 발생장치에 있어서의 신호 파형도.
제28a도 내지 제28g도는 각 클록 신호 및 어드레스 신호의 파형도.
본 발명은 캐쉬(cache)메모리를 사용한 블록 액세스 장치에 관한 것으로서, 특히 중앙처리장치(CPU) 또는 연산장치와 주기억장치 또는 외부 기억장치와의 사이에 있는 버스라인 양단에 제공되며 주기억장치로부터 오는 데이타를 수용하여 그것이 중앙처리장치에 빨리 도달되도록 하는 캐쉬 메모리를 사용한 블록 액세스 장치에 관한 것이다.
또한 본 발명은 캐쉬 메모리, 연산장치 및 캐쉬-인 동작을 제어하는 제어회로가 장착되어 있는 마이크로 프로세서에 관한 것이다.
캐쉬 메모리들을 사용한 블록 액세스 장치들을 컴퓨터 시스템에 설치하여 널리 사용하고 있다. 보통 컴퓨터 시스템들에서는 그 캐쉬 메모리를 중앙처리장치(이하 간단히 "CPU"라 한다)와 외부 연결하거나 CPU내에 설치한다. 현재에는 캐쉬 메모리가 있는 마이크로 프로세서들이 이용되고 있다. CPU가 주기억장치 또는 외부 기억장치로부터 오는 정보를 빨리 얻도록 그 정보를 수용하는데 캐쉬 메모리들을 사용한다.
일반적으로 CPU가 수치로된 필요한 데이타 및 명령들을 캐쉬 메모리에서 찾을 수 없을때(미스 히트 타임에서), CPU는 필요한 데이타를 기억장치에서 캐쉬 메모리안으로 입력시켜 준다. 이때에 소정의 크기의 메모리 영역에 있는 데이타를 순서에 따라 기억장치로부터 캐쉬 메모리로 전송시킨다. 즉, 블록마다 데이타를 전송하다. 그러한 상기 동작을 캐쉬-인(cache-in)동작이라 한다. 보통은 연속 어드레스 들과 함께 상호 관련 데이타를 기억장치내에 저장시킨다. 따라서, 캐쉬-인 동작시간에 CPU에 의하여 기억장치로 공급되는 한 어드레스에 응하여 단일 버스 사이클내에 한 데이타 블록을 캐쉬 메모리에 전송한다. 이것을 블록액세스라 한다. 보통은 한 블록에 다수의 워어드들이 구성되어 있어서 블록 액세스 시간에 CPU로부터 오는 한 어드레스에 응하여 한 버스 사이클내에 이들 워어드를 연속적으로 전송한다.
종래의 블록 액세스 장치에서는 CPU로부터 오는 블록 액세스 요구가 발생된 후에 한 블록내에 각 워어드를 전송하는 타이밍이 개별 컴퓨터 시스템을 위해 미리 결정되어지며, 통상 미리 결정된 타이밍에 따라 블록 액세스가 행하여진다.
주기억장치는 일반적으로 다이나믹 랜덤 액세스 메모리(dynamic random access memory)(이하 간단히 "D-RAM"이라 한다)와, 스태틱 랜덤 액세스 메모리(static random access memory)(이하 간단히 "S-RAM"이라 한다)등과 같이 액세스 시간이 다른 다양한 메모리를 장착한다. 잘 알려진 바와 같이, S-RAM의 액세스 타임은 D-RAM보다 짧다.
액세스 타임이 다른 각종 기억장치를 사용하여 컴퓨터 시스템을 구성하는 경우에, 액세스 타임이 가장 긴 기억장치에 적합하게끔 블록 액세스 타이밍을 선택해야 한다. 이러한 이유로 인해 고속에서는 종래 블록 액세스가 행해지지 않으며 따라서 시스템 성능 저하등의 문제점이 생긴다.
또한 종래의 블록 액세스는 다음의 문제점을 갖는데, 일반적으로 블록 액세스를이용한 컴퓨터 시스템을 설치하기 위하여, 블록 액세스를 받는 메모리장치내의 메모리 또는 메모리 영역은 컴퓨터 시스템을 설치할 때에 지정되야만 한다. CPU는 단지 메모리 또는 메모리 영역을 위한 블록 액세스를 필요로 한다. 이로인해 시스템 설계의 유연성이 저하된다.
따라서 본 발명의 일반 목적은 종래 블록 액세스 장치에 있었던 상기 단점을 해결해주는 캐쉬 메모리를 사용한 새롭고도 유용한 블록 액세스 장치를 제공하는 것이고, 특별한 목적으로서는 블록 액세스를 고속화 할 수 있는 캐쉬 메모리를 사용한 블록 액세스 장치를 제공하는 것이다.
본 발명에 따른 상기외의 목적으로는 융통성 있는 시스템 설계가 가능한 캐쉬 메모리를 사용하는 블록 액세스 장치를 제공하는 것이다.
본 발명의 상기 목적들은 데이타를 저장하는 주기억장치; 주기억장치에 저장된 데이타를 읽어내기(이하 간단히 " 독출"이라한다)위하여 단일의 메모리 어드레스 및 액세스 요구를 발생하고 연산을 수행하기 위한 연산장치; 주기억장치로부터 독출된 데이타를 저장하기 위한 캐쉬 메모리; 캐쉬 메모리와 주기억장치간을 연결해주는 버스; 연산장치로부터의 액세스 요구에 응하여 소정의 크기의 블록에 있는 모든 데이타의 독출을 요구하는 블록 액세스 요구를 발생하여서 주기억장치로 부터 독출된 데이타를 캐쉬 메모리안으로 입력시키기 위한 제1제어회로; 주기억장치로 부터의 데이타를 독출하고, 제1제어회로로부터 제공되는 블록 액세스 요구에 응하여 그 요구된 블록 엑세스를 실행 또는 취소중에 어느 하나를 표시하는 응답신호를 제1제어회로로 반송시키는 제2제어회로등으로 이루어진 캐쉬 메모리를 사용한 데이타 전송장치에 의해 성취된다. 반응신호가 요구된 블록 액세스의 실행을 표시할때에 연산장치로부터 오는 단일 메모리 어드레스를 제2제어회로에 공급하고, 그리고 응답신호가 요구된 블록 액세스의 취소를 지시할때에는 한 블록내에 있는 모든 데이타를 독출할 필요가 있는 메모리 어드레스들 및 단일의 메모리 어드레스를 제2제어회로에 공급하는 제1어드레스 공급회로(어드레스 버스 인터페이스 회로)로 제1제어회로를 구성하고 제2제어회로는 요구된 블록 어드레스의 실행시에 한 블록내에 있는 모든 데이타를 독출하는데 필요한 메모리 어드레스들과 단일의 메모리 어드레스를 주기억장치에 공급하고, 그리고 요구된 블록 어드레스의 취소시에 제1제어회로로 부터 공급되는 어드레스들을 주기억장치에 공급해주는 제2어드레스 공급회로(어드레스 버스 인터페이스회로)로 이루어져 있다.
본 발명의 또 다른 목적은 캐쉬 메모리, 연산장치 및 캐쉬-인 동작을 제어하는 제어회로등이 설치 구성되어 있는 마이크로 프로세서를 제공하는 것이다.
본 발명의 상기 이외의 목적, 구성 및 잇점들은 첨부된 도면에 의거하여 상세히 설명된 것으로부터 명백해질 것이다.
지금으로부터 본 발명에 따른 실시예들을 서술하여 나갈 것이다.
제1도는 본 발명에 따른 블록 액세스 장치의 모식적 블록도이다. 마이크로 프로세서 100은 CPU 또는 연산장치(또는 실행장치라고도 한다) 10과, 제어회로 12와 캐쉬 메모리 13으로 이루어져 있는 버스 마스터11와로 구성되어 있다. 나타낸 실시예에서 마이크로 프로세서 100은 32비트 마이크로 프로세서이고 연산장치 10은 제어회로 12에 32비트의 어드레스 및 제어신호들을 공급하고, 또한 캐쉬 메모리 13으로/으로부터 데이타를 송수신한다.
어드레스 버스 17a와 데이타 버스 17b를 포함하는 버스라인을 제어회로 12 및 캐쉬 메모리 13과 버스 슬레이브 14의 제어회로 15간을 연결해 준다. 버스 마스터 11의 제어회로 12는 버스 슬레이브 14의 제어회로 15에다 32비트의 어드레스와, 리이드/라이트 신호 R/
Figure kpo00001
, 어드레스 스트로브 신호
Figure kpo00002
, 데이타 스트로브 신호
Figure kpo00003
, 블록 액세스 요구신호
Figure kpo00004
, 버스 클록 신호 BCLK 및 로드/카운트 신호 L/
Figure kpo00005
등의 제어신호들을 공급한다. 버스 슬레이브 14의 제어회로 15는 제어회로 12에 송부 종료 신호
Figure kpo00006
와 블록 액세스 확인(acknowledge)신호
Figure kpo00007
등의 제어신호를 공급해준다. 32비트의 데이타를 캐쉬 메모리 13과 버스 슬레이브의 제어회로 15간에 서로 전송한다.
다음 서술에서 대문자 위에다 바아(bar)를 그어놓은 신호들은 로우-액티브 (low-active)신호들이다.
주기억장치 16 및 제어회로 15등은 버스 슬레이브 14를 이룬다. 제어회로 15에 의하여 주기억장치 16의 리이드/라이트 동작이 제어된다. 기억장치 16에는 S-RAM과 같이 액세스 타임이 비교적 짧은 메모리들(메모리 영역들) 뿐만 아니라, D-RAM과 같이 액세스 타임이 긴 메모리들이 있다. 기억장치 16에 있어서의 메모리들 또는 메모리 영역들의 액세스 타임들은 연산장치 10의 동작 사이클을 생각하여 고려하여야 한다. 액세스 타임이 짧다는 것을 메모리 또는 메모리 영역의 액세스 타임이 연산장치 10의 동작 사이클보다 짧다는 것이고, 액세스 타임이 길다는 것은 메모리 또는 메모리 영역의 액세스 타임이 연산장치 10의 동작 사이클보다 길다는 것을 의미한다.
제1도의 시스템 동작에 대한 설명을 하면, 캐쉬 메모리에 명령을 실행할 데이타가 없는 경우에, 연산장치 10은 기억장치 16에 저장된 데이타를 액세스 하기 위하여 제어회로 12에 데이타 리이드 요구 및 액세스 요구를 공급한다. 제어장치 12는 필요한 데이타와 관련있는 어드레스를 어드레스 버스 17a에 출력함과 동시에, 리이드/라이트 신호 R/
Figure kpo00008
, 로우드/카운트 신호 L/
Figure kpo00009
, 어드레스 스트로브 신호
Figure kpo00010
및 데이타 스트로브 신호
Figure kpo00011
등의 제어신호들을 출력한다. 버스 슬레이브 14가 데이타를 전송하도록 이들 신호들을 버스 슬레이브 14의 제어회로 15에 공급한다. 또한 버스 마스터 11의 제어회로 12는 블록 액세스 요구신호
Figure kpo00012
를 버스 슬레이브 14의 제어회로 15에 출력한다. 제어회로 15는 요구된 데이타를 블록 액세스에 의하여 전송하게 될때 기억장치 16으로 부터 요구된 데이타 블록(예를들면, 하나의 블록은 네개의 워어드로 이루어졌다)에 있는 한 워어드를 독출하여서 그것을 데이타 버스 17b를 통하여 캐쉬 메모리 13에 송부함과 동시에, 또한 송부 종료신호
Figure kpo00013
및 블록 액세스 확인신호
Figure kpo00014
를 버스 마스터 11의 제어회로 12에 보낸다. 기억장치 16에서 제어장치 15로 데이타 전송이 되었을때 송부 종료 신호
Figure kpo00015
를 출력하고(로우-레벨로 스윗칭된다), 요구된 블록 액세스를 받아들일때 블록 액세스 확인신호
Figure kpo00016
를 출력하고 나서 버스마스터 11로 부터 송부된 어드레스가 차례로 증가해서 제어회로는 15는 기억장치 16으로부터 그 다음의 워어드를 순차적으로 독출한다. 버스 마스터 11로부터 전송된 버스 클록신호 BCLK를 사용함으로써 기억장치 16으로부터 독출된 각 워어드가 캐쉬 메모리 13으로 연속적으로 전송된다. 제어회로 12가 송부 종료신호
Figure kpo00017
및 블록 액세스 확인신호
Figure kpo00018
둘다 표시할 경우에는 제어회로 12는 버스 슬레이브 14가 블록 액세스를 받아들여 왔다는 것을 알아차리고 데이타를 표본화하여 캐쉬 메모리 13안으로 입력시킨다. 시스템의 단일의 사이클내에서 한 블록 전송이 끝났다는 것을 알아야 한다.
그대신 요구된 데이타가 블록 액세스에 의하여 전송되지 않을때는 버스 슬레이브 14의 제어회로 15는 단지 송부 종료신호
Figure kpo00019
만을 블록의 한 워어드와 함께 버스 마스터 11의 제어회로 12에 출력한다. 즉 블록액세스 확인신호
Figure kpo00020
를 출력하지 않는다. 제어회로 12가 송부 종료신호
Figure kpo00021
만을 표시할 때는 어드레스들이 순차적으로 증가되어 버스 슬레이브 14의 제어회로 15에 전송된다. 그리고 제어회로 12에서 공급된 각 어드레스들에 의하여 지정되는 각 워어드를 기억장치 16으로부터 독출하여서 버스 마스터 11로 전송한다. 즉 송부 종료신호
Figure kpo00022
만을 송부함으로써 블록 액세스가 버스 슬레이브 14에 의하여 취소될때 첫번째 한워드 다음의 워드 전송은 각각의 어드레스를 버스 마스터 11로 부터 버스 슬레이브 14에 공급하여 기억장치 15로부터 각 데이타를 독출하는 일반적인 액세스 방법에 따라 수행된다. 이 경우에 한 블록의 각 데이타(워어드)를 매 버스 사이클마다 버스 마스터 11에 전송한다는 것을 알아야 한다.
제2도는 제1도에 도시한 블록 액세스 장치의 상세한 회로구성도이다. 이를 참조하여 설명하면, 버스 제어장치 71, 어드레스 증가장치 22를 포함하는 어드레스 버스 인터페이스회로 72, 블록 액세스 요구신호 발생장치(이하 간단히 "
Figure kpo00023
발생장치"라 한다)73, 블록 액세스 실행 판정회로 74 및 데이타 래치(latch)회로 75등은 버스 마스터 11의 제어회로 12를 형성한다. 버스 제어장치 71은 리이드/라이트 신호 발생장치(이하 간단히 "R/
Figure kpo00024
신호 발생장치"라 한다)76, 로우드/카운트 신호 발생장치(이하 간단히 "L/
Figure kpo00025
신호 발생장치"라 한다)77, 어드레스 스트로브 신호 발생장치(이하 간단히 "L/
Figure kpo00026
신호 발생장치"라 한다)78 및 데이타 스트로브 신호 발생장치(이하 간단히 "
Figure kpo00027
신호 발생장치"라 한다)79로 구성되어 있다. 연산장치 10, 제어회로 12 및 클록 공급회로 86등은 마이크로 프로세서 100에 설치되어 있다. 클록 공급회로 86은 외부 회로(도시되어 있지 않음)로부터 제공되는 클록신호 CLK를 주파수 분할하여 버스 클록신호 BCLK를 만든다.
버스 슬레이브 14의 제어회로 15는 데이타 버퍼 80, 메모리/블록 액세스 제어장치 81과, 어드레스 디코우더 83, 어드레스 버퍼 84 및 래치기능을 갖는 어드레스 카운터 85로 구성된 어드레스 버스 인터페이스 회로 82로 이루어져 있다. 버스 슬레이브 14의 제어회로 15의 상세한 회로도를 제3도에 도시하였다. 도에서 알 수 있는 바와 같이, 메모리/블록 액세스 제어장치 81은 메모리 리이드/라이트 제어장치 87 및 액세스 반응회로 88로 이루어져 있다.
또한 제4a도 내지 제4j도에 의거하여 데이타가 S-RAM등의 짧은 액세스 타임을 지닌 메모리로 부터 전송되는 경우에 제1도 내지 제3도에 도시한 실시예의 동작을 더 설명할 것이다.
연산장치 10은 액세스 요구
Figure kpo00028
및 리이드/라이트 요구 R/W를 신호 라인 101 및 102를 각각 통하여 제어회로 12의 버스 제어장치 71에 전송한다. 리이드/라이트 요구 R/W가 읽은 데이타를 지시할때는 버스제어장치 71의 R/
Figure kpo00029
신호 발생장치 76은 리이드/라이트 신호 R/
Figure kpo00030
를 제4b도에 도시한 바와 같이 하이레벨(이하 간단히 "H-레벨"이라한다)로 유지시키는 동시에, 연산장치 10은 요구된 데이타(한 워어드에 관련이 있는 어드레스)를 제4a도에 도시한 바와 같이 어드레스 버스 105를 거쳐서 어드레스 버스 인터페이스 회로 72에 공급한다.
제4h도에 도시한 바와 같이, 블록 액세스 요구에 응하여 L/
Figure kpo00031
신호 발생장치 77은 H-레벨의 로우드/카운트 신호 L/
Figure kpo00032
신호를 어드레스 버스 인터페이스 회로 82의 어드레스 카운터 85에 보내어 버스 슬레이브 14에 어드레스를 로우드할 것을 명령한다. 결과적으로 어드레스의 2개의 하위측 비트는 카운터 85의 래치부에서 래치되고 나머지 30비트는 어드레스 버퍼 84안으로 입력된다. 로우드/카운트 신호 L/
Figure kpo00033
및 버스 클록 BCLK는 이러한 동작을 제어한다. 그리고 제4c도에 도시되어 있는 바와 같이. 어드레스를 한정하는 것을 표시하기 위하여
Figure kpo00034
신호 발생장치 78은 로우 레벨(이하 간단히 "L-레벨"이라 한다)의 어드레스 스트로브신호 AS를 송부한다.
또한, 제4e도에 도시되어 있는 바와 같이,
Figure kpo00035
발생장치 73은 신호라인 103을 통하여 연결된 연산장치 10으로 부터의 블록 액세스 요구에 응하여 L-레벨의 블록 액세스 요구신호 BLOCK를 메모리 리이드/라이트 제어장치 87에 공급한다. 또한, 블록 액세스 요구신호
Figure kpo00036
를 신호라인 108을 통하여 블록 액세스 실행 판정회로 74에 공급하고 나서, 제4d도에 도시되어 있는 바와 같이
Figure kpo00037
신호 발생장치 79는 L-레벨의 데이타 스트로브 신호
Figure kpo00038
를 메모리 리이드/라이트 제어장치 87에 공급하여서 전송된 데이타가 버스 슬레이브14에서 래치하도록 한다. 그다음에, 제어회로 12는 버스 슬레이브 14의 제어회로 15에서의 액세스 반응회로 88로부터 송부된 송부 종료신호
Figure kpo00039
(L-레벨로 변환)를 수신할때까지 기다리게 해서 제4a도에 도시되어 있는 바와 같이 연산장치 10의 동작 사이클안으로 웨이트(wait)사이클을 삽입한다. 타이밍도에 있어서 1 및 2는 제어회로 12가 신호
Figure kpo00040
를 체크하는 것을 의미한다. 버스 슬레이브 14의 제어회로 15에서 신호들의 시간 지연을 보상하기 위하여 웨이트 사이클 W가 필요하다.
다른 한편, 버스 슬레이브 14에서의 디코우더 83은 어드레스의 상위측 30개의 비트들을 디코우드하고 버스 마스터 11로부터의 어드레스에 의하여 지정되는 메모리 영역에 대해 블록 액세스가 가능한지 아닌지를 체크한다. 일반적으로, 블록 액세스가 액세스된 메모리 영역에 받아들일 수 있는지의 여부를 지시하는 정보는 어드레스의 상위측 비트들로 부터 알 수 있다. 그리고나서, 디코우더 83은 신호라인 110을 통하여 디코우드된 결과치를 액세스 반응회로 88에 공급한다. 제4f도에 도시되어 있는 바와 같이 블록 액세스를 받아들일때에, 액세스 반응회로 88은 블록 액세스 확인신호를 L-레벨로 변환하고 요구된 블록 액세스를 받아들이는 버스 마스터 11에 알린다. 제4g도에서, 빗금친 부분은 확정되지 않은 상태를 표시한다.
상기 동작에 따르면 카운터 85에 의해 래치된 상위측 30개의 어드레스 비트들과 나머지 2개의 어드레스 비트는 어드레스 버퍼 84를 통하여 기억장치 16에 공급된다. 메모리 리이드/라이트 제어장치 87은 지정된 블록에 있던 첫번째의 한 워어드 #0(32비트 정도되는)을 읽고 그것을 데이타 버퍼(80)에 공급한다. 이 전송을 끝마쳤을때, 메모리 리이드/라이트 제어장치는 이를 액세스 반응회로 88에 알리면 이것에 응하여 액세스 반응회로 88은 L-레벨의 송부 종료신호
Figure kpo00041
를 버스 마스터 11의 제어회로 12에 전송하고서 제4i도에 도시한 바와 같이 보스 마스터 11로부터 송부되는 BCLK와 동기화하여 한 워어드 #0를 제4j도에 보인 바와 같이 버스 마스터 11에 보낸다.
블록 액세스 실행 판정회로 74가 송부 종료신호
Figure kpo00042
및 블록 액세스 확인신호
Figure kpo00043
둘다 검출하였을때 그것은 요구된 블록 액세스를 받아들이는 것을 나타내는 신호와 함께 신호라인 106을 통하여 버스 제어장치 71에 공급된다. 후에 상세히 설명할 것이지만 블록 액세스 취소신호
Figure kpo00044
를 사용함으로써 이 신호를 출력할 수 있다.
즉, 블록 액세스 취소신호
Figure kpo00045
가 출력되지 않으면 블록 액세스 요구를 실행한다는 것을 나타내는 신호를 출력하여서, 버스 제어장치 71은 신호 라인 107을 통하여 제28a도 및 제28f도에 도시한 바대로 버스 클록신호 BCLK와 동기화되어 있는 클록신호 Ø0를 데이타 래치회로 75에 공급한다.
데이타 래치회로 75에서 수신한 하나의 워어드 #0가 클록신호 Ø0의 트레일링 에지(trailing edge)에 응하여 표본화된다. 표본화된 워어드 #0의 데이타를 캐쉬 메모리 13안으로 입력시킨다.
한 워어드 #0을 버스 마스터 11로 전송한 후에 제어회로 15의 어드레스 카운터 85는 어드레스 버스 인터페이스 회로 72로부터 공급된 어드레스의 두개의 하위측 비트를 증가시키는데 이것은 버스 마스터 11로부터 공급되는 버스 클록신호 BCLK를 사용하여서 한다.
증가된 어드레스 비트들은 메모리/라이트 제어장치 87의 제어에 의하여 어드레스 버퍼 84에 저장된 비트와 함께 기억장치 16에 공급된 다음에는 제4j도에 도시한 바와 같이, 상기 워어드 #0다음에 오는 한 워어드 #1를 독출하여 버스 클록신호 BCLK와 동기화하여 데이타 버퍼 80을 통하여 버스 마스터 11의 데이타 래치회로 75에 전송한다. 이러한 방법으로 나머지 워어드들 #2 및 #3을 연속적으로 캐쉬 메모리 13에 공급한다.
한 블록 전송이 끝났을때 블록 액세스 실행 판정회로 74는 신호 라인 109를 통하여 블록 액세스 요구신호
Figure kpo00046
의 완화를 지시하는 신호(이는 후술하는 것으로서 캐쉬-인 엔드 신호
Figure kpo00047
임)와 함께 신호
Figure kpo00048
발생장치 73에 공급한다. 이 신호에 응하여 제4e도에 도시되어 있는대로 H-레벨로 변환함으로써 블록 액세스 요구신호
Figure kpo00049
는 완화된다. 그리고나서 블록 액세스에 대응하여 캐쉬-인 동작이 완료된다.
상술한 바와 같이, 연산장치 10의 동작 사이클 보다 액세스 타임이 짧은 메모리 또는 메모리 영역은 블록 액세스 하기가 쉽고, 첫번째의 한 워어드 #0다음에 오는 세개의 연속 워어드들 #1, #2, #3을 한 버스 사이클 이내에 버스 클록신호 BCLK의 세 연속 사이클들에 따라 기억장치 16으로부터 캐쉬 메모리 13으로 순차적으로 전송한다.
상기 동작에 있어서, 송부 종료 신호
Figure kpo00050
를 출력할때까지 제어회로 12는 웨이터 사이클 W를 삽입한다. 제5a도 내지 제5j도는 웨이트 사이클 W를 삽입하지 않는 사익 방식의 동작시간 챠트를 나타낸다. 제5a도 내지 제5j도에 도시한 동작들은 웨이트 사이클 W가 삽입을 제외하고는 제4a도 내지 제4j도에 도시한 것과 동일하다. 데이타 스트로브 신호
Figure kpo00051
를 L-레벨로 변환한 후에 바로 즉시 송부 종료신호
Figure kpo00052
를 발생한다.
제6a도 내지 제6j도에 의거하여 D-RAM과 같이 액세스타임이 긴 메모리로부터 데이타가 전송될 때에 제1도 내지 제3도에 보인 실시예를 설명한다.
연산장치 10으로 부터의 액세스 요구
Figure kpo00053
에 응하여 버스 마스터 11의 제어회로 12는 리이드/라이트 신호 R/
Figure kpo00054
(제6b도), 어드레스(제6a도), 로우드/카운트 신호 L/
Figure kpo00055
(제6h도), 어드레스 스트로브 신호
Figure kpo00056
(제6c도), 블록 액세스 요구신호
Figure kpo00057
(제6e도) 및 데이타 스트로브 신호
Figure kpo00058
(제6d도)를 순차적으로 출력한다. 상기 동작은 전술한 액세스 타임이 짧은 메모리의 동작과 동일하다.
제3도에 도시한 메모리 리이드/라이트 제어장치 87은 어드레스 버퍼 84로부터 공급된 어드레스로 기억장치 16을 액세스하고, 요구된 블록에서 첫번째 워어드인 32비트의 한 워어드 #0를 독출한다. 제6j도에 도시한 바와 같이, 데이타 버퍼 80 및 데이타 버스 17b를 거쳐서 독출 워어드 #0를 버스 마스터 11로 보내는 동시에 제6g도에 도시되어 있는 바와 같이 액세스 반응회로 88은 L-레벨의 송부 종료신호
Figure kpo00059
를 버스 마스터 11의 제어회로에 전송한다.
액세스 반응회로 88은 제6f도에 도시한 바와 같은 블록 액세스 확인신호
Figure kpo00060
를 버스 마스터 11에 출력하지 아니한다는 것을 알아야 한다. 즉, 블록 액세스 확인신호
Figure kpo00061
를 H-레벨로 유지시킨다. H-레벨의 블록 액세스 확인신호
Figure kpo00062
는 버스 슬레이브 14가 요구된 블록 액세스를 취소하는 것을 나타냄과 동시에, 액세스 반응회로 81이 어드레스 카운터 85가 계수동작을 하지 못하도록 한다.
블록 액세스 실행 판정회로 74가 송부 종료신호
Figure kpo00063
만을 찾았을때 그것은 버스 슬레이브 14에 의하여 취소되는 블록 액세스를 지시하는 신호를 신호라인 109를 통하여
Figure kpo00064
신호 발생장치 73에 공급한다. 이 신호는 후에 상세히 설명되는 블록 액세스 취소신호
Figure kpo00065
이다. 그리고나서
Figure kpo00066
신호 발생장치 73은 제6e도에 도시한 바와 같이 H-레벨로 변환해서 블록 액세스 요구신호
Figure kpo00067
를 완화시켜 버스 마스터 11은 블록 액세스에 대응하여 데이타 전송을 하지 아니한다는 것을 버스 슬레이브 14에 알려준다. 상기 동작 동안에, 데이타 래치 회로 75에 있어서의 한 워어드 #0은 클록신호 ø0에 의하여 표본화되고 캐쉬 메모리 13에 저장된다.
상기 동작에 있어서, 버스 클록신호 BCLK의 세 사이클에 해당하는 웨이트 사이클을 동작 사이클에 삽입하고 액세스된 메모리(메모리 영역)에 대한 액세스타임이 길어 버스 클록신호 BCLK의 두 사이클 이상이라고 가정하자. 이러한 상태에서, 이 신호를 캐쉬 메모리 13에 전송하는데 버스 클록신호 BCLK의 다섯 사이클 이상이 걸린다.
그후에, 어드레스 버스 인터페이스 회로 72의 증가장치 22는 버스 슬레이브 14에 전송되어 왔었던 어드레스(AD1)를 증가시킨다.
제6a도에 도시한 바와 같이 증가된 어드레스 (AD2)를 버스 슬레이브 14의 제어회로 15에 전송한 다음에, 제6j도와 같이 도시되어 있는대로 선행버스 사이클 동안에 전송되었던 한 워어드 #0의 바로 다음에 오는 한 워어드 #1을 기억장치 16으로부터 독출하여 그것을 버스 마스터 11에 전송한다. 즉 워어드 #0이 전송되는 동안의 버스 사이클 다음의 버스 사이클에서 시작하여 버스 마스터 11의 제어회로 12는 어드레스를 순차적으로 증가시키고 일반 액세스 순차에 따라서 워어드들 #1, #2 및 #3을 독출한다. 일반 액세스 순차를 행하여 버스 마스터 11에 공급되는 한 어드레스애 대하여 한 데이타(워어드)를 전송한다.
이러한 방법으로, 연산장치 10의 동작 사이클보다 액세스 타임이 긴 메모리에 대하여 일반 엑세스 순차에 따라서 캐쉬-인 동작을 한다.
제7도는 블록과 워어드와의 관계를 나타낸 것이다. 매 네개의 워어드마다 데이타를 블록들로 분할한다. 도시한 바대로, 블록 #0은 네개의 연속 워드들 #0 내지 #3으로 구성되어 있고, 마찬가지로 블록 #1도 네개의 연속 워어드들 #4 내지 #7로 이루어졌다. 워어드 #0 내지 #3에 대한 각각의 어드레스들은 연속 어드레스들이다. 상기와 같이 워어드를 #4 내지 #7에 대한 각각의 어드레스들도 또한 연속 어드레스들이다.
제7b도에 연산장치 10에 의하여 요구되는 상위측 워어드 및 요구된 워어드에 연속한 워어드들의 전송 순서를 보인 것이다. 좌측컬럼에 도시한 워어드들 요구할때 다음의 워어드들의 전송 순서를 보인 것이다. 좌측칼럼 도시한 워어드들ㄹ 요구할때 다음의 워어드들을 우측컬럼에 도시한 순서로 전송한다. 전례에서 연산장치 10에 의하여 요구되는 워어드는 블록 #0에 있는 워어드 #0이다.
제8도 내지 제12도를 참조하여 제2도에 도시한 어드레스 버스 인터페이스 회로 72의 상세한 회로도를 설명한다.
제8도는 어드레스 버스 인터페이스 회로 72의 블록도이다.
도시한 바와 같이, 어드레스 버스 인터페이스회로 72는 두개의 인터페이스 회로 20, 21 및 증가장치 22로 구성되어 있다. 단자 23에는 32비트의 어드레스 AD 31 : 0이 제공된다. 단자 24a 내지 24g에는 각각 연산장치 10으로부터 오는 액세스 요구
Figure kpo00068
, 캐쉬-인 신호
Figure kpo00069
, 표본화된 송부 종료신호(
Figure kpo00070
), 블록 액세스 취소신호
Figure kpo00071
, 캐쉬-인 엔드신호
Figure kpo00072
(신호) 클록신호 ø2 및 어드레스-아웃신호 ADOUT가 제공된다 연산장치 10이 블록 액세스를 명령하는 동안에 캐쉬-인 신호
Figure kpo00073
을 L-레벨로 유지한다. 표본화된 송부 종료신호
Figure kpo00074
은 송부 종료신호
Figure kpo00075
를 표본화하여 얻은 신호이다. 블록 액세스 취소신호
Figure kpo00076
은 그것이 L-레벨일때에 블록 액세스를 취소시킨다는 것을 의미한다. 캐쉬-인 엔드신호
Figure kpo00077
는 한 블록의 전송의 완료를 나타낸다. 어드레스-아웃 신호 ADOUT는 어드레스의 래치를 인터페이스회로 20에 명령한다. 캐쉬-인 신호
Figure kpo00078
및 어드레스-아웃 신호 ADOUT에 대한 신호 라인들을 간소화를 위해 제2도에서 삭제한다.
제8도의 어드레스 버스 인터페이스 회로에 의하여 만들어진 어드레스 A 31 : 0 은 단자 25을 통하여 어드레스 버스 17a에 출력된다.
제28a도 내지 제28g도는 다음 설명에 사용되는 여러가지 타이밍 신호를 나타낸다. 이들 타이밍 신호들은 예를들어 마이크로 프로세서 100에 있는 타이밍 발생장치(도시되어 있지 않음)에 의해 발생될 수 있다.
인터페이스 회로 20은 제9도에 도시한 바와 같이 구성되어 있고, 어드레스 비트, AD31내지 AD4와 관련된 D형 플립-플롭 261내지 2625등으로 인터페이스 회로 30를 형성한다. 플립-플롭 261내지 2628은 어드레스-아웃신호 ADOUT의 28개의 상위측 비트들을 적용하여 각각의 어드레스 비트들이 래치되도록 한다. 래치된 어드레스 비트들은 어드레스 A 31 : 0의 28개의 상위측 비트들로서 출력된다.
어드레스 증가장치 22는 제10도에 도시한대로 구성되어 있고, 제11b도에 도시한 액세스 요구신호
Figure kpo00079
를 인버터 27b를 통하여 공급할 경우에 2비트 카운터 27에 OR회로 27a를 거쳐서 어드레스 AD 31 : 0의 비트 AD3및 AD2를 로우드한다. 그러한 다음에 캐쉬-인 신호
Figure kpo00080
및 제11d도에 도시한 표본화된 송부 종료신호
Figure kpo00081
를 L-레벨로 변환할때 2-비트 카운터 27은 카운터-업 동작을 개시하여서 어드레스 비트 AD3, 및 AD2,를 각각 출력한다.
어드레스 증가장치 22에는 플립-플롭 28이 더 구성되어 있다. 플립-플롭 28은 버스 슬레이브 14의 제어회로 15에 의하여 블록 액세스가 취소될때 발생되는 제11e도에 도시한 블록 액세스 취소신호
Figure kpo00082
에 의하여 셋트되고, 한 블록에 대한 액세스를 마쳤을때 출력되고 인버터 28a를 통하여 입력되는 제11g도에 도시한 캐쉬-인 엔드신호
Figure kpo00083
에 의하여 리셋트된다. 신호
Figure kpo00084
Figure kpo00085
를 신호라인 106, 버스 제어장치 71 및 신호라인 104를 경유하여 증가장치 22에 공급한다. 제11a도 및 제28c도에 각각 도시한 표본화된 송부 종료신호
Figure kpo00086
및 클록신호 ø2와 플립-플롭 28의 Q-출력을 NOR회로 29에 공급한다. 버스 슬레이브 14의 제어회로 15는 버스 마스터 11로부터 블록 액세스 요구를 취소할때 NOR회로 29는 제11f도에 도시한 증가-아웃신호 INOUT를 발생한다.
제12도는 제8도에 도시한 인터페이스 회로 21의 회로구조이다. D형 플립-플롭으로 형성된 래치회로 311및 312는 제10도에 도시한 카운터 27로부터 오는 어드레스 비트 AD3, 및 AD2,를 공급받는다. OR 회로 39를 거쳐서 입력되는 증가-아웃신호 INOUT 및 어드레스 아웃신호 ADOUT의 입력시에 래치회로 311및 312는 어드레스 비트 AD3및 AD2를 래치한다. 그리고 나서 래치된 어드레스 비트들 AD3, 및 AD2,는 어드레스 A 31 : 0의 어드레스 비트 A3및 A2로 각각 출력된다. 인터페이스 회로 21에는 래치회로 313및 314가 더 형성되어 있는데, 이들에는 각각 어드레스 비트 AD1및 AD0을 제공한다. 그리고 래치회로 313및 314는 어드레스-아웃신호 ADOUT의 입력시에 각각 어드레스 AD1및 AD0을 래치한다. 그리고 나서 래치된 비트 AD1및 AD0은 어드레스 비트 A1및 A0로 각각 출력된다.
상기 어드레스 A 31 : 0은 매 바이트 단위마다 기억장치 16에 액세스하는 것이며, 전술한 바와 같이 블록 액세스는 워어드 단위(4비트에 해당함)마다 액세스하는 것이므로 블록 액세스가 버스 슬레이브 14의 제어회로서 15에 의하여 취소되는 경우에 어드레스 비트 AD3, AD2가 증가하게 된다.
제13도는 제2도에 도시한 로우드/카운트(L/
Figure kpo00087
)신호 발생장치 77의 회로도이고, L/
Figure kpo00088
신호 발생장치 77은 플립-플롭 32, AND 회로 33 및 NAND 회로 38로 구성되어 있다. NAND 회로 38(
Figure kpo00089
에 대한 신호라인은 제2도에 도시되어 있지 않다)을 통하여 연산장치 10에 공급된 리셋트 신호
Figure kpo00090
에 의하여 플립-플롭 32는 리셋트되고, 연산장치 10으로부터 오는 제14c도에 도시한 액세스 요구신호
Figure kpo00091
에 의하여 셋트된 다음에 플립-플롭 32는 제14a도 및 제28a도에 도시한 L-레벨의 클록신호 ø0에 의하여 리셋트되고 제14d도에 도시한 Q-출력신호를 형성한다. Q-출력신호는 클록신호 øA와 AND 로직 동작을 하여서 소정의 펄스폭을 가지는 로우드/카운트 신호 L/
Figure kpo00092
가 제14e도에 도시되어 있는 바와 같이 출력된다.
제2도에 도시한 어드레스 스트로브 신호(
Figure kpo00093
)발생장치 78은 제15도에 도시한 바와 같이 구성되어 있다. 설명한대로, 플립-플롭 34, D형 플립-플롭의 래치회로 35, OR 회로 36 및 NAND 회로 37등은
Figure kpo00094
신호 발생장치 78을 형성한다. 플립-플롭 34는 NAND 회로 37을 통하여 입력되는 리셋트 신호
Figure kpo00095
에 의하여 리셋트된 다음에 플립-플롭34는 제16c도에 도시한 바와 같이 연산장치 10으로부터 오는 액세스 요구신호
Figure kpo00096
에 의하여 셋트되고, 나서, 플립-플롭 34는 NAND 회로 37을 거쳐서 입력되는, 제16f도에 도시한 신호에 의하여 리셋트되고 제16d도에 도시한 Q-출력을 출력한다. 플립-플롭 34의 Q-출력은 제16b도에 도시한 클록신호
Figure kpo00097
에 응하여 래치회로 35에 의하여 래치되고, 클록신호
Figure kpo00098
은 제28d도에 도시한 클록신호 ø3의 반전신호이다. 그리고, 제16e도에 도시한 어드레스 스트로브 신호
Figure kpo00099
는 래치회로 35의
Figure kpo00100
-출력으로부터 출력된 것이다. OR 회로 36은 어드레스 스트로브 신호
Figure kpo00101
와 제16a도에 도시한 클록신호 ø1의 반전신호
Figure kpo00102
에 대한 OR 동작을 행한다. OR 회로 36의 출력신호는 NAND 회로 37을 거쳐 반전되어 제16f도에 도시한 신호를 출력한다.
제17도는 제2도에 도시한 데이타 스트로브
Figure kpo00103
신호 발생장치 79의 회로도이다. 이 도면을 참고하여 설명하면, 플립-플롭 40은 리셋트 신호
Figure kpo00104
에 의하여 리셋트되고 난후에 제18c도에 도시한 액세스 요구신호
Figure kpo00105
에 의하여 셋트되어서 제18d도에 도시한 래치회로 41의 Q-출력을 출력한다. 제18b도에서 도시한 클록신호
Figure kpo00106
에 응하여 래치회로 41은 플립-플롭 40의 Q-출력을 래치하여서 그의 Q-단자에서 제18e도에 도시한 신호를 출력한다.
플립-플롭 42는 리셋트 신호
Figure kpo00107
또는 제18g도에 도시한 표본화된 송부 종료신호
Figure kpo00108
에 의하여 리셋트되고, 상기 두 신호들은 NAND 회로 44a에 입력되고난 후에, 클록신호 ø1과 동기화되어 있는 NAND 회로 43의 출력신호에 의하여 셋트된다. 이러한 방법으로 플립-플롭 42는 제18f도에 도시한 데이타 스트로브 신호
Figure kpo00109
를 출력하고, 그 데이타 스트로브 신호
Figure kpo00110
는 다시 플립-플롭 40에 입력되어서 플립-플롭 40을 리셋트시킨다.
제19도는 제2도에 도시한 블록 액세스 요구(
Figure kpo00111
)신호 발생장치 73의 회로도이다. 플립-플롭 45는 리셋트 신호
Figure kpo00112
에 의하여 리셋트된다. 그리고 난후에 플립-플롭 45는 제2도에 도시한 신호라인 103을 통하여서 버스 제어장치 71에서 오고 제20c도에 도시한 블록 액세스 요구에 의하여 셋트되어서 제20d도에 도시한 Q-출력신호를 발생한다. D형 플립-플롭의 래치회로 46은 제20b도에 도시한 클록신호
Figure kpo00113
를 사용하여 플립-플롭 45의 Q-출력을 래치하고 제20e도에 도시한 Q-출력을 출력한다.
플립-플롭 47은 NAND 회로 49b에 입력되는 리셋트 신호
Figure kpo00114
, 제20g도 및 제20h도에 각각 도시되어 있는 블록 액세스 취소신호
Figure kpo00115
또는 캐쉬-인 엔드신호
Figure kpo00116
가 입력될 시에 리셋트 되고난 후에, 플립-플롭 47은 제20a도에 도시한 클록신호
Figure kpo00117
와 동기화되어 있는 NAND 회로 48의 출력신호가 입력될 시에 셋트된다. 이러한 방법으로 플립-플롭 47의 Q-단자에서 제20f도에 도시한 블록 액세스 요구신호
Figure kpo00118
를 출력한다. NAND 회로 49a를 통하여 플립-플롭 45에 블록 액세스 요구신호
Figure kpo00119
를 공급하면 그것은 리셋트된다.
블록 액세스 취소신호
Figure kpo00120
는 제21도에 도시한 블록 액세스 취소신호 발생장치(이하 간단히 "
Figure kpo00121
신호 발생장치"라 한다)에 의하여 출력된다. 상술한
Figure kpo00122
신호 발생장치는 제2도에 도시한 블록 액세스 실행 판정회로 74에 포함되어 있다. 제21도에 의거하여 설명하면, OR 회로 50에 블록 액세스 요구신호
Figure kpo00123
, 표본화된 송부 종류신호
Figure kpo00124
및 인버터 53b를 거쳐 공급되는 신호
Figure kpo00125
등이 제공되고, 상기 신호들은 제22c도 내지 제22e도에 각각 도시되어 있으며, 블록 액세스 요구신호
Figure kpo00126
는 제2도에 도시한 신호라인 108을 통하여
Figure kpo00127
신호 발생장치 73에서 공급받는다. 표본화된 송부 종료료신호
Figure kpo00128
는 버스 슬레이브에 있는 액세스 반응회로 88로부터 오는 송부 종료신호
Figure kpo00129
를 샘플링하여 공급한 것이며, 신호
Figure kpo00130
은 액세스 반응화로 88에서 전송되어온 블록 액세스 확인신호
Figure kpo00131
를 샘플링하여 이루어진 것이다. 상기 신호들에 응하여서 OR 회로는 제22f도에 도시한 출력신호를 출력한다.
플립-플롭 51은 제22b도에 도시한 리셋트 신호 (RESET또는 클록신호 ø3에 의하여 리셋트되고 OR 회로 50의 출력신호에 의하여 셋트되며, 상기 신호들은 NAND 회로 53a를 통하여 플립-플롭 51에 입력된다. 플립-플롭 51의 Q-출력과 제22a도에 도시한 클록신호 ø1은 OR 게이트 회로 52에서 OR 논리동작이 되어 그의 출력단에서 제22g도에 도시한 블록 액세스 취소신호
Figure kpo00132
과 같은 파형이 출력된다.
제23도에 도시한 캐쉬-인 엔드 신호 발생장치(이하 간단히 "
Figure kpo00133
신호 발생장치"라 한다)에서는 캐쉬-인 엔드신호
Figure kpo00134
를 발생시키고, 또한 그것은 제21도에 도시한
Figure kpo00135
신호 발생장치와 함께 블록 액세스 실행 판정회로 74에 구성되어 있다.
제24a도 내지 제24k도는 블록 액세스를 할 수 있어 실행할때에 제23도에 도시한 회로의 일부에서 발생되는 신호 파형들이며, 제25a도 내지 제25j도는 블록 액세스를 취소할때 제23도에 도시한 회로의 일부에서 발생되는 신호 파형도들이다.
제23도에 도시한 플립-플롭 55는 후에 상세히 서술된 셀렉트클리어 신호
Figure kpo00136
또는 리셋트 신호
Figure kpo00137
에 의하여 리셋트되고, 또한 OR 회로 62를 통하여 공급되는, 제24d도 및 제25d도에 도시한 캐쉬-인 신호
Figure kpo00138
및 제24e도 및 제25e도에 도시되어 있는 표본화된 송부 종료신호
Figure kpo00139
를 받아 상기 두 신호 모두 L-레벨일 경우에 셋트된다. 래치회로 56 및 57은 제24b도 및 제25b도에 도시한 클록신호
Figure kpo00140
및, 제24c도 및 제25c도에 도시한 클록신호
Figure kpo00141
에 응하여 각각 래치하므로 제24f도 및 제25f도에 도시한 바와 같이 래치회로 56의 Q-출력은 H-레벨로 스윗칭되고, 제24g도 및 제25g도에 도시한 바와 같이 래치회로 57 또는 H-레벨로 스윗칭된다.
셀렉터 58의 그의 A-입력단자에서는 제24i도에 도시한 버스 클록신호 BCLK를 고읍받고 B-입력단자에서는 OR 회로 63의 출력을 공급받는다. OR 회로 63은 제24a도 및 제25a도에 도시한 클록신호 ø1와 제24e도 및 제25e도에 도시한 표본화된 송부 종료신호
Figure kpo00142
에 대한 OR 동작을 행한다. 제25h도에 도시한 바와 같이, 클록 셀렉트 신호 CLKSEL가 L-레벨인 동안에 셀렉토 58은 A-입력을 셀렉트한다. 마찬가지로, 제24h도에 도시되어 있는 바와 같이 신호 CLKSEL이 H-레벨인 동안에 B-입력을 셀렉트한다. 선택된 신호는 셀렉터 58의 출력단자 Y를 거쳐 NAND 회로 59에 공급되고, 또한 NAND 회로 59는 AND 회로 66의 출력을 공급받는다. NAND 회로 67의 출력은 카운터 60의 클리어 단자에 입력된다. 이러한 회로 구성에 있어서는 블록 액세스가 가능할때 NAND 회로 59는 제24j도에 도시한 신호를 출력한다. 역으로 블록 액세스가 취소될때는 제25i도에 도시한 신호를 출력한다.
카운터 60은 AND 회로 66을 통하여 입력되는 래치회로 66의 출력 또는 리셋트 신호
Figure kpo00143
에 의하여 릿세트되면 NAND 회로 59의 출력을 카운트한다. 단자 D0및 D1를 거쳐 출력되는 카운트한 치의 첫번째 및 두번째 비트들은 NAND 회로 64에서 NAND 동작되어서 그것은 그것과 동기화된 클록신호 ø1과 함께 OR 회로 65에 입력된다. 결과적으로 파형은 제24k도 및 제25j도에 도시한 바와 같다. 캐쉬-인 엔드 신호
Figure kpo00144
는 리셋트 신호
Figure kpo00145
와 함께 NAND 회로 61로 입력된다. NAND 회로 61에서는 플립-플롭을 55를 리셋트시키는데 사용되는 셀렉트 클리어 신호
Figure kpo00146
를 발생한다.
제26도에 도시한 클록 셀렉트 신호 발생장치(이하 간단히 "CLKSEL 발생장치"라 한다)는 클록 셀렉트 신호 CLKSEL를 출력한다. 제2도에 도시한 블록 액세스, 실행 판정회로 74에는 CLKSEL 발생장치가 있다. 제26도를 참고하여 설명하면, 플립-플롭 90은 제27d도에 도시한 셀렉트 클리어 신호
Figure kpo00147
에 의하여 리셋트되고 제27b도에 도시한 블록 액세스 취소신호
Figure kpo00148
에 의하여 셋트된다. 플립-플롭 90의 Q-출력은 제27a도에 도시한 클록신호
Figure kpo00149
에 의해 래치회로 90에 의하여 래치되고서 플립-플롭 90은 제27c도에 도시한 클록 셀렉트 신호 CLKSEL를 출력하고, 그것을 제23도에 도시한 셀렉터 58에 공급한다.
일반 라이트 동작에 응하여서 캐쉬 메모리 13에서 기억장치 16으로 데이타가 써넣어진다. 즉, 캐쉬 메모리 13에서 데이타를 읽어내어 이것을, 버스 마스터 11의 제어회로 12에 의하여 제어회로 15에 공급되는 라이트 어드레스들의 순차로 기억장치 16안에 써넣는다.
전술한 바대로, 본 발명에 따라 블록 액세스는 연산장치 10의 동작 사이클 보다 액세스 타임이 짧은 메모리 또는 메모리 영역과 일치한다. 이러한 이유로, 본 발명의 블록 액세스는 종래 시스템의 블록 액세스보다 빠르게 된다. 결과적으로, 시스템의 속도증가를 가능하게 하여 시스템 성능을 향상시킨다.
또한, 요구된 블록 액세스의 실행 또는 취소가 블록 액세스 확인신호
Figure kpo00150
의 레벨에 의해 결정된다. 이러한 이유로, 시스템 설계시에 기억장치 16에 있는 어떤 메모리 또는 메모리 영역을 일반 액세스 또는 블록 액세스에 사용할지를 결정할 필요가 없다. 그러므로 시스템 설계시 융통성을 향상시킬 수 있다.
더구나, 본 발명에 의하면 블록 액세스가 버스 슬레이브에 의하여 취소될지라도 일반 액세스에 따라 데이타를 전송할 수 있다. 이것은 미스 비율을 감소시켜 줄 수 있으므로 시스템 성능이 개선된다.
본 발명은 상기 실시예들에만 제한하지 않으며, 본 발명의 범위내에서 다양한 수정고 변화를 할 수 있다. 제1도에 도시한 마이크로 프로세서 100은 캐쉬 메모리 11을 포함한다. 대신에, 캐쉬 메모리를 빌트 인(built-in) 캐쉬 메모리를 갖지 않는 마이크로 프로세서에 외부적으로 연결하는 시스템도 본 발명의 범위내에 해당된다.

Claims (14)

  1. 데이타를 저장하기 위한 주기억장치(16); 연산동작을 수행하고, 주기억장치에 저장된 데이타를 독출하기 위하여 단일 메모리 어드레스 및 액세스 욕구를 출력하기 위한 연산장치(10); 주기억장치로부터 독출된 데이타를 저장하기 위한 캐쉬 메모리(13); 캐쉬 메모리와 주기억장치 사이를 연결해 주기 위한 버스라인(17a,17b); 연산장치로부터의 액세스 요구에 응하여 소정의 크기의 블록에 있는 모든 데이타의 독출을 요구하는 블록 액세스 요구를 발생하여 주기억장치로부터 독출된 데이타를 캐쉬 메모리안으로 입력하기 위한 제1제어회로(12); 및 주기억장치로부터 데이타를 독출하고, 제1기어회로로부터의 블록 액세스 요구에 응하여 요구된 블록 액세스의 실행 및 취소중의 하나를 지시하는 응답신호를 제1제어회로에 반송시키는 제2제어회로(15)로 이루어지는 캐쉬 메모리를 사용한 블록 액세스 장치로 구성되며, 상기 제1제어회로(12)는 응답신호가 요구된 블록 액세스의 실행을 지시할 경우 연산장치로부터 단일 메모리 어드레스를 제2제어회로에 공급하고, 응답신호가 요구된 블록 액세스의 취소를 지시할 경우 한 블록의 모든 데이타를 독출하기 위해 필요한 단일 메모리 어드레스 및 메모리 어드레스들을 제2제어회로에 공급하는 제1어드레스 버스 인터페이스 회로(72)를 포함하며, 상기 제2제어회로(15)는 요구된 블록 액세스가 실행될 경우 한 블록의 모든 데이타를 독출하기 위해 필요한 단일 메모리 어드레스 및 메모리 어드레스들을 주기억장치에 공급하고, 요구된 블록 액세스가 취소될 경우 제1제어회로로부터 제공된 어드레스를 주기억장치에 공급하는 제2어드레스 버스 인터페이스 회로(82)를 포함하는 블록 액세스 장치.
  2. 제1항에 있어서, 단일 메모리 어드레스를 증가시켜서 각각의 제1 및 2어드레스 버스 인터페이스 회로(72,82)가 메모리 어드레스를 출력하는 캐쉬 메모리를 사용한 블록 액세스 장치.
  3. 제1항에 있어서, 요구된 데이타가 저장되는 주기억장치(16)의 메모리 영역의 액세스 시간에 의거하여 제2제어회로가 요구된 블록 액세스의 실행 및 취소중에서 어느 하나를 결정하는 캐쉬 메모리를 사용한 블록 액세스 장치.
  4. 제1항에 있어서, 요구된 데이타가 저장되는 메모리 영역의 액세스 시간이 연산장치의 동작시간보다 짧을때는 제2제어회로(82)가 요구된 블록 액세스의 실행을 지시하는 응답신호를 제1제어회로(72)로 반송하는 캐쉬 메모리를 사용한 블록 액세스 장치.
  5. 제1항에 있어서, 요구된 데이타가 저장되는 메모리 영역의 액세스 시간이 연산장치(10)의 동작시간보다 길때는, 제2제어회로(82)가 요구된 블록 액세스의 취소를 지시하는 응답신호를 제1제어회로(72)로 반송하는 캐쉬 메모리를 사용한 블록 액세스 장치.
  6. 제4항에 있어서, 요구된 데이타를 갖는 메모리 영역이 스태틱 랜덤 액세스 메모리(S-RAM)으로 이루어져 있는 캐쉬 메모리를 사용한 블록 액세스 장치.
  7. 제5항에 있어서, 요구된 데이타를 갖는 메모리 영역이 다이나믹 랜덤 액세스 메모리(D-RAM)로 이루어져 있는 캐쉬 메모리를 사용한 블록 액세스 장치.
  8. 제1항에 있어서, 실행 및 취소가 일부 메모리 어드레스에 의하여 지정되고, 제2제어회로(15)가 요구된 블록 액세스의 실행 및 취소중에서 어느 하나를 결정하기 위하여 일부 메모리 어드레스를 복호화하는 어드레스 디코우더(83)를 더 포함하는 캐쉬 메모리를 사용한 블록 액세스 장치.
  9. 제1항에 있어서, 실행 및 취소중의 하나가 블록 액세스 요구에 대한 응답신호의 레벨에 의하여 지정되는 캐쉬 메모리를 사용한 블록 액세스 장치.
  10. 제1항에 있어서, 블록 액세스 요구의 실행시에한 블록내에 포함된 모든 데이타가 버스의 한 버스사이클 이내에 주기억장치(16)로부터 캐쉬 메모리(13)로 연속적으로 송부되는 캐쉬 메모리를 사용한 블록 액세스 장치.
  11. 제1항에 있어서, 한 블록내에 포함된 모든 데이타를 버스의 여러 버스 사이클 들에서 주기억장치(16)로부터 캐쉬 메모리(13)로 송부되는 캐쉬 메모리를 사용한 블록 액세스 장치.
  12. 제1항에 있어서, 한 블록내에 포함된 데이타는 다수의 워어드들로 이루어지는 캐쉬 메모리를 사용한 블록 액세스 장치.
  13. 제1항에 있어서, 연산장치(10), 제1 제어회로(12) 및 캐쉬 메모리(13)는 마이크로 프로세서(100)를 구성하는 캐쉬 메모리를 사용한 블록 액세스장치.
  14. 마이크로 프로세서는 외부 메모리에 연결될 수 있고, 외부 메모리로부터 독출한 데이타를 저장하는 빌트 인(built-in) 캐쉬 메모리; 외부 메모리에 공급된 어드레스를 제어하고, 외부 메모리에서 독출한 데이타를 캐쉬 메모리 안으로의 입력하는 것을 제어하는 버스 제어장치(71); 데이타 처리를 실행하는 연산장치(10); 연산장치로부터의 요구에 응하여 외부 메모리에 블록 액세스를 요구하는 신호를 출력하는 블록 액세스 요구신호(BLOCK) 발생장치(73); 클록신호를 발생하여서 그것을 외부 메모리에 공급하는 클록 공급회로(83); 및 송부 종료신호 및 블록 액세스 확인신를 판정하고, 외부 메모리로부터 오는 블록 액세스 확인신호를 받지 아니하고서 외부 메모리로부터 오는 송부 종료신호를 수신할 때에 블록 액세스 요구신호의 취소를 블록 액세스 요구신호 발생장치에 지정하는 블록 액세스 판정회로로 이루어지며, 상기 버스 제어장치(71)는 블록 액세스 판정회로가 블록 확인 신호를 검출할때에 단일의 어드레스를 외부 메모리에 출력하며, 클록신호와 동기화하여서 외부 메모리로부터 캐쉬 메모리로 송부된 소정의 크기의 블록을 형성하는 데이타의 입력을 제어하고, 또한 블록 액세스 확인신호를 받지 아니하고서 블록 액세스 판정회로가 송부 종료 신호를 수신할때에 외부 메모리로 순차적으로 증가되는 어드레스들을 출력하고 각각의 어드레스에 응하여 외부 메모리로부터 캐쉬 메모리로 송부된 데이타의 입력을 제어하는 마이크로 프로세서.
KR1019880002448A 1987-03-10 1988-03-09 캐쉬 메모리를 사용한 블록 액세스 장치 KR920003270B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP62054901A JPS63220342A (ja) 1987-03-10 1987-03-10 ブロツクアクセス方式
JP62-54901 1987-03-10

Publications (2)

Publication Number Publication Date
KR880011676A KR880011676A (ko) 1988-10-29
KR920003270B1 true KR920003270B1 (ko) 1992-04-27

Family

ID=12983506

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880002448A KR920003270B1 (ko) 1987-03-10 1988-03-09 캐쉬 메모리를 사용한 블록 액세스 장치

Country Status (4)

Country Link
US (1) US4853848A (ko)
EP (1) EP0282248B1 (ko)
JP (1) JPS63220342A (ko)
KR (1) KR920003270B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109485A (en) * 1988-08-30 1992-04-28 Ncr Corporation Method for transferring data between memories
US4994962A (en) * 1988-10-28 1991-02-19 Apollo Computer Inc. Variable length cache fill
JP3105283B2 (ja) * 1991-03-20 2000-10-30 キヤノン株式会社 メモリ・アクセス制御装置
US5333291A (en) * 1991-06-14 1994-07-26 International Business Machines Corporation Stride enhancer for high speed memory accesses with line fetching mode and normal mode employing boundary crossing determination
US5386579A (en) * 1991-09-16 1995-01-31 Integrated Device Technology, Inc. Minimum pin-count multiplexed address/data bus with byte enable and burst address counter support microprocessor transmitting byte enable signals on multiplexed address/data bus having burst address counter for supporting signal datum and burst transfer
KR940001593B1 (ko) * 1991-09-20 1994-02-25 삼성전자 주식회사 메인콘트롤러내에 내장한 버스콘트롤러 동작 시스템
US5655132A (en) * 1994-08-08 1997-08-05 Rockwell International Corporation Register file with multi-tasking support
GB2302604B (en) * 1995-06-23 2000-02-16 Advanced Risc Mach Ltd Data memory access control
EP0834812A1 (en) 1996-09-30 1998-04-08 Cummins Engine Company, Inc. A method for accessing flash memory and an automotive electronic control system
US6009482A (en) * 1997-03-28 1999-12-28 International Business Machines Corporation Method and apparatus for enabling cache streaming
WO2000065453A1 (en) * 1999-04-23 2000-11-02 Icompression, Inc. Direct memory access engine for data cache control
US8806654B2 (en) * 2006-01-13 2014-08-12 Freescale Semiconductor, Inc. Controlling the access of master elements to slave elements over a communication bus

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4156906A (en) * 1977-11-22 1979-05-29 Honeywell Information Systems Inc. Buffer store including control apparatus which facilitates the concurrent processing of a plurality of commands
US4217640A (en) * 1978-12-11 1980-08-12 Honeywell Information Systems Inc. Cache unit with transit block buffer apparatus
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4445176A (en) * 1979-12-28 1984-04-24 International Business Machines Corporation Block transfers of information in data processing networks
US4493027A (en) * 1981-05-22 1985-01-08 Data General Corporation Method of performing a call operation in a digital data processing system having microcode call and return operations
US4525780A (en) * 1981-05-22 1985-06-25 Data General Corporation Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
US4455602A (en) * 1981-05-22 1984-06-19 Data General Corporation Digital data processing system having an I/O means using unique address providing and access priority control techniques
JPS617964A (ja) * 1984-06-22 1986-01-14 Fujitsu Ltd デ−タ転送方式
EP0166192B1 (en) * 1984-06-29 1991-10-09 International Business Machines Corporation High-speed buffer store arrangement for fast transfer of data
CA1269176A (en) * 1985-02-22 1990-05-15 Fairchild Camera And Instrument Corporation Multiple bus system including a microprocessor having separate instruction and data interfaces and caches

Also Published As

Publication number Publication date
EP0282248B1 (en) 1996-01-03
EP0282248A3 (en) 1990-10-17
JPH0511334B2 (ko) 1993-02-15
US4853848A (en) 1989-08-01
EP0282248A2 (en) 1988-09-14
JPS63220342A (ja) 1988-09-13
KR880011676A (ko) 1988-10-29

Similar Documents

Publication Publication Date Title
KR900004006B1 (ko) 마이크로 프로세서 시스템
US4282572A (en) Multiprocessor memory access system
US4598362A (en) Buffer apparatus for controlling access requests among plural memories and plural accessing devices
KR920003270B1 (ko) 캐쉬 메모리를 사용한 블록 액세스 장치
US5109333A (en) Data transfer control method and apparatus for co-processor system
US5463756A (en) Memory control unit and associated method for changing the number of wait states using both fixed and variable delay times based upon memory characteristics
JPS58222363A (ja) 共用メモリの割振装置
US6058439A (en) Asynchronous first-in-first-out buffer circuit burst mode control
GB2060961A (en) Data processing system having memory modules with distributed address information
US20040054843A1 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
JPS6242306B2 (ko)
US5185879A (en) Cache system and control method therefor
EP0437712A2 (en) Tandem cache memory
KR920003174B1 (ko) 메모리 액세스 콘트롤러
KR100233100B1 (ko) 시분할 액서스방식을 채용한 다중 프로세서의 데이타 통신장치
KR0176087B1 (ko) 시스템 제어기의 프로세서 데이타 처리회로
EP0352806A2 (en) Cache memory and access controller using such memory
US6493775B2 (en) Control for timed access of devices to a system bus
JP2000132451A (ja) メモリ制御回路
US6654844B1 (en) Method and arrangement for connecting processor to ASIC
KR880000462B1 (ko) 멀티프로세서 시스템에 있어서의 데이터전송장치
KR900008967Y1 (ko) 메모리 억세스장치
KR920000401B1 (ko) 데이터 버퍼링회로
KR940006833B1 (ko) 공유자원 억세스 요구 제어장치
KR100221077B1 (ko) 로컬버스의 읽기 데이터 버퍼

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application
E902 Notification of reason for refusal
J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20020418

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee