KR101484600B1 - Counter-based multi-cycle processor control unit - Google Patents
Counter-based multi-cycle processor control unit Download PDFInfo
- Publication number
- KR101484600B1 KR101484600B1 KR20130060447A KR20130060447A KR101484600B1 KR 101484600 B1 KR101484600 B1 KR 101484600B1 KR 20130060447 A KR20130060447 A KR 20130060447A KR 20130060447 A KR20130060447 A KR 20130060447A KR 101484600 B1 KR101484600 B1 KR 101484600B1
- Authority
- KR
- South Korea
- Prior art keywords
- counter value
- counter
- signal
- instruction
- reset signal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
카운터 기반 멀티 사이클 프로세서 제어 장치가 개시된다. 보다 상세하게는, 제1 카운터 값을 디코딩하여 인스트럭션 인출 신호를 생성하고, 상기 인스트럭션 인출 신호에 따라 인스트럭션 인출(fetch)하는 인스트럭션 인출부, 제2 카운터 값을 생성하고, 상기 제2 카운터 값과 인출된 상기 인스트럭션을 디코딩하여 데이터 패스(path) 제어신호를 생성하는 데이터 패스 제어신호 생성부, 인출된 상기 인스트럭션의 각 사이클 단계에 대응하는 카운터 값에 따라 결정되는, 제1 카운터 리셋 신호 또는 제2 카운터 리셋 신호를 생성하는 카운터 리셋 신호 생성부를 포함하는 카운터 기반 멀티 사이클 프로세서 제어 장치에 관한 것이다.A counter based multi-cycle processor control apparatus is disclosed. More particularly, the present invention relates to a method of generating an instruction fetch signal by decoding a first counter value to generate an instruction fetch signal, an instruction fetch unit fetching an instruction according to the fetch instruction signal, A first counter reset signal or a second counter signal, which is determined according to a counter value corresponding to each cycle of the fetched instruction, a data path control signal generator for decoding the instruction to generate a data path control signal, And a counter reset signal generator for generating a reset signal.
Description
본 발명은 카운터 기반 멀티 사이클 프로세서 제어 장치에 관한 것이다. 보다 상세하게는, 카운터를 기반으로 하여 제어 신호를 생성할 수 있는 카운터 기반 멀티 사이클 프로세서 제어 장치에 관한 것이다.The present invention relates to a counter based multicycle processor control apparatus. More particularly, the present invention relates to a counter-based multi-cycle processor control apparatus capable of generating a control signal based on a counter.
종래의 다중 사이클 프로세서의 경우 주로 유한 상태 기계(FSM) 방식을 이용하여 제어 유닛을 설계한다. 도 1은, 유한 상태 기계 방식을 이용하여 설계된 종래의 제어 유닛을 개략적으로 도시한 것이다.In a conventional multi-cycle processor, a control unit is mainly designed using a finite state machine (FSM) method. Figure 1 schematically shows a conventional control unit designed using a finite state machine system.
도 1을 참조하면, 메모리로부터 인스트럭션을 프로세서로 인출(fetch)하여 명령어 레지스터에 저장한다. 다음으로, 명령어가 디코딩되어 특정한 하나의 상태(값)으로 정의된다. 제어 유닛은 정의된 상태에 따라 제어 신호들의 값이 결정된다. 그 다음 클럭에서 정의된 상태와 인스트럭션에 의해 그 다음 상태가 다시 정의되고 그 다음 상태 값에 의해 다시 제어 신호들의 값이 결정된다.Referring to FIG. 1, instructions from a memory are fetched into a processor and stored in an instruction register. Next, the instruction is decoded and defined as a particular state (value). The control unit determines the value of the control signals according to the defined state. The next state is redefined by the state and instruction defined in the next clock, and the value of the control signals is again determined by the next state value.
그러나, 종래의 유한 상태 기계 방식을 기초로 설계된 제어 유닛은, 인스트럭션 및 CURRENT_STATE를 디코딩하여 NEXT STATE를 결정하는 로직(Next state logic)을 포함하게 되어, 디코딩 과정이 복잡해지고, 전력 소모 또한 불필요하게 증가한다는 문제점이 있었다.However, the control unit designed on the basis of the conventional finite state machine system includes logic for deciding the NEXT STATE by decoding the instruction and CURRENT_STATE, which complicates the decoding process and unnecessarily increases power consumption .
또한, 종래의 유한 상태 기계 방식을 기초로 설계된 제어 유닛의 경우, 많은 상태를 가지는 경우에는 레지스터가 다수 개 사용되고, 레지스터가 차지하는 면적이 증가하는 문제점과 더불어, 현재 상태 및 다음 상태를 정의하는 HDL(Hardware Description Language) 코드 또한 길어진다는 문제점이 있었다.Further, in the case of a control unit designed on the basis of a conventional finite state machine system, in the case of a large number of states, a large number of registers are used and the area occupied by the registers is increased. In addition, Hardware Description Language) code is also long.
상기와 같은 문제점을 해결하기 위하여 본 발명이 해결하고자 하는 기술적 과제는, 종래의 유한 상태 기계 방식에 비하여 디코딩 회로를 간략화 할 수 있는 카운터 기반의 멀티 사이클 프로세서의 제어 유닛을 통하여, 프로세서의 소비 전력과 점유 면적 및 레지스터 사용이 감소될 수 있는 멀티 사이클 프로세서 제어 장치를 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made in an effort to solve the above problems, and an object of the present invention is to provide a counter-based multi-cycle processor control unit that can simplify a decoding circuit in comparison with a conventional finite- And to provide a multicycle processor control device in which occupancy area and register usage can be reduced.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 아니한 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.
본 발명의 일 실시예에 따른 카운터 기반 멀티 사이클 프로세서 제어 장치는, 제1 카운터 값을 디코딩하여 인스트럭션 인출 신호를 생성하고, 상기 인스트럭션 인출 신호에 따라 인스트럭션 인출(fetch)하는 인스트럭션 인출부, 제2 카운터 값을 생성하고, 상기 제2 카운터 값과 인출된 상기 인스트럭션을 디코딩하여 데이터 패스(path) 제어신호를 생성하는 데이터 패스 제어신호 생성부, 인출된 상기 인스트럭션의 각 사이클 단계에 대응하는 카운터 값에 따라 결정되는, 제1 카운터 리셋 신호 또는 제2 카운터 리셋 신호를 생성하는 카운터 리셋 신호 생성부를 포함하는 것일 수 있다.An apparatus for controlling a counter based multi-cycle processor according to an embodiment of the present invention includes an instruction fetch unit that decodes a first counter value to generate an instruction fetch signal, fetches an instruction according to the fetch instruction signal, A data path control signal generator for generating a data path control signal by decoding the second counter value and the fetched instruction, a data path control signal generator for generating a data path control signal according to a counter value corresponding to each cycle stage of the fetched instruction, And a counter reset signal generator for generating a first counter reset signal or a second counter reset signal.
일 실시예에 따르면, 상기 인스트럭션 인출부는, 상기 제1 카운터 값을 저장하는 저장부, 저장부에 저장된 상기 제1 카운터 값을 입력받아 상기 제1 카운터 값을 디코딩하여 상기 인스트럭션 인출 신호를 생성하는 출력(output)로직부를 포함하는 것일 수 있다.According to an embodiment, the instruction fetch unit may include: a storage unit for storing the first counter value; an output unit for receiving the first counter value stored in the storage unit and decoding the first counter value to generate the instruction fetch signal; and an output logic portion.
일 실시예에 따르면, 상기 저장부는, 레지스터를 포함하는 것일 수 있고, 상기 제1 카운터 값은, 초기 카운터 값 또는, 상기 초기 카운터 값 및 상기 초기 카운터 값보다 1 증가된 카운터 값을 포함하되, 상기 초기 카운터 값은, 0인 것일 수 있다.According to an embodiment, the storage unit may include a register, and the first counter value may include an initial counter value or a counter value that is incremented by one from the initial counter value and the initial counter value, The initial counter value may be zero.
일 실시예에 따르면, 상기 인스트럭션 인출부는, 상기 초기 카운터 값보다 1 증가된 값을 생성하는 연산부를 더 포함하되, 상기 연산부는, 인크리먼터 또는 가산기를 포함하는 것일 수 있고, 상기 데이터 패스 제어신호 생성부는, 상기 제2 카운터 값을 저장하는 저장부, 상기 저장부에 저장된 상기 제2 카운터 값을 입력받고, 입력받은 상기 제2 카운터 값을 디코딩하여 데이터 패스 제어신호를 생성하는 출력 로직부, 저장부에 저장된 상기 제2 카운터 값을 입력받고, 상기 제2 카운터 값보다 1 증가된 카운터 값을 생성하는 연산부, 증가된 카운터 값 및 상기 제2 카운터 값을 입력받고, 입력받은 상기 증가된 카운터 값 또는 상기 제2 카운터 값을 출력하는 제2 신호선택부를 포함하는 것일 수 있다.According to an embodiment, the instruction fetch unit may further include an operation unit that generates an incremented value from the initial counter value by one, wherein the operation unit may include an incrementor or an adder, The storage unit stores the second counter value. The output logic unit receives the second counter value stored in the storage unit and decodes the received second counter value to generate a data path control signal. An operation unit receiving the second counter value stored in the second counter and generating a counter value that is one more than the second counter value, an input unit for receiving the increased counter value and the second counter value, And a second signal selector for outputting the second counter value.
일 실시예에 따르면, 상기 제2 신호선택부는, 상기 제2 신호선택부가 정지신호(HALTb) 또는 대기신호(WAITb)를 입력받은 경우에, 상기 제2 카운터 값을 출력하는 것일 수 있고, 상기 저장부는, 레지스터를 포함하고, 기 연산부는, 인크리먼터 또는 가산기를 포함하고, 상기 제2 선택 출력부는, 멀티플렉서를 포함하는 것일 수 있다.According to one embodiment, the second signal selector may output the second counter value when the second signal selector receives the stop signal HALTb or the wait signal WAITb, The division may include a register, and the arithmetic operation unit may include an incrementor or an adder, and the second selection output may include a multiplexer.
일 실시예에 따르면, 상기 카운터 리셋 신호 생성부는, 저장부에 저장된 카운터 값을 입력받고, 상기 카운터 값보다 1 증가된 카운터 값을 연산하는 연산부, 상기 증가된 카운터 값을 입력받고, 상기 증가된 카운터 값 또는 초기 카운터 값을 출력하는 제1 신호선택부, 상기 제1 신호선택부가 출력한 상기 증가된 카운터 값을 저장하는 저장부, 상기 저장부에 저장된 복수의 카운터 값을 입력받고, 입력받은 복수의 카운터 값 각각에 대응하는 상기 제1 카운터 리셋 신호 또는 상기 제2 카운터 리셋 신호를 생성하는 출력 로직부를 포함하는 것일 수 있다.According to an embodiment, the counter reset signal generator includes an operation unit receiving a counter value stored in a storage unit and calculating a counter value that is increased by one from the counter value, receiving the incremented counter value, A first signal selector for outputting a first counter value or an initial counter value, a storage unit for storing the incremented counter value outputted by the first signal selector, a plurality of counter values stored in the storage unit, And an output logic unit for generating the first counter reset signal or the second counter reset signal corresponding to each counter value.
일 실시예에 따르면, 상기 복수의 카운터 값은, 상기 제1 카운터 값, 상기 제2 카운터 값 및 상기 제2 카운터 값에 포함되는 제3 카운터 값을 포함하고, 상기 출력 로직부가 상기 제1 카운터 값 및 상기 제2 카운터 값을 입력받은 경우에는, 상기 제1 카운터 리셋 신호를 생성하고, 상기 출력 로직부가 상기 제3 카운터 값을 입력받은 경우에는, 상기 제2 카운터 리셋 신호를 생성하되, 상기 제3 카운터 값은, 상기 제2 카운터 값 중 상기 인스트럭션의 마지막 사이클 단계에 대응하는 카운터 값인 것일 수 있다.According to one embodiment, the plurality of counter values include a third counter value included in the first counter value, the second counter value, and the second counter value, And generating the first counter reset signal when the second counter value is input and generating the second counter reset signal when the output logic unit receives the third counter value, The counter value may be a counter value corresponding to the last cycle of the instruction among the second counter values.
일 실시예에 따르면, 상기 제1 카운터 리셋 신호 또는 상기 제2 카운터 리셋 신호를 입력받고, 입력받은 상기 제1 카운터 리셋 신호 또는 상기 제2 카운터 리셋 신호에 따라, 초기 카운터 값 또는 증가된 카운터 값을 선택하여 출력하는 카운터 리셋부를 더 포함하는 것일 수 있다.According to an embodiment, the first counter reset signal or the second counter reset signal is received, and an initial counter value or an increased counter value is set in accordance with the received first counter reset signal or the second counter reset signal And a counter reset unit for selecting and outputting the reset signal.
일 실시예에 따르면, 상기 카운터 리셋부는, 상기 제1 카운터 값 또는 상기 제2 카운터 값을 입력받고, 상기 제1 카운터 값 또는 상기 제2 카운터 값보다 1 증가된 상기 증가된 카운터 값을 생성하는 연산부, 상기 증가된 카운터 값 및 상기 초기 카운터 값과, 상기 제1 카운터 리셋 신호 또는 상기 제2 카운터 리셋 신호를 입력받고, 상기 제1 카운터 리셋 신호를 입력받은 경우에는 상기 증가된 카운터 값을 출력하고, 상기 제2 카운터 리셋 신호를 입력받은 경우에는, 상기 초기 카운터 값을 출력하는 제1 신호선택부, 상기 제1 카운터 값, 상기 제2 카운터 값, 상기 증가된 카운터 값 및 상기 초기 카운터 값을 저장하는 저장부를 포함하는 것일 수 있다.According to one embodiment, the counter reset unit receives the first counter value or the second counter value, and generates an incremented counter value which is increased by one from the first counter value or the second counter value, The first counter reset signal or the second counter reset signal and outputs the increased counter value when the first counter reset signal is received, A first counter for outputting the initial counter value when the second counter reset signal is received, and a second counter for storing the first counter value, the second counter value, the increased counter value, And a storage unit.
일 실시예에 따르면, 상기 연산부는, 인크리먼터 또는 가산기를 포함하고, 상기 제1 신호선택부는, 멀티플렉서를 포함하고, 상기 저장부는, 레지스터를 포함하는 것일 수 있다.According to one embodiment, the operation unit includes an incrementor or an adder, the first signal selection unit includes a multiplexer, and the storage unit may include a register.
일 실시예에 따르면, 상기 제1 카운터 값은, 상기 인스트럭션 인출부가 상기 인스트럭션을 인출하도록 지정된 카운터 값이고, 상기 제2 카운터 값은, 상기 데이터 패스 제어신호 생성부가 상기 데이터 패스 제어신호를 생성하도록 지정된 카운터 값인 것일 수 있다.According to one embodiment, the first counter value is a counter value designated by the instruction fetch section to fetch the instruction, and the second counter value is a value indicating that the data path control signal generation section is designated to generate the data path control signal It may be a counter value.
본 발명의 일 실시예에 따른 카운터 기반 멀티 프로세서 제어 장치는, 제1 카운터 값을 입력받아 디코딩하여 인스트럭션을 인출하고, 인출된 상기 인스트럭션과 제2 카운터 값을 입력받아 디코딩하여 데이터 패스(path) 제어신호를 생성하는 출력 로직부, 상기 제1 카운터 값 또는 제2 카운터 값을 입력받고, 상기 제1 카운터 값 또는 제2 카운터 값보다 1 증가된 카운터 값을 연산하는 인크리먼터, 초기 카운터 값 또는 상기 증가된 카운터 값을 입력받고, 입력된 상기 초기 카운터 값 또는 입력된 상기 증가된 카운터 값 중 어느 하나를 선택하여 출력하는 제1 멀티플렉서, 상기 제1 멀티플렉서가 출력한 상기 초기 카운터 값 또는 상기 증가된 카운터 값 중 어느 하나의 값과, 레지스터에 저장된 현재의 카운터 값 중 어느 하나를 상기 레지스터로 전송하는 제2 멀티플렉서를 포함하되, 상기 제2 멀티플렉서는, 상기 제2 멀티플렉서가 정지 신호 또는 대기 신호를 입력받은 경우에 상기 레지스터가 출력하여 카운터 값을 상기 레지스터로 전송하는 것일 수 있다.A counter-based multiprocessor controller according to an embodiment of the present invention receives and decodes a first counter value to receive an instruction, and receives and decodes the fetched instruction and a second counter value to perform a data path control An output logic for generating a signal, an incrementer for receiving the first counter value or the second counter value and calculating a counter value that is incremented by one from the first counter value or the second counter value, A first multiplexer for receiving the incremented counter value and selecting one of the input initial count value and the incremented counter value inputted and outputting the selected initial counter value or the incremented counter value outputted by the first multiplexer, Value and a current counter value stored in a register to the register, Including but tipeul Lexus, the second multiplexer, may be to send the counter values to the register is output if the received second multiplexer inputs the stop signal or standby signal to the register.
상기와 같은 본 발명에 따르면, 카운터를 기반으로 하는 제어 유닛을 제공함으로써 종래의 유한 상태 기계 방식에 비하여 디코딩 회로를 간략화 할 수 있는 바, 프로세서의 소비 전력과 점유 면적 및 레지스터 사용이 감소될 수 있으며, HDL 코드도 간략해질 수 있다는 장점이 있다.According to the present invention, the decoding circuit can be simplified as compared with the conventional finite state machine method by providing the counter-based control unit, so that the power consumption, the occupied area and the use of the register of the processor can be reduced , And the HDL code can be simplified.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.The effects according to the present invention are not limited by the contents exemplified above, and more various effects are included in the specification.
도 1은 종래의 유한 상태 기계 방식을 이용한 제어 유닛의 개략도이다.
도 2는 본 발명의 일 실시예에 따른 멀티 사이클 프로세서 제어 장치를 개략적으로 도시한 것이다.
도 3은 본 발명의 일 실시예에 따른 인스트럭션 인출부를 개략적으로 도시한 것이다.
도 4는 본 발명의 일 실시예에 따른 데이터 패스(path) 제어신호 생성부를 개략적으로 도시한 것이다.
도 5는 본 발명의 일 실시예에 따른 카운터 리셋 신호 생성부를 개략적으로 도시한 것이다.
도 6은 본 발명의 일 실시예에 따른 카운터 리셋부를 개략적으로 도시한 것이다.
도 7은 본 발명의 일 실시예에 따른 카운터 기반 멀티 사이클 프로세서 제어 장치의 실시예를 개략적으로 도시한 것이다.
도 8은 본 발명의 일 실시예에 따른 카운터 기반 멀티 사이클 프로세서 제어 장치에 정지 신호 또는 대기 신호가 입력되지 아니한 경우의 동작을 순서도로 도시한 것이다.
도 9는 본 발명의 일 실시예에 따른 카운터 기반 멀티 사이클 프로세서 제어 장치에 정지 신호 또는 대기 신호가 입력된 경우의 동작을 순서도로 도시한 것이다.
도 10은 본 발명의 일 실시예에 따른 카운터 리셋부의 동작을 순서도로 도시한 것이다.1 is a schematic diagram of a control unit using a conventional finite state machine system.
2 schematically shows a multi-cycle processor control apparatus according to an embodiment of the present invention.
Figure 3 schematically illustrates an instruction fetch according to an embodiment of the invention.
4 schematically shows a data path control signal generator according to an embodiment of the present invention.
5 schematically shows a counter reset signal generator according to an embodiment of the present invention.
6 schematically shows a counter reset unit according to an embodiment of the present invention.
FIG. 7 schematically illustrates an embodiment of a counter-based multi-cycle processor control apparatus according to an embodiment of the present invention.
FIG. 8 is a flowchart illustrating an operation when a stop signal or a wait signal is not input to the counter-based multi-cycle processor control apparatus according to an embodiment of the present invention.
FIG. 9 is a flowchart illustrating an operation when a stop signal or a wait signal is input to the counter-based multi-cycle processor control apparatus according to an embodiment of the present invention.
10 is a flowchart illustrating an operation of the counter reset unit according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs. Also, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative implementations, the functions mentioned in the blocks may occur out of order. For example, two blocks that are shown one after the other may actually be executed substantially concurrently, or the blocks may sometimes be performed in reverse order according to the corresponding function.
본 명세서에서 사용되는 전문용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서에서 사용되는 "포함하는"의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특정 특성, 영역, 정수, 단계, 동작, 요소, 성분 및/또는 군의 존재나 부가를 제외시키는 것은 아니다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular forms as used herein include plural forms as long as the phrases do not expressly express the opposite meaning thereto. Means that a particular feature, region, integer, step, operation, element and / or component is specified, and that other specific features, regions, integers, steps, operations, elements, components, and / And the like.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용되는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.Although the first, second, etc. are used to describe various components, it goes without saying that these components are not limited to these terms. These terms are used only to distinguish one element from another. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical scope of the present invention.
본 발명의 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 구성요소를 의미하며, '~부'는 소정의 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다.The term " part " used in the embodiment of the present invention means a hardware component such as software or an FPGA (Field Programmable Gate Array) or ASIC (Application Specific Integrated Circuit) . However, 'part' is not meant to be limited to software or hardware. &Quot; to " may be configured to reside on an addressable storage medium and may be configured to play one or more processors. Thus, by way of example, 'parts' may refer to components such as software components, object-oriented software components, class components and task components, and processes, functions, , Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functions provided in the components and components may be further combined with a smaller number of components and components or further components and components.
이하, 첨부된 도면을 참고로 하여 본 발명의 실시예들에 대해 설명한다. Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.
도 2는 본 발명의 일 실시예에 따른 멀티 사이클 프로세서 제어 장치(1)를 개략적으로 도시한 것이다.2 schematically shows a multi-cycle
도 2를 참조하면, 본 발명의 일 실시예에 따른 카운터 기반 멀티 사이클 프로세서 제어 장치(1)는 인스트럭션 인출부(100), 데이터 패스(path) 제어신호 생성부(110), 카운터 리셋 신호 생성부(120) 및 카운터 리셋부(130)를 포함할 수 있다. 이하에서는, 본 발명의 일 실시예에 따른 멀티 사이클 프로세서 제어 장치(1)에 포함되는 각각의 부를 도 3 내지 도 6을 참조하여 설명하기로 한다.2, a counter-based multi-cycle
도 3을 참조하면, 본 발명의 일 실시예에 따른 인스트럭션 인출부(100)는, 연산부(10), 저장부(40) 및 출력 로직부(50)로 구성될 수 있다. 인스트럭션 인출부(100)는 저장부(40)에 저장되어 있는 초기 카운터 값을 디코딩하여 인스트럭션 인출 신호를 생성하고, 생성된 인스트럭션 인출 신호에 따라 소정의 기억 장치로부터 인스트럭션을 인출하는 것일 수 있다. 본 명세서에서 언급되는 제1 카운터 값은 인스트럭션을 인출하도록 지정된 카운터 값일 수 있다. 기억 장치는, 하드 디스크 드라이브(HDD), 솔리드 스테이드 드라이브(SSD), 테이프(tape) 드라이브, 광학 드라이브, RAID 어레이(array), 랜덤 액세스 메모리(RAM) 및 읽기 전용 메모리(ROM)를 포함할 수 있으나, 이에 의하여 제한되는 것은 아니며, 다양한 실시예들에 따라 제조된 반도체 소자를 포함할 수 있다. 인스트럭션 인출부(100)는, 초기 카운터 값을 수신한 경우에 인스트럭션을 인출하도록 구성되는 것이 바람직하며, 초기 카운터 값은 "0"일 수 있다. 또한, 인스트럭션 인출부(100)는 초기 카운터 값과 초기 카운터 값보다 1 또는 소정의 수치만큼 증가된 카운터 값에 대하여도, 카운터 값을 디코딩하여 인스트럭션을 인출하도록 인스트럭션 인출 신호를 생성할 수 있다. 이 경우, 연산부(10)에 의하여 증가된 카운터 값이 인스트럭션을 인출하는데 이용될 수 있는바, 연산부(10)는, 저장부(40)로부터 초기 카운터 값을 전송받아 증가된 카운터 값을 연산하고 증가된 카운터 값을 저장부(40)로 전송한 후, 출력 로직부(50)는 증가된 카운터 값으로 인스트럭션을 인출하도록 구성될 수 있다. 즉, 인스트럭션 인출부(100)는 초기 카운터 값인 "0"인 경우에만 인스트럭션을 인출하도록 구성될 수 있을 뿐만 아니라, 초기 카운터 값이 아니라고 하더라도 인스트럭션을 인출하도록 지정된 카운터 값이 입력된 경우라면 인스트럭션을 기억 장치로부터 인출할 수 있도록 구성될 수 있다. 인출된 인스트럭션은 저장부(40)에 저장될 수 있으며, 예를 들어, 명령어 레지스터에 저장될 수 있다.3, an instruction fetch
도 4를 참조하면, 데이터 패스 제어신호 생성부(110)는, 연산부(10), 제2 신호선택부(30), 저장부(40) 및 출력 로직부(50)로 구성될 수 있다. 데이터 패스 제어신호 생성부(110)는, 제2 카운터 값과 인출된 인스트럭션을 기초로 데이터 패스 제어신호를 생성하는 것일 수 있다. 본 명세서에서 언급되는 제2 카운터 값은, 제1 카운터 값과 구별되는 개념으로서, 데이터 패스 제어신호를 생성하도록 지정된 카운터 값일 수 있다. 출력 로직부(50)는 인출된 인스트럭션과 제2 카운터 값을 디코딩하여 데이터 패스 제어신호를 생성하는 것일 수 있다. 제2 카운터 값은, 바람직하게는 복수의 카운터 값을 포함하는 개념일 수 있다. 또한, 본 명세서에서 언급되는 데이터 패스 제어신호는, 다양한 데이터 패스(path)에 포함되는 여러 로직 유닛들에 대한 제어 신호일 수 있으나, 이에 의하여 제한되는 것은 아니다. 카운터 기반 멀티 사이클 프로세서 제어장치(1)에 포함되는 다양한 소자들 또는 카운터 기반 멀티 사이클 프로세서 제어장치(1)와 전기적으로 연결된 다른 소자에 대한 제어 신호일 수 있다. 4, the data path control
본 발명의 일 실시예에 따른 데이터 패스 제어신호를 생성하는 과정을 설명하기 위하여 인출된 인스트럭션을 ADD 연산을 수행하도록 하는 명령이라고 가정하기로 한다. ADD 명령을 OPcode 0011 이라고 한다면, 데이터 패스 제어신호 생성부(110)에서 데이터 패스 제어신호를 생성하기 위하여 디코딩되는 일 실시예를 2진수 표현을 기초로 한 VHDL 코드로 표현하면,In order to explain the process of generating the data path control signal according to the embodiment of the present invention, it is assumed that the fetched instruction is an instruction to perform the ADD operation. If the ADD command is OPcode 0011, the embodiment in which the data path control
always @(*)always @ (*)
case({instruction,counter})case ({instruction, counter})
0011_000 : control_signals = 5'b110110011_000: control_signals = 5'b11011
0011_001 : control_signals = 5'b001000011_001: control_signals = 5'b00100
endcaseendcase
로 표현될 수 있다. 예를 들어, 인출된 인스트럭션과 카운터 값이 {instruction,counter} {0011,000} 이면 제어 신호는 "11011"이라는 값을 생성하게 되고, 각각의 비트가 카운터 기반 멀티 사이클 프로세서 제어장치(1) 또는 카운터 기반 멀티 사이클 프로세서 제어장치(1)와 전기적으로 연결된 다른 소자에 대한 제어 신호일 수 있다. 즉, 코드에 기술해 놓은 입력을 전달받은 때에, 해당하는 경우를 찾아 일치하는 값이 데이터 패스 제어신호로서 생성될 수 있다. 이와 같은 방식을 이용함으로써, 카운터 기반 멀티 사이클 프로세서 제어 장치는 종래 유한 상태 기계 방식을 이용한 제어 유닛과는 달리 카운터 값을 기반으로 하여 제어 신호를 생성하게 되는 바, 더 적은 레지스터 사용으로 프로세서의 소비 전력과 점유 면적이 감소될 수 있고, HDL 코드도 간략해질 수 있다. 연산부(10), 제2 신호선택부(30) 및 저장부(40)는 데이터 패스 제어신호를 생성하기 위하여 반복적으로 후술하는 각각의 기능을 수행하도록 구성될 수 있다.. ≪ / RTI > For example, if the fetched instruction and the counter value are {instruction, counter} {0011,000}, the control signal will generate a value of "11011 " And may be a control signal for other elements electrically connected to the counter based multi-cycle
도 5를 참조하면, 카운터 리셋 신호 생성부(120)는, 연산부(10), 제1 신호선택부(20), 저장부(40) 및 출력 로직부(50)를 포함할 수 있다.5, the counter reset
카운터 리셋 신호 생성부(120)는, 인스트럭션의 동작 사이클에 따라 활성화된 카운터 리셋 신호 또는 활성화되지 아니한 카운터 리셋 신호를 생성하도록 구성될 수 있다. 출력 로직부(50)는, 카운터 값이 인스트럭션의 마지막 사이클에 해당되는 카운터 값을 입력받은 경우에는 인스트럭션과 카운터 값의 디코딩 과정을 통하여 활성화된 카운터 리셋 신호를 생성하는 것일 수 있고, 인스트럭션의 마지막 사이클에 해당하는 카운터 값이 아닌 경우에는 인스트럭션과 카운터 리셋 신호의 디코딩 과정을 통하여 활성화되지 아니한 카운터 리셋 신호를 생성하도록 구성될 수 있다. 활성화된 카운터 리셋 신호는 저장부(40)에 저장되어 있는 카운터 값을 초기화하도록 명령하는 신호일 수 있다. 활성화되지 아니한 카운터 리셋 신호는 저장부(40)에 저장된 카운터 값을 초기화하지 아니하는 신호일 수 있다. 예를 들어, 카운터 리셋 신호가 "1"인 경우에는, 활성화된 카운터 리셋 신호일 수 있으며, 카운터 리셋 신호가 "0"인 경우에는, 활성화되지 아니한 카운터 리셋 신호일 수 있다. 다만, 이는 설명의 편의를 위하여 예시적으로 언급한 것으로서, 이에 의하여 카운터 리셋 신호의 값이 제한되는 것은 아니다. 활성화된 카운터 리셋 신호는 인스트럭션의 마지막 사이클에서 생성되는 것일 수 있으며, 그 외의 경우에는 활성화되지 아니한 카운터 리셋 신호가 생성되는 것일 수 있다. 즉, 카운터 리셋 신호는 제어 신호가 생성되는 경우마다 함께 생성되는 것일 수 있으며, 생성된 카운터 신호가 활성화된 카운터 신호인지 활성화 되지 아니한 카운터 신호인지 여부는 인스트럭션의 사이클 단계에 따라 결정되는 것일 수 있다. 출력 로직부(50)는 인스트럭션의 사이클이 단일의 사이클 단계만을 포함하는지, 다수의 단계를 포함하는지 여부를 판단할 수 있으며, 각각의 사이클에 대응하는 카운터 값을 지정하여 두는 것일 수 있다. 각각의 사이클에 대응하는 카운터 값은, 사용자로부터 지정받은 것일 수도 있으며, 인스트럭션 인출부(100)에서 인스트럭션을 인출한 경우, 인출된 인스트럭션에 따라 출력 로직부(50)에서 자동적으로 생성한 것일 수도 있다.The counter reset
예를 들어, 인스트럭션이 "A + B = A" 라는 연산을 수행하는 명령을 포함하는 경우에, 인스트럭션은 A와 B를 더하는(ADD) 연산과 더한 값을 A에 입력하는(EQUAL) 연산의 총 두 사이클로 이루어 질 수 있다. ADD 연산을 수행하는 단계는 인스트럭션의 첫 번째 사이클이므로, ADD 연산을 수행하도록 하는 제어신호와 함께 활성화되지 아니한 카운터 리셋 신호가 생성될 수 있다. 다음으로, EQUAL 연산을 수행하는 단계는 인스트럭션의 마지막 사이클에 해당하므로, EQUAL 연산을 수행하도록 하는 데이터 패스 제어신호를 생성하고, 활성화된 카운터 리셋 신호가 생성되는 것일 수 있다. 연산부(10), 제1 신호선택부(20) 및 저장부(40)는 카운터 리셋 신호를 생성하기 위하여 반복적으로 후술하는 각각의 기능을 수행하도록 구성될 수 있다.For example, if the instruction includes an instruction to perform an operation "A + B = A ", the instruction may include a total of (EQUAL) operations to add a value to A plus the (ADD) It can be composed of two cycles. Since the step of performing the ADD operation is the first cycle of the instruction, a counter reset signal that is not activated together with the control signal for performing the ADD operation may be generated. Next, the step of performing the EQUAL operation corresponds to the last cycle of the instruction, so that a datapath control signal for performing the EQUAL operation may be generated, and an activated counter reset signal may be generated. The operation unit 10, the first
도 6을 참조하면, 본 발명의 일 실시예에 따른 카운터 리셋부(130)는 연산부(10), 제1 신호선택부(20) 및 저장부(40)를 포함할 수 있다. 제1 신호선택부(20)는 출력 로직부(50)가 생성한 카운터 리셋 신호를 입력받을 수 있다. 제1 신호선택부(20)는, 카운터 값을 리셋하도록 지정된 활성화된 카운터 리셋 신호를 입력받은 경우, 연산부(10)에 의한 연산에 의하여 증가된 카운터 값과 초기 카운터 값 중 초기 카운터 값인 "0"을 선택하여 출력할 수 있다. 저장부(40)에 초기 카운터 값이 저장됨으로써 카운터 값이 초기화 될 수 있다. 반면, 활성화되지 아니한 카운터 리셋 신호를 입력받은 경우에는, 증가된 카운터 값을 선택하여 출력할 수 있다.Referring to FIG. 6, the counter reset
본 발명의 일 실시예에 따른 연산부(10)는, 카운터 값을 수신하여 증가시키는 연산을 수행할 수 있다. 본 발명의 일 실시예로서는, 입력된 제1 카운터 값 또는 제2 카운터 값을 1 증가시키는 연산을 수행하도록 구성될 수 있다. 본 발명의 연산부(10)는, 바람직하게는 인크리먼터(incrementer, 10_1)로 이루어질 수 있다. 인크리먼터(10_1)는, 카운터 값을 1 증가시키는 기능을 수행할 수 있다. The operation unit 10 according to an embodiment of the present invention may perform an operation of receiving and incrementing a counter value. According to an embodiment of the present invention, the input counter may be configured to perform an operation of incrementing the input first counter value or the second counter value by one. The operation unit 10 of the present invention may preferably be composed of an incrementer 10_1. The incrementer 10_1 can perform a function of incrementing the counter value by one.
또한, 본 발명의 다른 실시예에 의하면, 연산부(10)는 가산기로 구성될 수도 있다. 가산기는 예를 들어, 1자릿수의 2진수를 더한 결과인 합(sum)과, 자리올림(carry)이 발생하였는지 아닌지를 계산하는 신호 처리 회로일 수 있다. Further, according to another embodiment of the present invention, the arithmetic unit 10 may be constituted by an adder. The adder may be, for example, a sum which is a result of adding one digit binary number and a signal processing circuit for calculating whether a carry has occurred or not.
본 명세서에서 언급되는 제1 카운터 값은, 인스트럭션을 인출하도록 지정된 카운터 값일 수 있다. 제2 카운터 값은, 데이터 패스 제어신호를 생성하도록 지정된 카운터 값일 수 있다. 다만, 제2 카운터 값 중, 인스트럭션의 마지막 사이클에 대응되는 카운터 값일 경우에는 카운터 리셋 신호 생성부(120)가 활성화된 카운터 리셋 신호를 생성하도록 구성될 수 있다. 초기 카운터 값은 "0"인 것이 바람직할 것이며, 제1 카운터 값은 초기 카운터 값을 포함하는 개념일 수 있다. 다시 말하면, 제1 카운터 값이 초기 카운터 값과 일치할 수 있으며, 몇몇 실시예에서는 제1 카운터 값이 초기 카운터 값을 포함하는 개념일 수 있다.The first counter value referred to herein may be a counter value designated to fetch the instruction. The second counter value may be a counter value designated to generate the datapath control signal. However, the counter reset
제1 신호선택부(20)는 인크리먼터(10_1)로 구성될 수 있는 연산부(10)와 전기적으로 연결될 수 있다. 제1 신호선택부(20_1)는, 초기 카운터 값 또는 연산부(10)가 출력한 증가된 카운터 값을 입력받도록 구성될 수 있다. 또한, 제1 신호선택부(20)는 카운터 리셋 신호를 입력받도록 구성될 수 있는데, 활성화된 카운터 리셋 신호를 입력받은 경우에는, 초기 카운터 값을 선택하여 출력할 수 있고, 활성화되지 아니한 카운터 리셋 신호를 수신한 경우에는 연산부(10)가 출력한 증가된 카운터 값을 선택하여 출력하는 것일 수 있다. 일 실시예로서, 카운터 리셋 신호가 포함하는 카운터 리셋 값이 "1"인 경우에는 활성화된 카운터 리셋 신호일 수 있으며, 이 경우 저장부(40)에 저장되는 카운터 값이 "0"이 되어 초기 상태로 돌아갈 수 있다. 제1 신호선택부(20)에 입력되는 초기 카운터 값은, 저장부(40)에 저장되어 있는 초기 카운터 값을 입력받는 것이 바람직할 것이나, 다른 기억 장치 또는 I/O 모듈로부터 입력받는 경우를 배제하는 것은 아니다. 제1 신호선택부(20)는 멀티플렉서(20_1)로 구성될 수 있다.The
제2 신호선택부(30)는, 입력된 신호를 선택적으로 출력한다는 점에서 제1 신호선택부(20)와 유사한 기능을 수행할 수 있다. 제2 신호선택부(30)는, 제1 신호선택부(20)가 출력한 카운터 값과, 저장부(40)로부터 직접 입력받는 카운터 값 중에서 어느 하나의 값을 선택적으로 출력하도록 구성될 수 있다. 여기에서, "직접 입력받는"다는 것은, 저장부(40)에 저장되어 있는 카운터 값이 연산부(20)를 거치지 아니하고 바로 제2 신호선택부(30)로 입력되는 것을 의미할 수 있다. 즉, 증가되지 아니한 현재의 카운터 값을 의미하는 것일 수 있다. 제2 신호선택부(30)는, 정지 신호(HALTb) 또는 대기 신호(WAITb)를 입력받은 경우에는 저장부(40)로부터 직접 입력 받은 현재의 카운터 값을 출력하도록 구성될 수 있다. 정지 신호(HALTb) 또는 대기 신호(WAITb)는 Active low 신호일 수 있고, 정지 신호 또는 대기 신호 중 어느 하나라도 active 상태에 있게 된다면 카운터 값은 현재의 카운터 값을 유지하도록 구성될 수 있다. 제2 신호선택부(30)는 멀티플렉서(30_1)로 구성될 수 있다.The second
저장부(40)는 적어도 하나의 레지스터(40_1)로 구성될 수 있다. 레지스터(40_1)는 클럭 펄스를 입력받도록 구성될 수 있다. 레지스터(40_1)는 소정의 데이터 등을 저장할 수 있는 메인 메모리(미도시)로부터 읽어온 명령어나 데이터를 저장하거나 연산된 결과를 저장할 수 있다. 레지스터(40_1)는 어드레스 레지스터, 프로그램 카운터, 데이터 레지스터, 명령어 레지스터 및 어큐뮬레이터 등으로 분류될 수 있다. 어드레스 레지스터는 메모리로부터 데이터를 읽거나 메모리에 데이터를 쓸 메모리 주소를 저장할 수 있다. 프로그램 카운터는 다음에 실행될 명령어가 저장된 메모리 주소를 저장할 수 있다. 데이터 레지스터는 메모리로부터 읽어온 데이터를 저장할 수 있다. 명령어 레지스터는 메모리로부터 읽어온 명령어를 저장할 수 있다. 레지스터(40_1)는 설명된 레지스터 이외에도 다양한 기능을 갖는 레지스터를 포함할 수 있다. 레지스터(40_1)는 데이터 타입 비트를 저장할 수 있는 데이터 타입 필드 및 데이터를 저장할 수 있는 데이터 필드를 포함한다. 여기서, 데이터 타입 비트는 테이터의 타입을 표시하기 위한 비트일 수 있다. 데이터 타입은 데이터의 크기 또는 사인/언사인과 관련될 수 있다.The storage unit 40 may include at least one register 40_1. The register 40_1 may be configured to receive a clock pulse. The register 40_1 may store a command word or data read from a main memory (not shown) capable of storing predetermined data or the like, or may store a result of the operation. The register 40_1 may be classified into an address register, a program counter, a data register, an instruction register and an accumulator. An address register can store a memory address to read data from or write data to memory. The program counter may store the memory address where the next instruction to be executed is stored. The data register can store the data read from the memory. The instruction register can store the instruction read from memory. The register 40_1 may include a register having various functions in addition to the described register. The register 40_1 includes a data type field capable of storing data type bits and a data field capable of storing data. Here, the data type bit may be a bit for indicating the type of the data. The data type may be related to the size of the data or the sign / sign.
본 발명의 일 실시예에 따른 저장부(40)는, 초기 카운터 값, 제1 카운터 값, 제2 카운터 값 및 증가된 카운터 값을 저장할 수 있다. 초기 카운터 값은 저장부(40)에 미리 저장되어 있는 것일 수 있다. 저장부(40)는 클럭 펄스를 입력 받도록 구성될 수 있다. 저장부(40)는, 저장부(40)에 입력된 클럭 펄스에 따라 카운터 값을 출력하는 것일 수 있다.The storage unit 40 may store an initial counter value, a first counter value, a second counter value, and an incremented counter value according to an embodiment of the present invention. The initial counter value may be stored in the storage unit 40 in advance. The storage unit 40 may be configured to receive a clock pulse. The storage unit 40 may output the counter value according to the clock pulse input to the storage unit 40.
본 발명의 일 실시예에 따른 출력 로직부(50)가 디코딩하는 방식을 VHDL 코드로 예를 들어 재 설명하면, For example, if the VHDL code is used to decode the
always @(*)always @ (*)
casex({instruction,counter})casex ({instruction, counter})
xxxx_000 : control_signals = 6'b010000; //instruction fetchxxxx_000: control_signals = 6'b010000; // instruction fetch
xxxx_001 : control_signals = 6'b001000; //instruction fetchxxxx_001: control_signals = 6'b001000; // instruction fetch
0111_010 : control_signals = 6'b000110; //add 1 cycle0111_010: control_signals = 6'b000110; // add 1 cycle
0111_011 : control_signals = 6'b000101; //add last cycle0111_011: control_signals = 6'b000101; // add last cycle
EndcaseEndcase
로 개략적으로 표현될 수 있다.. ≪ / RTI >
출력 로직부(50)에 입력값이 {instruction, counter} {xxxx,000}, {xxxx,001}이면 인스트럭션을 인출하는 제어신호들을 생성하고, {0011,010} 부터 예를 들어 ADD명령에 대한 동작을 하는 제어신호들을 생성할 수 있다. ADD명령이 인스트럭션 인출을 제외하고 두 사이클 소모된다면 {0011,011}에서 counter_reset에 해당하는 제어신호 비트를 ‘1’로 설정할 수 있다. 위 코드에서는 최하위 비트가 counter_reset 비트일 수 있으며, 각각의 한 비트 들이 각각 요소의 제어 신호일 수 있다. 즉, control_signals은 인스트럭션 인출 신호, 데이터 패스 제어신호 및 카운터 리셋 신호를 포함하는 것일 수 있다. 위 코드에서 예를 들면, 6 비트 중 2개 비트가 인스트럭션 인출 신호, 3개 비트가 데이터 패스 제어신호, 마지막 비트가 counter_reset 신호일 수 있다. 다만, 이는 본 발명의 설명을 위하여 인출되는 인스트럭션이 ADD 명령인 경우를 예를 들어 개략적으로 설명한 것이 불과하며, 이에 의하여 본 발명의 구성이 제한되지 아니함은 당업자에게 자명하다고 할 것이다.When the input value is {instruction, counter} {xxxx, 000}, {xxxx, 001} in the
도 7은 본 발명의 일 실시예에 따른 카운터 기반 멀티 사이클 프로세서 제어 장치(1)의 실시예를 개략적으로 도시한 것이다.7 schematically shows an embodiment of a counter based multicycle
도 7을 참조하면, 상술한 바와 같이, 연산부(10)는 인크리먼터(10_1)로, 신호선택부(20, 30)는 멀티플렉서(20_1, 30_1)로, 저장부(40)는 레지스터(40_1)로, 출력 로직부(50)는 상술한 디코딩을 수행하기 위한 로직으로 구성되는 출력 로직(50_1)으로 이루어질 수 있다. 이에 대한 설명은 상술한 바와 같으므로, 자세한 설명은 생략하기로 한다.7, the operation unit 10 is connected to the incrementer 10_1, the
도 8은 본 발명의 일 실시예에 따른 카운터 기반 멀티 사이클 프로세서 제어장치 정지 신호 또는 대기 신호가 입력되지 아니한 경우의 동작을 순서도로 도시한 것이다.FIG. 8 is a flowchart illustrating an operation in a case where a stop signal or a wait signal is not inputted to the counter-based multi-cycle processor controller according to an embodiment of the present invention.
도 8을 참조하면, 제1 카운터 값을 입력받아 인스트럭션을 인출하고(S100), 제2 카운터 신호를 입력받아, 제2 카운터 신호와 인스트럭션을 디코딩하여 제어신호를 생성할 수 있다(S110). 인출된 인스트럭션의 마지막 사이클인지 여부를 판단하고(S120), 인스트럭션의 마지막 사이클인 경우에는 카운터 리셋 신호 생성부(130)는 활성화된 카운터 리셋 신호를 생성한다(S130). 그러나, 마지막 사이클이 아닌 경우에는 활성화되지 아니한 카운터 리셋 신호를 생성하고, 제어신호를 생성하는 단계를 반복한다. 활성화된 카운터 리셋 신호를 입력받으면 카운터 값 선택부(30)는 초기 카운터 값을 출력하고(S140), 초기 카운터 값을 저장부(40)에 저장하여 카운터 기반 멀티 사이클 프로세서 제어 장치는 초기 상태로 돌아가게 된다(S150). 인스트럭션의 마지막 사이클인지 여부에 대한 판단은, 상술한 바와 같이 각각의 사이클마다 지정된 카운터 값을 기초로 하여 판단하는 것일 수 있다. 즉, 출력 로직부(50)는 마지막 사이클에 대응하는 카운터 값을 입력 받은 경우에는 활성화된 카운터 리셋 신호를 생성할 수 있다. 각각의 사이클에 대응하는 카운터 값은 출력 로직부(50)가 지정하여 저장하는 것일 수 있다.Referring to FIG. 8, a first counter value is received, an instruction is fetched (S100), a second counter signal is received, a second counter signal and an instruction are decoded to generate a control signal (S110). In operation S120, the counter reset
도 9는 본 발명의 일 실시예에 따른 카운터 기반 멀티 사이클 프로세서 제어 장치에 정지 신호 또는 대기 신호가 입력된 경우의 동작을 순서도로 도시한 것이다.FIG. 9 is a flowchart illustrating an operation when a stop signal or a wait signal is input to the counter-based multi-cycle processor control apparatus according to an embodiment of the present invention.
도 9를 참조하면, 인스트럭션을 인출하고(S100), 제2 카운터 값과 인스트럭션을 디코딩하여 제어신호를 생성하는 단계(S110)는, 정지 신호 또는 대기 신호가 입력되지 아니한 경우와 동일할 수 있다. 정지 신호 또는 대기 신호가 입력된 경우에, 제2 신호선택부(30)는 저장부(40)에 저장되어 있는 현재의 카운터 값을 선택하여 출력하여(S210), 현재의 카운터 값을 유지하게 함으로써 동일한 데이터 패스 제어신호가 생성되도록 할 수 있다(S220). 정지 신호 및 대기 신호가 모두 입력되지 아니한 경우에는 증가된 카운터 값을 디코딩하여 데이터 패스 제어신호를 생성하는 것일 수 있다(S125)Referring to FIG. 9, step S110 of fetching an instruction (S100) and decoding a second counter value and an instruction to generate a control signal (S110) may be the same as when no stop signal or wait signal is input. When a stop signal or a wait signal is input, the
도 10은 본 발명의 일 실시예에 따른 카운터 기반 멀티 사이클 프로세서 제어 장치에 포함되는 카운터 값 선택부의 동작을 순서도로 도시한 것이다.10 is a flowchart illustrating an operation of a counter value selection unit included in the counter based multicycle processor control apparatus according to an embodiment of the present invention.
도 10을 참조하면, 연산부(10)에 포함되는 제1 신호선택부(20)는, 증가된 카운터 값과 초기 카운터 값을 입력받을 수 있다(S300). 또한, 제1 신호선택부(20)는 카운터 리셋 신호를 입력받고, 카운터 리셋 신호가 활성화된 리셋 신호인지 활성화되지 아니한 리셋 신호인지 판단한다(S320). 활성화된 리셋 신호인 경우에는 초기 카운터 값을 출력하고(S330), 활성화되지 아니한 리셋 신호인 경우에는 증가된 리셋 신호를 출력할 수 있다(S340).Referring to FIG. 10, the
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 따라서, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해하여야 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내지며, 이하에 기재된 특허청구범위의 의미 및 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It will be understood by those skilled in the art that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Therefore, it should be understood that the above-described embodiments are illustrative in all aspects and not restrictive. The scope of the present invention is defined by the appended claims rather than the detailed description, and all changes or modifications derived from the meanings of the claims and their equivalents are included in the scope of the present invention. .
1 : 카운터 기반 멀티 사이클 프로세서 제어 장치
100 : 인스트럭션 인출부
110 : 데이터 패스 제어신호 생성부
120 : 카운터 리셋 신호 생성부
130 : 카운터 리셋부
10 : 연산부
20 : 제1 신호선택부
30 : 제2 신호선택부
40 : 저장부
50 : 출력 로직부1: Counter-based multi-cycle processor control unit
100: Instruction fetch unit
110: Data path control signal generation unit
120: Counter reset signal generation unit
130: counter reset section
10:
20: First signal selector
30: second signal selector
40:
50: output logic section
Claims (15)
제2 카운터 값을 생성하고, 상기 제2 카운터 값과 인출된 상기 인스트럭션을 디코딩하여 데이터 패스(path) 제어신호를 생성하는 데이터 패스 제어신호 생성부;
인출된 상기 인스트럭션의 각 사이클 단계에 대응하는 카운터 값에 따라 결정되는, 제1 카운터 리셋 신호 또는 제2 카운터 리셋 신호를 생성하는 카운터 리셋 신호 생성부를 포함하는 카운터 기반 멀티 사이클 프로세서 제어 장치.An instruction fetch unit that decodes the first counter value to generate an instruction fetch signal and fetches instructions according to the fetch instruction fetch signal;
A data path control signal generator for generating a second counter value and decoding the second counter value and the fetched instruction to generate a data path control signal;
And a counter reset signal generator for generating a first counter reset signal or a second counter reset signal, the counter reset signal being determined according to a counter value corresponding to each cycle of the fetched instruction.
상기 인스트럭션 인출부는,
상기 제1 카운터 값을 저장하는 저장부; 및
상기 저장부에 저장된 상기 제1 카운터 값을 입력받아 상기 제1 카운터 값을 디코딩하여 상기 인스트럭션 인출 신호를 생성하는 출력(output)로직부를 포함하는 카운터 기반 멀티 사이클 프로세서 제어 장치.The method according to claim 1,
The instruction fetch unit
A storage unit for storing the first counter value; And
And an output logic unit receiving the first counter value stored in the storage unit and decoding the first counter value to generate the instruction fetch signal.
상기 저장부는, 레지스터를 포함하는 카운터 기반 멀티 사이클 프로세서 제어 장치.3. The method of claim 2,
Wherein the storage comprises a register.
상기 제1 카운터 값은, 초기 카운터 값 또는, 상기 초기 카운터 값 및 상기 초기 카운터 값보다 1 증가된 카운터 값을 포함하되,
상기 초기 카운터 값은, 0인 카운터 기반 멀티 사이클 프로세서 제어 장치.3. The method of claim 2,
Wherein the first counter value includes an initial counter value or a counter value that is incremented by one from the initial counter value and the initial counter value,
Wherein the initial counter value is zero.
상기 인스트럭션 인출부는, 상기 초기 카운터 값보다 1 증가된 값을 생성하는 연산부를 더 포함하되,
상기 연산부는, 인크리먼터 또는 가산기를 포함하는 카운터 기반 멀티 사이클 프로세서 제어 장치.5. The method of claim 4,
Wherein the instruction fetch unit further comprises an operation unit for generating a value that is increased by one from the initial counter value,
Wherein the operation unit includes an incrementor or an adder.
상기 데이터 패스 제어신호 생성부는,
상기 제2 카운터 값을 저장하는 저장부; 및
상기 저장부에 저장된 상기 제2 카운터 값을 입력받고, 입력받은 상기 제2 카운터 값을 디코딩하여 데이터 패스 제어신호를 생성하는 출력 로직부;
상기 저장부에 저장된 상기 제2 카운터 값을 입력받고, 상기 제2 카운터 값보다 1 증가된 카운터 값을 생성하는 연산부; 및
상기 증가된 카운터 값 및 상기 제2 카운터 값을 입력받고, 입력받은 상기 증가된 카운터 값 또는 상기 제2 카운터 값을 출력하는 제2 신호선택부를 포함하는 카운터 기반 멀티 사이클 프로세서 제어 장치.The method according to claim 1,
Wherein the data path control signal generator comprises:
A storage unit for storing the second counter value; And
An output logic unit receiving the second counter value stored in the storage unit and decoding the input second counter value to generate a data path control signal;
An arithmetic unit for receiving the second counter value stored in the storage unit and generating a counter value that is incremented by one from the second counter value; And
And a second signal selector for receiving the incremented counter value and the second counter value and outputting the incremented counter value or the second counter value.
상기 제2 신호선택부는, 상기 제2 신호선택부가 정지신호(HALTb) 또는 대기신호(WAITb)를 입력받은 경우에, 상기 제2 카운터 값을 출력하는 카운터 기반 멀티 사이클 프로세서 제어 장치.The method according to claim 6,
Wherein the second signal selector outputs the second counter value when the second signal selector receives the stop signal (HALTb) or the wait signal (WAITb).
상기 저장부는, 레지스터를 포함하고,
상기 연산부는, 인크리먼터 또는 가산기를 포함하고,
상기 제2 신호선택부는, 멀티플렉서를 포함하는 카운터 기반 멀티 사이클 프로세서 제어 장치.The method according to claim 6,
Wherein the storage unit includes a register,
Wherein the operation unit includes an incrementor or an adder,
Wherein the second signal selector comprises a multiplexer.
상기 카운터 리셋 신호 생성부는,
저장부에 저장된 카운터 값을 입력받고, 상기 카운터 값보다 1 증가된 카운터 값을 연산하는 연산부;
상기 증가된 카운터 값을 입력받고, 상기 증가된 카운터 값 또는 초기 카운터 값을 출력하는 제1 신호선택부;
상기 제1 신호선택부가 출력한 상기 증가된 카운터 값을 저장하는 저장부; 및
상기 저장부에 저장된 복수의 카운터 값을 입력받고, 입력받은 복수의 카운터 값 각각에 대응하는 상기 제1 카운터 리셋 신호 또는 상기 제2 카운터 리셋 신호를 생성하는 출력 로직부를 포함하는 카운터 기반 멀티 사이클 프로세서 제어 장치.The method according to claim 1,
Wherein the counter reset signal generator comprises:
An operation unit receiving a counter value stored in the storage unit and calculating a counter value that is increased by one from the counter value;
A first signal selector for receiving the incremented counter value and outputting the incremented counter value or the initial counter value;
A storage unit for storing the incremented counter value outputted by the first signal selector; And
And an output logic unit receiving a plurality of counter values stored in the storage unit and generating the first counter reset signal or the second counter reset signal corresponding to each of the input plurality of counter values, Device.
상기 복수의 카운터 값은, 상기 제1 카운터 값, 상기 제2 카운터 값 및 상기 제2 카운터 값에 포함되는 제3 카운터 값을 포함하고,
상기 출력 로직부가 상기 제1 카운터 값 및 상기 제2 카운터 값을 입력받은 경우에는, 상기 제1 카운터 리셋 신호를 생성하고,
상기 출력 로직부가 상기 제3 카운터 값을 입력받은 경우에는, 상기 제2 카운터 리셋 신호를 생성하되,
상기 제3 카운터 값은, 상기 제2 카운터 값 중 상기 인스트럭션의 마지막 사이클 단계에 대응하는 카운터 값인 카운터 기반 멀티 사이클 프로세서 제어 장치.10. The method of claim 9,
Wherein the plurality of counter values include a third counter value included in the first counter value, the second counter value, and the second counter value,
When the output logic unit receives the first counter value and the second counter value, generates the first counter reset signal,
When the output logic unit receives the third counter value, generates the second counter reset signal,
Wherein the third counter value is a counter value corresponding to a last cycle stage of the instruction among the second counter values.
상기 제1 카운터 리셋 신호 또는 상기 제2 카운터 리셋 신호를 입력받고, 입력받은 상기 제1 카운터 리셋 신호 또는 상기 제2 카운터 리셋 신호에 따라, 초기 카운터 값 또는 증가된 카운터 값을 선택하여 출력하는 카운터 리셋부를 더 포함하는 카운터 기반 멀티 사이클 프로세서 제어 장치.The method according to claim 1,
A counter reset circuit which receives the first counter reset signal or the second counter reset signal and selects and outputs an initial counter value or an increased counter value in accordance with the received first counter reset signal or the second counter reset signal, Lt; RTI ID = 0.0 > of: < / RTI >
상기 카운터 리셋부는,
상기 제1 카운터 값 또는 상기 제2 카운터 값을 입력받고, 상기 제1 카운터 값 또는 상기 제2 카운터 값보다 1 증가된 상기 증가된 카운터 값을 생성하는 연산부;
상기 증가된 카운터 값 및 상기 초기 카운터 값과, 상기 제1 카운터 리셋 신호 또는 상기 제2 카운터 리셋 신호를 입력받고, 상기 제1 카운터 리셋 신호를 입력받은 경우에는 상기 증가된 카운터 값을 출력하고, 상기 제2 카운터 리셋 신호를 입력받은 경우에는, 상기 초기 카운터 값을 출력하는 제1 신호선택부; 및
상기 제1 카운터 값, 상기 제2 카운터 값, 상기 증가된 카운터 값 및 상기 초기 카운터 값을 저장하는 저장부를 포함하는 카운터 기반 멀티 사이클 프로세서 제어 장치.12. The method of claim 11,
Wherein the counter reset unit comprises:
An operation unit that receives the first counter value or the second counter value and generates the incremented counter value that is incremented by one from the first counter value or the second counter value;
The first counter reset signal or the second counter reset signal and outputs the increased counter value when the first counter reset signal is received, A first signal selector for outputting the initial counter value when a second counter reset signal is input; And
And a storage unit for storing the first counter value, the second counter value, the incremented counter value, and the initial counter value.
상기 연산부는, 인크리먼터 또는 가산기를 포함하고,
상기 제1 신호선택부는, 멀티플렉서를 포함하고,
상기 저장부는, 레지스터를 포함하는 카운터 기반 멀티 사이클 프로세서 제어 장치.13. The method of claim 12,
Wherein the operation unit includes an incrementor or an adder,
Wherein the first signal selector includes a multiplexer,
Wherein the storage comprises a register.
상기 제1 카운터 값은, 상기 인스트럭션 인출부가 상기 인스트럭션을 인출하도록 지정된 카운터 값이고,
상기 제2 카운터 값은, 상기 데이터 패스 제어신호 생성부가 상기 데이터 패스 제어신호를 생성하도록 지정된 카운터 값인 카운터 기반 멀티 사이클 프로세서 제어 장치.The method according to claim 1,
Wherein the first counter value is a counter value designated by the instruction fetch section to fetch the instruction,
Wherein the second counter value is a counter value that the datapath control signal generator is designed to generate the datapath control signal.
상기 제1 카운터 값 또는 제2 카운터 값을 입력받고, 상기 제1 카운터 값 또는 제2 카운터 값보다 1 증가된 카운터 값을 연산하는 인크리먼터;
초기 카운터 값 또는 상기 증가된 카운터 값을 입력받고, 입력된 상기 초기 카운터 값 또는 입력된 상기 증가된 카운터 값 중 어느 하나를 선택하여 출력하는 제1 멀티플렉서;
상기 제1 멀티플렉서가 출력한 상기 초기 카운터 값 또는 상기 증가된 카운터 값 중 어느 하나의 값과, 레지스터에 저장된 현재의 카운터 값 중 어느 하나를 상기 레지스터로 전송하는 제2 멀티플렉서를 포함하되,
상기 제2 멀티플렉서는, 상기 제2 멀티플렉서가 정지 신호 또는 대기 신호를 입력받은 경우에 상기 레지스터가 출력하여 카운터 값을 상기 레지스터로 전송하는 카운터 기반 멀티 사이클 프로세서 제어 장치.An output logic unit for receiving and decoding a first counter value to fetch an instruction, receiving and decoding the fetched instruction and a second counter value, and generating a data path control signal;
An incrementer that receives the first counter value or the second counter value and calculates a counter value that is incremented by one from the first counter value or the second counter value;
A first multiplexer receiving the initial counter value or the incremented counter value and selecting one of the input initial count value and the incremented counter value;
And a second multiplexer for transmitting any one of the initial counter value or the incremented counter value output from the first multiplexer and the current counter value stored in the register to the register,
And the second multiplexer outputs the counter and transmits the counter value to the register when the second multiplexer receives the stop signal or the wait signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130060447A KR101484600B1 (en) | 2013-05-28 | 2013-05-28 | Counter-based multi-cycle processor control unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130060447A KR101484600B1 (en) | 2013-05-28 | 2013-05-28 | Counter-based multi-cycle processor control unit |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140139835A KR20140139835A (en) | 2014-12-08 |
KR101484600B1 true KR101484600B1 (en) | 2015-01-22 |
Family
ID=52457958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20130060447A KR101484600B1 (en) | 2013-05-28 | 2013-05-28 | Counter-based multi-cycle processor control unit |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101484600B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100866428B1 (en) | 2002-05-09 | 2008-10-31 | 인텔 코오퍼레이션 | A graphic memory controller hub and a control circuit thereof, an integrated device and a computing device |
KR20110050725A (en) * | 2008-11-24 | 2011-05-16 | 인텔 코포레이션 | Systems, methods, and apparatuses to decompose a sequential program into multiple threads, execute said threads, and reconstruct the sequential execution |
KR20110128949A (en) * | 2009-03-20 | 2011-11-30 | 콸콤 인코포레이티드 | Memory access controller, systems, and methods for optimizing memory access times |
KR20120030332A (en) * | 2009-05-27 | 2012-03-28 | 마이크로칩 테크놀로지 인코포레이티드 | Dsp engine with implicit mixed operands |
-
2013
- 2013-05-28 KR KR20130060447A patent/KR101484600B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100866428B1 (en) | 2002-05-09 | 2008-10-31 | 인텔 코오퍼레이션 | A graphic memory controller hub and a control circuit thereof, an integrated device and a computing device |
KR20110050725A (en) * | 2008-11-24 | 2011-05-16 | 인텔 코포레이션 | Systems, methods, and apparatuses to decompose a sequential program into multiple threads, execute said threads, and reconstruct the sequential execution |
KR20110128949A (en) * | 2009-03-20 | 2011-11-30 | 콸콤 인코포레이티드 | Memory access controller, systems, and methods for optimizing memory access times |
KR20120030332A (en) * | 2009-05-27 | 2012-03-28 | 마이크로칩 테크놀로지 인코포레이티드 | Dsp engine with implicit mixed operands |
Also Published As
Publication number | Publication date |
---|---|
KR20140139835A (en) | 2014-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10061590B2 (en) | Generating and executing a control flow | |
KR101660659B1 (en) | Executing subroutines in a multi-threaded processing system | |
US9342478B2 (en) | Processor with reconfigurable architecture including a token network simulating processing of processing elements | |
CN104272248B (en) | The Predicate evaluation method and apparatus that processor instruction is concentrated | |
US8429380B2 (en) | Disabling redundant subfunctional units receiving same input value and outputting same output value for the disabled units in SIMD processor | |
CN112230992B (en) | Instruction processing device, processor and processing method thereof comprising branch prediction loop | |
US7971040B2 (en) | Method and device for saving and restoring a set of registers of a microprocessor in an interruptible manner | |
JP2010044578A (en) | Multicore processor | |
JP2015531124A (en) | Selectively activating a resume check operation in a multi-threaded processing system | |
US20220318186A1 (en) | Conditional operations in a vector processor having true and false vector index registers | |
US8484520B2 (en) | Processor capable of determining ECC errors | |
JP5926655B2 (en) | Central processing unit and arithmetic unit | |
US10877925B2 (en) | Vector processor with vector first and multiple lane configuration | |
US8656143B2 (en) | Variable clocked heterogeneous serial array processor | |
JP2010117806A (en) | Semiconductor device and data processing method by semiconductor device | |
KR101484600B1 (en) | Counter-based multi-cycle processor control unit | |
JP6378515B2 (en) | VLIW processor | |
JP2006072961A (en) | Memory circuit for arithmetic processing unit | |
JP2013161484A (en) | Reconfigurable computing apparatus, first memory controller and second memory controller therefor, and method of processing trace data for debugging therefor | |
JP2006018411A (en) | Processor | |
JP2006293741A (en) | Processor | |
JP2014164659A (en) | Processor | |
US20060271610A1 (en) | Digital signal processor having reconfigurable data paths | |
JP5701930B2 (en) | Semiconductor device | |
US9164770B2 (en) | Automatic control of multiple arithmetic/logic SIMD units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190103 Year of fee payment: 5 |