KR930003721B1 - Data system with high interrupt punction - Google Patents

Data system with high interrupt punction Download PDF

Info

Publication number
KR930003721B1
KR930003721B1 KR1019870012708A KR870012708A KR930003721B1 KR 930003721 B1 KR930003721 B1 KR 930003721B1 KR 1019870012708 A KR1019870012708 A KR 1019870012708A KR 870012708 A KR870012708 A KR 870012708A KR 930003721 B1 KR930003721 B1 KR 930003721B1
Authority
KR
South Korea
Prior art keywords
signal
interrupt
bus
response
processing unit
Prior art date
Application number
KR1019870012708A
Other languages
Korean (ko)
Other versions
KR890008701A (en
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 KR1019870012708A priority Critical patent/KR930003721B1/en
Publication of KR890008701A publication Critical patent/KR890008701A/en
Application granted granted Critical
Publication of KR930003721B1 publication Critical patent/KR930003721B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

내용 없음.No content.

Description

고속 인터럽트 기능을 갖는 데이타 처리시스템Data processing system with high speed interrupt function

제 1 도는 본 발명의 장치를 포함하는 시스템의 블록도.1 is a block diagram of a system including an apparatus of the present invention.

제 2 도는 본 발명의 장치를 포함하는 처리 유니트의 인터페이스 로직의 블럭도.2 is a block diagram of the interface logic of a processing unit including the apparatus of the present invention.

제 3 도는 본 발명의 인터럽트 로직의 상세도.3 is a detailed diagram of the interrupt logic of the present invention.

제 4 도는 본 발명의 장치에서 활용되는 명령들의 포오맷도.4 is a format diagram of instructions utilized in the apparatus of the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

2 : 시스템 버스 4,4A : 중앙서브시스템(CSS)2: System bus 4,4A: Central subsystem (CSS)

8,8A : 주메모리 12,14 : 주변제어기8,8A: Main memory 12,14: Peripheral controller

16,18 : 주변장치 20 : 시스템관리장치(SMF)16,18 Peripheral device 20 System management device (SMF)

본 발명은 데이타시스템, 특히 그러한 시스템에 관련 사용되는 인터럽트 장치에 관한 것이다.The present invention relates to data systems, in particular interrupt devices used in connection with such systems.

잘 알다시피, 대다수의 데이타처리시스템은, 경쟁 디바이스들로 부터의 인터럽트 요구에 대해 우선순위에 따른 서비스를 제공하도록, 그들의 처리 유니트내에 인터럽트 장치를 채용하고 있다. 이러한 서비스 기능은, 통상, 경쟁 디바이스들에 대해 각각 인터럽트 우선순위 레벨을 할당하고, 그 레벨들을 비교하여, 보다 고우선순위를 갖는 디바이스로 하여금 시스템 또는 처리 유니트를 액세스 할 수 있게 함으로써 달성되며, 이 디바이스의 요구가 서비스된 후에는 처리 유니트로부터 다른 디바이스들로, 현재의 인터럽트 레벨에서 새로운 인터럽트들에 대한 서비스가 행해질 수 있음을 나타내는 신호가 송출되게 된다. 이러한 타입의 시스템은, 예를들어, 미합중국 제 3,984,820호에 개시된 바 있다.As is well known, most data processing systems employ interrupt devices in their processing units to provide priority services for interrupt requests from competing devices. Such service functionality is typically accomplished by assigning interrupt priority levels to competing devices, comparing the levels, and allowing a higher priority device to access the system or processing unit, which device After the request of is serviced, a signal is sent from the processing unit to other devices indicating that service for new interrupts can be made at the current interrupt level. Systems of this type have been disclosed, for example, in US Pat. No. 3,984,820.

한편, 미합중국 특허 제 4,371,928호에는, 인터럽트 명령에 소오스의 우선순위 레벨이 포함되도록한 데이타처리시스템이 개시되어 있다. 이 타입의 시스템에서는, 그런데, 비동기 시스템 버스로부터 현재의 명령보다 그 우선순위의 다른 명령이 수신되는 경우, 현재의 명령에 신속히 응답할 수 없다는 문제가 있다.On the other hand, US Patent No. 4,371,928 discloses a data processing system in which an interrupt instruction includes a source priority level. In this type of system, however, there is a problem that if a command other than the current command is received from the asynchronous system bus, the current command cannot be quickly responded.

또 한편, 미합중국 특허 제 3,993,981호에는, 현재 실행중인 명령의 인터럽트 레벨과 시스템 버스를 거쳐 수신된 새로운 명령의 인터럽트 레벨과를 비교하기 위한 비교기 수단을 채용한 시스템이 개시되어 있다.On the other hand, US Patent No. 3,993, 981 discloses a system employing a comparator means for comparing the interrupt level of a command currently being executed with the interrupt level of a new command received via the system bus.

그런데, 오늘날의 보다 복잡화된 다중처리시스템들은, 시스템의 순차적인 셧다운이 가능해지도록, 허용한계 초과 상태나 특징 시간 경과 상태들을 나타내는 명령들에 대해 신속히 응답할 수 있어야 한다. 또, 특정의 시간 경과 상태들에 대해서는, 소프트웨어 처리가 실행되고 있는 동안, 이전에 가능했던 것보다도 신속한 실시간 변경을 요하게 된다. 이것은, 특히, 많은 주변 제어기들이 각각 거의 동시에 CPU에 대한 액세스를 요구하고 있는 경우에 필요로 된다.However, today's more complex multiprocessing systems must be able to respond quickly to commands that indicate over-tolerance conditions or feature time-lapse states so that sequential shutdown of the system is possible. In addition, for certain time-lapse states, while software processing is being executed, a faster real-time change is required than was previously possible. This is particularly necessary when many peripheral controllers are each requesting access to the CPU at about the same time.

따라서, 본 발명의 주목적은, 다중처리시스템에 사용하기 위한 개량된 인터럽트 장치를 제공하는데 시스템다.It is therefore a primary object of the present invention to provide an improved interrupt apparatus for use in a multiprocessing system.

본 발명의 다른 목적은, 정상 속도 및 고속으로 동작하는 인터럽트 장치를 제공하는데 있다.Another object of the present invention is to provide an interrupt device that operates at a normal speed and a high speed.

본 발명의 상기한 목적 및 장점들은, 첨부도면에 도시되고 이하에 상세히 설명될 다중처리시스템의 양호한 실시예를 통해 달성된다. 본 발명의 장치는 그 시스템의 각 처리 유니트의 버스 인터페이스 회로의 인터럽트 로직내에 포함되고, 이 인터럽트 로직은, 정상 및 고속 인터럽트 요구들에 대해 반응하도록, 상기 인터페이스 회로들을 통해, 시스템의 나머지 유니트들과 공통으로 비동기 시스템 버스에 결합된다.The above objects and advantages of the present invention are achieved through the preferred embodiments of the multi-processing system shown in the accompanying drawings and described in detail below. The apparatus of the present invention is included in the interrupt logic of the bus interface circuit of each processing unit of the system, through which the interrupt logic communicates with the remaining units of the system, via the interface circuits, to respond to normal and fast interrupt requests. Commonly coupled to an asynchronous system bus.

정상 동작중에는, 어드레스신호, 데이타신호 및 제어신호들을 포함하는 명령들이 상기 시스템 버스를 거쳐 전달된다. 각 처리 유니트는 상기 각 명령과, 특정 제어 및 어드레스 신호들을 수신하여, 명령 실행 여부를 결정한다. 디코드된 어드레스 신호들이 그 특유의 채널번호인 것으로 인식한 처리 유니트는, 그 처리 유니트에 의해 현재 실행중인 명령의 인터럽트 우선순위 레벨과 새로운 명령의 인터럽트 우선순위 레벨을 비교한다. 만일 새로운 명령이 현재 실행중인 명령보다 고 우선순위 레벨을 갖고 있으면, 상기 처리 유니트는 시스템 버스를거쳐 소오스 유니트로, 즉 상기 새로운 명령이 시발된 유니트로 허가신호(acknowledge signal)를 송출한다. 반면에, 새로운 명령이 실행중인 명령보다 저우선순위 레벨을 갖고 있으면, 상기 처리 유니트는 시스템버스상으로 불가신호(not acknowldege signal)를 송출한다. 이경우, 소오스 유니트는, 소정시간 지연후에 상기 처리 유니트로 다시 명령을 발송한다.During normal operation, instructions including address signals, data signals and control signals are transmitted over the system bus. Each processing unit receives each of the above commands and specific control and address signals to determine whether to execute the command. A processing unit that recognizes that the decoded address signals are its unique channel number compares the interrupt priority level of the instruction currently being executed by the processing unit with the interrupt priority level of the new instruction. If the new instruction has a higher priority level than the currently executing instruction, the processing unit sends an acknowledge signal via the system bus to the source unit, i.e., the unit from which the new instruction originated. On the other hand, if the new command has a Zhou priority level than the running command, the processing unit sends a not acknowldege signal on the system bus. In this case, the source unit sends a command back to the processing unit after a predetermined time delay.

그런데, 특정의 명령들, 특히 과열상태나, 규정 전력 초과상태, 또는 특정시간 경과 상태들을 나타내는 명령들은, 처리 유니트에 대해 즉각적인 반응을 일으킬 것을 요구한다. 이러한 명령들은 즉각적인 명령실행이 요구됨을 나타내는 특수한 제어 및 어드레스 신호들을 갖게 될 것인바, 이러한 명령들로 어드레스된 처리 유니트에 의해, 현재 실행중인 명령은 즉시 인터럽트되고 새로운 명령이 실행될 것이다.By the way, certain commands, in particular overheating, specified power over, or specific time elapsed conditions, require an immediate response to the processing unit. These instructions will have special control and address signals indicating that immediate instruction execution is required, whereby the processing unit addressed with these instructions will immediately interrupt the currently executing instruction and execute the new instruction.

특정 제어 및 어드레스 신호들은 어레이 로직에 인가된다. 이들중 제어 신호들은, 이 명령이 이전의 명령에 대한 응답이 아님을 나타내고, 또 그것이 레벨 변경 명령이 아님을 나타내며, 또한 어드레스 신호들이 채널번호를 포함하고 있음을 나타내고, 아울러 명령이 정상 인터럽트 명령인지 또는 고속 인터럽트 명령인지를 나타낸다.Specific control and address signals are applied to the array logic. Among these, the control signals indicate that this command is not a response to the previous command, that it is not a level change command, and that the address signals contain a channel number, and that the command is a normal interrupt command. Or a high speed interrupt command.

어레이 로직으로부터의 출력신호들은 레벨 비교로직을 인에이블하여, 정상 인터럽트를 요구하고 있는 명령에 대한 허가신호 또는 불가신호가 시스템버스상으로 송출되도록 한다. 고속 동작을 위해서는, 어레이 로직으로부터의 다른 출력들이 레벨 비교로직을 바이패스하여, 허가신호 또는 불가신호가 시발되도록 한다.Output signals from the array logic enable level comparison logic, allowing the enable or disable signal for a command requiring a normal interrupt to be sent out on the system bus. For high speed operation, other outputs from the array logic bypass the level comparison logic, causing a grant or disable signal to be initiated.

단일의 인터페이스에 의해 비동기 시스템 버스에 결합된 단일의 중앙서브시스템내에 2개의 처리 유니트가 포함되는 수가 있는데, 이 경우, 어레이 로직은 채널번호를 나타내고 있는 어드레스 신호들을 디코드하여, 어떤 처리 유니트가 명령에 응답하고 있는지를 나타내도록 함과 동시에, 고속 응답을 위해 레벨 비교 바이패스 로직이 시동되도록 하거나, 또는 정상 응답을 위해 레벨 비교 로직이 사용되도록 한다.Two processing units can be included in a single central subsystem coupled to an asynchronous system bus by a single interface, in which case the array logic decodes the address signals representing the channel numbers, so that any processing unit While indicating that it is responding, the level comparison bypass logic is started for a fast response, or the level comparison logic is used for a normal response.

본 발명의 방법이 수행되는 방식과, 본 발명의 장치가 구성되는 방식 및 그 동작 모드 등은 첨부도면을 참조로한 이하의 상세한 설명으로부터 명백히 이해될 수 있을 것이다.The manner in which the method of the present invention is performed, the manner in which the apparatus of the present invention is configured, the mode of operation thereof, and the like will be clearly understood from the following detailed description with reference to the accompanying drawings.

제 1 도는, 각각 별개의 인터페이스를 통해 비동기 시스템버스(2)에 결합된 다수의 서브시스템을 구비하는 다중처리시스템(1)의 블럭도이다.1 is a block diagram of a multiprocessing system 1 having a number of subsystems, each coupled to an asynchronous system bus 2 via a separate interface.

제 1 도에 있어서, 하나의 중앙서브시스템(CSS)(4)는 인터페이스 MRI0(2-10), MRIC(2-30)을 통해 시스템버스(2)에 결합되어 있고, 또 하나의 중앙서브시스템(CSS)(4A)는 인터페이스 MRI2(2-10A) 및 MRIC(2-30A) 및 MRI3(2-20A)를 통해 시스템버스(2)에 결합되어 있다. 인터페이스 MRI0(2-10)은 포트 0으로서 식별되고, 인터페이스 MRI1(2-20)은 포트 1로서 식별된다. 인터페이스 MRIC(2-30)은 포트 0과 포트 1의 양자에 대해 공통으로 레지스터들을 제공한다. 도면중에는 2개의 CSS만이 도시되어 있으나, 임의의 수의 CSS가 그들 각자의 인터페이스를 통해 시스템버스(2)에 결합될 수 있음을 이해할 수 있을 것이다. 각 인터페이스 영역에는, 미합중국 특허 제 3,995,258호의 제 9 도에 개시된 것과 같은 타입의 버스 인터페이스 로직 회로가 포함되어 있다.In FIG. 1, one central subsystem (CSS) 4 is coupled to the system bus 2 via interfaces MRI0 (2-10), MRIC (2-30), and another central subsystem. (CSS) 4A is coupled to the system bus 2 via interfaces MRI2 (2-10A) and MRIC (2-30A) and MRI3 (2-20A). Interface MRI0 (2-10) is identified as port 0 and interface MRI1 (2-20) is identified as port 1. Interface MRICs 2-30 provide registers in common for both port 0 and port 1. Although only two CSS are shown in the figure, it will be appreciated that any number of CSS may be coupled to the system bus 2 via their respective interfaces. Each interface region includes a bus interface logic circuit of the type as disclosed in FIG. 9 of US Pat. No. 3,995,258.

시스템버스(2)에는 또한 인터페이스 MBI(2-8)을 통해 시스템 관리장치(SMF)(20)이 접속되어 있다. 또, 다수의 주메모리, 즉 주메모리(8) 내지 주메모리(8A)들이 그들 각자의 인터페이스 MBI(2-12) 내지 MBI(2-12A)를 통해 시스템버스(2)에 결합되어 있다. 또한, 다수의 주변제어기, 즉 주변제어기(12) 내지 주변제어기(14)들로 그들 각자의 인터페이스 MBI(2-22) 내지 MBI(2-24)를 통해 시스템버스(2)에 결합되어 있다. 주변제어기(12)에는 다수의 주변장치(16)이 접속되어 있고, 마찬가지로 주변제어기(14)에도 다수의 주변장치(18)이 접속되어 있다. 주변장치(16)들 내지 주변장치(18)들에는, 한정되는 것은 아니지만, 통상 키보드, 디스플레이, 통신 디바이스, 디스크 드라이버, 테이프 드라이버, 프린터 및 문서 판독기들이 포함된다.The system bus 2 is further connected with a system management apparatus (SMF) 20 via an interface MBI 2-8. Also, a plurality of main memories, i.e., main memories 8 to 8A, are coupled to the system bus 2 via their respective interfaces MBI 2-12 to MBI 2-12A. Also, a number of peripheral controllers, i.e., peripheral controllers 12 to peripheral controllers 14, are coupled to the system bus 2 via their respective interfaces MBI 2-22 to MBI 2-24. A plurality of peripheral devices 16 are connected to the peripheral controller 12, and a plurality of peripheral devices 18 are also connected to the peripheral controller 14 as well. Peripherals 16-18 include, but are not limited to, keyboards, displays, communication devices, disk drivers, tape drivers, printers, and document readers.

각 CSS는, 각기 가상 메모리 관리 유니트(VMMU)를 갖고 있는 2개의 중앙처리 유니트(CPU)와, 1개의 캐쉬를 구비하고 있다. 즉, CSS(4)는 CPU0/VMMU(4-2)와, CPU1/VMMU(4-4) 및 캐쉬(4-6)을 구비하고 있다. CPU0/VMMU(4-2)는 인터페이스 MRI0(2-10) 및 MRIC(2-30)과 포트 0을 통해 시스템 버스(2)에 결합되어 있고, CPU1/VMMU(4-4)는 인터페이스 MRI1(2-20) 및 MRIC(2-30)과, 포트 1을 통해 시스템버스(2)에 결합되어 있다. 양 CPU, 즉 CPU0/VMMU(4-2)및 CPU1/VMMU(4-4)는 또한 캐쉬(4-6)의 포트 0 및 포트 1과 각각 결합되어 있다. 캐쉬(4-6)은, 그것이 CPU0/VMMU(4-2)와 연동 할 때에는 인터페이스 MRI0(2-10) 및 포트 0을 통해 시스템버스(2)에 결합되고, 그것이 CPU1/VMMU(4-4)와 연동할 때에는 인터페이스 MRI1(2-20) 및 포트 1을 통해 시스템버스(2)에 결합된다. 또, CSS(4)는 인터페이스 MRIC(2-30)을 통해 시스템버스(2)로부터 정보를 수신한다.Each CSS has two central processing units (CPUs) each having a virtual memory management unit (VMMU), and one cache. That is, the CSS 4 includes a CPU0 / VMMU 4-2, a CPU1 / VMMU 4-4, and a cache 4-6. CPU0 / VMMU (4-2) is coupled to the system bus (2) via interfaces MRI0 (2-10) and MRIC (2-30) and port 0, and CPU1 / VMMU (4-4) is connected to interface MRI1 ( 2-20) and the MRIC (2-30) and port 1 to the system bus (2). Both CPUs, namely CPU0 / VMMU 4-2 and CPU1 / VMMU 4-4, are also associated with port 0 and port 1 of cache 4-6, respectively. The cache 4-6 is coupled to the system bus 2 via the interface MRI0 (2-10) and port 0 when it interacts with the CPU0 / VMMU 4-2, and it is connected to the CPU1 / VMMU 4-4. ) Is coupled to the system bus (2) via interfaces MRI1 (2-20) and port 1. In addition, the CSS 4 receives information from the system bus 2 through the interface MRIC 2-30.

CSS(4A)의 유니트들, 즉 CPU2/VMMU(4-2A), CPU3/VMMU(4-4A) 및 캐쉬(4-6A)도 마찬가지 방식으로 하여 인터페이스 MRI2(2-10A), MRIC(2-30A) 및 MRI3(2-20A)를 통해 시스템버스(2)에 결합되어 있다.The units of CSS 4A, i.e., CPU2 / VMMU (4-2A), CPU3 / VMMU (4-4A), and cache (4-6A), also operate in the same way, using interfaces MRI2 (2-10A), MRIC (2- 30A) and MRI3 (2-20A) to the system bus (2).

SMF(20)은 시스템(1)의 초기화를 제어할 뿐만 아니라, 많은 시스템 및 환경기능들을 감시한다. SMF(20)은 워치독 타이머(watch dog timer)와 실시간 시계(real time clock)를 포함하고 있는데, 이들은 CPU들중의 하나로부터 시스템버스(2)를 거쳐 수신된 명령들에 의해서 세트된다. 워치 독 타이머나 실시간 시계가 0까지 감소한 경우, SMF(20)은 시스템버스(2)를 통해 당초 클럭을 세트시켰던 CPU로 대응 명령을 보냄으로써 응답한다. 더우기, SMF(20)은 전력 및 온도를 감시하여, 시스템버스(2)를 통해 CPU들에 대해 적절한 동작을 취하도록 경고하는 명령들을 발송한다. 전력이나 온도가 미리 설정된 값이하로 떨어지는 경우, CPU들은, 전력 경고 또는 온도 경고 명령을 받은 직후에, 오퍼레이팅 시스템 소프트웨어를 순차적인재시도(재개시)가 가능한 상태로 되게 해서, 시스템을 순차적으로 셧다운 하기 위한 준비를 함으로써 응답한다. SMF(20)의 보다 구체적인 동작에 대해서는, 본원과 관련된 미합중국 특허출원 제 869,164호(발명의 명칭 : "멀티프로세서 시스템의 시스템 관리장치")에 상세히 기술되어 있으므로, 이를 참조하기 바란다.SMF 20 not only controls the initialization of system 1, but also monitors many system and environmental functions. The SMF 20 includes a watch dog timer and a real time clock, which are set by instructions received via the system bus 2 from one of the CPUs. When the watchdog timer or real time clock has decreased to zero, the SMF 20 responds by sending a corresponding command to the CPU that originally set the clock via the system bus 2. Moreover, the SMF 20 monitors power and temperature and issues instructions via the system bus 2 to warn the CPUs to take proper action. If the power or temperature falls below a preset value, the CPUs allow the operating system software to enable sequential retries (resume) immediately after receiving a power warning or temperature warning command to shut down the system sequentially. Answer by preparing for More specific operation of the SMF 20 is described in detail in US Patent Application No. 869,164 (name of the invention: "System Management System of a Multiprocessor System") related to the present application.

제 1 도의 시스템(1)은, 각 CPU가 단일의 오퍼레이팅 시스템을 실행하고, 또 공통의 주메모리를 공유하기 때문에, 밀착 결합된 멀티 CPU 시스템으로서 구성된다. 그러므로, 각 CPU는 인터프로세스 인스트럭션, 즉 프로세서간 명령에 의해 다른 CPU, 또는 그 자체를 인터럽트하게 된다. 서브시스템들간의 모든 통신은 명령들과, 그 명령들에 대한 응답들을 통해 시스템버스(2)를 거쳐 행해진다.The system 1 of FIG. 1 is configured as a multi-CPU system that is tightly coupled because each CPU executes a single operating system and shares a common main memory. Therefore, each CPU interrupts another CPU or itself by interprocess instructions, i.e., interprocessor instructions. All communication between subsystems takes place over the system bus 2 via commands and responses to those commands.

SMF(20)은 시스템버스(2)에 대해 최고 우선순위 액세스가 주어지도록 배치된다. SMF(20)에 의해서는 CPU에 대해 고속 액세스를 요구하는 많은 명령들이 발생되기 때문에, 이러한 우선적인 위치는 어드레스되는 CPU가 명령들에 대해 신속히 응답하는 것을 보장한다.The SMF 20 is arranged to give highest priority access to the system bus 2. Since many instructions are generated by the SMF 20 that require fast access to the CPU, this preferred position ensures that the addressed CPU responds quickly to the instructions.

CPU는 규정된 인터럽트 레벨로 소정 프로세스의 명령들을 실행하게 된다. 시스템버스(2)로부터 보다 고 우선순위 프로세스를 실행하도록 그 CPU를 호출하는 명령이 수신되는 경우에만, 그 CPU는 실행중인 프로세스를 인터럽트 하게된다.The CPU will execute the instructions of a given process at a defined interrupt level. Only when a command is received from the system bus 2 to call the CPU to execute a higher priority process, the CPU will interrupt the running process.

CPU가 다른 서브시스템에 의해 시발된 명령을 수신한 경우, 그 CPU는 그 명령의 인터럽트 우선순위 레벨을 검사하고, 그 명령이 실행중인 명령보다 고우선순위를 갖고 있으면, 허가신호로써 시스템버스(2)를 통해 응답한다. 반면에, 그 인터럽트 명령이 실행중인 명령보다 저우선순위를 갖고 있으면, 상기 CPU는 불가신호로써 응답하게 된다. 상기 명령을 발송했던 서브시스템은 허가 또는 불가응답을 수신하여, 적절한 동작을 일으킨다. 불가응답이 수신된 경우, 상기 시발 서브시스템은 시스템버스를 거쳐 상기 CPU로 다시 명령을 발송한다. 이때, 그 CPU가 보다 저우선순위 명령을 실행하고 있으면, 그 CPU는 상기 명령을 받아들이고, 시스템버스(2)를 통해 허가신호를 송출하게 된다.When the CPU receives an instruction initiated by another subsystem, the CPU checks the interrupt priority level of the instruction, and if the instruction has a higher priority than the instruction being executed, the system bus 2 as an enable signal. Respond via On the other hand, if the interrupt instruction has a higher priority than the instruction being executed, the CPU will respond with a no signal. The subsystem that issued the command receives a grant or non-response response to cause the appropriate action. When a non-response is received, the start subsystem sends a command back to the CPU via a system bus. At this time, if the CPU executes a Zhou priority instruction, the CPU receives the instruction and sends a permission signal through the system bus 2.

