KR100341947B1 - 모듈러 칩 선택제어회로 및 이와 관계된 회로 및 방법 - Google Patents

모듈러 칩 선택제어회로 및 이와 관계된 회로 및 방법 Download PDF

Info

Publication number
KR100341947B1
KR100341947B1 KR1019950028886A KR19950028886A KR100341947B1 KR 100341947 B1 KR100341947 B1 KR 100341947B1 KR 1019950028886 A KR1019950028886 A KR 1019950028886A KR 19950028886 A KR19950028886 A KR 19950028886A KR 100341947 B1 KR100341947 B1 KR 100341947B1
Authority
KR
South Korea
Prior art keywords
address
signal
input
attribute
access
Prior art date
Application number
KR1019950028886A
Other languages
English (en)
Other versions
KR960008570A (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
Priority claimed from US08/298,638 external-priority patent/US5511182A/en
Priority claimed from US08/298,868 external-priority patent/US5617559A/en
Application filed by 모토로라 인코포레이티드 filed Critical 모토로라 인코포레이티드
Publication of KR960008570A publication Critical patent/KR960008570A/ko
Application granted granted Critical
Publication of KR100341947B1 publication Critical patent/KR100341947B1/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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Dram (AREA)
  • Microcomputers (AREA)

Abstract

모듈러 칩 선택 제어 회로(80)는 제 1 어드레스 복호기 수를 갖는 어드레스 복호화 스테이지(90)와, 제 2 제어 유닛 수를 갖는 제어 스테이지(100) 및 제 3 핀 형태 논리 회로 수를 갖는 핀 형태 스테이지(110)를 구비함으로써 스케일될 수 있다. 메모리 영역수, 액세스 파이프라인 깊이 및 칩 선택 신호 수를 각각 규정하는 이들 세개의 수는 독립적이고 서로다른 시스템 필수품을 수용하기 위하여 칩 설계간에서 변경될 수 있다. 제어 스테이지는 제어 유닛(170,180)이 액세스된 영역의 속성을 토대로 현재의 메모리 사이클을 파이프라인하도록 하는 초기 파이프라인 제어 회로(186)를 포함한다. 제어 유닛(170,180)과 함께 초기 파이프라인 제어 회로(186)는 한 세트의 파이프라인 룰이 데이터 무결성 및 적절한 사이클 종료를 보장하도록 하여, 효율적인 일련의 파이프라인 메모리 액세스 사이클을 제공하게 한다.

Description

모듈러 칩 선택 제어 회로 및 이와 관계된 회로 및 방법
본 발명의 분야
본 발명은 일반적으로 데이타 프로세서에 관한 것으로 특히, 집적 회로 마이크로프로세서 및 마이크로컴퓨터용 칩 선택 논리 회로에 관한 것이다.
본 발명의 배경
집적 회로 마이크로프로세서는 많은 경우 어떤 기능들을 제공하기 위차여 다른 집적 회로 장치들과 집속되어야만 된다. 이와같은 외부 장치의 예로서 메모리, 직렬 인터페이스 어댑터(serial interface adaptor), 아날로그-디지탈 변환기, 및 그 외 다른것들을 들수있다. 대부분의 경우 이와같은 외부 장치 각각은 마이크로프로세서에 의해 액세스될 때 장치가 적절히 활성화 되도록하기 위해 외부 제어 신호를 필요로한다. 예를 들어 정적 랜덤 액세스 메모리(static random access memory, SRAM) 집적 회로는 판독 및 기록 액세스를 제어하기 위해 칩 인에이블 (chip enable), 출력 인에이블, 및 기록 인에이블 제어 신호를 필요로한다. 이러한 신호들의, 타이밍 필요조건은 상업적으로 이용 가능한 장치간에 다소 상이하다. 예를 들어, 어떤 SRAM이 출력 인에이블 신호에 대하여 비동기적으로 출력 데이타를 제공하는 반면에, 다른 SRAM은 출력 인에이블을 샘플링하여 클럭 신호와 동기적으로 출력 데이타를 제공한다.
전형적으로, 마이크로프로세서 및 그외다른 집적 회로를 사용하는 시스템의 설계자는 마이크로프로세서 자체에 의해 발생된 어드레스 및 버스 제어 신호로부터필요한 칩 선택 신호를 발생시키기 위하여 '글루 논리(glue logic)'을 사용할 것이다. 이 추가적인 논리(extra logic)는 설계된 시스템의 비용을 상당히 증가시키고 수행성능을 열화시킴으로, 매우 바람직하지 못하다.
캘리포니아, 산타클라라의 인텔사에서 활용되는 80186(또한, iAPX 186이라 칭함)은 칩 선택 신호를 발생시키는 내부 논리를 갖는 집적 회로 마이크로프로세서이다. 칩 선택 논리는 7개의 가능한 칩 선택 각각이 활성화되는 어드레스 범위를 프로그램하는 한정된 성능을 갖고, 대기 상태를 각 칩 선택이 활성화되는 버스 사이클에 프로그램가능하게 삽입할 수 있다. 게다가, 일부 칩 선택은 마이크로프로세서의 메모리나 I/O 어드레스 공간내에서만 활성화되도록 프로그램될 수 있다.
온-보드(on-board) 칩 선택 논리를 갖는 집적 회로 마이크로프로 세서의 또 다른 예가 1992년 9월 29일에 공표된 존 에이, 랜간(John A. Langan)및 제임스 엠. 시빅트로스(James M. Sibigtroth) 의 미국 특허 No. 5,151,986에 공표되었다. 서술된 칩 선택 논리는 수 개의 칩 선택 출력 각각에 대해 타이밍, 극성(polarity), 및 대기 상태수를 개별적으로 프로그램할 수 있는 제어 레지스터를 포함한다.
마이크로프로세서 집적 회로상에 칩 선택 논리를 집적시키는데 관련된 주요 문제점은 충분한 융통성을 사용자에게 제공하는 것을 포함한다. 시스템 설계자가 마이크로프로세서의 메모리 맵(memory map) 및 타이밍, 칩 선택 신호 자체의 다른 속성들에 따라서 각 외부 장치의 배치시 폭넓은 방식을 취하기 때문에, 글루 논리의 사용이 매우 융통적이다. 특정 주변 장치들에 대한 각종 가능한 시스템 설계 및 칩 선택 필요조건이 많기 때문에, 이 융통성은 매우 유용하다. 상당한 한계내로 유닛의 크기 및 복잡도를 제한하면서 집적된 칩 선택 유닛에 충분한 융통성을 제공하는 것은 매우 어렵다.
동시에, 집적 회로의 비용을 최소화하는 것이 중요하다. 여러 가지 요인들이 칩 선택 논리를 집적시키는데 비용을 들게한다. 보다 큰 칩 크기가 웨이퍼당 활용가능한 다이(die)의 수를 감소시키기 때문에, 한가지 요인은 칩 선택 논리에 의해 필요로되는 회로 에리어 양이다. 보다큰 핀-수의 패키지들이 일반적으로 값이 보다 비싸기 때문에, 또 다른 요인은 디바이스 핀의 수이다. 왜냐하면, 보다 큰 핀-카운트 패키지는 더 고가이기 때문이다. 세 번째 요인은 칩을 설계 하는데 요구되는 엔지니어링의 노력량이기 때문에, 설계 시간을 덜 필요로하는 것이 바람직하다. 따라서, 집적 회로 마이크로프로세서들을 위하여 융통성이 있지만 저비용의 칩 선택 논리 회로가 필요로된다.
발명의 요약
따라서, 어드레스 복호화, 타이밍 제어 스테이지, 및 핀 형태 단을 포함하는 한 형태의 모듈러 칩 선택 제어 회로가 제공된다. 이 어드레스 복호화 스테이지는 제 1 의 다수의 어드레스 복호기를 갖는다. 각각의 어드레스 복호기는 프로그램 가능한 영역과 관계되며, 입력 어드레스가 프로그램가능한 영역내에 있다면 최소한 하나의 대응하는 제어 신호를 활성화시킨다. 타이밍 제어 스테이지는 어드레스 복호화 단에 접속되고, 제 2 의 다수의 제어 유닛을 포함한다. 각 제어 유닛은 제 1 의 소정수의 어드레스 복호기 각각으로부터 적어도 하나의 대응하는 제어 신호를 수신하고 이에 응답하여 메모리 액세스를 제어하도록 대응하는 다수의 타이밍 신호를 제공된다. 핀 형태 단은 어드레스 복호화 단 및 타이밍 제어 단에 접속되며, 제 3 의 다수의 핀 형태 논리 회로를 포함한다. 각각의 핀 형태 논리 회로는 다수의 칩 선택 신호중 선택된 신호를 제공하도록 프로그램가능하며, 다수의 칩 선택 신호들중 선택된 한 신호에 대응하는 다수의 타이밍 신호들중 선택된 타이밍 신호에 응답한다.
첨부된 도면을 참조하여 이하의 상세한 설명에서 상기의 특징과 이점 및 다른 특징이 더욱 명백해진다.
실시예의 상세한 설명
제 1 도는 본 발명을 따른 데이타 처리 시스템(20)을 형성하는 블럭도를 도시한 것이다. 데이타 처리 시스템(22)은 일반적으로 외부 버스(21), 전기적으로 프로그램가능한 판독 전용 메모리(EPROM)(22), 정적 랜덤 액세스 메모리(SRAM)(23), 입, 출력(I/O) 칩(24), I/O 칩(25), 및 데이타 프로세서(30)를 포함한다. 데이타 프로세서(30)는 데이타 처리 시스템(20)의 중앙 처리 장치(CPU)로서 기능하는 단일 집적 회로이고, 일반적으로 CPU 코어(core)(31), 칩 선택 회로(32), 외부 버스 인터페이스(33), 및 내부 버스(34)를 포함한다.
CPU 코어(31)는 복합 명령어 세트 컴퓨터(CISC), 축소 명령어 세트 컴퓨터 (RISC), 디지탈 신호 프로세서(DSP), 또는 임의의 다른 공지된 아키텍쳐와 같은 임의의 공지된 CPU 아키텍쳐를 사용하여 수행될 수 있다. 게다가, 데이타 프로세서 (30)는 고 집적 마이크로프로세서 또는 마이크로제어기(제어기, 마이크로컴퓨터 등이 포함됨)중 하나로 고려될 수 있다. 마이크로제어기의 경우, 데이타 프로세서(30)는 칩상의 메모리 및 주변 장치와 같은 데이타 처리 시스템의 다른 종래의 소자들을 포함하고 내부 버스(34)와 접속된다. 그러나, 데이타 처리 시스템(20)에서, 이와같은 장치는 칩 상이 아닌 곳에 또한 포함되고 데이타 프로세서(30)는 외부 버스 인터페이스(33)를 사용하여 외부 버스(21)에 의해 이들 장치에 접속된다.
외부 버스 인터페이스(33)는 내부 버스(34)를 통해 CPU 코어(31)에 접속되어 외부 버스(21)에 신호를 제공한다. 외부 버스 인터페이스(33)는 내부 버스(34)를 단일 외부 버스(21)에 적응시키도록 동작한다. 예를 들어, CPU 코어(31)가 분리된 명령 및 데이타 경로로 하버드 아키텍처(Harvard architecture)를 수행하는 경우, 외부 버스 인터페이스(33)는 이들 분리된 명령 및 데이타 경로로부터 외부 버스 (21)상으로 액세스를 순서화한다.
집적 회로 수를 감소시키기 위하여, 데이타 프로세서(30)는 EPROM(22), SRAM (23), I/O 칩(24) 및 (25)에 직접적으로 제공될 타이밍 및-제어 신호를 발생시키기 위한 칩 선택 회로(32)를 포함한다. 예를 들어, 상술된 실시예에서, 칩 선택 회로 (32)는 외부 버스(21)로부터 명령을 가져오도록 칩 인에이블() 및 출력 인에이블()로 공지된 2 개의 저 활성화(active-low) 칩 선택 신호를 EPROM(22)에 제공한다. 판독-기록 장치에 액세스하기 위해, 칩 선택 회로(32)는 또한 SRAM(23) 및 I/O 칩(24 및 25)에 제공되는 기록 인에이블 신호와 같은 기록 인에이블() 신호를 제공한다. 칩 선택 회로(32)는 어드레스, 속성, 및 외부 버스(21)로의 액세스와 관계된 제어 신호들을 수신하기 위한 외부 버스 인터페이스(33)에 양방향 접속시킨다. 칩 상에 보드 레벨 논리(board level logic)를 집적시키는 것 이외에, 칩 선택 회로(32)는 개선된 외부 인터페이스를 제공하는데, 이 양상은 일반적으로 제 2 도 내지 제 9 도에 서술되어 있다.
제 2 도는 제 1 도의 데이타 처리 시스템(20)의 메모리 맵(memory map)의 부분(40)을 형성하는 블럭도를 도시한 것이다. 부분(40)은 일반적으로 내림차순으로 일련의 어드레스를 표시하는데, 즉 보다큰 어드레스에서 보다 작은 어드레스 순서로 표시한다. 부분(40)은 '주 블럭 고 어드레스' 및 '주 블럭 저 어드레스'로 경계지어지는 주 블럭(41)을 포함한다. 제 1 도의 칩 선택 회로(32)는 주 블럭(41)의 경계내에서 중첩되거나 완전히 놓여지도록 서브 블럭(42)을 프로그램하는 성능을 포함한다. 메모리 밀도가 증가됨에 따라 단일 메모리 집적 회로와 관계되는 각각 다른 프로그램가능한 속성을 갖는 하나보다 많은 영역을 갖는 것이 유용하기 때문에, 이 중첩 제어는 유용하게 된다. 이를 위하여, 서브 블럭(42)은 주 블럭(41) 내에 완전히 위치될 수 있고 제 2 도에 도시된 바와 같이 "서브 블럭 고 어드레스" 및 "서브 블럭 저 어드레스"로 경계지어진다.
칩 선택 회로(32)는 제 1 도의 칩 선택 회로(32)의 다수 레벨 보호 회로(50)를 형성하는 블럭도를 도시하는 제 3 도에 도시된 바와 같은 중첩 메모리 맵을 수행한다. 다수 레벨 보호 회로(50)는 일반적으로 임의 수의 블럭들을 위한 복호기를 포함하는데, 이 블럭의 일부는 중첩될 수 있다. 예를 들어, 제 3 에 도시된 바와 같이, 다수 레벨 보호 회로(50)는 각각 제 2 도의 주 블럭(41)과 서브블럭(42)을 실행하기 위한 주 블럭 복호기(51) 및 서브 블럭 복호기(54)를 포함한다. 여기서용어 "블럭" 및 "영역"은 동일한 의미이고 "서브 블럭"은 보다 큰 블록 또는 영역의 경계내에 있는 블록 또는 영역을 표시한다.
주 블럭 복호기(51)는 주 블럭 저 어드레스에 대응하는 베이스 어드레스 레지스터(52) 및 선택 레지스터(53)를 구비한다. 선택 레지스터(53)는 베이스 어드레스 레지스터(52)에 저장된 베이스 어드레스에 부가될 때 주 블럭 고 어드레스를 결정하는 블럭 크기 필드(block size field)를 포함한다. 게다가, 선택 레지스터(53)는 주 블럭(41)과 관계된 영역의 보호를 위한 속성을 저장한다. 마찬가지로, 서브 블럭 복호기(54)는 서브 블럭 저 어드레스를 결정하는 베이스 어드레스 레지스터 (55)와, 서브 블럭 고 때드레스를 결정하는 블럭 크기 필드를 포함하는 선택 레지스터(56)를 포함한다. 게다가, 선택 레지스터(55)는 서브 블럭(42)과 관계된 프로그램가능한 속성들을 위한 필드를 포함한다.
주 블럭 복호기(51) 및 서브 블럭 복호기(54) 둘다는 제 1 도의 CPU 코어(31)의 한 버스 사이클 동안 "ADDRESS"로 라벨된 입력 어드레스를 수신하고, 부가하여 진행중인 사이클에서 "PROTECTION ATTRIBUTES"로 표시된 보호 속성을 표시하는 제어 신호를 수신한다. 이와같은 보호 속성의 예로서 기록 신호 지시가 있다. 예를 들어, 주 블록(41) 또는 서브 블럭(42)이 기록 보호되면, 기록 신호는 현재의 사이클이 기록 사이클이라는 것을 나타내므로 현재의 사이클이 프로그램된 보호에 정합되지 않는 다는 것을 나타낸다. 주 블럭 복호기(51) 및 서브 블럭 복호기(54) 각각은 ADDRESS 를 베이스 어드레스 레지스터에 의해 정의된 영역과 대응하는 선택 레지스터에서의 영역 크기 필드에 비교한다. ADDRESS가 영역내에 있는경우, 대응하는 블럭 복호기는 "ADDRESS MATCH" 로 표시된 어드레스 정합 신호를 활성화한다. 게다가, 입력 보호 속성이 대응하는 선택 레지스터에서의 프로그램된 값들과 정합되는 경우, 블럭 복호기는 "ATTRIBUTE MATCH"로 라벨된 대응하는 속성 정합 신호를 활성화한다.
그리고나서, 우선순위 강제 회로(58)는 각 블럭으로부터 ADDRESS MATCH 와 ATTRIBUTE MATCH 신호를 수신하여 우선순위 매카니즘(priority mechanism)을 토대로로 라벨된 신호와 같은 외부 제어 신호를 활성화할 것인지 여부를 결정한다. 주 블럭 복호기(51) 및 서브 블럭 복호기(54)중 하나만이 ADDRESS MATCH 신호를 활성화한 경우, 우선순위 강제 회로(58)는 대응하는 ATTRIBUTE MATCH 신호가 또한 활성화된 경우에만 신호를 활성화시킨다. 제 2 도와 제 3 도를 참조하면, 상기 ADDRESS가 주 블럭 저 어드레스 및 서브 블럭 저 어드레스 사이에 있는 것으로 가정한다. 이 경우에, 주 블럭 복호기(51)는 어드레스 정합 및 활성화 신호 ADDRESS MATCH를 검출할 것이다. 게다가, PROTECTION ATTRIBUTE 는 선택 레지스터 (53)에서 프로그램된 보호 속성을 정합시킨다라고 가정하자. 이 경우, 주 블럭 복호기(51)는 또한 신호 ATTRIBUTE MATCH를 활성화한 할 것이다. 그러나, ADDRESS 가 서브 블럭(42)내에 있지 않음으로, 서브 블럭 복호기(54)는 어드레스 정합 신호를 활성화 하지 않는다. 그러므로 우선순위 강제 회로(58)는 주 블럭(41)내의 어드레스 및 속성 정합을 토대로 신호를 활성화 할 것이다.
지금부터, ADDRESS 가 서브 블럭(42)내에 있는 경우를 고려하자. 이 경우에,주 블럭 복호기(51) 및 서브 블럭 복호기(54) 둘다는 대응하는 ADDRESS MATCH 신호들을 활성화한다. 또한, PROTECTION ATTRIBUTE 는 주 블럭 복호기(51)가 ATTRIBUTE MATCH 신호를 활성화하도록 선택 레지스터(53)에서 규정된 것들과 정합한다라고 가정하자. 그러나, 동시에 PROTECTION ATTRIBUTE 는 서브 블럭 복호기(54)가 ATTRIBUTE MATCH 신호를 활성화하지 않도록 선택 레지스터(56)에서 프로그램된 속성과는 정합되지 않는다. 이 경우, 우선순위 강제 회로(58)는 주 블럭 복호기(51)에 대한 서브 블럭 복호기(54)의 우선순위을 인지하면서 신호를 비활성화 상태로 유지시킨다. 따라서, 서브 블록(42)은 보다 높은 보호 우선 순위로 주 블럭내에 네스팅(nesting)될 수 있다. 이러한 블럭의 네스팅 몇 블럭간의 우선 순위는 임의수의 네스팅으로 확장될 수 있다.
제 4 도는 제 1 도의 칩 선택 회로(32)의 프로그램 가능한 액세스형 회로 (60)를 구성하는 블럭도이다. 프로그램 가능한 액세스형 회로(60)는 인터페이스 타잎 필드(interface type field)(62)를 갖는 선택 레지스터(61), 인터페이그 타잎 복호기(63), 및 액세스 제어기(64)를 일반적으로 포함한다. 선택 레지스터(61)는 인터페이스 타잎(ITYPE) 필드(62)를 포함하는 제 3 도에 이미 도시된 바와 같은 프로그램 가능한 영역과 관련된 레지스터이다. ITYPE 필드(62)는 인터페이스형 복호기(63)의 입력으로 제공되는 부호화된 인터페이스 타잎 값을 포함한다. 인터페이스 타잎 복호기(63)는 ITYPE 필드(62)를 복호화 하여 복호화된 신호를 액세스 제어기 (64)에 제공한다. 그리고나서, 액세스 제어기(64)는 'CLOCK'으로 라벨된 입력 클럭신호를 토대로신호에 대한 타이밍 정보를 발생시킨다.
공지된 칩 선택 회로에서, 선택 레지스터는 사전복호화된 필드에서 각 신호를 위한 타이밍 및 인터페이스 속성을 규정한다. 그래서, 하나 또는 그보다 많은 이들 비트를 파괴하는 소프트웨어 에러가 존재시, 불법적인 타이밍 조합이 발생되어 하드웨어 에러 또는 프로그램을 파괴시킨다. 그러나, 프로그램 가능한 액세스형 회로(60)는 이러한 에러 발생 조합을 방지하고 이에 따라서 데이타 프로세서(30)는 소프트웨어 에러에 대해 보다 면역성(immune)이 있게되어 보다 신속하고 보다 에러 없는 소프트웨어 개발을 가능하게 한다. 프로그램 가능한 액세스형 회로(60)는 부호화된 ITYPE 필드를 사용함으로써 소프트웨어 에러가 규정되지 않은 메모리 액세스를 초래하는 것을 방지한다. 소프트웨어 개발중에, ITYPE 필드(62)는 하나 또는 그보다 많은 ITYPE 필드(62)가 부정확한 값을 갖도록 소프트웨어 에러에 따라서 부적절하게 부호화될 수 있다. 인터페이스 타잎 복호기(63)는 ITYPE 필드(62)로 부터의 부호화된 신호를 복호화함으로써 합법적인 상태(legal state) 또는 예비 상태 (reserved state)중 어느 하나를 취할 수 있는 복호화된 신호를 제공한다. ITYPE 필드(62)가 합법적인 상태를 부호화한 경우, 인터페이스 타잎 복호기(63)는 선택된 합법적인 인터페이스 타잎을 근거로 타이밍 정보를 제공하도록 액세스 제어기(64)에 출력을 제공한다. 그러나, ITYPE 필드(62)가 예비 상태를 부호화한 경우, 인터페이스 타잎 복호기(63)는 액세스 제어기(64)로의 출력을 활성화하지 않는다. 따라서, 액세스 제어기(64)는 책부 버스 사이클을 수행하지 않을 것이다.
제 5 도는 제 1 도의 칩선택 회로(32)에 의해 실행되는 제 1 메모리 액세스 타잎의 타이밍도를 도시한다. 제 5도에는 제 1메모리 액세스 타잎을 이해하는데 관련되는 CLOCK, ADDRESS,및 DATA를 포함하는 여러개의 신호들이 도시되어 있다. 이 메모리 액세스 타잎은 "초기 동기화 출력 인에이블과의 동기화 인터페이스" 타잎으로 공지되어 있다. 제 5 도의 제1 라인상에는 제 5 도에 도시된 다른 모든 신호가 동기화되는 신호 CLOCK 가 도시되어 있다. "t1", "t2", 및 "t3"으로 지정되고 신호 CLOCK 의 저 상태에서 고상태로의 연속적인 전이에 대응하는 3개의 시간 지점은 이 메모리 액세스형을 이해하는데 관련되어 있다.
제 5 도는 시간 t1에 앞서 모든 사전 액세스가 종료된 것으로 가정하였다는 점에 유의하라. 또한, 제 5 도에 도시된 신호 파형이 칩 선택 회로(32)가 액세스 사이클의 데이타 페이스(data phase) 및 어드레스를 인지하도록 외부 버스 인터페이스(33)에 신호를 제공하는 것으로 가정되었다는 점에 유의하라. 그러나, 외부인지 신호가 사용되는 경우 액세스의 데이타 페이스 및 어드레스의 기간은 이들 인지 신호가 수신될때에 좌우될 것이다. 예를 들어, "" 로 지정된 어드레스 확인 (acknowledge)으로 공지된 신호는 액세스 사이클의 어드레스 페이스(address phase)를 확인한다. 칩 선택 회로(32)는 CLOCK 의 저 상태에서-고 상태로의 전이에 앞서 신호의 활성화를 감지할 때까지 신호를 활성화 상태로 유지시킨다.로 지정되고 전달 승인으로서 공지된 신호는 액세스 사이클의 데이타 페이스 종료를 승인한다. 칩 선택 회로(32)는 CLOCK 의 저상태에서 고상태로의 전이시에 신호의 활성화를 인지할 때까지 신호(판독 사이클 동안) 또는(기록 사이클 동안)을 활성화 상태로 유지시킨다.
"A1"으로 표시된 제 1 메모리 액세스에 대응하는 어드레스는 시점 t1 에서 신호 CLOCK 의 저상태에서 고상태 로의 전이로 설정된다. 이 액세스가 판독 액세스임을 나타내기 위하여, 칩 선택 회로(32)는 신호를 비활성화 상태로 한다.
게다가, 칩 선택 회로(32)는 신호를 활성화시켜, 액세스된 메모리 장치가 어드레스 A1을 래치시키고 t1 에 앞선 설정 시간에서, 액세스 사이클을 시작하도록 한다. 다음에, 시점 t2 에서 신호 CLOCK의 저 상태에서 고상태로의 전이에 앞서, 칩 선택 회로(32)는 t2 에 앞선 설정 시간에서, 신호를 활성화시킨다. 신호를 활성화시키면 메모리 장치가 데이타를 출력하도록 시작한다. 신호 CLOCK 가 저상태에서 고상태로의 전이로 설정됨으로써, 신호는 동기화 되고 이 타잎의 액세스 사이클에 응답하는 메모리 장치는 신호 CLOCK 의 저상태에서 고상태로의 전이에서 신호를 인지한다. 메모리 장치가 신호의 활성화를 인지한 후에, 판독 액세스 사이클을 완료하기 위해 출력 데이타를 제공하도록 시작된다. 제 5 도에 도시된 바와 같이, 칩 선택 회로(32)에서 프로그램되는 것으로서 이 액세스 타잎에 응답하는 메모리 장치는 하나의 대기 상태를 갖는다. 따라서, 칩 선택 회로(32)는 t2에 앞선 설정 시간에서 신호를 활성화시켜, 이 메모리 장치로하여금 "D1"으로 표시된 액세스된 데이타 요소를 시점 t3 에서 신호 CLOCK 의 저상태에서 고상태로의 전이에 앞선 설정 시간에서 제공하도록 한다.
이 액세스 사이클 타잎의 장점은 상대적으로 늦은 메모리 코어를 갖는 메모리 장치가 순차적으로 그리고 효율적으로 액세스될 수 있다는 점이다. 신호가 t2로 설정되고 t2 에서 액세스된 메모리 장치에 의해 인지되기 때문에, 칩 선택 회로(32)는 제 1 액세스의 데이타 페이스 완료에 앞서 초기에 빨리 제 2 액세의 어드레스 페이스를 실행할 수 있다. 칩 선택 회로(32)는 신호를 다시 비활성화 상태로 유지시키고 t3 에 앞서 설정 시간에서 신호를 활성화하면서 적어도 t3에 앞서 설정시간에서 "A2"로 표시된 제 2 중접하는 어드레스를 제공한다.
제 6 도에서는 제 1 도의 칩 선택 회로(32)에 의해 실행되는 제 2 메모리 액세스형의 타이밍도를 나타내는 다른 인터페이스 타잎이 도시된다. 제 5 도와 같이 버스 사이클과 관련되며, CLOCK, ADDRESS,, 및 DATA 을 포함하는 신호가 도시된다. 게다가, 제 6 도에는 버스트 데이타 사이클(burst data cycle)이 진행중임을 나타내는신호가 도시된다. 제 6 도는 "동기화타잎으로 판독된 동기화 버스트'로서 공지된 메모리 액세스 타잎을 도시한 것이다. 제 6 도에서는 't4', 't5', 't6', 't7', 't8', 't9', 및 't10' 으로 표시된 신호 CLOCK의 저상태에서 고상태로의 부가적인 전이가 도시되어 있다.
이 액세스 타잎은 제 5 도에 도시된 액세스와 유사하지만, 제 5 도의 액세스와 달리 액세스된 메모리 장치가 시점 t6, t7, t8, 및 t9 에서 4 개의 순차적인 데이타 요소를 제공함으로써 버스트 액세스(burst access)를 수행한다. 이들 4 개의 데이타 요소는 각각 'D10, 'D11, 'D12, 및 'D13'으로 표시된다. 칩 선택 회로(32)에서 프로그램된 바와 같은 이 액세스 타잎에 응답하는 메모리 장치는 하나기 대기상태를 갖는다. 따라서, 시간 t5 에서 신호 OE 의 활성화를 인지한 후에, 메모리 장치는 시점 t6 에서 신호 CLOCK 의 저상태에서 고상태로의 전이에 앞선 설정 시간에서 액세스된 데이타 요소 D10을 제공한다. 버스트 부분으로서 다음의 데이타 요소들은 신호의 활성화에 응답하여 신호 CLOCK 의 다음의 저상태에서 고상태로의 전이상에 제공된다. 이 액세스 사이클 타잎의 장점은 상대적으로 느린 메모리 코어를 갖는 데모리 장치가 순차적으로 그리고 효율적으로 액세스될 수 있다는 점이다.
제 7 도에서는 제 1 도의 칩 선택 회로(32)에 의해 실행되는 제 2 메모리 액세스형의 타이밍도를 나타내는 또 다른 인터페이스 타잎이 도시된다. 제 5 도와 같이 버스 사이클과 관련되어 CLOCK, ADDRESS,, 및DATA를 포함하는 신호가 도시된다. 제 7 도는 "동기화및 초기 중첩과의 동기화 인터페이스" 타잎으로서 공지된 메모리 액세스 타잎을 도시한 것이다. 제 7 도에서는 "t11", "t12", "t13", 및 "t14"로 표시된 신호 CLOCK 의 저상태에서 고상태로의 부가적인 전이가 도시되어 있다.
t11 근처에서, A1 이라 또한 표시된 제 1 버스 사이클의 어드레스는 t11 에서 일어나는 신호 CLOCK 의 저상태에서 고상태로의 전이로 설정된다. 게다가, 신호는 비활성화 상태이고("CE1"으로 지정됨)는 활성화 상태가 되어 시간 어드레스 A1 에서 판독 사이클이 유효함을 나타낸다. 다음에, 이제 1 액세에 대응하는 데이타 페이스는 t12 에 앞선 설정 시간에 활성화 신호("OE1"로 지정됨)를 칩 선택 회로(32)에 의해 발생시킨다. 다음에, 제 5 도에서 상술한 바와 같이 액세스된 메모리 장치는 t13 에 앞선 설정 시간에 데이타 요소 D1 을 제공한다.
그러나, 이 인터페이스 타잎에 따라, 칩 선택 회로(32)는 적어도 제 1 액세스의 데이타 페이스 부분 동안에 어드레스 페이스를 수행함으로써 제 2 액세스를 시작한다. 칩 선택 회로(32)는 시점 t12 에서 신호 CLOCK 의 저상태에서 고상태로의 전이에 앞선 설정 시간에 A2라 표시된 제 2 어드레스를 제공함으로써 이 인터페이스를 실행한다. 상기와 같이, 칩 선택 회로(32)는 판독 사이클을 나타내도록 신호를 비활성화 상태로 유지시키고 액세스된 메모리 장치에 어드레스 A2 가 유효함을 나타내도록 신호("CE2"로 지정됨)을 활성화시킨다. 제 1 액세스의 데이타 페이스가 t13에 앞선 설정 시간에서 데이타 요소 D1을 제공하는 액세스된 메모리 장치에 의해 완료된 후, 제2 액세스의 데이타 페이스는 t13에 앞선 설정 시간에 칩 선택 회로(32)에 의해 활성화 신호("OE2"로 지정됨)를 발생시킬 수 있다. 다음에, 액세스된 메모리 장치는 t14 에 앞선 설정 시간에 "D2"로 표시된 데이타 요소를 제공한다. 제 1 액세스의 데이타 페이스 종료에 앞서 제 2 액세스의 어드레스 페이스를 시작함으로써, 칩 선택 회로(32)는 버스 이용을 개선하는 중첩 액세스를 허용하고 더 많은 메모리 액세스가 주어진 시간에 발생할 수 있도록 한다.
칩 선택 회로(32)는 또한 제 1 도의 칩 선택 회로(32)의 모듈러 칩 선택 제어 회로(80)의 블럭 형태를 도시하는 제 8 도에 도시된 바와같은 다른 장치를 위해 재구성을 허용하는 모듈이다. 모듈러 칩 선택 제어 회로(80)는 "DECODE BUS" (81)로 표시되는 제 1 버스 및 "TIMING BUS" (82)로 표시되는 제 2 버스를 포함하여 신호의 상호연결을 위한 2 개의 버스를 일반적으로 포함한다. 모듈러 칩 선택 제어회로(80)는 또한 어드레스 복호화 스테이지(90), 타이밍 제어 스테이지(100), 및 핀 형태 스테이지(110)를 포함한다. 모듈러 칩 선택 제어 회로(80)는 모듈러이며 제 1 임의 수의 어드레스 복호기 및 어드레스 복호화 단(90), 타이밍 제어 스테이지 (100)에서 제 2 임의 수의 제어 유닛, 및 제 3 임의 수의 핀 형태 논리 회로 및 핀 형태 스테이지(110)를 포함함으로써 재구성될 수 있다.
제 8도에 도시된 바와 같이 어드레스 복호화 스테이지는 대표적인 어드레스 복호기(91), (94), 및 (97)을 포함한다. 어드레스 복호기(91)는 베이스 어드레스 레지스터(92)와 선택 레지스터(93)를 포함한다. 베이스 어드레스 레지스터(92)는 어드레스 복호기(91)와 관련된 프로그램 가능한 영역에 대한 베이스 어드레스를 정의한다. 선택 레지스터(93)는 어드레스 복호기(91)와 관련된 영역의 크기와, 이 영역의 속성에 관련된 다른 프로그램 가능한 필드를 포함한다. 어드레스 복호기(91)는 내부 버스(34)에 의해 제 1 도의 CPU 코어(31)로부터의 어드레스를 수신하고 이 어드레스가 선택 레지스터(93)의 크기 필드에서 베이스 어드레스 레지스터(92)에의해 정의된 영역내에 있는지를 알기 위한 비교를 실행한다. 어드레스 정합에 응답하여 어드레스 복호기(91)는 DECODE BUS(81)에 제어 신호를 제공한다. 마찬가지로, 어드레스 복호기(94) 및 (97)은 또한 어드레스가 대응하는 프로그램가능한 영역내에 있는지 여부를 검출하여 그에따라 DECODE BUS(81)에 제어 신호를 제공한다. 어드레스 복호화 스테이지(90)에서의 어드레스 복호기 수는 다른 시스템 필요를 수용하도록 임의로 결정되고 칩 크기 및 유연성간에서 절충된다. 예를 들어, 어떤 장치에서, 보다 융통성있는 소프트웨어 또는 시스템 구조를 수용할 수 있는 프로그램 가능한 영역의 수를 증가시키는 것이 유용하다. 다른 장치 에서, 어드레스 복호기의 수가 집적 회로 비용을 최소화하도록 감소될 수 있다.
타이밍 제어 스테이지(100)는 제 2 임의 수의 제어 유닛을 포함한다. 타이밍 제어 스테이지(100)에서, 2 개의 제어 유닛(101 및 102)이 도시되어 있다. 타이밍 제어 스테이지(100)는 칩 선택 신호를 외부 버스(21)에 제공하는 액세스 상태 기계로서 기능하고, 제어 유닛(101 및 102) 각각은 처리중인 버스 사이클이 하나 이상의 프로그램 가능한 영역의 속성과 정합하는가 여부를 나타내는 복호화된 신호를 수신하도록 DECODE BUS(81)에 연결된 입력을 갖는다. 이에 따라서, 타이밍 제어 스테이지(100)내에서 선택된 하나의 제어 유닛은 소정의 프로그램된 인터페이스 타잎에 대해 적절한 타이밍을 나타내도록 TIMING BUS(82)에 순차적인 타이밍 정보를 제공한다. 타이밍 제어 스테이지(100)를 위하여 선택된 제어 유닛의 수는 진행중인 현재의 중첩 메모리 액세스의 수를 결정한다. 현재의 메모리 액세스 수는 파이프라인 깊이(pipeline depth)로서 또한 공지되어 있다.
예를 들어, 어드레스 복호화 스테이지(90)에서 어드레스 복호기(91) 대응하는 프로그램 가능한 영역으로의 액세스를 인지하고 이에 응답하여, DECODE BUS(81)에 제어 신호를 제공한다. 타이밍 제어 스테이지(100)에서, 제어 유닛(101)과 같은 제어 유닛은 이 버스 사이클과 관련되어 이 액세스가 계류중인 동안 이 액세스를 위하여 TIMING BUS(82)에 타이밍 신호를 제공한다. 제 1 액세스 동안 제 2 액세스가 발생되고 어드레스 복호화 스테이지(90)의 어드레스 복호기는 선택 레지스터에서 프로그램된 것과 정합되는 속성을 갖는 대응하는 프로그램 가능한 영역으로의 액세스를 인지하고 DECODE BUS(81)에 제어 신호를 제공한다. 이때, 제어 유닛(102)과 같은 제 2 제어 유닛은 인터페이스 타잎에 의해 결정된 바와같이 이 액세스를 위하여 하나 이상의 칩 선택 제어 신호를 중첩하도록 TIMING BUS(82)에 타이밍 신호 제공을 시작한다.
핀 형태 스테이지(110)는 제 3 임의 수의 핀 형태 논리 회로를 포함한다. 각각의 핀 형태 논리 회로는 집적 회로 핀에 대응하여 전용된다. 그러나, 이 집적 회로 핀은 칩 선택 신호 및 다른 신호간에 공유될 수 있고 자신의 기능을 프로그램 가능하게 설정한다.
이 제 3 임의의 수는 융통성 및 시스템 비용간에서 보다 양호하게 절충하도록 하기 위하여 장치간에서 변할 수 있다. 예를들어, 비용이 가장 중요한 요소가 아닌 장치에서, 더 많은 융통성과 더 많은 수의 메모리 장치에 대해 칩 선택 신호를 제공하는 능력을 제공하도록 더 많은 수의 핀 형태 논리 회로가 포함될 수 있다. 비용이 보다 고려되는 다른 장치에서는 보다 적은 수의 핀 형태 논리 회로가사용될 수 있다.
핀 형태 스테이지(110)에서, 대표적인 핀 형태 논리 회로(111, 112 및 113)는 "PIN0", "PIN1", 및 "PIN2" 각각으로 표시되는 출력 신호를 제공한다. 각 핀 형태 논리 회로는 제어 신호를 수신하기 위해 ENCODE BUS(81)에 연결된 하나의 입력과, 타이밍 정보를 수신하기 위해 TIMING BUS(82)에 연결된 제 2 입력을 갖는다. 각 핀 형태 논리 회로는 모든 가능한 타이밍 정보를 수신함으로, 각각의 핀 형태 논리 회로는 임의의 한 그룹의 칩 선택 기능으로 구성될 수 있다. 예를 들어, 핀 형태 논리 회로(111)는 핀 형태 논리 회로(111)가 프로그램되는 방법에 따라신호중 한 신호로 구성될 수 있다. 따라서, 어드레스 복호화 스테이지(90)에서 제 1 임의 수의 어드레스 복호기, 타이밍 제어 스테이지(100)에서 제 2 임의 수의 제어 유닛 및 핀 형태 스테이지(110)에서 제 3 임의 수의 핀 형태 논리 회로를 포함함으로써, 모듈러 칩 선택 제어 회로(80)는 임의수의 메모리 영역, 임의의 액세스 파이프라인 깊이, 및 임의 수의 칩 선택 신호를 규정하는 최대의 융통성을 제공한다. 이들 임의의 수는 이용가능한 절충을 최대화하기 위하여 실시예간에서 변할 수 있다.
제 9 도는 제 1 도의 칩 선택 회로(32)에서 핀 형태 논리 회로(120)를 구성하는 부분적인 블록도 및 부분적인 논리도를 도시한다. 핀 형태 논리 회로(120)는 일반적으로 핀 기능 레지스터(130), 복종 논리 부분(obey logic portion)(140), 및 핀 기능 출력 부분(150)을 포함한다. 핀 기능 레지스터(130)는중하나와 같은 선택적인 핀 기능을 규정하기 위한 비트를 저장하고 선택된 기능을 표시하는 복호화된 출력 신호를 제공한다. 복종 논리 부분(140)은 복종 회로(141 및 145)로 도시된 바와같은 임의 수의 복종 회로를 포함한다. 복종 회로(141) 일반적으로 복종 논리 회로(142), OR 게이트(143), 및 D 타잎 플립플롭(144)을 포함한다. 복종 회로(141)는 "C1"이라 표시되는 제 1 사이클과 관계된다. 복종 회로(141)는 "C1BEGIN"으로 표시되는 신호를 수신하기 위한 제 1 명령, "C1REGION SELECT"로 표시되는 신호를 수신하기 위한 제 2 입력, 핀 기능 레지스터(130)에 연결된 제 3 입력 및 출력을 갖는다. OR 게이트(143)는 "C1END"로 표시된 신호를 수신하기 위한 제 1 입력과, "RESET"으로 표시된 신호를 수신하기 위한 제 2 입력, 및 출력을 갖는다. D 타잎 플립플롭(144)은 복종 논리 회로(142)의 출력에 접속된 "D"로 표시된 데이타 입력, OR 게이트(143)의 출력에 접속된 "CLEAR"로 표시된 클리어 입력, 및 "OBEY1"로 표시된 출력 신호를 제공하기 위한 "Q"로 표시된 출력 터미널을 갖는다.
유사하게, 복종 회로(145)는 "CN"으로 표시된 N 번째 사이클과 관계되고 일반적으로 복종 논리 회로(146), OR 게이트(147), 및 D 형 플립플롭(148)을 포함한다. 복종 논리 회로(146)는 "CNBEGIN"으로 표시된 신호를 수신하기 위한 제 1 입력, "CNREGION SELECT"로 표시된 신호를 수신하기 위한 제 2 입력, 핀 기능 레지스터(130)의 출력에 연결된 제 3 입력, 및 출력을 갖는다. OR 게이트(147)는 "CNEND"로 표시된 신호를 수신하기 위한 제 1 입력, 신호 "RESET"를 수신하기 위한 제 2입력, 및 출력을 갖는다. D 타잎 플립 플롭(148)은 복종 논리 회로(146)의 출력에 연결된 D 입력과, OR 게이트(147)의 출력에 연결된 CLEAR 입력 및 "OBEYN"으로 표시된 신호를 제공하기 위한 출력 Q 을 갖는다.
복종 회로(141 및 145)는 핀 형태 논리 회로(120)와 관련된 핀이 어느 사이클에서 복종하는지를 결정한다. 제 1 사이클 동안, 제 8 도의 타이밍 제어 스테이지(100)에서의 제어 유닛은 대응하는 사이클 시작 신호를 활성화한다. 예를들어, 제어 유닛(101)이 신호 BEGIN을 활성화시킨다고 가정하자. 게다가, 어드레스 복호기 및 어드레스 복호화 스테이지(90)는 REGION SELECT 를 활성화하는 것으로 가정한다. 핀 기능 레지스터(130)의 출력이 REGION SELECT 와 정합하는 경우, 복종 논리 회로(142)는 신호 C1 BEGIN 의 활성화에 응답하여 출력을 활성화시킨다. 그리고나서, 이 신호는 D 형 플립 플롭(144)에 D- 입력과 같은 입력으로서 제공되며, 그리고나서, 이 플립 플롭은 CLOCK 신호(제 9 도에는 도시되지 않음)의 다음 발생시에 자신의 Q 출력에서 신호 OBEY1을 활성화시킨다. 그리고나서, 신호 OBEY1은 선택된 제어 유닛이 교대로 D-형 플립 플롭(144)을 클리어하는 신호 C1END 을 활성화할 때까지, 또는 신호 RESET 의 활성화가 핀 형태 논리 회로(120)를 재설정 할 때 활성화 상태를 유지시킨다. 복종 논리 부분(140)에서 복종 회로 각각은 대응하는 사이클 시작 및 종료 신호들 및 대응하는 영역 선택 신호의 활성화에 유사하게 응답한다.
핀 기능 출력 부분(150)은 일반적으로 각각의 가능한 전 기능에 대응하는 임의 수의 기능 논리 블럭을 포함한다. "FUNCTION 1 LOGIC"으로 표시된 제 1 기능 논리 블록(151) 및 "FUNCTION M LOGIC"으로 표시된 제 2 기능 논리 블럭(152)이 제 9 도에 도시된다. 각 기능 논리 블럭은 신호 OBEY1 및 OBEYN 과 같은 각각의 복종 신호를 수신하는 입력, "CiFjTIMING" (이것은 각 사이클 및 각 기능에 대한 타이밍신호를 표시함)으로 표시된 타이밍 신호와 그에 대응하는 "CiFjSELECT"로 표시된 선택 신호를 수신하는 입력, 및 핀 기능 레지스터(130)의 대응하는 출력에 연결된 또다른 입력을 갖는다. 이 경우, 첨자 i 는 1 에서 N 으로, j 는 1 에서 M 으로 변하는데, 여기서 N 과 M 은 임의의 수이다. 예를 들어, FUNCTION 1 LOGIC 블럭(151)은 핀 기능 레지스터(130)의 출력을 수신하는데, 이것은 PINO 가 F1의 기능을 갖는 것을 의미한다. 유사하게, FUNCTION M LOGIC 블럭(152)은 핀 기능 레지스터(130)로 부터 입력을 수신하며, 이것은 PINO 의 기능이 기능 임을 표시한다. 핀 기능 레지스터(130)의 출력이 핀이 대응하는 기능에 응답하는 것임을 나타내는 경우, 각 기능 논리 회로는 활성화 사이클과 관련된 타이밍 신호에 응답한다. 예를 들어, 핀 기능 레지스터(130)가 기능을 갖도록 PINO를 선택하면, FUNCTION 1 LOGIC 블럭 (151)은 활성화된다. 제 1 사이클 동안, 신호 OBIY1 는 활성화되고 나서 FUNCTION 1 LOGIC 블럭(151)은 적절한 타이밍 신호에 대응하는 출력을 제공한다. 이것의 적절한 타이밍 신호는 CiFjTIMING 이다. 이 경우, 모든 다른 기능 논리 블럭은 OR 게이트(153)의 출력이 적절한 타이밍 신호를 사용하여 활성 기능 논리 블럭에만 응답하는 신호 PINO 을 제공하도록 논리 저 상태에서 출력을 비활성화 상태로 유지시킨다. 따라서, PINO 에 제공되는 칩 선택 신호만이 활성 타이밍 사이클에 복종하여, 임의의 파이프라인 깊이를 허용하도록 한다. 활성화되지 않았지만 파이프라인에 존재하는 사이클과 관련된 다른 타이밍 신호는 활성 사이클이 종료될 때까지 PINO 에 복종되지 않는다.
제 10 도는 제 8 도의 모듈러 칩 선택 제어 회로(80)의 타이밍 제어 스테이지(100)의 부분(160)을 형성하는 블럭도를 도시한 것이다. 부분(160)은 일반적으로 제 1 제어 유닛(170), 제 2 제어 유닛(180), 및 초기 파이프라인 제어 회로(186)를 포함한다. 제어 유닛(170)은 일반적으로 어드레스 인에이블 래치(address enable latch)(171), 선택 래치(option latch)(172), 및 타이밍 상태 기계(173)를 포함한다. 어드레스 인에이블 래치(171)는 "ADDRESS ENABLE BUS"로 표시된 내부 버스(34)의 어드레스 인에이블 부분과 연결된 입력을 갖는다. CPU 코어(31) 액세스의 어드레스 페이스가 진행중이라는 것을 표시하기 위하여 ADDRESS ENABLE BUS상에서 수행되는 어드레스 인에이블 신호를 제공한다. 이에 응답하여, 부분(160)은 상기 어드레스 인에이블 신호를 메모리 장치를 직접적으로 구동시키기 위하여 적절한 칩 선택 신호로 변환시켜야만 한다. 어드레스 인에이블 래치(171) 타이밍 상태 기계 (173)의 입력 및 초기 파이프라인 제어 회로(186)의 입력에 제공되는 출력을 갖는다. 선택 래치(172)는 "OPTION BUS"로 표시되고 내부 버스(34)의 선택버스 부분에 연결된 입력과, 타이밍 상태 기계(173) 및 초기 파이프라인 제어 회로(185)의 입력에 제공되는 출력을 갖는다. 타이밍 상태 기계(173)는 어드레스 인에이블 래치 (171), 선택 래치(172), 및 초기 파이프라인 제어 회로(186)의 제1 출력에 연결된입력과, "/X/ TO(CE1TIMING)", ""및 ""으로 표시된 3 개의 타이밍 신호를 제공하는 출력을 갖는다.
마찬가지로, 제어 유닛(180)은 어드레스 인에이블 래치(181), 선택 래치 (182), 및 타이밍 상태 기계(183)를 포함한다. 제어 유닛(180)은 일반적으로 어드레스 인에이블 래치(181), 선택 래치(182), 및 타이밍 상태 기계(183)를 포함한다. 어드레스 인에이블 래치(181)는 어드레스 인에이블 신호를 수신하기 위한 ADDRESS ENABLE BUS 에 연결된 입력을 갖는다. 어드레스 인에이블 래치(181)는 타이밍 상태 기계(183)의 입력 및 초기 파이프라인 제어 회로(186)의 입력에 제공되는 출력을 갖는다. 선택 래치(182)는 내부 버스(34)의 선택 버스 부분에 연결된 입력과, 타이밍 상태 기계(183)의 입력 및 초기 파이프라인 제어 회로(186)의 입력에 제공되는 출력을 갖는다. 타이밍 상태 기계(173)는 어드레스 인에이블 래치(171) 및 선택 래치(172)의 출력 및 초기 파이프라인 제어 회로(186)의 제 1 출력에 연결된 입력과,, 및으로 표시된 3 개의 타이밍 신호를 제공하는 출력을 갖는다.
초기 파이프라인 회로(186)는 어드레스 인에이블 신호를 수신하기 위해 어드레스 인에이블 버스에 연결된 제 1 입력과, 선택 버스에 연결된 제 2 입력, 및 어드레스 인에이블 래치(171 및 181), 선택 래치(172 및 182)의 출력에 연결된 입력을 갖는다. 초기 파이프라인 제어 회로(186)는 출력을 타이밍 상태 기계(173 및 183)에 제공하여 2 개의 사이클이 중첩될때 어느 사이클이 활성화되는지를 결정하여, 부적절한 칩 선택 신호 타이밍을 피하도록 한다.
타이밍 제어 스테이지(100)는 제어 유닛(170 및 180)의 타이밍을 조정함으로써 액세스의 효율적인 파이프라인을 허용한다. 2 개의 파이프라인 검출 및 제어 매카니즘이 존재한다. 첫번째, 초기 파이프라인 제어 회로(186)는 불법의 타이밍 시퀀스를 방지하기 위하여 2 개의 타이밍 상태 기계(173 및 183)에 부가적인 제어 신호를 제공함으로써 제 5 도 또는 제 7 도에 도시된 타잎을 갖는 액세스와 같은 중첩 액세스를 조정한다. 특히, 초기 파이프라인 제어 회로(186)는 중첩 액세스가 동일한 영역인가 또는 다른 영역인지 여부를 검출하고 중첩 액세스 사이클이 판독 또는 기록 사이클인지 여부를 검출하여 이에 응답하여 적절한 제어 신호를 제공한다. 둘째로, 제어 유닛(170 및 180)은 2 개의 액세스된 영역의 속성을 검사함으로써 적절한 칩 선택 신호 타이밍을 제공한다. 한 특징은 OPTION BUS 로부터 ITYPE 필드에 의해 결정된 바와같은 인터페이스 타잎이다. 다른 특징은 사이클이 외부 확인 신호에 의해 종료되는가, 또는 내부에서 소정수의 대기 상태후에 어느 것이 OPTION BUS 로부터 대응하는 필드로 표시되는지에 관한 것이다.
특정 실시예의 설명
제 2 도 내지 제 10 도에 도시된 회로는 제 11 도 내지 제 19 도에 도시된 바와같은 특정한 실시예를 참조하여 보다 상세하게 알수 있을 것이다. 본원에서 사용된 바와같은, "활성화" 또는 "비활성화"는 논리적으로 참상태(true state)인 신호에 관한 것이다. "고 활성화" 신호는 논리 고전압에서 활성화 또는 참이되는 신호이다. "저 활성화" 신호는 논리 저 전압에서 활성화 또는 참이 되는 신호이며,저 활성화 신호는 그 위에 바(overbar)로 표시된다. 기호"$"는 다음 번호가 기본적으로 16 진수 표시임을 나타낸다.
여러 용어들은 다양한 방식으로 참조될 수 있다는 점을 유의하라. 예를 들어, 용어 "영역" 및 "블럭"은 상호 교환가능하게 사용된다. 또한, 특정하게 언급되지 않으면, 용어 "메모리"는 메모리 맵된 주변 장치 뿐만 아니라 휘발성 및 비휘발성 메모리 저장 장치 둘다를 포함한다.신호는 집합적으로 "칩 선택" 또는 "CS" 신호를 표시한다. 또한 유사한 용어가 도면들간에서 유사하게 또는 유사한 참조 번호로 지정된다.
표 1는 제 1도의 요소를 참조하여 후술되는 특정한 실시예를 이해하는데 유용한 부가적인 용어들을 규정한 것이다.
제 11 도는 제 1 도의 칩 선택 회로(32)의 특정한 실시예의 기능 블럭도이다. 칩 선택 회로(32)는 일반적으로 3 개의 신호 인터페이스를 갖는다. 먼저, 칩 선택 회로(32)는 데이타 프로세서(30)에 공통되는 "RESET"으로 표시된 재설정 신호, 내부 동작 클럭 신호 및 외부 버스 클럭 신호 CLOCK를 모두 포함하는 "CLOCKS"으로 표시되는 신호 세트 및 "INITIAL VALUES"로 표시되는 신호 세트를 수신한다. 재설정(신호 RESET의 활성화)시에, 데이타 프로세서(30)는 INITIAL VALUES 을 얻기 위하여 외부 데이타 버스 핀을 샘플링하고, 칩 선택 회로(32)는 일부 레지스터의 값을 설정하도록 INTIAL VALUES 을 사용한다. 재설정시에, 다른 레지스터는 후술될 오류값(default value)을 추정한다.
둘째로, 칩 선택 회로(32)는 외부 버스 인터페이스(33)로의 인터페이스를 갖는다. CPU 코어(31)는 대응하는 메모리 맵 위치에 판독 및 기록 사이클을 실행함으로써 칩 선택 회로(32) 내부의 레지스터에 액세스한다. 이와같은 액세스 검출시에, 외부 버스 인터페이스(33)는 "SUB-BUS ADDRESS"로 표시되는 어드레스 버스 입력 및 "SUB-BUS DATA"로 표시되는 양방향 데이타 경로를 포함하는 특정한 목적을 위한 버스를 통해 칩 선택 회로(32)로의 액세스를 제어한다. 칩 선택 회로(32)의 레지스터에 액세스하기 위한 다른 제어 신호는 "HANDSHAKES"로 표시되는 신호 세트를 통해 외부 버스 인터페이스(33)로 또는 외부 버스 인터페이스(33)로부터 전달된다. 메모리 맵화된 주변기기의 레지스터에 액세스하기 위한 제어 신호의 발생은 널리 공지되어 있어 더이상 기술하지 않는다. 그러나, 외부 버스 전달과 관계된 다양한 HANDSHAKES 는 외부 버스 인터페이스(33) 및 칩 선택 회로(32)간에서 행해진다. 이들 전달 HANDSHAKES가 이하의 표 2 에 서술된다.
이들 신호들중 관련된 신호는 이하의 설명에서 보다 상세하게 서술될 것이다.
칩 선택 회로(32)는 또한 "ADDRESS"로 표시된 외부 버스 인터페이스(33)가 외부 버스(21)에 제공하는 32 비트의 어드레스를 수신하는 입력과, "ATTRIBUTES"로 표시되고 진행중인 액세스의 속성을 나타내는 신호를 수신하는 또다른 입력을 갖는다. 표 3 은 칩 선택 회로(32)에 의해 사용되는 특정 ATTRIBUTES의 목록이다:
세째로, 칩 선택 회로(32)는 "CSBOOT" 및 "CS(0)-CS(11)"로 표시된 13 개의 칩 선택 신호를 포함하는 외부 장치로의 인터페이스를 포함한다. 이들 신호는 도 13과 관계하여 보다 상세하게 설명될 것이다.
제 11 도에 도시된 바와 같이, 칩 선택 회로(32)는 일반적으로 2 개의 부분, 레지스터 액세스 회로(190) 및 칩 선택 발생 유닛(200)을 포함한다. 레지스터 액세스 회로(190)는 레지스터 액세스 제어기(192) 및 레지스터 어드레스 복호기(194)를 포함한다. 레지스터 액세스 제어기(192)는 액세스를 위한 제어 신호를 칩 선택 회로(32)의 레지스터에 제공하는 상태 기계이다. 레지스터 어드레스 복호기(194)는 칩 선택 회로(32)의 어느 레지스터가 액세스되는지를 검출한다. 레지스터 액세스회로(190)는 칩 선택 레지스터(195)로의 액세스를 위해 칩 선택 발생 유닛(200)에 접속된다.
칩 선택 레지스터(195)는 칩 선택 레지스터(195)의 어드레스 맵의 블록도를 도시하는 제 12a 도 및 제 12b 도에 도시된 바와같은 메모리 맵화된 레지스터이다. 메모리내의 이들 레지스터들의 위치가 조정되는 동안, 이들은 장차 확장을 고려하는 방식으로 적절하게 실행된다. 예를 들어, 칩 선택 회로(32)는 6 개의 영역 더하기 전용의 서브 영역을 지원하고 전체 13 개의 칩 선택 신호를 갖는다. 특정한 영역에 대응하는 각각의 칩 선택 신호는 베이스 어드레스 레지스터 및 선택 레지스터 둘다를 갖고, 다른 7 개의 칩 선택 신호 각각은 선택 레지스터만을 갖는다. 그러나, 메모리 맵에 이들 6 개의 선택 레지스터에 인접한 위치는 지정되어, 베이스 어드레스 레지스터를 부가함으로써 파생된 집적 회로가 부가적인 기능을 지원 하도록 한다. 칩 선택 회로(32)에서 레지스터의 기능은 이하의 제 13 도를 참조하여 상세하게 서술된다.
제 13 도는 제 11 도의 칩 선택 발생 유닛(200)을 도시하는 블록도 이다. 칩 선택 발생 유닛(200)은 일반적으로 신호의 상호접속을 위한 2 개의 버스, 즉 DECODE BUS(201) 및 TIMING BUS(202)를 포함한다. 칩 선택 발생 유닛(200)은 또한 어드레스 복호화 스테이지(210), 타이밍 제어 스테이지(230), 및 핀 형태 스테이지 (240)를 포함한다. 칩 선택 발생 유닛(200)은 고 성능 마이크로제어기에 적합한 칩 선택 회로를 실행하기 위해 모듈러티 및 재구성 능력을 사용하는 제 8 도의 모듈러 칩 선택 제어 회로(80)의 단 한가지의 가능한 실시예이다. 칩 선택 발생 유닛(200)은 하나의 전용 서브 영역에 더하여, 6개의 어드레스 복호기를 사용하는 6개의 영역을 규정하고 6개 영역으로의 액세스에 사용되는 칩 선택 신호를 규정하도록 7 개의 부가적인 선택 레지스터를 갖는다. 칩 선택 발생 유닛(200)은 또한 2개 깊이의 파이프라인(two-deep pipeline)을 실행하기 위하여 2 개의 제어 유닛을 포함하고, 13 개의 프로그램가능한 칩 선택 핀을 갖는다. 6개의 영역들중 하나의 영역은 특정한 부트(boot) 영역이며, 이것은 부트 루틴을 저장하는 비휘발성 메모리 장치로의 액세스를 설정하도록 재설정시에 활성화된다. 그리고나서, 부트 루틴의 부분은 나머지 영역을 프로그램할 수 있다.
칩 선택 발생 유닛(200)은 2 및 3 레벨 영역 네스팅(nesting)을 제공하도록 영역을 쌍을 이루게함으로써 다수 레벨 보호 매카니즘을 실행한다. 이 특징을 실행하도록, 칩 선택 발생 유닛(200)은 영역 1과 쌍을 이룬 주영역으로서 쌍을 이룬 부트 영역(또한, CSBOOT 영역 이나 영역 0 으로서 공지됨)을 정의한다. 영역 0과 쌍을 이룸으로써, 영역 1은 영역 0 내에서 보다 높은 우선 순위로 서브 블럭이 될 수 있다. 영역 2 및 4는 또한 보다 높은 우선 순위로 이들 블록내에서 서브 블록이 될 수 있는 영역 3 및 5와 쌍을 이룬 주 블록이다.
게다가, 칩 선택 발생 유닛(200)은 영역 0 과 쌍을 이룬 전용의 서브 블럭('BOOT SUB-BLOCK')을 정의하기 위한 부가적인 복호기를 갖는다. 이 전용의 서브 블럭 복호기는 3 레벨 네스팅(nesting)까지 허용한다. 3 레벨 네스팅을 실행 하기 위한 우선순위 방식은 다음과 같다. 영역 1은 영역 0 보다 더 높은 우선순위에 있는 BOOT SUB-BLOCK 보다 높은 우선 순위에 있다.
칩 선택 발생 유닛(200)내의 각 영역은 대응하는 선택 레지스터에서 부호화 된 필드에 정의되는 관련 메모리 액세스 인터페이스 타잎("ITYPE")을 갖는다. 칩 선택 발생 유닛(200)은 8 개의 다른 인터페이스 타잎을 지원한다. 액세스된 영역의 선택 레지스터에서 ITYPE 필드가 이들 8 개의 합법적인 액세스 타잎중 한 타잎을 부호화한 경우, 타이밍 제어 스테이지(230)는 액세스 타잎에 의해 규정을 관련 타이밍 신호 세트를 제공한다. 그러나, ITYPE 필드는 또한 예비 상태에서 부호화 될 수도 있다. ITYPE 필드가 예를 들어 소프트웨어 에러에 따라서 예비 상태에 있는 경우, 관련 영역의 복호화 논리 블럭은 액세스가 발생되는 것을 방지한다. 따라서, 칩 선택 발생 유닛(200)은 이들 에러가 잘못된 메모리 액세스를 일으키는 것을 방지한다.
한가지 인터페이스 타잎은 영역으로의 동기화 판독 액세스를 허용하여 초기 동기화신호를 제공한다. 이 액세스 타잎은 "초기 동기화 출력 인에이블을 갖는 동기화 인터페이스"로서 공지되어 있다. 이 액세스 타잎은 적어도 하나기 대기 상태를 필요로하는 동기화 메모리 또는 메모리 맵화된 주변 장치에 대해 적합하게 된다. 이 액세스 타잎을 사용한 액세스 동안에, 타이밍 제어 스타이지(230)내의 제어 유닛은 한 클럭 주기동안신호를 활성화하고 외부 버스 인터페이스(33)는 다음 클럭 주기동안 데이타를 래치한다. 이 액세스 타잎은 칩 선택 발생 유닛(200)이 적어도 하나의 대기 상태를 갖는 메모리 장치로의 액세스를 위한 제 1 사이클의 데이타 페이스 완료에 앞서 제 2 사이클의 어드레스 페이스 실행하도록 한다. 버스트 가능한 장치로 액세스될 때, 타이밍 제어 스테이지(230)는 "동기화 출력 인에이블로 판독되는 동기화 버스트"로 공지된 유사한 액세스 타잎을 지원한다.
또다른 인터페이스 타잎은 영역으로의 액세스의 초기 중첩 속성을 제공한다. 이 액세스 타잎은 "동기화 출력 인에이블 및 초기 중첩과의 동기화 인터페이스" 타잎으로 공지된다. 이 인터페이스 타잎을 위하여, 타이밍 제어 스테이지(230)는 제 2 액세스를 위한신호를 제공하는 클럭 사이클 동안 다음의 액세스의 어드레스 페이스를 실행함으로써 다음 액세스 초기 한 클럭 사이클을 시작한다.
타이밍 제어 스테이지(230)는 또한 파이프라인 룰(rule) 세트를 실행함으로써 2 개 깊이의 파이프라인 깊이(two-deep pipeline depth)를 지원한다. 이들 룰은 데이타의 무결성 및 적절한 사이클 종료를 확실 하게 한다. 이 룰은 액세스가 판독 액세스 또는 기록 액세스인지 여부에 대한 이와같은 팩터들을 검사함으로써 제1 액세스의 존재동안 제2 액세스가 시작되는지를 검사한다. 칩 선택 발생 유닛(200)에 의해 정의된 영역으로의 액세스 인가 여부, 동기화 또는 비동기화 인터페이스 타잎을 갖는 영역으로의 액세스인가 여부, 및 액세스된 장치가 버스트 가능한가 여부와 같은 요소를 조사함으로서 제 1 액세스 진행동안 제 2 액세스가 시작될 수 있는가, 데이타를 연기할 수 있는가, 및 자체 전달 화인 신호를 제공하는가 여부를 결정 한다.
핀 형태 스테이지(240)는 타이밍 제어 스테이지(230)에 2 개의 제어 유닛을 유지하여 2 개의 파이프라인 깊이가 가능하게 한다. 핀 형태 스테이지(240)내의 13개의 핀 형태 논리 회로 각각은 제 1 또는 제 2 사이클이 관련 핀을 소유하는가 여부를 나타낸다. 각 핀 형태 논리 회로는 핀 기능 레지스터에서 프로그램된 영역으로의 액세스와 같이 사이클의 속성이 일치되는 경우 제 1 사이클 동안 칩 선택 회로를 제공하도록 선택된 핀 기능과 관련된 타이밍을 이용한다. 제 2 사이클 동안 각 핀 형태 논리 회로는 또한 사이클의 속성이 일치하는 경우 선택된 핀 기능과 관련된 타이밍을 따른다.
칩 선택 발생 유닛(200)의 상기 및 부가되는 특징을 각각의 단(stage)를 차례로 고려하여 추후 보다 상세히 기술된다.
어드레스 복호화 스테이지(210)
어드레스 복호화 스테이지(210)는 7 개의 서로 다른 프로그램 가능한 영역을 정의한다. 7 개의 영역중 첫번째는 부트(boot) 영역 또는 대안적으로 영역 0 으로 표시된다. 부트 영역과 관련되어 2 개의 레지스터(211)와(212), 및 하나의 복호화 논리 블럭(224)이 있다. 'CSBOOT 베이스 어드레스 레지스터'로 표시되는 레지스터 (211)는 부트 영역에 대한 베이스 어드레스 레지스터로 동작한다. 레지스터(211)는 32 개의 가능한 비트중 20 개의 비트를 이행한다. 비트 0-19 는 ADDRESS 의 비트 0 에 대응하는 레지스터(211)의 비트 0, ADDRESS 의 비트 1 에 대응하는 레지스터 (211)의 비트 1 등으로 부터 영역에 대한 베이스 어드레스를 나타낸다. 이 비트 순서 구조에서 비트 0 는 최상위 유효 비트를 나타내고, ADDRESS 의 비트 31 는 최하위 유효 비트를 나타낸다.
재설정에 대해 인터럽트 프리픽스 비트(interrupt prefix bit. IP)가 0 이면이 필드는 $00000 으로, 또는 (IP=1)이면 $FC000으로 이행되지 않고 소프트웨어 프로그램 가능하게 이어 지는 재설정이 된다. 불이행 베이스 어드레스와 불이행 블럭 크기에 의해 정의되는 불이행 CSBOOT 영역은 CPU 코어(31)의 재설정 벡터(초기 프로그램 카운터의 메모리 위치) 어드레스를 포함해야 되는 것을 알 수 있다. 이 영역의 베이스 어드레스가 어드레스 맵내에서 어떠한 어드레스로 프로그램될 수 있더라도 이는 데이타 프로세서(30)에서 다른 블럭이나 모듈과 겹치지 말아야한다. 전원이 ON 상태일때 부트 장치의 어드레스는 지시 저장을 위해 사용되는 데이타 프로세서(30)의 내부 EPROM 과 같은 내부 모듈의 어드레스와 정합될 수 있다. 그러나, 이런 경우 데이타 프로세서(30)는 네부 액세스가 외부 액세스를 무시하도록, 도시되지 않은, 부가 회로를 포함한다. 부트 지시가 제공되도록 내부 액세스가 일어나고, 칩 선택 발생 유닛(200)은 외부 액세스를 실행하지 않는다. CSBOOT 베이스 어드레스 레지스터의 비트 20-31 은 미리 지정된다.
'CSBOOT 선택 레지스터'로 표시되는 레지스터(212)는 부트 영역의 선택 레지스터이다. 이는 표 4 와 같이 정의된 비트를 갖는 32 비트 레지스터이다:
표 4 에 표시된 바와 같이 표 4-1 에서 표 4-8 을 통해 특정한 비트 필드가 더 상세히 기술된다. 재설정에서 BSIZE 필드는 CSBOOT 선택 레지스터에 대해 $F로 이행되지 않는다. 그러나, 다른 실시예에서 BSIZE 필드는 CPU 코어(31)의 재설정 벡터가 불이행 CSBOOT 영역내에 있는한 1 메가바이트(1M)와 같은 다른 값이 될 수 있다. 표 4-1 은 BSIZE 필드의 부호화를 설명한다:
비트 4, SBLOCK 비트는 영역이 더 큰 주 블럭내의 서브 블럭인가 여부를 나타낸다. 표 4-2 에 도시된 바와 같이 다른 블럭은 함께 편성된다:
상기된 편성에 부가하여 부트 영역은 부가하여 주어지는 서브 블럭을 갖는다. 레지스터(212)내의 SBLOCK 비트가 설정된 경우 CS0 블럭은 주블럭이고 CS1 블럭은 서브 블럭이다. 재설정 에서 이 비트는 0 으로 이행되지 않는다.
CPU 코어(31)는 감시자 모드에서의 재설정후에 지시 액세스를 시작하므로 재설정에서 CSBOOT 선택 레지스터에 대한 SUPIR 비트는 1 로 이행되지 않는다. 재설정에서 DSPACE 비트는 0 으로 이행되지 않는다. 부트 지시는 일반적으로 비휘발성, 판독 전용 메모리 장치로부터 전해지므로 재설정에서 CSBOOT 선택 레지스터에 대한 WP 비트는 1로 이행되지 않는다. 부트 루틴으로부터의 지시는 저장하기 쉬우므로 재설정에서 CI 비트는 0 으로 클리어된다.
재설정에서 ACK_EN 비트는 1 로 설정되고 대응하는 INITIAL VALUE 비는 초기 TA_DLY 필드 값을 제공한다. 표 4-3 은 TA_DLY 필드의 부호화를 나타낸다:
초기 PS 필드는 또한 INITIAL VALUE 이고 표 4-4에서 이에 대한 부호화가 설명된다:
표 4-5 에서 부호화가 도시된 PCON 필드는 재설정에서 CSBOOT 영역에 대해 00 으로 클리어된다:
PCON 필드는 핀 기능 레지스터(130)의 목적을 위한 것임을 알 수 있다. 다른 실시예에서 분리된 핀 기능 레지스터가 사용될 수 있다.
표 4-6 에서 부호화가 도시된 BYTE 필드는 재설정에서 00 으로 클리어된다:
재설정에서 관계없는(don't care) REGION 필드는 초기에 000 으로 클리어된다. REGION 필드에 대핀 부호화가 표 4-7 에 도시된다.
마지막으로, 초기 ITYPE 필드는 또한 INITIAL VALUE이다.
표 4-8에서 ITYPE 필드의 부호화가 도시된다:
부트 영역은 이에 관련되어 주어지는 서브 블럭을 갖는다. 'CSBOOT 서브 블럭 베이스 어드레스 레지스터'라 표시된 레지스터(213)는 주어진 서브 블럭에 대한 베이스 어드레스 레지스터이고, 'CSBOOT 서브 블럭 선택 레지스터'라 표시된 레지스터(214)는 선택 레지스터이다. 레지스터(213)는 레지스터(211)과 같은 필드 부호화를 갖지만, 레지스터(214)는 다수 레벨 보호 기능을 실행하는데 필요한 필드만을 포함한다.
레지스터(214)는 표 3과 표 3-1 에서 정의된 바와 같이 비트 0-8 에 BSIZE, SBLOCK, SUPER, DSPACI, WP 및 CI 필드를 포함하고 재설정에서 이는 모두 0 으로 클리어된다. 비트 9-31 은 사용되지 않는다. 칩 선택 발생 유닛(200)의 적절한 동작을 위해 서브 블럭이 되는 블럭의 선택 레지스터내에서 BSIZE 필드는 주블럭의 BSIZE 이하이어야 한다. 그러나, 다른 실시예는 부가적인 논리 회로를 갖는 부분적 중첩 영역을 유지할 수 있는 것을 알 수 있다. 복호화 논리 블럭(224)은 영역 0 레지스터(211) 및 (212)과, 주어지는 부트 서브 블럭 레지스터(213) 및 (214)내의 비트에 응답한다.
제 2 영역은 CS1 영역, 또는 다른 방법으로 영역 1 이라 표시된다. 여기에 는 영역 1 에 관련된 2 개의 레지스터(216) 및 (217)과, 하나의 복호화 논리 블럭(225)이 있다. 'CS1 베이스 어드레스 레지스터'로 표시되는 레지스터(216)는 영역 1 에 대한 베이스 어드레스 레지스터로 동작한다. 레지스터(216)는 32 비트 레지스터이다. 레지스터(211)와 유사하게, 비트 0 은 ADDRESS 의 비트 0 에 대응하고 비트 1 은 ADDRESS 의 비트 1 에 대응하면서 비트 0-19 는 영역 1 에 대한 베이스 어드레스를 나타내고 비트 20-31 은 미리 지정된다. 재설정에 대해 이 필드는 $00000 으로 이행되지 않는다. 비록 이 영역의 베이스 어드레스는 어드레스 맵내의 어드레스로 프로그램될 수 있지만, 이는 데이타 프로세서(30)에서 다른 블럭이나 모듈과 겹치지 말아야한다. 'CS1 선택 레지스터'로 표시되는 레지스터(217)는 영역 1 에 대한 선택 레지스터이다. 이는 표 4 에서 상술한 레지스터(212)와 같은 부호화를 갖는 32 비트 레지스터이다. 재설정에서 데이타 프로세서(30)가 칩 선택 모드인 경우 $0 으로 이행되지 않고 다른 경우 $3 으로 이행되지 않는 PCON 필드를 제외하고 모든 비트는 0 으로 이행되지 않는다.
어드레스 복호화 스테이지(210)는 5 개의 다른 영역에 대응하는 5 개의 다른 선택 레지스터를 포함한다. 제 13 도는 영역 1 및 5 에 각각 관련되고 'CS1 선택 레지스터' 및 'CS5 선택 레지스터'로 표시되는 선택 레지스터(217) 및 (219)을 도시한다. 이 선택 레지스터 각각은 레지스터(212)와 같은 비트 필드 정의를 갖는다. 그러나, 재설정에서 모든 비트와 비트 필드는 0 으로 클리어된다.
'CSO 선택 레지스터'로 표시되는 레지스터(215)는 핀 형태 스테이지(240)에서 핀에 대응하는 선택 레지스터이고, 상기에서 정의된 바와 같이 PCON, BYTE, 및 REGION 필드만을 포함한다. 이 핀이 칩 선택 모드에 있는 경우 재설정에서 PCON 필드는 2 로 이행되지 않고 다른 경우 3 으로 이행되지 않는다. 필드 BYTE 와 REGION 은 0 으로 이행되지 않는다. 각각 'CS6 선택 레지스터' 및 'CS11 선택 레지스터'로 표시되는 레지스터(220) 및 (221)을 포함하고 특정한 영역에 관련되지 않는 선택 레지스터는 레지스터(215)와 같은 비트 필드 정의를 갖는다.
그러나, 재설정에서 대응하는 핀이 칩 선택 모드인 경우 필드 PCON 은 0 으로 클리어되고 다른 경우 3 으로 설정된다. 레지스터(215)와 유사하게, 부가적인 선택 레지스터내의 BYTE 및 REGION 필드는 재설정에서 0 으로 클리어된다.
복호화 논리 블럭(224)은 부트 영역에 관련된다. 레지스터(211), (212), (213), 및 (214)은 각각 복호화 논리 블럭(224)에 출력으로 비트를 제공한다. 또한, 편성된 서브 블럭으로 블럭 1 을 블럭 0 에 제공하기 위해 (주어지는 부트 서브 블럭에 부가하여) 블럭 1 에 관련된 복호화 논리 블럭(225)은 복호화 논리 블럭(224)의 입력에 출력 신호를 제공한다. 이 출력 신호는 제 3 도에 도시된 다수 레벨 보호 구조에 필요한 ADDRESS MATCH 와 ATTRIBUTE MATCH 이다. 주 블럭은 우선 실행 회로(58)의 기능을 지정하는 것을 알 수 있다. 복호화 논리 블럭(224)은 외부 버스 인터페이스(33)를 통해 CPU 코어(31)로 부터 입력 ADDRESS 와 ATTRIBUTE을 수신한다. 복호화 논리 블럭(224)은 먼저 ADDRESS 가 부트 영역내에 있는가 주어지는 부트 서브 블럭내에 있는가 여부를 점검한다. 복호화 논리 블럭(224)은 ADDRESS 가대응하는 베이스 어드레스 레지스터 베이스 어드레스 필드의 BSIZE 내에 있는가 여부를 결정함으로서 이를 실행한다. 다음에 복호화 논리 블럭(224)은 입력 ATTRIBUTES 를 대응하는 선택 레지스터에서 프로그램된 내용과 비교한다.
기술된 실시예에서, ADDRESS 는 32 비트 어드레스이다. 복호화 논리 블럭 (224)은 ADDRESS 의 상위 비트(BSIZE 필드에 의해 결정된 바와 같은)를 베이스 어드레스 레지스터에 저장된 값과 선택 레지스터내의 BSIZE 필드와 비교한다. 모든 상위 어드레스 비트가 정합되는 경우 복호화 논리 블럭(224)은 어드 레스 정합을 검출한다.
복호화 논리 블럭(224)은 다양한 ATTRIBUTE 을 복호화하고, 다음과 같이 레지스터(212)로부터의 대응하는 비트에 대해 이를 점검한다. 복호화 논리 블럭(224)은 RD/ATTRIBUTE 을 WP 비트와 비교한다. RD/이 고 논리 상태이거나 RD/이 저논리 상태이면 WP 를 클리어하고 복호화 논리 블럭(224)은 이 비트에 대해 속성 정합을 검출한다. 복호화 논리 블럭(224)은 SUPER 속성을 SUPER 비트와 비교하고, SUPER ATTRIBUTE 가 고논리 상태이거나 SUPER ATTRIBUTE 가 저논리 상태이면 SUPER 비트를 클리어하고 이 비트에 대해 속성 정합임을 검출한다. 복호화 논리 블럭(224)은 INSTR/ATTRIBUTE 를 DSPACE 비교와-비교하고, INSTR/가 저논리 상태이거나 INSTR/가 고논리 상태이면 DSPACE 가 클리어되고 이 비트에 대해 속성 정합을 검출한다. 모든 프로그램된 속성이 대응하는ATTRIBUTE 신호와 정합되는 경우 복호화 논리 블럭(224)은 ATTRIBUTE MATCH 을 검출한다.
복호화 논리 블럭(224)이 영역에서 ADDRESS MATCH 와 ATTRIBUTE MATCH 모두를 검출한 경우 더 높은 우선 순위에 있는 서브 블럭이 정합을 방해하는가 여부를 점검한다. 예를 들어, 복호화 논리 블럭(224)이 영역 0 과 주어지는 부트 서브 블럭 내에서 어드레스로의 액세스를 검출한 경우 레지스터(214)에서 정의된 속성은 액세스 발생 여부를 제어한다. 복호화 논리 블럭(224)은 주어지는 부트 서브 블럭에서 속성 정합이 없고 영역 0 내에서 어드레스 및 속성 정합이 없는 경우 사이클이 진행되지 않게 한다.
타이밍 제어 스테이지(230)
타이밍 제어 스테이지(230)는 2 개의 제어 유닛(231) 및 (232)과, 제어 유닛(231) 및 (232) 사이에 연결된 초기 파이프라인 제어 유닛(233)을 포함한다. 타이밍 제어 스테이지(230)는 칩 선택 신호를 외부 버스(21)에 제공하도록 액세스 상태기계로 동작하고, 제어 유닛(231) 및 (232) 각각은 진행중인 버스 사이클이 6 개의 이용가능한 영역중 하나 또는 주어지는 부트 서브 블럭의 어드레스 및 속성과 정합하는가 여부를 나타내도록 어드레스 복호화 스테이지(210)내의 복호화 논리 블럭으로부터의 복호화된 신호를 수신하는 DECODE BUS(201)와 연결된 입력을 갖는다. 영역중 하나가 정합을 검출한 경우 타이밍 제어 스테이지(230)내의 제어 유닛중 하나는 주어진 프로그램된 인터페이스 타잎에 대해 적절한 타이밍을 반영하도록 TIMING BUS(202)에 연속적인 타이밍 정보를 제공한다.
제어 유닛(231)은 TIMING BUS(202), 즉 /X/ TO(CE1 TIMING),/X/ TO(OE1 TIMING) 및에 3 개의 타이밍 제어 신호를 제공한다. 유사하게, 제어 유닛(232)은 TIMING BUS(202), 즉 /X/ TO(CE2 TINING),, 및에 3 개의 타이밍 제어 신호를 제공한다.
예를 들어, 어드레스 복호화 스테이지(210)내의 복호화 논리 블럭(224)은 영역 0 으로의 액세스를 인지하고 응답하여 DECODE BUS(201)에 제어 신호를 제공한다. 타이밍 제어 스테이지(230)에서, 제어 유닛(231)과 같은 제어 유닛은 이 버스 사이클과 관련되고, 액세스의 진행동안 액세스에 대해 타이밍 신호를 TIMING BUS(202)에 제공한다. 제 1 액세스 동안 제 2 액세스가 발생될 수 있고, 어드레스 복호화 스테이지(210)내의 어드레스 복호기는 대응하는 프로그램 가능한 영역으로의 액세스와 선택 레지스터내에서 프로그램된 내용에서 속성 정합을 갖는 것을 인지하고 DECODE BUS(201)에 제어 신호를 제공한다. 제어 유닛(232)은 인터페이스형에 의해 결정된 액세스에 대해 하나 이상의 칩 선택 제어 신호를 중첩하도록 TIMING BUS(202)에 타이밍 신호를 제공하기 시작한다.
각 타이밍 제어 유닛은 사이클을 소유하는 영역에 대해 선택 레지스터내의 ITYPE 필드에 따라 각 칩 선택 기능의 타이밍 신호를 제공한다. 칩 선택 회로(32)가 실행하는 인터페이스 타잎의 신호 타이밍은 제 14 도에서 제 19 도를 참조로 더 잘 이해될 수 있다. 타이밍도 각각에서 연속되는 저상태에서 고상태로의 CLOCK 전이는 t1, t2, t3 등으로 표시된다. ADDRESS, DATA, 및 제어 신호의 활성화나 유효시간은 액세스를 식별하는 번호로 적절히 표시된다. 주어진 타이밍도는 전형적인 신호 타이밍을 나타내는 것을 알 수 있다. 실제 타이밍 파형은 집적 회로 제조 과정 상태가 변함에 따라 달라질 수 있다. 수 개의 신호는 외부 버스 인터페이스(33)에 의해 제공되지만, 이는 인터페이스 이해를 쉽게 하도록 설명된다. 제 14 도에서 제 19 도의 화살표는 신호 종속관계나 인과 관계를 나타낸다.
제 14 도는 0 데기 상태, 클럭 없는 장치(즉, 출력 버퍼를 갖는 장치가 한 클럭 주기 이하의 시간을 OFF 상태로 한다.) 액세스에 대한 일반적인 비동기화 인터페이스인 인터페이스형 $0 의 타이밍도를 설명한다. 비동기화 인터페이는 액세스가 종료될 때까지 유효한 칩 선택 신호(와,또는)와 ADDRESS 을 요구한다. 같은 장치로의 연속적인 액세스는 이전 액세스의 완료 이전에 발생될 수 없고 액세스의 중첩이 가능하지 않다. 제 14 도는 기록 사이클이 이어지는 판독 사이클이다. 판독 사이클과 기록 사이클 동안 액세스된 장치는 CE1 의 하강 모서리와 같이 신호의 활성화후의 지연 시간에 A1 과 같은 어드레스를 이용한다. 판독 사이클 동안 액세스된 장치는 OE1의 하강 모서리와 같은 신호의 활성화 후의 지연 시간내에 출력으로 (또한 외부 버스 인터페이스(33)로의 입력) DATA 를 제공한다. 기록 사이클 동안 액세스된 장치는 WE2 의 상승 모서리와같은 신호의 비활성화후 지연 시간에 D2와 같은 (외부 버스 인터페이스(33)의 출력인)데이타 요소를 래치한다. 비동화 메모리 장치의 한 에는 모토롤라사로부터 이용가능한MCM62995A 메모리 칩으로, 어드레스 래치 인에이블 () 신호 입력에 부가하여 비동기와 모드에서 동작될 수 있다.
인터페이스 타잎 $1 은 $0 과 유사하지만, 2 개의 클럭 주기의 출력 버퍼 OFF 상태 시간을 갖는 장치와의 액세스를 위한 일반적인 비동기화 인터페이스에 적용된다. 그래서, 이 액세스에 관련된 신호의 타이밍은 유사하지만 제 14 에 도시된 바와 동일하지는 않다. 판독 사이클 동안 연속되는 장치가 외부 버스(21)에서 DATA 을 구동하기 앞서 칩 선택 회로(32)는 신호를 비활성화한 후 한 CLOCK 주기를 대기한다. 이어지는 기록 사이클 동안 칩 선택 회로(32)는 이전를 비활성화한 후 한 클럭 주기때까지 외부 버스 인터페이스(33)가 DATA를 구동하지 않게 한다.
제 15 도는 비동기화를 갖는 동기화 인터페이스인 인터페이스 타잎 $2의 타이밍도를 설명한다. 동기화 인터페이스를 갖는 메모리 장치는 CLOCK 를 수신하기 위한 입력을 갖고, 저상태 에서 고상태로의 CLOCK 전이에서 ADDRESS 와 DATA을 래치한다. 판독 액세스 동안 메모리 장치는 신호에 응답하여 비동기화 데이타를 제공한다. 제 15 도는 기록 사이클이 이어지는 판독 사이클을 설명한다. 칩 선택 신호에 부가하여 이 인터페이스 타잎을 갖는 장치는 외부 버스 인터페이스 (33)에 의해 제공되고 ''으로 표시된 기록 신호를 관찰하고, 어드레스 페이스동안 액세스가 판독 액세스인가 기록 액세스인가 여부를 결정한다. t2 에서 액세스된 장치는 액세스가 판독 액세스임을 인지하고 A1 을 래치한다. 칩 선택 회로(32)는 신호를 활성화하고 OE1 의 하강 모서리에 의해 액세스된 장치가 외부 버스 인터페이스(33)로의 입력인 DATA를 제공한다.
이 인터페이스를 이용하는 메모리 장치는 같은 장치로의 다음 액세스가 이전 액세스와 중첩될 수 있고 신호가 활성화될 때까지 판독 액세스에서 내부 데이타를 지연할 수 있도록 입력 ADDRESS 을 래치하는 기능을 갖는다. 그래서, 이어지는 기록 사이클의 어드레스 페이스는 판독 사이클 데이타 페이스의 끝부분과 중첩 될 수 있다. 칩 선택 회로(32)는 액세스된 장치가 어드레스 A2 을 래치하도록 t3 이전에 신호를 활성화한다. 신호은 t3 에서 활성화되므로 액세스된 장치는 기록 액세스를 인지한다. 판독 액세스의 데이타 페이스가 완료된 후 칩 선택회로(32)는 t5 에서 기록 사이클의 데이타 페이스를 완료하기 위해 액세스된 장치가 데이타를 래치하도록 신호를 활성화한다.
제 15 도에 도시된 타이밍은 칩 선택 회로(32)가 2 개의 연속된 인터페이스 타잎 $2 액세스를 중첩하는 능력을 따로 설명하고 있다. 그러나, 데이타 프로세서 (30)는 가능한 버스 혼란에 대해 외부적 보호를 제공하도록 이러한 중첩을 허용하지 않는다. 데이타 프로세서(30)에서, 외부 버스 인터페이스(33)는 칩 선택 회로 (32)가 제 2 액세스의 어드레스 페이스를 중첩할 수 있도록 충분히 초기에 칩 선택회로(32)로 적절한 HANDSHAKE 을 제공하지 않는다. 그래서, 외부 버스 인터페이스 (33)는 실질적으로 A1 을 제공하지 않고, 칩 선택 회로(32)는 t4 에 앞선 설정 시간까지신호를 활성화하지 않는다.
'초기 동기화 OE 을 갖는 동기화 인터페이스'로 공지된 인터페이스 타잎 $3은 제 5 도에서 상술되었다. 인터페이스 타잎 $3 에 대해 칩 선택 회로(32)는 제 15 도에 도시된 인터페이스 타잎 $2 와 같은 방법으로 기록 사이클을 실행한다.
'고정된 버스트를 갖는 버스트 가능한 영역 '으로 공지된 인터페이스 타잎 $5 는 'Type 1' 버스트 인터페이스를 갖고 비동기화신호를 사용한다. 칩 선택 회로(32)는 4 개 사이클의 고정된 버스를 길이를 이행한다. Type 1 버스트 인터페이스는 액세스된 장치가 데이타를 구동하거나 데이타 래치하도록신호를 각각 이용한다. 이 인터페이스는 또한 액세스된 장치가 다음 버스트의 비트 (beat)를 출력할 때 제어하는신호를 요구한다. Type 1 버스트 인터페이스 장치는 장치로의 다음 액세스 어드레스가 이전 액세스와 중첩될 수 있도록 어드레스 래치를 갖는다. 즉, 액세스의 어드레스는 CLOCK 의 저상태에서 고상태 로의 전이에서 ADDRESS 을 래치한 후 유효할 필요가 없다.
제 16 도는 인터페이스 타잎 $5 을 사용하는 판독 사이클의 실시예에 대한 타이밍도를 설명한다. 제 16 도의 실시예에서 대응하는 선택 레지스터내 영역의 ACK_EN 비트는 외부 확인 신호에 대해 허용하도록 구성, 즉 클리어된다. 시간점 t2 에서, 액세스된 장치는 동기화되어 ADDRESS 를 래치하고 신호의 활성화에 의해 표시된 시간 t2 에서의 어드레스 페이스를 완료한다. 그러나, t2 에서 액세스된 장치는 신호를 비활성화 상태로 유지하고, 칩 선택 회로(32)는 대기상태를 삽입해야 한다. 이어서, 시간 t3 에서 액세스된 장치는 데이타 페이스 완료 준비 상태임을 나타내도록 신호를 활성화하고 제 1 DATA 요소 Dl0을 제공한다. 외부 버스 인터페이스(33)는 이어지는 저상태에서 고상태로의 CLOCK 전이에서 버스트의 다음 비트(beat)를 기대하고 있음을 나타내도록 BDIP 신호를 활성화한다.
외부 버스 인터페이스(33)는 전이 t4, t5, 및 t6 각각에서 이어 지는 데이타 요소 D11, D12, D13을 래치한다. 외부 버스 인터페이스(33)는 데이타 요소 D13가 버스트의 마지막 비트(beat)임을 나타내도록 t6 이전에 신호를 비활성화 한다. 액세스된 장치는 신호의 비활성화 후 지연 시간까지 데이타 요소 D13을 유효하게 유지한다.
이 인터페이스는 같은 장치가 연속되는 2 개의 사이클 동안 액세스될 때 연속되는 액세스의 어드레스 페이스가 이전 액세스의 데이타 페이스와 중첩될 수 있게 한다. 액세스된 장치는 이전 버스트의 마지막 비트(beat)에서 제 2 액세스를 인지한다. 제 16 도에 도시된 바와 같이, 외부 버스 인터페이스(33)는 이어지는 어드레스 A2 을 제공하고, 칩 선택 회로(32)는 t3 이전 설정 시간에 신호를 활성화하며, 액세스된 장치는 t3 이전 설정 시간에 신호를 제공함으철서 제 2 액세스의 어드레스 페이스를 완료한다.
제 17 도는 Type 1 버스트 인터페이스(인터페이스 타잎 $5 와 같은)를 이용한 기록 사이클의 타이밍도를 도시한다. 제 16 도와 같이 대응하는 선택 레지스터에서 영역의 ACK_EN 비트는 외부 확인 신호에 대해 허용하도록 구성, 즉 클리어된다. 시간 t2 에서 액세스된 장치는 동기화되어 ADDRESS 을 래치하고 신호의 활성화에 의해 표시된 어드레스 페이스를 완료한다. t2 에서 액세스된 장치는 데이타 페이스 완료 준비 상태임을 나타내도록 신호를 활성화하고 제 1 DATA 요소 D10을 래치한다. 신호는 외부 버스 인터페이스(33)가 이어지는 저상태에서 고상태로의 CLOCK 전이에서 버스트의 다음 비트(beat)를 제공함을 나타내도록 활성화된다. 데이타 프로세서(30)는 전이 t3, t4, 및 t5 각각에서 연속되는 데이타 요소 D11, D12, 및 D13을 구동한다. t5 에서 신호는 데이타 요소 D13가 버스트의 마지막 비트(beat)임을 나타내도록 비활성화 상태이다. 제 16 도와 유사하게, 제 17 도는 중첩 액세스의 어드레스 페이스를 나타내고 제 2 액세스의 어드레스 페이스는 시간 t5 에서 버스트의 마지막 비트(beat) 동안 종료된다.
'파이프라인가능한를 갖는 고정된 버스트'로 공지된 인터페이스 타잎 #7 은 제 6 도에서 상술된 판독 액세스를 유지한다. 이 인터페이스형은 신호가 활성화될 때까지 내부 데이타를 미룰수 있다. 인터페이스는 비동기화 인터페이스로 동작될 수 있지만, 신호가 활성화된 후와 TA_DLY 필드에 의해 정의된 대기 상태 후에만 데이타를 제공한다. 인터페이스 $7 는 Type 1 인터페이스된 기록사이클 타이밍이 제 17 도에 도시된다.
인터페이스 타잎 $8 은신호를 요구하지 않는 'Type II' 버스트 인터페이스를 갖지만, 대신신호를 이용한다. 신호가 저상태에서 고상태로의 CLOCK 전이 이전 설정시간에 활성화될 때, Type II 장치는 데이타 출력 버퍼를 CLOCK 전이에 이어지는 고 임피던스(high impedance) 상태로 놓는다.신호는 장치 액세스의 잠재 또는 대기 상태 기간 동안에 활성화 상태로 유지되어야 한다. 이러한 종류의 장치는 TS 신호를 요구한다.
제 18 도는 액세스형 $8 을 이용하는 판독 인터페이스의 타이밍도를 도시한다. 도시된 실시예에서 액세스된 장치는 2 개의 대기 상태를 갖고 자체의 확인 신호를 복귀한다. 어드레스 페이스는 액세스된 장치가 신호를 활성화할 때인 t3 까지 종료되지 않는다. Type II 버스트 인터페이스하에서 신호 CE 는 장치의 잠재 기간 동안 활성화 상태를 유지하므로는 데이타 페이스가 시작할 때인 t3 후까지 활성화 상태로 유지된다. 이 인터페이스 액세스형은신호를 갖지 않는다. 액세스된 장치는 t4 에서 시작하는 연속된 저상태에서 고상태로의 CLOCK 전이에서 신호를 활성화한다. 4 개의 비트(beat) 버스트 전달은 t7 에 완료되고 이는 외부 버스 인터페이스(33)가 신호를 활성화함으로서 전달된다.
이 인터페이스는 연속되는 액세스의 어드레스 페이스가 이전 액세스의 데이타 페이스와 중첩될 수 있게 한다. 제 18 도에 도시된 바와 같이 칩 선택 회로(32)는 연속된 어드레스 A2 을 제공하고 t4 에 앞선 설정 시간에 신호를 활성화한다. 액세스된 장치는 연속된 액세스의 어드레스 페이스를 인지하고, 시간 t7에 신호의 활성화에 의해 표시된 A2 을 래치한다. 그러나, 신호는 제 2 액세스의 데이타 페이스가 발생될 때까지 (t7 에 이어서) CE2 동안 활성화 상태를 유지한다. 액세스된 장치는 어드레스 래치를 갖으므로 t7 과 같은 초기에 A2을 래치 함으로서 다음 어드레스 페이스를 완료할 수 있다.
제 19 도는 액세스형 $8 을 이용한 기록 인터페이스의 타이밍도를 도시한다.
액세스된 장치는 2 개의 대기 상태를 갖고 전달의 어드레스 페이스를 완료하도록 t3 에서를 포함하는 자체 확인 신호를 복귀한다. Type II 버스트 판독 사이클과 같이 신호를 장치의 잠재 기간 동안 활성화 상태를 유지하므로 데이타 페이스가 시작할 때 t3 이후까지는 활성화 상태를 유지한다. 외부 버스 인터페이스(33)는 t4 에서 시작되는 연속적인 클럭 사이클에서 데이타 요소 D10, D11, D12, 및 D13을 제공하고, 이 데이타 요소는 액세스된 장치에 의해 래치된다. 액세스된 장치는 t4 에서 시작되는 연속적인 CLOCK 사이클에서 신호의 활성화에 의해 버스트의 각 비트(beat) 데이타 페이스의 종료를 나타낸다. Type II 버스트 판독 사이클과 같이 4 개의 비트(beat) 버스트 전달은 t7 에서 완료되고 이는 외부 버스 인터페이스(33)가 신호를 활성화함으로서 전달된다. 연속되는 사이클의 어드레스 페이스는 제 18 도에 도시된 것과 같은 방법으로 중첩될 수 있다.
'동기화를 갖는 동기화 인터페이스와 초기 중첩' 인터페이스 타잎으로 공지된 인터페이스 타잎 $9 는 제 7 도에서 상술된 바와 같이 판독 액세스를 실행한다. 이 종류는 제 2 액세스의 어드레스 페이스가 이전 액세스의 초기 동기화와 중첩되는 것을 제외하고 인터페이스 타잎 $3과 유사하다. 인터페이스 액세스형 $9 기록 액세스는 제 15 도에서 상술된 일반적인 동기화 기록 액세스와 동일하다.
인터페이스 타잎 $4, $6, 및 $A-$F 는 미리 지정된다. 타이밍 제어 스테이지(230)내의 활성화 제어 유닛이 상기의 미리 지정된 형태중 하나인 인터페이스로의 액세스를 검출한 경우 칩 선택 발생 유닛(200)이 대응하는 메모리 액세스를 실행하지 않도록 칩 선택 타이밍 제어 신호의 발생이 저지된다. 그래서, 이 필드의 부적절한 부호화로 발생되는 소프트웨어 에러는 적합하지 않은 액세스를 발생하지 않는다.
칩 선택 회로(32)는 다양한 인터페이스를 유지하므로 매우 탄력적이다. 그러나, 칩 선택 회로(32)가 유지하는 인터페이스 세트는 다른 응용이 가능하도록 실시예간에 변화될 수 있다. 부가하여 칩 선택 회로(32)는 파이프라인의 고도가 데이타 프로세서(30) 실행도를 증가하도록 하는 인터페이스를 유지한다.
특히, 인터페이스 액세스형 $3, $7, 및 $9 는 공지된 인터페이스 보다 실행도가 훨씬 개선된다. 인터페이스 액세스형 $3, $7, 및 $9 를 이용한 메모리 장치는 종래의 순차(클럭화된) 회로 설계 기술을 이용해 기술된 타이밍을 구성하도록 현재의 메모리 장치를 수정함으로써 구성될 수 있다.
중첩 액세스를 다루기 위해 초기 파이프라인 제어 유닛(233)은 2 가지의 주된 경우를 검출한다. 첫번째 경우는 같은 영역이나 칩으로의 2 가지 액세스가 있는 경우로 액세스가 다음 어드레스를 제 1 어드레스 데이타 페이스와 최대로 중첩 허용된다(제 1 액세스 잠재 기간이 결정될 수 있는 경우, 즉 ACK_EN=1). 예를 들어, 제 1 액세스가 파이프라인 가능 장치인 경우 같은 장치로의 제 2 액세스는 제 1 액세스가 데이타 페이스 완료 준비가 될 때까지 대기한다. 그러나, 제 2 액세스의 어드레스(또는)는 제 1 액세스의 데이타와 중첩될 수 있다.
두번째 경우는 2 개의 서로 다른 영역이나 칩으로의 액세스인 경우이다. 두번째 경우에 대해 두개의 서로 다른 칩이나 영역으로의 액세스를 중첩하도록 타이밍 제어 스테이지(230)는 데이타 무결성 및 적절한 사이클 종료를 확실하게 하는 파이프라인 롤 세트를 이행한다. 표 5 에서 이러한 롤을 상세히 설명한다 :
룰 번호 1 은 다른 영역으로의 다른 액세스에 이어서 한 영역에서의 액세스에 관한 것이다. 이 경우 칩 선택 회로(32)는 제 1 판독과 함께 제 2 판독에 파이프라인 지정한다.
룰 번호 2 는 판독 액세스에 이어서 기록 액세스에 관한 것이다. 이런 경우칩 선택 회로(32)는 제 1 판독과 함께 제 2 판독에 경우 지정한다.
룰 번호 3 은 다른 기록 액세스에 이어서 단일 비트(beat) 기록 액세스에 관한 것이다. 이런 경우 장치는 ADDRESS 나가 유효해진 후 한 CLOCK 사이클에서 이용가능한 기록 사이클의 데이타를 기대한다. 그렇지 않은 경우 장치는 기록 사이클을 중지한다. 칩 선택 회로(32)에 의해 모든 액세스가 종료된 경우(즉, 모든 영역의 선택 레지스터에서 ACK_EN 이 설정된 경우) 칩 선택 회로(32)는 제 1 기록 사이클의 최종 데이타 페이스와 함께 제 2 기록 사이클의를 활성화함으로서 액세스를 중첩한다. 다른 기록이 이어지는 버스트 기록의 경우에 대해 칩 선택 회로(32)는 최종 데이타 비트(beat)의 제 1 기록 표시()가 활성화된 후에 제 2 기록 사이클동안를 활성화한다.
룰 번호 4 는 기록 사이클에 이어서 판독 사이클의 경우에 관한 것이다. 칩 선택 회로(32)는 판독 사이클이 완료되지 전에 기록 사이클의를 활성화함으로서 액세스를 중첩할 수 있다. 그러나, 기술된 실시예에서 외부 버스 인터페이스 (33)는 이러한 중첩이 가능하도록 칩 선택 회로(32)에 적절한 HANDSHAKES 을 제공하지 않는다. 외부 버스 인터페이스(33)는 기록 사이클의활성화 이전에 기록 사이클의 ADDRESS 을 제공한다.
룰 번호 5 는 공지되지 않은 액세스(족, ACK_EN 이 클리어)의 잠재 기간에 2개의 연속된 액세스에 관한 것이다. 이런 경우, 칩 선택 회로(32)는 버스가 이용가능한 경우까지 데이타를 지연할 수 있는 인터페이스 타잎을 갖는 영역에 제 2 액세스가 있는 경우에만 2 개의 액세스를 파이프라인 지정한다. 예를 들어, 제 1 액세스는 ACK_EN 이 클리어된 영역으로의 것이고 제 2 액세스는 ACK_EN 이 설정된 인터페이스 타잎 #8 을 갖는 영역으로의 것이다. 이런 경우, 제 2 영역은 OE 없이 데이타를 지연시킬 수 없으므로 제 1 액세스가 완료될 때까지 칩 선택 회로(32)는 제 2 액세스를 지연시켜야 한다. 제 1 액세스가 공지되지 않은 잠재 기간을 갖는 영역으로의 것이고 제 2 액세스가 같은 영역으로의 것인 경우, 칩 선택 회로(32)는 외부를 대기하여 칩 선택 회로(32)가 같은 영역으로의 연속된를 활성화할 수 있는 것을 알 수 있다.
룰 번호 6 은 주어지는 동적 RAM(DRAM) 제어기와 같은 칩 선택 회로(32)에 의해 정의되지 않은 영역으로의 제 1 액세스와, 칩 선택 회로(32)에 의해 정의된 다른 영역으로의 제 2 액세스에 관한 것이다. 이런 경우 제 1 영역은 자체 칩 선택 신호를 제공하므로 인터페이스 액세스 형과 잠재 기간이 칩 선택 회로(32)에 의해 공지되지 않는다. 그래서, 칩 선택 회로(32)는 제 1 액세스와 함께 제 2 액세스에 파이프라인 지정하지 않는다.
룰 번호 7 은 다른 영역으로의 판독에 이어 버스트 가능한 영역으로의 고정된 4 개 비트(beat) 버스트 판독 액세스에 관한 것이다. 이런 경우 칩 선택 회로 (32)는 제 2 액세스가 파이프라인 가능한 영역으로의 것이고 데이타를 지연시킬 수 있는 경우 제 2 판독에 파이프라인 지정한다. 제 2 영역이 $8 의 인터페이스 액세스형을 갖는 경우 이는 데이타를 지연할 수 없어서 칩 선택 회로(32)는 제 2 액세스에 파이프라인 지정하지 않는다.
룰 번호 8 은 비동기화 영역으로의 제 2 액세스에 이어 동기화 영역으로의 제 1 액세스에 관한 것이다. 이런 경우, 칩 선택 회로(32)는 제 2 영역이 파이프 라인 가능하지 않으므로 제 2 액세스에 파이프라인 지정하지 않는다.
룰 번호 9 는 비동기화 영역으로의 제 1 액세스에 관한 것이다. 이런 경우, 외부 어드레스와 데이타 버스 모두는 제 1 액세스에 대해 완료때까지 이용가능해야 하므로 제 1 액세스와 함께 제 2 액세스에 칩 선택 회로(32)는 파이프라인 지정하지 않는다.
칩 선택 회로(32)와 외부 버스 인터페이스(33)는 모두 이러한 파이프라인 지정 룰을 이행하도록 조합되는 것을 알 수 있다. 어느 경우에는 외부 버스 인터페이스(33)가 제어된다. 룰 번호 4 에 대해 제 15 도를 참조로 기술한 바와 같이 칩 선택 회로(32)는 파이프라인 지정을 유지하지만 외부 버스 인터페이스(33)는 그렇지 않다. 외부 버스 인터페이스(33)는 또한 룰 번호 9 에 대해 파이프라인 지정이 허용되도록 충분히 초기에HANDSHAKE 을 제공하지 않는다. 다른 경우에서 칩 선택 회로(32)는 호환될 수 없는 액세스를 인지한다.
핀 형태 스테이지(240)
핀 형태 스테이지(240)는 각각의 핀 형태 논리 회로(241), (242), (243), 및 (248)을 포함하여 3 개의 핀 형태 논리 회로를 포함한다. 각 핀 형태 논리 회로는DECODE BUS(201)에 연결된 제 1 입력, TIMING BUS(202)에 연결된 제 2 입력, 및 주어지는 칩 선택 신호를 제공하는 출력을 갖는다. 핀 형태 논리 회로(241)는 'CSBOOT'로 표시되는 출력 신호를 제공한다. 핀 형태 논리 회로(242)는 'CSO' 또는 'CSBOOT'로 표시되는 출력 신호를 제공한다. 핀 형태 논리 회로(243)는 "CS1'로 표시되는 출력 신호를 제공한다. 핀 형태 논리 회로(248)는 'CS11'로 표시되는 출력 신호를 제공한다.
칩 선택 회로(32)는 13 개의 집적 회로 핀을 통해 칩 선박 신호를 프로그램 가능하게 제공한다. 그러나, 종래의 고집적 데이타 프로세서나 마이크로 제어기와 같이 핀은 데이타 프로세서(30)의 다른 핀 기능이나 포트와 공유되므로 출력 신호가 다른 목적의 응용을 위해 구성되도록 프로그램 가능하게 선택된다.
본 발명의 한 양상은 복수의 칩 선택 신호가 칩 인에이블, 기록 인에이블 및 출력 인에이블을 구비하는 것이다.
본 발명의 다른 한 양상은 제 1 복수의 어드레스 복호기(91, 94, 97) 각각이 베이스 어드레스 레지스터(92, 95, 98), 선택 레지스터(93, 96, 99) 및 복호기를 구비하는 것이다. 베이스 어드레스 레지스터(92, 95, 98)는 대응 프로그램가능한 영역의 베이스 어드레스를 구비하는 것이다. 선택 레지스터(92,95,98) 는 대응 프로그램 가능한 영역의 베이스 어드레스를 구비하는 것이다. 선택 레지스터(93, 96, 99)는 영역 사이즈 몇 프로그램 가능한 영역의 적어도 하나의 속성을 기억하는 비트 필드를 갖는다. 부호화기는 입력 어드레스 및 적어도 하나의 입력 속성 신호를 수신하는 입력 및 상기 입력 어드레스가 베이스 어드레스 및 영역 사이즈에 의해규정된 프로그램가능한 영역내에 있는 경우 정합 신호를 제공하는 출력을 갖고 적어도 하나의 입력 속성 신호는 프로그램가능한 영역의 적어도 하나의 속성과 정합한다.
본 발명의 다른 양상은 타이밍 제어 스테이지(100)가 제 1 제어 유닛(170), 제 2 제어 유닛(180) 및 초기 파이프라인 제어 회로(186)를 구비하는 것이다. 제 1 제어 유닛(170)은 어드레스 복호화 스테이지(90)에 결합되는 제 1 입력과, 제 1 다수의 파이프라인 제어 신호를 수신하는 제 2 입력 및 제 1 다수의 타이밍 신호를 제공하는 핀 형태 단계(110)에 결합된 출력을 갖는다. 제 2 제어 유닛(180)은 어드레스 복호화 스테이지(90)에 결합된 제 1 입력과, 제 2 다수의 파이프라인 제어신호를 수신하는 제 2 입력과, 제 2 다수의 타이밍 신호를 제공하는 핀 형태 스테이지(110)에 결합된 출력을 갖는다. 초기 파이프라인 제어 회로(186)는 어드레스 복호화 스테이지(90)에 결합된 입력과, 제 1 (170) 및 제 2 (180) 제어 유닛의 제 2 입력에 각각 결합된 제 1 및 제 2 출력을 갖는다. 초기 파이프라인 제어 회로(186)는 다수의 파이프라인 틀에 따라서 제 1 및 제 2 다수의 파이프라인 제어 신호를 제공하므로써, 데이터 무결성 및 적절한 사이클을 종료를 보장한다.
본 발명의 또다른 양상은 복종 논리 수단(140)이 제 1 복종 논리 회로(141) 및 제 2 복종 논리 회로(145)를 구비하는 것이다. 제 1 복종 논리 회로(141)는 제 1 사이클 시작 신호를 수신하는 제 1 입력과, 제 1 사이클 종료 신호를 수신하는 제 2 입력과, 제 1 복종 신호를 제공하는 출력을 갖는다. 제 2 복종 논리 회로(145)는 제 2 사이클 시작 신호를 수신하는 제 1 입력과, 제 2 사이클 종료 신호를 수신하는 제 2 입력과 제 2 복종 신호를 제공하는 출력을 갖는다.
본 발명의 또한 다른 양상은 프로그램가능한 핀 가능 레지스터(130)가 칩 선택 신호와 관계되는 다수의 영역들중 선택된 한 영역을 규정하는 제 2 비트 필드를 갖고 복종 논리 수단(140)은 제 1 파이프라인된 시이클에 대응하는 제 1 입력 영역이 다수의 영역들중 선택된 하나의 영역과 정합될때에만 제 1 복종 신호를 활성화 시킨다.
본 발명의 또한 다른 양상은 데이타 처리기(30)가 제 3 복호기(224)를 더 구비하는 것이다. 제 3 복호기(224)는 어드레스를 수신하는 제 1 입력과, 적어도 하나의 대응 제어 신호를 수신하는 제 2 입력과, 어드레스가 제 3 프로그램 가능한 영역내에 있는 경우 제 3 어드레스 정합 신호를 제공하는 제 1 출력과 적어도 하나의 대응 제어 신호가 제 3 프로그램 가능한 보호 속성과 정합하는 경우 제 3 속성정합 신호를 제공하는 제 2 출력을 갖는다. 우선순위 강제 회로(58)는 제 1 및 제 3 어드레스 정합 신호가 활성화되고 제 3 속성 정합 신호가 비활성화되는 경우 인에이블 신호를 비활성화 상태로 유지시킨다. 우선순위 강제 회로(58)는 제 2 및 제 3 어드레스 정합 신호가 활성화되고 제 3 속성 정합 신호가 비활성화되는 경우 인에이블 신호를 비활성화 상태로 유지시킨다. 이로인해, 제 3 프로그램가능한 영역은 제 1 프로그램 가능한 영역(41) 또는 제 2 프로그램 가능한 영역(42)중 하나의 영역과 중첩될 수 있다.
본 발명의 또다른 양상은 데이타 처리기가 인에이블 신호를 수신하는 입력을 갖는 액세스 상태 기계(230)를 더 구비한다. 액세스 상태 기계(230)는 적어도 하나의 외부 제어 신호를 적어도 하나의 대음 출력에 제공하여 외부 버스로의 액세스를 제어한다.
본 발명의 또다른 양상은 액세스 사이클이 판독 사이클 또는 기록 사이클인지 여부를 입력 속성이 표시하는 것인데, 이 경우에, 제 1 및 제 2 프로그램 가능한 보호 속성 각각은 판독 및 기록 사이클중 하나의 사이클을 선택하거나 탄지 판독 사이클만을 형성하며; 액세스 사이클이 명령 사이클 도는 데이트 사이클인지 여부를 입력 속성이 표시하는 것인데, 이 경우에, 제 1 및 제 2 프로그램 가능한 보호 속성 각각은 데이타 사이클중 하나를 선택하거나, 데이타 및-명령 사이클 둘다를 선택하며; 또는 액세스 사이클이 관리 사이클 또는 사용자 사이클인지 여부를 입력 속성이 표시하는 것인데, 이 경우에 제 1 및 제 2 프로그램가능한 보호 속성 각각은 관리 사이클중 하나를 선택하거나 관리 및 사용하는 사이클 둘다를 선택하는 것이다.
양호한 실시예에서 본 발명이 설명되는 동안 본 발명이 다양한 방법으로 수정될 수 있고 특별히 설정되어 상술된 것과 다른 많은 실시예가 가능하다는 것이 종래의 기술에 숙련된 자에게는 명백하다. 따라서, 발명의 진정한 의도와 범위내에 드는 발명의 모든 수정을 포함하도록 첨부된 청구 범위에 의해 나타낸다.
제 1 도는 본 발명을 따른 데이타 처리 시스템을 구성하는 블럭도.
제 2 도 내지 제 10 도는 본 발명을 이해하는데 유용한 제 1 도의 칩 선택 회로의 양상을 도시한 도면.
제 2 도는 제 1 도의 데이타 처리 시스템의 메모리 맵의 일부분을 도시한 블럭도.
제 3 도는 제 1 도의 칩 선택 회로의 다수 레벨 보호 회로를 도시하는 블럭도.
제 4 도는 제 1 도의 칩 선택 회로의 프로그램가능한 액세스형 회로를 도시하는 블럭도.
제 5 도는 제 1 도의 칩 선택 회로에 의해 실행되는 제 1 메모리 액세스형의 타이밍도.
제 6 도는 제 1 도의 칩 선택 회로에 의해 실행되는 제 2 메모리 액세스형의 타이밍도.
제 7 도는 제 1 도의 칩 선택 회로에 의해 실행되는 제 3 메모리 액세스형의 타이밍도.
제 8 도는 제 1 도의 칩 선택 회로의 모듈러 칩 선택 제어 회로를 구성하는블럭도.
제 9 도는 제 1 도의 칩 선택 회로의 핀 형태 논리 회로를 도시한 부분적인 블록도 및 부분적인 논리도.
제 10 도는 제 8 도의 모듈러 칩 선택 제어 회로의 타이밍 제어 단을 도시하는 블럭도.
제 11 도는 제 1 도의 칩 선택 회로의 특정한 실시예에 대한 기능적인 블록도를 도시하는 블럭도.
제 12a 도와 제 12b 도는 제 1 도의 칩 선택 회로의 레지스터의 어드레스 맵을 도시하는 블럭도.
제 13 도는 제 11 도의 칩 선택 발생 유닛을 도시하는 블럭도.
제 14 도 내지 제 19 도는 제 13 도의 제어 유닛에 의해 제공되는 다른 인터페이스 타잎들에 대한 타이밍도.
* 주요 부분에 대한 부호의 설명 *
31 : CPU 코어
32 : 칩 선택 회로
33 : 외부 버스 인터페이스
51 : 주 블럭 복호기
54 : 서브 블럭 복호기
64 : 액세스 제어기

Claims (5)

  1. 모듈러 칩 선택 제어 회로(80)에 있어서,
    제1 다수의 어드레스 복호기들(91, 94, 97)을 갖는 어드레스 복호화 스테이지(90)로서, 각각의 어드레스 복호기는 프로그램가능한 영역과 관계되고 입력 어드레스가 상기 프로그램가능한 영역내에 있는 경우 적어도 하나의 대응하는 제어 신호를 활성화시키는, 상기 어드레스 복호화 스테이지(90)와,
    상기 어드레스 복호화 스테이지(90)에 결합되며, 제2 다수의 제어 유닛들 (101, 102)을 갖는 타이밍 제어 스테이지(100)로서, 각각의 제어 유닛은 상기 제1 다수의 어드레스 복호기들(91, 94, 97)로부터 상기 적어도 하나의 대응하는 제어신호를 수신하고 이에 응답하여 대응하는 다수의 타이밍 신호들을 제공하여 메모리 액세스를 제어하는, 상기 타이밍 제어 스테이지(100)와,
    상기 어드레스 복호화 스테이지(90) 및 상기 타이밍 제어 스테이지(100)에 결합되며, 제3 다수의 핀 형태 논리 회로들(111, 112, 113)을 갖는 핀 형태 스테이지(110)로서, 각각의 핀 형태 논리 회로는 다수의 칩 선택 신호들 중 선택된 하나의 신호를 제공하도록 프로그램가능하게되고 상기 제2 다수의 제어 유닛들(101, 102) 각각의 상기 대응하는 다수의 타이밍 신호들의 선택된 신호들에 응답하여 상기 다수의 칩 선택 신호들중 상기 선택된 하나의 신호를 제공하도록 하는, 상기 핀 형태 스테이지(110)를 구비하는 모듈러 칩 선택 제어 회로.
  2. 칩 선택 신호를 제공하는 프로그램가능한 핀 형태 논리 회로(120)에 있어서,
    다수의 칩 선택 핀 기능들중 선택된 칩 선택 핀 기능을 규정하는 비트 필드를 포함하는 프로그램가능한 핀 기능 레지스턴(130)와,
    상기 프로그램 가능한 핀 기능 레지스터(130)에 결합되어 제 1 파이프라인 사이클 동안의 제 1 복종 신호 몇 제 2 파이프라인 사이클 동안의 제 2 복종 신호를 활성화시키는 복종 논리 수단(140)과,
    상기 프로그램가능한 핀 기능 레지스터(130) 및 상기 복종 논리 수단(140)에 결합되어 상기 제 1 복종 신호가 활성화된 경우 상기 선택된 칩 선택 핀 기능에 대응하는 제 1 다수의 입력 타이밍 신호들중 하나의 신호에 응답하여 상기 칩 선택 신호를 활성화하고 상기 제 2 복종 신호가 활성화된 경우 상기 선택된 칩 선택 핀 기능에 대응하는 제 2 다수의 입력 타이밍 신호들중 하나의 신호에 응답하여 상기 칩 선택 신호를 활성화하는 기능 출력 수단(150)을 구비하는 프로그램가능한 핀 형태 논리 회로.
  3. 멀티-레벨 보호 매카니즘을 갖는 데이타 처리기(30)에 있어서,
    프로그램에 응답하여 다수의 메모리 액세스 각각에 대해 어드레스 및 적어도 하나의 대응하는 신호를 순차적으로 발생시키는 중앙 처리 장치(CPU)(31)와,
    상기 CPU(31)에 결합되는 멀티-레벨 보호 회로(50)를 구비하며,
    상기 멀티-레벨 보호 회로는 :
    상기 어드레스를 수신하는 제 1 입력과, 상기 적어도 하나의 대응하는 제어신호를 수신하는 제 2 입력과, 상기 어드레스가 제 1 프로그램가능한 영역(41)내에 있는 경우 제 1 어드레스 정합 신호를 제공하는 제 1 출력 및 상기 적어도 하나의 대응하는 제어 신호가 제 1 프로그램가능한 보호 속성과 정합하는 경우 제 1 속성 정합을 제공하는 제 2 출력을 갖는 제 1 복호기(51)와, 상기 어드레스를 수신하는 제 1 입력과, 상기 적어도 하나의 대응하는 제어 신호를 수신하는 제 2 입력과, 상기 어드레스가 제 2 프로그램가능한 영역(42)내에 있는 경우 제 2 어드레스 정합신호를 제공하는 제 1 출력 및 상기 적어도 하나의 대응하는 제어 신호가 제 2 프로그램가능한 보호 속성과 정합하는 경우 제 2 속성 정합 신호를 제공하는 제 2 출력을 갖는 제 2 복호기(54)와,
    상기 제 1(51) 및 제 2(54) 복호기들 각각의 상기 제 1 및 제 2 출력을 수신하는 입력들 및 외부 장치(22, 23, 24, 25)를 액세스하기 위하여 적어도 하나의 외부 제어 신호의 발생을 인에이블하는 인에이블 신호를 제공하는 출력을 갖는 우선순위 강제 회로(58)를 구비하는데,
    상기 우선순위 강제 회로(58)는 상기 제 1 및 제 2 어드레스 정합 신호들중 단지 하나의 신호가 활성화되고 상기 제 1 및 제 2 속성 정합 신호들중 대응하는 하나의 신호가 활성화된 경우, 상기 인에이블 신호를 활성화시키며,
    상기 우선순위 강제 회로(58)는 상기 제 1 및 제 2 어드레스 정합 신호들이 활성화되고 상기 제 2 속성 정합 신호가 비활성화된 경우, 상기 인에이블 신호를 비활성화로 유지시킴으로써,
    상기 제 2 프로그램가능한 영역(42)이 상기 제 1 프로그램가능한 영역(41)과중첩될 수 있는, 데이타 처리기.
  4. 멀티-레벨 보호 회로(50)에 있어서,
    입력 어드레스를 수신하는 제 1 입력과, 입력 속성을 수신하는 제 2 입력과, 상기 입력 어드레스가 제 1 프로그램 가능한 영역(41)내에 있는 경우 제 1 어드레스 정합 신호를 제공하는 제 1 출력과, 상기 입력 속성이 제 1 프로그램 가능한 보호 속성과 정합하는 경우 제 1 속성 정합 신호를 제공하는 제 2 출력을 갖는 제 1 복호기 (51)와,
    상기 입력 어드레스를 수신하는 제 1 입력과, 상기 입력 속성을 수신하는 제 2 입력과, 상기 입력 어드레스가 제 2 프로그램가능한 영역(42)내에 있는 경우 제 2 어드레스 정합 신호를 제공하는 제 1 출력과, 상기 입력 속성이 제 2 프로그램가능한 보호 속성과 정합하는 경우 제 2 속성 정합 신호를 제공하는 제 2 출력을 갖는 제 2 복호기(54) 및,
    상기 제 1(51) 및 제 2(54) 복호기들 각각의 상기 제 1 및 제 2 출력을 수신하는 입력들과, 외부 장치를 액세스하기 위하여 적어도 하나의 외부 제어 신호의 발생을 인에이블하는 인에이블 신호를 제공하는 출력을 갖는 우선순위 강제 회로 (58)를 구비하며,
    상기 우선순위 강제 회로(58)는 상기 제 1 및 제 2 어드레스 정합 신호들중 단지 하나의 정합 신호가 활성화되고 상기 제 1 및 제 2 속성 정합 신호들중 대응하는 하나의 신호가 활성화되는 경우 상기 인에이블 신호를 활성화하며,
    상기 우선순위 강제 회로(58)는 상기 제 1 및 제 2 어드레스 정합 신호들이 활성화되고 상기 제 2 속성 정합 신호가 비활성화되는 경우, 상기 인에이블 신호를 비활성화로 유지시킴으로써,
    상기 제 2 프로그램가능한 영역(42)이 상기 제 1 프로그램가능한 영역(41)과 중첩될 수 있는 멀티-레벨 보호 회로.
  5. 데이타 처리기에 멀티-레벨 보호를 제공하는 방법에 있어서,
    제 1 어드레스 영역(41) 및 상기 제1 어드레스 영역과 관계되는 제 1 프로그램가능한 보호 속성을 규정하는 단계와,
    제 2 어드레스 영역(42) 및 상기 제2 어드레스 영역(42)과 관계되는 제 2 프로그램가능한 보호 속성을 규정하는 단계로서, 이 단계에 의해, 상기 제 2 어드레스 영역(42)을 상기 제 1 어드레스 영역(41)과 적어도 부분적으로 중첩시키는, 상기 규정 단계와,
    대응하는 입력 속성을 갖는 입력 어드레스를 수신하는 단계와,
    상기 입력 어드레스가 상기 제 1 어드레스 영역(41)내에 있는 경우 제 1 어드레스 정합을 검출하는 단계와,
    상기 입력 어드레스가 상기 제 2 어드레스 영역(42)내에 있는 경우 제 2 어드레스 정합을 검출하는 단계와,
    입력 속성이 상기 제 1 프로그램가능한 보호 속성과 정합하는 경우 제 1 속성 정합을 검출하는 단계와,
    상기 입력 속성이 상기 제 2 프로그램가능한 보호 속성과 정합하는 경우 제 2 속성 정합을 검출하는 단계와,
    상기 제 1 몇 제 2 어드레스 정합들 중 단지 하나의 어드레스 정합만의 검출 및 상기 제 1 및 제 2 속성 정합들중 대응하는 하나의 어드레스 정합의 검출에 응답하여 인에이블 신호를 활성화시키는 단계 및
    상기 제 1 및 제 2 어드레스 정합들 둘다의 검출 및 상기 제 2 속성 정합 검출하는데 실패에 응답하여 상기 인에이블 신호를 비활성화로 유지시키는 단계를 포함하는 데이터 처리기에 멀티-레벨 보호 제공 방법.
KR1019950028886A 1994-08-31 1995-08-31 모듈러 칩 선택제어회로 및 이와 관계된 회로 및 방법 KR100341947B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US298,638 1989-01-18
US08/298,638 US5511182A (en) 1994-08-31 1994-08-31 Programmable pin configuration logic circuit for providing a chip select signal and related method
US298,868 1994-08-31
US298868 1994-08-31
US08/298,868 US5617559A (en) 1994-08-31 1994-08-31 Modular chip select control circuit and method for performing pipelined memory accesses
US08/445,817 US5649159A (en) 1994-08-31 1995-05-22 Data processor with a multi-level protection mechanism, multi-level protection circuit, and method therefor
US445,817 1995-05-22
US445817 1995-05-22
US298638 1999-04-23

Publications (2)

Publication Number Publication Date
KR960008570A KR960008570A (ko) 1996-03-22
KR100341947B1 true KR100341947B1 (ko) 2002-11-22

Family

ID=27443034

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950028886A KR100341947B1 (ko) 1994-08-31 1995-08-31 모듈러 칩 선택제어회로 및 이와 관계된 회로 및 방법

Country Status (2)

Country Link
EP (1) EP0898232A2 (ko)
KR (1) KR100341947B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60324203D1 (de) * 2003-06-27 2008-11-27 Fujitsu Ltd Verfahren und system zur datenübertragung
KR102259166B1 (ko) * 2018-11-29 2021-06-02 한국전자통신연구원 프로세서 핀 제어 장치 및 방법

Also Published As

Publication number Publication date
KR960008570A (ko) 1996-03-22
EP0898232A2 (en) 1999-02-24

Similar Documents

Publication Publication Date Title
US5649159A (en) Data processor with a multi-level protection mechanism, multi-level protection circuit, and method therefor
KR100391726B1 (ko) 프로그램가능한메모리억세스인터페이스타입의집적회로마이크로프로세서와이에관련된방법
US5511182A (en) Programmable pin configuration logic circuit for providing a chip select signal and related method
US5502835A (en) Method for synchronously accessing memory
US5339395A (en) Interface circuit for interfacing a peripheral device with a microprocessor operating in either a synchronous or an asynchronous mode
US5047922A (en) Virtual I/O
KR900005453B1 (ko) 공유자원의 로크아웃 동작방법 및 장치
JP3406744B2 (ja) 制御されたバーストメモリアクセスを備えたデータプロセッサおよびその方法
US6216191B1 (en) Field programmable gate array having a dedicated processor interface
JPH10134008A (ja) 半導体装置およびコンピュータシステム
EP0172493A2 (en) Information processing system
JP4225513B2 (ja) モジュール方式チップ選択制御回路および関連する回路および方法
JPH1091579A (ja) データ・プロセッサにおいてサイクル毎に待受状態を判定する方法および装置
US5727005A (en) Integrated circuit microprocessor with programmable memory access interface types
JP2008545190A (ja) 集積回路およびオンチップメモリへのアクセスの確保方法
KR100341947B1 (ko) 모듈러 칩 선택제어회로 및 이와 관계된 회로 및 방법
KR100225727B1 (ko) 데이타 처리장치(Data processing system)
US7065669B2 (en) System and method for providing a write strobe signal to a receiving element before both an address and data signal
JP2004078396A (ja) メモリ装置
US6076170A (en) Method and apparatus for selectively programming access time in a data processor
JPH09167117A (ja) マイクロコンピュータおよびこれを用いたリアルタイムシステム
EP0335502A2 (en) Microcontroller and associated method
JP2000112878A (ja) デ―タ処理装置内の転送要求タイミングを制御するための装置および方法
JP2003296130A (ja) マイクロコンピュータ
JP4319788B2 (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: 20121231

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140317

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150515

Year of fee payment: 14