KR20020003672A - 칩외부 접속 및 에러복구 가능한 메모리/주변장치의제어장치 및 그 방법 - Google Patents

칩외부 접속 및 에러복구 가능한 메모리/주변장치의제어장치 및 그 방법 Download PDF

Info

Publication number
KR20020003672A
KR20020003672A KR1020000035084A KR20000035084A KR20020003672A KR 20020003672 A KR20020003672 A KR 20020003672A KR 1020000035084 A KR1020000035084 A KR 1020000035084A KR 20000035084 A KR20000035084 A KR 20000035084A KR 20020003672 A KR20020003672 A KR 20020003672A
Authority
KR
South Korea
Prior art keywords
error
external
state
signals
asb
Prior art date
Application number
KR1020000035084A
Other languages
English (en)
Other versions
KR100345309B1 (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 송문섭
Priority to KR1020000035084A priority Critical patent/KR100345309B1/ko
Publication of KR20020003672A publication Critical patent/KR20020003672A/ko
Application granted granted Critical
Publication of KR100345309B1 publication Critical patent/KR100345309B1/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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치 및 그 방법을 제공하기 위한 것으로, 이러한 본 발명은 칩외부 접속 및 에러복구를 수행하고, ASB를 기본접속으로 하고 사용자 인터페이스 기능은 APB 접속으로 하는 시스템 제어부와; ASB를 통해 입력된 신호들을 조작해 시스템 제어부의 신호들을 생성하고, 시스템 제어부에서 생성된 신호들을 ASB 타이밍 규격에 적합한 신호들로 변경하여 ASB 버스로 출력시키는 AMBA ASB 접속부와; APB를 통해 입력된 신호들을 조작해 시스템 제어부의 신호들을 생성하고, 시스템 제어부에서 생성된 신호들을 APB 타이밍 규격에 적합한 신호들로 변경하여 APB 버스로 출력시키는 AMBA APB 접속부와; 시스템 제어부의 데이터 크기와 시스템 제어부 외부의 데이터 크기가 서로 다르면 이를 조정하기 위해 동적 데이터 크기 재처리 기능을 수행하는 동적 데이터 패스 로직부로 구성함으로써, AMBA를 채택한 응용칩들에 대한 호환성을 유지하고, 에러 복구 기능을 지원할 수 있게 되는 것이다.

Description

칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치 및 그 방법{Apparatus and method for controlling memory and peripheral device with chip outer connection and error repair}
본 발명은 칩외부 접속 방식 및 에러복구 기능이 프로그램 가능한 메모리/주변장치의 제어에 관한 것으로, 특히 AMBA를 채택한 응용칩들에 완벽하게 호환될 수 있도록 AMBA 규격을 엄격히 준수하며, 외부 주변 장치를 변경할 경우 그 정보를 저장하고, 저장된 정보에 따라 접속 방식을 선택하며, 에러 복구 기능을 지원하기에 적당하도록 한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치 및 그 방법에 관한 것이다.
최근 ARM 사의 CPU 코어 계열을 탑재한 응용 칩들이 대거 발표되고 있다. 이는 ARM사가 저전력 SoC(System On Chip) 개발 경쟁에 돌입한 수많은 칩 제조회사들에게 효과적이며, 경제적인 코어 솔루션(Core Solution)을 제공하고 있기 때문이다.
이러한 상황에서 ARM 사가 제시한 AMBA(Advanced Microcontroller Bus Architecture)는 ARM 코어를 사용하는 제품개발에 있어 표준으로 자리잡을 것으로 예상된다.
도 1은 일반적인 AMBA의 블록구성도이다.
여기서 참조번호 1은 외부버스 접속장치이고, 2는 ARM 프로세서이며, 3은 칩내부의 단일칩 램이고, 4는 APB(Advanced Peripheral Bus) 접속을 위한 브릿지이며, 5는 UART(Universal Asynchronous Receiver Transmitter, 범용 비동기 송수신기)이고, 6은 타이머이고, 7은 PIO이다.
그래서 AMBA는 크게 두 개의 영역, 즉 ASB(Advanced System Bus) 영역과 APB(Advanced Peripheral Bus) 영역으로 구분된다. ASB는 통상의 일반 버스 구조와 동일한 역할을 담당하며, APB는 통상의 버스 구조에서 버스 사용 빈도수가 적은 모듈들을 위한 전용 버스이다. 그래서 이 APB의 레지스터를 래치하는 방식으로 구현하며, 저전력 구조를 실현할 수 있다.
본 발명은 이러한 제품 개발에 있어서, 응용 칩과 외부 주변기기의 다양한 접속 방식을 사용자가 프로그래머블하게 선택할 수 있도록 함으로써 칩의 호환성을 크게 향상시키고자 한 것이다.
메모리/주변장치 제어기는 8, 16, 32 비트 칩내부/칩외부 주변장치들 사이에서 버스 전달에 가해지는 데이터의 정확한 다중화 접속을 보장하는 브릿지의 역할을 수행한다.
이를 위해 본 발명에서는 크게 네 가지 부분을 고려하였다.
1) 저전력 구조에 적합 모델을 설계를 위해 AMBA 기반 시스템을 탑재 칩으로 상정하고, 완전한 AMBA 호환성을 보장한다.
2) 읽기/쓰기가 가능한 외부기기 상태정보 레지스터를 두고 이를 ARM 코어에서 제어할 수 있도록 함으로써 사용자 프로그램 기능을 보장한다.
3) 외부기기 상태정보 레지스터에 "에러 상태 정보" 비트를 할당하여 에러가발생했을 때 그 에러의 형태 및 주소/데이터를 기록하여 둠으로써, 에러 복구 루틴(통상의 트랩 핸들러)의 기능 향상을 지원한다.
4) 메모리 데이터 폭이 칩 내부 버스 데이터 폭 보다 작을 경우의 읽기/쓰기를 위해 다중 싸이클 기능을 지원한다.
현재 본 발명 분야와 유사한 개발 사례로는 MITEL 사의 Butterfly 칩을 들 수 있는데, 그 칩은 기능은 유사하나, AMBA 호환성이 없어 본 발명의 목적 및 적용 범위와는 다르다고 할 수 있으며, 또한 MITEL 사의 Butterfly 칩은 에러 복구 기능을 지원하지 못하는 단점도 있다.
이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 AMBA를 채택한 응용칩들에 완벽하게 호환될 수 있도록 AMBA 규격을 엄격히 준수하며, 외부 주변 장치를 변경할 경우 그 정보를 저장하고, 저장된 정보에 따라 접속 방식을 선택하며, 에러 복구 기능을 지원할 수 있는 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치 및 그 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 일실시예에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치는,
칩외부 접속 및 에러복구를 수행하고, ASB를 기본접속으로 하고 사용자 인터페이스 기능은 APB 접속으로 하는 시스템 제어부와; ASB를 통해 입력된 신호들을 조작해 상기 시스템 제어부의 신호들을 생성하고, 상기 시스템 제어부에서 생성된신호들을 ASB 타이밍 규격에 적합한 신호들로 변경하여 ASB 버스로 출력시키는 AMBA ASB 접속부와; APB를 통해 입력된 신호들을 조작해 상기 시스템 제어부의 신호들을 생성하고, 상기 시스템 제어부에서 생성된 신호들을 APB 타이밍 규격에 적합한 신호들로 변경하여 APB 버스로 출력시키는 AMBA APB 접속부와; 상기 시스템 제어부의 데이터 크기와 상기 시스템 제어부 외부의 데이터 크기가 서로 다르면 이를 조정하기 위해 동적 데이터 크기 재처리 기능을 수행하는 동적 데이터 패스 로직부로 이루어짐을 그 기술적 구성상의 특징으로 한다.
상기와 같은 목적을 달성하기 위하여 본 발명의 일실시예에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어방법은,
에러복구 관련 레지스터를 세팅하는 단계와; 외부기기의 에러가 발생하면 에러 상태를 판별하고, 판별된 에러의 에러복구가 가능한지를 판별하는 단계와; 상기 에러복구가 가능하면, 에러 상태 값을 기록하고 인터럽트를 요청하는 단계와; 상기 에러복구가 가능하지 않으면, 치명적 에러 상황을 보고하는 단계를 수행함을 그 기술적 구성상의 특징으로 한다.
도 1은 일반적인 AMBA의 블록구성도이고,
도 2는 본 발명에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치의 블록구성도이며,
도 3은 도 2에서 환경정보 저장레지스터의 슬라이스별 기능을 보인 표이고,
도 4는 도 2에서 대기/정지 상태발생부의 상태천이도이며,
도 5는 도 2에서 에러상태 저장레지스터의 비트별 할당상태를 보인 표이고,
도 6은 도 2에서 대기상태가 1개일 경우의 다중 싸이클 실행 타이밍도이며,
도 7은 본 발명에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어방법을 보인 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : 시스템 제어부 11 : 대기/정지상태 발생부
12 : 변형주소 발생부 13 : 외부기기 제어신호 발생부
14 : 에러상태 판정부 15 : 상태정보 저장부
16 : 환경정보 저장레지스터 17 ; 에러상태 저장레지스터
20 : AMBA ASB 접속부 30 : AMBA APB 접속부
40 : 동적데이터 패스로직부
이하, 상기와 같은 본 발명 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치 및 그 방법의 기술적 사상에 따른 일실시예를 설명하면 다음과 같다.
도 2는 본 발명에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치의 블록구성도이다.
이에 도시된 바와 같이, 칩외부 접속 및 에러복구를 수행하고, ASB를 기본접속으로 하고 사용자 인터페이스 기능은 APB 접속으로 하는 시스템 제어부(10)와; ASB를 통해 입력된 신호들을 조작해 상기 시스템 제어부(10)의 신호들을 생성하고, 상기 시스템 제어부(10)에서 생성된 신호들을 ASB 타이밍 규격에 적합한 신호들로 변경하여 ASB 버스로 출력시키는 AMBA ASB 접속부(20)와; APB를 통해 입력된 신호들을 조작해 상기 시스템 제어부(10)의 신호들을 생성하고, 상기 시스템 제어부(10)에서 생성된 신호들을 APB 타이밍 규격에 적합한 신호들로 변경하여 APB 버스로 출력시키는 AMBA APB 접속부(30)와; 상기 시스템 제어부(10)의 데이터 크기와 상기 시스템 제어부(10) 외부의 데이터 크기가 서로 다르면 이를 조정하기 위해 동적 데이터 크기 재처리 기능을 수행하는 동적 데이터 패스 로직부(40)로 구성된다.
상기에서 시스템 제어부(10)는, 상태정보 저장부(14)로부터 정보 신호를 받아 대기/정지 상태를 발생시켜, 특정한 외부기기 액세스를 위해 '대기 상태'를 생성하며, 특정한 외부기기 보다 느린 기기의 액세스를 위해 '정지 대기 상태'를 발생시키는 대기/정지 상태 발생부(11)와; 상기 AMBA ASB 접속부(20)로부터 입력받은 데이터에 따라 외부 주변 장치에 맞는 어드레스를 발생시키고, 다중 싸이클 모드 수행시 다중 싸이클 카운터 값을 어드레스에 추가하는 변형주소 발생부(12)와; 외부기기에 대한 제어신호를 발생시키는 외부기기 제어신호 발생부(13)와; 외부기기의 에러 복구 가능 여부를 구분하고, 에러 상태를 판정하는 에러상태 판정부(14)와; ARM에 대한 읽기/쓰기 접근이 가능하도록 하고, 외부 메모리 영역에 대한 정보를 프로그램 가능하도록 환경정보 저장레지스터(16)와, 에러가 발생했을 경우 발생 주소와 데이터 및 에러의 형태를 저장할 수 있는 에러상태 저장레지스터(17)를 구비한 상태정보 저장부(15)로 구성된다.
상기에서 대기/정지 상태 발생부(11)는, 리셋 상태인 초기화 상태와, 대기 상태 카운터 값이 환경정보 저장레지스터(16)에 기록된 대기상태수 보다 작은 상태인 내부 대기 발생 상태와, 셋팅된 대기 상태를 완료한 상태인 전송완료 상태와, 정지대기 카운터 값이 레지스터에 기록된 정지대기수 보다 작은 상태인 정지 상태와, 외부 대기 발생의 동기를 위한 준비 상태인 기본대기 상태와, 외부 대기 요청 신호가 '1'인 상태인 외부대기 발생 상태와, 대기상태가 없는 최고 속도 상태인 최고속도 상태를 포함하여 대기/정지 상태를 발생시킨다.
상기에서 에러상태 판정부(14)는, 요청된 어드레스가 해당 기기의 최대 뱅크 크기를 넘어설 때 발생시키는 어드레스 초과와, 외부 메모리가 sub-memory width write를 처리할 수 있도록 하는 부분 쓰기 금지 메모리에 대한 쓰기 에러와, 연결된 외부 기기에 의해 수용되는 액세스가 어떤 타입인지를 제어기에 알려주는 주변기기 액세스 에러와, 최대 정지 대기 수(24)를 초과한 뒤에도 외부 대기 요청 신호가 활성화되어 있을 경우 발생시키는 최대 정지 대기 수 초과에 의해 에러상태를 판정한다.
도 7은 본 발명에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어방법을 보인 흐름도이다.
이에 도시된 바와 같이, 에러복구 관련 레지스터를 세팅하는 단계(ST11)와; 외부기기의 에러가 발생하면 에러 상태를 판별하고, 판별된 에러의 에러복구가 가능한지를 판별하는 단계(ST12 ~ ST14)와; 상기 에러복구가 가능하면, 에러 상태 값을 기록하고 인터럽트를 요청하는 단계(ST15)(ST16)와; 상기 에러복구가 가능하지 않으면, 치명적 에러 상황을 보고하는 단계(ST17)를 수행한다.
이와 같이 구성된 본 발명에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치 및 그 방법의 동작을 첨부한 도면에 의거 상세히 설명하면 다음과 같다.
먼저 본 발명에서는 모듈의 특성상 ASB 접속을 기본으로 하되, 저전력 구조를 실현하기 위해 사용자 인터페이스 기능 블록들은 APB 접속 방식을 선택하였다.
그래서 AMBA ASB/APB 접속부(20)(30)는 ASB/APB를 통해 입력된 신호들을 조작해 내부 신호들을 생성하고, 내부에서 생성된 신호들을 ASB/APB 타이밍 규격에 적합한 신호들로 변경하여 ASB/APB 버스로 출력시키는 역할을 수행한다. 이 AMBA ASB/APB 접속부(20)(30)의 기능을 통해 AMBA 호환성을 보장할 수 있다.
대기/정지상태 발생부(11)는 프로그램이 가능하도록 구성한다. 그래서 이 대기/정지상태 발생부(11)는 특정한 외부기기 액세스를 위해 프로그램 가능한 '대기 상태' 생성이 가능하며, 보다 느린 기기의 액세스를 위해 '정지 대기 상태'를 발생시킨다. 이를 위해 외부 메모리 영역의 특성 정보를 관리하는 상태정보 저장부(14)로부터 정보 신호를 받아 대기/정지상태를 발생시키는 상태 머신을 가지고 있다. 대기/정지상태 발생부(11)의 상태천이도는 도 4와 같으며, 각 상태에 대한 정의는다음과 같다.
* 상태 정의
; 초기화 상태 - 리셋 상태
; 내부 대기 발생 상태 - 대기 상태 카운터 값이 환경정보 저장레지스터(16)에 기록된 대기상태수 보다 작은 상태
; 전송완료 상태 - 셋팅된 대기 상태를 완료한 상태
; 정지 상태 - 정지대기 카운터 값이 레지스터에 기록된 정지대기수 보다 작은 상태
; 기본대기 상태 - 외부 대기 발생의 동기를 위한 준비 상태
; 외부대기 발생 상태 - 외부 대기 요청 신호가 '1'인 상태
; 최고속도 상태 - 대기상태가 없는 최고 속도 상태(단일 싸이클 액세스)
또한 변형주소 발생부(12)는 다중싸이클 모드 지원기능을 갖는다. 그래서 변형주소 발생부(12)는 AMBA ASB 접속부(20)를 통해 ASB로부터 입력받은 32비트 어드레스 버스의 데이터에 따라 외부 주변 장치에 맞게 어드레스를 발생시켜주는 기능을 수행한다. 다중 싸이클 모드를 수행할 경우, 다중 싸이클 카운터 값을 어드레스에 추가한다.
또한 외부기기 제어신호 발생부(13)는 외부기기에 대한 제어신호를 발생시킨다.
또한 에러상태 판정부(14)는 에러 복구 가능 여부를 구분하는 레지스터와 에러 상태 판정 로직으로 이루어져 있다. 에러 복구 가능 여부를 구분하는 레지스터의 슬라이스별 기능 정의는 도 5에 나타나 있다. 도 5에 할당된 각 비트는 에러 상태 종류 각각에 일대일로 매칭되어 있다(최하위 비트 기준 정렬). 즉, 어드레스 초과 에러에 해당되는 비트는 레지스터[0]에 해당되며, '1'로 셋팅되어 있으면 복구 가능을 의미한다. 이 레지스터는 ARM에 의한 읽기/쓰기가 가능하므로 다양한 에러 복구 루틴 설계를 가능하게 할 수 있다.
에러 상태 판정 로직은 칩 외부 인터페이스와 관련된 모든 정보 신호를 받아 발생된 에러의 종류를 판정하고 이 에러가 복구 가능한 에러이면 이 판정된 정보를 외부기기 정보 레지스터의 에러 상태 정보 비트에 세팅한 뒤, 인터럽트를 요청하는 역할을 담당한다. 하지만 복구 불가능 에러(치명적 에러)이면 인터럽트를 곧바로 요청하지 않고 시스템 제어기로 치명적 에러 발생을 보고함으로써 복구가 불가능한 에러를 처리하기 위한 불필요한 프로세스를 제거할 수 있도록 한다.
도 7은 이러한 에러상태 판정부(14)의 처리 흐름을 보여 주고 있다.
다음은 에러 발생 상태에 따라 할당된 값을 나타낸다.
1) 어드레스 초과 : '0'
; 이 에러는 요청된 어드레스가 해당 기기의 최대 뱅크 크기를 넘어설 때 발생한다.
2) 부분 쓰기 금지 메모리에 대한 쓰기 에러 : '1'
; 상태정보 저장부(15)의 부분쓰기[3] 비트의 기능과 같이, 외부 메모리가 sub-memory width write를 처리할 수 있다는 것을 의미한다. sub-memory width write는 오퍼랜드가 메모리의 단어 폭보다 작은 경우의 쓰기 액세스를 나타낸다.이 비트가 클리어되어 있는 상태에서 데이터 크기[1:0] 보다 적은 데이터를 쓰기 위한 어드레스가 검출되면 'Data Abort'가 발생한다.
3) 주변기기 액세스 에러 : '2'
; 이 에러는 연결된 외부 기기에 의해 수용되는 액세스가 어떤 타입인지를 제어기에게 알려준다. 주변기기는 operand packing(메모리 데이터 폭과 내부 오퍼랜드 데이터 폭이 다를 경우 이를 처리하기 위해 16비트 데이터 2개를 32비트 데이터로 packing하는 등의 동적 데이터 패스 기능)이나 sub memory width access(메모리의 한 번지 데이터에 대해 그 데이터 폭의 일부를 읽고 쓸 수 있는 기능)를 할 수 없도록 정의되어 있으므로, M(Memory)/P(Peripheral) 비트가 '0'인 영역에 대해서는 오퍼랜드 크기가 메모리 크기와 같지 않으면 'Data Abort'가 발생한다.
4) 최대 정지 대기 수 초과 : '3'
; 최대 정지 대기 수(24)를 초과한 뒤에도 외부 대기 요청 신호가 활성화되어 있을 경우 발생한다.
이렇게 정의한 에러뿐만 아니라 사용자는 최대 32개까지 에러를 정의할 수 있고, 그 복구 가능 여부를 결정하여 프로그램 할 수 있다.
한편 상태정보 저장부(15)는 8개의 외부 메모리 영역에 대한 정보를 프로그램 가능하도록 8개의 32비트 레지스터를 두고, ARM에 대한 읽기/쓰기 접근이 가능하도록 설계한다. 또한 에러 복구 기능을 지원하기 위해 에러가 발생했을 경우 발생 주소와 데이터 및 에러의 형태를 저장할 수 있는 16개의 주소 저장/데이터 저장레지스터를 내장하고 있다. 대기/정지 상태 발생부(11)는 상태정보 저장부(15) 내의 환경정보 저장 레지스터(16)의 각 비트 슬라이스 정보(도 3)에 따라 동작되어 진다.
이러한 환경정보 저장 레지스터(16)의 슬라이스별 기능 정의는 다음과 같다.
* 데이터 크기[1:0] 비트는 외부 기기에 연결된 외부 데이터 버스의 크기를 내부 상태 머신에게 알려준다. ('00' - 바이트, '01' - 하드워드, '1x' - 워드)
* M/P[2] 비트는 연결된 외부 기기에 의해 수용되는 액세스가 어떤 타입인지를 제어기에게 알려준다. 주변기기는 operand packing(메모리 데이터 폭과 내부 오퍼랜드 데이터 폭이 다를 경우 이를 처리하기 위해 16비트 데이터 2개를 32비트 데이터로 packing하는 등의 동적 데이터 패스 기능)이나 sub memory width access(메모리의 한 번지 데이터에 대해 그 데이터 폭의 일부를 읽고 쓸 수 있는 기능)를 할 수 없도록 정의되어 있으므로, M(Memory)/P(Peripheral) 비트가 '0'인 영역에 대해서는 오퍼랜드 크기가 메모리 크기와 같지 않으면 'Data Abort'가 발생한다.
* 부분쓰기[3] 비트가 세트되어 있으면 외부 메모리가 sub-memory width write를 처리할 수 있다는 것을 나타낸다. sub-memory width write는 오퍼랜드가 메모리의 단어 폭보다 작은 경우의 쓰기 액세스를 나타낸다. 이 비트가 클리어되어 있는 상태에서 데이터 크기[1:0] 보다 적은 데이터를 쓰기 위한 어드레스가 검출되면 'Data Abort'가 발생한다.
* 읽기 전용[4] 비트가 세트되어 있으면 연결된 외부기기에 대해서는 읽기 액세스만 수행할 수 있다는 것을 나타낸다. 만약 버스가 이 외부기기에 쓰기를 시도한다면 'data abort'를 발생시킨다.
* 자동 대기[5] 비트가 세트되어 있으면 지금 수행하고 있는 액세스는 내부의 대기/정지 상태 발생부(11)에 의해 제어되는 대기 상태를 가진다는 것을 의미한다. 이 비트가 클리어되어 있으면 대기 상태가 외부 대기 요청 신호에 의해 제어된다는 것을 의미한다.
* 에러 상태[20:23] 비트는 그 기기에 대한 액세스에서 발생되는 에러의 상태를 나타내며, 이 값은 ARM에 의한 읽기 작업만을 허가하고, 에러 상태 판정부(14)가 쓰기 작업을 실행한다.
한편 동적 데이터 패스 로직부(40)는 칩 내부의 데이터 크기와 칩 외부의 데이터 크기가 서로 다를 경우, 이를 조정하기 위해 동적 데이터 크기 재처리 기능을 수행한다.
동적 데이터 패스 로직부(40)의 동작은 내부 버스 데이터 크기와 메모리 데이터 크기의 관계에 따라 다음과 같은 두 경우로 구분할 수 있다.
(1) 내부 데이터 크기 =< 메모리 데이터 크기
; 이 경우 통상의 정상적인 데이터 전송이 이루어진다.
(2) 내부 데이터 크기 > 메모리 데이터 크기
; 이 경우 다중 싸이클이 수행되며, 이를 위해 변형주소 발생부(12)는 다중 싸이클 카운터 값에 따라 별도의 어드레스를 발생시킨다.
이러한 동적 데이터 패스 로직부(40)의 다중 싸이클 실행에 대한 타이밍도를 도 6에 보였다.
이처럼 본 발명은 AMBA를 채택한 응용칩들에 완벽하게 호환될 수 있도록 AMBA 규격을 엄격히 준수하며, 외부 주변 장치를 변경할 경우 그 정보를 저장하고, 저장된 정보에 따라 접속 방식을 선택하며, 에러 복구 기능을 지원하게 되는 것이다.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 하기 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.
이상에서 살펴본 바와 같이, 본 발명에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치 및 그 방법은 AMBA를 채택한 응용칩들에 완벽하게 호환될 수 있도록 AMBA 규격을 엄격히 준수하며, 외부 인터페이스 모듈의 저전력을 고려할 수 있으며, 칩 외부 주변기기의 장치 특성의 변화에도 적용할 수 있는 사용자 프로그램 기능을 보장하고, 프로그램 가능한 에러 복구 기능 지원을 가능하게 함으로써 AMBA 채택 칩 개발을 위한 설계 IP(Intellectual Property)로 사용할 수 있는 효과가 있게 된다. 이를 통하여 칩 외부의 메모리 및 기타 주변 장치가 변경되더라도 그 정보를 프로그램 함으로써 개발된 칩의 성능 개선 및 호환성 향상에 기여할 수 있는 효과가 있게 된다.

Claims (5)

  1. 칩외부 접속 및 에러복구를 수행하고, ASB를 기본접속으로 하고 사용자 인터페이스 기능은 APB 접속으로 하는 시스템 제어부와;
    ASB를 통해 입력된 신호들을 조작해 상기 시스템 제어부의 신호들을 생성하고, 상기 시스템 제어부에서 생성된 신호들을 ASB 타이밍 규격에 적합한 신호들로 변경하여 ASB 버스로 출력시키는 AMBA ASB 접속부와;
    APB를 통해 입력된 신호들을 조작해 상기 시스템 제어부의 신호들을 생성하고, 상기 시스템 제어부에서 생성된 신호들을 APB 타이밍 규격에 적합한 신호들로 변경하여 APB 버스로 출력시키는 AMBA APB 접속부와;
    상기 시스템 제어부의 데이터 크기와 상기 시스템 제어부 외부의 데이터 크기가 서로 다르면 이를 조정하기 위해 동적 데이터 크기 재처리 기능을 수행하는 동적 데이터 패스 로직부로 구성된 것을 특징으로 하는 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치.
  2. 제 1 항에 있어서, 상기 시스템 제어부는,
    상태정보 저장부로부터 정보 신호를 받아 대기/정지 상태를 발생시켜, 특정한 외부기기 액세스를 위해 '대기 상태'를 생성하며, 특정한 외부기기 보다 느린 기기의 액세스를 위해 '정지 대기 상태'를 발생시키는 대기/정지 상태 발생부와;
    상기 AMBA ASB 접속부로부터 입력받은 데이터에 따라 외부 주변 장치에 맞는어드레스를 발생시키고, 다중 싸이클 모드 수행시 다중 싸이클 카운터 값을 어드레스에 추가하는 변형주소 발생부와;
    외부기기에 대한 제어신호를 발생시키는 외부기기 제어신호 발생부와;
    외부기기의 에러 복구 가능 여부를 구분하고, 에러 상태를 판정하는 에러상태 판정부와;
    ARM에 대한 읽기/쓰기 접근이 가능하도록 하고, 외부 메모리 영역에 대한 정보를 프로그램 가능하도록 환경정보 저장레지스터와, 에러가 발생했을 경우 발생 주소와 데이터 및 에러의 형태를 저장할 수 있는 에러상태 저장레지스터를 구비한 상태정보 저장부를 포함하여 구성된 것을 특징으로 하는 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치.
  3. 제 2 항에 있어서, 상기 대기/정지 상태 발생부는,
    리셋 상태인 초기화 상태와, 대기 상태 카운터 값이 환경정보 저장레지스터에 기록된 대기상태수 보다 작은 상태인 내부 대기 발생 상태와, 셋팅된 대기 상태를 완료한 상태인 전송완료 상태와, 정지대기 카운터 값이 레지스터에 기록된 정지대기수 보다 작은 상태인 정지 상태와, 외부 대기 발생의 동기를 위한 준비 상태인 기본대기 상태와, 외부 대기 요청 신호가 '1'인 상태인 외부대기 발생 상태와, 대기상태가 없는 최고 속도 상태인 최고속도 상태를 포함하여 대기/정지 상태를 발생시키는 것을 특징으로 하는 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치.
  4. 제 2 항에 있어서, 상기 에러상태 판정부는,
    요청된 어드레스가 해당 기기의 최대 뱅크 크기를 넘어설 때 발생시키는 어드레스 초과와, 외부 메모리가 sub-memory width write를 처리할 수 있도록 하는 부분 쓰기 금지 메모리에 대한 쓰기 에러와, 연결된 외부 기기에 의해 수용되는 액세스가 어떤 타입인지를 제어기에 알려주는 주변기기 액세스 에러와, 최대 정지 대기 수를 초과한 뒤에도 외부 대기 요청 신호가 활성화되어 있을 경우 발생시키는 최대 정지 대기 수 초과에 의해 에러상태를 판정하는 것을 특징으로 하는 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치.
  5. 에러복구 관련 레지스터를 세팅하는 단계와;
    외부기기의 에러가 발생하면 에러 상태를 판별하고, 판별된 에러의 에러복구가 가능한지를 판별하는 단계와;
    상기 에러복구가 가능하면, 에러 상태 값을 기록하고 인터럽트를 요청하는 단계와;
    상기 에러복구가 가능하지 않으면, 치명적 에러 상황을 보고하는 단계를 수행하는 것을 특징으로 하는 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어방법.