그런데, 특정의 명령들은 그 명령들을 수신하는 CPU로 하여금 즉각적인 동작을 일으킬 것을 요구한다. 이경우, 상기 CPU는, 본실시예에서 설명되는 바와같이, 현재 실행중인 프로세스를 즉시 인터럽트하고 새로운 명령에 의해 호출된 프로세스를 실행하도록 본 발명의 로직을 통해 상기 특정의 명령들에 응답하게 된다. 즉각적인 반응을 요구하는 대표적인 명령들로서는, 시간경과상태, 전력 또는 온도변경상태 및 스테이터스 변경 상태등과 관려하는 SMF(20)명령들이 있다. 또, 특정의 CPU 대 CPU명령들도 즉각적인 반응을 요구한다. 이 경우에는, 명령중의 특정 신호들에 응답하는 로직을 통해 하나의 CPU가 다른 CPU를 인터럽트 하게 된다.However, certain instructions require the CPU receiving the instructions to cause an immediate action. In this case, the CPU will respond to the specific instructions through the logic of the present invention to immediately interrupt the currently running process and execute the process called by the new instruction, as described in this embodiment. Representative commands that require an immediate response are SMF 20 commands that relate to a time-lapse state, a power or temperature change state, and a status change state. In addition, certain CPU-to-CPU instructions also require an immediate response. In this case, one CPU interrupts another through logic that responds to certain signals in the instruction.

제 2 도는 인터페이스 MRI0(2-10), MRI1(2-20) 및 MRIC(2-30)들의 블럭도이다. 포트 0 인터페이스 MRI0(2-10)로직은 (2-1XX)의 요소들로 식별된다. 포트 1 인터페이스 MRI1(2-20)로직은 (2-2XX)의 요소들로 식별된다. 그리고, 시스템버스(2)로부터 정보를 수신하기 위한 공통 인터페이스MRIC(2-30)로직은 (2-3XX)의 요소들로 식별된다.2 is a block diagram of interfaces MRI0 (2-10), MRI1 (2-20) and MRICs (2-30). Port 0 interface MRI0 (2-10) logic is identified by elements of (2-1XX). Port 1 interface MRI1 (2-20) logic is identified by elements of (2-2XX). The common interface MRIC 2-30 logic for receiving information from the system bus 2 is identified by elements of (2-3XX).

시스템버스(2)는 시스템 데이타버스(2-4)와, 시스템 어드레스버스(2-6) 및 시스템 제어버스(2-2)로 이루어져 있다. 데이타버스(2-4)는 32개의 데이타 신호 BSDT00-내지 BSDT31- 및 다수의 패리티신호(표시되어 있지 않음)를 포함한다. 여기서, 마이너스(-)부호는, 신호가 '로우'일때는 2진 '1'을 나타내고, '하이'일 때에는 2진 '0'을 나타냄을 의미한다. 어드레스버스(2-6)은 32개의 어드레스신호 BSAD00-내지 BSAD31- 및 다수의 패리티신호(표시되어 있지 않음)를 포함한다. 그리고, 제어버스(2-2)는 다수의 제어신호를 포함한다. 이하에서는, 본 발명과 관련하는 제어신호들에 대해서만 설명하기로 하겠다.The system bus 2 comprises a system data bus 2-4, a system address bus 2-6 and a system control bus 2-2. The data bus 2-4 includes 32 data signals BSDT00-BSDT31-and a plurality of parity signals (not shown). Here, a minus sign (-) indicates a binary '1' when the signal is 'low' and a binary '0' when the signal is 'high'. The address bus 2-6 includes 32 address signals BSAD00-BSAD31-and a plurality of parity signals (not shown). The control bus 2-2 includes a plurality of control signals. Hereinafter, only control signals related to the present invention will be described.

임의의 서브시스템이 다른 시스템으로 정보를 전달하기 위하여 시스템버스(2)에 대한 액세스를 요구해서 그 액세스를 얻는 수가 있다. 상기 정보는 명령 또는 명령에 대한 응답의 형태로 된다. 또, 임의의 CPU가 그 자체나, 다른 CPU, 또는 다른 서브시스템으로 정보를 전달하기 위하여 시스템버스(2)에 대한 액세스를 요구해서 그 액세스를 얻는 수가 있다. 각 인터페이스는 상기 정보를 수신해서, 그 인터페이스에 결합된 유니트의 어드레스 또는 채널번호를 그 정보가포함하고 있는지를 결정한다. 만일 상기 인터페이스에 의해서 수신된 정보가 그 인터페이스에 결합된 유니트 또는 서브시스템의 채널번호를 포함하고 있지 않으면, 그 정보는 무시된다. 메모리 기준 신호 BSMREF+가, 어드레스 신호 BSAD00+ 내지 BSAD31+ 내에 주메모리 기억장소를 지시하는 채널번호가 포함되어 있지 않음을 나타내는 경우에는, 버스 어드레스 신호 BSAD08-17+ 들이 디코드되어 상기 채널번호를 형성하게 된다. 한편, 상기 정보가 상기 서브시스템에 어드레스된 경우, 상기 서브시스템은 시스템버스(2)상으로 허가신호 BSACKR-를 송출함으로써 상기 정보를 수신하였음을 통지한다.Any subsystem can request and gain access to the system bus 2 in order to pass information to another system. The information is in the form of a command or a response to a command. It is also possible for any CPU to request access to the system bus 2 in order to transfer information to itself, another CPU, or another subsystem, and obtain that access. Each interface receives the information and determines whether the information includes the address or channel number of a unit coupled to that interface. If the information received by the interface does not include the channel number of the unit or subsystem coupled to that interface, the information is ignored. When the memory reference signal BSMREF + indicates that the channel numbers indicating the main memory storage location are not included in the address signals BSAD00 + to BSAD31 +, the bus address signals BSAD08-17 + are decoded to form the channel number. On the other hand, when the information is addressed to the subsystem, the subsystem notifies that the information has been received by sending the permission signal BSACKR- on the system bus 2.

즉, 상기 서브시스템은 상기 정보에 그것의 채널번호가 제공되어 있고, 상기 서브시스템이 보다 고우서순위를 갖는 프로세스를 실행하고 있지 않은 경우에, 상기 정보를 받아들이게 된다. 만일 상기 서브시스템이 보다 고우선순위 프로세스를 실행하고 있음으로 인하여 상기 정보를 받아들이지 못하는 경우에는, 시스템버스(2)상으로 불가신호 BSNAKR-를 송출하게 된다.That is, the subsystem accepts the information if its information is provided with its channel number and the subsystem is not executing a process with higher order. If the subsystem is unable to accept the information because it is executing a higher priority process, it will send an irrelevant signal BSNAKR- on the system bus 2.

제 2 도를 참조로하면, 인터페이스 MRIC(2-30)은 선입선출(FIFO)모드로 동작하도록 구성된 2세트의 명령수신용 레지스터들을 포함하고 있다. 인터페이스 MRIC(2-30)에 의해 수신된 최초의 명령이 제 1 세트의 레지스터들내에 기억되고 또 그것이 인식되었다고 가정하면, 다음의 명령은 제 2 세트의 수신 레지스터들에 의해 수신될 것이다. 한편, 자신의 채널번호에 응답하지 못했던 CPU는, 제 2 세트의 수신 레지스터들내에 기억된 명령이 인식된 경우에, 제 1 세트의 수신 레지스터들로부터의 명령을 로드(load)하지 않음으로써 그 수신 레지스터들이 다음의 명령에 대해 유효하게 되도록 한다. 제 2 세트의 수신 레지스터들내에 기억된 명령이 인식되지 않은 경우에는, 그 명령은 무시되고 다음의 명령이 그 제 2 세트의 레지스터들내에 기억된다.Referring to FIG. 2, interface MRICs 2-30 include two sets of command receiving registers configured to operate in first-in first-out (FIFO) mode. Assuming that the first command received by interface MRIC 2-30 is stored in the first set of registers and that it is recognized, the next command will be received by the second set of receive registers. On the other hand, the CPU that failed to respond to its channel number receives the instruction by not loading the instruction from the first set of receive registers when the instruction stored in the second set of receive registers is recognized. Make the registers valid for the next instruction. If a command stored in the second set of receive registers is not recognized, the command is ignored and the next command is stored in the second set of registers.

데이타버스(2-4)로부터의 데이타신호 BSDT00-31- 들은 32개의 반전 수신기(2-302)에 의해 각각 수신된다. 이 데이타신호들이 제 1 세트의 수신 레지스터들내에 기억되고 있다고 가정하자. 이 데이타 신호들은 신호 BSDT00-31+ 들로 반전되어 8개의 레지스터 AREGA(2-308)내에 기억된다. 여기서, 플러스(+)부호는, 논리 '1'신호가 '하이'이고 논리 '0'신호는 '로우'임을 나타낸다. 마찬가지로, 어드레스버스(2-6)으로부터의 어드레스 신호 BSAD00-31-들은 32개의 반전수신기(2-304)에 의해 각각 수신되어, 신호 BSAD00-31+ 들로 반전된후, 8개의 레지스터 AREGA(2-310)내에 기억되고, 다수의 제어신호는 같은수의 반전수신기(2-306)에 의해 각각 수신된후, 레지스터 CREGA(2-312)내에 기억된다.The data signals BSDT00-31- from the data bus 2-4 are each received by 32 inverting receivers 2-302. Assume that these data signals are stored in the first set of receive registers. These data signals are inverted into signals BSDT00-31 + and stored in eight registers AREGA 2-308. Here, the plus sign indicates that the logic '1' signal is 'high' and the logic '0' signal is 'low'. Similarly, address signals BSAD00-31- from address bus 2-6 are each received by 32 inverting receivers 2-304, inverted into signals BSAD00-31 +, and then eight registers AREGA (2). And a plurality of control signals are each received by the same number of inverting receivers 2-306 and then stored in the register CREGA 2-312.

인터럽트 로직(2-50)은 신호 BSAD08+ 내지 BSAD18+ 들로서 나타나는 채널번호를 미리 설정된 채널 번호와 비교하고, 또 방금 수신된 명령의 인터럽트 레벨이 실행중인 명령보다 고우선순위를 갖고 있는지를 결정한다. 그 결과, 채널번호 신호들이 CPU(4-2)를 지시하고 있으면, 레지스터들 IDREGA(2-112)및 IDREGA(2-110)과, 내부 데이타버스 D0(2-108)을 거쳐 CPU(4-2)로 허가 응답이 주어지고, 또 데이타 및 어드레스 정보가 전달된다. 채널번호 신호들이 CPU(4-4)를 지시하고 있으면, 데이타 및 어드레스 정보는 레지스터들 IDREGB(2-212) 및 IDREGB(2-210)과, 내부 데이타버스 D1(2-208)을 거쳐 CPU(4-4)로 전달된다.Interrupt logic 2-50 compares the channel number appearing as signals BSAD08 + to BSAD18 + with a preset channel number and determines whether the interrupt level of the just received instruction has a higher priority than the instruction being executed. As a result, if the channel number signals indicate the CPU 4-2, the CPU 4 through the registers IDREGA (2-112) and IDREGA (2-110) and the internal data bus D0 (2-108). 2) an authorization response is given, and data and address information is transferred. If the channel number signals indicate the CPU 4-4, data and address information is passed through the registers IDREGB (2-212) and IDREGB (2-210) and the internal data bus D1 (2-208). 4-4).

정보가 CPU(4-2)나 CPU(4-4)의 채널번호를 포함하고 있지 않으면, 레지스터들 DREGA(2-308), AREGA(2-310) 및 CREGA(2-312)내에 기억된 명령에 대해 어떠한 동작도 일어나지 않는다. 그러면, 시스템버스(2)를 거쳐 수신된 다음의 명령이 상기와 동일한 레지스터들내에 기억된다.If the information does not include the channel number of the CPU 4-2 or CPU 4-4, the instructions stored in the registers DREGA (2-308), AREGA (2-310) and CREGA (2-312). No action takes place for. Then, the next command received via the system bus 2 is stored in the same registers as above.

다수의 명령이 연속해서 CPU(4-2) 또는 (4-4)로 보내지는 경우, 최초로 인식된 명령의 정보는 레지스터들(2-308), (2-310)및 (2-312)내에 기억되고, 두번째로 인식된 명령의 정보는 레지스터들 DREGB(2-314), AREGB(2-316)및 CREGB(2-318)내에 기억된다. 제 3 의 명령이 수신되면, 레지스터들(2-308),(2-310)및 (2-312)의 내용들은 어드레스된 CPU로 전달될 것이고, 따라서 상기 레지스터들(2-308),(2-310)및 (2-312)는 상기 제 3 의 명령을 수신하게 된다.When multiple instructions are sent to the CPU 4-2 or 4-4 in succession, the information of the first recognized instruction is stored in registers 2-308, 2-310 and 2-312. The information of the second recognized instruction is stored in the registers DREGB (2-314), AREGB (2-316) and CREGB (2-318). If a third command is received, the contents of registers 2-308, 2-310, and 2-312 will be delivered to the addressed CPU, and thus the registers 2-308, 2 And 310-212 receive the third command.

레지스터들(2-308),(2-310) 및 (2-312)는 기입 인에이블 신호 WRTSLA-에 의해서 인에이블된다. 레지스터들(2-314),(2-316)및 (2-318)는 기입 인에이블 신호 WRTSLB-에 의해서 인에이블 된다. 신호 WRTSLA-및 WRTSLB-들은 상보 신호들이고, 수신된 명령이 인식되는 각 시스템버스(2) 사이클동안 토글한다. 판독 인에이블 신호 REDENA-는 레지스터들(2-308),(2-310)및(2-312)의 출력신호들을 유효하게 하고, 판독 인에이블 신호 REDENB-는 레지스터들(2-314),(2-316)및 (2-318)의 출력신호들을 유효하게 한다. 신호 REDENA-및 REDENB-들도 상보신호들이고, 기입 인에이블 신호 WRTSLA-및 WRTSLB-들과는 위상차를 갖고 토글한다.Registers 2-308, 2-310 and 2-312 are enabled by the write enable signal WRTSLA-. Registers 2-314, 2-316 and 2-318 are enabled by the write enable signal WRTSLB-. The signals WRTSLA- and WRTSLB- are complementary signals and toggle during each SystemBus 2 cycle in which the received command is recognized. The read enable signal REDENA- validates the output signals of registers 2-308, 2-310 and 2-312, and the read enable signal REDENB- registers 2-314, ( 2-316) and (2-318) output signals are valid. The signals REDENA- and REDENB- are also complementary signals and toggle with a phase difference from the write enable signals WRTSLA- and WRTSLB-.

제어신호 BSMREF+, BSUELO+, BSSHBC+, BSWRIT+ 및 BSRINT+ 들은 인터럽트 로직(2-50)에 의해서 수신된다.Control signals BSMREF +, BSUELO +, BSSHBC +, BSWRIT + and BSRINT + are received by interrupt logic 2-50.

신호 BSSHBC+는, 이 명령이 정보를 요구한 서브시스템으로 부터의 명령에 응답해서 정보를 제공하고 있음을 나타낸다.The signal BSSHBC + indicates that this command provides information in response to a command from the subsystem that requested the information.

신호 BSRINT+는, CPU에 의해 발행되는 것으로서, 그 CPU,가 인터럽트 우선순위 레벨을 변경하였고, I/O 디바이스들이 인터럽팅을 재개하기 위한 시도를 행할 수 있음을 나타낸다. 앞서 CPU를 인터럽트하기 위한 시도를 행하여 불가신호를 받았던 I/O 디바이스는, 시스템버스(2)상에서 신호 BSRINT-가 진(true)임을 검출할때까지는 더이상의 인터럽트들을 발행하지 않게된다.The signal BSRINT +, issued by the CPU, indicates that the CPU, has changed the interrupt priority level, and that the I / O devices can make an attempt to resume interrupting. The I / O device, which had previously made an attempt to interrupt the CPU and received an impossible signal, will not issue any more interrupts until it detects that the signal BSRINT- is true on the system bus 2.

논리 '0'의 신호 BSMREF+는 어드레스 신호 BSAD08-17들이 채널번호를 포함하고 있음을 나타낸다.The signal BSMREF + of logic '0' indicates that the address signals BSAD08-17 contain the channel number.

논리 '1'의 신호 BSYELO+및 논리 '0'의 신호 BSMREF+는, 이것이 최고 우선순위 명령이고, 또 고속인터럽트 동작을 개시한다는 것임을 나타낸다.Signal BSYELO + of logic '1' and signal BSMREF + of logic '0' indicate that this is the highest priority command and initiates a high speed interrupt operation.

CPU0(4-2)나 CPU1(4-4)는 시스템버스(2)를 거쳐 다른 서브시스템이나, 다른 CPU, 또는 그 자체로 전달될 명령들을 발생하게 된다.CPU0 (4-2) or CPU1 (4-4) generate instructions to be transferred to another subsystem, another CPU, or itself via the system bus (2).

일부의 명령 정보는 캐쉬내에 기억되거나, 그렇지 않으면 주메모리(8) 내지 (8A)에 기억되게 된다. 만일 정보가 캐쉬내에 기억되어 있지 않으면, CPU는 주메모리(8) 내지 (8A)에 대해 명령을 발행하며, 그 명령중의 어드레스 신호 BSAD00-31들에 의해 규정된 기억장소에 있는 데이타를 요구하게 된다. 이 명령신호에 대해서는, BSMREF+는 '하이'로 될것이다.Some instruction information is stored in the cache or otherwise stored in the main memories 8 to 8A. If the information is not stored in the cache, the CPU issues an instruction to the main memories 8 to 8A and requests data in the storage specified by the address signals BSAD00-31 in that instruction. do. For this command signal, BSMREF + will be 'high'.

CPU(4-2)는 내부 어드레스 버스 A0(2-114)를 거쳐 캐쉬(4-6)의 포트 0으로 어드레스 신호들을 보내고, CPU(4-4)는 내부 어드레스 버스 A1(2-214)를 거쳐 캐쉬(4-6)의 포트 1로 어드레스 신호들을 보낸다. 또, CPU(4-2)는 데이타버스 D0(2-108)을 거쳐 캐쉬(4-6)의 포트 0으로부터 데이타 신호들을 수신하고, CPU(4-4)는 데이타버스 D1(2-208)을 거쳐 캐쉬(4-6)의 포트 1로부터 데이타 신호들을 수신한다.CPU 4-2 sends address signals to port 0 of cache 4-6 via internal address bus A0 (2-114), and CPU 4-4 sends internal address bus A1 (2-214). Sends address signals to port 1 of cache 4-6. Further, the CPU 4-2 receives data signals from the port 0 of the cache 4-6 via the data bus D0 2-108, and the CPU 4-4 receives the data bus D1 2-208. Receive data signals from port 1 of cache 4-6.

CPU(4-2), 즉 캐쉬(4-6)의 포트 0으로부터의 데이타 신호들은 데이타 버스 D0(2-108)을 거쳐 수신된 신호 P0DT00-31+ 들로써 레지스터 DREG0(2-102)내에 기억되고, CPU(4-4), 즉 캐쉬(4-6)의 포트 1로부터의 데이타 신호들은 데이타 버스 D1(2-208)을 거쳐 수신된 신호 P1DT00-31+ 들로써 레지스터 DREG1(2-202)내에 기억된다. 이 데이타 신호들은 신호 MYDT00-31+ 들로 와이어드 OR(wired-OR)된후, 32개의 반전구동기 DRVD(2-26)으로 전달되고, 신호 BSAD00-31-들로 변환되어 데이타버스(2-4)상으로 전달된다.Data signals from port 4 of CPU 4-2, i.e. cache 4-6, are stored in register DREG0 (2-102) as signals P0DT00-31 + received via data bus D0 (2-108). , Data signals from port 4 of CPU 4-4, i.e. cache 4-6, are stored in register DREG1 (2-202) as signals P1DT00-31 + received via data bus D1 (2-208). do. These data signals are wired-OR to signals MYDT00-31 + and then passed to 32 inverting drivers DRVD (2-26), which are converted to signals BSAD00-31- and converted to data bus (2-4). Delivered to the prize.

마찬가지로, CPU(4-2)로 부터의 어드레스 신호들은 어드레스 버스 A0(2-114)를 거쳐 수신된 신호 P0D00-31+ 들로써 레지스터 AREG0(2-104)내에 기억되고, CPU(4-4)로 부터의 어드레스 신호들은 어드레스 버스 A1(2-214)를 거쳐 수신된 신호 P1AD00-31+ 들로써 레지스터 AREG1(2-204)내에 기억된다. 이 2세트의 신호들은 신호 MYAD00-31+들로 와이어드 OR된후, 32개의 반전구동기 DRVA(2-28)을 거쳐 신호 BSAD00-31-들로써 어드레스 버스(2-6)에 전달된다.Similarly, address signals from the CPU 4-2 are stored in the register AREG0 (2-104) as signals P0D00-31 + received via the address bus A0 (2-114) and sent to the CPU 4-4. Address signals are stored in register AREG1 (2-204) as signals P1AD00-31 + received via address bus A1 (2-214). These two sets of signals are wired ORed to signals MYAD00-31 + and then transferred to the address bus 2-6 as signals BSAD00-31- via 32 inverting drivers DRVA 2-28.

CPU(4-2)로부터의 제어신호들은 CPU0 제어 기억장치(4-200)과, 레지스터 CREG0(2-106) 및 반전구동기 DRVC(2-30)을 거쳐 제어버스(2-2)에 전달되고, CPU(4-4)로부터의 제어신호들은 CPU1 제어 기억장치(4-400)과, 레지스터 CREG1(2-206) 및 반전구동기(2-30)을 거쳐 제어버스(2-2)에 인가된다. 시스템버스(2)와 레지스터들간에 데이타, 어드레스 및 제어 신호들을 전달하기 위한 로직회로들(도시하지 않음)은 그 설계에 있어서 통상적인 것으로서, 예를들면, 미합중국 특허 제 3,995,258호에 개시된 형태의 것을 사용하면 된다.Control signals from the CPU 4-2 are transmitted to the control bus 2-2 via the CPU0 control storage device 4-200, the register CREG0 (2-106), and the inverting driver DRVC 2-30. The control signals from the CPU 4-4 are applied to the control bus 2-2 via the CPU1 control storage device 4-400, the register CREG1 2-206, and the inverting driver 2-30. . Logic circuits (not shown) for transferring data, address and control signals between the system bus 2 and the registers are conventional in their design, for example in the form disclosed in US Pat. No. 3,995,258. You can use

제 2 도에 도시된 레지스터들도 통상적인 것이며, 예를들어, Texas Instruments사에서 제조판매하는 74 AS 823 논리 소자들로 구성된다.The registers shown in FIG. 2 are also common and consist, for example, of 74 AS 823 logic elements manufactured and sold by Texas Instruments.

제 3 도를 참조하면, 인터럽트 로직(2-50)의 상세한 로직 구성이 도시되어 있다. 수신 서브시스템 또는 CPU 의 채널번호는 어드레스 신호 BSAD08+ 내지 BSAD17+들에 의해서 식별된다. CPU(4-2)의 채널번호는 임의로 16진 0000으로 할당되고, CPU(4-4)의 채널번호는 16진 0040으로 할당된다.Referring to FIG. 3, the detailed logic configuration of interrupt logic 2-50 is shown. The channel number of the receiving subsystem or CPU is identified by the address signals BSAD08 + to BSAD17 +. The channel number of the CPU 4-2 is arbitrarily assigned to hexadecimal 0000, and the channel number of the CPU 4-4 is assigned to hexadecimal 0040.

CPU(4-2)의 채널번호에 대해, 신호 BSAD08+ 내지 BSAD17+ 들은 모두 2진 '0'이고, CPU1(4-4)의 채널번호에 대해서는, 신호 BSAD08+ 내지 BSAD16+들은 모두 2진 '0'이고 신호 BSAD17+ 는 2진 '1'이다. 16진 표기법은 신호 BSAD00+로 시작함을 유의 하기 바라며, 따라서 신호 BSAD18+ 및 BSAD19+ 들은 하위 16진수 다음의 2개의 하위 비트를 나타내게 되고, 신호 BSAD20+ 내지 BSAD23+들은 그 하위 16진수를 나타내게 된다. 채널번호를 표시하기 위한 목적으로, 신호 BSAD18+및 BSAD19+들을, 신호 BSAD20+ 내지 BSAD23+들에 의해 표시된 기능코드의 상위 2비트인 것으로 취급하게 된다. 이 기능코드는, 수신서브시스템이 시스템버스(2)를 거쳐 수신된 명령을 인식한 결과로써 수행하게 되는 동작을 나타낸다.For the channel numbers of the CPU 4-2, the signals BSAD08 + to BSAD17 + are all binary '0', and for the channel numbers of the CPU1 4-4, the signals BSAD08 + to BSAD16 + are all binary '0' and signal BSAD17 + is binary '1'. Note that the hexadecimal notation begins with the signal BSAD00 +, so that the signals BSAD18 + and BSAD19 + represent the two lower bits after the lower hexadecimal, and the signals BSAD20 + to BSAD23 + represent the lower hexadecimal. For the purpose of indicating the channel number, the signals BSAD18 + and BSAD19 + are treated as being the upper two bits of the function code indicated by the signals BSAD20 + to BSAD23 +. This function code represents an operation performed by the receiving subsystem as a result of recognizing a command received via the system bus 2.

어드레스 버스(2-6)으로부터 수신기(2-304)를 거쳐 수신된 채널번호 신호 BSAD08+ 내지 BSAD12+ 들은 네가티브 AND 게이트(2-502)에 인가되는데, 이들은 모두 2진 '0'(로우)이므로, 출력신호 CPCHAN+OA는 2진 '1'(하이)로 된다. 또, 어드레스버스(2-6)으로부터 수신기(2-304)를 거쳐 수신된 어드레스신호 BSAD13+ 내지 BSAD15+들은 다른 네가티브 AND 게이트(2-504)에 인가되는데, 이들도 모두 '로우'이므로, 출력신호 CPCHAN+OB도 '하이'로 된다. 제어버스(2-2)로부터 수신기(2-306)을 거쳐 수신된 신호 BSMREF+는, 어드레스 신호 BSADO8+ 내지 BSAD17+들이 채널번호를 나타내는 경우에는, '로우'이다. 버스 데이타신호 지연신호 BSDCND+는, 그것이 '로우'인 경우에, 시스템버스(2) 사이클이 그 시스템버스(2) 사이클의 최초의 60nsec 범위내에 있음을 나타낸다.The channel number signals BSAD08 + to BSAD12 + received from the address bus 2-6 via the receiver 2-304 are applied to the negative AND gate 2-502, which are all binary '0' (low) and thus output. The signal CPCHAN + OA becomes binary '1' (high). The address signals BSAD13 + to BSAD15 + received from the address bus 2-6 via the receiver 2-304 are applied to other negative AND gates 2-504, which are also 'low', so that the output signal CPCHAN + OB also becomes 'high'. The signal BSMREF + received from the control bus 2-2 via the receiver 2-306 is 'low' when the address signals BSADO8 + to BSAD17 + represent the channel number. The bus data signal delay signal BSDCND +, when it is 'low', indicates that the system bus 2 cycle is within the first 60 nsec range of the system bus 2 cycle.

프로그램 가능한 어레이 로직(PAL)(2-506)에 인가된 신호 CHANLO+ 및 BSAD16+들은 이 채널번호가 CSS(4)의 CPUO(4-2)나 CPU1(4-4)의 채널번호인지, 또는 CSS(4A)의 CPU2(4-2A) 나 CPU3(4-4A)의 채널번호인지를 식별한다.The signals CHANLO + and BSAD16 + applied to the programmable array logic (PAL) 2-506 are the channel numbers of the CPUO 4-2 or the CPU1 4-4 of the CSS 4, or the CSS ( Identifies whether the channel number is the CPU2 (4-2A) or the CPU3 (4-4A) of 4A.

CPU0(4-2)및 CPU1(4-4)에 대한 채널번호신호 BSAD16+는 '로우'이고, CPU2-(4-2A)및 CPU3(4-4A)에 대한 채널번호 신호 BSAD16+는 '하이'이다. 그러므로, CPU0(4-2)및 CPU1(4-4)에 대해서, 신호 BSAD16+ 및 CHANLO+는 모두 '로우'이고, 따라서 출력신호 CPCHAN+OC는 '하이'로 된다. 신호 CHANLO+는, CSS(4A)의 로직을 수용하는 배선판이 플러그되는 시스템(1)의 백 플레인상의 물리 슬로트를 식별한다.Channel number signal BSAD16 + for CPU0 (4-2) and CPU1 (4-4) is 'low', and channel number signal BSAD16 + for CPU2- (4-2A) and CPU3 (4-4A) is 'high' . Therefore, for the CPU0 4-2 and the CPU1 4-4, the signals BSAD16 + and CHANLO + are both 'low', and therefore the output signal CPCHAN + OC is 'high'. The signal CHANLO + identifies the physical slot on the backplane of the system 1 to which the wiring board containing the logic of the CSS 4A is plugged.

신호 CPCHAN+OC 에 대한 부울 표현식은 다음과 같다.The boolean expression for the signal CPCHAN + OC is

Figure kpo00001
Figure kpo00001

신호 CPCHAN+OA, CPCHAN+OB 및 CPCHAN+OC 들은 모두 '하이'로서, NAND게이트(2-508)에 인가된다. 또, 시스템버스(2-4), (2-6) 및 (2-2)를 거쳐 각각 수신된 정보가 정(correct)패리티를 갖고 있음을 나타내는 경우, 신호 BSDPOK+, BSAPOK+ 및 BSCPOK+들로 모두 '하이'이다. 그러므로, 채널 OK 출력신호 CHANOK-는 '로우'로 되고, 이것은 시스템버스(2)상의 정보가 CPU0(4-2)나 CPU1(4-4)에 의해 처리될 것임을 나타낸다.The signals CPCHAN + OA, CPCHAN + OB and CPCHAN + OC are all 'high' and are applied to the NAND gate 2-508. In addition, when the information received via the system buses (2-4), (2-6), and (2-2) respectively indicates correct parity, the signals BSDPOK +, BSAPOK +, and BSCPOK + are all ' High '. Therefore, the channel OK output signal CHANOK- becomes 'low', which indicates that the information on the system bus 2 will be processed by the CPU0 (4-2) or the CPU1 (4-4).

신호 CHANOK-는 레지스터(2-518)을 인에이블하여, 시스템 버스(2) 사이클의 개시후 60nsec후에 발생하는 데이타 버스신호 사이클 지연신호 BSDCND+가 상승하는 경우에 그 입력단자들에 인가되는 신호들을 리타임(retime) 하도록 한다.The signal CHANOK- enables the register 2-518 to return signals applied to its input terminals when the data bus signal cycle delay signal BSDCND + rises 60 nsec after the start of the system bus 2 cycle. Let time.

명령에 대한 고속 응답의 경우, 신호 BSYELO+는 '하이'으로, 신호 BSMREF+는 '로우'이다. 어레이(2-506)으로 부터의 출력신호 PXSCFA+00이 '하이'이면, 불가신호 BSNAKR+가 신호 BSACKR-로써 시스템버스(2)상으로 송출되게 된다. 허가응답을 나타내는 신호 PXSCFA+에 대한 부울 표현식은 다음과 같다.For fast response to the command, signal BSYELO + is high and signal BSMREF + is low. If the output signal PXSCFA + 00 from the array 2-506 is 'high', the disable signal BSNAKR + is sent out on the system bus 2 as the signal BSACKR-. The Boolean expression for the signal PXSCFA + indicating the grant response is

Figure kpo00002
Figure kpo00002

신호 BSSHEC+는, '로우'일때, 이것이 시스템버스(2)상으로 송출되었던 이전의 명령에 응답해서 수신된 제 2 의 1/2버스 사이클이 아님을 나타낸다.The signal BSSHEC +, when low, indicates that this is not a second half bus cycle received in response to a previous command issued on the system bus 2.

신호 BSRINTI는, '하이'일때, 이 명령의 실행이 레벨 변경을 초래하게 되고, 허가 응답이 주어져야 함을 나타낸다. 이것이 레벨 변경명령이 아닌 경우, 신호 BSRINT+는 '로우'이면, CPU1(4-4)가 비지(busy)상태가 아님을 나타낸다.The signal BSRINTI, when high, indicates that the execution of this command will result in a level change and a permission response should be given. If this is not a level change command, the signal BSRINT + is 'low', indicating that the CPU1 (4-4) is not busy.

신호 BSAD17+가 '로우'이고 신호 POSCFB+도 '로우'인 것은, CPU0(4-2)가 비지 상태가 아님을 나타낸다. 그러므로, 허가응답신호 BSACKR+ 는 신호 BSACKR-로써 시스템버스(2)상으로 송출된다.The signal BSAD17 + is "low" and the signal POSCFB + is also "low", indicating that the CPU0 (4-2) is not busy. Therefore, the permission response signal BSACKR + is sent out on the system bus 2 as the signal BSACKR-.

불가응답을 나타내는 신호 PXSCFN+에 대한 부울 표현식은 다음과 같다.The Boolean expression for the signal PXSCFN + indicating no response is

Figure kpo00003
Figure kpo00003

이것은, 자신의 채널번호가 지정된 CPU가 비지상태인 경우, 즉 해당신호 POSCFB+ 또는 P1SCFB+가 '하이'인 경우, 불가 응답신호 BSNAKR+ 가 신호 BSACKR+로써 시스템 버스(2)상으로 송출됨을 나타낸다. 비지 플롭(2-554)로 부터의 출력신호 POSCFB+는, '하이'일때, CPU0(4-2)가 비지 상태임을 나타낸다. 비지 플롭(2-546)으로 부터의 출력신호 P1SCFB+는, '하이'일때, CPU1(4-4)가 비지 상태임을 나타낸다.This indicates that when the CPU to which its channel number is assigned is busy, that is, when the corresponding signal POSCFB + or P1SCFB + is 'high', the impossible response signal BSNAKR + is sent out on the system bus 2 as the signal BSACKR +. The output signal POSCFB + from the busy flop 2-554, when high, indicates that the CPU0 4-2 is busy. The output signal P1SCFB + from the busy flop 2-546, when high, indicates that the CPU1 4-4 is busy.

플롭(2-554)는, 레지스터(2-518)로 부터의 신호 POSCFA+10이 상승할때 세트된다. 신호 POSCFA+는 어레이(2-506)에 의해 다음의 부울식에 따라 발생된다.The flop 2-554 is set when the signal POSCFA + 10 from the register 2-518 rises. The signal POSCFA + is generated by the array 2-506 according to the following Boolean expression.

Figure kpo00004
Figure kpo00004

신호 POSCFA+는 레지스터(2-518)에 의해 리타임되고, 그결과 신호 POSCFA+10이 발생된다. 플롭(2-554)는, SMF(20)으로 부터의 고속 인터럽트 명령에 대해서는 상위 기능 코드신호 BSAD18+가 '하이'이기 때문에, 신호 POSCFA+10의 상승시 세트된다. 신호 BSAD18+는, 고속 인터럽트를 요구하는 순환검사 동작중에 SMF(20)으로부터 발생되는 일부의 명령에 대해서는, CPU들이 그 검사기간동안 비동작적인것으로 가정되기 때문에, '로우'로 될 수 있다. 일단 플롭(2-554)가 세트되면, '로우' 인 출력신호 POSCFB-가 그것의 세트 입력단자에 인가되기 때문에, 그것은 계속 세트상태를 유지한다.Signal POSCFA + is retimed by register 2-518, resulting in signal POSCFA + 10. The flop 2-554 is set when the signal POSCFA + 10 rises because the high function code signal BSAD18 + is high for the fast interrupt instruction from the SMF 20. The signal BSAD18 + may be 'low' for some instructions issued from the SMF 20 during a cyclic check operation requiring a fast interrupt, since the CPUs are assumed to be inactive during the check period. Once the flop 2-554 is set, it remains set because the output signal POSCFB- which is 'low' is applied to its set input terminal.

플롭(2-554)는 CPU0(4-2)가 명령 실행을 완수할 때까지 계속 세트상태를 유지한다. 그러면, CPU0(4-2)는 리세트신호 POSCFB-를 '로우'로 되게 하는 명령을 그 자체에 대해서 발생한다. 리세트 플롭(2-554)에 명령에 대해서, 데이타 신호 BSDT9+는 '하이'이고, 신호 POSCFA+10의 상승시 레지스터(2-551)내에 기억된다. 출력신호 POSCFB-는 '로우'로 강제되어, 비지 플롭(2-554)를 리세트시킨다. 레지스터(2-556)은, 시스템버스(2) 사이클의 종료시 '로우'로 되는 신호 BSRINT+에 의해서 리세트 된다.The flop 2-554 remains set until CPU0 4-2 completes executing the instruction. CPU0 4-2 then issues a command to itself that causes reset signal POSCFB- to be 'low'. For an instruction to the reset flop 2-554, the data signal BSDT9 + is 'high' and stored in the register 2-551 at the time of the rise of the signal POSCFA + 10. The output signal POSCFB- is forced to 'low' to reset busy flop 2-554. The register 2-556 is reset by the signal BSRINT +, which becomes 'low' at the end of the system bus 2 cycle.

CPU0(4-2)는 이제 고속 인터럽트를 요구하고 있는 명령을 인식하게 된다.CPU0 (4-2) now recognizes the command requesting the fast interrupt.

플롭(2-546)은 플롭(2-554)와 마찬가지 방식으로 동작하여, 그것의 세트시, CPU1(4-4)가 비지 상태임을 나타낸다. CPU1(4-4)는, 플롭(2-546)이 리세트될때까지는, 고속 인터럽트를 요구하고 있는 명령을 인식하지 못하게 된다.The flop 2-546 operates in the same manner as the flop 2-554, indicating that upon its set, the CPU1 4-4 is busy. The CPU1 4-4 does not recognize the instruction requesting the high-speed interrupt until the flop 2-546 is reset.

신호 P1SCFA+는 다음의 부울식에 따라 발생된다.The signal P1SCFA + is generated according to the following Boolean expression.

Figure kpo00005
Figure kpo00005

어레이(2-506)으로부터의 신호 P1SCFA+는 레지스터(2-518)에 의해 리타임되고, 그결과 신호 P1SCFA+10이 발생된다. 플롭(2-546)은, 신호 BSAD18+가 '하이'이기 때문에, 신호 P1SCFA+의 상승시 세트된다. 그결과, 출력신호 P1SCFB+는 '하이'로 되어 어레이(2-506)에 인가된고, 고속 인터럽트를 요구하는 CPU1(4-4)의 채널번호를 갖고 있는 명령에 대한 허가 응답을 금지하게 된다. 신호 P1SCFB0는, CPU1(4-4)의 다른 명령에 의해서 그 자체가 리세트될때까지, 플롭(2-546)을 세트 상태로 유지한다. 이 명령에 의해서 다시 신호가 발생되어, 신호 BSDT9+를 레지스터(2-553)내에 기억시킨다. 리세트 신호 P1SCFB-는 '로우'로 강제되어 플롭(2-546)을 리세트 시킨다. 그러면, 신호 BSRINT+는 '로우'로 되고, 시스템버스(2) 사이클의 종료시 레지스터(2-553)을 리세트시킨다.Signal P1SCFA + from array 2-506 is retimed by register 2-518, resulting in signal P1SCFA + 10. The flop 2-546 is set upon the rise of the signal P1SCFA + because the signal BSAD18 + is 'high'. As a result, the output signal P1SCFB + becomes 'high' and is applied to the array 2-506 to prohibit the permission response to the command having the channel number of the CPU1 4-4 requesting the high speed interrupt. The signal P1SCFB0 keeps the flop 2-546 in the set state until it is reset itself by another instruction of the CPU1 4-4. A signal is generated again by this command, and the signal BSDT9 + is stored in the register 2-553. The reset signal P1SCFB- is forced to 'low' to reset the flop 2-546. Then, the signal BSRINT + goes low, and resets the registers 2-553 at the end of the system bus 2 cycle.

신호 PXSCFA+에 의해 발생되는 고속 인터럽트에 대한 허가신호는 OR게이트(2-520) 에 인가되고, 그 출력신호 PXACKR+는 OR게이트(2-522)에 인가되어, 그결과 신호 MYACKR+가 발생된다. 이 신호 MYACKR+는 구동기(2-530)에 인가되고, 그결과 시스템버스(2)상으로 신호 BSACKR-가 발생된다.The permission signal for the high-speed interrupt generated by the signal PXSCFA + is applied to the OR gate 2-520, and its output signal PXACKR + is applied to the OR gate 2-522, resulting in the signal MYACKR +. This signal MYACKR + is applied to the driver 2-530, and as a result, the signal BSACKR- is generated on the system bus 2.

마찬가지로, 불가신호 BSNAKR-는, PXSCFN+, 레지스터(2-518), 신호 PXSCFN+10, OR게이트(2-526), 신호 MYNAKR+, 구동기(2-532)및 시스템버스(2)신호 BSNAKR-에 의해서 발생된다.Similarly, the impossible signal BSNAKR- is generated by the PXSCFN +, the register (2-518), the signal PXSCFN + 10, the OR gate (2-526), the signal MYNAKR +, the driver (2-532), and the system bus (2) signal BSNAKR-. Is generated.

신호 MYACKR+는 또한 시스템버스(2)로부터 수신되어 제 2 도의 레지스터(2-308),(2-310)및 (2-312)들 내에 기억된 명령이 연속적인 실행을 위해 그 레지스터들내에 유지되도록 신호 WRTSLB-를 발생시킨다. 다음의 명령은 레지스터(2-314),(2-316)및 (2-312)들이 내에 기억된다. 그 명령이 인식되면, 상보신호 WRTSLA-가 발생되고, 레지스터(2-308), (2-310) 및 (2-312)들이 유효하게 된다.The signal MYACKR + is also received from the system bus 2 such that the instructions stored in the registers 2-308, 2-310 and 2-312 of FIG. 2 are held in those registers for subsequent execution. Generate the signal WRTSLB-. The next instruction is stored in registers 2-314, 2-316 and 2-312. When the command is recognized, the complementary signal WRTSLA- is generated, and the registers 2-308, 2-310 and 2-312 become valid.

정상 시스템버스(2) 인터럽트 동작은, 수신된 명령의 신호 BSYHLO+가 '로우'일때 개시된다. 이경우, 시스템버스(2)상의 정보가 CPU0(4-2)를 인터럽트 하기 위한 것이면 어레이(2-506)으로부터 신호 POINTR-가 발생되고, 반면에 시스템버스(2)상의 정보가 CPU1(4-4)를 인터럽트 하기 위한 것이면 신호 P1INTR-가 발생된다.Normal system bus 2 interrupt operation is initiated when the signal BSYHLO + of the received command is 'low'. In this case, if the information on the system bus 2 is for interrupting the CPU 0 (4-2), the signal POINTR- is generated from the array 2-506, while the information on the system bus 2 is sent to the CPU 1 (4-4). Signal P1INTR- is generated to interrupt

이 신호들에 대한 부울 표현식은 다음과 같다.The boolean expression for these signals is:

Figure kpo00006
Figure kpo00006

신호 POINTR-는 네가티브 AND 게이트(2-510) 및 (2-514)의 입력단자에 인가도니다. 네가티브 AND게이트(2-510)의 다른 입력단자에는 신호 POLVLS-가 인가되고, 네가티브 AND게이트(2-514)의 다른 입력단자에는 신호 POLVLS+가 인가된다.The signal POINTR- is also applied to the input terminals of the negative AND gate (2-510) and (2-514). The signal POLVLS- is applied to the other input terminal of the negative AND gate 2-510, and the signal POLVLS + is applied to the other input terminal of the negative AND gate 2-514.

마찬가지로, 신호 P1INTR-는 네가티브 AND 게이트(2-512) 및 (2-516)의 입력단자에 인가된다. 네가티브 AND게이트(2-512)의 다른 입력단자에는 신호 P1LVLS-가 인가되고, 네가티브 AND게이트(2-516)의 다른 입력단자에는 신호 P1LVLS+가 인가된다.Similarly, the signal P1INTR- is applied to the input terminals of the negative AND gates 2-512 and 2-516. The signal P1LVLS- is applied to the other input terminal of the negative AND gate 2-512, and the signal P1LVLS + is applied to the other input terminal of the negative AND gate 2-516.

신호 POLVLS-는, '로우'일때, CPU0(4-2)가 보다 저우선순위 루틴을 실행중이고 허가 응답이 시스템버스(2)를 거쳐 발송됨을 나타낸다.The signal POLVLS-, when low, indicates that the CPU0 4-2 is executing a more dominant priority routine and an authorization response is sent over the system bus 2.

신호 P1LVLS-는, '로우'일때, CPU1(4-4)가 보다 저 우선순위 루틴을 실행중이고 허가 응답이 시스템버스(2)를 거쳐 발송됨을 나타낸다.The signal P1LVLS-, when low, indicates that the CPU1 4-4 is executing a lower priority routine and an authorization response is sent over the system bus 2.

신호 POLVLS+나 신호 P1LVLS+는, '로우'때, CPU0(4-2)나 CPU1(4-4)가 각각 보다 고우선순위 루틴을 실행중이고 시스템버스(2)를 거쳐 불가응답이 발송된다는 것을 나타낸다.Signal POLVLS + and signal P1LVLS +, when low, indicate that CPU0 (4-2) or CPU1 (4-4) are executing higher priority routines respectively and a non-response is sent via system bus (2).

네가티브 AND게이트(2-510),(2-512),(2-514)및 (2-516)들로 부터의 출력신호들 POINTA+, P1INTA+, POINTN+ 및 P1INTN+는 각각 레지스터(2-518)내에 기억된다.Output signals POINTA +, P1INTA +, POINTN + and P1INTN + from negative AND gates 2-510, 2-512, 2-514 and 2-516 are stored in register 2-518, respectively. do.

허가 응답에 대해, OR게이트(2-524) 로 인가되는 신호 P0INTA+ 나 P1INTA+들중의 어느 한 신호가 '하이'이면, 구동기(2-530), 신호 MYACKR+, OR게이트(2-522)및 신호 PXINTA+를 거쳐 신호 BSACKR-가 발생된다. 불가 응답에 대해, OR게이트(2-528) 로 인가되는 신호 POINTN+나 P1INTN+들중의 어느 한 신호가 '하이'이면, 구동기(2-532), 신호 MYNAKR+, OR게이트(2-526) 및 신호 PXINTN+ 를 거쳐 신호 BSNAKR-가 발생된다.For the permission response, if either signal P0INTA + or P1INTA + applied to OR gate 2-524 is 'high', driver 2-530, signal MYACKR +, OR gate 2-522, and signal The signal BSACKR- is generated via PXINTA +. For a no response, if either signal POINTN + or P1INTN + applied to OR gate 2-528 is 'high', driver 2-532, signal MYNAKR +, OR gate 2-526 and signal The signal BSNAKR- is generated via PXINTN +.

CPU0(4-2)를 위한 우선순위 레벨 비교는 레벨 비교기(2-550)에 의해서 이루어진다. CPU1(4-4)를 위한 우선순위 레벨 비교는 레벨 비교기(2-552)에 의해서 이루어진다. 비교기 0(2-550)은 CPU0(4-2)에 의해 실행중인 루틴의 우선순위 레벨을 비교하고, 비교기 1(2-552)는 CPU1(4-4)에 의해 실행중인 우선순위 레벨을 비교한다. 새로운 명령의 인터럽트 우선순위 레벨은 데이타신호 BSDT00-15+들로써 비교기(2-550)및 (2-552)에 인가된다.The priority level comparison for CPU0 4-2 is made by level comparator 2-550. Priority level comparison for CPU1 4-4 is made by level comparator 2-552. Comparator 0 (2-550) compares the priority levels of the routines being executed by CPU0 (4-2), and comparator 1 (2-552) compares the priority levels being executed by CPU1 (4-4). do. The interrupt priority level of the new command is applied to the comparators 2-550 and 2-552 as data signals BSDT00-15 +.

양 비교기(2-550) 및 (2-552)는 데이타 신호 BSDT00-15+들로 표시된 입력 인터럽트 우선순위 레벨을 각 비교기에 기억된 인터럽트 우선순위 레벨들과 비교한다. 신호 P0LVLS-는, '로우'일때, 새로운 명령의 인터럽트 우선순위 레벨이 CPU0(4-2)에 실행중인 명령의 인터럽트 우선순위 레벨보다 고레벨임을 나타낸다. 신호 P1LVLS-는, '로우'일때, CPU1(4-4)가 보다 저 인터럽트 우선순위 레벨 명령을 실행중임을 나타낸다. 신호 POLVLS-및 P1LVLS-는 각각 네가티브 AND게이트(2-510) 및 (2-512)에 인가된다.Both comparators 2-550 and 2-552 compare the input interrupt priority levels indicated by data signals BSDT00-15 + with the interrupt priority levels stored in each comparator. Signal P0LVLS-, when low, indicates that the interrupt priority level of the new instruction is higher than the interrupt priority level of the instruction executing on CPU0 (4-2). Signal P1LVLS-, when low, indicates that CPU1 4-4 is executing a lower interrupt priority level command. Signals POLVLS- and P1LVLS- are applied to negative AND gates 2-510 and 2-512, respectively.

신호 POLVLS+는, '로우' 일때, CPU0(4-2)가 새로운 명령의 인터럽트 우선순위 레벨보다 고인터럽트 우선순위 레벨 명령을 실행중임을 나타낸다. 신호 P1LVLS+는, '로우'일때, CPU1(4-4)가 새로운 명령의 인터럽트 우선순위 레벨보다 고 인터럽트 우선순위 레벨 명령을 실행중임을 나타낸다. 신호 POLVLS+및 P1LVLS+는 각각 네가티브 AND게이트(2-514) 및 (2-516)에 인가된다.The signal POLVLS +, when low, indicates that the CPU0 4-2 is executing an interrupt priority level instruction higher than the interrupt priority level of the new instruction. Signal P1LVLS +, when low, indicates that CPU1 4-4 is executing an interrupt priority level instruction that is higher than the interrupt priority level of the new instruction. Signals POLVLS + and P1LVLS + are applied to negative AND gates 2-514 and 2-516, respectively.

어레이(2-506)으로부터의 신호 P0INTR-는 네가티브 AND게이트(2-510) 및 (2-514)에 인가되어, '로우'인 경우,네가티브 AND게이트(2-510)으로부터 허가 응답을 나타내는 신호, P0INTA+가 발생되도록 신호 P0LVLS-를 선택하거나, 네가티브 AND게이트(2-514)로부터 불가응답을 나타내는 신호 P0INTN+가 발생되도록 신호 P0LVLS+를 선택한다.Signals P0INTR- from array 2-506 are applied to negative AND gates 2-510 and 2-514 and 'low', indicating a permission response from negative AND gate 2-510. Signal P0LVLS- is selected to generate P0INTA +, or signal P0LVLS + is selected so that a signal P0INTN + indicating an unresponsive response is generated from negative AND gate 2-514.

어레이(2-506)으로 부터의 신호 P1INTR-는 네가티브 AND게이트(2-512)및 (2-516)에 인가되어, '로우'인 경우, 허가 응답을 위한 신호 P1INTA+를 발생하도록 신호 P1LVLS-를 선택하거나, 불가응답을 위한 신호 P1INTN+ 를 발생하도록 신호 P1LVLS+를 선택한다.Signal P1INTR- from array 2-506 is applied to negative AND gates 2-512 and 2-516, and if 'low', generates signal P1LVLS- to generate signal P1INTA + for a grant response. Select signal P1LVLS + to generate a signal P1INTN + for non-response.

신호 P0INTA+, P1INTA+,P0INTN+ 및 P1INTN+들은 레지스터(2-518)내에 기억된다. 출력신호 P0INTA+10 및 P1INTA+10은 OR게이트(2-524)에 인가되고, 신호 PXINTA+ 및 OR게이트(2-522) 를 거쳐 허가신호 MYACKR+를 발생시킨다. 신호 P0INTN+10 및 P1INTN+10은 OR게이트(2-528)에 인가되고, 신호 PXINTN+10및 OR게이트(2-526)을 거쳐 불가신호 MYNAKR+를 발생시킨다.Signals P0INTA +, P1INTA +, P0INTN + and P1INTN + are stored in register 2-518. The output signals P0INTA + 10 and P1INTA + 10 are applied to the OR gate 2-524, and generate the permission signal MYACKR + via the signals PXINTA + and OR gate 2-522. The signals P0INTN + 10 and P1INTN + 10 are applied to the OR gate 2-528 and generate an impossible signal MYNAKR + via the signals PXINTN + 10 and OR gate 2-526.

제 3 도의 논리 소자들은 설계면에서 통상적인 것으로서, 예를들면, Texas Instruments에서 발간한 TTL Data Book for Design Engineers 제 2 판에 소개된 것들을 사용하면 된다.The logic elements of FIG. 3 are conventional in design, for example, using those introduced in the second edition of the TTL Data Book for Design Engineers, published by Texas Instruments.

레벨 변경 동작은 본원과 관련된 미합중국 특허 출원 제879,858호에 상세히 기술되어 있다.Level changing operations are described in detail in US Patent Application No. 879,858 associated with the present application.

제 4 도는 데이타 어드레스 및 어드레스 피일드들과, 명령의 제어 피일드중의 타당한 제어신호들의 레이아웃을 나타낸 것이다. 정상 인터럽트를 위한 제어신호들, 즉 메모리 기준신호 BSMREF+, 제 2 의 1/2버스 사이클신호 BSSHBC+, 버스 옐로우 고속 인터럽트 신호 BSYELO+및 인터럽트 재개신호 BSRINT+는 모두 '로우'이다. 어드레스 신호 BSAD08-17+들은 수신지 CPU의 채널번호를 나타낸다. 어드레스신호 BSAD18-23+들은 기능 코드를 제공한다. 데이타 신호 BSDT00-09+들은 소오스의 채널번호를 제공한다. 데이타 신호 BSDT10-15+들은 명령의 인터럽트 우선순위 레벨번호를 나타낸다.4 shows the layout of the data address and address feeds and the appropriate control signals during the control feed of the command. The control signals for the normal interrupt, that is, the memory reference signal BSMREF +, the second half bus cycle signal BSSHBC +, the bus yellow fast interrupt signal BSYELO + and the interrupt resume signal BSRINT + are all 'low'. The address signals BSAD08-17 + represent the channel number of the destination CPU. The address signals BSAD18-23 + provide a function code. The data signals BSDT00-09 + provide the channel number of the source. The data signals BSDT10-15 + indicate the interrupt priority level number of the command.

CPU인터럽트 레벨 변경 명령신호 BSRINT+가 '하이'인 경우에, 어드레스 신호 BSAD00-17+들은 다시 수신지 CPU의 채널번호를 나타내고, 어드레스신호 BSAD18-23+들은 레벨변경을 지시하는 기능코드를 나타낸다. CPU에 의해 레벨변경들이 개시되기 때문에, 데이타 신호 BSDT00-09+들은 소오스 CPU의 채널 번호를 제공하고, 데이타신호 BSDT10-15+들은 새로운 인터럽트 우선순위 레벨을 제공하게 된다.When the CPU interrupt level change command signal BSRINT + is 'high', the address signals BSAD00-17 + again indicate the channel number of the destination CPU, and the address signals BSAD18-23 + indicate a function code indicating the level change. Since level changes are initiated by the CPU, the data signals BSDT00-09 + provide the channel number of the source CPU, and the data signals BSDT10-15 + provide the new interrupt priority level.

고속 인터럽트 제어신호 BSYELO+가 '하이'인 경우, 어드레스 신호 BSAD08-17+들은 수신지 CPU의 채널번호를 나타내고, 어드레스 신호 BSAD18-23+들은 '하이'인 상위 비트 BSAD18+을 갖는 기능 코드을 나타내며, 데이타 신호 BSDT00-09+들은 SMF(20)에 대해 16진 OF인 소오스의 채널번호를 제공한다.When the high speed interrupt control signal BSYELO + is 'high', the address signals BSAD08-17 + represent the channel number of the destination CPU, and the address signals BSAD18-23 + represent the function code with the high bit BSAD18 + 'high'. BSDT00-09 + provide the channel number of the source that is hexadecimal OF for SMF 20.

리세트 고속 인터럽트 비지 명령에 대해, 제어신호 BSYELO+및 BSRINT+들은 '하이'이다. 자신의 비지 플롭을 리세트시킨 CPU는 그 자신의 채널번호와 '하이'인 데이타 신호 BSDT9+를 발생시킨다.For the reset fast interrupt busy command, the control signals BSYELO + and BSRINT + are 'high'. The CPU, which resets its busy flop, generates its own channel number and 'high' data signal BSDT9 +.

CPU0(4-2)는 플롭(2-554)를 리세트시키도록 이 명령을 송출하고, CPU1(4-4)는 플롭(2-546)을 리세트 시키도록 자신의 채널번호를 갖는 명령을 송출한다. 플롭들을 리세트 시킴으로써, CPU들로 하여금 다음의 고속 인터럽트 명령을 수신할 수 있도록 한다.CPU0 (4-2) issues this command to reset the flop (2-554), and CPU1 (4-4) issues an instruction with its channel number to reset the flop (2-546). Send it out. By resetting the flops, the CPU can receive the next high-speed interrupt command.

이제까지 양호한 실시예를 참조로하여 본 발명을 설명하였으나, 당기술분야에 통상의 지식을 가진자라면 본 발명의 개요 및 원리에서 벗어나지 않는 범위내에서 여러 형태로 변경 및 변형할 수 있을 것이다.While the present invention has been described with reference to preferred embodiments, it will be apparent to those skilled in the art that various changes and modifications can be made without departing from the spirit and outline of the present invention.

Claims (6)

다수의 인터럽팅 유니트 및 다수의 처리유니트가, 상기 다수의 인터럽팅 유니트와 상기 다수의 각 처리유니트와의 사이에서 서로다른 동작버스 사이클들 동안에 명려들을 비동기적으로 전달하는 시스템 버스에 공통으로 결합되어 있는 데이타처리 시스템에 있어서, 상기 다수의 각 인터럽팅 유니트가, 상기 버스에 결합되고, 상기 처리유니트에 부여된 동작버스 사이클들 동안에 상기 명령들을 상기 버스로 인가시키는 명령 발생수단을 구비하는데, 상기 각 명령은 상기 명령을 수신하기 위한 상기 처리유니트의 어드레스를 나타내는 채널번호를 규정하도록 코드화된 어드레스 피일드와, 상기 어드레스 피일드가 상기 채널 번호를 규정하도록 코드화 된 것임을 나타내는 메모리 기준 신호를 포함하는 제어 피일드와, 정상 인터럽트를 규정하는 제 1 상태의 인터럽트 유형신호 및 고속 인터럽트를 규정하는 제 2 상태의 상기 인터럽트 신호를 포함하고 ; 상기 버스에 결합되고, 상기 처리유니트에 할당된 상기 채널 번호 및 상기 메모리 기준신호가 상기 처리유니트들 중의 어느 하나에 의해 상기 버스에 인가된 것을 검출하여 출력신호를 발생시키는 채널 디코더 수단과 ; 상기 버스 및 상기 채널 디코더 수단에 결합되고, 상기 고속 인터럽트를 규정하는 상기 제 2 상태의 상기 인터럽트 유형신호와, 상기 출력신호 및 제 1 상태의 비지 신호에 응답하여 상기 처리유니트가 상기 명령을 실행중임을 나타내는 제 1 허가신호와 세트 비지신호를 함께 발생시키는 어레이 수단과 ; 상기 버스 및 상기 어레이 수단에 결합되고, 상기 명령중에 포함된 어드레스 신호 및 상기 세트 비지신호에 응답하여 제 2 상태의 상기 비지신호를 발생시키는 플롭수단을 포함하는 비지수단을 구비하는데 ; 상기 어레이 수단이 상기 버스와, 상기 채널 디코더 수단 및 상기 비지수단에 결합되고, 상기 제 2 상태의 상기 인터럽트 유형신호와, 연속적인 명령으로부터의 상기 출력신호 및 상기 제 2 상태의 상기 비지신호에 응답하는 경우에는 상기 처리유니트가 상기 명령을 실행중이지 않음을 나타내는 제 1 불가신호를 발생하도록 하고 ; 아울러, 상기 어레이 수단 및 상기 버스에 결합되고, 상기 제 1 허가 신호에 응답하여 상기 인터럽팅 유니트로 허가 응답신호를 발송하거나, 상기 제 1 불가 신호에 응답하여 상기 인터럽팅 유니트로 불가 응답신호를 발송하는 응답수단을 구비하는 것을 특징으로 하는 데이터처리 시스템.Multiple interrupting units and multiple processing units are commonly coupled to a system bus that asynchronously delivers commands during different operational bus cycles between the multiple interrupting units and each of the multiple processing units. 10. A data processing system in which the plurality of respective interrupting units are coupled to the bus and have instruction generating means for issuing the instructions to the bus during operation bus cycles assigned to the processing unit. The command includes an address feed coded to define a channel number indicating an address of the processing unit for receiving the command, and a control reference signal including a memory reference signal indicating that the address feed is coded to define the channel number. Phase 1, which defines the yield and normal interrupt Of and including the interrupt signal from the second state to define the type of interrupt signals and high speed interrupt; Channel decoder means coupled to the bus for detecting an output of the channel number assigned to the processing unit and the memory reference signal to the bus by any one of the processing units to generate an output signal; Coupled to the bus and the channel decoder means, the processing unit executing the command in response to the interrupt type signal in the second state that defines the fast interrupt, and the output signal and the busy signal in the first state Array means for generating together a first enable signal and a set busy signal representing a; Busy means coupled to said bus and said array means and including flop means for generating said busy signal in a second state in response to an address signal and said set busy signal included in said command; Said array means being coupled to said bus, said channel decoder means and said busy means, said interrupt type signal in said second state, said output signal from a continuous command and said busy signal in said second state To generate a first disable signal indicating that the processing unit is not executing the instruction; Further, coupled to the array means and the bus, sending a permission response signal to the interrupting unit in response to the first permission signal, or sending a disable response signal to the interrupting unit in response to the first permission signal. And a response means. 제 1 항에 있어서, 상기 어레이 수단은 더우기 상기 정상 인터럽트를 규정하는 상기 제 1 상태의 상기 인터럽트 유형 신호 및 상기 출력 신호에 응답하여 비교신호를 발생시키고 ; 상기 다수의 각 인터럽팅 유니트는, 상기 버스 및 상기 어레이 수단에 결합되고, 상기 처리유니트에 의해 현재 실행중인 명령의 인터럽트 우선순위 레벨과 비교하기 위한 인터럽트 우선순위 레벨을 규정하도록 코드화된 상기 명령으로부터의 데이타 피일드 신호들에 응답하여, 상기 인터럽트 우선 순위 레벨이 상기 현재의 인터럽트 우선순위 레벨보다 높은 경우에는 제 2 허가 신호를 발생시키고, 상기 인터럽트 우선순위 레벨이 상기 현재의 인터럽트 우선순위 레벨보다 높지않은 경우에는 제 2 불가신호를 발생시키는 비교수단을 추가로 구비하며 ; 상기 응답수단은 상기 비교수단 및 상기 버스에 결합되고, 상기 제 2 허가 신호에 응답하여 상기 허가 응답 신호를 발생시키거나, 상기 제 2 불가신호에 응답하여 상기 불가 응답신호를 발생시키는 것을 특징으로 하는 데이타 처리시스템.2. The apparatus of claim 1, wherein said array means further generates a comparison signal in response to said interrupt type signal and said output signal in said first state that define said normal interrupt; Each of said plurality of interrupting units is coupled to said bus and said array means from said instructions coded to define an interrupt priority level for comparison with an interrupt priority level of a command currently being executed by said processing unit. In response to data feed signals, generating a second grant signal if the interrupt priority level is higher than the current interrupt priority level, wherein the interrupt priority level is not higher than the current interrupt priority level. If it is further provided with a comparison means for generating a second impossible signal; The response means is coupled to the comparison means and the bus and generates the permission response signal in response to the second permission signal or generates the disable response signal in response to the second disable signal. Data processing system. 제 1 항에 있어서, 상기 어레이 수단은 상기 제 2 상태의 상기 인터럽트 신호 및 리세트 버스 명령으로부터의 상기 출력신호에 응답하여 상기 세트비지신호를 발생시키는 것을 특징으로 하는 데이타 처리시스템.2. The data processing system according to claim 1, wherein said array means generates said set busy signal in response to said interrupt signal in said second state and said output signal from a reset bus command. 제 3 항에 있어서, 상기 비지수단은, 상기 어레이 수단 및 상기 버스에 결합되고, 상기 세트 비지신호 및 상기 리세트 명령으로부터의 데이타 신호에 응답하여 리세트 플롭신호를 발생시키는 레지스터 수단을 구비하고, 상기 플롭 수단은 상기 레지스터 수단에 결합되고, 상기 리세트 플롭신호에 응답하여 상기 제 1 상태의 상기 버스 신호를 발생시키는 것을 특징으로 하는 데이타 처리시스템.4. The apparatus according to claim 3, wherein said busy means comprises register means coupled to said array means and said bus, for generating a reset flop signal in response to data set from said set busy signal and said reset command, The flop means is coupled to the register means and generates the bus signal in the first state in response to the reset flop signal. 다수의 유니트(4-2, 4-4, 12, 14)가 통신용으로 함께 결합되어 있으며, 상기 유니트(4-2, 4-4)중 적어도 하나는 특정 시간에서 실행을 위해 상기한 우선순위 레벨로 각각 할당되는 다수의 상이한 처리중 소정처리를 실행하는 처리유니트이고 상기유니트 각각은 처리유니트에 의해 실행될 프로세스를 요구할때 최소한 상기 처리유니트로 요구 프로세스(BSAD 18-23)및 그 요구 프로세스의 우선 순위 레벨(BSDT 10-15)의 디스크립션을 구비한 명령을 전달하며, 제 1 장치(2-506, 2-550, 2-552)가 상기 명령을 수신하여 상기 처리유니트에 의해 현재 실행중인 프로세서의 우선 순위 레벨과 상기 요구 우선 순위 레벨을 비교하고 상기 요구 우선순위 레벨이 상기 현재 레벨 보다 크면 요구 허가(BSACKR)를 리퀘스팅 유니트에 알리고 상기 처리유니트가 현재 프로세스의 실행을 중지하도록 신호(MYACKR)를 발생시켜 상기 요구 프로세스의 실행을 개시하며, 제 2 장치는 리퀘스팅 유니트를 인에이블링하여 처리유니트가 요구 프로세스의 우선 순위 레벨 또는 현재 실행중인 프로세스의 우선순위 레벨을 고려하지 않고 요구 프로세스를 즉시 실행하는 데이타 처리시스템에 있어서, 상기 유니트중 하나는 처리유니트가 프로세스를 즉시 실행하도록 요구할때 단일 인터럽트 신호(BSYELO) 및 요구프로세스(BSAD 18-23)의 디스크립션을 상기 처리유니트로 전달하고 ; 상기 단일 신호에 응답하여 논리회로(2-506, 2-520, 2-522, 2-530)는 상기 리퀘스팅 유니트로 허가(BSACKR)를 즉시 알리고 처리유니트가 현재 프로세스 실행을 즉시 중단하여 상기 요구 프로세스의 실행을 개시하도록 신호(MYACKR)를 발생시키는 것을 특징으로 하는 데이타 처리시스템.Multiple units 4-2, 4-4, 12, 14 are coupled together for communication, at least one of the units 4-2, 4-4 being of the above-described priority level for execution at a particular time. Is a processing unit that executes a predetermined process among a plurality of different processes each assigned to each other, each of which is a request process (BSAD 18-23) and a priority of the requesting process to the processing unit at least when requesting a process to be executed by the processing unit. Delivers instructions with a description of the level (BSDT 10-15), wherein the first device (2-506, 2-550, 2-552) receives the instructions and prioritizes the processor currently running by the processing unit. Compare the priority level with the request priority level and if the request priority level is greater than the current level, inform the requesting unit of the request grant (BSACKR) and stop the execution of the current process. A lock signal MYACKR is generated to initiate execution of the request process, and the second device enables the requesting unit so that the processing unit does not consider the priority level of the request process or the priority level of the currently running process. In a data processing system which immediately executes a request process without a request, one of the units sends a description of a single interrupt signal (BSYELO) and a request process (BSAD 18-23) to the processing unit when the processing unit requests to execute the process immediately. Convey; In response to the single signal, logic circuits 2-506, 2-520, 2-522, and 2-530 immediately inform the requesting unit of the acknowledgment (BSACKR) and the processing unit immediately stops executing the current process so that the request can be made. Generating a signal (MYACKR) to initiate execution of the process. 제 5 항에 있어서, 상기 제 2 장치는, 상기 하나의 유니트가 프로세스를 즉시 실행하도록 처리 유니트를 요구할때 요구된 처리유니트의 식별(BSAD 08-17)을 또한 전달하며 ; 상기 식별을 수신하여 상기 식별이 상기 처리유니트의 식별과 동일하면 추가신호(CHANOK)를 전하고, 상기 단일신호 및 상기 추가 신호의 수신에 따라 상기 허가를 발생하는 상기 처리유니트의 추가 논리회로를 구비하는 것을 특징으로 하는 데이타 처리시스템.6. The apparatus of claim 5, wherein the second device further conveys an identification (BSAD 08-17) of the processing unit required when the one unit requires the processing unit to execute the process immediately; An additional logic circuit of the processing unit which receives the identification and sends an additional signal CHANOK if the identification is identical to the identification of the processing unit, and generates the permission upon receipt of the single signal and the additional signal. Data processing system, characterized in that.
KR1019870012708A 1987-11-12 1987-11-12 Data system with high interrupt punction KR930003721B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019870012708A KR930003721B1 (en) 1987-11-12 1987-11-12 Data system with high interrupt punction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019870012708A KR930003721B1 (en) 1987-11-12 1987-11-12 Data system with high interrupt punction

Publications (2)

Publication Number Publication Date
KR890008701A KR890008701A (en) 1989-07-12
KR930003721B1 true KR930003721B1 (en) 1993-05-08

Family

ID=19265950

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870012708A KR930003721B1 (en) 1987-11-12 1987-11-12 Data system with high interrupt punction

Country Status (1)

Country Link
KR (1) KR930003721B1 (en)

Also Published As

Publication number Publication date
KR890008701A (en) 1989-07-12

Similar Documents

Publication Publication Date Title
US4839800A (en) Data processing system with a fast interrupt
EP0450233B1 (en) Bus access for digital computer system
CA1241766A (en) Communication controller using multiported random access memory
KR970000842B1 (en) System direct memory access(dma)support logic for pci based computer system
US4030075A (en) Data processing system having distributed priority network
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
US5392436A (en) Two level system bus arbitration having lower priority multiprocessor arbitration and higher priority in a single processor and a plurality of bus masters arbitration
EP1040416B1 (en) Mechanisms for converting interrupt request signals on address and data lines for providing interrupt messages
US5682551A (en) System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto
JPH08297632A (en) Method and apparatus for arbitration to bus enabling split transaction bus protocol
JP2539021B2 (en) Interrupt request generation node that sends an interrupt request to the pending bus
JPH11513150A (en) Architecture for I / O processor integrating PCI to PCI bridge
JPH06337841A (en) System and method for arbitration logic of multiple bus
EP0358716A1 (en) Node for servicing interrupt request messages on a pended bus.
JPH1097490A (en) Method and device for distributing interruption without changing bus width or bus protocol in scalable symmetrical multiprocessor
US6606677B1 (en) High speed interrupt controller
JPH0728758A (en) And device for dynamic time loop arbitration
JPH0997184A (en) Information-processing system inclusive of efficient interrupt handling
KR930003721B1 (en) Data system with high interrupt punction
GB1595471A (en) Computer system
EP0311705B1 (en) Data processing system with a fast interrupt
US6009482A (en) Method and apparatus for enabling cache streaming
CA1284386C (en) Data processing system with a fast interrupt
JP2001142835A (en) Method for supporting various bus devices on multiprocessor bus having divided response protocols
AU606080B2 (en) Data processing system with a fast interrupt

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 19980323

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee