KR100345309B1 - Apparatus and method for controlling memory and peripheral device with chip outer connection and error repair - Google Patents
Apparatus and method for controlling memory and peripheral device with chip outer connection and error repair Download PDFInfo
- Publication number
- KR100345309B1 KR100345309B1 KR1020000035084A KR20000035084A KR100345309B1 KR 100345309 B1 KR100345309 B1 KR 100345309B1 KR 1020000035084 A KR1020000035084 A KR 1020000035084A KR 20000035084 A KR20000035084 A KR 20000035084A KR 100345309 B1 KR100345309 B1 KR 100345309B1
- Authority
- KR
- South Korea
- Prior art keywords
- error
- state
- external
- signals
- memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
- G06F11/0772—Means 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를 채택한 응용칩들에 대한 호환성을 유지하고, 에러 복구 기능을 지원할 수 있게 되는 것이다.SUMMARY OF THE INVENTION The present invention provides a control device and a method of controlling a memory / peripheral device capable of external chip connection and error recovery. The present invention performs external chip connection and error recovery, and the ASB is a basic connection. A system controller making an APB connection; An AMBA ASB connector for manipulating signals input through the ASB to generate signals of the system controller, and converting the signals generated by the system controller into signals suitable for the ASB timing standard and outputting the signals to the ASB bus; An AMBA APB access unit for generating signals of the system controller by manipulating signals input through the APB, and converting the signals generated by the system controller into signals suitable for the APB timing standard and outputting the signals to the APB bus; If the data size of the system controller differs from the data size outside the system controller, the dynamic data path logic unit performs dynamic data size reprocessing to adjust the data size. The recovery function will be supported.
Description
본 발명은 칩외부 접속 방식 및 에러복구 기능이 프로그램 가능한 메모리/주변장치의 제어에 관한 것으로, 특히 AMBA를 채택한 응용칩들에 완벽하게 호환될 수 있도록 AMBA 규격을 엄격히 준수하며, 외부 주변 장치를 변경할 경우 그 정보를 저장하고, 저장된 정보에 따라 접속 방식을 선택하며, 에러 복구 기능을 지원하기에 적당하도록 한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치 및 그 방법에 관한 것이다.The present invention relates to the control of a programmable memory / peripheral device with an external chip access method and an error recovery function. In particular, the present invention strictly complies with the AMBA standard so as to be fully compatible with application chips employing the AMBA. The present invention relates to a control device and a method of controlling an external chip and an error recoverable memory / peripheral device for storing the information, selecting a connection method according to the stored information, and supporting an error recovery function.
최근 ARM 사의 CPU 코어 계열을 탑재한 응용 칩들이 대거 발표되고 있다. 이는 ARM사가 저전력 SoC(System On Chip) 개발 경쟁에 돌입한 수많은 칩 제조회사들에게 효과적이며, 경제적인 코어 솔루션(Core Solution)을 제공하고 있기 때문이다.Recently, a number of application chips based on ARM's CPU core series have been announced. This is because ARM is providing an effective and cost-effective core solution for many chip manufacturers that are in the race to develop low-power SoCs.
이러한 상황에서 ARM 사가 제시한 AMBA(Advanced Microcontroller Bus Architecture)는 ARM 코어를 사용하는 제품개발에 있어 표준으로 자리잡을 것으로 예상된다.In this situation, ARM's Advanced Microcontroller Bus Architecture (AMBA) is expected to become a standard for product development using ARM core.
도 1은 일반적인 AMBA의 블록구성도이다.1 is a block diagram of a typical AMBA.
여기서 참조번호 1은 외부버스 접속장치이고, 2는 ARM 프로세서이며, 3은 칩내부의 단일칩 램이고, 4는 APB(Advanced Peripheral Bus) 접속을 위한 브릿지이며, 5는 UART(Universal Asynchronous Receiver Transmitter, 범용 비동기 송수신기)이고, 6은 타이머이고, 7은 PIO이다.Here, reference numeral 1 is an external bus interface, 2 is an ARM processor, 3 is a single chip RAM inside the chip, 4 is a bridge for accessing the Advanced Peripheral Bus (APB), 5 is a UART (Universal Asynchronous Receiver Transmitter, General purpose asynchronous transceiver), 6 is a timer, and 7 is a PIO.
그래서 AMBA는 크게 두 개의 영역, 즉 ASB(Advanced System Bus) 영역과 APB(Advanced Peripheral Bus) 영역으로 구분된다. ASB는 통상의 일반 버스 구조와 동일한 역할을 담당하며, APB는 통상의 버스 구조에서 버스 사용 빈도수가 적은 모듈들을 위한 전용 버스이다. 그래서 이 APB의 레지스터를 래치하는 방식으로 구현하며, 저전력 구조를 실현할 수 있다.Therefore, AMBA is divided into two areas, namely, Advanced System Bus (ASB) area and Advanced Peripheral Bus (APB) area. The ASB plays the same role as a typical general bus structure, and the APB is a dedicated bus for modules with less bus usage in the conventional bus structure. Therefore, it can be implemented by latching the register of the APB, and the low power structure can be realized.
본 발명은 이러한 제품 개발에 있어서, 응용 칩과 외부 주변기기의 다양한 접속 방식을 사용자가 프로그래머블하게 선택할 수 있도록 함으로써 칩의 호환성을 크게 향상시키고자 한 것이다.The present invention is intended to significantly improve the compatibility of the chip by allowing the user to programmatically select various connection methods of the application chip and external peripherals in such product development.
메모리/주변장치 제어기는 8, 16, 32 비트 칩내부/칩외부 주변장치들 사이에서 버스 전달에 가해지는 데이터의 정확한 다중화 접속을 보장하는 브릿지의 역할을 수행한다.The memory / peripheral controller acts as a bridge to ensure accurate multiplexed access of data to bus transfers between 8, 16, and 32 bit internal / external chips.
이를 위해 본 발명에서는 크게 네 가지 부분을 고려하였다.To this end, the present invention considers largely four parts.
1) 저전력 구조에 적합 모델을 설계를 위해 AMBA 기반 시스템을 탑재 칩으로 상정하고, 완전한 AMBA 호환성을 보장한다.1) A design suitable for low-power architecture is assumed to be an on-chip chip with AMBA-based system for designing the model, ensuring full AMBA compatibility.
2) 읽기/쓰기가 가능한 외부기기 상태정보 레지스터를 두고 이를 ARM 코어에서 제어할 수 있도록 함으로써 사용자 프로그램 기능을 보장한다.2) User program function is guaranteed by having external device status information register which can read / write and control it by ARM core.
3) 외부기기 상태정보 레지스터에 "에러 상태 정보" 비트를 할당하여 에러가발생했을 때 그 에러의 형태 및 주소/데이터를 기록하여 둠으로써, 에러 복구 루틴(통상의 트랩 핸들러)의 기능 향상을 지원한다.3) The "error status information" bit is allocated to the external device status information register to record the error type and address / data when an error occurs, thereby improving the function of the error recovery routine (normal trap handler). do.
4) 메모리 데이터 폭이 칩 내부 버스 데이터 폭 보다 작을 경우의 읽기/쓰기를 위해 다중 싸이클 기능을 지원한다.4) Multiple cycle function is supported for read / write when the memory data width is smaller than the internal bus data width.
현재 본 발명 분야와 유사한 개발 사례로는 MITEL 사의 Butterfly 칩을 들 수 있는데, 그 칩은 기능은 유사하나, AMBA 호환성이 없어 본 발명의 목적 및 적용 범위와는 다르다고 할 수 있으며, 또한 MITEL 사의 Butterfly 칩은 에러 복구 기능을 지원하지 못하는 단점도 있다.A development example similar to the present invention is MITEL's Butterfly chip, which is similar in function, but not compatible with the purpose and scope of the present invention because it is not compatible with AMBA, and also MITEL's Butterfly chip The disadvantage is that it does not support error recovery.
이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 AMBA를 채택한 응용칩들에 완벽하게 호환될 수 있도록 AMBA 규격을 엄격히 준수하며, 외부 주변 장치를 변경할 경우 그 정보를 저장하고, 저장된 정보에 따라 접속 방식을 선택하며, 에러 복구 기능을 지원할 수 있는 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치 및 그 방법을 제공하는 데 있다.Accordingly, the present invention has been proposed to solve the above-mentioned conventional problems, and an object of the present invention is to strictly comply with the AMBA standard so as to be fully compatible with application chips employing AMBA, and to change external peripheral devices. The present invention provides a controller and method for controlling an external chip and an error recoverable memory / peripheral device capable of storing the information, selecting a connection method according to the stored information, and supporting an error recovery function.
상기와 같은 목적을 달성하기 위하여 본 발명의 일실시예에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치는,In order to achieve the above object, a control device of a memory / peripheral device capable of external connection and error recovery according to an embodiment of the present invention,
칩외부 접속 및 에러복구를 수행하고, ASB를 기본접속으로 하고 사용자 인터페이스 기능은 APB 접속으로 하는 시스템 제어부와; ASB를 통해 입력된 신호들을 조작해 상기 시스템 제어부의 신호들을 생성하고, 상기 시스템 제어부에서 생성된신호들을 ASB 타이밍 규격에 적합한 신호들로 변경하여 ASB 버스로 출력시키는 AMBA ASB 접속부와; APB를 통해 입력된 신호들을 조작해 상기 시스템 제어부의 신호들을 생성하고, 상기 시스템 제어부에서 생성된 신호들을 APB 타이밍 규격에 적합한 신호들로 변경하여 APB 버스로 출력시키는 AMBA APB 접속부와; 상기 시스템 제어부의 데이터 크기와 상기 시스템 제어부 외부의 데이터 크기가 서로 다르면 이를 조정하기 위해 동적 데이터 크기 재처리 기능을 수행하는 동적 데이터 패스 로직부로 이루어짐을 그 기술적 구성상의 특징으로 한다.A system control unit for performing an external chip connection and error recovery, making an ASB a basic connection, and a user interface function making an APB connection; An AMBA ASB connector for manipulating signals input through an ASB to generate signals of the system controller, and converting the signals generated by the system controller into signals suitable for an ASB timing standard and outputting the signals to an ASB bus; An AMBA APB access unit configured to generate signals of the system control unit by manipulating signals input through an APB, and convert the signals generated by the system control unit into signals conforming to an APB timing standard and output them to the APB bus; If the data size of the system control unit and the data size of the outside of the system control unit is different from each other, the technical configuration is characterized by consisting of a dynamic data path logic unit for performing a dynamic data size reprocessing function.
상기와 같은 목적을 달성하기 위하여 본 발명의 일실시예에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어방법은,In order to achieve the above object, a method of controlling an external chip and an error recoverable memory / peripheral device according to an embodiment of the present invention includes:
에러복구 관련 레지스터를 세팅하는 단계와; 외부기기의 에러가 발생하면 에러 상태를 판별하고, 판별된 에러의 에러복구가 가능한지를 판별하는 단계와; 상기 에러복구가 가능하면, 에러 상태 값을 기록하고 인터럽트를 요청하는 단계와; 상기 에러복구가 가능하지 않으면, 치명적 에러 상황을 보고하는 단계를 수행함을 그 기술적 구성상의 특징으로 한다.Setting an error recovery related register; Determining an error state when an error of the external device occurs and determining whether error recovery of the determined error is possible; If the error recovery is possible, recording an error status value and requesting an interrupt; If the error recovery is not possible, the technical configuration is characterized by performing a step of reporting a fatal error situation.
도 1은 일반적인 AMBA의 블록구성도이고,1 is a block diagram of a typical AMBA,
도 2는 본 발명에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치의 블록구성도이며,2 is a block diagram of a control device of a memory / peripheral device capable of external connection and error recovery according to the present invention;
도 3은 도 2에서 환경정보 저장레지스터의 슬라이스별 기능을 보인 표이고,FIG. 3 is a table illustrating functions of respective slices of the environmental information storage register in FIG. 2.
도 4는 도 2에서 대기/정지 상태발생부의 상태천이도이며,4 is a state transition diagram of the standby / stopped state generator in FIG.
도 5는 도 2에서 에러상태 저장레지스터의 비트별 할당상태를 보인 표이고,5 is a table showing bit-by-bit allocation states of the error state storage register in FIG.
도 6은 도 2에서 대기상태가 1개일 경우의 다중 싸이클 실행 타이밍도이며,FIG. 6 is a timing diagram of executing multiple cycles when there is one standby state in FIG. 2.
도 7은 본 발명에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어방법을 보인 흐름도이다.7 is a flowchart illustrating a method of controlling an external chip and an error recovery memory / peripheral device according to the present invention.
* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
10 : 시스템 제어부 11 : 대기/정지상태 발생부10: system control unit 11: standby / stop state generating unit
12 : 변형주소 발생부 13 : 외부기기 제어신호 발생부12: modified address generator 13: external device control signal generator
14 : 에러상태 판정부 15 : 상태정보 저장부14: error state determination unit 15: state information storage unit
16 : 환경정보 저장레지스터 17 ; 에러상태 저장레지스터16: environmental information storage register 17; Error state storage register
20 : AMBA ASB 접속부 30 : AMBA APB 접속부20: AMBA ASB connection part 30: AMBA APB connection part
40 : 동적데이터 패스로직부40: dynamic data path logic part
이하, 상기와 같은 본 발명 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치 및 그 방법의 기술적 사상에 따른 일실시예를 설명하면 다음과 같다.Hereinafter, an embodiment according to the technical concept of the apparatus and method for controlling a memory / peripheral device capable of external connection and error recovery of the present invention as described above will be described.
도 2는 본 발명에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치의 블록구성도이다.2 is a block diagram of a control device of a memory / peripheral device capable of external connection and error recovery according to the present invention.
이에 도시된 바와 같이, 칩외부 접속 및 에러복구를 수행하고, ASB를 기본접속으로 하고 사용자 인터페이스 기능은 APB 접속으로 하는 시스템 제어부(10)와; ASB를 통해 입력된 신호들을 조작해 상기 시스템 제어부(10)의 신호들을 생성하고, 상기 시스템 제어부(10)에서 생성된 신호들을 ASB 타이밍 규격에 적합한 신호들로 변경하여 ASB 버스로 출력시키는 AMBA ASB 접속부(20)와; APB를 통해 입력된 신호들을 조작해 상기 시스템 제어부(10)의 신호들을 생성하고, 상기 시스템 제어부(10)에서 생성된 신호들을 APB 타이밍 규격에 적합한 신호들로 변경하여 APB 버스로 출력시키는 AMBA APB 접속부(30)와; 상기 시스템 제어부(10)의 데이터 크기와 상기 시스템 제어부(10) 외부의 데이터 크기가 서로 다르면 이를 조정하기 위해 동적 데이터 크기 재처리 기능을 수행하는 동적 데이터 패스 로직부(40)로 구성된다.As shown therein, the system controller 10 performs out-chip access and error recovery, makes the ASB the default connection, and the user interface function the APB connection; An AMBA ASB connection unit which generates signals of the system controller 10 by manipulating signals input through an ASB, and converts the signals generated by the system controller 10 into signals conforming to an ASB timing standard and outputs them to an ASB bus. 20; AMBA APB access unit for generating signals of the system control unit 10 by manipulating signals input through the APB, and converting the signals generated by the system control unit 10 to signals suitable for the APB timing standard and outputting them to the APB bus. 30; If the data size of the system control unit 10 and the data size of the outside of the system control unit 10 are different from each other, the dynamic data path logic unit 40 performs a dynamic data size reprocessing function to adjust this.
상기에서 시스템 제어부(10)는, 상태정보 저장부(14)로부터 정보 신호를 받아 대기/정지 상태를 발생시켜, 특정한 외부기기 액세스를 위해 '대기 상태'를 생성하며, 특정한 외부기기 보다 느린 기기의 액세스를 위해 '정지 대기 상태'를 발생시키는 대기/정지 상태 발생부(11)와; 상기 AMBA ASB 접속부(20)로부터 입력받은 데이터에 따라 외부 주변 장치에 맞는 어드레스를 발생시키고, 다중 싸이클 모드 수행시 다중 싸이클 카운터 값을 어드레스에 추가하는 변형주소 발생부(12)와; 외부기기에 대한 제어신호를 발생시키는 외부기기 제어신호 발생부(13)와; 외부기기의 에러 복구 가능 여부를 구분하고, 에러 상태를 판정하는 에러상태 판정부(14)와; ARM에 대한 읽기/쓰기 접근이 가능하도록 하고, 외부 메모리 영역에 대한 정보를 프로그램 가능하도록 환경정보 저장레지스터(16)와, 에러가 발생했을 경우 발생 주소와 데이터 및 에러의 형태를 저장할 수 있는 에러상태 저장레지스터(17)를 구비한 상태정보 저장부(15)로 구성된다.In the above, the system control unit 10 receives the information signal from the state information storage unit 14, generates a standby / stop state, generates a 'standby state' for access to a specific external device, and the slower than a specific external device A standby / stop state generator 11 for generating a 'stop wait state' for access; A modified address generator 12 generating an address suitable for an external peripheral device according to data received from the AMBA ASB connector 20 and adding a multicycle counter value to the address when performing a multicycle mode; An external device control signal generator 13 for generating a control signal for the external device; An error state determination unit 14 for discriminating whether an external device can recover an error and determining an error state; Environment information storage register 16 to enable read / write access to ARM and to program information on the external memory area, and an error state to store the address, data and type of error when an error occurs And a state information storage unit 15 having a storage register 17.
상기에서 대기/정지 상태 발생부(11)는, 리셋 상태인 초기화 상태와, 대기 상태 카운터 값이 환경정보 저장레지스터(16)에 기록된 대기상태수 보다 작은 상태인 내부 대기 발생 상태와, 셋팅된 대기 상태를 완료한 상태인 전송완료 상태와, 정지대기 카운터 값이 레지스터에 기록된 정지대기수 보다 작은 상태인 정지 상태와, 외부 대기 발생의 동기를 위한 준비 상태인 기본대기 상태와, 외부 대기 요청 신호가 '1'인 상태인 외부대기 발생 상태와, 대기상태가 없는 최고 속도 상태인 최고속도 상태를 포함하여 대기/정지 상태를 발생시킨다.In the above, the standby / stop state generating unit 11 is configured to include an initialization state in a reset state, an internal standby generation state in which a standby state counter value is smaller than the number of standby states recorded in the environmental information storage register 16, and The transfer complete state, which has completed the waiting state, the stop state where the stop wait counter value is smaller than the stop wait number recorded in the register, the basic wait state ready for synchronization of the external wait occurrence, and the external wait request. The standby / stop state is generated including the external standby occurrence state in which the signal is '1' and the highest speed state in which there is no standby state.
상기에서 에러상태 판정부(14)는, 요청된 어드레스가 해당 기기의 최대 뱅크 크기를 넘어설 때 발생시키는 어드레스 초과와, 외부 메모리가 sub-memory width write를 처리할 수 있도록 하는 부분 쓰기 금지 메모리에 대한 쓰기 에러와, 연결된 외부 기기에 의해 수용되는 액세스가 어떤 타입인지를 제어기에 알려주는 주변기기 액세스 에러와, 최대 정지 대기 수(24)를 초과한 뒤에도 외부 대기 요청 신호가 활성화되어 있을 경우 발생시키는 최대 정지 대기 수 초과에 의해 에러상태를 판정한다.In the above, the error state determination unit 14 includes an excess of addresses generated when the requested address exceeds the maximum bank size of the corresponding device, and a partial write protection memory for allowing the external memory to process sub-memory width writes. And a peripheral access error that informs the controller what type of access is being accepted by the connected external device, and an external wait request signal activated after exceeding the maximum number of stop waits (2 4 ). An error condition is determined by exceeding the maximum number of stop waits.
도 7은 본 발명에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어방법을 보인 흐름도이다.7 is a flowchart illustrating a method of controlling an external chip and an error recovery memory / peripheral device according to the present invention.
이에 도시된 바와 같이, 에러복구 관련 레지스터를 세팅하는 단계(ST11)와; 외부기기의 에러가 발생하면 에러 상태를 판별하고, 판별된 에러의 에러복구가 가능한지를 판별하는 단계(ST12 ~ ST14)와; 상기 에러복구가 가능하면, 에러 상태 값을 기록하고 인터럽트를 요청하는 단계(ST15)(ST16)와; 상기 에러복구가 가능하지 않으면, 치명적 에러 상황을 보고하는 단계(ST17)를 수행한다.As shown therein, setting an error recovery-related register (ST11); Determining an error state when an error of the external device occurs and determining whether error recovery of the determined error is possible (ST12 to ST14); If the error recovery is possible, recording an error state value and requesting an interrupt (ST15) (ST16); If the error recovery is not possible, the step ST17 of reporting a fatal error situation is performed.
이와 같이 구성된 본 발명에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치 및 그 방법의 동작을 첨부한 도면에 의거 상세히 설명하면 다음과 같다.Referring to the accompanying drawings, the operation of a control device and a method of a memory / peripheral device capable of external connection and error recovery according to the present invention configured as described above will be described in detail as follows.
먼저 본 발명에서는 모듈의 특성상 ASB 접속을 기본으로 하되, 저전력 구조를 실현하기 위해 사용자 인터페이스 기능 블록들은 APB 접속 방식을 선택하였다.First, in the present invention, the ASB connection is based on the characteristics of the module, but in order to realize a low power structure, the user interface functional blocks select the APB connection method.
그래서 AMBA ASB/APB 접속부(20)(30)는 ASB/APB를 통해 입력된 신호들을 조작해 내부 신호들을 생성하고, 내부에서 생성된 신호들을 ASB/APB 타이밍 규격에 적합한 신호들로 변경하여 ASB/APB 버스로 출력시키는 역할을 수행한다. 이 AMBA ASB/APB 접속부(20)(30)의 기능을 통해 AMBA 호환성을 보장할 수 있다.Thus, the AMBA ASB / APB connection unit 20 and 30 manipulate internal signals input through the ASB / APB to generate internal signals, and change the internally generated signals into signals that conform to the ASB / APB timing standard. Outputs to the APB bus. The function of the AMBA ASB / APB connection 20, 30 can ensure AMBA compatibility.
대기/정지상태 발생부(11)는 프로그램이 가능하도록 구성한다. 그래서 이 대기/정지상태 발생부(11)는 특정한 외부기기 액세스를 위해 프로그램 가능한 '대기 상태' 생성이 가능하며, 보다 느린 기기의 액세스를 위해 '정지 대기 상태'를 발생시킨다. 이를 위해 외부 메모리 영역의 특성 정보를 관리하는 상태정보 저장부(14)로부터 정보 신호를 받아 대기/정지상태를 발생시키는 상태 머신을 가지고 있다. 대기/정지상태 발생부(11)의 상태천이도는 도 4와 같으며, 각 상태에 대한 정의는다음과 같다.The standby / stopped state generator 11 is configured to be programmable. Thus, the standby / stop state generator 11 can generate a programmable 'standby state' for accessing a specific external device, and generates a 'stop wait state' for access to a slower device. To this end, it has a state machine that receives the information signal from the state information storage unit 14 that manages the characteristic information of the external memory area and generates a standby / stop state. The state transition diagram of the standby / stop state generator 11 is as shown in FIG. 4, and the definition of each state is as follows.
* 상태 정의* State Definition
; 초기화 상태 - 리셋 상태; Reset Status-Reset Status
; 내부 대기 발생 상태 - 대기 상태 카운터 값이 환경정보 저장레지스터(16)에 기록된 대기상태수 보다 작은 상태; Internal Standby Occurrence State-The state of the standby state counter is smaller than the number of standby states recorded in the environmental information storage register 16.
; 전송완료 상태 - 셋팅된 대기 상태를 완료한 상태; Transmission completed status-completed waiting status set
; 정지 상태 - 정지대기 카운터 값이 레지스터에 기록된 정지대기수 보다 작은 상태; Stop Status-The Stop Wait Counter value is less than the Stop Wait number recorded in the register.
; 기본대기 상태 - 외부 대기 발생의 동기를 위한 준비 상태; Default standby state-ready state for synchronous external standby occurrence
; 외부대기 발생 상태 - 외부 대기 요청 신호가 '1'인 상태; External standby state-External standby request signal '1'
; 최고속도 상태 - 대기상태가 없는 최고 속도 상태(단일 싸이클 액세스); Full Speed State-Full Speed State with No Standby (Single Cycle Access)
또한 변형주소 발생부(12)는 다중싸이클 모드 지원기능을 갖는다. 그래서 변형주소 발생부(12)는 AMBA ASB 접속부(20)를 통해 ASB로부터 입력받은 32비트 어드레스 버스의 데이터에 따라 외부 주변 장치에 맞게 어드레스를 발생시켜주는 기능을 수행한다. 다중 싸이클 모드를 수행할 경우, 다중 싸이클 카운터 값을 어드레스에 추가한다.In addition, the modified address generator 12 has a multicycle mode support function. Thus, the modified address generator 12 generates an address for an external peripheral device according to the data of the 32-bit address bus received from the ASB through the AMBA ASB connector 20. When performing the multiple cycle mode, add the multiple cycle counter value to the address.
또한 외부기기 제어신호 발생부(13)는 외부기기에 대한 제어신호를 발생시킨다.In addition, the external device control signal generator 13 generates a control signal for the external device.
또한 에러상태 판정부(14)는 에러 복구 가능 여부를 구분하는 레지스터와 에러 상태 판정 로직으로 이루어져 있다. 에러 복구 가능 여부를 구분하는 레지스터의 슬라이스별 기능 정의는 도 5에 나타나 있다. 도 5에 할당된 각 비트는 에러 상태 종류 각각에 일대일로 매칭되어 있다(최하위 비트 기준 정렬). 즉, 어드레스 초과 에러에 해당되는 비트는 레지스터[0]에 해당되며, '1'로 셋팅되어 있으면 복구 가능을 의미한다. 이 레지스터는 ARM에 의한 읽기/쓰기가 가능하므로 다양한 에러 복구 루틴 설계를 가능하게 할 수 있다.In addition, the error state determination unit 14 is composed of a register that distinguishes whether or not the error recovery is possible and the error state determination logic. The function definition for each slice of the register that distinguishes whether the error recovery is possible is shown in FIG. 5. Each bit assigned to FIG. 5 is matched one-to-one to each of the error state types (lowest order by bit). That is, the bit corresponding to the address exceeding error corresponds to the register [0], and if it is set to '1', it means that the recovery is possible. This register is read / writeable by ARM, enabling various error recovery routine designs.
에러 상태 판정 로직은 칩 외부 인터페이스와 관련된 모든 정보 신호를 받아 발생된 에러의 종류를 판정하고 이 에러가 복구 가능한 에러이면 이 판정된 정보를 외부기기 정보 레지스터의 에러 상태 정보 비트에 세팅한 뒤, 인터럽트를 요청하는 역할을 담당한다. 하지만 복구 불가능 에러(치명적 에러)이면 인터럽트를 곧바로 요청하지 않고 시스템 제어기로 치명적 에러 발생을 보고함으로써 복구가 불가능한 에러를 처리하기 위한 불필요한 프로세스를 제거할 수 있도록 한다.The error state determination logic receives all the information signals related to the external interface of the chip to determine the type of error that occurs, and if the error is a recoverable error, sets the determined information in the error state information bit of the external device information register and then interrupts. It is in charge of requesting. However, if an unrecoverable error (fatal error) is reported, the fatal error is reported to the system controller without immediately requesting an interrupt, thereby eliminating unnecessary processes for dealing with an unrecoverable error.
도 7은 이러한 에러상태 판정부(14)의 처리 흐름을 보여 주고 있다.7 shows the processing flow of the error state determining unit 14.
다음은 에러 발생 상태에 따라 할당된 값을 나타낸다.The following shows the values assigned according to the error occurrence state.
1) 어드레스 초과 : '0'1) Address over: '0'
; 이 에러는 요청된 어드레스가 해당 기기의 최대 뱅크 크기를 넘어설 때 발생한다.; This error occurs when the requested address exceeds the device's maximum bank size.
2) 부분 쓰기 금지 메모리에 대한 쓰기 에러 : '1'2) Write error to partial write inhibit memory: '1'
; 상태정보 저장부(15)의 부분쓰기[3] 비트의 기능과 같이, 외부 메모리가 sub-memory width write를 처리할 수 있다는 것을 의미한다. sub-memory width write는 오퍼랜드가 메모리의 단어 폭보다 작은 경우의 쓰기 액세스를 나타낸다.이 비트가 클리어되어 있는 상태에서 데이터 크기[1:0] 보다 적은 데이터를 쓰기 위한 어드레스가 검출되면 'Data Abort'가 발생한다.; As with the function of the partial write [3] bit of the state information storage unit 15, it means that the external memory can process the sub-memory width write. sub-memory width write indicates write access when the operand is less than the word width in memory. If this bit is cleared and an address is detected to write data less than the data size [1: 0], then 'Data Abort' Occurs.
3) 주변기기 액세스 에러 : '2'3) Peripheral device access error: '2'
; 이 에러는 연결된 외부 기기에 의해 수용되는 액세스가 어떤 타입인지를 제어기에게 알려준다. 주변기기는 operand packing(메모리 데이터 폭과 내부 오퍼랜드 데이터 폭이 다를 경우 이를 처리하기 위해 16비트 데이터 2개를 32비트 데이터로 packing하는 등의 동적 데이터 패스 기능)이나 sub memory width access(메모리의 한 번지 데이터에 대해 그 데이터 폭의 일부를 읽고 쓸 수 있는 기능)를 할 수 없도록 정의되어 있으므로, M(Memory)/P(Peripheral) 비트가 '0'인 영역에 대해서는 오퍼랜드 크기가 메모리 크기와 같지 않으면 'Data Abort'가 발생한다.; This error tells the controller what type of access is being accepted by the connected external device. Peripherals can be used for operand packing (dynamic data paths, such as packing two 16-bit data into 32-bit data to handle if the memory data width and internal operand data width are different) or sub memory width access (one address data in memory). For the area where the M (Memory) / P (Peripheral) bit is '0', so that if the operand size is not equal to the memory size, Abort 'occurs.
4) 최대 정지 대기 수 초과 : '3'4) Maximum number of stop waits exceeded: '3'
; 최대 정지 대기 수(24)를 초과한 뒤에도 외부 대기 요청 신호가 활성화되어 있을 경우 발생한다.; Occurs when the external wait request signal is activated even after the maximum number of stop waits (2 4 ) is exceeded.
이렇게 정의한 에러뿐만 아니라 사용자는 최대 32개까지 에러를 정의할 수 있고, 그 복구 가능 여부를 결정하여 프로그램 할 수 있다.In addition to these defined errors, the user can define up to 32 errors and determine whether they can be recovered or programmed.
한편 상태정보 저장부(15)는 8개의 외부 메모리 영역에 대한 정보를 프로그램 가능하도록 8개의 32비트 레지스터를 두고, ARM에 대한 읽기/쓰기 접근이 가능하도록 설계한다. 또한 에러 복구 기능을 지원하기 위해 에러가 발생했을 경우 발생 주소와 데이터 및 에러의 형태를 저장할 수 있는 16개의 주소 저장/데이터 저장레지스터를 내장하고 있다. 대기/정지 상태 발생부(11)는 상태정보 저장부(15) 내의 환경정보 저장 레지스터(16)의 각 비트 슬라이스 정보(도 3)에 따라 동작되어 진다.On the other hand, the state information storage unit 15 has eight 32-bit registers to program information about eight external memory areas, and is designed to enable read / write access to the ARM. In addition, to support the error recovery function, 16 address storage / data storage registers that can store the address, data and type of error when an error occurs are built in. The standby / stopped state generator 11 is operated in accordance with each bit slice information (Fig. 3) of the environment information storage register 16 in the state information storage 15.
이러한 환경정보 저장 레지스터(16)의 슬라이스별 기능 정의는 다음과 같다.The function definition for each slice of the environment information storage register 16 is as follows.
* 데이터 크기[1:0] 비트는 외부 기기에 연결된 외부 데이터 버스의 크기를 내부 상태 머신에게 알려준다. ('00' - 바이트, '01' - 하드워드, '1x' - 워드)The data size [1: 0] bits tell the internal state machine the size of the external data bus connected to the external device. ('00'-byte, '01'-hardword, '1x'-word)
* M/P[2] 비트는 연결된 외부 기기에 의해 수용되는 액세스가 어떤 타입인지를 제어기에게 알려준다. 주변기기는 operand packing(메모리 데이터 폭과 내부 오퍼랜드 데이터 폭이 다를 경우 이를 처리하기 위해 16비트 데이터 2개를 32비트 데이터로 packing하는 등의 동적 데이터 패스 기능)이나 sub memory width access(메모리의 한 번지 데이터에 대해 그 데이터 폭의 일부를 읽고 쓸 수 있는 기능)를 할 수 없도록 정의되어 있으므로, M(Memory)/P(Peripheral) 비트가 '0'인 영역에 대해서는 오퍼랜드 크기가 메모리 크기와 같지 않으면 'Data Abort'가 발생한다.The M / P [2] bit tells the controller what type of access is being accepted by the connected external device. Peripherals can be used for operand packing (dynamic data paths, such as packing two 16-bit data into 32-bit data to handle if the memory data width and internal operand data width are different) or sub memory width access (one address data in memory). For the area where the M (Memory) / P (Peripheral) bit is '0', so that if the operand size is not equal to the memory size, Abort 'occurs.
* 부분쓰기[3] 비트가 세트되어 있으면 외부 메모리가 sub-memory width write를 처리할 수 있다는 것을 나타낸다. sub-memory width write는 오퍼랜드가 메모리의 단어 폭보다 작은 경우의 쓰기 액세스를 나타낸다. 이 비트가 클리어되어 있는 상태에서 데이터 크기[1:0] 보다 적은 데이터를 쓰기 위한 어드레스가 검출되면 'Data Abort'가 발생한다.* If the Partial Write [3] bit is set, it indicates that the external memory can handle sub-memory width writes. sub-memory width write indicates write access when the operand is less than the word width in memory. When this bit is cleared and an address for writing data smaller than the data size [1: 0] is detected, 'Data Abort' occurs.
* 읽기 전용[4] 비트가 세트되어 있으면 연결된 외부기기에 대해서는 읽기 액세스만 수행할 수 있다는 것을 나타낸다. 만약 버스가 이 외부기기에 쓰기를 시도한다면 'data abort'를 발생시킨다.* If the read only [4] bit is set, it indicates that only read access can be performed for the connected external device. If the bus attempts to write to this external device, it generates a 'data abort'.
* 자동 대기[5] 비트가 세트되어 있으면 지금 수행하고 있는 액세스는 내부의 대기/정지 상태 발생부(11)에 의해 제어되는 대기 상태를 가진다는 것을 의미한다. 이 비트가 클리어되어 있으면 대기 상태가 외부 대기 요청 신호에 의해 제어된다는 것을 의미한다.* If the auto wait [5] bit is set, it means that the access currently being performed has a wait state controlled by the internal wait / stop state generator 11. If this bit is cleared, it means that the wait state is controlled by an external wait request signal.
* 에러 상태[20:23] 비트는 그 기기에 대한 액세스에서 발생되는 에러의 상태를 나타내며, 이 값은 ARM에 의한 읽기 작업만을 허가하고, 에러 상태 판정부(14)가 쓰기 작업을 실행한다.The error status [20:23] bits indicate the status of an error occurring in access to the device, and this value permits only read operations by the ARM, and the error status determination section 14 executes the write operation.
한편 동적 데이터 패스 로직부(40)는 칩 내부의 데이터 크기와 칩 외부의 데이터 크기가 서로 다를 경우, 이를 조정하기 위해 동적 데이터 크기 재처리 기능을 수행한다.Meanwhile, when the data size inside the chip and the data size outside the chip are different from each other, the dynamic data pass logic unit 40 performs a dynamic data size reprocessing function to adjust the data size.
동적 데이터 패스 로직부(40)의 동작은 내부 버스 데이터 크기와 메모리 데이터 크기의 관계에 따라 다음과 같은 두 경우로 구분할 수 있다.The operation of the dynamic data path logic unit 40 may be divided into two cases according to the relationship between the internal bus data size and the memory data size.
(1) 내부 데이터 크기 =< 메모리 데이터 크기(1) Internal data size = <Memory data size
; 이 경우 통상의 정상적인 데이터 전송이 이루어진다.; In this case, normal normal data transfer is performed.
(2) 내부 데이터 크기 > 메모리 데이터 크기(2) Internal data size> Memory data size
; 이 경우 다중 싸이클이 수행되며, 이를 위해 변형주소 발생부(12)는 다중 싸이클 카운터 값에 따라 별도의 어드레스를 발생시킨다.; In this case, multiple cycles are performed. To this end, the modified address generator 12 generates a separate address according to the multiple cycle counter value.
이러한 동적 데이터 패스 로직부(40)의 다중 싸이클 실행에 대한 타이밍도를 도 6에 보였다.6 shows a timing diagram for the execution of multiple cycles of the dynamic data path logic unit 40.
이처럼 본 발명은 AMBA를 채택한 응용칩들에 완벽하게 호환될 수 있도록 AMBA 규격을 엄격히 준수하며, 외부 주변 장치를 변경할 경우 그 정보를 저장하고, 저장된 정보에 따라 접속 방식을 선택하며, 에러 복구 기능을 지원하게 되는 것이다.As such, the present invention strictly complies with the AMBA standard so as to be fully compatible with application chips employing AMBA, and stores the information when changing external peripheral devices, selects an access method according to the stored information, and provides an error recovery function. It will be supported.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 하기 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.Although the preferred embodiment of the present invention has been described above, the present invention may use various changes, modifications, and equivalents. It is clear that the present invention can be applied in the same manner by appropriately modifying the above embodiments. Accordingly, the above description does not limit the scope of the invention as defined by the limitations of the following claims.
이상에서 살펴본 바와 같이, 본 발명에 의한 칩외부 접속 및 에러복구 가능한 메모리/주변장치의 제어장치 및 그 방법은 AMBA를 채택한 응용칩들에 완벽하게 호환될 수 있도록 AMBA 규격을 엄격히 준수하며, 외부 인터페이스 모듈의 저전력을 고려할 수 있으며, 칩 외부 주변기기의 장치 특성의 변화에도 적용할 수 있는 사용자 프로그램 기능을 보장하고, 프로그램 가능한 에러 복구 기능 지원을 가능하게 함으로써 AMBA 채택 칩 개발을 위한 설계 IP(Intellectual Property)로 사용할 수 있는 효과가 있게 된다. 이를 통하여 칩 외부의 메모리 및 기타 주변 장치가 변경되더라도 그 정보를 프로그램 함으로써 개발된 칩의 성능 개선 및 호환성 향상에 기여할 수 있는 효과가 있게 된다.As described above, the control device and method of the memory / peripheral device capable of external connection and error recovery according to the present invention strictly comply with the AMBA standard so as to be fully compatible with application chips employing the AMBA, and the external interface. Designed to develop AMBA-enabled chips by ensuring the low power of the module, ensuring user programmability that can be applied to changes in device characteristics of external peripheral devices, and supporting programmable error recovery functions Intellectual Property (IP) It can be used as an effect. Through this, even if the memory and other peripherals outside the chip is changed, by programming the information there is an effect that can contribute to improved performance and compatibility of the developed chip.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000035084A KR100345309B1 (en) | 2000-06-24 | 2000-06-24 | Apparatus and method for controlling memory and peripheral device with chip outer connection and error repair |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000035084A KR100345309B1 (en) | 2000-06-24 | 2000-06-24 | Apparatus and method for controlling memory and peripheral device with chip outer connection and error repair |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020003672A KR20020003672A (en) | 2002-01-15 |
KR100345309B1 true KR100345309B1 (en) | 2002-07-25 |
Family
ID=19673701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000035084A KR100345309B1 (en) | 2000-06-24 | 2000-06-24 | Apparatus and method for controlling memory and peripheral device with chip outer connection and error repair |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100345309B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003289615A1 (en) * | 2003-12-18 | 2005-07-05 | Zte Corporation | A bus interface converter capable of convert amba ahb bus protocol into i960-like bus protocol |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0431947A (en) * | 1990-05-29 | 1992-02-04 | Oki Electric Ind Co Ltd | Interface controller |
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 (en) * | 1996-11-28 | 1998-06-19 | Canon Inc | Data processor, its data processing method, and storage medium storing computer-readable program |
KR19990084442A (en) * | 1998-05-06 | 1999-12-06 | 김영환 | Error Handling Method of Device Using PCI Bus |
-
2000
- 2000-06-24 KR KR1020000035084A patent/KR100345309B1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0431947A (en) * | 1990-05-29 | 1992-02-04 | Oki Electric Ind Co Ltd | Interface controller |
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 (en) * | 1996-11-28 | 1998-06-19 | Canon Inc | Data processor, its data processing method, and storage medium storing computer-readable program |
KR19990084442A (en) * | 1998-05-06 | 1999-12-06 | 김영환 | Error Handling Method of Device Using PCI Bus |
Also Published As
Publication number | Publication date |
---|---|
KR20020003672A (en) | 2002-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102426619B1 (en) | Data Integrity for Persistent Memory Systems and More | |
US7590774B2 (en) | Method and system for efficient context swapping | |
US6769046B2 (en) | System-resource router | |
US5566303A (en) | Microcomputer with multiple CPU'S on a single chip with provision for testing and emulation of sub CPU's | |
JP6761870B2 (en) | Low power memory throttling | |
JP4226085B2 (en) | Microprocessor and multiprocessor system | |
CN114902198B (en) | Signaling for heterogeneous memory systems | |
JP2008537219A (en) | Method and apparatus for independent and simultaneous data transfer in a host controller | |
US20190213162A1 (en) | Integrated circuit system | |
EP0337463B1 (en) | Emulation system capable of complying with microcomputers having different on-chip memory capacities | |
JP2000207247A (en) | Computer system, and method for operating the computer system | |
CN113824741A (en) | IIC device communication method, apparatus, device, system and medium | |
US5842012A (en) | Efficient soft reset in a personal computer | |
JP2001184226A (en) | Digital system having memory block and emulating method of block of memory | |
JP2004118252A (en) | Semiconductor data processor | |
KR100345309B1 (en) | Apparatus and method for controlling memory and peripheral device with chip outer connection and error repair | |
CN110221861B (en) | CPU register system structure and interrupt processing method thereof | |
JP3803196B2 (en) | Information processing apparatus, information processing method, and recording medium | |
US5893932A (en) | Address path architecture | |
US5740382A (en) | Method and apparatus for accessing a chip-selectable device in a data processing system | |
US8131893B2 (en) | Memory device that mediates mutual communication among a pluraliity of CPUs | |
JP3807616B2 (en) | Microcomputer | |
US5890196A (en) | Method and apparatus for performing page mode accesses | |
US20030145175A1 (en) | Multiprocessor system having respective control programs of a plurality of processors stored contiguously in a memory | |
US10180847B2 (en) | Circuitry for configuring entities |
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 |