KR20080006099A - 커맨드 처리 장치와 방법 및 이를 포함하는 시스템 - Google Patents
커맨드 처리 장치와 방법 및 이를 포함하는 시스템 Download PDFInfo
- Publication number
- KR20080006099A KR20080006099A KR1020060064813A KR20060064813A KR20080006099A KR 20080006099 A KR20080006099 A KR 20080006099A KR 1020060064813 A KR1020060064813 A KR 1020060064813A KR 20060064813 A KR20060064813 A KR 20060064813A KR 20080006099 A KR20080006099 A KR 20080006099A
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- command
- maintained
- operation mode
- input
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012545 processing Methods 0.000 title claims abstract description 30
- 230000002159 abnormal effect Effects 0.000 claims abstract description 60
- 230000004044 response Effects 0.000 claims abstract description 21
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims abstract description 6
- 230000007704 transition Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 16
- 230000003111 delayed effect Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 14
- 238000003672 processing method Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
-
- 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/0706—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 the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
- G06F11/0724—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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Abstract
커맨드 처리 장치 및 방법을 개시한다. 커맨드 처리 장치는 커맨드 처리부 및 커맨드 스위칭부를 포함한다. 커맨드 처리부는 커맨드 스위칭부에 의하여 전송된 커맨드를 처리하고, 커맨드 스위칭부는 비정상적인 동작 모드가 유지되는 동안에는 외부 장치로부터 커맨드가 입력될 때 상기 외부 장치에 상기 커맨드에 대한 무응답으로 인해 발생될 수 있는 에러를 방지하도록 비정상적인 동작 모드에 있음을 나타내는 에러 신호를 상기 외부 장치에 전송하고, 정상적인 동작모드가 유지되는 동안에는 상기 커맨드 처리부에 상기 커맨드를 전송한다. 따라서 커맨드 처리 장치는 비정상적인 동작 모드에서 입력받은 커맨드를 처리하여 견고한 시스템을 설계할 수 있다.
커맨드 처리 장치, 클라이언트-서버 시스템
Description
도 1은 마스터 프로세서와 슬레이브 프로세서간의 정상적으로 데이터를 통신하는 종래의 컴퓨터 시스템을 나타내는 개념도이다.
도 2는 마스터 프로세서와 슬레이브 프로세서간의 비정상적으로 데이터를 통신하는 종래의 컴퓨터 시스템을 나타내는 개념도이다.
도 3은 본 발명의 일 실시예에 따른 시스템을 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 서브시스템을 나타내는 블록도이다.
도 5는 도 4의 커맨드 스위칭부의 일 실시예를 나타내는 블록도이다.
도 6은 도 4의 인터럽트 신호 생성부(430)의 일 실시예를 나타내는 블록도이다.
도 7은 도 6에 의한 인터럽트 신호 생성 과정을 나타내는 타이밍도이다.
<도면의 주요 부분에 대한 부호의 설명>
310 : 호스트 프로세서(서버) 330 : 서브시스템(클라이언트)
410 : 커맨드 스위칭부 420 : 커맨드 처리부
430 : 인터럽트 신호 생성부
본 발명은 커맨드 처리 장치 및 방법에 관한 것으로 특히, 비정상적인 동작 모드에서 입력받은 커맨드를 처리하여 견고한 시스템을 설계할 수 있는 커맨드 처리 장치와 방법 및 이를 포함하는 시스템에 관한 것이다.
오늘날 컴퓨터 시스템은 대용량의 데이터를 빠른 시간에 처리하기 위하여 멀티프로세서 시스템을 채택하고 있다. 멀티프로세서 시스템은 전체 시스템을 관리하는 하나의 메인 프로세서와 메인 프로세서에 의하여 할당된 특정한 작업을 처리하는 서브 프로세서를 포함한다. 즉, 메인 프로세서는 마스터 또는 서버의 역할을 수행하고, 서브 프로세서는 슬레이브 또는 클라이언트의 역할을 수행한다.
도 1은 마스터 프로세서와 슬레이브 프로세서간의 정상적으로 데이터를 통신하는 종래의 컴퓨터 시스템을 나타내는 개념도이고, 도 2는 마스터 프로세서와 슬레이브 프로세서간의 비정상적으로 데이터를 통신하는 종래의 컴퓨터 시스템을 나타내는 개념도이다.
도 1 및 도 2를 참조하면, 컴퓨터 시스템(100)은 전체 컴퓨터 시스템(100)을 관리하는 마스터 프로세서(110)와 마스터 프로세서(110)에 의하여 할당된 작업을 수행하는 슬레이브 프로세서(120)를 포함한다.
도 1의 경우, 마스터 프로세서(110)는 슬레이브 프로세서(120)에게 특정 커맨드을 전송하고, 슬레이브 프로세서(120)에 의한 응답을 기다린다. 슬레이브 프로세서(120)는 마스터 프로세서(110)로부터 전송된 특정 커맨드를 처리하고, 처리 결 과를 마스터 프로세서(110)에 전송한다. 마스터 프로세서(110)는 슬레이브 프로세서(120)에 의하여 처리된 결과를 기초로 다음 작업을 수행한다.
도 2의 경우, 마스터 프로세서(110)는 슬레이브 프로세서(120)에게 특정 커맨드를 전송하고, 슬레이브 프로세서(120)에 의한 응답을 기다린다. 슬레이브 프로세서(120)는 비정상적으로 동작하고 있으므로, 마스터 프로세서(110)에 의하여 전송된 특정 커맨드를 처리할 수 없다. 예를 들어, 슬레이브 프로세서(120)의 동작 모드가 리셋 모드인 경우 슬레이브 프로세서(120)는 전송된 특정 커맨드를 처리할 수 없다. 마스터 프로세서(110)는 슬레이브 프로세서(120)에 의하여 처리된 결과를 계속 기다리며, 최악의 경우 컴퓨터 시스템(110)이 다운될 수 있다.
마스터 프로세서와 슬레이브 프로세서 간에 데이터를 교환하는 방법을 사용하는 컴퓨터 시스템에 있어 만일 슬레이브 프로세서가 응답을 하지 않는다면, 마스터 프로세서가 계속 응답을 기다리는 상황이 발생할 수 있고, 최악의 경우 컴퓨터 시스템 전체가 다운될 수 있다.
본 발명의 목적은 상기 종래 기술의 문제점을 해결하기 위하여 비정상적인 동작 모드에서 입력받은 커맨드를 처리하여 견고한 시스템을 설계하기 위한 커맨드 처리 장치를 제공하는데 있다.
본 발명의 다른 목적은 비정상적인 동작 모드에서 입력받은 커맨드를 처리하여 견고한 시스템을 설계하기 위한 커맨드 처리 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 비정상적인 동작 모드에서 입력받은 커맨드를 처 리하기 위한 시스템을 제공하는 데 있다.
본 발명의 또 다른 목적은 비정상적인 동작 모드에서 입력받은 커맨드를 처리하기 위한 방법을 제공하는 데 있다.
상기 목적을 달성하기 위하여 본 발명의 커맨드 처리 장치는 커맨드 처리부 및 비정상적인 동작 모드가 유지되는 동안에는 외부 장치로부터 커맨드가 입력될 때 상기 외부 장치에 상기 커맨드에 대한 무응답으로 인해 발생될 수 있는 에러를 방지하도록 비정상적인 동작 모드에 있음을 나타내는 에러 신호를 상기 외부 장치에 전송하고, 정상적인 동작모드가 유지되는 동안에는 상기 커맨드 처리부에 상기 커맨드를 전송하는 커맨드 스위칭부를 포함한다. 예를 들어, 상기 비정상적인 동작 모드는 외부로부터 전송되는 신호에 의하여 결정될 수 있다.
인터럽트 신호 생성부는 비정상적인 동작 모드가 유지되는 동안에 상기 외부 장치로부터 상기 커맨드를 입력받은 경우 상기 커맨드가 입력되었음을 나타내는 플래그 신호를 저장할 수 있고, 비정상적인 동작 모드에서 정상적인 동작 모드로 천이되는 경우 상기 플래그 신호를 기초로 인터럽트 신호를 발생시킬 수 있다. 또한, 상기 인터럽트 신호 생성부는 상기 인터럽트 신호를 전송한 후 상기 인터럽트 신호를 기초로 상기 플래그 신호를 초기화할 수 있다.
상기 커맨드 스위칭부는 비정상적인 동작 모드가 유지되는 동안에 상기 커맨드가 입력되는 경우 에러 신호를 선택하고, 정상적인 동작 모드가 유지되는 동안에 상기 커맨드가 입력되는 경우 상기 입력받은 커맨드를 선택하는 멀티플렉서 및 비 정상적인 동작 모드가 유지되는 동안에는 상기 선택된 에러 신호를 상기 외부 장치에 전송하고, 정상적인 동작 모드가 유지되는 동안에는 상기 입력받은 커맨드를 상기 시스템에 전송하는 스위치를 포함할 수 있다.
인터럽트 신호 생성부는 비정상적인 동작 모드가 유지되는 동안에 상기 커맨드를 입력받은 경우 상기 플래그 신호를 저장하는 제1 레지스터, 비정상적인 동작 모드에서 정상적인 동작 모드로 천이되는 경우 상기 제1 레지스터에 저장된 플래그 신호를 입력받고, 입력받은 플래그 신호를 출력하는 제2 레지스터 및 상기 출력된 플래그 신호를 입력받아 입력받은 플래그 신호를 지연시킨 후 지연된 플래그 신호를 출력하는 제3 레지스터를 포함할 수 있고, 상기 제2 레지스터로부터 출력된 플래그 신호와 상기 제3 레지스터로부터 출력된 플래그 신호를 반전한 반전된 플래그 신호를 논리곱 연산하여 상기 인터럽트 신호를 발생시키고, 상기 인터럽트 신호를 기초로 상기 제1 레지스터를 초기화할 수 있다.
상기 다른 목적을 달성하기 위하여 본 발명의 시스템은 리셋 모드 신호를 전송하는 서버 및 상기 전송된 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안 외부 장치로부터 커맨드가 입력될 때 상기 외부 장치에 상기 커맨드에 대한 무응답으로 인해 발생될 수 있는 에러를 방지하도록 리셋 모드에 있음을 나타내는 에러 신호를 상기 외부 장치에 전송하고, 상기 전송된 리셋 모드 신호가 제2 논리 레벨로 유지되는 동안 상기 입력된 커맨드를 처리하는 클라이언트를 포함한다.
클라이언트는 상기 전송된 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에 상기 외부 장치로부터 상기 커맨드를 입력받은 경우 상기 커맨드가 입력되었음 을 나타내는 플래그 신호를 저장할 수 있고, 상기 전송된 리셋 모드 신호가 제1 논리 레벨에서 제2 논리 레벨로 천이되는 경우 상기 플래그 신호를 기초로 인터럽트 신호를 발생시킬 수 있다.
클라이언트는 커맨드 처리부, 상기 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에 상기 커맨드가 입력되는 경우 상기 에러 신호를 상기 외부 장치에 전송하고, 상기 리셋 모드 신호가 제2 논리 레벨로 유지되는 동안에는 상기 입력된 커맨드를 상기 커맨드 처리부에 전송하는 커맨드 스위칭부 및 상기 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에 상기 커맨드가 입력되는 경우 상기 플래그 신호를 저장하고, 상기 전송된 리셋 모드 신호가 제1 논리 레벨에서 제2 논리 레벨로 천이되는 경우 상기 플래그 신호를 기초로 인터럽트 신호를 발생시키는 인터럽트 신호 생성부를 포함할 수 있다. 또한, 인터럽트 신호 생성부는 상기 인터럽트 신호를 전송한 후 상기 인터럽트 신호를 기초로 상기 플래그 신호를 초기화할 수 있다.
커맨드 스위칭부는 상기 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에 상기 커맨드가 입력되는 경우 에러 신호를 선택하고, 상기 리셋 모드 신호가 제2 논리 레벨로 유지되는 동안에 상기 커맨드가 입력되는 경우 상기 입력받은 커맨드를 선택하는 멀티플렉서 및 상기 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에는 상기 선택된 에러 신호를 상기 외부 장치에 전송하고, 상기 리셋 모드 신호가 제2 논리 레벨로 유지되는 동안에는 상기 입력받은 커맨드를 상기 클라이언트에 전송하는 스위치를 포함할 수 있다.
인터럽트 신호 생성부는 상기 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에 상기 커맨드를 입력받은 경우 상기 플래그 신호를 저장하는 제1 레지스터, 상기 전송된 리셋 모드 신호가 제1 논리 레벨에서 제2 논리 레벨로 천이되는 경우 상기 제1 레지스터에 저장된 플래그 신호를 입력받고, 입력받은 플래그 신호를 출력하는 제2 레지스터 및 상기 출력된 플래그 신호를 입력받아 입력받은 플래그 신호를 지연시킨 후 지연된 플래그 신호를 출력하는 제3 레지스터를 포함할 수 있고, 상기 제2 레지스터로부터 출력된 플래그 신호와 상기 제3 레지스터로부터 출력된 플래그 신호를 반전한 반전된 플래그 신호를 논리곱 연산하여 상기 인터럽트 신호를 발생시키고, 상기 인터럽트 신호를 기초로 상기 제1 레지스터를 초기화할 수 있다.
상기 또 다른 목적을 달성하기 위하여 본 발명의 커맨드 처리 방법은 비정상적인 동작 모드가 유지되는 동안에 외부 장치로부터 커맨드가 입력될 때 상기 외부 장치에 상기 커맨드에 대한 무응답으로 인해 발생될 수 있는 에러를 방지하도록 비정상적인 동작 모드에 있음을 나타내는 에러 신호를 상기 외부 장치에 전송하는 단계 및 정상적인 동작모드가 유지되는 동안에는 상기 커맨드 처리부에 상기 커맨드를 전송하여 상기 전송된 커맨드를 처리하는 단계를 포함한다.
또한, 커맨드 처리 방법은 비정상적인 동작 모드가 유지되는 동안에 상기 외부 장치로부터 상기 커맨드를 입력받은 경우 상기 커맨드가 입력되었음을 나타내는 플래그 신호를 저장하는 단계 및 비정상적인 동작 모드에서 정상적인 동작 모드로 천이되는 경우 상기 플래그 신호를 기초로 인터럽트 신호를 발생시키는 단계를 더 포함할 수 있다.
또한, 커맨드 처리 방법은 상기 인터럽트 신호를 전송한 후 상기 인터럽트 신호를 기초로 상기 플래그 신호를 초기화하는 단계를 더 포함할 수 있다.
상기 또 다른 목적을 달성하기 위하여 본 발명의 리셋 상태에서 무응답을 방지하기 위한 방법은 클라이언트에 리셋 모드 신호를 전송하는 단계, 상기 전송된 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안 외부 장치로부터 커맨드가 입력될 때 상기 외부 장치에 상기 커맨드에 대한 무응답으로 인해 발생될 수 있는 에러를 방지하도록 리셋 모드에 있음을 나타내는 에러 신호를 생성하는 단계 및 상기 전송된 리셋 모드 신호가 제2 논리 레벨로 유지되는 동안 상기 입력된 커맨드를 처리하는 단계를 포함한다.
또한, 리셋 상태에서 무응답을 방지하기 위한 방법은 상기 전송된 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에 상기 외부 장치로부터 상기 커맨드를 입력받은 경우 상기 커맨드가 입력되었음을 나타내는 플래그 신호를 저장하는 단계 및 상기 전송된 리셋 모드 신호가 제1 논리 레벨에서 제2 논리 레벨로 천이되는 경우 상기 플래그 신호를 기초로 인터럽트 신호를 발생시키는 단계를 더 포함할 수 있다.
또한, 리셋 상태에서 무응답을 방지하기 위한 방법은 상기 인터럽트 신호를 전송한 후 상기 인터럽트 신호를 기초로 상기 플래그 신호를 초기화하는 단계를 더 포함할 수 있다.
따라서 본 발명의 일 실시예에 따른 시스템에서는 비정상적인 동작 모드에서 입력받은 커맨드를 처리하여 견고한 시스템을 설계할 수 있다.
또한, 본 발명의 일 실시예에 따른 시스템에서는 비정상적인 동작 모드 동안에 커맨드를 입력받고 정상적인 동작 모드로 천이되는 경우 인터럽트 신호를 생성하여 호스트 시스템에 전송하여 상기 인터럽트 신호에 따른 작업을 처리할 수 있다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있 을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하 본 발명의 실시예들을 도면과 함께 설명하고자 한다.
도 3은 본 발명의 일 실시예에 따른 시스템을 나타내는 블록도이다.
도 3을 참조하면, 시스템(300)은 호스트 프로세서(310), 시스템 버스(320), 제1 서브시스템(330), 제2 서브시스템(340) 및 제3 서브시스템(350)을 포함한다.
호스트 프로세서(310)는 일반적으로 서버의 역할을 수행하고, 시스템(100) 전체를 관리한다. 호스트 프로세서(310)는 시스템(300)이 수행해야 할 작업을 직접 수행하거나 작업을 서브 작업으로 나누고, 각 서브 작업을 제1 내지 제3 서브시스템들(330~350)에 할당할 수 있다. 즉, 호스트 프로세서(310)는 제1 내지 제3 서브시스템들(330~350)에 특정 서브 작업을 수행하기 위한 특정 커맨드를 전송한다.
시스템 버스(320)는 호스트 프로세서(310) 및 제1 내지 제3 서브시스템들(330~350) 상호간에 커맨드와 같은 데이터를 전송하기 위한 채널이다.
제1 내지 제3 서브시스템(330)들은 일반적으로 클라이언트의 역할을 수행하고, 호스트 프로세서(310) 또는 다른 서브시스템에 의하여 전송된 커맨드를 실행한다. 제1 내지 제3 서브시스템(330)들은 상기 전송된 커맨드를 실행한 후 실행 결과를 호스트 프로세서(310) 또는 다른 서브시스템에 전송한다.
도 3의 시스템(300)의 동작 방법들 중 하나는 다음과 같을 수 있다.
호스트 프로세서(310)는 제1 서브시스템(330)에게 특정 커맨드를 전송하고, 제1 서브시스템(330)에 의한 응답을 기다린다. 제1 서브시스템(330)은 호스트 프로세서(310)로부터 전송된 특정 커맨드를 처리하고, 처리 결과를 호스트 프로세서(310)에 전송한다. 호스트 프로세서(310)는 제1 서브시스템(330)에 의하여 처리된 결과를 기초로 다음 작업을 수행한다.
도 3의 시스템(300)의 동작 방법들 중 다른 하나는 다음과 같을 수 있다.
호스트 프로세서(310)는 제1 서브시스템(330)에게 특정 커맨드를 전송하고, 제1 서브시스템(330)에 의한 응답을 기다린다. 제1 서브시스템(330)이 비정상적으로 동작하는 경우 호스트 프로세서(310)에 의하여 전송된 특정 커맨드를 처리할 수 없다. 예를 들어, 제1 서브시스템(330)의 동작 모드가 리셋 모드인 경우 제1 서브시스템(330)은 전송된 특정 커맨드를 처리할 수 없다.
제1 서브시스템(320)이 비정상적인 동작 모드(예를 들어, 리셋 모드)가 유지되는 동안에는 호스트 프로세서(310) 또는 다른 서브시스템(예를 들어, 제2 서브시스템(340))으로부터 커맨드가 입력될 때 호스트 프로세서(310) 또는 다른 서브시스템에 상기 커맨드에 대한 무응답으로 인해 발생될 수 있는 에러를 방지하도록 비정상적인 동작 모드에 있음을 나타내는 에러 신호를 호스트 프로세서(310) 또는 다른 서브시스템에 전송할 수 있다.
도 4는 본 발명의 일 실시예에 따른 서브시스템을 나타내는 블록도이다.
이하, 도 4에 나타난 서브시스템은 도 3의 제1 서브시스템(330)이라고 가정하고, 제2 내지 제3 서브시스템들(340~350) 역시 같은 방식으로 동작할 수 있다.
도 4를 참조하면, 서브시스템(330)은 커맨드 스위칭부(410) 및 커맨드 처리 부(420)를 포함하며, 인터럽트 신호 생성부(430)를 더 포함할 수 있다.
커맨드 스위칭부(410)는 비정상적인 동작 모드가 유지되는 동안에는 외부 장치로부터 커맨드가 입력될 때 상기 외부 장치에 상기 커맨드에 대한 무응답으로 인해 발생될 수 있는 에러를 방지하도록 비정상적인 동작 모드에 있음을 나타내는 에러 신호를 상기 외부 장치(예를 들어, 호스트 프로세서(310) 또는 다른 서브시스템)에 전송하고, 정상적인 동작모드가 유지되는 동안에는 상기 커맨드 처리부(420)에 상기 커맨드를 전송한다.
커맨드 처리부(420)는 커맨드 스위칭부(410)로부터 커맨드를 입력받고, 상기 입력받은 커맨드를 실행한다. 커맨드 처리부(420)는 커맨드를 실행한 후, 커맨드 처리 결과를 호스트 프로세서(310)에 전송한다.
인터럽트 신호 생성부(430)는 비정상적인 동작 모드가 유지되는 동안에 상기 외부 장치(예를 들어, 호스트 프로세서(310) 또는 다른 서브시스템)로부터 상기 커맨드를 입력받은 경우 상기 커맨드가 입력되었음을 나타내는 플래그 신호를 저장하고, 비정상적인 동작 모드에서 정상적인 동작 모드로 천이되는 경우 상기 플래그 신호를 기초로 인터럽트 신호를 발생시킨다.
상기 인터럽트 신호는 호스트 프로세서(310)에 전달되며, 호스트 프로세서(310)는 인터럽트 벡터 테이블(312)과 같은 메모리에 상기 인터럽트 신호를 저장할 수 있고, 추후에 인터럽트 벡터 테이블(312)을 참조하여 상기 인터럽트 신호를 처리할 수 있다.
이하, 도 4에 나타난 서브시스템의 동작을 설명한다.
커맨드 스위칭부(410)는 호스트 프로세서(310) 또는 다른 서브시스템으로부터 커맨드(CMD)를 입력받는다. 커맨드 스위칭부(410)는 리셋 모드 신호(RESET)를 기초로 상기 호스트 프로세서(310) 또는 다른 서브시스템에 에러 신호를 전송하거나 커맨드 처리부(420)에 입력받은 커맨드를 전송한다.
예를 들어, 리셋 모드 신호(RESET)는 서브시스템(330)의 동작 모드를 결정할 수 있다. 즉, 리셋 모드 신호(RESET)가 제1 논리 레벨(예를 들어, 논리 하이)에 상응하는 경우에는 서브시스템(330)이 비정상적인 동작 모드임을 나타낼 수 있고, 리셋 모드 신호(RESET)가 제2 논리 레벨(예를 들어, 논리 로우)에 상응하는 경우에는 서브시스템(330)이 정상적인 동작 모드임을 나타낼 수 있다.
인터럽트 신호 발생부(430)는 호스트 프로세서(310) 또는 다른 서브시스템으로부터 커맨드(CMD)를 입력받는다. 인터럽트 신호 발생부(430)는 리셋 모드 신호(RESET)를 기초로 상기 커맨드가 입력되었음을 나타내는 플래그 신호를 저장한다. 인터럽트 신호 발생부(430)는 리셋 모드 신호(RESET)가 제1 논리 레벨에서 제2 논리 레벨로 천이되는 경우 저장된 플래그 신호를 기초로 인터럽트 신호를 호스트 프로세서(310)에 전송한다.
호스트 프로세서(310)는 인터럽트 신호 발생부(430)로부터 전달받은 인터럽트 신호를 인터럽트 벡터 테이블(312)에 저장할 수 있다. 호스트 프로세서(310)는 추후에 인터럽트 벡터 테이블(312)을 참조하여 인터럽트 신호를 처리할 수 있다.
도 5는 도 4의 커맨드 스위칭부의 일 실시예를 나타내는 블록도이다.
도 5를 참조하면, 커맨드 스위칭부(410)는 멀티플렉서(510) 및 스위치(520) 를 포함한다.
멀티플렉서(510)는 리셋 모드 신호(RESET)를 기초로 커맨드 및 에러 신호 중 하나를 선택한다. 예를 들어, 멀티플렉서(510)는 리셋 모드 신호(RESET)가 제1 논리 레벨로 유지되는 동안에는 커맨드를 선택할 수 있고, 리셋 모드 신호(RESET)가 제2 논리 레벨로 유지되는 동안에는 에러 신호를 선택할 수 있다.
스위치(520)는 리셋 모드 신호(RESET)를 기초로 멀티플렉서(510)에 의하여 선택된 신호를 호스트 프로세서(310) 또는 커맨드 처리부(420)에 전송한다. 예를 들어, 스위치(520)는 리셋 모드 신호(RESET)가 제1 논리 레벨로 유지되는 동안에는 멀티플렉서(510)에 의하여 선택된 신호를 커맨드 처리부(420)에 전송할 수 있고, 리셋 모드 신호(RESET)가 제2 논리 레벨로 유지되는 동안에는 멀티플렉서(510)에 의하여 선택된 신호를 호스트 프로세서(310)에 전송할 수 있다.
도 5의 커맨드 스위칭부(410)의 동작 방법은 다음과 같다.
커맨드 스위칭부(410)는 리셋 모드 신호(RESET)가 제1 논리 레벨로 유지되는 동안에는 멀티플렉서(510)에 의하여 선택된 커맨드를 커맨드 처리부(420)에 전송할 수 있다.
또한, 커맨드 스위칭부(410)는 리셋 모드 신호(RESET)가 제2 논리 레벨로 유지되는 동안에는 멀티플렉서(510)에 의하여 선택된 에러 신호를 호스트 프로세서(310)에 전송할 수 있다. 따라서 커맨드 스위칭부(410)는 비정상적인 동작 모드가 유지되는 동안에는 외부 장치로부터 커맨드가 입력될 때 상기 외부 장치에 상기 커맨드에 대한 무응답으로 인해 발생될 수 있는 에러를 방지하도록 비정상적인 동 작 모드에 있음을 나타내는 에러 신호를 상기 외부 장치(예를 들어, 호스트 프로세서(310) 또는 다른 서브시스템)에 전송할 수 있다.
도 6은 도 4의 인터럽트 신호 생성부(430)의 일 실시예를 나타내는 블록도이다.
도 6을 참조하면, 인터럽트 신호 생성부(430)는 제1 내지 제3 멀티플렉서들(610~630), 제1 내지 제3 레지스터들(640~660), 인버터(670) 및 제1 내지 제2 앤드 게이트들(680~690)을 포함한다.
제1 멀티플렉서(610)는 인터럽트 신호를 기초로 제1 레지스터(640)에 저장된 값 및 소정의 값(예를 들어, '0'값) 중 하나를 선택한다.
제1 앤드 게이트(680)는 서브시스템(330)이 비정상적인 동작 모드에 있는 동안에 커맨드를 입력받은 경우 논리 하이 값을 출력하고, 그렇지 않은 경우에는 논리 로우 값을 출력한다.
제2 멀티플렉서(620)는 제1 앤드 게이트(680)로부터 출력된 값을 기초로 커맨드를 입력받은 경우 소정의 값(예를 들어, '1'값) 및 제1 멀티플렉서(610)에 의하여 선택된 값 중 하나를 선택한다. 예를 들어, 제2 멀티플렉서(620)는 서브시스템(330)이 비정상적인 동작 모드에 있는 동안에 커맨드를 입력받은 경우 소정의 값(예를 들어, '1'값)을 선택하고, 그렇지 않은 경우에는 제1 멀티플렉서(610)에 의하여 선택된 값을 선택한다.
제1 레지스터(640)는 서브시스템(330)이 초기화될 때 초기화 신호(CLEAR)를 입력받고 초기화될 수 있고, 서브시스템(330)이 비정상적인 동작 모드에 있는 동안 에는 커맨드를 입력받은 경우 논리 하이 값을 저장한다.
제3 멀티플렉서(630)는 제1 레지스터(640)에 저장된 값을 기초로 논리 로우 및 논리 하이 중 하나를 선택한다. 예를 들어, 제3 멀티플렉서(630)는 비정상적인 동작 모드에 있는 동안에는 커맨드를 입력받은 경우에는 논리 하이를 선택할 수 있고, 그렇지 않은 경우에는 논리 로우를 선택할 수 있다.
제2 레지스터(650)는 서브시스템(330)이 정상적인 동작 모드로 유지되는 경우 제3 멀티플렉서(630)에 의하여 출력된 값을 저장하고, 그렇지 않은 경우에는 초기화된다. 즉, 제2 레지스터(650)는 리셋 모드 신호(RESET)에 의하여 서브시스템(330)이 비정상적인 동작 모드에 있는 동안에는 초기화되고, 서브시스템(330)이 정상적인 동작 모드에 있는 동안에는 제3 멀티플렉서(630)에 의하여 출력된 값을 저장한다.
제3 레지스터(660)는 제2 레지스터(650)로부터 출력된 값을 저장하고, 한 클록 지연시킨 후 제2 레지스터(650)에 의하여 저장된 값도 같은 값을 출력한다. 즉, 제3 레지스터(660)는 제2 레지스터(650)로부터 출력된 값을 한 클록 지연시킨 값을 출력한다.
인버터(670)는 제3 레지스터(660)로부터 출력된 값을 반전시킨다.
제2 앤드 게이트(690)는 제2 레지스터(650)에 의하여 출력된 값 및 인버터(670)에 의하여 출력된 값에 대하여 앤드 연산을 수행하여, 앤드 연산 결과를 인터럽트 신호로 출력한다.
도 7은 도 6에 의한 인터럽트 신호 생성 과정을 나타내는 타이밍도이다.
도 7의 경우, A(710)는 비정상적인 동작 모드에 있는 동안에 커맨드를 입력받고, 정상적인 동작 모드로 천이(715)하는 경우 제2 레지스터(650)의 출력을 나타낸다.
B(720)는 제3 레지스터(660)에 의한 출력을 나타내고, A(710)의 신호를 한 클록 지연시킨 신호를 나타낸다.
C(730)는 인버터(670)의 출력을 나타내고, B(720)의 신호를 반전시킨 신호를 나타낸다.
D(740)는 제2 앤드 게이트(690)의 출력을 나타내고, 제3 레지스터(660)의 출력 및 인버터(670)의 출력에 대하여 앤드 연산한 결과를 나타낸다. 최종적으로 D(740)는 인터럽트 신호를 나타낸다.
이하, 도 6에 나타난 인터럽트 신호 생성부(430)의 동작을 설명한다.
인터럽트 신호 생성부(430)는 비정상적인 동작 모드가 유지되는 동안에 상기 외부 장치로부터 상기 커맨드를 입력받은 경우 상기 커맨드가 입력되었음을 나타내는 플래그 신호를 제1 레지스터(640)에 저장하고, 비정상적인 동작 모드에서 정상적인 동작 모드로 천이되는 경우 상기 플래그 신호를 기초로 인터럽트 신호를 발생시킨다. 또한, 상기 인터럽트 신호 생성부(430)는 인터럽트 신호를 전송한 후 인터럽트 신호를 기초로 제1 레지스터(640)에 저장된 플래그 신호를 초기화 시킨다.
즉, 인터럽트 신호 생성부(430)는 상기 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에 상기 커맨드가 입력되는 경우 상기 플래그 신호를 저장하고, 상기 전송된 리셋 모드 신호가 제1 논리 레벨에서 제2 논리 레벨로 천이되는 경우 상기 플래그 신호를 기초로 인터럽트 신호를 발생시킨다. 또한, 인터럽트 신호 생성부(430)는 상기 인터럽트 신호를 전송한 후 상기 인터럽트 신호를 제1 멀티플렉서(610)의 선택신호로 입력하여 기초로 제1 레지스터(640)에 저장된 플래그 신호를 초기화한다.
상술한 바와 같이 본 발명의 일 실시예에 따른 시스템에서는 비정상적인 동작 모드에서 입력받은 커맨드를 처리하여 견고한 시스템을 설계할 수 있다.
또한, 본 발명의 일 실시예에 따른 시스템에서는 비정상적인 동작 모드 동안에 커맨드를 입력받고 정상적인 동작 모드로 천이되는 경우 인터럽트 신호를 생성하여 호스트 시스템에 전송하여 상기 인터럽트 신호에 따른 작업을 처리할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (18)
- 커맨드 처리부; 및비정상적인 동작 모드가 유지되는 동안에는 외부 장치로부터 커맨드가 입력될 때 상기 외부 장치에 상기 커맨드에 대한 무응답으로 인해 발생될 수 있는 에러를 방지하도록 비정상적인 동작 모드에 있음을 나타내는 에러 신호를 상기 외부 장치에 전송하고, 정상적인 동작모드가 유지되는 동안에는 상기 커맨드 처리부에 상기 커맨드를 전송하는 커맨드 스위칭부를 포함하는 커맨드 처리 장치.
- 제1항에 있어서, 상기 비정상적인 동작 모드는 외부로부터 전송되는 신호에 의하여 결정되는 것을 특징으로 하는 커맨드 처리 장치.
- 제1항에 있어서, 비정상적인 동작 모드가 유지되는 동안에 상기 외부 장치로부터 상기 커맨드를 입력받은 경우 상기 커맨드가 입력되었음을 나타내는 플래그 신호를 저장하고, 비정상적인 동작 모드에서 정상적인 동작 모드로 천이되는 경우 상기 플래그 신호를 기초로 인터럽트 신호를 발생시키는 인터럽트 신호 생성부를 더 포함하는 것을 특징으로 하는 커맨드 처리 장치.
- 제3항에 있어서, 상기 커맨드 스위칭부는 비정상적인 동작 모드가 유지되는 동안에 상기 커맨드가 입력되는 경우 에러 신호를 선택하고, 정상적인 동작 모드가 유지되는 동안에 상기 커맨드가 입력되는 경우 상기 입력받은 커맨드를 선택하는 멀티플렉서; 및비정상적인 동작 모드가 유지되는 동안에는 상기 선택된 에러 신호를 상기 외부 장치에 전송하고, 정상적인 동작 모드가 유지되는 동안에는 상기 입력받은 커맨드를 상기 시스템에 전송하는 스위치를 포함하는 것을 특징으로 하는 커맨드 처리 장치.
- 제3항에 있어서, 상기 인터럽트 신호 생성부는 상기 인터럽트 신호를 전송한 후 상기 인터럽트 신호를 기초로 상기 플래그 신호를 초기화하는 것을 특징으로 하는 커맨드 처리 장치.
- 제5항에 있어서, 상기 인터럽트 신호 생성부는비정상적인 동작 모드가 유지되는 동안에 상기 커맨드를 입력받은 경우 상기 플래그 신호를 저장하는 제1 레지스터;비정상적인 동작 모드에서 정상적인 동작 모드로 천이되는 경우 상기 제1 레지스터에 저장된 플래그 신호를 입력받고, 입력받은 플래그 신호를 출력하는 제2 레지스터; 및상기 출력된 플래그 신호를 입력받아 입력받은 플래그 신호를 지연시킨 후 지연된 플래그 신호를 출력하는 제3 레지스터를 포함하고,상기 제2 레지스터로부터 출력된 플래그 신호와 상기 제3 레지스터로부터 출 력된 플래그 신호를 반전한 반전된 플래그 신호를 논리곱 연산하여 상기 인터럽트 신호를 발생시키고, 상기 인터럽트 신호를 기초로 상기 제1 레지스터를 초기화하는 것을 특징으로 하는 커맨드 처리 장치.
- 리셋 모드 신호를 전송하는 서버; 및상기 전송된 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안 외부 장치로부터 커맨드가 입력될 때 상기 외부 장치에 상기 커맨드에 대한 무응답으로 인해 발생될 수 있는 에러를 방지하도록 리셋 모드에 있음을 나타내는 에러 신호를 상기 외부 장치에 전송하고, 상기 전송된 리셋 모드 신호가 제2 논리 레벨로 유지되는 동안 상기 입력된 커맨드를 처리하는 클라이언트를 포함하는 리셋 상태에서 무응답을 방지하기 위한 시스템.
- 제7항에 있어서, 상기 클라이언트는 상기 전송된 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에 상기 외부 장치로부터 상기 커맨드를 입력받은 경우 상기 커맨드가 입력되었음을 나타내는 플래그 신호를 저장하고, 상기 전송된 리셋 모드 신호가 제1 논리 레벨에서 제2 논리 레벨로 천이되는 경우 상기 플래그 신호를 기초로 인터럽트 신호를 발생시키는 것을 특징으로 하는 리셋 상태에서 무응답을 방지하기 위한 시스템.
- 제8항에 있어서, 상기 클라이언트는커맨드 처리부;상기 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에 상기 커맨드가 입력되는 경우 상기 에러 신호를 상기 외부 장치에 전송하고, 상기 리셋 모드 신호가 제2 논리 레벨로 유지되는 동안에는 상기 입력된 커맨드를 상기 커맨드 처리부에 전송하는 커맨드 스위칭부; 및상기 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에 상기 커맨드가 입력되는 경우 상기 플래그 신호를 저장하고, 상기 전송된 리셋 모드 신호가 제1 논리 레벨에서 제2 논리 레벨로 천이되는 경우 상기 플래그 신호를 기초로 인터럽트 신호를 발생시키는 인터럽트 신호 생성부를 포함하는 것을 특징으로 하는 리셋 상태에서 무응답을 방지하기 위한 시스템.
- 제9항에 있어서, 상기 커맨드 스위칭부는상기 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에 상기 커맨드가 입력되는 경우 에러 신호를 선택하고, 상기 리셋 모드 신호가 제2 논리 레벨로 유지되는 동안에 상기 커맨드가 입력되는 경우 상기 입력받은 커맨드를 선택하는 멀티플렉서; 및상기 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에는 상기 선택된 에러 신호를 상기 외부 장치에 전송하고, 상기 리셋 모드 신호가 제2 논리 레벨로 유지되는 동안에는 상기 입력받은 커맨드를 상기 클라이언트에 전송하는 스위치를 포함하는 것을 특징으로 하는 리셋 상태에서 무응답을 방지하기 위한 시스템.
- 제9항에 있어서, 상기 인터럽트 신호 생성부는 상기 인터럽트 신호를 전송한 후 상기 인터럽트 신호를 기초로 상기 플래그 신호를 초기화하는 것을 특징으로 하는 리셋 상태에서 무응답을 방지하기 위한 시스템.
- 제11항에 있어서, 상기 인터럽트 신호 생성부는상기 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에 상기 커맨드를 입력받은 경우 상기 플래그 신호를 저장하는 제1 레지스터;상기 전송된 리셋 모드 신호가 제1 논리 레벨에서 제2 논리 레벨로 천이되는 경우 상기 제1 레지스터에 저장된 플래그 신호를 입력받고, 입력받은 플래그 신호를 출력하는 제2 레지스터; 및상기 출력된 플래그 신호를 입력받아 입력받은 플래그 신호를 지연시킨 후 지연된 플래그 신호를 출력하는 제3 레지스터를 포함하고,상기 제2 레지스터로부터 출력된 플래그 신호와 상기 제3 레지스터로부터 출력된 플래그 신호를 반전한 반전된 플래그 신호를 논리곱 연산하여 상기 인터럽트 신호를 발생시키고, 상기 인터럽트 신호를 기초로 상기 제1 레지스터를 초기화하는 것을 특징으로 하는 리셋 상태에서 무응답을 방지하기 위한 시스템.
- 비정상적인 동작 모드가 유지되는 동안에 외부 장치로부터 커맨드가 입력될 때 상기 외부 장치에 상기 커맨드에 대한 무응답으로 인해 발생될 수 있는 에러를 방지하도록 비정상적인 동작 모드에 있음을 나타내는 에러 신호를 상기 외부 장치에 전송하는 단계; 및정상적인 동작모드가 유지되는 동안에는 상기 커맨드 처리부에 상기 커맨드를 전송하여 상기 전송된 커맨드를 처리하는 단계를 포함하는 커맨드 처리 방법.
- 제13항에 있어서,비정상적인 동작 모드가 유지되는 동안에 상기 외부 장치로부터 상기 커맨드를 입력받은 경우 상기 커맨드가 입력되었음을 나타내는 플래그 신호를 저장하는 단계;비정상적인 동작 모드에서 정상적인 동작 모드로 천이되는 경우 상기 플래그 신호를 기초로 인터럽트 신호를 발생시키는 단계를 더 포함하는 것을 특징으로 하는 커맨드 처리 방법.
- 제14항에 있어서, 상기 인터럽트 신호를 전송한 후 상기 인터럽트 신호를 기초로 상기 플래그 신호를 초기화하는 단계를 더 포함하는 것을 특징으로 하는 커맨드 처리 방법.
- 클라이언트에 리셋 모드 신호를 전송하는 단계; 및상기 전송된 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안 외부 장치로부터 커맨드가 입력될 때 상기 외부 장치에 상기 커맨드에 대한 무응답으로 인해 발생될 수 있는 에러를 방지하도록 리셋 모드에 있음을 나타내는 에러 신호를 생성하는 단계; 및상기 전송된 리셋 모드 신호가 제2 논리 레벨로 유지되는 동안 상기 입력된 커맨드를 처리하는 단계를 포함하는 리셋 상태에서 무응답을 방지하기 위한 방법.
- 제16항에 있어서,상기 전송된 리셋 모드 신호가 제1 논리 레벨로 유지되는 동안에 상기 외부 장치로부터 상기 커맨드를 입력받은 경우 상기 커맨드가 입력되었음을 나타내는 플래그 신호를 저장하는 단계; 및상기 전송된 리셋 모드 신호가 제1 논리 레벨에서 제2 논리 레벨로 천이되는 경우 상기 플래그 신호를 기초로 인터럽트 신호를 발생시키는 단계를 더 포함하는 것을 특징으로 하는 리셋 상태에서 무응답을 방지하기 위한 방법.
- 제17항에 있어서,상기 인터럽트 신호를 전송한 후 상기 인터럽트 신호를 기초로 상기 플래그 신호를 초기화하는 단계를 더 포함하는 것을 특징으로 하는 리셋 상태에서 무응답을 방지하기 위한 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060064813A KR100824792B1 (ko) | 2006-07-11 | 2006-07-11 | 커맨드 처리 장치와 방법 및 이를 포함하는 시스템 |
US11/812,883 US7865771B2 (en) | 2006-07-11 | 2007-06-22 | Command processing devices, command processing systems, and methods of processing a command |
CNA2007101291235A CN101105781A (zh) | 2006-07-11 | 2007-07-11 | 命令处理设备、命令处理系统及处理命令的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060064813A KR100824792B1 (ko) | 2006-07-11 | 2006-07-11 | 커맨드 처리 장치와 방법 및 이를 포함하는 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080006099A true KR20080006099A (ko) | 2008-01-16 |
KR100824792B1 KR100824792B1 (ko) | 2008-04-24 |
Family
ID=38950655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060064813A KR100824792B1 (ko) | 2006-07-11 | 2006-07-11 | 커맨드 처리 장치와 방법 및 이를 포함하는 시스템 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7865771B2 (ko) |
KR (1) | KR100824792B1 (ko) |
CN (1) | CN101105781A (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5159489B2 (ja) * | 2008-07-18 | 2013-03-06 | キヤノン株式会社 | 通信装置 |
US8103816B2 (en) * | 2008-10-28 | 2012-01-24 | Intel Corporation | Technique for communicating interrupts in a computer system |
CN107291524B (zh) * | 2016-03-31 | 2020-04-07 | 阿里巴巴集团控股有限公司 | 一种远程命令的处理方法和装置 |
US10896001B1 (en) | 2018-09-27 | 2021-01-19 | Amazon Technologies, Inc. | Notifications in integrated circuits |
US10803007B1 (en) | 2018-09-28 | 2020-10-13 | Amazon Technologies, Inc. | Reconfigurable instruction |
US10956248B1 (en) * | 2018-11-26 | 2021-03-23 | Amazon Technologies, Inc. | Configurable reporting for device conditions |
US10949321B1 (en) | 2018-11-26 | 2021-03-16 | Amazon Technologies, Inc. | Operational management of a device |
US11281967B1 (en) | 2018-12-11 | 2022-03-22 | Amazon Technologies, Inc. | Event-based device performance monitoring |
US11416749B2 (en) | 2018-12-11 | 2022-08-16 | Amazon Technologies, Inc. | Execution synchronization and tracking |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0454746A (ja) | 1990-06-22 | 1992-02-21 | Canon Inc | 通信装置 |
JPH0589036A (ja) | 1991-09-25 | 1993-04-09 | Nec Corp | スレーブ情報処理装置 |
JP2906197B2 (ja) | 1992-08-03 | 1999-06-14 | 横河電機株式会社 | 二重化バス装置 |
JP2843225B2 (ja) | 1993-01-14 | 1999-01-06 | 三菱電機株式会社 | バス監視方法 |
JPH07121489A (ja) * | 1993-10-25 | 1995-05-12 | Canon Inc | マルチプロセッサシステム |
US5586318A (en) * | 1993-12-23 | 1996-12-17 | Microsoft Corporation | Method and system for managing ownership of a released synchronization mechanism |
US5884022A (en) * | 1996-06-03 | 1999-03-16 | Sun Microsystems, Inc. | Method and apparatus for controlling server activation in a multi-threaded environment |
US6330690B1 (en) * | 1997-05-13 | 2001-12-11 | Micron Electronics, Inc. | Method of resetting a server |
US7451447B1 (en) * | 1998-08-07 | 2008-11-11 | Arc International Ip, Inc. | Method, computer program and apparatus for operating system dynamic event management and task scheduling using function calls |
TW452727B (en) * | 1999-03-29 | 2001-09-01 | Winbond Electronics Corp | Micro-computer system and method for using reset to set different working modes |
KR200359921Y1 (ko) * | 1999-06-08 | 2004-08-21 | 삼성탈레스 주식회사 | 슬레이브 장치 |
KR20010000309A (ko) | 2000-09-08 | 2001-01-05 | 서동소 | 차량의 안전장치 |
JP2002189614A (ja) * | 2000-12-22 | 2002-07-05 | Nec Microsystems Ltd | ウォッチドッグタイマとそれを内蔵したマイクロコンピュータ及びマイクロコンピュータの暴走防止制御方法 |
KR100434270B1 (ko) * | 2001-05-30 | 2004-06-04 | 엘지전자 주식회사 | 가전기기 네트워크 제어시스템 |
JP3939961B2 (ja) * | 2001-10-31 | 2007-07-04 | 株式会社デンソー | 車両用電子制御装置 |
US7047321B1 (en) * | 2002-08-26 | 2006-05-16 | Network Appliance, Inc. | Unblocking an operating system thread for managing input/output requests to hardware devices |
KR100812705B1 (ko) * | 2003-12-26 | 2008-03-26 | 주식회사 포스콘 | 논리 연산 장치에서 호스트 데이터 링크 방법 |
JP4795025B2 (ja) * | 2006-01-13 | 2011-10-19 | キヤノン株式会社 | ダイナミックリコンフィギャラブルデバイス、制御方法、及びプログラム |
-
2006
- 2006-07-11 KR KR1020060064813A patent/KR100824792B1/ko not_active IP Right Cessation
-
2007
- 2007-06-22 US US11/812,883 patent/US7865771B2/en not_active Expired - Fee Related
- 2007-07-11 CN CNA2007101291235A patent/CN101105781A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN101105781A (zh) | 2008-01-16 |
KR100824792B1 (ko) | 2008-04-24 |
US7865771B2 (en) | 2011-01-04 |
US20080016411A1 (en) | 2008-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100824792B1 (ko) | 커맨드 처리 장치와 방법 및 이를 포함하는 시스템 | |
JP5459807B2 (ja) | マルチプロセッサデータ処理システムにおけるデバッグシグナリング | |
JP6275320B2 (ja) | 通信装置、通信方法及びプログラム | |
KR101056153B1 (ko) | 배리어 동작들의 조건부 브로드캐스트를 위한 방법 및 장치 | |
KR20100135282A (ko) | 가상 인터럽트 모드 인터페이스 | |
US7653764B2 (en) | Fault-tolerant computer and method of controlling data transmission | |
US20170294903A1 (en) | Dynamic clock switching method and apparatus as well as computer readable medium | |
JP2001016234A (ja) | Canコントローラおよびcanコントローラを内蔵したワンチップ・コンピュータ | |
US20140266356A1 (en) | Distributing multiplexing logic to remove multiplexor latency on the output path for variable clock cycle, delayed signals | |
JP6290761B2 (ja) | データ転送制御システム、データ転送制御方法、及び、データ転送制御プログラム | |
JP5918192B2 (ja) | Plcシステムでのデータ処理装置及びその方法 | |
US10338921B2 (en) | Asynchronous instruction execution apparatus with execution modules invoking external calculation resources | |
JP2015156196A (ja) | マイクロコンピュータ | |
KR100644597B1 (ko) | 버스 시스템 및 그 커맨드 전달방법 | |
US10460772B2 (en) | Semiconductor device | |
US5828872A (en) | Implementation of high speed synchronous state machines with short setup and hold time signals | |
JP2008046968A (ja) | 情報処理装置およびその制御方法 | |
JP5433156B2 (ja) | メモリ制御回路 | |
JP5489871B2 (ja) | 画像処理装置 | |
JP5481889B2 (ja) | フォールトトレラントコンピュータ、その同期制御方法及びコンピュータプログラム | |
JP4620492B2 (ja) | バスインターフェイス回路 | |
JP2006079547A (ja) | プロセッサシステム | |
JP3132012B2 (ja) | データバス制御回路 | |
KR20160074393A (ko) | 기입-전용 프로세서간 리셋 동기화를 위한 방법 및 장치 | |
KR20060080380A (ko) | 시스템 온 칩을 위한 ip 모듈 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120402 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20130329 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |