Source: https://patents.google.com/patent/KR100403405B1/en
Timestamp: 2019-04-18 16:51:59+00:00

Document:
본 특허 서류의 일부 개시 내용은 저작권으로 보호받아야 하는 자료를 포함한다. Some disclosure of this patent document contains material which is subject to copyright protection. 본 저작권자는 본 특허의 개시 내용이 특허청의 특허 서류 또는 기록물임이 분명한 때 어느 누구라도 본 특허의 개시 내용을 복사하는 데 이의를 제기하지는 않지만, 그러하지 않을 경우에는 모든 저작권의 권리를 유보한다. If the copyright holder of this patent disclosure does not appeal to the copy of the disclosure as to be a patent documents or records of the Patent and Trademark Office patent clearly seen by anyone, not geureohaji shall reserve the rights of all copyright.
낙후된 구세대와의 역호환성을 필요로 하기 때문에, x86은 가장 복잡한 명령어 세트 구조(complex instruction set architecture:CISC) 마이크로프로세서들중 하나이다. Because they require backward compatibility with the older generation backward, x86 is the most complex instruction set architecture: one of the (complex instruction set architecture CISC) microprocessor. 예를들면, 대형이면서 복잡한 i486은 낙후된 구세대 x86 프로세서들과의 역호환성을 유지하도록 구현되어야 하는 명령어들을 400개 이상 지닌다. For example, a large, complex i486 has jininda over 400 instructions that must be implemented to maintain backward compatibility with the older generation x86 processors backward. 그러한 복잡성 때문에, 내장형 제어 어플리케이션 용도로 적합한, 예컨대, 설계가 간단하며, 사이즈가 작고, 비용이 적게 드는 호환가능한 프로세서들 또는 콘트롤러들이 거의 없었다. Because of such complexity, suitable for applications in embedded control applications, for example, the design is simple and small in size, are rarely compatible processor or controller less expensive. 따라서, x86과 호환성이 있으며 여전히 비용이 적게 드는 내장형 제어 어플리케이션 용도로 적합한 프로세서 또는 콘트롤러를 지니는 것이 바람직할 것이다. Thus, the x86 compatible and will still be cost is preferred that having a suitable processor or controller to the embedded control applications use lifting less.
본 발명은 중앙 처리 유니트 및 다수 개의 주변 회로의 기능 요소들을 포함하는 집적 회로에 관한 것이며, 구체적으로 기술하면, 중앙 처리 유니트 및 주변 회로의 기능 요소들이 중앙 처리 유니트 및 주변 회로의 기능 요소들 간에 그리고 외부 회로의 기능 요소들과 통신하는 그러한 집적 회로에 관한 것이다. The present invention and between the central processing unit and a plurality of present invention relates to an integrated circuit that includes functional elements of the peripheral circuit, if the technique in detail, the central processing unit and to a central processing unit, the functional elements of the peripheral circuit and the function elements of the peripheral circuit It relates to such an integrated circuit that communicates with the functional element of the external circuit.
도1은 본 발명에 따른 회로 구조를 구현하는 집적 회로의 기능적인 블럭 다이어그램이다. 1 is a functional block diagram of an integrated circuit implementing a circuit architecture in accordance with the present invention.
도2A는 본 발명의 한 실시예에 따른 집적 회로의 구조에 대한 기능적인 블럭 다이어그램이다. 2A is a functional block diagram of the structure of the integrated circuit according to one embodiment of the present invention.
도3A 및 도3B는 모두 본 발명의 다른 한 실시예에 따라 버스들상의 트랜잭션들을 제어하기 위한 도1의 중앙 처리 유니트, DMA 콘트롤러, DRAM 콘트롤러, 버스 인터페이스 유니트 및 PCMCIA 콘트롤러 사이에서의 분산형 조정을 예시하는 플로우챠트들이다. 3A and 3B both the central processing unit of Figure 1 for controlling transactions on the buses in accordance with another embodiment of the invention, DMA controller, DRAM controller, a distributed coordination between the bus interface unit and PCMCIA controller They are flow charts illustrating.
도6은 ALS 신호 파형을 예시하는 타이밍 다이어그램이다. 6 is a timing diagram illustrating the ALS signal waveform.
도7은 분기 명령어가 제공될 경우 NSR 표시(indication) 및 IXSTAT 및 IXQUAL 스테이터스 신호들 사이의 관계를 예시하는 타이밍 다이어그램이다. 7 is a case where a branch instruction is provided a timing diagram illustrating the relationship between the NSR display (indication) and the IXSTAT and IXQUAL status signal.
도8은 제조 타켓 디바이스상에 클립-온(clip-on) 형태로서 에뮬레이터(emul-ator) 프로세서 칩의 설치를 개략적으로 도시하는 도면이다. 8 is a clip on the manufacturing target device, a view schematically showing an emulator (emul-ator) installed on the processor chip as an on (clip-on) type.
도9는 ICE가 존재할 경우 탑재된 프로세서의 디세이블 동작을 예시하는 타이밍 다이어그램이다. 9 is a timing diagram illustrating the operation of disabling a mounted processor if there is ICE.
본 발명에 따른 집적 회로는 분산형 버스 액세스 및 제어 조정에 따라 다수개의 내부 신호 버스들을 공유하는 다수 개의 회로 기능 요소들을 포함한다. The integrated circuit according to the invention comprises a plurality of functional circuit elements that share a plurality of internal signal buses according to distributed bus access and control adjustment. 이것은 빈도가 높게 액세스되는 그러한 집적 회로의 내부 및 외부의 회로 기능 요소들로부터 최대의 성능을 달성하게 하면서도, 빈도가 낮게 액세스되는 내부 및 외부의 회로 기능 요소들로부터 고 성능을 달성하게 한다. This is yet to achieve the maximum performance from such integrated circuit and out of the circuit of functional elements that access frequency is high, thereby achieving high performance from internal and external circuit functions which the frequency component is low access.
본 발명의 한 실시예에 따른 다수 개의 회로 기능 요소 및 신호 버스를 지니는 집적 회로(IC)는 3개의 신호 버스들, 한 세트의 마스터 콘트롤러들 및 두 세트의 주변 회로들을 포함한다. A plurality of circuit function integrated circuit (IC) having a bus element and a signal according to one embodiment of the present invention includes peripheral circuits of the three signal buses, a set of master controllers and two sets. 제1 신호 버스는 IC내에서 제1 세트의 버스 신호를 통신하기 위한 것이고, 제2 신호 버스는 IC내에서 제2 세트의 버스 신호를 통신하기 위한 것이며, 그리고 제3 신호 버스는 외부 회로에 연결되어 IC와 그러한 외부 회로 사이에서 제3 세트의 버스 신호를 통신하기 위한 것이다. The first signal bus is for communicating a bus signal in the first set within the IC, the second signal bus is for communicating a bus signal in the second set within the IC, and the third signal bus is connected to an external circuit It is intended to communicate on the bus signal in the third set between the IC and such external circuit. 상기 한 세트의 마스터 콘트롤러들은 상기 제1 신호 버스에 연결되어 있으며 상기 제1 신호 버스를 선택적으로 액세스하고 상기 제1 세트의 버스 신호의 통신을 제어하기 위한 것이다. The master controller in the set are connected to said first signal bus and is for selectively accessing the first signal bus and controlling communication of a bus signal in the first set. 한 세트(제1 세트)의 주변 회로들은 상기 제1, 제2 및 제3 신호 버스들에 연결되어있으며 상기 제1 신호 버스 및 제1 세트의 버스 신호들을 통해 상기 마스터 콘트롤러와 선택적으로 통신하고, 상기 제2 신호 버스를 선택적으로 액세스하며 상기 제2 세트의 버스 신호들의 통신을 제어하고, 그리고 상기 제3 신호 버스를 선택적으로 액세스하며 상기 제3 세트의 버스 신호들의 통신을 제어하기 위한 것이다. A peripheral circuit of the one set (the first set) are the first, second and is connected to the third signal bus and to communicate via bus signals from the first signal bus and first set optionally with the master controller, It said second signal bus and to selectively access and control the communication of the bus signal at the second set, and selectively accessing the third signal bus is for controlling the communication of the bus signal from the third set. 나머지 한 세트(제2 세트)의 주변 회로들은 상기 제2 신호 버스에 연결되어 있으며 상기 제2 신호 버스 및 제2 세트의 버스 신호들을 통해 상기 한 세트(제1 세트)의 주변 회로와 선택적으로 통신하기 위한 것이다. A peripheral circuit of the other set (the second set) are selectively communicate with the peripheral circuit of the first is connected to the second signal bus and the second said set via a bus signal in the signal bus, and a second set (first set) intended to.
본 발명의 다른 한 실시예에 따른 분산형 버스 액세스 및 제어 조정에 따라 다수 개의 신호 버스들에 의해 상호접속되어 있으며 다수 개의 신호 버스들을 공유하는 다수 개의 회로 기능 요소들을 지니는 집적 회로(IC)는 한 세트의 신호 버스들, 한 세트의 마스터 콘트롤러들 및 두 세트의 주변 회로들을 포함한다. An integrated circuit (IC) are interconnected by a plurality of signal buses according to distributed bus access and control adjustment according to another embodiment of the present invention and having a plurality of circuit function elements that share a plurality of signal buses is a the signal bus of the set, includes a peripheral circuit of the master controller of the one set and two sets. 상기 한 세트의 신호 버스들은 한 세트의 버스 신호들을 통신하기 위한 것이다. Signal bus of the set are for communicating a set of bus signals. 상기 한 세트의 마스터 콘트롤러들은 상기 신호 버스들 중 제1 서브세트의 신호 버스들에 연결되어 있으며 서로 통신하고 서로 통신함에 따라 그 중 어느 것이 상기 신호 버스들 중 제1 신호 버스를 액세스하고 상기 신호 버스들 중 제1 신호 버스를 제어하는 버스 마스터가 되는 지를 결정하며 그 결정에 따라 상기 버스 신호들 중 제1 서브 세트의 버스 신호들의 통신을 제어하기 위한 것이다. The master controller in the set are the signal buses of the first is connected to the signal bus of the subset, and which of those as the communication and communicate with each other and accessing the first signal bus of said signal bus, the signal bus determines that the bus master for controlling the first signal of the bus and for controlling the communication of the bus signal from the first subset of the bus signals in accordance with that decision. 한 세트(제1 세트)의 주변 회로들은 상기 신호 버스들 중 제1 서브세트의 신호 버스들과 제2 서브세트의 신호 버스들에 연결되어 있다. One set is connected to the signal bus of the peripheral circuit are signal bus and a second subset of the first subset of the signal buses (the first set). 이러한 주변 회로들은 서로 통신하고 서로 통신함에 따라 그 중 어느 것이 상기 버스 마스터와 통신하며 상기 신호 버스들 중 제2 신호 버스를 액세스하고 상기 신호 버스들 중 제2 신호 버스를 제어하는 지를 결정하며 그 결정에 따라 상기 버스 마스터와 통신하고 상기 버스 신호들 중 제2 서브세트의 버스 신호들의 통신을 제어하기 위한 것이다. These peripheral circuits are also determining whether to communicate and control a second signal bus of those of which one is the bus master and the communication, and the signal buses of the second signal bus for access to said signal bus as the communication with each other the determination depending on the intended communication with the bus master and controlling communication of the bus signals of the second subset of the bus signals. 나머지 한 세트(제2 세트)의 주변 회로들은 상기 신호 버스들 중 제3 서브세트의 신호 버스들에 연결되어 있다. A peripheral circuit of the other set (the second set) are connected to the signal bus of the third subset of the signal buses. 나머지 한 세트(제2 세트)의 주변 회로들은 서로 통신하고 서로 통신함에 따라 그 중 어느 것이 상기 신호 버스들 중 제3 신호 버스를 액세스하는 지를 결정하며 그 결정에 따라 상기 버스 신호들 중 제3 서브세트의 버스 신호들을 통신하기 위한 것이다. A peripheral circuit of the other set (the second set) will determine if any of them to access a third signal bus of said signal bus as the communication and communicate with one another and according to the determined one of the bus signal, the third sub- It is for communicating a set of bus signals.
본 발명의 또 다른 한 실시예에 따르면, 마이크로프로세서 시스템 클록의 주기 싸이클에 따라 데이타를 처리하도록 명령어들을 실행하는 마이크로프로세서는 실행 단, 복호화 단 및 라이트백(writeback) 단을 포함한다. According to yet another embodiment of the present invention, a microprocessor that executes instructions to process data in accordance with periodic cycles of a microprocessor system clock includes an execution stage, a decoding stage, and a write back (writeback) stage. 상기 실행 단은 명령어들 및 상기 명령어들을 실행하는 데 이용되는 오퍼랜드들을 참조하고, 결과치들을 생성시키도록 상기 명령어들을 실행하며, 그리고 저장 요소로부터 상기 명령어들 및 오퍼랜드들을 검색하고 결과치들을 저장 요소에 기록하는 데 이용되는 메모리 어드레스들을 연산한다. The run stage by reference to the operands to be used to execute the instructions and the instruction, which executes said instructions to generate results, and the search for the above instruction from the storage element and the operand and write the result value in a storage element and it calculates the memory address to be used. 상기 복호화 단은 상기 실행 단에 의해 참조된 명령어들을 검색하고, 상기 실행 단에 의해 이용될 수 있는 형태로 상기 검색된 명령어들을 복호화시키며, 상기 복호화된 명령어들을 상기 실행 단에 제공한다. The decoding stage sikimyeo retrieve the instructions referenced by the execution stage and decodes the retrieved instructions into a form that can be utilized by the execution stage and provides the decoded instructions to the execution stage. 상기 라이트백 단은 상기 실행 유니트에 의해 연산된 메모리 어드레스로 결과치들을 저장 요소에 기록한다. The writeback stage writes the results to the storage element in the memory address calculated by the execution unit.
본 발명의 또 다른 한 실시예에 따르면, 마이크로프로세서 시스템 클록의 주기 싸이클에 따라 데이타를 처리하도록 명령어들을 실행하는 마이크로프로세서는실행 단, 복호화 단 및 라이트백 단을 포함한다. Another According to one embodiment, a microprocessor that executes instructions to process data in accordance with periodic cycles of a microprocessor system clock of the present invention comprises the execution stage, a decoding stage, and a write back stage. 상기 실행 단은 산술 및 논리 연산을 이행하는 데 마이크로코드 명령어들 및 오퍼랜드들을 이용하며, 상기 명령어들 및 오퍼랜드들을 검색하고 결과치들을 저장 요소에 기록하는 데 이용되는 메모리 어드레스들을 연산하는 실행 유니트를 포함한다. And said execution stage includes an execution unit for computing the memory address to be used to and use of the microcode instructions and operands to implement the arithmetic and logical operations, retrieving said instruction and operand and write the result value in a storage element . 상기 실행 단은 이러한 실행 유니트에 의해 이용된 오퍼랜드들을 저장하고 특정의 판독 메모리 어드레스에 응답하여 상기 특정의 판독 메모리 어드레스에 해당하는 레지스터 파일 저장 장소로부터 오퍼랜드를 제공하며, 그리고 특정의 기록 메모리 어드레스에 응답하여 상기 특정의 기록 메모리 어드레스에 해당하는 레지스터 파일 저장 장소에 오퍼랜드를 저장하는 레지스터 파일을 부가적으로 포함한다. The execution stage is storing the operand used by these execution units, and, and in response to a specific read memory address of providing an operand from a register file storage location corresponding to the read memory address of the particular, and in response to a specific write memory address of the and it includes a register file that stores the operand in a register file storage location corresponding to said memory address of a particular recording additionally. 상기 복호화 단은 저장 요소로부터 명령어들을 검색하는 프리페치 유니트, 상기 실행 유니트에 의해 이용될 수 있는 형태로 상기 검색된 명령어들을 복호화시키는 복호화 유니트, 및 복호화 명령어에 해당하는 일련의 하나 이상의 마이크로코드 명령어들을 제공하는 마이크로시퀀서 유니트를 포함한다. The decoding stage provides pre-fetch unit, decoding unit, and a set of one or more microcode instructions corresponding to a decode instruction to decode the retrieved instructions into a form that can be used by the execution unit to retrieve instructions from a storage element and a micro-sequencer unit to. 상기 라이트백 단은 외부 판독 메모리 어드레스에 응답하여 상기 마이크로프로세서의 외부에 있는 저장 요소로부터 상기 외부 판독 메모리 어드레스에 해당하는 오퍼랜드 또는 명령어 중 어느 하나를 검색하고, 외부 기록 메모리 어드레스에 응답하여 상기 마이크로프로세서의 외부에 있는 저장 요소에 상기 외부 기록 메모리 어드레스에 해당하는 결과를 저장하는 버스 인터페이스 유니트를 포함한다. The write back stage is an external read memory in response to an address to search for any one of from the storage element external to the microprocessor, the operand or instruction corresponding to the external read memory address, and in response to the external write memory address the microprocessor and of the storage element in the external bus interface unit for storing the result corresponding to the external write memory address.
본 발명의 이들 및 다른 특징들 및 이점들은 이하 본 발명의 바람직한 실시예에 대한 상세한 설명 및 첨부 도면을 숙지하면 이해될 것이다. These and other features and advantages of the invention will be understood when read the following detailed description and the accompanying drawings for the following preferred embodiment of the present invention.
도2A를 참조하면, 본 발명의 한 실시예에 따른 회로 구조는 다음과 같이 요약될 수 있다. 2A, the circuit configuration according to one embodiment of the present invention may be summarized as follows. 그러한 구조는 대략 3-버스 구조에 기초를 두고 있다. Such a structure is based on the approximately 3-bus structure. 버스 마스터들 모두는 최고 성능의 버스(CPU 로컬 버스)를 구동시킨다. All of the bus master to drive the highest performance bus (CPU local bus). 단지 액세스되고 빈도가 높게 사용되는 주변 장치들만이 이러한 버스에 접속된다. That only peripherals which are accessed and a high frequency use is connected to this bus. 이로 인해, 그러한 주변 장치의 사용이 최적화될 수 있고 시스템 성능이 최대화될 수 있다. Because of this, the use of such peripherals to be optimized may be the machine to maximize performance. 이러한 3-버스 구조를 사용함으로써, 시스템을 이루는 IC의 전반적인 성능이 최적화될 수 있고, 좀 더 우수한 시스템 기능성을 위해 시스템 설계자에게 추가의 외부 주변 장치들을 추가시킬 수 있는 융통성이 제공될 수 있다. The use of such a three-bus structure, may be for overall performance can be optimized and, more excellent system functionality of the IC constituting the system provides the flexibility to add additional external peripherals to the system designer.
제2의 내부 고 성능 주변 장치 버스는 또한 그 다음으로 빈도가 높게 액세스되며 사용되는 IC상의 주변 장치들을 지원하도록 제공된다. Second internal high performance peripheral bus is also provided to support a peripheral device on the IC that is used is a high access frequency to the next. 이와 같은 내부 주변 장치 버스상의 주변 장치들은 상기 CPU 로컬 버스상의 주변 장치들보다 조금 느린 속도로 액세스된다. Peripherals on these internal peripheral bus are accessed by a little slower speed than the peripherals on the CPU local bus. 이러한 내부 주변 장치 버스의 주변 장치들이 상기 CPU 로컬 버스상의 주변 장치보다는 빈도가 낮게 액세스되기 때문에, 성능이 극히 높은 CPU 로컬 버스와 최고 성능의 주변 장치들을 분리시키고 고 성능의 내부 주변 장치 버스와 다른 모든 내부 주변 장치들을 분리시킴으로써 전반적인 시스템 성능이 높아진다. Since peripheral of the internal peripheral bus are to be accessed less frequently than the peripherals on the CPU local bus, all of the performance is extremely high CPU separating the peripheral of the local bus and the highest performance, and the inner peripheral bus performance, other the overall system performance increases by separating the internal peripherals.
상기 구조의 제3 버스는 중간 성능의 외부 주변 장치 버스이다. The third bus in the architecture is the medium performance of the external peripheral bus. 이러한 버스는 시스템 설계자에 의해 추가되는 외부 주변 장치(들)를 지원한다. This bus supports external peripheral (s) added by the system designer. 이러한 버스는, 비록 외부 주변 장치들에 대한 액세스가 보다 적절한 속도로 되지만, 외부 주변 장치들을 추가할 수 있는 융통성을 시스템 설계자에게 제공할 수 있다. These buses, though, access to the external peripheral device, but with a more appropriate rate, the flexibility to add external peripherals may be provided to the system designer.
하기에 보다 상세하게 논의되겠지만, 상기 구조는 3개의 물리적 버스들을 포함하며, 3개의 물리적 버스들은 5개의 논리 버스들에 해당한다. As will be discussed in more detail below, the architecture includes three physical buses, three physical busses correspond to five logical buses. 상기 구조는 또한 조정 및 싸이클 제어 논리를 그러한 설계 범위내에서 5개의 개별 블럭들로 분산시킨다. The structure and also distributed coordination and cycle control logic into five separate blocks within the design range such. 상기 개별 블럭들 각각의 조정 및 싸이클 제어 논리는 유일한 태스크들을 이행하며, 그러한 태스크들은, 함께 동작할 경우, 버스 액세스를 이행하는 마스터, 요구되고 있는 액세스의 유형 및 싸이클이 동작하게 될 물리적(및 논리적) 버스를효과적으로 결정한다. Wherein each steering and cycle control logic in each block shall fulfill the only task, that task will, when operating together, become a master, the type and the cycle of the access that is required to operate to implement a bus access to the physical (and logical ) effectively determines the bus.
도2B를 참조하면, 도1의 IC(10)에서 구현된 바와 같은 상기에 논의된 회로 구조에 대하여, 제1 물리적(및 논리적) 버스는 멀티-마스터이고, 동기식이며, 성능이 극히 높은 CPU 로컬 버스(50)이다. 2B, the degree with respect to the said circuit structure discussed as implemented in the IC (10) of the first, the first physical (and logical) bus is the multi-is the master, and synchronously, the performance is extremely high CPU local a bus 50. 구조적인 관점에서 볼 때, CPU 로컬 버스(50)는 (이러한 버스를 멀티-마스터 버스로 구성하는) 다수 개의 버스 마스터들에 의해 구동될 수 있다. From a structural standpoint, CPU local bus 50 may be driven by a plurality of bus master (this bus a multi-master bus, which consists of a). 상기 CPU 로컬 버스(50)를 구동시키기 전에, 한 버스 마스터는 먼저 상기 CPU 로컬 버스(50)를 조정하고 상기 CPU 로컬 버스(50)를 제어하여야 한다. Before driving the CPU local bus 50, a bus master must first be adjusted to the CPU local bus 50 and controls the CPU local bus 50. 도1의 IC(10)에서는, 두 개의 버스 마스터들, 즉 CPU(12) 및 DMA 콘트롤러(14)가 있다. The IC (10) of Figure 1, there are two bus masters, i.e., CPU (12) and a DMA controller (14). 상기 CPU(12)는 디폴트(default) 버스 마스터이고 상기 DMA 콘트롤러(14)가 제어를 요구하는 경우를 제외하고는 항상 상기 CPU 로컬 버스(50)의 제어를 유지하는 데, 상기 DMA 콘트롤러(14)가 제어를 요구하는 경우에는, 상기 CPU(12)가 예컨대, 현재의 CPU 버스 트랜잭션 시퀀스의 실행이 완료됨에 따른 절호의 기회에 상기 CPU 로컬 버스(50)의 제어를 상기 DMA 콘트롤러(14)에 부여한다. The CPU (12) is the default (default) bus master, and the DMA controller 14, the DMA controller 14 to maintain control of and is always the CPU local bus 50 except when required by the control in the case that requires a control, the CPU (12) is, for example, given the control of the CPU local bus 50 to a golden opportunity according As the current execution is completed, the CPU bus transaction sequence in the DMA controller 14 do. 상기 CPU 로컬 버스(50)의 제어를 획득한 후, 상기 DMA 콘트롤러(14)는, 계속된 지배를 위한 그의 요구가 없어질 때까지 상기 DMA 콘트롤러(14)가 제어를 유지하는 데, 계속된 지배를 위한 그의 요구가 없어진 경우에는 상기 CPU(12)가 상기 CPU 로컬 버스(50)의 제어를 재개한다. After obtaining the control of the CPU local bus 50, the DMA controller 14, until there is his request for a continued dominating to the DMA controller 14 maintains the control, the continued controlled If his request for the missing are to resume control of the CPU (12) is the CPU local bus 50.
상기 CPU(12)는 상기 CPU 로컬 버스(50)의 "주 마스터(primary master)" 로서 간주될 수 있으며 상기 DMA 콘트롤러(14)는 "교호 마스터(alternate master)"로서 간주될 수 있다. The CPU (12) may be considered "primary master (primary master)" can be regarded as, and the DMA controller 14 of the CPU local bus 50 is a "master alternating (alternate master)". 그러한 구조는 하나의 "주 마스터"와 개수에 제한이 없는 "교호 마스터"를 지원한다. Such a structure should support the "alternate master" there is no limit to the one of the "primary master" and the number.
상기 CPU 로컬 버스(50)는 동기식인 데, 이는 상기 버스상의 신호들 모두가 단지 상기 버스의 클록 신호와 관련하여서만 유효한 것으로 간주된다는 것을 의미한다. The CPU local bus 50 to the synchronous, which means that considered only in that both the signals on the bus only in connection with the clock signal of the bus is valid. 도1의 IC(10)에서는, 신호들 모두가 단지 상기 CPU 로컬 버스(50)에 대한 클록의 상승 구간과 관련하여서만 유효하다. The IC (10) of Figure 1, all signals are valid only hayeoseo only related to the rising edge of the clock for the CPU local bus 50. 더욱이, 상기 CPU 로컬 버스(50)는 극히 높은 성능으로 동작하는 것으로 간주되는 데, 그 이유는 상기 버스가 한 클록 주기 당 1번의 액세스를 이행할 수 있기 때문이며, 상기 한 클록당 1번의 액세스는 동기식 버스의 이론상 최대 성능에 해당한다. Further, the CPU local bus 50 is extremely to be considered to operate in the high performance, the reason is because the data bus to perform the first access times per cycle, one clock, an access one the one clock per one synchronous It corresponds to the theoretical maximum performance of a bus.
상기 CPU 로컬 버스(50)의 동작 주파수를 최대화하기 위하여, 단지 소수의 최고 성능의 동기식 주변 장치들만이 상기 CPU 로컬 버스(50)에 접속된다. In order to maximize the operating frequency of the CPU local bus 50, and that only a small number of the highest performing synchronous peripheral devices connected to said CPU local bus (50). 이와 같은 2개의 주변 장치들은 DRAM 콘트롤러(16)와 BIU(18)이다. The two peripheral devices, such as are the DRAM controller 16 and the BIU (18). 상기 DRAM 콘트롤러(16)는 빈도가 높게 이용되는 DRAM 시스템 메모리(도시되지 않음)에 대한 모든 액세스를 이행하지만, 상기 BIU(18)는 내부의 비동기식 고성능 주변 장치 버스(52)와 외부의 비동기식 중간 성능 주변 장치 버스(54)를 제공한다. The DRAM controller 16 are DRAM system memory (not shown) carry out all access to, however, the BIU (18) is inside of the asynchronous high performance peripheral bus 52 and the outside of the asynchronous intermediate performance using higher frequency providing a peripheral bus (54).
상기 DRAM 콘트롤러(16)와 상기 BIU(18) 모두는 동시에 CPU 로컬 버스(50)의 액세스를 받아 들이며 이러한 두 개의 블럭(16,18)은 싸이클의 유형과 그의 타겟의 결정을 개시한다. Both the DRAM controller 16 and the BIU (18) is at the same time, CPU access the two blocks 16 and 18 such deulyimyeo received on the local bus (50) discloses the determination of the type and its target of the cycle. 구조적인 면에서 볼 때, 상기 DRAM 콘트롤러(16) 또는 상기 BIU(18), 또는 상기 DRAM 콘트롤러(16) 및 상기 BIU(18) 모두는 상기 두 개의 블럭 중 어느 한 블럭이 그러한 액세스를 이행할 지를 최종적으로 결정하여야 한다. From a structural aspect, if the DRAM controller 16 or the BIU (18), or the DRAM controller 16 and the BIU (18), all of which to carry out such access any one of a block of the two blocks to be finally determined. 도1의 IC(10)에서는, 상기 DRAM 콘트롤러(16)가 그러한 싸이클을 받아 들이기도 하고거부하기도 한다. The IC (10) of Figure 1, and also the DRAM controller 16 is pray and rejected take such a cycle. 상기 BIU(18)는 상기 DRAM 콘트롤러(16)에 의해 거부된 모든 싸이클들을 받아 들이고 상기 DRAM 콘트롤러(16)에 의해 받아 들여진 모든 싸이클들을 거부한다. The BIU (18) is to accept all cycles rejected by the DRAM controller 16 and rejects all cycles accepted by the DRAM controller 16.
상기 DRAM 콘트롤러(16)는, 상기 CPU 로컬 버스(50)상에서 요구된 액세스를 이행할 경우, 공유된 외부 버스(54)의 핀들을 통해 IC(10)에 연결된 외부 DRAM(도시되지 않음)을 액세스함으로써 상기 CPU 로컬 버스(50)상에서 요구된 액세스를 이행한다. The DRAM controller 16, when to perform the requested access on the CPU local bus 50, the outside is connected to the IC (10) through the pins of the shared external bus (54), DRAM (not shown) accessible by the process proceeds to the requested access on the CPU local bus 50. 이와 같은 공유된 외부 버스(54)의 핀들은 제2의 물리적 버스를 형성하지만, 그 명칭이 시사하는 바와 같이, 이러한 핀들은 다수 개의 논리적 버스들에 의해 공유된다. The pins of the external bus 54 shares the same physical bus is formed of a second, however, as its name suggests, these pins are shared by multiple logical buses. 상기 DRAM 콘트롤러(16)는 이와 같은 공유된 외부 버스(54)의 핀들을 제어할 경우, 그러한 시점에서의 논리적 버스는 외부 DRAM 인터페이스 버스이다. The DRAM controller 16 is to control when the fins of the external bus 54 shares the same manner, the logical bus at that point in time is the external DRAM interface bus.
상기에 주지된 바와 같이, 상기 BIU(18)는 상기 DRAM 콘트롤러(16)에 의해 거부된 모든 CPU 로컬 버스(50)의 액세스들을 받아 들인다. As noted above, the BIU (18) accepts the access of all CPU local bus 50 is rejected by the DRAM controller 16. 만약 PCMCIA 콘트롤러(20)가 이네이블되는 경우, 상기 BIU(18)는 기타의 액세스를 이행하려고 시도하기 전에 상기 PCMCIA 콘트롤러(20)에 그러한 액세스를 전송한다. If that is the PCMCIA controller 20 is enabled, the BIU (18) transmits such access to the PCMCIA controller 20 before attempting to perform the access of the other. 만약 상기 PCMCIA 콘트롤러(20)가 그러한 액세스를 받아 들이는 경우, 상기 PCMCIA 콘트롤러(20)는 상기 공유된 외부 버스(54)의 핀들상에 적절한 신호을 생성시킴으로써 그러한 액세스를 완료시킬 것이다. If is the PCMCIA controller 20 will receive such access to the PCMCIA controller 20 will complete the access by generating the appropriate such sinhoeul on the pins of the external bus 54, the shared. 이러한 것이 단일의 물리적 세트의 공유된 외부 버스(54)의 핀들상으로 멀티플렉싱될 제2의 논리적 버스(PCMCIA 카드 인터페이스 버스)이다. This is a logical bus of the second to be multiplexed onto pins of the external bus 54, the sharing of a single physical set of (PCMCIA Card interface bus).
만약 상기 PCMCIA 콘트롤러(20)가 그러한 액세스를 거부하는 경우에나, 또는만약 상기 PCMCIA 콘트롤러(20)가 이네이블되지 않는 경우, 상기 BIU(18)는 그러한 액세스가 내부 주변 장치에 대한 것인 지 아니면 외부 주변 장치에 대한 것인 지를 결정한다. If either case of the PCMCIA controller 20 will deny such access, or if the PCMCIA controller 20 is not enabled, the BIU (18) is, or if such access would on the inner peripheral outer It determines whether it is for a peripheral device. 상기 BIU(18)는 내부 주변 장치들이 이네이블되도록 프로그램되어졌는지, 그와 같이 이네이블된 내부 주변 장치들이 상주하는 어드레스(들) 및 현재 액세스의 어드레스에 기초하여 그와 같은 결정을 내린다. The BIU (18) is whether the program table such that internal peripherals are enabled on the basis of the stuffing to the cable internal peripherals reside address (s) and the current access address as such makes a decision such.
만약 상기 BIU(18)가 그러한 액세스는 내부 주변 장치에 대한 것이라고 결정하는 경우, 상기 BIU(18)는 그러한 액세스를 완료시키도록 비동기식 내부 주변 장치 버스(52)의 액세스를 생성시킨다. If such access is the BIU (18) is to produce an access in the case of determining that of the internal peripheral device, said BIU (18) is asynchronous, internal peripheral so as to complete such access unit bus (52). 상기 비동기식의 고성능 내부 주변 장치 버스(52)는 상기 구조의 제3의 물리적 버스와 상기 구조의 제4의 논리적 버스를 구성한다. High-performance internal peripheral bus 52 of the asynchronous constitute a logical bus on a fourth of the physical structure of the bus and the third of said structure.
그 반면에, 만약 상기 BIU(18)가 액세스는 외부 주변 장치 버스(54)에 대한 것이라고 결정하는 경우, 상기 BIU(18)는 이러한 액세스를 완료하여 상기 공유된 외부 주변 장치 버스(54)의 핀들상에 적절한 신호들을 생성시킨다. On the other hand, if the pins of the BIU (18) is accessed when determining that on the external peripheral bus 54, the BIU (18) is the shared external peripheral bus 54 to complete these access on to produce the appropriate signal. 이러한 것이 상기 구조와 관련된 제5의 논리적 버스이다. This is a logical bus of the fifth associated with the structure. 온-칩 주변 장치들 중 어느 한 주변 장치에 대한 것도 아닌 액세스는 항상 상기 공유된 외부 버스(54)의 핀들상에서의 외부 주변 장치 버스의 액세스가 된다. On-access is not even close to any one of the chip peripheral device is always access the external peripheral bus on the pins of the external bus 54. The shared.
마지막으로, 좀 더 효율적인 데이타의 전송을 이행하기 위해서는, 상기 DMA 콘트롤러(14)는 (위에서 설명한 바와 같이) 상기 CPU 로컬 버스(50)를 통해 시스템 메모리 액세스들을 이행하면서, 또한 그러한 액세스들의 개시점과 종료점을, 상기 BIU(18)와의 직접적인 접속을 통해서 및 상기 BIU(18)와의 협동으로 DMA-요구 디바이스들에 대한 액세스들과 오버래핑시킨다. Finally, in order to implement the transmission of a more efficient data, the DMA controller 14 while implementing the system memory accessed through (as described above), the CPU local bus 50, and the starting point of such access an end point, the via direct connection to the BIU (18) and overlaps with the access to the requested device in cooperation DMA- with the BIU (18). 상기 DMA-요구 디바이스들은 (ECP 콘트롤러(22) 또는 LCD 콘트롤러(24)와 같은) 내부 주변 장치 버스(52)상에나 또는 외부 주변 장치 버스(54)상에 있을 수 있다. DMA- the requested device may be on (ECP controller 22 or LCD controller 24 and the like), an internal peripheral bus 52, the INC or an external peripheral bus (54).
도3A 및 3B를 함께 참조하면, CPU(12), DMA 콘트롤러(14), DRAM 콘트롤러(16), BIU(18), 및 PCMCIA 콘트롤러(20) 간의 분산 형태의 조정이 보다 양호하게 이해될 수 있다. Referring to FIGS. 3A and 3B together, CPU (12), DMA controller (14), DRAM controller 16, a BIU (18), and adjustment of the distribution form between the PCMCIA controller 20 can be well understood . 예를 들면, 시스템 파워-업 또는 리셋 다음에 이어지는 초기 시스템 상태(200) 동안, 상기 CPU(12)는 초기화되고 유휴 싸이클들은 상기 CPU 로컬 버스(50)상에서 동작된다. For example, a system power-During the initial system state 200, following the up or reset, and then the CPU (12) is initialized and idle cycles are operating on the CPU local bus 50. 다음 동작(202)은 CPU 액세스 시퀀스가 진행중인 지를 결정하는 것이다. The following operation 202 is that the CPU access sequence determine progress. 만약 CPU 액세스 시퀀스가 진행중이지 않으면, 다음 동작(204)은 상기 DMA 콘트롤러(14)가 버스 마스터이도록 요구했는 지를 결정하는 것이다. If a CPU access sequence is not in progress, the next operation 204 is to determine whether haetneun the DMA controller 14 so that the bus master request. 만약 상기 DMA 콘트롤러(14)가 버스 마스터이도록 요구하지 않았다면, 다음 동작(206)은 CPU 버스 싸이클이 계속중에 있는 지를 결정하는 것이다. If the DMA controller 14 had not required so that the bus master, the next operation 206 is to determine whether the continuing CPU bus cycle. 만약 CPU 버스 싸이클이 계속 중에 있지 않으면, 다음 동작(208)은 상기 CPU(12)가 제어 상태에 있는 경우, 상기 CPU 로컬 버스(50)상에서 또 다른 유휴 싸이클을 처리하는 것이다. If no CPU bus cycle is not continued in the next operation 208 is to process another idle cycle on the CPU local bus 50 when the CPU (12) is in the control state. 이러한 유휴 싸이클 동작(208)은 상기 CPU 로컬 버스(50)의 제어를 위해 상기 DMA 콘트롤러(14)로부터 어떠한 요구도 받아 들여지지 않고 어떠한 CPU 버스 싸이클도 계속중에 있지 않는 한 반복된다. This idle cycle operation 208 is repeated does not continue during any CPU bus cycles accepted without any request from the DMA controller 14 for the control of the CPU local bus 50.
만약 CPU 액세스 시퀀스가 진행중에 있었다면, 시스템은 상태(210)에 진입하며, 상기 상태(210)에서는 상기 CPU(12)가 상기 CPU 로컬 버스(50)를 제어한다. If a CPU access sequence was in progress, the system enters the state 210, the state 210 in the CPU (12) that controls the CPU local bus 50. 마찬가지로, 만약 상기 DMA 콘트롤러(14)로부터의 DMA 버스 마스터 요구가 상기CPU(12)에 의해 받아 들여졌다면, 상기 CPU(12)가 상기 CPU 로컬 버스(50)의 제어를 상기 DMA 콘트롤러(14)에 부여하는 동작(212)이 이행되고 시스템은 상태(214)로 진입하며, 상기 상태(214)에서는 상기 DMA 콘트롤러(14)가 현재 상기 CPU 로컬 버스(50)를 제어한다. Similarly, if the DMA controller 14 DMA bus Reporting let the master request received by said CPU (12), said CPU (12), wherein the DMA controller 14, the control of the CPU local bus 50 from the implementing an operation 212 for giving and the system enters a state 214, the state 214 in the DMA controller 14 controls the current the CPU local bus 50.
다음 동작(216)은 싸이클이 DRAM 싸이클인 지에 대하여 DRAM 콘트롤러(16)에 의해 결정이 내려지는 것이다. The following operation 216 is stepped down cycle is determined by the DRAM controller 16 as to whether the DRAM cycle. 만약 싸이클이 DRAM 싸이클이라면, 다음 동작(218)은 상기 공유된 외부 버스(54)의 핀들상에서의 DRAM 액세스 시퀀스를 동작하는 것이다. If the cycle DRAM cycle, the next operation 218 is to operate the DRAM access sequence on the shared external bus of the pins (54). 만약 싸이클이 DRAM 싸이클이 아니라면, 다음 동작(220)은 싸이클이 PCMCIA 싸이클인 지에 대하여 상기 BIU(18)와 PCMCIA 콘트롤러(20)에 의해 협동으로 결정이 내려지는 것이다. If the cycle is not a DRAM cycle, the next operation 220 is to determine the cycle is issued in cooperation by the BIU (18) and a PCMCIA controller 20 as to whether a PCMCIA cycle. 만약 싸이클이 PCMCIA 싸이클이라면, 다음 동작(222)은 상기 공유된 외부 버스(54)의 핀들상에서의 PCMCIA 액세스 시퀀스를 실행하는 것이다. If the cycle is PCMCIA cycle, the next operation 222 is to run a PCMCIA access sequence on the pins of the external bus 54, the shared. 만약 싸이클이 PCMCIA 싸이클이 아니라면, 다음 동작(224)은 싸이클이 내부 싸이클인 지에 대하여 상기 BIU(18)에 의해 결정이 내려지는 것이다. If the cycle is not a PCMCIA cycle, the next operation 224 is a decision by the BIU (18) being made as to whether the cycle is an internal cycle. 만약 싸이클이 내부 싸이클이라면, 다음 동작(226)은 내부 주변 장치 버스 액세스 시퀀스를 동작시키고 상기 공유된 외부 버스(54)의 핀들상에서의 유휴 싸이클을 동작시키는 것이다. If the cycle is to the inside if the cycle, then operation 226 operates the idle cycle on the pins of the external bus 54, the operation of the internal peripheral bus access sequence and the share. 만약 싸이클이 내부 싸이클이 아니라면, 다음 동작(228)은 상기 공유된 외부 버스(54)의 핀들상에서의 외부 주변 장치 버스(54)의 액세스를 동작시키는 것이다. If it is not the internal cycle to cycle, then operation 228 operating an access of the external peripheral bus 54, on the pins of the external bus 54, the shared.
이들 각각의 액세스 동작(218,222,226,228)에 이어서, 다음 동작(230)은 상기 CPU(12)가 상기 CPU 로컬 버스(50)를 제어하는 지에 대하여 결정하는 것이다. Subsequent to each access operation (218 222 226 228) thereof, and then the operation 230 is to determine as to whether said CPU (12) that controls the CPU local bus 50. 만약 상기 CPU(12)가 상기 CPU 로컬 버스(50)를 제어하고 있다면, CPU 액세스 시퀀스가 진행되고 있는 지를 결정하는 동작(202)으로부터 개시하는 이전의 과정이 반복된다. If the CPU (12) and the control of the CPU local bus 50, the former process starts at action 202 to determine whether a CPU access sequence is in progress it is repeated. 만약 상기 CPU(12)가 상기 CPU 로컬 버스(50)를 제어하고 있지 않다면, 다음 동작(232)은 동작될 DMA 싸이클들이 더 있는 지를 결정하는 것이다. If to the CPU (12) unless the control and the CPU local bus 50, determines the next operation 232 is a DMA cycle is in operation are more. 만약 실행될 DMA 싸이클들이 더 있다면, 시스템은 상기 CPU 로컬 버스(50)가 상기 DMA 콘트롤러(14)에 의해 제어되는 상태 (214)를 지속하거나, 또는 그러한 상태로 재-진입 한다. If the DMA cycles to be executed are more, the system continues to state 214, which is controlled by the CPU local bus 50 is a DMA controller 14, or a material such state-enters. 만약 실행될 DMA 싸이클들이 더 이상 없다면, 다음 동작(208)은 상기 CPU(12)가 제어 상태에 있는 경우, 상기 CPU 로컬 버스(50)상에서의 유휴 싸이클을 동작시키는 것이다. If no DMA cycles to be performed any more, then operation 208 is to operate an idle cycle on the CPU local bus 50 when the CPU (12) is in the control state.
따라서, 상기 IC(10)의 기본 구조는 빈도가 높게 액세스되는 주변 장치들로 부터 성능을 최대화시키면서도, 빈도가 낮게 액세스된 온-칩 주변 장치들로부터 성능을 높이고 또한 오프-칩 주변 장치들에 대한 액세스에 대하여 적정한 성능을 유지시키기 위한 멀티-마스터의 분산형 조정 및 분산형 액세스 제어 설계를 보여준다. Thus, while still maximizing performance from the peripherals basic structure of the IC (10) is that the frequency is highly accessible, on the frequency of the low access-increasing performance from chip peripherals also off-on chip peripherals to maintain the proper performance for accessing a multi-shows the distributed coordination and distributed access control design for the master.
이하에서 보다 상세하게 논의되겠지만, 상기 CPU(12)는 전형적인 인텔(Intel) 486 프로세서와 호환될 수 있는 명령어 세트를 갖는 32-비트 프로세서이다. As will be more specifically discussed below, the CPU (12) is a 32-bit processor with an instruction set that is compatible with the typical Intel (Intel) processor 486. 그의 성능은 클록 속도, 명령어 당 클록 싸이클들의 개수 및 실행되는 명령어들의 개수에 의해 주로 결정된다. His performance is mainly determined by the number of instructions executed and the number of clock rates, clock cycles per instruction. 타겟(target) 클록 주파수는 제조상의 제약, 전형적인 어플리케이션(application) 요건 및 구현 방법에 의해 대부분 미리 결정되었고, 게다가 실행되는 명령어들의 개수는 x86 명령어 세트 구조(instruction set architec-ture;ISA)의 사용에 의해 제약을 받았다. For use; target (target) clock frequency is mostly been determined in advance, either the number of instructions executed is the x86 instruction set architecture (ISA instruction set architec-ture) by the constraints, a typical application (application) of the manufacturing requirements and implementation received by the constraints. 따라서, 성능을 증가시키기위한 초점은 각각의 명령어에 대해 평균적으로 필요한 클록 싸이클의 개수, 즉 명령어당 클록들(clocks per instruction ;CPI)의 개수이었다. Thus, the focus for increasing performance on average, the number of required clock cycles, that is, the clocks per instruction for each instruction; was the number of (clocks per instruction CPI).
따라서, CPU 구조는 최소한의 클록 싸이클들의 개수로 명령어들을 실행하도록 설계되었다. Therefore, CPU architecture was designed to execute instructions as the number of the minimum clock cycle. 바이패스들의 개수, 인터록들 및 다이(die) 사이즈를 감소시키는 데에는 3-단 파이프라인이 사용된다. This three-stage pipeline is used which reduces the number There, interlocks and die (die) The size of the by-pass. 이것은 또한 조건부 분기가 사용되는 경우 분기 위반(branch penalty)을 감소시킨다. This also reduces the violation quarter when a conditional branching using (branch penalty). 그리하여, 최적화되고자 하는 명령어들 모두에 대한 명령어당 클록들은 이러한 구조에 기초하여 평가되었고 추가적인 논리는 그러한 개수들을 획득하도록 상기 구조내에 설계되었다. Thus, the clock per instruction for all the instructions that are optimized to become was evaluated on the basis of the structure of additional logic was designed into the architecture to obtain those numbers.
도4를 참조하면, 상기 CPU(12)의 구조는 마이크로프로그램된 제어를 사용하는 3-단 파이프라인을 이용한다. 4, the structure of the CPU (12) uses a three-stage pipeline using a microprogram control. 상기 파이프라인을 구성하는 3개의 주요 단은 복호화 단(70), 실행 단(72) 및 라이트백(writeback) 단(74)이다. Three main stages forming the pipeline stage is a decode 70, execution stage 72 and the write back (writeback) stage 74. 상기 라이트백 단(74)은 두개의 보조 단(74a, 74b)으로 더 나뉘어진다. The writeback stage 74 is further divided into two secondary stages (74a, 74b). 제2의 라이트백 보조 단(74b)은 단지 일부 메모리 액세스들용으로만 사용된다. Write back stage of the secondary 2 (74b) is used only for the part of the memory access. 레지스터와 레지스터 간의 동작에 대하여는, 단지 3개의 단만이 필요하다. For the operation between the registers and the registers, it is only required three danman. 따라서, 상기 파이프라인은 주로 이러한 3개의 단(70,72,74)을 사용하여 기능을 이행한다. Thus, the pipeline is mainly implementing the function by using these three stages (70,72,74).
상기 복호화 단(70)은 명목상 복호화 유니트(100)를 포함하지만 오직 명령어 복호기의 기능 이상으로 기능을 이행한다. The decoding stage 70 comprises a nominally decoding unit 100, but only fulfill the function as a function at least of the command decoder. 이러한 단(70)은 또한 프리페치 버퍼(102), 명령어 캐시(104) 및 마이크로시퀀서(106)를 포함한다. Such stage 70 also includes the prefetch buffer 102, instruction cache 104 and a micro-sequencer (106). 상기 프리페치 버퍼(102)는 16바이트 폭이고 두개의 계층(tier) 유니트(102a, 102b)로서 설계되어 있다. The prefetch buffer 102 is 16 bytes wide and is designed as a two-tier (tier) unit (102a, 102b). 상기 프리페치 유니트(102)는, 명령어 복호기(100)가 현재 복호화 중에 있고15 바이트의 길이에 까지 이를 수 있는 명령어의 모든 바이트들로 상기 명령어 복호기(100)가 완전히 보충되게 하려고 시도한다. The prefetch unit 102 tries the command decoder 100 attempts to make said instruction decoder 100 fully supplemented with all the bytes of the instructions that can do this up to a length of 15 bytes, and the current decoding. 상기 프리페치 유니트(102)는 명령어 캐시(104)와 인터페이스한다. The prefetch unit 102 interfaces with the instruction cache 104. 상기 프리페치 유니트(102)는 상기 명령어 복호기(100) 보다 이전에 페치하려고 시도한다. The prefetch unit 102 tries to fetch the instructions prior to the decoder 100. 이러한 록-어헤드(look-ahead) 메카니즘은 성능을 상당히 향상시킨다. This lock-ahead (look-ahead) mechanism significantly improves performance.
상기 명령어 캐시(104)는 8바이트의 라인 사이즈로 직접 매핑된 것으로서 편성되어 있는 1K바이트를 포함한다. And the instruction cache 104 includes a 1K bytes organized as direct mapped with a line size of 8 bytes. 상기 명령어 캐시(104)는 자체-수정 코드(self-modifying code)로 인한 스테일 데이타(stale data)를 회피하기 위하여 버스상에서 스눕(snoop) 방식을 채택한다. The instruction cache 104 is a self-adopts the snoop (snoop) on the system bus in order to avoid stale data (stale data) due to the modified code (self-modifying code). (이것은 상기 CPU(12)의 설계에 대한 성능 향상 방법의 또 다른 예이다.) 대부분의 타겟 어플리케이션 코드(target application code)가 작기 때문에, 1K 캐시는 상당한 성능 향상을 제공하며, 그보다는 큰 캐시의 구현은 그다지 필요한 것이 아니었다. (This is another example of performance improvement methods for the design of the CPU (12).) Since most of the target application code is small the (target application code), 1K cache provides a significant performance improvement, but rather a large cache implementation was not so necessary. 이것은 상기 칩(10)의 면적을 감소시키며, 결과적으로는 상기 칩(10)의 가격을 낮춘다. This reduces the area of ​​the chip 10, as a result, lowers the price of the chip 10. 또한, 대부분의 타겟 어플리케이션들이 판독 전용 메모리(ROM)로부터 실행하기 때문에, 성능이 상당히 증가된다. Further, since most of the target application are executing from a read-only memory (ROM), performance is increased substantially.
상기 복호기(100)는 단일의 싸이클내에서 간단한 명령어들을 복호화시킬 수 있다. The decoder 100 may decode the simple instructions in a single cycle. 프리픽스들 및 복잡한 명령어들은 복호화하는 데 하나 이상의 싸이클을 취한다. The prefix and complex instructions take more than one cycle to decode. 그후, 상기 마이크로시퀀서(106)는 명령어들을 인수하고 그러한 명령어들을 마이크로코드로 처리한다. Then, the micro-sequencer 106 to take over the command and processes those instructions to the microcode. 그러한 마이크로코드 대부분은 i486의 보호 메카니즘(pro-tection mechanism)를 지원하기 위한 명령어들을 포함하여 복잡한 명령어들을 제외하고는 단일의 싸이클이다. Many such micro-code, except the complex instructions, including the instructions to support the protection mechanism (pro-tection mechanism) of the i486 is a single cycle. 상기 복호기(100)와 상기 마이크로시퀀서(106) 모두는전력 및 면적을 절약하는 논리 설계를 이용한다. The decoder 100 and the micro-sequencer 106 is used in both the logic design to save power and area.
상기 실행 단(72)은 오퍼랜드를 페치하고 명령어들을 실행할 뿐만 아니라, 메모리 어드레스를 연산한다. The execution stage 72 not only fetches operands and executing the instructions, computes the memory address. x86 구조는 세그먼트된 메모리 공간을 지니며, 상기 세그먼트된 메모리 공간은 이러한 어드레싱 공간을 액세스하기 위해 다수의 복잡한 어드레싱 모드들을 갖는다. x86 architecture has a memory space said Genie a segmented memory space, wherein the segment has a number of complex addressing modes to access this addressing space. 상기 세그먼트된 메모리 공간이란 실제로 버스상에 발생하는 물리적 어드레스를 얻기 위하여 적어도 하나의 추가, 즉 세그먼트 베이스와 그러한 세그먼트내의 옵셋의 추가가 이행되어야 한다는 것을 말한다. The memory space segment means that the actually added at least one in order to obtain the physical address that occurs on the bus, that is, the segment is added to the offset in the base with such a segment to be implemented. 이것은 3 개에 이르는 추가 성분, 즉 베이스, 인덱스 및 변위를 가질 수 있는 세그먼트 옵셋의 연산으로 훨씬 복잡해진다. This becomes more complex as an additional component, that is, operation of the segment offset which can have a base, index and displacement up to three. 단일의 싸이클내에서 이러한 성분들 모두로 구성되어 있는 전체 어드레스를 연산하려면 비용이 많이 들것이기 때문에, 주된 경우들, 즉 단지 기준화된 인덱스 및 변위, 또는 베이스 및 변위만을 가지는 주된 경우들이 최대한으로 활용되었다. Since to computing the entire address, which is composed of all of these components within a single cycle expensive stretcher, the main case, i.e., the main case having only a standardized index and a displacement, or a base, and displacements are utilized to the maximum It was. 상기 실행 유니트(108)는 단일의 싸이클내에서 총체적인 어드레스 연산을 이행할 수 있다. The execution unit 108 may implement the overall operation address within a single cycle. 다시 말하면, 상기 실행 유니트(108)은 동일 싸이클내에서 두개의 어드레스 추가를 이행할 수 있다. In other words, the execution unit 108 may implement an additional two of the address in the same cycle. 또한, 이러한 시점에서는 세그먼트 오버런을 방지하도록 세그먼트 한계 검사가 이행된다. In this point, the segment limit check is implemented to prevent segment overruns. 결과적으로 연산된 리니어(linear) 어드레스(이것 또한 물리적 어드레스임)는 외부로의 디스패치(dis-patch)를 위해 버스 유니트(하기에 보다 상세하게 논의됨)에 전송된다. Is transmitted to the (discussed in more detail below), resulting in a linear operation (linear) address (this also being a physical address) is a bus unit to the dispatch (dis-patch) to the outside. 이러한 설계는 빈도가 높게 사용된 로드, 저장, 푸시(push) 및 팝(pop) 명령어들의 단일-싸이클 실행을 허용한다. This design is loaded using a high frequency, store, push (push) and pop (pop) of single instructions - allows the cycle run.
상기 실행 단(72)은 또한 구조적인 레지스터 파일(110)과 보호 논리 메카니즘 (112)을 포함한다. And the execution stage 72 also includes a register file structure 110 and the protection logic mechanisms 112. The 상기 레지스터 파일(110)은 상기 실행 단(72)에서의 모든 동작들에 대한 발신지와 수신지 정보를 분해한다. The register file 110 decomposes the source and destination information for all operations in the execute stage 72. The 상기 레지스터 파일(110)은 또한 산술 및 논리 유니트(ALU;114)의 출력으로부터나 또는 메모리로부터의 로드 동작으로부터 얻어진 결과들을 바이패스시킬 수 있다. The register file 110 is also an arithmetic and logic unit; it is possible to by-pass the results obtained from a load operation from the memory or from the output or the (ALU 114). 이는 데이타 종속에 기인하는 파이프라인 버블을 감소시키는 데 도움을 준다. This helps reduce pipeline bubbles due to data dependencies. Virtual86 모드 지원 외에는 완전한 i486 보호 메카니즘이 구현되었으며, 타겟 어플리케이션들과는 전혀 무관한 것으로 간주되는 것들 외에는 대부분의 i486 예외들이 구현되었다. Except Virtual86 mode support has been implemented fully i486 protective mechanism, except those that are considered to be totally independent from those who target application has been implemented by most of the i486 exception.
상기 라이트백 단(74)은 버스 유니트(116), 디버그 논리(118) 및 레지스터 라이트백 논리(120)를 포함한다. The light and the back end (74) includes a bus unit 116, debug logic 118 and register writeback logic 120. The 이러한 단(74)에서는 메모리 액세스가 개시 및 완료되고, 상기 레지스터 파일(110)이 갱신된다. The stage 74 and the memory access is initiated and completed, the register file 110 is updated. 제2의 라이트백 보조 단(74b)은, 메모리 기록 액세스가 아직 계속중인 동안 독립적인 레지스트 동작이 불완전한 상태로 완료되게 한다. Writeback secondary end (74b) of claim 2, allowing the independent operation resist complete incomplete while a memory write access is still continued. 그러한 메모리 액세스는 새로운 판독/기록 동작이 매 싸이클마다 개시되게 하도록 파이프라인된다. Such a memory access is a new read / write operation is pipelined to be initiated every cycle. (25MHz에서의 초기 구현에서, 이는 단일-싸이클 메모리 액세스를 제공함으로써, 결과적으로 데이타 캐시는 성능을 상당히 향상시키지 못한다). (In the initial implementation of the 25MHz, this single-cycle by providing access memory, resulting in data cache does not significantly improve performance).
도5를 참조하면, 상기 CPU(12)는 설계의 복잡성을 줄이기 위해 11개의 블럭들, 프리페치 유니트(102); 5, the CPU (12) is the 11 blocks to reduce the complexity of the design, the prefetch unit 102; 복호기 유니트(100); Decoder unit 100; 마이크로시퀀서(106); Micro-sequencer (106); 레지스터 파일 유니트(110); Register file unit 110; 실행 유니트(108); Execution unit 108; 보호 논리 유니트(112); Protection logic unit 112; 예외 논리 유니트(130); Exception logic unit 130; 디버그 논리 유니트(118); Debug logic unit 118; 버스 유니트(116); Bus unit 116; 범용 제어 유니트(132); Universal control unit (132); 및 명령어 캐시(104)로 나뉘어진다. And it is divided into instruction cache 104.
상기 프리페치 유니트(102)는 상기 명령어 캐시(104)로부터 또는 메모리로부터 직접 내부에 충전되는 두개의 8-바이트 레지스터(102a,102b;도4)로 이루어진다. The prefetch unit 102 includes two 8-byte registers that are filled in the memory directly from or from the instruction cache (104) comprises a (102a, 102b 4). 상기 복호기 유니트(100)는 상기 프리페치 유니트(102)로부터 명령어를 입수하고 이를 사용하여 상기 명령어용 엔트리 마이크로코드, 레지스터 어드레스, 즉시값, 변위값 및 세그먼트 정보를 생성시킨다. The decoder unit 100 is thereby obtained the instruction from the prefetch unit 102 and uses them to generate the entry microcode for the instruction, register addresses, immediate values, displacement values ​​and segment information. 상기 복호기 유니트(100)는 또한 예외의 일부에 대한 정보를 생성시키며 비-실행 명령어, 다시 말하면 상기 CPU(12)상에서 실행되지 않는 x86 명령어의 경우를 처리하는 데에도 또한 사용된다. The decoder unit 100 also generates information for some of sikimyeo exception non-executed instructions are put, again also used to handle the case of the x86 instructions that are not executed on the CPU (12) also used.
상기 마이크로시퀀서(106)는 상기 명령어 마이크로코드의 단계별 진행(ste-pping through)를 제어한다. The micro-sequencer 106 controls the step-by-step progress (ste pping-through) of the instruction microcode. 상기 마이크로시퀀스(106)는 다음 마이크로코드 어드레스를 생성하고 마이크로코드 ROM을 조사한다. The micro-sequence 106 generates the next microcode address checking the microcode ROM. 상기 마이크로-ROM 어드레스는 서로 다른 장소에서, 다시 말하면 새로운 명령어가 개시되면 상기 복호기 유니트(100)로부터; When the micro -ROM address each other in a different place, that is the start of a new instruction from the decoder unit 100; 현재 명령어가 완료되지 않으면 상기 명령어 마이크로코드로부터; If the current instruction is not completed from the microcode instructions; 또는 예외들의 경우에는 예외 논리(130)로부터 생길 수 있다. In the case of an exception, or it may result from exception logic 130.
상기 레지스터 파일 유니트(110)는 오퍼랜드를 판독하고, 바이패스를 분해하며, 콘스탄트, 즉 상수(constant)를 생성하고, 그리고 오퍼랜드를 정렬한다. The register file unit 110 reads the operands, and decomposition, and the by-pass, constant, that is, generates a constant (constant), and alignment and the operand. 구조적인 레지스터와 선택기(즉, 세그먼트 조사 레지스터)는 이러한 블럭에서 구현된다. Architectural register and a selector (i. E., Irradiation segment registers) are implemented in this block. 상기 구조적인 레지스터 파일은 이중 판독 및 기록 포트를 가진다. The structure of the register file has dual read and write ports. 레지스터들이 단일 바이트, 한 워드(2바이트) 또는 2워드(4바이트) 중 어느 하나로서 액세스될 수 있기 때문에, 이러한 레지스터 파일(110)에서의 이중 판독 및 기록 포트는 복잡하다. Registers are a single byte, because of the number to be accessed as either a word (two bytes) or a two-word (4 bytes), this double read and write in the register file 110 port is complicated. 상기 이중 기록 포트들은 로드 명령어들 및 명령어들의 동시적인 완료를최적화시킨다. The dual write ports are to optimize the simultaneous completion of the load instruction and an instruction.
상기 실행 유니트(108)는 두가지 주요 기능을 가진다. The execution unit 108 has two main functions. 그 중 첫번째 기능은 산술 및 논리 동작 모두를 이행하는 것이다. The first function of which is to carry out all the arithmetic and logical operation. 이러한 기능을 위해, 상기 실행 유니트(108)는 산술 및 논리 유니트(114;도4))와 배럴 시프터를 가진다. For this function, the execution unit 108 is an arithmetic and logic unit; and has a barrel shifter (114 FIG. 4)). 두번째 기능은 어드레스 연산(리니어 어드레스 생성) 및 한계 검사이다. The second function is address computation (linear address generation) and limit checking. 이러한 실행 유니트(108)는 어드레스 옵셋과 리니어 어드레스를 연산하고 단일 싸이클내에서 한계 검사를 이행한다. The execution unit 108 computes the address offset and linear address and implement the limit checking in a single cycle.
상기 버스 유니트(116)는 CPU(12)와 CPU 로컬 버스(50) 사이에 대한 인터페이스이다. The bus unit 116 is an interface between the CPU (12) and the CPU local bus 50. 상기 버스 유니트(116)는 32-비트 어드레스를 구현하고 패키지 핀출력 제한에 기인하여, 16-비트 데이타 버스를 구현한다. The bus unit 116 is implemented by a 32-bit address, and due to package pinout limitations, to implement a 16-bit data bus. (이는 타겟형 운영 체계들 및 어플리케이션들이 16-비트이기 때문에 심각한 병목 현상을 일으키지 않는다.) 이러한 버스 유니트(116)의 중요한 특징은 이전의 메모리 액세스가 완료하기 전에 한 메모리 액세스가 개시되는 파이프라인 메모리 액세스를 지원할 수 있는 능력이다. (This does not cause a serious bottleneck since the targeted operating systems and applications are 16-bit form.) An important feature of this bus unit 116 is the pipe disclosed is a memory access prior to the previous memory access is completed, the line memory its ability to support access. 이러한 모드에서는, 외부 DRAM이 전형적으로는 길이가 4K바이트인 페이지들로 나뉘어진다. In this mode, the external DRAM is typically the length is divided into a 4K-byte page. 그러한 액세스가 DRAM의 한 페이지 범위내에 있는 동안에는, 메모리에 대한 단일 싸이클 판독 및 기록이 유지될 수 있다. During such an access is within one page in the DRAM range, there is a single cycle reads and writes to memory can be maintained. 만약 페이지 누락이 있으면, 그러한 액세스를 완료시키는 데에는 세개의 싸이클이 취해진다. If you have missing pages, it is taken There are three complete cycles of such access. 정적 랜덤 액세스 메모리(SRAM)와 ROM에 대한 액세스에는 또한 대기 상태와 비-파이프라인형의 메모리 액세스가 지원된다. Static random access memory (SRAM) with access to the ROM is also the standby state and the non-memory access of the pipelined is supported.
상기 범용 제어 유니트(132)는 전체 구조의 수퍼바이저(supervisor)이다. It said universal control unit 132 is a supervisor (supervisor) of the entire structure. 이러한 범용 제어 유니트(132)는 명령어 파이프라인의 단계별 진행을 제어한다. These general-purpose control unit 132 controls the step-by-step progress of the instruction pipeline. 인터록, 예외 처리의 제어, 및 프로세서의 동작 차단은 또한 이러한 범용 제어 유니트(132)에 의해 처리된다. Interlock, control of the exception handling, and the operation block of the processor is also processed by such a general-purpose control unit 132. 상기 예외 논리(130)는 모든 예외 및 외부 인터럽트를 우선화하여 분해한다. The exception logic 130 parts by screen all the exceptions and external interrupt priority. 이것은 소프트웨어 인터럽트, 산술 예외, 보호 모드 예외 및 기타 장해 및 트랩을 포함한다. This includes a software interrupt, arithmetic exceptions, protected mode exceptions and other obstacles and traps. 상기 보호 논리 유니트(112)는 Intel 486 구현예에서 정의된 보호 메카니즘의 기능을 이행한다. The protection logic unit (112), the process proceeds to the function of the protection mechanism defined in the Intel 486 implementation. 이러한 보호 논리 유니트(112)에 의해 생성된 모든 예외에 대하여 보호 및 지원이 4가지 레벨로 구현될 수 있다. Protection and support for all the exceptions generated by this protection logic unit 112 may be realized in 4 levels. 이러한 보호 논리 유니트(112)는 i486의 세그먼트형 메모리 구조의 구현에 필요하다. The protection logic unit 112 is required for the implementation of the segmented memory architecture of the i486.
상기 디버그 논리(118)는 모든 디버그 레지스터를 포함하며 명령어 및 데이타의 브레이크포인트(breakpoint)들을 구현한다. The debug logic 118 includes all the debug registers and implements the breakpoint (breakpoint) of the command and data. 상기 버스 유니트(116)와 함께, 상기 디버그 논리(118)는 또한 외부에서의 내부 회로 에뮬레이션(in-circuit emulation;ICE) 지원을 위한 요건들도 구현한다. With the bus unit 116, the debug logic 118 is also in the interior of the external circuit emulation (in-circuit emulation; ICE) also implements the requirements for the support.
클록: 이러한 설명 전체에서 인용되는 클록은 시스템 클록 출력 신호(SYSCLK)와 논리적인 면에서 동일하며, 이러한 시스템 클록 출력 신호는 다시 온-칩 "CPU 클록" 신호와 기능적인 면에서 동일한 것으로 가정된다. Clock: a clock, which is incorporated throughout this description is the system clock output signal (SYSCLK) and the same in the logical plane, such a system clock output signal is on again - it is assumed chip "CPU Clock" to be equal in terms of signal and the function. 온-칩 구현예는 전파 지연의 이유로 인해 서로 다른 신호를 사용할 수 있다. On-chip implementation may use a different signal propagation delays due to the reason.
ICE 모드-정상 모드: 이것은 ICE 시스템의 일부인 디바이스와 어플리케이션시스템의 일부인 디바이스와의 구별이다. ICE modes - normal mode: This is a distinct part of the device is part of the device and the application system of the ICE system. ICE 모드에서의 디바이스는 많은 입력/출력 신호 핀들을 제공한다. Device in ICE Mode provides more input / output signal pins.
ICE 예외 모드-정상 예외 모드: 만약 디바이스가 ICE 모드에 있다면, 디버그 레지스터 세트는 IM비트를 세팅함으로써, ICE 예외 모드에 놓여질 수 있다. ICE Exception Mode - Normal Exception Mode: If a device if the ICE Mode, the Debug Register set may be placed in, by setting an IM bit, ICE Exception Mode. 이것은 ICE 시스템 모니터에 대한 트랩을 위한 디버그 레지스터 및 ICEBP 명령어의 사용을 가능하게 한다. This enables the use of the debug registers, and commands for ICEBP traps for ICE system monitor.
중단 모드-동작 모드: 이것은 ICE 모니터 프로그램의 동작과 어플리케이션에 속하는 코드의 동작과의 구별이다. Suspend mode - operation mode: This is the distinction between the behavior of the code pertaining to the operation and application of the ICE monitor program. 중단 모드는 인터럽트 1(디버그 트랩)에 의해서가 아니라, 단지 ICE 예외만에 의해 진입된다. Break mode is not by Interrupt 1 (the Debug Trap), only entry by the ICE Exception only.
ICE 맵-사용자 맵: 이들 맵은 동일하다. ICE map - Users Map: These maps are the same. ICE 모니터는 사용자의 코드와 같은 어드레싱 공간에서 동작하지만, 단지 ICE 사용을 위해서만 예약되어 있는 영역(80000000--83FFFFFF)에서 동작한다. ICE monitors operating in addressing space, such as a user's code, however, operates in the area (80000000--83FFFFFF) just is reserved exclusively for ICE use.
오버레이(overlay)-타겟 메모리: 사용자 코드에 의해 가시화되는 메모리는 물리적으로 타겟 회로 메모리에 존재할 수도 있고 ICE 시스템내에 에뮬레이션될 수도 있다(오버레이). Overlay (overlay) - Target Memory: Memory visible by user code which is also present in the memory as a target physical circuit or may be emulated within the ICE system (Overlay). DRAM 콘트롤러가 항상 활성 상태이라는 사실로 인해, 오버레이 메모리는, DRAM의 어드레스 공간내로 매핑되는 경우 페이지 모드 DRAM을 에뮬레이션해야 할 것이다. Due to the fact that the DRAM controller is always active, Overlay Memory will have to emulate a Page Mode DRAM if mapped into the address space of the DRAM.
본 발명에 따른 내부 회로 에뮬레이터 프로세서는 바람직하게는 모놀리식 형태로 패키징되며 ICE가 에뮬레이션해야 할 위에서 설명한 프로세서에서 제공되지 않은 ICE-전용 신호 핀을 제공한다. Internal circuit emulator processor in accordance with the present invention preferably provides the monolithic is packaged in the form ICE- dedicated signal pins that are not provided by the processor as described above to the ICE emulation. 그러나, 상기 에뮬레이터 프로세서의 칩 다이는 타겟 프로세서와 동일한 것이 바람직하다. However, the chip die of the emulator processor is preferably identical to the target processor.
표1에는 내부 회로 에뮬레이터 프로세서의 "에뮬레이터 모드" 동안 제공되는 신호들이 기재되어 있다. Table 1, there are described signals provided during "emulator mode" of the emulator within the processor circuit. 표1에 기재된 바와 같이, 에뮬레이터 모드는 시스템 리셋시 ICE 모드 입력 신호 핀에 걸리는 신호를 활성화시킴으로써 선택된다. As shown in Table 1, emulator mode is selected by activating the signal applied to the ICE mode, the input signal pin at system reset. 시스템 리셋시 ICE 모드 입력 신호 핀에 걸린 신호가 활성화되지 않는 경우, 전용 ICE 출력 신호 핀에 제공되는 신호들은 불확정적이며, 그리고 칩상의 모든 ICE 특징들은 디세이블된다. If the signal held by system reset, ICE mode, the input signal pins that are not active, the signal provided to the dedicated ICE output signal pins are indeterminate, and red, and all ICE features on-chip are disabling. 선택된 모드는 그러한 디바이스가 리셋되는 다음 시간까지 유효하게 유지된다. The selected mode remains in effect until the next time such a device is reset.
상기 디버그 레지스터의 IM 비트가 세팅되면 브레이크포인트가 사용자 공급 코드에 의해 제공되는 인터럽트보다는 오히려 ICE 예외(즉, 모니터 코드)를 트리거시킨다. When the IM bit of the debug registers set the breakpoint triggers a rather ICE Exception (i.e., monitor code) rather than an interrupt provided by the user-supplied code. 또한, IM=1인 동안, ICEBP 명령어(소프트웨어 트랩(TRAP) 명령어)는 사용자 공급 코드에 의해 제공되는 인터럽트 대신에 ICE 예외를 트리거시킨다. Further, while the IM = 1, ICEBP instructions (software trap (TRAP) instruction) triggers the ICE Exception is the interrupt, instead of being provided by the user-supplied code.
ICE 모드 또는 정상 모드 중 어느 것이 총체적인 디바이스용으로 선택되는지에 관계없이 IM 비트는 칩 리셋에 의해 0으로 리셋된다. ICE Mode or IM bit, regardless of whether the normal mode which is selected for the overall device of which is reset to zero by a chip reset. 이것은 소프트웨어 동작에 의하여 "1"로 셋팅되어야 한다. This has to be set to "1" by software action.
외부적으로 생성된 브레이크포인트(BPREQ핀에서 전송됨)가 ICE 예외에 대한 원인들 중 하나일 때마다 ICE 모드내의 BI 비트가 하드웨어에 의해 셋팅된다. Externally generated breakpoint (sent in BPREQ pin) is each time one of the causes for the ICE Exception BI bits in the ICE mode is set by the hardware. 상기 BI 비트는 소프트웨어 동작에 의해 클리어된다. The BI bit is cleared by software action.
도6은 ALS 신호의 타이밍을 예시한 것이다. Figure 6 is an illustration of the timing of the ALS signal. 도6에 도시된 바와 같이, ALS는 그의 상승 구간상에서 어드레스를 래치하기에 적합한 고 레벨 진행 펄스이다. As shown in Figure 6, ALS is a suitable high-level pulse proceeds to latch the address on its rising edge. 하강 구간은 대개 사용되어서는 안되는 데, 그 이유는 어드레스가 상기 하강 구간과 동시에 변할 수 있기 때문이다. Falling edge is used is usually should not be used, because the address can be changed at the same time as the falling edge. ALS는 오프-칩 버스상의 모든 유효 어드레스와 동기식으로 제공된다. ALS is off-is provided with all the effective address on the chip and the synchronous bus.
NSF, IXSTAT 및 IXQUAL 신호의 주 목적은 오프-칩 하드웨어가 실행시 현재의 EIP(명령어 포인터)값에 의해 참조된 리니어 어드레스를 따라 동작하게 하는 것이다. NSF, the main object of the IXSTAT and IXQUAL signal is the off-chip to operate in accordance with the hardware is referred to by the current value of the EIP (instruction pointer) when running a linear address. 이것은 비-순차적인 페치 표시(NSF)가 제공될 때마다 어드레스 버스로부터 오프-칩 리니어 EIP(LEIP) 레지스터를 로딩시킴으로써, 그리고 IXSTAT가 고 레벨인 어느 한 클록 싸이클에서 IXQUAL 값의 내용을 LEIP 레지스터에 추가함으로써 적극적인 추적 모드로 이행된다. This is a non-sequential fetch display (NSF) off from the address bus whenever a to be provided - the contents of IXQUAL value in the chip Linear EIP (LEIP) by loading the registers, and the IXSTAT is high level, any one clock cycle to the LEIP register by adding moves to the active tracking mode. 그러나, 분기 명령어와 예외 서비스 마이크로코드 시퀀스에서는, 다르게 처리되어야 하는 IXSTAT 표시가 있다. However, in the branch instruction and an exception service microcode sequences, there is IXSTAT indication which must be handled differently.
도7에 제공된 타이밍 다이어그램은 명령어가 분기될 때 NSF 표시와 IXSTAT 및 IXQUAL 스테이터스 신호 사이의 관계를 예시한 것이다. A timing diagram provided in 7 is a time the branch instruction is illustrated the relationship between the NSF indication and the IXSTAT and IXQUAL status signal. NSF 표시는, 이러한 NSF 표시가 존재하고 있다(IXSTAT=1)는 것을 분기 명령어가 나타내는 시점에나 그 시점 전에 생긴다는 점에 유념하기 바란다. NSF indication, INC Please keep in mind the point that occurs before the time point when the branch instruction indicating that these NSF indication is present (IXSTAT = 1) is. NSF 표시가 나타날 때, 연관된 IXSTAT=1 표시가 LEIP를 증분시키도록 허용되어서는 안된다. When an NSF indication is displayed and should not be allowed to the associated IXSTAT = 1 indication to increment the LEIP. 그러한 시점에서 LEIP이 증분되면 분기 명령어의 길이를 타겟 어드레스에 추가함으로써 불량한 값이 생성될 것이다. When the LEIP is incremented in such a point would be a poor value generated by adding the length of the branch instruction to the target address. 예외 서비스의 경우에, IXSTAT=1일 때 제공되는 길이의 값은 정의되어 있지 않다. In the case of exception service, the length value provided when IXSTAT = 1 day is not defined.
IXSTAT 신호가 이러한 상황에서 LEIP 값을 증분시키는 데 사용되어서는 안된다라는 사실에도 불구하고, 그것은 여전히 유용한 정보를 제공한다. Despite the fact that the IXSTAT signals should not be used to increment the value LEIP In these circumstances, it should still provide useful information. 어떤 분기 명령어들이 NSF를 전송한 후에 그 분기 명령어는 장해가 발생될 가능성이 있다. After some branch instructions are sent by the NSF that a branch instruction is likely to be a failure. 이 경우에, IXQUAL=1 상태의 존재 또는 부재는 예외가 취해지기 전에 명령어가 완료되었는 지의 여부에 관한 신뢰성있는 표시이다. In this case, the presence or absence of IXQUAL = 1 state is a reliable indication as to whether that instruction is doeeotneun completed before the exception is taken.
핀은 어드레스되는 장소에 관계없이 모든 어드레스를 따라 동작한다. Pin operates according to all addresses, regardless of the location being addressed. 이것은 ICE 모드와 정상 모드 사이에 어떠한 변화도 없음을 나타낸다. This indicates that there is no any change between ICE Mode and Normal Mode.
스트로브 신호는 외부 뿐만 아니라 내부의 모든 I/O 액세스에 대해 활성화된다. Strobe signal as well as the outside is activated for all I / O access to the interior.
입력 신호(ICE 모드,BPREQ)는 SYSCLK의 래칭 구간에 대해 제로(0) 유지 시간이 제공되도록 허용된다. Input signal (ICE mode, BPREQ) is allowed to be provided to maintain a zero time for the latching region of SYSCLK.
또한, ICE 시스템의 부착을 허용할 어느 시스템에서라도 TEST 핀을 VCC에 직접 접속시키는 것은 허용되지 않는다. In addition, at any system to allow attachment of an ICE system is not permitted to directly connect the TEST pin to VCC.
'486 구조에 대하여 정의된 바와 같이, 디버그 레지스터의 문서화된 특징들은 에뮬레이터 프로세서에서 완전하게 구현된다. "As defined with respect to structure 486, the documented features of the Debug registers are fully implemented in the emulator processor.
ICE 예외의 발생시에 하드웨어 동작에 의해 임의의 프리-러닝(free-running) 타이머를 정지시키도록 의도하는 것은 아니다. By hardware action on occurrence of the ICE Exception any pre-are not intended to stop the running (free-running) the timer. 워치도그(watchdog)는 NMI상의 록아웃( lockout)에 의해 지원받는다. Watchdog (watchdog) are qualified by the lockout (lockout) on NMI.
ICE 매핑된 공간은 정상적인 사용자 매핑된 공간으로부터 분리되도록 의도된 것이 아니다. ICE Mapped space is not intended to be separated from the normal User Mapped space. ICE 매핑된 메모리는 32-비트 어드레스(어드레스 80000000-83FFFFFF hex)의 최상위 6비트로 이루어진 100000(2진)로 구성된 모든 어드레스를 점유한다. ICE Mapped memory occupies all addresses consisting of the top six bits consisting of 100000 (binary) of the 32-bit address (address 80000000-83FFFFFF hex). 사용자-프로그램가능 칩 선택은 결코 이러한 어드레스 범위에 응답하도록 프로그래밍되어서는 안되지만, 이것이 발생하는 것을 방지하기 위한 어떠한 하드웨어 온-칩도 존재하지 않는다. User-programmable chip select is andoejiman never be programmed to respond to this address range, on any hardware for preventing this occurs - no a chip. 결코 여기에서는 메모리를 할당하지 않도록 하는 것이 개발 소프트웨어의 이행 능력이다. The means here is that the implementation capacity of developing software to avoid allocating memory. ICE 예외를 트리거하는 것과는 달리 이러한 공간을 액세스하려고 하는 사용자의 시도를 검출하는 것이 ICE 시스템의 이행 능력이다. Contrary to trigger the ICE Exception to detect a user's attempt to access these spaces, it is the implementation capacity of the ICE system.
ICE 매핑된 공간은 또한 ICE 모드가 이네이블될 때 16 비트 폭이라고 가정된다. ICE Mapped space is also assumed that the ICE mode, the 16-bit width when enabled. CS16 신호는 이러한 공간내에서의 액세스를 위해 무시될 것이다. CS16 signal will be ignored for accesses within this space. ICE 맵내의 위치들에 대한 액세스 동안, ISA와 같은 메모리 타이밍이 사용된다. For access to locations in the ICE Map, the memory timing, such as ISA, is used. 디바이스가 ICE 모드에 있는 경우, 소프트웨어는 ICE 모드 타이밍 제어 레지스터라고 불리우는 IO 어드레스 EF5Fh에 있는 레지스터를 액세스할 수 있다. If the device is in ICE Mode, software is able to access the register in the IO address EF5Fh called the ICE Mode Timing Control Register. 디바이스가 ICE 모드에 있지 않는 경우, 이러한 레지스터는 어떠한 효과도 발휘하지 않으며 판독도 기록도 되지 않을 수 있다. If the device is not in ICE Mode, this register is read out, it is also not exert any effect may not be recorded.
I_CD: 비트 3. ICE 명령 지연, 이러한 비트는 명령 지연이 ICE 메모리 어드레스 범위(80000000h--83FFFFFFh)에 대한 액세스들에 연관되어 있는 지를 결정한다. I_CD: Bit 3. ICE Command Delay, this bit can command the delay ICE Memory address range determines whether associated to the access to the (80000000h 83FFFFFFh). 리셋 상태는 "1"이다. Reset state is "1".
I_WS2-0: 비트 2-0. I_WS2-0: bits 2-0. ICE 대기 상태 비트 2-0, 이들 비트는 ICE 메모리 어드레스 범위(80000000h-83FFFFFFh)에 대한 액세스들에 연관된 대기 상태의 개수를 결정한다. ICE standby bits 2-0, these bits determine the number of wait states associated with the access to the ICE Memory address range (80000000h-83FFFFFFh). 리셋 상태는 "111"(7개의 대기 상태)이다. Reset state is "111" is (7 wait states).
예약됨: 비트 4-7, 예약됨(reserved): 이들 비트에 대해 어떠한 변화도 없음. Reserved: Bits 4-7, Reserved (reserved): No no change for these bits.
만약 DRAM이 ICE 맵 공간에서 RAM용으로 사용된다면, 오프-칩 DRAM 콘트롤러가 필요하다. If DRAM is used for RAM in the ICE Map space, the off-chip DRAM controller is required.
프로그램 실행의 흐름을 포획하기 위하여는 2가지 모드, 즉 적극적 모드와 소극적 모드가 정의된다. In order to capture the flow of the program is executed, the two modes, that is, active mode and the passive mode are defined.
적극적 모드에서는, 분기가 취해질 때마다, (SA25--SA1 및 ODD 상의) 타겟 어드레스는 NSF 신호와 ALS 스트로브 펄스와 함께 버스에 전송된다. In the active mode, each time a branch is taken, - the target address (on SA25 SA1 and ODD) is sent to the bus with the NSF signal and the ALS strobe pulse. 그 이외에도, 명령어가 실행을 종료할 때마다, IXSTAT 및 IXQUAL 신호들은 얼마나 많은 바이트들로 실행 어드레스를 진행시킬 지를 나타낸다. In addition to that, each time the instruction has finished executing, IXSTAT and IXQUAL signal indicate how much to advance the execution address of a number of bytes. 이들 신호를 조사함으로써, ICE 시스템은 거의 실시간으로 코드 추적을 할 수 있다. By examining these signals, ICE system can do code tracing in almost real time. 이러한 모드는 "적극적인 추적"이라 불리는 데, 그 이유는 이것이 실시간 성능 면에서 적은 비용으로 최고로 가능한 추적 보고의 신뢰성을 보장하기 때문이다: 명령어가 캐시 어드레스에 분기될 때, 그것은 타겟 어드레스가 보고될 수 있도록 오프-칩 버스가 이용가능해질 때까지 대기하여야 한다. This mode is "active track" to called, because it ensures the reliability of the tracking reports this is possible the best in low cost real-time performance: instruction when a branch in the cache address, it can be reported that the target address so off-chip must wait until the bus becomes available. ICE 환경 이외에는, 그것이 대기하지 않을 것이다. Except ICE environment, it will not wait.
실제 실시간으로 동작하기 위하여는, 소극적 추적 모드가 선택될 수 있다: 이러한 모드에서, NSF 표시는 버스가 명령어 캐시 히트(hit)상에서 이용가능해질 때까지 대기하지 않고, 그래서 분기들이 SA핀들상에 타겟 어드레스를 제공하도록 보장받지 못한다. In order to operate the actual real time, there is a passive tracking modes may be selected: in this mode, NSF indication does not wait until the available bus is used on the instruction cache hit (hit), so that a branch to a target on the SA pins It does not guarantee to provide an address.
ICE 매핑된 메모리에서 ICE 모니터 코드를 실행하기 위하여, ICE 예외를 얻는 것이 필요하다. In ICE mapped memory to run the ICE monitor code, it is necessary to obtain the ICE exception. ICE 예외는 최고의 우선순위 예외이다. ICE exception is an exception highest priority. 그것은 디바이스가 ICE 모드에 있고 BPREQ 핀이 활성화되는 경우에 트리거된다. It is triggered when the device is in ICE mode is activated BPREQ pins. (그렇지 않은 경우, BPREQ 핀의 활성화는 어떠한 효과도 발휘하지 못한다). (Otherwise, activation of BPREQ pin does not exert any effect). 그 이외에도, 만약 디버그 레지스터가 ICE 예외 모드(DR7 비트 IM=1)에 있다면, ICEBP 명령어(opcode F1 hex), 또는 디버그 레지스터에 의해 트리거되는 임의의 브레이크포인트, 또는 (EFLAGS 레지스터내의 TF 비트로부터의) 단일 단계 트랩의 실행은 ICE 예외를 야기시킨다. The addition, if the Debug Registers are ICE Exception Mode, if the (DR7 bit IM = 1), ICEBP Instruction (opcode F1 hex), or (from the TF bit in the EFLAGS register) any breakpoint, or fired by the debug registers single-step execution of the trap is to cause the ICE exception.
만약 디버그 레지스터가 ICE 예외 모드용으로 구성되어 있지 않다면, ICEBP 명령어와 디버그 레지스터는 디버그 트랩, 즉 인터럽트 1을 트리거시킨다. If the debug register if it is not configured for ICE Exception Mode, ICEBP instruction and Debug Registers trigger the Debug Trap is thereby, that the interrupt 1. DR6 레지스터의 비트12의 스테이터스는 BPREQ 신호가 ICE 예외의 원인인 지를 나타낸다. Bit of the status 12 of the DR6 register indicates whether the cause of the ICE Exception BPREQ signal.
IM 비트는 (모든 경우에 인터럽트 1을 트리거하는) 2바이트 INT 1 명령어에 영향을 주지도 않고 (소프트웨어 "트랩" 명령어인) "INT 3"을 포함하여, 다른 INT 명령어들 중 어떠한 것에도 영향을 주지 않는다. IM bits are - paying affect the two-byte INT 1 instruction (all cases to trigger an interrupt 1 in), including (software "trap" instruction in) "INT 3", affecting any that of the other INT instructions no. 그것은 또한, 모든 경우에 ICE 예외를 생성시키는 BPREQ 핀의 기능에도 영향을 주지 않는다. It also does not affect the functionality of BPREQ pin to generate the ICE exception in all cases.
에뮬레이터가 ICE 예외를 제공하기 시작하는 시점으로부터 ICE 모니터 프로그램이 프로그램 제어를 사용자 코드(하기의 RSM)로 복귀시키는 시간까지는, 또 다른 ICE 예외나 또는 어떠한 마스킹가능하지 않은 인터럽트(Non-Maskable Interrupt;NMI)도 인식되지 않는다. Until the time of the emulator return to the ICE monitor program, program control from the time of starting to provide the ICE Exception to the user code (RSM below), another ICE Exception or or any masking not interrupt (Non-Maskable Interrupt are possible; NMI ) it does not recognize. 임의의 NMI 요구가 내부적으로는 계속 상태로 유지되고 동작 모드로 탈출할 때 제공된다. In any NMI request is internally is provided to keep the state and escape to the operation mode. 어떤 추가적인 BPREQ 요구들은 (ICE 모니터로부터의) BPREQ 응답이 나타날 때까지 오프-칩 회로에 의해 계속 상태로 유지되는 데; Some additional requirements of the BPREQ off until the BPREQ response (from the ICE monitor) to be maintained at a still state by the circuit chip; 이것은 또한 사용자 코드로 탈출할 때에야 비로소 발생한다. It also ttaeeya finally occurred to escape into your code.
바람직하게는, ICE 모니터 프로그램은 진입시 워치도그 특징을 디세이블시키고, 동작 모드로 복귀하기 전에 워치도그를 다시 이네이블시켜 워치도그를 제공한다. Preferably, ICE monitor program disabling the watchdog feature and entering, to again enable the watch dog prior to return to the operation mode provides a watch dog. 이를 이행함으로써, 워치도그 이벤트들은 비-ICE 환경에서와 마찬가지로 발생할 확률이 많지 않다. By implementing this, the watchdog events are not much probability as in the non--ICE environment.
ICE 예외의 발생시, 총체적인 기계 상태는 어드레스 80000000 hex에서 개시하는 ICE 출력 테이블내로 저장된다. Occurrence of the ICE Exception, the overall machine state is stored into the ICE output table starting at address 80000000 hex. 정보는 먼저, 어드레스 80000100에서 개시하여, 출력된 다음에 80000000으로 복귀된다. Information, first, starting at the address 80.0001 million, is returned to 80000000 in the next output. 값들은 32-비트 2중-워드의 단위로 저장되고, 만약 이들이 완전한 2중-워드를 점유하고 있지 않다면 0이 충전된 상태로 우단 정렬된다. The values ​​of the 32-bit 2-stored in a unit of word, and if they complete two of - if not account for the word is aligned right side to the zero state of charge. 섀도(shadow) 레지스터들의 내용들은 두개의 2중 워드로, 바람직하게는, 메모리 세그먼트 디스크립터(descriptor)의 포맷과 유사한 포맷으로 저장된다. The contents of the shadow (shadow) registers will be, preferably with two of the second word, is stored in a format similar to the format of a memory segment descriptor (descriptor).
기계 상태를 출력한 후에는, EIP 레지스터가 값(83FFFFF0)으로 로드되는 것을 제외하고는, 프로세서 코어가 리셋과 유사한 상태에 이르게 된다. After outputting the state machine is, except that the EIP register is loaded with the value (83FFFFF0), the state is reached in the processor core is similar to the reset. 이러한 상태에서, 모든 내부 섀도 레지스터는 0의 베이스 값과 최대 세그먼트 길이(4Gbyte)로 셋팅된다. In this state, all internal shadow registers is set to a base value of zero and the maximum segment length (4Gbyte). 프로세서는 또한 부호화를 위해 USE32 모드로 배치된다. The processor is also arranged to USE32 mode for coding.
만약 BPREQ 입력이 리셋으로부터 탈출하는 동안에 활성화된다면, 정상적인 리셋 처리 직후에 앞서 설명한 서비스가 생긴다. If BPREQ input is enabled if during exit from Reset, the service described above occurs immediately after normal Reset processing. ICE 예외가 진입되었다는 것을 IXSTAT/ IXQUAL 신호들이 응답할 때까지 BPREQ 신호가 제거되지 않는 것이 바람직하다. Preferably ICE, unless an exception is BPREQ signal is removed until they respond IXSTAT / IXQUAL signals that the entry.
중단 모드에서, 사용자-매핑된 메모리 데이타 또는 코드에 대한 참조는 일반적인 명령어들을 사용할 수 있는 데, 그 이유는 메모리 공간이 분리되어 있지 않기 때문이다. In suspend mode, the user - a reference to the memory data or code mapping is used, because you can use the general instructions is because the memory space is not separated. ICE 맵내의 코드는 캐시될 수 없고; ICE code within the map can not be cached; 따라서, 중단 모드에서의 코드의 실행은 사용자의 코드로 복귀하는 인터럽트가 ICE 시스템의 모니터로부터 허용되지 않는 한 명령어 캐시를 수정하지 못한다. Thus, the execution of code in break mode does not modify the interrupt instruction cache back to your code are not permitted from the monitor of the ICE system. 기록이 중단 모드에서 이행되는 임의의 캐시 라인을 무효화시키기 위해, 버스상에의 스누핑(snooping) 동작이 계속된다. The reading is to invalidate any cache line that is implemented in the stop mode, the snooping (snooping) in a bus operation is continued. 중단 모드로의 진입시에는 캐시를 무효화시킬 필요가 없다. Entering into suspended mode, it is not necessary to invalidate the cache.
동작 모드로 복귀하기 위해, 모니터는 프로세서로 하여금 명령어 RSM(opcode OF, AA hex)을 실행하게 하는 데, 이로 인해 CPU의 구조적인 레지스터와 섀도 레지스터가 ICE 출력 테이블로부터 로딩된다. To return to the operation mode, the monitor causes the processor to execute an instruction RSM (opcode OF, AA hex), which causes the structure of registers and shadow registers of the CPU are loaded from the ICE output table. 그후, 복원된 EIP 및 CS 이미지에 의해 표시되는 지점으로부터 실행이 계속된다. Then, the execution continues from the point indicated by the restored EIP and CS images. 일시 레지스터들은 전혀 복원되지 않는다. Temporary registers are not restored at all.
만약 RSM 명령어가 동작 모드에서 실행된다면, 그것은 "무효 명령어" 트랩을 야기시킨다. If the RSM instruction is executed in the operating mode, it causes the "Invalid command" trap.
본원 명세서에 첨부된 부록들은 본 발명이 구현되었던 집적 회로에 대한 정보를 포함하고 있으며 본원 명세서에 참고로 합체된 것이다. Attached to the present specification are the Appendix contains information about the integrated circuit to which the present invention has been implemented to the incorporated by reference in its entirety herein. 부록 A는 앞서 논의된 설명에 따른 집적 회로를 위한 CPU 설계에 대한 C-언어 코드 리스트로 이루어진, Copy-right 1995, National Semiconductor Corporation의 저작권으로 보호받아야 할 자료를 포함하는 마이크로피치(microfiche;총 302 프레임을 포함하고 있는 5장의 시트)이다. Appendix A is composed of C- language code list for the CPU Design, Copy-right 1995, National Semiconductor Micro-pitch (microfiche containing copyrighted material to be protected by the Corporation for an integrated circuit in accordance with the previously discussed describe; a total of 302 a five sheets containing a frame). 부록 B는 그러한 집적 회로에 대한 예비 사양서 및 데이타 시트이다. Appendix B is a preliminary specification and data sheets for such an integrated circuit. 부록 C는 그러한 집적회로의 코어용 내부 신호 버스에 대한 예비 사양서이다. Appendix C is a preliminary specification for the internal signal bus for the core of such an integrated circuit. 부록 D는 그러한 집적 회로의 내부 주변장치용 내부 신호 버스에 대한 예비 사양서이다. Appendix D is a preliminary specification for the internal signal bus for internal peripheral devices of such an integrated circuit.
본원 명세서에서 설명한 본 발명의 실시예는 이하 본원과 함께 계류중에 있으며 각각의 개시 내용이 본원 명세서에 참고가 되는 일반 양도된 특허출원들, 즉 발명의 명칭이 "그레이 스케일 변조 데이타용의 외부 메모리를 액세스할 수 있는 디스플레이 콘트롤러(DISPLAY CONTROLLER CAPABLE OF ACCESSING AN EXTERNALMEMORY FOR GRAY SCALE MODULATION DATA)"인 미합중국 특허출원 제08/451,319호(대리인 서류번호 제NSC1-62700호); Embodiments of the invention described in the specification of the present application is pending with the herein below, each of the disclosure is an external memory for the general-assigned patent application, that is the title of the invention "gray scale modulation data that is useful to the present specification access can display controller (dISPLAY cONTROLLER CAPABLE oF aCCESSING aN EXTERNALMEMORY GRAY SCALE fOR MODULATION DATA) "of US Patent Application No. 08/451 319 No. (attorney Docket No. No. NSC1-62700) in to; 발명의 명칭이 "2가지의 서로 다른 직렬 데이타 전송 모드로 동작가능한 직렬 인터페이스(SERIAL INTERFACE CAPABLE OF OPERATING IN TWO DIFFERENT SERIAL DATA TRANSFER MODES)"인 미합중국 특허출원 제08/451,965호(대리인 서류번호 제NSC1-62800호); The title of the invention is "the operation in two different serial data transmission mode of the serial interface (SERIAL INTERFACE CAPABLE OF OPERATING IN TWO DIFFERENT SERIAL DATA TRANSFER MODES)" U.S. Patent Application No. 08/451 965 No. (Attorney Docket No. claim NSC1- No. 62 800); 발명의 명칭이 "고성능의 다기능 직접 메모리 액세스(DMA) 콘트롤러(HIGH PERFORMANCE MULTIFUNCTION DIRECT MEMORY ACCESS (DMA) CONTROLLER)"인 미합중국 특허출원 제08/453,076호(대리인 서류번호 제NSC1-62900호); The title of the invention "high-performance multi-function of the direct memory access (DMA) controller (HIGH PERFORMANCE MULTIFUNCTION DIRECT MEMORY ACCESS (DMA) CONTROLLER)" of US Patent Application No. 08/453 076 No. (Attorney Docket No. No. No. NSC1-62900); 발명의 명칭이 "최소 펄스 폭을 갖는 개방 드레인 다중-소오스 클록 발생기(OPEN DRAIN MULTI-SOURCE CLOCK GENERATOR HAVING MINIMUM PULSE WIDTH)"인 미합중국 특허출원 제08/452,001호(대리인 서류번호 제NSC1-63000호); The title of the invention, "having a minimum pulse width of the open-drain multi-source clock generator (OPEN-DRAIN MULTI SOURCE CLOCK GENERATOR HAVING MINIMUM PULSE WIDTH)" of US Patent Application No. 08/452 001 No. (attorney Docket No. No. NSC1-63000) .; 발명의 명칭이 "분산형 버스 액세스 및 제어 조정에 따라 다수 개의 내부 신호 버스들을 공유하는 다수 개의 회로 기능 요소들을 갖는 집적 회로(INTEGRATED CIRCUIT WITH MUL-TIPLE FUNCTIONS SHARING MULTIPLE INTERNAL SIGNAL BUSES ACCORDING TO DISTRI-BUTED BUS ACCESS AND CONTROL ARBITRATION)"인 미합중국 특허출원 제08/451,503호(포기됨:대리인 서류번호 제NSC1-63100호); The title of the invention "distributed bus access and an integrated circuit having a plurality of functional circuit elements that share a plurality of internal signal buses according to the control adjustment (INTEGRATED CIRCUIT WITH MULTIPLE FUNCTIONS SHARING MULTIPLE INTERNAL SIGNAL ACCORDING TO BUSES DISTRI-BUS BUTED ACCESS AND CONTROL ARBITRATION) "of US Patent Application No. 08 / 451,503 search call (Disclaimer: my agent call NSC1-63100 document number); 발명의 명칭이 "x86 명령어 세트 및 x86 세그먼트 어드레싱을 지원하기 위한 연산 유니트 구조(EXECUTION UNIT ARCHI-TECTURE TO SUPPORT x86 INSTRUCTION SET AND x86 SEGMENTED ADDRESSING)"인 미합중국 특허출원 제08/451,924호(현재에는 미합중국 특허 제5,655,139호로 특허부여됨:대리인 서류번호 제NSC1-63300호); The title of the invention "operation unit structure to support the x86 instruction set and x86 segment addressing (EXECUTION UNIT ARCHI-TECTURE TO SUPPORT x86 INSTRUCTION SET AND x86 SEGMENTED ADDRESSING)" of US Patent Application No. 08/451 924 call (as is US Pat. fenugreek Patent No. 5,655,139 granted: agent Docket No. No. No. NSC1-63300); 발명의 명칭이 "배럴 시프터(BARREL SHIF-TER)"인 미합중국 특허출원 제08/451,444호(현재에는미합중국 특허 제5,652,718호로 특허부여됨:대리인 서류번호 제NSC1-63400호); The title of the invention "barrel shifter (BARREL SHIF-TER)" of US Patent Application No. 08 / No. 451 444 (now U.S. Patent No. 5,652,718, the arc patent granted: the call agent NSC1-63400 Docket No.); 발명의 명칭이 "32-비트 데이타 경로를 사용하는 8, 16 또는 32-비트 오퍼랜드를 통한 비트 탐색(BIT SEARCHING THROUGH 8, 16, OR 32-BIT OPERANDS USING A 32-BIT DATA PATH)"인 미합중국 특허출원 제08/451,204호(대리인 서류번호 제NSC1-63500호); The title of the invention "bit search through 8, 16 or 32-bit operand that use the 32-bit data path (BIT SEARCHING THROUGH 8, 16, OR 32-BIT OPERANDS USING A 32-BIT DATA PATH)" of US Pat. Application No. 08 / 451,204 No. (attorney Docket No. No. No. NSC1-63500); 발명의 명칭이 "32-비트 데이타 경로를 사용하는 배정밀도(64-비트) 시프트 연산(DOUBLE PRECISION(64-BIT) SHIFT OPERATIONS USING A 32-BIT DATA PATH)"인 미합중국 특허출원 제08/451,195호(대리인 서류번호 제NSC1-63600호); "Precision using a 32-bit data path (64-bit) shift operations (DOUBLE PRECISION (64-BIT) SHIFT OPERATIONS USING A 32-BIT DATA PATH)" is the name of the invention in U.S. Patent Application No. 08/451 195 No. (attorney Docket No. No. No. NSC1-63600); 발명의 명칭이 "부호 구분을 이행하는 방법(METHOD FOR PERFORMING SIGNED DIVISION)"인 미합중국 특허출원 제08/451,571호(대리인 서류번호 제NSC1-63700호); "To implement the code nine minutes (METHOD FOR PERFORMING SIGNED DIVISION)" is the title of the invention of U.S. Patent Application No. 08/451 571 No. (attorney Docket No. No. NSC1-63700); 발명의 명칭이 "32-비트 배럴 시프터 및 카운터를 사용하여 캐리를 통한 순환을 이행하는 방법(METHOD FOR PERFORMING ROTATE THROUGH CARRY USING A 32-BIT BARREL SHIFTER AND COUNTER)"인 미합중국 특허출원 제08/452,162호(대리인 서류번호 제NSC1-63800호); The title of the invention "using a 32-bit barrel shifter, and the counter way to implement the cycle via a carry (METHOD FOR PERFORMING ROTATE THROUGH CARRY USING A 32-BIT BARREL SHIFTER AND COUNTER)" of US Patent Application No. 08/452 162 No. (attorney Docket No. No. No. NSC1-63800); 발명의 명칭이 "구역 및 시간 유효 필드 추출 회로(AREA AND TIME EFFICIENT FIELD EXTRACTION CIRCUIT)"인 미합중국 특허출원 제08/451,434호(대리인 서류번호 제NSC1-63900호); The title of the invention "section and time effective field extraction circuit (AREA AND TIME EFFICIENT FIELD EXTRACTION CIRCUIT)" of US Patent Application No. 08/451 434 No. (attorney Docket No. No. NSC1-63900); 발명의 명칭이 "비-산술 순환 버퍼 셀 이용률 상태 표시기 회로(NON-ARITHMETICAL CIRCULAR BUFFER CELL AVAILABILITY STATUS INDICATOR CIRCUIT)"인 미합중국 특허출원 제08/451,535호(현재에는 미합중국 특허 제5,617,543호로 특허부여됨:대리인 서류번호 제NSC1-64000호); The title of the invention "non-arithmetic circular buffer cell utilization status indicator circuit (NON-ARITHMETICAL CIRCULAR BUFFER CELL AVAILABILITY STATUS INDICATOR CIRCUIT)" of US Patent Application No. 08/451 535 call (as is U.S. Patent No. 5,617,543 arcs patent granted: Representative documents No. NSC1-64000 call); 발명의 명칭이 "가변 길이 명령어 세트용의 태깅된 프리페치 및 명령어 복호기 및 작동 방법(TAGGED PREFETCH AND INSTRUCTION DECODER FOR VARIABLE LENGTH INSTRUCTION SET ANDMETHOD OF OPERATION)"인 미합중국 특허출원 제08/445,563호(대리인 서류번호 제NSC1-64100호); The title of the invention "variable-length-tagged prefetch and instruction decoder and method of operation for the instruction set (TAGGED PREFETCH AND INSTRUCTION DECODER FOR VARIABLE LENGTH INSTRUCTION SET ANDMETHOD OF OPERATION)" of US Patent Application No. 08/445 563 No. (Attorney Docket No. the NSC1-64100 call); 발명의 명칭이 "저전력 동작용 구분 복호기 회로(PARTITIONED DECODER CIRCUIT FOR LOW POWER OPERATION)"인 미합중국 특허출원 제08/450,153호(현재에는 미합중국 특허 제5,546,353호로 특허부여됨:대리인 서류번호 제NSC1-64200호); The title of the invention "delimited decoder circuit low power dynamic action (PARTITIONED DECODER CIRCUIT FOR LOW POWER OPERATION)" of US Patent Application No. 08 / No. 450 153 (now U.S. Patent No. 5,546,353, the arc granted patent: No. Agent Docket No. NSC1-64200) .; 발명의 명칭이 "프로세서 복호기에 의한 용도로 명령어 포인터를 지정하는 회로(CIRCUIT FOR DESIGNATING INSTRUCTION POINTERS FOR USE BY A PROCESSOR DECODER)"인 미합중국 특허 출원 제08/451,495호(현재에는 미합중국 특허 제5,649,147호로 특허부여됨:대리인 서류번호 제NSC1-64300호); Granted the title of the invention "circuit that specifies the instruction pointer for use by the processor, a decoder (CIRCUIT FOR DESIGNATING INSTRUCTION POINTERS FOR USE BY A PROCESSOR DECODER)" of US Patent Application No. 08/451 495 call (as is U.S. Patent No. 5,649,147 arcs Patent : agent Docket No. No. No. NSC1-64300); 발명의 명칭이 "요구에 기초한 게이트된 클록을 생성시키는 회로(CIRCUIT FOR GENE-RATING A DEMAND-BASED GATED CLOCK)"인 미합중국 특허출원 제08/451,219호(대리인 서류번호 제NSC1-64500호); The title of the invention "circuit for generating a gated clock based on the request (GENE FOR CIRCUIT-BASED RATING A DEMAND-GATED CLOCK)" of US Patent Application No. 08/451 219 No. (Attorney Docket No. No. No. NSC1-64500); 발명의 명칭이 "증분기/감분기(INCREMENTOR/DECREMENT-OR)"인 미합중국 특허출원 제08/451,214호(현재에는 미합중국 특허 제5,598,112호로 특허부여됨:대리인 서류번호 제NSC1-64700호); The title of the invention "incrementer / decoupling branch (INCREMENTOR / DECREMENT-OR)" of US Patent Application No. 08 / No. 451 214 (now U.S. Patent No. 5,598,112, the arc granted patent: No. Agent Docket No. NSC1-64700); 발명의 명칭이 "메모리 요구를 외부 메모리에 파이프라인 처리하는 파이프라인형 마이크로프로세서(A PIPELINED MICROPROCESSOR THAT PIPELINES MEMORY REQUESTS TO AN EXTERNAL MEMORY)"인 미합중국 특허출원 제08/451,150호(현재에는 미합중국 특허 제5,583,453호로 특허부여됨:대리인 서류번호 제NSC1-64800호); The title of the invention is "pipelined microprocessor for processing pipeline for a memory request to the external memory (A PIPELINED MICROPROCESSOR THAT PIPELINES MEMORY REQUESTS TO AN EXTERNAL MEMORY)" U.S. Patent Application No. 08/451 150 call (as is U.S. Patent No. 5,583,453 fenugreek patent granted: agent Docket No. No. No. NSC1-64800); 발명의 명칭이 "코드 브레이크포인트 복호기(CODE BREAKPOINT DECODER)"인 미합중국 특허출원 제08/451,198호(대리인 서류번호 제NSC1-64900호); The title of the invention "code breakpoint decoders (DECODER CODE BREAKPOINT)" of US Patent Application No. 08/451 198 No. (Attorney Docket No. No. No. NSC1-64900); 발명의 명칭이 "바이패스 기능을 갖는 2계층 프리페치 버퍼 구조 및 방법(TWO TIER PREFETCH BUFFER STRUCTURE AND METHOD WITH BYPASS)"인미합중국 특허출원 제08/445,569호(대리인 서류번호 제NSC1-65000호); The title of the invention "two-tier prefetch buffer structure and method having a by-pass function (TWO TIER PREFETCH BUFFER STRUCTURE AND METHOD WITH BYPASS)" of US Patent Application No. 08/445 569 No. (attorney Docket No. No. NSC1-65000); 발명의 명칭이 "마이크로프로세서용의 명령어 한계 검사(INSTRUCTION LIMIT CHECK FOR MICROPROCESS-OR)"인 미합중국 특허출원 제08/445,564호(대리인 서류번호 제NSC1-65100호); "Command limit check for the microprocessor (CHECK INSTRUCTION LIMIT FOR MICROPROCESS-OR)" is the title of the invention of U.S. Patent Application No. 08/445 564 No. (attorney Docket No. No. NSC1-65100); 발명의 명칭이 "동일 클록 사이클 동안 캐시 메모리 및 외부 메모리 콘트롤러에 메모리 요구를 이행하는 파이프라인형 마이크로프로세서(A PIPELINED MICROPROCESSOR THAT MAKES MEMORY REQUESTS TO A CACHE MEMORY AND AN EXTERNAL MEMORY CONTROLLER DURING THE SAME CLOCK CYCLE)"인 미합중국 특허출원 제08/452,306호(포기됨:대리인 서류번호 제NSC1-65200호); The title of the invention "During the same clock cycle, the cache memory and a pipelined microprocessor to implement the memory request to the external memory controller (A PIPELINED MICROPROCESSOR THAT MAKES MEMORY REQUESTS TO A CACHE MEMORY AND AN EXTERNAL MEMORY CONTROLLER DURING THE SAME CLOCK CYCLE)" in U.S. Patent Application No. 08 / 452,306 call (abandoned search: NSC1-65200 the call agent document number); 발명의 명칭이 "486 TM 마이크로프로세서의 호환가능한 팝 명령어를 효율적으로 계산하기 위한 장치 및 방법(APPARATUS AND METHOD FOR EFFICIENT COMPUTATION OF A 486 TM MICROPROCESSOR COMPATIBLE POP INSTRUCTION)"인 미합중국 특허출원 제08/452,080호(대리인 서류번호 제 NSC1-65700호); The title of the invention a "486 TM compatible apparatus for efficiently computing a possible pop instructions and method of the microprocessor (APPARATUS AND METHOD FOR EFFICIENT COMPUTATION OF A 486 TM MICROPROCESSOR COMPATIBLE POP INSTRUCTION)" U.S. Patent Application No. 08/452 080 No. ( representative documents Nos NSC1-65700 call); 발명의 명칭이 "메모리에 저장된 오정렬 데이타용 어드레스를 효율적으로 결정하는 방법 및 장치(APPARATUS AND METHOD FOR EFFICIENTLY DETERMINING ADDRESSES FOR MIS-ALIGNED DATA STORED IN MEMORY)"인 미합중국 특허출원 제08/450,154호(포기됨:대리인 서류번호 제NSC1-65800호); The title of the invention "method for efficiently determining the for misaligned data address stored in the memory and devices (APPARATUS AND METHOD FOR EFFICIENTLY DETERMINING ADDRESSES FOR MIS-ALIGNED DATA STORED IN MEMORY)" of US Patent Application No. 08/450 154 No. (giving search : agent Docket No. No. No. NSC1-65800); 발명의 명칭이 "고속 486 TM 마이크로프로세서의 호환가능한 스트링 동작을 이행하는 방법(METHOD OF IMPLEMENTING FAST 486 TM MICRO-PROCESSOR COMPATIBLE STRING OPERATION)"인 미합중국 특허출원 제08/451,742호(대리인 서류번호 제NSC1-65900호); The title of the invention "To implement the high-speed operation of the compatible string 486 TM microprocessor (METHOD OF IMPLEMENTING FAST TM 486 MICRO-PROCESSOR OPERATION COMPATIBLE STRING)" of US Patent Application No. 08/451 742 No. (Attorney Docket No. claim NSC1- No. 65 900); 발명의 명칭이 "캐시의 내용이 무효인 경우 캐시가 판독되지 않게 하는 파이프라인형 마이크로프로세서(A PIPELINED MICROPROCESS-OR THAT PREVENTS THE CACHE FROM BEING READ WHEN THE CONTENTS OF THE CACHE ARE INVALID)"인 미합중국 특허출원 제08/452,659호(현재에는 미합중국 특허 제5,659,712호로 특허부여됨:대리인 서류번호 제NSC1-66000호); "If the contents of the cache is invalid pipelined microprocessor to the cache so that it will not be read out (A PIPELINED MICROPROCESS-OR THAT PREVENTS THE CACHE FROM BEING READ WHEN THE CONTENTS OF THE CACHE ARE INVALID)" is the title of the invention of U.S. Patent Application No. 08 / 452,659 call (currently, US Pat. No. 5,659,712 patent granted arcs: the arc representatives NSC1-66000 document number); 발명의 명칭이 "메모리 요구를 처리하는 데 소요되는 시간을 감소시키는 DRAM 콘트롤러(DRAM CONTROLLER THAT REDUCES THE TIME REQUIRED TO PROCESS MEMORY REQUESTS)"인 미합중국 특허출원 제08/451,507호(포기됨:대리인 서류번호 제NSC1-66300호); Search the title of the invention the "DRAM controller for reducing the time it takes to process a memory request (DRAM CONTROLLER THAT REDUCES THE TIME REQUIRED TO PROCESS MEMORY REQUESTS)" of US Patent Application give 08/451 507 No. (: Representative documents Nos. NSC1-66300 call); 발명의 명칭이 "핀 개수가 감소된 통합 프라이머리 버스 및 세컨더리 버스 콘트롤러(INTEGRATED PRI-MARY BUS AND SECONDARY BUS CONTROLLER WITH REDUCED PIN COUNT)"인 미합중국 특허출원 제08/451,420호(대리인 서류번호 제NSC1-66400호); The title of the invention "The pin count is reduced integrated primary bus and secondary bus controller (INTEGRATED PRI MARY-BUS AND SECONDARY BUS CONTROLLER WITH REDUCED PIN COUNT)" of US Patent Application No. 08/451 420 No. (Attorney Docket No. claim NSC1- No. 66 400); 발명의 명칭이 "공급원 및 인터페이스로 구성가능한 입/출력 버퍼(SUPPLY AND INTERFACE CONFIGURABLE INPUT/OUTPUT BUFFER)"인 미합중국 특허출원 제08/452,365호(현재에는 미합중국 특허 제5,612,637호로 특허부여됨:대리인 서류번호 제NSC1-66500호); The title of the invention "mouth can consist of a source and an interface / output buffer (SUPPLY AND INTERFACE CONFIGURABLE INPUT / OUTPUT BUFFER)" of US Patent Application No. 08/452 365 call (as is U.S. Patent No. 5,612,637 arcs patent granted: Representative documents Nos. NSC1-66500 call); 발명의 명칭이 "미세 조정가능한 프레임 속도를 갖는 디스플레이 콘트롤러용의 클록 발생 회로(CLOCK GENERATION CIRCUIT FOR A DISPLAY CONTROLLER HAVING A FINE TUNEABLE FRAME RATE)"인 미합중국 특허출원 제08/451,744호(대리인 서류번호 제NSC1-66600호); The title of the invention "clock generation for the display controller having a micro adjustable frame rate circuit (CLOCK GENERATION CIRCUIT FOR A DISPLAY CONTROLLER HAVING A FINE TUNEABLE FRAME RATE)" of US Patent Application No. 08/451 744 No. (Attorney Docket No. claim NSC1 No. -66600); 발명의 명칭이 "구성가능한 전력 관리 방법(CONFIGURABLE POWER MANAGEMENT SCHEME)"인 미합중국 특허출원 제08/451,206호(대리인 서류번호 제NSC1-66700호); The title of the invention "configurable power management method (CONFIGURABLE POWER MANAGEMENT SCHEME)" of US Patent Application No. 08/451 206 (Article No. NSC1-66700 agent Docket No.); 발명의 명칭이 "양방향 병렬 신호 인터페이스(BIDIRECTIONAL PARALLEL SIGNAL INTERFACE)"인 미합중국 특허출원 제08/452,350호(대리인 서류번호 제NSC1-67000호); The title of the invention "bidirectional parallel signal interface (BIDIRECTIONAL PARALLEL INTERFACE SIGNAL)" of US Patent Application No. 08/452 350 No. (Attorney Docket No. No. No. NSC1-67000); 발명의 명칭이 "액정 표시기(LCD) 보호 회로(LIQUID CRYSTAL DISPLAY(LCD) PRO-TECTION CIRCUIT)"인 미합중국 특허출원 제08/452,094호(대리인 서류번호 제NSC1-67100호); The title of the invention, "liquid crystal display (LCD) protection circuit (LIQUID CRYSTAL DISPLAY (LCD) PRO-TECTION CIRCUIT)" of US Patent Application No. 08/452 094 No. (Attorney Docket No. No. No. NSC1-67100); 발명의 명칭이 "공유 시스템 메모리로부터 그래픽 데이타를 액세스할 수 있는 디스플레이 콘트롤러(DISPLAY CONTROLLER CAPABLE OF ACCESSING GRAPHICS DATA FROM A SHARED SYSTEM MEMORY)"인 미합중국 특허출원 제08/450,156호(대리인 서류번호 제NSC1-67500호); "The display controller (DISPLAY CONTROLLER CAPABLE OF ACCESSING GRAPHICS DATA FROM A SHARED MEMORY SYSTEM) that is accessible to the graphics data from the shared system memory" is the title of the invention of U.S. Patent Application No. 08/450 156 No. (Attorney Docket No. claim NSC1-67500 number); 발명의 명칭이 "테스트 신호 버스 및 테스트 제어 회로를 지니는 집적 회로(INTEGRATED CIRCUIT WITH TEST SIGNAL BUSES AND TEST CONTR-OL CIRCUITS)"인 미합중국 특허출원 제08/450,726호(현재에는 미합중국 특허 제5,541,935호로 특허부여됨:대리인 서류번호 제NSC1-67600호); Granted the title of the invention "test signal bus and a test control circuit having an integrated circuit (INTEGRATED CIRCUIT WITH TEST SIGNAL BUSES AND TEST CONTR-OL CIRCUITS)" of US Patent Application No. 08/450 726 call (as is U.S. Patent No. 5,541,935 arcs Patent : agent Docket No. No. No. NSC1-67600); 발명의 명칭이 "복호화 블럭 테스트 방법 및 장치(DECODE BLOCK TEST METHOD AND APPARATUS)"인 미합중국 특허출원 제08/445,568호(대리인 서류번호 제NSC1-68000호);에 기재되어 있는 다수의 추가적인 기능들 및 특징들을 포함하는 집적 회로에서 구현되었다. A number of additional features which are described in, and; the title of the invention "decoded block test method and apparatus (DECODE BLOCK TEST METHOD AND APPARATUS)" of US Patent Application No. 08/445 568 No. (Attorney Docket No. No. No. NSC1-68000) It implemented in an integrated circuit that includes the features.
본 발명의 구조 및 동작 방법에 있어서의 다른 여러 변형 및 수정예들이 본 발명의 범위 및 사상으로부터 이탈하지 않고서도 당업자에게는 자명해질 것이다. Other variations and modifications of the structure and method of operation of the invention will become apparent to those skilled in the art even without departing from the scope and spirit of the invention. 본 발명이 특정의 바람직한 실시예와 연관지어 설명되었지만, 청구된 바와 같은 발명은 그러한 특정의 실시예에 부당하게 한정되어서는 안된다는 점을 이해하여야 한다. While the present invention has been described in connection with certain preferred embodiments, being invention as claimed is restricted unduly in the practice of such specific example is to be understood that should not point. 첨부된 청구의 범위가 본 발명의 범위를 한정하고 이들 청구항들의 범위 및 그들의 등가 범위에 속하는 구조들 및 방법들이 본 발명에 포함되도록 의도된 것이다. It intended to limit the scope of the scope of the appended claims the invention and the scope of these claims and their structures and methods belonging to the equivalent scope are included in the invention.
상기 제2 신호 버스와 상기 제2의 버스 신호를 통해 상기 제1의 복수 개의 주변 회로와 선택적으로 통신하도록 상기 제2 신호 버스에 연결되어 있는 제2의 복수 개의 주변 회로를 포함하는 것을 특징으로 하는, 복수 개의 회로 기능 요소와복수 개의 신호 버스를 갖는 집적 회로를 포함하는 장치. It said first characterized in that it comprises a second signal bus and a plurality of peripheral circuits of the second is connected to the second signal bus via a bus signal in the second to communicate with a plurality of peripheral circuits and selectively of the first an apparatus including an integrated circuit having a plurality of functional circuit elements and a plurality of signal buses.
제1항에 있어서, 상기 제1 신호 버스는 동기식 신호 버스를 포함하는 것을 특징으로 하는, 복수 개의 회로 기능 요소와 복수 개의 신호 버스를 갖는 집적 회로를 포함하는 장치. The method of claim 1, wherein said first signal bus comprises an integrated circuit having a plurality of functional circuit elements and a plurality of bus signals, characterized in that it comprises a synchronous signal bus.
제1항에 있어서, 상기 제2 신호 버스는 비동기식 신호 버스를 포함하는 것을 특징으로 하는, 복수 개의 회로 기능 요소와 복수 개의 신호 버스를 갖는 집적 회로를 포함하는 장치. The method of claim 1, wherein said second signal bus comprises an integrated circuit having a plurality of functional circuit elements and a plurality of bus signals, it characterized in that it comprises an asynchronous signal bus.
제1항에 있어서, 상기 제3 신호 버스는 비동기식 신호 버스를 포함하는 것을 특징으로 하는, 복수 개의 회로 기능 요소와 복수 개의 신호 버스를 갖는 집적 회로를 포함하는 장치. The method of claim 1 wherein said third signal bus comprises an integrated circuit having a plurality of functional circuit elements and a plurality of bus signals, it characterized in that it comprises an asynchronous signal bus.
제1항에 있어서, 상기 복수 개의 마스터 콘트롤러는 부가적으로 서로 통신하고 서로 통신함에 따라 그 중 어느 것이 상기 제1 신호 버스를 액세스하고 상기 제1의 복수 개의 버스 신호의 통신을 제어하는 지를 결정하기 위한 것인 것을 특징으로 하는, 복수 개의 회로 기능 요소와 복수 개의 신호 버스를 갖는 집적 회로를 포함하는 장치. It is the one of which, as in the plurality of master controller additionally communication and communicate with one another in one of the preceding claims to determine that access to the first signal bus and controlling communication of a plurality of bus signals from the first apparatus including an integrated circuit having a plurality of functional circuit elements and a plurality of bus signals, characterized in that the intended.
제1항에 있어서, 상기 복수 개의 마스터 콘트롤러는 중앙 처리 유니트(CPU) 및 직접 메모리 액세스(DMA) 콘트롤러를 포함하는 것을 특징으로 하는, 복수 개의 회로 기능 요소와 복수 개의 신호 버스를 갖는 집적 회로를 포함하는 장치. The method of claim 1, wherein the plurality of the master controller comprises an integrated circuit having a plurality of circuit function element and a plurality of signal buses, characterized in that it comprises a central processing unit (CPU) and a direct memory access (DMA) controller apparatus.
제1항에 있어서, 상기 제1의 복수 개의 주변 회로는 서로 통신하고 서로 통신함에 따라 그 중 어느 것이 상기 제2 신호 버스를 액세스하고 상기 제2의 복수 개의 버스 신호의 통신을 제어하는 지를 결정하기 위한 것인 것을 특징으로 하는, 복수 개의 회로 기능 요소와 복수 개의 신호 버스를 갖는 집적 회로를 포함하는 장치. According to claim 1, to a plurality of peripheral circuit of said first one of which, as to communicate with each other and communicate with each other to determine whether to access the second signal bus and controlling communication of a plurality of bus signal at the second apparatus including an integrated circuit having a plurality of functional circuit elements and a plurality of bus signals, characterized in that the intended.
제1항에 있어서, 상기 제1의 복수 개의 주변 회로는 서로 통신하고 서로 통신함에 따라 그 중 어느 것이 상기 제3 신호 버스를 액세스하고 상기 제3의 복수 개의 버스 신호의 통신을 제어하는 지를 결정하기 위한 것인 것을 특징으로 하는, 복수 개의 회로 기능 요소와 복수 개의 신호 버스를 갖는 집적 회로를 포함하는 장치. According to claim 1, to a plurality of peripheral circuit of said first one of which, as to communicate with each other and communicate with each other to determine whether access to said third signal bus and controlling communication of said third plurality of bus signals apparatus including an integrated circuit having a plurality of functional circuit elements and a plurality of bus signals, characterized in that the intended.
제1항에 있어서, 상기 제1의 복수 개의 주변 회로는 다이내믹 랜덤 액세스 메모리(DRAM) 콘트롤러 및 버스 인터페이스 유니트(BIU)를 포함하는 것을 특징으로 하는, 복수 개의 회로 기능 요소와 복수 개의 신호 버스를 갖는 집적 회로를 포함하는 장치. The method of claim 1, wherein the plurality of peripheral circuits of the first is a dynamic random access memory (DRAM) controller and a bus interface unit having a plurality of circuit function element and a plurality of signal buses, comprising the (BIU) It comprises an integrated circuit.
제1항에 있어서, 상기 제2의 복수 개의 주변 회로는 PCMCIA 콘트롤러를 포함하는 것을 특징으로 하는, 복수 개의 회로 기능 요소와 복수 개의 신호 버스를 갖는 집적 회로를 포함하는 장치. 4. The apparatus of claim 1, a plurality of peripheral circuits and the second circuit comprises an integrated circuit having a plurality of functional elements and a plurality of signal buses, comprising a PCMCIA controller.
제1항에 있어서, 상기 제2의 복수 개의 주변 회로는 부가적으로 상기 IC 외부에 있는 복수 개의 다른 회로에 연결되어 상기 IC 외부에 있는 복수 개의 다른 회로와 통신하기 위한 것인 것을 특징으로 하는, 복수 개의 회로 기능 요소와 복수 개의 신호 버스를 갖는 집적 회로를 포함하는 장치. The method of claim 1, wherein the plurality of peripheral circuits and the second is additionally connected to a plurality of other circuits in the IC outside, characterized in that it for communicating with a plurality of other circuits in the IC outside, device including a plurality of circuit elements functions as an integrated circuit having a plurality of signal buses.
서로 통신하고 서로 통신함에 따라 그 중 어느 것이 상기 복수 개의 신호 버스의 제3 부분을 액세스하는 지를 결정하고 그 결정에 따라 상기 복수 개의 버스 신호의 제3 부분을 통신하도록 상기 복수 개의 신호 버스의 제3 부분에 연결되어 있는 제2의 복수 개의 주변 회로를 포함하는 것을 특징으로 하는, 분산형 버스 액세스 및 제어 조정에 따라 복수 개의 신호 버스에 의해 서로 접속되어 있고 복수 개의 신호 버스를 공유하는 복수 개의 회로 기능 요소를 갖는 집적 회로를 포함하는 장치. Communication and second of said plurality of signal buses to which of those, as to communicate with each other according to the determination whether to access a third portion of said plurality of signal buses and the determined communication a third portion of said plurality of bus signals 3 with each other a plurality of circuit function in that it comprises a plurality of peripheral circuits of the second is connected to a part which is characterized, they are connected to each other by a plurality of signal buses according to distributed bus access and control adjustment and that shares a plurality of signal buses apparatus including an integrated circuit having the element.
제12항에 있어서, 상기 복수 개의 신호 버스의 제 2 부분 중 하나는 외부 회로에 연결되어 복수 개의 외부 버스 신호를 통해 상기 외부 회로와 통신하기 위한 것이며, 상기 제1의 복수 개의 주변 회로 중 하나는 부가적으로 상기 제2의 복수 개의 주변 회로 중 하나와 통신하고 그러한 통신에 따라 상기 복수 개의 버스 신호의 제4 부분 및 상기 복수 개의 외부 버스 신호의 통신을 제어하기 위한 것인 것을 특징으로 하는, 분산형 버스 액세스 및 제어 조정에 따라 복수 개의 신호 버스에 의해 서로 접속되어 있고 복수 개의 신호 버스를 공유하는 복수 개의 회로 기능 요소를 갖는 집적 회로를 포함하는 장치. Of claim 12 wherein one of the second portion of the plurality of signal buses connected to external circuits is for communicating with the external circuit via a plurality of external bus signals, one of a plurality of peripheral circuits of the first is Additionally, the fourth part and, distributed, characterized in that for controlling the communication of said plurality of external bus signals of said plurality of bus signals in accordance with one of the communication and that the communication of the plurality of peripheral circuits of the second They are connected to each other by a plurality of signal buses according to bus access type and the control and adjustment device including an integrated circuit having a plurality of functional circuit elements that share a plurality of signal buses.
제12항에 있어서, 상기 복수 개의 신호 버스 중 하나는 동기식 신호 버스를 포함하는 것을 특징으로 하는, 분산형 버스 액세스 및 제어 조정에 따라 복수 개의 신호 버스에 의해 서로 접속되어 있고 복수 개의 신호 버스를 공유하는 복수 개의 회로 기능 요소를 갖는 집적 회로를 포함하는 장치. 13. The method of claim 12, wherein one of the plurality of signal buses are connected to each other by a plurality of signal buses in accordance with a distributed bus access and control adjusting comprises a synchronous signal bus and share a plurality of signal buses apparatus including an integrated circuit having a plurality of functional circuit elements.
제12항에 있어서, 상기 복수 개의 신호 버스 중 하나는 비동기식 신호 버스를 포함하는 것을 특징으로 하는, 분산형 버스 액세스 및 제어 조정에 따라 복수 개의 신호 버스에 의해 서로 접속되어 있고 복수 개의 신호 버스를 공유하는 복수 개의 회로 기능 요소를 갖는 집적 회로를 포함하는 장치. 13. The method of claim 12, wherein one of the plurality of signal buses are connected to each other by a plurality of signal buses in accordance with a distributed bus access and control adjustment, characterized in that it comprises an asynchronous signal bus and share a plurality of signal buses apparatus including an integrated circuit having a plurality of functional circuit elements.
제12항에 있어서, 상기 복수 개의 마스터 콘트롤러는 중앙 처리 유니트(CPU) 및 직접 메모리 액세스(DMA) 콘트롤러를 포함하는 것을 특징으로 하는, 분산형 버스 액세스 및 제어 조정에 따라 복수 개의 신호 버스에 의해 서로 접속되어 있고 복수 개의 신호 버스를 공유하는 복수 개의 회로 기능 요소를 갖는 집적 회로를 포함하는 장치. The method of claim 12, wherein the plurality of master controller from one another by a plurality of signal buses in accordance with a distributed bus access and control adjustment, characterized in that it comprises a central processing unit (CPU) and a direct memory access (DMA) controller It is connected and the device including an integrated circuit having a plurality of functional circuit elements that share a plurality of signal buses.
제12항에 있어서, 상기 제1의 복수 개의 주변 회로는 다이내믹 랜덤 액세스 메모리(DRAM) 콘트롤러 및 버스 인터페이스 유니트(BIU)를 포함하는 것을 특징으로 하는, 분산형 버스 액세스 및 제어 조정에 따라 복수 개의 신호 버스에 의해 서로접속되어 있고 복수 개의 신호 버스를 공유하는 복수 개의 회로 기능 요소를 갖는 집적 회로를 포함하는 장치. The method of claim 12, wherein a plurality of the peripheral circuit of said first plurality of signals according to the dynamic random access memory (DRAM) controller and a bus interface unit (BIU), a distributed bus access and control adjustment, comprising a step of including They are connected to each other by the bus and the device including an integrated circuit having a plurality of functional circuit elements that share a plurality of signal buses.
제12항에 있어서, 상기 제2의 복수 개의 주변 회로는 PCMCIA 콘트롤러를 포함하는 것을 특징으로 하는, 분산형 버스 액세스 및 제어 조정에 따라 복수 개의 신호 버스에 의해 서로 접속되어 있고 복수 개의 신호 버스를 공유하는 복수 개의 회로 기능 요소를 갖는 집적 회로를 포함하는 장치. The method of claim 12, wherein the plurality of peripheral circuits and the second are connected to each other by a plurality of signal buses in accordance with a distributed bus access and control adjustment comprising the PCMCIA controller, and sharing a plurality of signal buses apparatus including an integrated circuit having a plurality of functional circuit elements.
제12항에 있어서, 상기 제2의 복수 개의 주변 회로는 부가적으로 상기 IC 외부에 있는 복수 개의 다른 회로에 연결되어 상기 IC 외부에 있는 복수 개의 다른 회로와 통신하기 위한 것인 것을 특징으로 하는, 분산형 버스 액세스 및 제어 조정에 따라 복수 개의 신호 버스에 의해 서로 접속되어 있고 복수 개의 신호 버스를 공유하는 복수 개의 회로 기능 요소를 갖는 집적 회로를 포함하는 장치. The method of claim 12, wherein the plurality of peripheral circuits and the second is additionally connected to a plurality of other circuits in the IC outside, characterized in that it for communicating with a plurality of other circuits in the IC outside, distributed bus access and are connected to each other by a plurality of signal buses according to the control and adjustment device including an integrated circuit having a plurality of functional circuit elements that share a plurality of signal buses.
상기 실행 단에 의해 연산된 메모리 어드레스들로 저장 요소에 결과치들을 기록하는 라이트백 단을 포함하는 것을 특징으로 하는, 마이크로프로세서 시스템 클록의 주기 싸이클들에 따라 데이타를 처리하도록 명령어들을 실행하는 마이크로프로세서. A microprocessor that executes instructions to process data in accordance with which is characterized in that it comprises a write back stage for writing the results to the storage element into the memory address calculated by the execution stage, the microprocessor system clock period cycles.
제20항에 있어서, 상기 복호화 단은 상기 시스템 클록의 단일 싸이클에서 검색된 명령어들을 복호화시키는 것을 특징으로 하는, 마이크로프로세서 시스템 클록의 주기 싸이클들에 따라 데이타를 처리하도록 명령어들을 실행하는 마이크로프로세서. 21. The method of claim 20, wherein the decoding stage is a microprocessor that executes instructions to process data in accordance with periodic cycles of a microprocessor system clock, comprising a step of decoding the instructions retrieved in a single cycle of the system clock.
제20항에 있어서, 상기 실행 단은 상기 시스템 클록의 단일 싸이클에서 메모리 어드레스들을 연산하는 것을 특징으로 하는, 마이크로프로세서 시스템 클록의 주기 싸이클들에 따라 데이타를 처리하도록 명령어들을 실행하는 마이크로프로세서. 21. The method of claim 20, wherein the execution stage is a microprocessor that executes instructions to process data in accordance with periodic cycles of a microprocessor system clock, characterized in that for computing the memory address in a single cycle of the system clock.
제20항에 있어서, 상기 라이트백 단은 상기 시스템 클록의 단일 싸이클에서 결과치들을 기록하는 것을 특징으로 하는, 마이크로프로세서 시스템 클록의 주기싸이클들에 따라 데이타를 처리하도록 명령어들을 실행하는 마이크로프로세서. The method of claim 20 wherein the writeback stage is a microprocessor that executes instructions to process data in accordance with periodic cycles of a microprocessor system clock, characterized in that for recording the results in a single cycle of the system clock.
(c) (i)외부 판독 메모리 어드레스에 응답하여 상기 외부 판독 메모리 어드레스에 해당하는 명령어 또는 오퍼랜드를 상기 마이크로프로세서의 외부에 있는 저장 요소로부터 검색하며, 외부 기록 메모리 어드레스에 응답하여 상기 외부 기록 메모리 어드레스에 해당하는 결과치를 상기 마이크로프로세서의 외부에 있는 저장 요소에 저장하는 버스 인터페이스 유니트를 포함하는 라이트백 단을 포함하는 것을 특징으로 하는, 마이크로프로세서 시스템의 주기 싸이클들에 따라 데이타를 처리하도록 명령어들을 실행하는 마이크로프로세서. (C) (i) in response to an external read memory address the instructions or operands corresponding to the external read memory address, and retrieved from the storage element external to the microprocessor, in response to the external write memory address the external write memory address to execute instructions to process data in accordance with periodic cycles of a microprocessor system, comprising a step of including a write back stage includes a bus interface unit for storing the resultant value to the storage element external to the microprocessor microprocessor.
제24항에 있어서, 상기 복호화 단은 교체 알고리즘을 기초로 하여 명령어들을 저장하고 상기 프리페치 유니트에 명령어들을 제공하는 명령어 캐시를 부가적으로 포함하는 것을 특징으로 하는, 마이크로프로세서 시스템의 주기 싸이클들에 따라 데이타를 처리하도록 명령어들을 실행하는 마이크로프로세서. The method of claim 24, wherein the decoding stage is a periodic cycles of a microprocessor system, comprising a step of including an instruction cache for storing instructions based on the replacement algorithm, and providing instructions to the prefetch unit additionally a microprocessor that executes instructions to process data in accordance.
제24항에 있어서, 상기 실행 단은 상기 실행 유니트에 대한 보호 메카니즘을 구현하는 보호 논리 유니트를 부가적으로 포함하는 것을 특징으로 하는, 마이크로프로세서 시스템의 주기 싸이클들에 따라 데이타를 처리하도록 명령어들을 실행하는 마이크로프로세서. The method of claim 24, wherein the execution stage executes instructions to process data in accordance with periodic cycles of a microprocessor system comprising a protection logic unit which implements a protection mechanism for the execution unit additionally microprocessor.
제24항에 있어서, 상기 라이트백 단은 명령어 및 데이타 브레이크포인트들을 구현하는 디버그 논리를 부가적으로 포함하는 것을 특징으로 하는, 마이크로프로세서 시스템의 주기 싸이클들에 따라 데이타를 처리하도록 명령어들을 실행하는 마이크로프로세서. The method of claim 24 wherein the writeback stage is a micro that executes instructions to process data in accordance with periodic cycles of a microprocessor system comprising a debug logic to implement the instruction and data breakpoints additionally processor.
제27항에 있어서, 상기 디버그 논리는 내부 회로 에뮬레이션(ICE) 지원을 구현하는 것을 특징으로 하는, 마이크로프로세서 시스템의 주기 싸이클들에 따라 데이타를 처리하도록 명령어들을 실행하는 마이크로프로세서. 28. The method of claim 27 wherein the debug logic is a microprocessor that executes instructions to process data in accordance with periodic cycles of a microprocessor system, characterized in that for implementing the emulation (ICE) support the internal circuit.
제24항에 있어서, 모든 예외들 및 외부 인터럽트들을 우선화하여 이를 분해하는 예외 논리를 부가적으로 포함하는 것을 특징으로 하는, 마이크로프로세서 시스템의 주기 싸이클들에 따라 데이타를 처리하도록 명령어들을 실행하는 마이크로프로세서. The method of claim 24, wherein the micro to execute instructions to process data in accordance with all the exceptions and the period of the microprocessor system, characterized in that with the exception logic to decompose them by prioritizing the external interrupt additionally cycle processor.
제24항에 있어서, 상기 실행 단, 상기 복호화 단 및 라이트백 단에 제어 신호들을 제공하는 범용 제어 논리를 부가적으로 포함하는 것을 특징으로 하는, 마이크로프로세서 시스템의 주기 싸이클들에 따라 데이타를 처리하도록 명령어들을 실행하는 마이크로프로세서. 25. The method of claim 24, so as to processes the data in accordance with the running stage, the decoding stage and period cycle of the microprocessor system, characterized in that it comprises a general-purpose control logic for providing control signals to the write back stage additionally a microprocessor that executes instructions.
누산된 명령어 길이를 포함하는 명령어 포인터를 추적하는 수단을 포함하는 것을 특징으로 하는, 타겟 프로세서의 원시 명령어 실행을 에뮬레이션하는 내부 회로 에뮬레이터. In that it comprises means for tracking the instruction pointer containing the accumulated the command length, it characterized in, the internal circuit emulator to emulate the execution of the target processor instruction source.

References: Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08
 Application No. 08