KR1020000035084A 2000-06-24 2000-06-24 칩외부 접속 및 에러복구 가능한 메모리/주변장치의제어장치 및 그 방법 KR100345309B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000035084A KR100345309B1 (ko) 2000-06-24 2000-06-24 칩외부 접속 및 에러복구 가능한 메모리/주변장치의제어장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000035084A KR100345309B1 (ko) 2000-06-24 2000-06-24 칩외부 접속 및 에러복구 가능한 메모리/주변장치의제어장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20020003672A true KR20020003672A (ko) 2002-01-15
KR100345309B1 KR100345309B1 (ko) 2002-07-25

Family

ID=19673701

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000035084A KR100345309B1 (ko) 2000-06-24 2000-06-24 칩외부 접속 및 에러복구 가능한 메모리/주변장치의제어장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100345309B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005059765A1 (fr) * 2003-12-18 2005-06-30 Zte Corporation Convertisseur a interface bus apte a convertir un protocole de bus amba ahb en protocole de bus de type i960

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0431947A (ja) * 1990-05-29 1992-02-04 Oki Electric Ind Co Ltd インタフェース制御装置
US5499346A (en) * 1993-05-28 1996-03-12 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
EP0764907A1 (en) * 1995-09-22 1997-03-26 International Business Machines Corporation Method and system for error recovery in a data processing system
JPH10161963A (ja) * 1996-11-28 1998-06-19 Canon Inc データ処理装置およびデータ処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
KR19990084442A (ko) * 1998-05-06 1999-12-06 김영환 피씨아이(pci) 버스를 이용한 디바이스의 에러처리방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005059765A1 (fr) * 2003-12-18 2005-06-30 Zte Corporation Convertisseur a interface bus apte a convertir un protocole de bus amba ahb en protocole de bus de type i960
GB2424104A (en) * 2003-12-18 2006-09-13 Zte Corp A bus interface converter capable of convert AMBA AHB bus protocol into i960-like bus protocol

Also Published As

Publication number Publication date
KR100345309B1 (ko) 2002-07-25

Similar Documents

Publication Publication Date Title
US7590774B2 (en) Method and system for efficient context swapping
US20010042147A1 (en) System-resource router
US5566303A (en) Microcomputer with multiple CPU&#39;S on a single chip with provision for testing and emulation of sub CPU&#39;s
JPH11338734A (ja) コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法
JPH0258649B2 (ko)
US6327508B1 (en) Programmable state machine
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
WO2006105548A1 (en) A method and apparatus for indpendent and concurrent data transfer on host controllers
KR20100087295A (ko) 이더넷 컨트롤러
JP2000010818A (ja) コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法
US20040064599A1 (en) Configurable memory controller for advanced high performance bus system
JP2000207247A (ja) コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法
EP0337463B1 (en) Emulation system capable of complying with microcomputers having different on-chip memory capacities
US5842012A (en) Efficient soft reset in a personal computer
CN113824741A (zh) 一种iic设备的通信方法、装置、设备、系统及介质
JP2001184226A (ja) メモリブロックを有するデジタルシステムおよびメモリのブロックのエミュレーティング方法
JP2004118252A (ja) 半導体データ処理装置
KR100345309B1 (ko) 칩외부 접속 및 에러복구 가능한 메모리/주변장치의제어장치 및 그 방법
JP2000020488A (ja) コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法
CN110221861B (zh) 一种cpu寄存器体系结构及其中断处理方法
US5893932A (en) Address path architecture
US8131893B2 (en) Memory device that mediates mutual communication among a pluraliity of CPUs
JP3807616B2 (ja) マイクロコンピュータ
US20030145175A1 (en) Multiprocessor system having respective control programs of a plurality of processors stored contiguously in a memory
JPS6159557A (ja) 仮想記憶制御装置

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130628

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140704

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150708

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee