KR101538425B1 - Processor and instruction processing method in processor - Google Patents

Processor and instruction processing method in processor Download PDF

Info

Publication number
KR101538425B1
KR101538425B1 KR1020120034337A KR20120034337A KR101538425B1 KR 101538425 B1 KR101538425 B1 KR 101538425B1 KR 1020120034337 A KR1020120034337 A KR 1020120034337A KR 20120034337 A KR20120034337 A KR 20120034337A KR 101538425 B1 KR101538425 B1 KR 101538425B1
Authority
KR
South Korea
Prior art keywords
instructions
instruction
core
processor
micro
Prior art date
Application number
KR1020120034337A
Other languages
Korean (ko)
Other versions
KR20130032815A (en
Inventor
권영수
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US13/608,774 priority Critical patent/US9274794B2/en
Publication of KR20130032815A publication Critical patent/KR20130032815A/en
Application granted granted Critical
Publication of KR101538425B1 publication Critical patent/KR101538425B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Abstract

본 발명은 외부메모리에 저장되어 있는 제 1 명령어들의 적어도 일부, 및 복수의 마이크로 명령어를 각각 포함하는 제 2 명령어들을 저장하는 명령 캐시; 상기 각 제 2 명령어에 포함된 상기 복수의 마이크로 명령어의 각각에 대응하는 제 3 명령어들을 저장하는 마이크로 캐시; 및 상기 명령 캐시로부터 상기 제 1 및 제 2 명령어들을 읽어서 연산을 수행하는 코어를 포함하되, 상기 코어는 정상 모드 하에서는 상기 명령 캐시로부터의 제 1 명령어들에 의해 연산을 수행하고, 프로세서가 마이크로 명령어 모드에 진입하면, 상기 코어는 상기 마이크로 캐시로부터 제공되는 상기 복수의 마이크로 명령어에 대응하는 상기 제 3 명령어들에 의해 연산을 수행하는 것을 특징으로 하는, 프로세서에 관한 것이다.The present invention relates to an instruction cache that stores second instructions each including at least a portion of first instructions stored in an external memory and a plurality of microinstructions, A microcache storing third instructions corresponding to each of the plurality of microinstructions included in each second instruction; And a core for performing operations by reading the first and second instructions from the instruction cache, wherein the core performs operations by first instructions from the instruction cache under normal mode, , The core performs an operation by the third instructions corresponding to the plurality of microinstructions provided from the microcache.

Description

프로세서 및 프로세서에서의 명령 처리방법{PROCESSOR AND INSTRUCTION PROCESSING METHOD IN PROCESSOR}PROCESSOR AND INSTRUCTION PROCESSING METHOD IN PROCESSOR [0002]

본 발명은 프로세서 및 프로세서에서의 명령 처리방법에 관한 것으로, 더욱 구체적으로는 프로세서에서 자주 실행되거나 처리되는 명령어들에 대해서는 단일 사이클 동안에 다수의 명령어들이 코어에서 동시에 처리될 수 있도록 함으로써 프로세서의 처리 능력을 향상시키고 전력저감을 구현할 수 있도록 하는 프로세서 및 프로세서에서의 명령 처리방법에 관한 것이다.
The present invention relates to a processor and a method for processing instructions in a processor, and more particularly, to a processor capable of simultaneously processing a plurality of instructions in a core during a single cycle for instructions that are frequently executed or processed in the processor And to a method for processing instructions in a processor.

본 발명의 배경기술은 대한민국 등록특허공보 제 1996-0015584호(1996. 11. 18 공개)에 개시되어 있다.
The background art of the present invention is disclosed in Korean Patent Publication No. 1996-0015584 (published on November 18, 1996).

프로세서(Processor)는 메모리 또는 디스크 등의 외부 메모리에 저장된 명령어를 읽어 들여 그 명령어에 인코딩된 동작에 따라서 피연산자(Operand)에 특정 연산을 행하고, 그 결과를 다시 저장함으로써 특정 응용영역(Application)을 위한 알고리즘을 실행하는 하드웨어 등을 의미한다.A processor reads an instruction stored in an external memory such as a memory or a disk, performs a specific operation on the operand according to the operation encoded in the instruction, stores the result again, Hardware that executes the algorithm, and the like.

프로세서의 응용영역은 시스템 반도체 전분야에 걸쳐서 광대하게 미치고 있다. 프로세서의 응용영역은 비디오 데이터의 압축과 해제, 오디오 데이터의 압축과 해제, 오디오 데이터의 변형 및 음향 효과와 같은 대용량의 멀티미디어 데이터에 대한 고성능 미디어 데이터 처리, 유무선 통신용 모뎀, 보이스 코덱 알고리즘, 네트워크 데이터 처리, 터치스크린, 가전기기용 콘트롤러, 모터제어와 같은 최소 성능의 마이크로콘트롤러 플랫폼, 무선 센서 네트웍(Wireless Sensor Network) 또는 초소형 전자장치(Electronics Dust)와 같은 안정적인 전원공급이 불가능하거나 외부로부터의 전원공급이 불가능한 장치에 이르기까지 다양하게 확대되고 있다.The application area of the processor is extensively encompassing the entire field of system semiconductors. The application areas of the processor include high performance media data processing for large amounts of multimedia data such as compression and decompression of video data, compression and decompression of audio data, audio data transformation and sound effects, modem for wired and wireless communication, voice codec algorithm, , A touchscreen, a controller for consumer electronics, a minimal-performance microcontroller platform such as motor control, a wireless sensor network or an electronics dust, To devices that can not.

프로세서는 기본적으로 코어(Core), 변환색인 버퍼(TLB, Translation Lookaside Buffer), 및 캐시(Cache)를 포함하여 이루어져 있다. 프로세서가 수행할 작업은 다수의 명령어(Instruction)의 조합으로 규정된다. 즉, 명령어가 메모리에 저장되어 있고, 프로세서에 이 명령어들이 순차적으로(Sequentially) 입력되면, 매 클럭 사이클마다 프로세서는 특정 연산을 행하게 된다. 변환색인버퍼(TLB)는 운영체제 기반의 어플리케이션 구동을 위하여 가상 어드레스를 물리 어드레스로 변환하는 기능을 하며, 캐시(Cache)는 외부 메모리에 저장되어 있는 명령어를 칩 내부에 잠시 저장함으로써 프로세서의 속도를 증대시키는 역할을 한다.The processor basically comprises a Core, a Translation Lookaside Buffer (TLB), and a Cache. The work to be performed by the processor is defined by a combination of a plurality of instructions. That is, when an instruction is stored in a memory and the instructions are sequentially input to the processor, the processor performs a specific operation every clock cycle. The translation lookaside buffer (TLB) translates virtual addresses into physical addresses for operating applications based on the operating system. The cache temporarily stores instructions stored in the external memory in the chip to increase the speed of the processor .

일반적으로 캐시는 처리속도가 상대적으로 고속인 프로세서(processor)와 상대적으로 저속인 외부 메모리 사이에서 일시적으로 정보를 저장하는 고속의 기억장치를 의미한다. 이러한 캐시는 공유 프로그램의 수행시 참조집약성(locality of reference)을 이용하여 컴퓨터의 처리속도를 빠르게 할 수 있다. 즉, 컴퓨터 프로그램이 실행될 때 프로세서가 접근하는 외부 메모리 내의 주소를 관찰하면 어느 한정된 시간에 외부 메모리의 한두 영역만이 집중적으로 접근되는 것을 관찰할 수 있으며, 이를 공간의 집약성이라 한다. 이러한 성질을 이용하여 외부 메모리와 프로세서의 사이에 고속의 캐시를 두어 여기에 자주 사용되는 외부 메모리의 일부 영역을 저장함으로써, 프로세서가 외부 메모리를 접근하는 데에 걸리는 시간을 단축할 수 있다.In general, a cache is a high-speed storage device that temporarily stores information between a processor having a relatively high processing speed and an external memory having a relatively low processing speed. Such a cache can speed up the processing speed of the computer by using the locality of reference when executing the shared program. That is, when a computer program is executed, it is observed that only one or two areas of the external memory are accessed intensively at a certain time when the address in the external memory accessed by the processor is observed. By using such a property, a high-speed cache is provided between the external memory and the processor, thereby storing a portion of the external memory frequently used therein, thereby shortening the time required for the processor to access the external memory.

다시 말하면, 프로세서의 코어(core)가 외부 메모리에서 데이터를 읽어오기 위해서는 통상적으로 10~100 사이클의 상당한 시간이 소모되는데, 이것은 코어가 작업을 하지 않는 아이들(idle) 상태에서 장시간 머무르게 하는 요인이 된다. 캐시는 코어가 자주 사용하는 명령어를 코어에 직접적으로 연결된 칩 내의 메모리에 저장한 유닛인 것으로서, 코어가 외부 메모리에 접근하는 데에 걸리는 시간을 단축시키는 역할을 한다. 캐시는 명령어를 외부의 대용량 메모리 대신 칩 내부에 잠시 저장하는 역할을 한다.In other words, a considerable time of 10 to 100 cycles is usually required for the core of the processor to read data from the external memory, which causes the core to stay in idle state for a long time . The cache is a unit that stores frequently used instructions in memory in a chip directly connected to the core, which shortens the time it takes for the core to access the external memory. The cache is used to temporarily store the instructions in the chip instead of the external large memory.

캐시는 프로세서의 성능에 상당한 영향을 미치는데, 만약 코어가 특정 명령어를 요구할 때 캐시에 프로세서가 요구하는 상기 명령어가 없으면 코어는 외부 메모리에서 그 명령어를 읽어 와야 하기 때문에 캐시는 프로세서가 요청할 만한 명령어를 최대한 가질 수 있도록 운용되어야 한다.The cache has a significant impact on the performance of the processor. If the core does not have the above-mentioned instruction in the cache when it requests a specific instruction, the core must read the instruction from external memory. It should be operated as much as possible.

그런데, 코어가 캐시에서 명령어를 읽어올 때마다 그에 따라 전력이 소비되기 때문에, 캐시는 프로세서의 전력 소비 측면에 상당한 영향을 미친다. 종래에는 자주 처리되는 명령어들에 대해서도 캐시에서 각 명령어들이 읽혀져 올 때마다 전력이 소비됨으로 인하여 전력소비량이 증가할 뿐만 아니라, 코어가 캐시로부터 각 명령어들을 순차적으로 읽어 옴에 따라 프로세서의 처리 능력에도 어느 정도의 한계가 있는 문제점이 있었다.
However, since power is consumed by the core each time it reads an instruction from the cache, the cache has a significant impact on the power consumption aspect of the processor. Conventionally, even for frequently processed instructions, power consumption is increased each time each instruction is read from the cache. In addition, since the core sequentially reads each instruction from the cache, There is a problem in that there is a limit of.

따라서, 본 발명이 이루고자하는 기술적 과제는, 프로세서에서 자주 실행되거나 처리되는 명령어들에 대해서는 단일 사이클 동안에 다수의 명령어들이 코어에서 동시에 처리될 수 있도록 함으로써 프로세서의 처리 능력을 향상시키고 전력저감을 구현할 수 있도록 하는 프로세서 및 프로세서에서의 명령 처리방법을 제공하는 데에 있다.
SUMMARY OF THE INVENTION Accordingly, it is an aspect of the present invention to provide a processor capable of increasing processing power and implementing power reduction by allowing multiple instructions to be processed simultaneously in the core during a single cycle for instructions that are frequently executed or processed in the processor And a method of processing instructions in a processor.

본 발명의 일 양태에 따르면, 본 발명은 외부메모리에 저장되어 있는 제 1 명령어들의 적어도 일부, 및 복수의 마이크로 명령어를 각각 포함하는 제 2 명령어들을 저장하는 명령 캐시; 상기 각 제 2 명령어에 포함된 상기 복수의 마이크로 명령어의 각각에 대응하는 제 3 명령어들을 저장하는 마이크로 캐시; 및 상기 명령 캐시로부터 상기 제 1 및 제 2 명령어들을 읽어서 연산을 수행하는 코어를 포함하되, 상기 코어는 정상 모드 하에서는 상기 명령 캐시로부터의 제 1 명령어들에 의해 연산을 수행하고, 프로세서가 마이크로 명령어 모드에 진입하면, 상기 코어는 상기 마이크로 캐시로부터 제공되는 상기 복수의 마이크로 명령어에 대응하는 상기 제 3 명령어들에 의해 연산을 수행하는 것을 특징으로 하는, 프로세서를 제공한다.According to one aspect of the present invention, the present invention provides an instruction cache that stores second instructions each including at least a portion of first instructions stored in an external memory and a plurality of microinstructions; A microcache storing third instructions corresponding to each of the plurality of microinstructions included in each second instruction; And a core for performing operations by reading the first and second instructions from the instruction cache, wherein the core performs operations by first instructions from the instruction cache under normal mode, The core performs an operation by the third instructions corresponding to the plurality of microinstructions provided from the microcache.

본 발명에서, 상기 제 1 명령어들 중 프로세서 상태 레지스터를 변경하는 명령어를 상기 코어가 실행하면, 상기 프로세서는 상기 마이크로 명령어 모드에 진입하는 것이 바람직하다.In the present invention, when the core executes the instruction to change the processor status register among the first instructions, the processor preferably enters the micro instruction mode.

본 발명에서, 상기 마이크로 명령어 모드에 진입하면, 상기 코어는 상기 제 2 명령어들을 상기 마이크로 캐시에 제공하고, 상기 마이크로 캐시는 제공된 상기 제 2 명령어들을 상기 제 2 명령어들에 포함된 복수의 마이크로 명령어에 대응하는 상기 제 3 명령어들로 변환하여 상기 코어로 출력하는 것이 바람직하다.In the present invention, when entering the micro-instruction mode, the core provides the second instructions to the micro-cache, and the micro-cache transfers the provided second instructions to a plurality of micro-instructions included in the second instructions And outputs the third instructions to the core.

본 발명에서, 상기 복수의 마이크로 명령어의 각각은 상기 마이크로 캐시 내에서 대응하는 상기 제 3 명령어가 저장되어 있는 어드레스를 나타내는 것이 바람직하다.In the present invention, it is preferable that each of the plurality of micro-instructions indicates an address where the corresponding third instruction is stored in the micro-cache.

본 발명에서, 상기 제 2 명령어들의 각각은 8 비트폭(bitwidth)을 갖는 4개의 상기 마이크로 명령어들을 포함하고, 상기 마이크로 명령어 각각에 대응하는 상기 제 3 명령어는 32 비트폭을 갖는 것이 바람직하다.In the present invention, it is preferable that each of the second instructions includes four micro-instructions having an 8-bit width, and the third instruction corresponding to each of the micro-instructions has a 32-bit width.

본 발명에서, 상기 코어는, 상기 마이크로 캐시 내의 상기 복수의 마이크로 명령어 각각에 대응하는 어드레스에 상기 대응하는 제 3 명령어를 저장하는 명령 기입 유닛을 포함하는 것이 바람직하다.In the present invention, it is preferable that the core includes an instruction write unit that stores the corresponding third instruction at an address corresponding to each of the plurality of micro instructions in the microcache.

본 발명에서, 상기 프로세서는, 정기적 또는 비정기적으로 자주 수행되는 명령어들을 탐색하고 상기 탐색된 결과에 기초하여 상기 마이크로 캐시에 저장될 상기 제 3 명령어를 갱신하는 것이 바람직하다.In the present invention, it is preferable that the processor searches for instructions that are frequently executed regularly or irregularly, and updates the third instruction to be stored in the microcache based on the search result.

또한, 본 발명의 다른 양태에 따르면, 본 발명은 코어가 명령 캐시로부터 제 1 명령어들의 적어도 일부, 또는 복수의 마이크로 명령어를 각각 포함하는 제 2 명령어들을 제공받는 단계; 프로세서가 마이크로 명령어 모드에 진입하면 상기 코어가 제 2 명령어들을 마이크로 캐시에 제공하는 단계로서, 상기 마이크로 캐시는 상기 각 제 2 명령어에 포함된 상기 복수의 마이크로 명령어의 각각에 대응하는 제 3 명령어들을 저장하고 있는, 단계; 상기 마이크로 캐시가 상기 코어로 상기 복수의 마이크로 명령어에 대응하는 상기 제 3 명령어들을 출력하는 단계; 및 상기 코어가 상기 제 3 명령어들에 따라 연산을 수행하는 단계를 포함하는 것을 특징으로 하는, 프로세서에서의 명령 처리방법을 제공한다.Further, according to another aspect of the present invention, the present invention provides a method comprising: receiving a second instruction from a instruction cache, the core comprising at least a part of first instructions or a plurality of micro instructions; The core providing second instructions to a microcache when the processor enters a microinstruction mode, the microcache storing third instructions corresponding to each of the plurality of microinstructions contained in each second instruction Doing; step; Outputting the third instructions corresponding to the plurality of microinstructions to the core; And a step in which the core performs an operation in accordance with the third instructions.

본 발명에서, 상기 마이크로 캐시가 상기 제 3 명령어들을 출력하는 단계는, 상기 마이크로 캐시가 상기 제 2 명령어들을 상기 제 2 명령어들에 포함된 복수의 마이크로 명령어에 대응하는 상기 제 3 명령어들로 변환하여 상기 코어로 출력하는 단계를 포함하는 것이 바람직하다.
In the present invention, the step of outputting the third instructions by the microcache may include converting the second instructions into the third instructions corresponding to the plurality of microinstructions included in the second instructions And outputting to the core.

본 발명에 따른 프로세서 및 프로세서에서의 명령 처리방법은 프로세서에서 자주 실행되거나 처리되는 명령어들에 대해서는 단일 사이클 동안에 다수의 명령어들이 코어에서 동시에 처리될 수 있도록 함으로써 프로세서의 처리 능력을 향상시키고 전력저감을 구현할 수 있도록 하는 효과가 있다.
A processor and a method of processing instructions in a processor in accordance with the present invention can improve the processing power of the processor and implement power reduction by allowing multiple instructions to be processed simultaneously in the core during a single cycle for instructions that are frequently executed or processed in the processor There is an effect to be able to.

도 1은 본 발명에 의한 일 실시예에 따른 프로세서의 구성을 도시한 것이다.
도 2는 본 실시예에 따른 프로세서에서 코어와 마이크로 캐시 간의 명령 처리방법을 설명하기 위한 간략도이다.
도 3은 본 실시예에 따른 프로세서의 명령 캐시에 저장되는 명령어들을 나타낸 것이다.
1 illustrates a configuration of a processor according to an embodiment of the present invention.
2 is a schematic diagram for explaining a method of processing a command between a core and a microcache in a processor according to the present embodiment.
3 shows the instructions stored in the instruction cache of the processor according to the present embodiment.

아래에서는 첨부한 도면을 참고로하여 본 발명의 실시예에 대하여 본발명이속하는 기술분야에서 통상의 지식을 가진자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지않는다. 그리고 도면에서 본발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

도 1은 본 발명에 의한 일 실시예에 따른 프로세서의 구성을 도시한 것이고, 도 2는 본 실시예에 따른 프로세서에서 코어와 마이크로 캐시 간의 명령 처리방법을 설명하기 위한 간략도이며, 도 3은 본 실시예에 따른 프로세서의 명령 캐시에 저장되는 명령어들을 나타낸다. 도 1 내지 3을 참조하여 본 발명을 설명하면 다음과 같다. FIG. 1 is a diagram illustrating a configuration of a processor according to an embodiment of the present invention. FIG. 2 is a simplified diagram for explaining a method of processing a command between a core and a microcache in a processor according to the present embodiment. FIG. 4 illustrates instructions stored in an instruction cache of a processor according to an embodiment. FIG. The present invention will be described with reference to FIGS. 1 to 3. FIG.

도 1 내지 3에 도시된 바와 같이, 본 실시예에 따른 프로세서는 외부메모리(미도시)에 저장되어 있는 제 1 명령어들(10)의 적어도 일부, 및 복수의 마이크로 명령어를 각각 포함하는 제 2 명령어들(15)을 저장하는 명령 캐시(130); 상기 각 제 2 명령어(15)에 포함된 상기 복수의 마이크로 명령어의 각각에 대응하는 제 3 명령어들(inst0~inst3)을 저장하는 마이크로 캐시(140); 및 상기 명령 캐시(130)로부터 상기 제 1 및 제 2 명령어들(10, 15)을 읽어서 연산을 수행하는 코어(110)를 포함한다. As shown in Figures 1 to 3, the processor according to the present embodiment includes at least a portion of first instructions 10 stored in an external memory (not shown), and a second instruction An instruction cache 130 for storing the data 15; A microcache (140) for storing third instructions (inst0 to inst3) corresponding to each of the plurality of microinstructions included in each second instruction (15); And a core 110 for reading the first and second instructions 10 and 15 from the instruction cache 130 to perform an operation.

코어(110)는 정상 모드 하에서는 명령 캐시(130)로부터의 제 1 명령어들(10)에 의해 연산을 수행하고, 프로세서가 마이크로 명령어 모드에 진입하면, 코어(110)는 마이크로 캐시(140)로부터 제공되는 상기 복수의 마이크로 명령어에 대응하는 상기 제 3 명령어들(inst0~inst3)에 의해 연산을 수행한다.Core 110 performs operations by first instructions 10 from instruction cache 130 under normal mode and if core 110 enters a microinstruction mode the core 110 provides from microcache 140 And the third instructions inst0 to inst3 corresponding to the plurality of microinstructions.

프로세서가 상기 마이크로 명령어 모드에 진입하면, 코어(110)는 상기 제 2 명령어들(15)을 마이크로 캐시(140)에 제공하고, 마이크로 캐시(140)는 제공된 상기 제 2 명령어들(15)을 상기 제 2 명령어들(15)에 포함된 복수의 마이크로 명령어에 대응하는 제 3 명령어들(inst0~inst3)로 치환 내지는 변환하여 상기 코어(110)로 출력한다.When the processor enters the micro-instruction mode, the core 110 provides the second instructions 15 to the micro-cache 140, and the micro-cache 140 provides the second instructions 15, (Inst0 to inst3) corresponding to a plurality of microinstructions included in the second instructions 15, and outputs the third instructions inst1 to inst3 to the core 110. [

특히, 상기 제 2 명령어들(15)의 각각은 8 비트폭(bitwidth)을 갖는 4개의 상기 마이크로 명령어들을 포함할 수 있고, 상기 마이크로 명령어 각각에 대응하는 상기 제 3 명령어(inst0~inst3)는 32 비트폭을 가질 수 있다.In particular, each of the second instructions 15 may include four of the microinstructions having an 8-bit width, and the third instructions inst0 to inst3 corresponding to each of the microinstructions may be 32 Bit width.

코어(110)는, 마이크로 캐시(140) 내의 상기 복수의 마이크로 명령어 각각에 대응하는 어드레스에 상기 대응하는 제 3 명령어(inst0~inst3)를 저장하는 명령 기입 유닛(112)을 포함할 수 있다.
The core 110 may include an instruction write unit 112 for storing the corresponding third instructions inst0 to inst3 at addresses corresponding to each of the plurality of micro instructions in the microcache 140. [

이와 같이 구성된 본 실시예의 동작 및 작용을 도 1 내지 도 3을 참조하여 구체적으로 설명한다.The operation and operation of the present embodiment thus configured will be described in detail with reference to Figs. 1 to 3. Fig.

도 1에서 코어(110)는 각종 명령어들을 읽어서 프로세서의 연산을 행하는 유닛이다. 변환 색인버퍼(TLB, 120)는 가상 어드레스를 물리 어드레스로 변환하는 유닛이다. 그리고, 명령 캐시(Instruction Cache, 130)는 외부 메모리(미도시)에 저장되어 있는 프로그램 코드 중 일부를 저장하는 장치로서, 각종 명령어를 고속으로 읽어오기 위한 유닛이다. 1, the core 110 is a unit that reads various instructions and performs operations of the processor. The translation index buffer (TLB) 120 is a unit for converting a virtual address into a physical address. The instruction cache 130 is a unit for storing a part of program codes stored in an external memory (not shown), and is a unit for reading various instructions at high speed.

본 실시예에서 제안하는 마이크로 캐시(140)는 코어(110)에 연결되어 있는 유닛으로서, 후술하는 바와 같이 마이크로 명령어 모드 하에서 코어(110)로부터 제공되는 마이크로 명령어들에 대응하여 저장되어 있는 정규의 명령어들을 코어(110)로 제공하는 역할을 수행한다. 코어(110)는 마이크로 캐시(140)에 저장되어야 할 내용을 마이크로 명령어 라이트 버스를 통하여 기입(Write)한다. 그리고, 코어(110)는 현재의 프로세서 동작 모드가 마이크로 명령어 모드일 경우 마이크로 명령어 리드 버스를 통하여 명령어들을 리드한다.The microcache 140 proposed in the present embodiment is a unit connected to the core 110. The microcache 140 is a unit of a normal instruction stored in correspondence with microinstructions provided from the core 110 under the microinstruction mode, To the core (110). The core 110 writes contents to be stored in the microcache 140 through a micro-instruction write bus. The core 110 then reads instructions via the micro-instruction read bus when the current processor operating mode is the micro-instruction mode.

도 3에 도시된 바와 같이, 명령 캐시(130)에는 외부메모리(미도시)에 저장되어 있는 제 1 명령어들 중 적어도 일부의 명령어들(10)과, 복수의 마이크로 명령어를 각각 포함하여 구성된 제 2 명령어들(15)이 저장되어 있다. 여기서, 제 1 명령어들(10)은 프로세서에서 연산 또는 처리되는 정규 명령어들을 의미한다. 그리고, 각각의 제 2 명령어(15)에 포함되어 있는 마이크로 명령어들은 정규 명령어는 아니지만 마이크로 명령어 모드 하에서 마이크로 캐시(140)에 저장되어 있는 대응 명령어인 제 3명령어(inst0~inst3)를 읽어오기 위한 인덱스 역할을 하는 명령어이다.As shown in FIG. 3, the instruction cache 130 includes at least some instructions 10 of the first instructions stored in an external memory (not shown) and a second Instructions 15 are stored. Here, the first instructions 10 mean regular instructions that are computed or processed by the processor. The microinstructions included in the respective second instructions 15 are indexes for reading the third instructions inst0 to inst3 which are not regular instructions but are corresponding instructions stored in the microcache 140 under the microinstruction mode It is a command that plays a role.

명령 캐시(130)에 저장된 명령어들은 일반적으로 32비트의 비트폭(Bitwidth)을 가지고 있어서, 연산의 종류, 오퍼랜드(Operand) 및 플래그(flag) 셋팅 방법을 지정한다.The instructions stored in the instruction cache 130 generally have a bit width of 32 bits to specify a type of operation, an operand, and a flag setting method.

정상모드 하에서는, 코어(110)는 명령 캐시(130)에 저장되어 있는 정규 명령어인 제 1 명령어들(10)을 읽어서 이에 따른 특정 연산을 수행한다. 즉, 정상모드 하에서 코어(110)는 명령 캐시(130)에 저장되어 있는 정규 명령어인 제 1 명령어들(10)을 순차적으로 읽어서 특정 연산을 수행하는 통상의 프로세서에서와 동일한 동작 메커니즘에 의한 연산을 수행한다.Under normal mode, the core 110 reads the first instructions 10, which are regular instructions stored in the instruction cache 130, and performs specific operations accordingly. That is, under the normal mode, the core 110 performs operations based on the same operation mechanism as that of a normal processor that sequentially reads the first instructions 10, which are regular instructions stored in the instruction cache 130, .

하지만, 본 실시예에서는, 코어(110)가 프로세서 상태 레지스터(Processor Mode Register)를 변경하는 명령어인 명령어(psr, 11)를 명령 캐시(130)로부터 읽어 들여서 실행하게 되면, 프로세서의 동작 모드는 "마이크로 명령어 모드"로 진입하게 된다. 마이크로 명령어 모드는 본 실시예의 제 2 명령어(15)에 포함되어 있는 마이크로 명령어를 이용하여 그에 대응하는 제 3명령어(inst0~inst3)를 읽어 들여서 연산을 수행하는 모드를 말한다.However, in the present embodiment, when the core 110 reads the instruction psr 11, which is an instruction for changing the processor status register, from the instruction cache 130 and executes it, the operation mode of the processor becomes " Quot; micro command mode ". The microcommand mode refers to a mode in which the microcomputer included in the second instruction 15 of the present embodiment is used to read the third instructions inst0 to inst3 corresponding thereto and perform the operation.

프로세서의 동작 모드가 마이크로 명령어 모드에 진입하게 되면, 코어(110)는 명령 캐시(130)로부터 입력되는 각각의 제 2 명령어(15) 32비트를 마이크로 id로 인식하는데, 각각의 제 2 명령어(15) 내에는 8비트의 마이크로 명령어 4개가 포함되어 있다. 이러한 8비트의 마이크로 명령어들은 마이크로 캐시(140)에 의하여 32비트의 제 3 명령어들(inst0~inst3)로 치환되어 코어(110)로 출력된다. 즉, 코어(110)는 32비트 데이터인 제 2 명령어들(15)을 명령 캐시(130)로부터 읽어 와서 마이크로 캐시(140)에 제공하고, 마이크로 캐시(140)는 각각의 8비트의 마이크로 명령어에 대응하는 32비트의 제 3 명령어(inst0~inst3)를 코어(110)로 출력한다. 즉, 제 2 명령어(15)에 포함되어 있는 각 8비트의 마이크로 명령어를 32비트의 제 3 명령어(inst0~inst3)로 치환하게 되므로, 4개의 32비트 명령어가 한번에 처리되게 된다.When the operating mode of the processor enters the micro-instruction mode, the core 110 recognizes 32 bits of each second instruction 15 input from the instruction cache 130 as micro-id, and each second instruction 15 ) Contains four 8-bit microcommands. These 8-bit microcommands are replaced with 32-bit third instructions inst0 to inst3 by the microcache 140 and output to the core 110. That is, the core 110 reads the second instructions 15, which are 32-bit data, from the instruction cache 130 and provides them to the microcache 140. The microcache 140 is connected to each 8-bit microinstruction And outputs the corresponding 32-bit third instructions inst0 to inst3 to the core 110. [ That is, since each 8-bit microinstruction included in the second instruction 15 is replaced with 32-bit third instruction inst0 to inst3, four 32-bit instructions are processed at once.

코어(110)와 마이크로 캐시(140)에 의해 마이크로 명령어들이 처리되는 과정을 도 2를 참조하여 좀 더 구체적으로 설명한다. 본 실시예에서 명령 캐시(130)로부터 읽혀지는 제 1 명령어들(10)과 제 2 명령어들(15)는 32비트의 비트폭을 갖는다. 프로세서의 동작모드가 마이크로 명령어 모드에 진입하면, 32비트의 제 2 명령어(mid 0, 1, 2, 7)가 명령 캐시(130)로부터 읽혀져서 도 2에 도시된 바와 같이 8비트씩 네 개의 마이크로 명령어로 구분되어 마이크로 캐시(140)에 입력된다.The process of processing microinstructions by the core 110 and the microcache 140 will be described in more detail with reference to FIG. In the present embodiment, the first instructions 10 and the second instructions 15 read from the instruction cache 130 have a bit width of 32 bits. When the operating mode of the processor enters the micro-instruction mode, the 32-bit second instruction (mid 0, 1, 2, 7) is read from the instruction cache 130 to generate four micro- And is input to the microcache 140. [

이 때, 각각의 8비트의 마이크로 명령어는 마이크로 캐시(140) 내의 마이크로 명령 메모리(Micro Instruction Memory, 141)의 어드레스가 된다. 이 8비트의 마이크로 명령어는 마이크로 명령 메모리(141) 내의 256개의 서로 다른 엘리먼트를 지정할 수 있다. 즉, 8비트의 마이크로 명령어는 마이크로 명령 메모리(141)의 메모리 엘리먼트의 인덱스로서 사용될 수 있다.At this time, each 8-bit microinstruction becomes the address of the microinstruction memory 141 in the microcache 140. This 8-bit microinstruction may specify 256 different elements in the microinstruction memory 141. That is, an 8-bit microinstruction can be used as an index of a memory element of the microcommand memory 141. [

마이크로 캐시(140)의 마이크로 명령 메모리(141)에는 상기 8비트의 마이크로 명령어 각각에 대응하여 32비트의 정규의 제 3 명령어(inst0~inst3)가 저장되어 있다. 상기 각 8 비트의 마이크로 명령어를 어드레스로 하여, 마이크로 명령 메모리(141)는 각 8비트 마이크로 명령어에 대하여 32비트의 제 3명령어(inst0~inst3) 네 개를 출력한다. 출력된 네 개의 32비트 제 3 명령어(inst0~inst3)는 프로세서의 명령어로서 코어(110)의 페치유닛(Fetch Unit, 111), 즉 명령어를 읽어 들이는 유닛으로 입력된다. 코어(110)는 이렇게 입력된 제 3 명령어(inst0~inst3)를 읽어서 그에 따른 연산을 수행한다.The micro instruction memory 141 of the microcache 140 stores 32-bit regular third instructions inst0 to inst3 corresponding to the 8-bit micro instructions. With the 8-bit microinstructions as addresses, the microinstruction memory 141 outputs the 32-bit third instructions inst0 to inst3 for each 8-bit microinstruction. The outputted four 32-bit third instructions inst0 to inst3 are input to a fetch unit 111 of the core 110, that is, a unit for reading an instruction, as an instruction of the processor. The core 110 reads the input third instructions inst0 to inst3 and performs an operation according to the instructions.

상기에서 설명한 마이크로 명령어 모드 하에서 치환된 제 3 명령어들을 실행한 후, 도 3에 도시된 모드 복귀를 위한 특정의 마이크로 명령어(15a)에 대응하는 제 3 명령어가 코어(110)에 의해 실행되게 되면 프로세서의 동작모드는 마이크로 명령어 모드에서 일반 상태인 정상 모드로 다시 전환된다. 정상 모드로 전환되면, 코어(110)는 다시 명령 캐시(130)에 저장되어 있는 정규의 제 1 명령어들(10)에 따라 연산을 수행하게 된다.When the third instruction corresponding to the specific micro instruction 15a for mode return shown in FIG. 3 is executed by the core 110 after executing the third instructions substituted in the micro instruction mode described above, Lt; RTI ID = 0.0 > microcommand < / RTI > When the mode is switched to the normal mode, the core 110 performs the operation according to the normal first instructions 10 stored in the instruction cache 130 again.

한편, 프로세서가 상기 마이크로 명령어 모드로 전환되기 전에 마이크로 캐시(140)의 마이크로 명령 메모리(141)에는 상기와 같이 각 마이크로 명령어에 대응하여 제 3 명령어가 입력되어 있어야 한다. 이를 위하여 코어(110)는 도 2에 도시된 바와 같이 명령기입유닛(112)을 구비한다. 이 명령기입유닛(112)은 각 마이크로 명령어에 대응하는 위치 또는 어드레스에 제 3명령어들을 기입하기 위한 유닛으로서, 각각의 32비트의 제 3 명령어가 저장될 위치를 지정하는 인덱스(Index)와 그에 대응하는 32비트의 제 3명령어(inst)를 마이크로 명령어 업데이트 버스(Micro Instruction Update Bus)를 통하여 마이크로 명령 메모리(141)에 기입(Write)한다. Meanwhile, before the processor is switched to the micro-instruction mode, the micro-instruction memory 141 of the micro-cache 140 must receive a third instruction corresponding to each micro-instruction as described above. To this end, the core 110 has a command write unit 112 as shown in FIG. The instruction write unit 112 is a unit for writing third instructions to a position or an address corresponding to each micro instruction, and includes an index (Index) designating a position where the third instruction of each 32 bits is to be stored, And writes the 32-bit third instruction inst to the microcommand memory 141 via the microinstruction update bus.

프로세서는 정기적 또는 비정기적으로 자주 수행되는 명령어들을 탐색하고 그 탐색된 결과에 기초하여 마이크로 캐시(140)에 저장될 제 3 명령어들을 갱신할 수 있다. 이러한 제 3 명령어의 입력 또는 업데이트는 정기적, 비정기적으로 자동적으로 이루어질 수도 있고 사용자의 요구에 따라 이루어질 수도 있다.The processor may search for instructions that are frequently performed on a regular or irregular basis and may update third instructions to be stored in the microcache 140 based on the search results. The input or update of the third instruction may be automatically performed periodically, irregularly, or according to a user's request.

또한, 상기에서는 정규 명령어가 32비트이고 마이크로 명령어가 8비트인 경우에 대하여 설명하였으나, 정규 명령어와 마이크로 명령어의 비트폭은 이에 한정되지 않으며 시스템이나 프로세서의 환경에 따라 다양한 비트폭의 명령어들이 적용될 수 있다.In addition, although the case where the normal instruction word is 32 bits and the micro instruction word is 8 bits has been described above, the bit widths of the regular instruction word and the micro instruction word are not limited thereto and various bit width instructions may be applied according to the environment of the system or the processor have.

이상 살펴 본 바와 같이, 본 실시예에 따른 프로세서 및 프로세서에서의 명령 처리방법은 프로세서에서 자주 실행되거나 처리되는 명령어들에 대해서는 마이크로 명령어를 이용하여 단일 사이클 동안에 다수의 명령어들이 코어에서 동시에 처리될 수 있도록 함으로써, 프로세서의 처리 능력을 향상시키고 전력저감을 구현할 수 있다.
As described above, in the processor and the instruction processing method in the processor, a plurality of instructions can be simultaneously processed in the core during a single cycle using micro instructions for instructions that are frequently executed or processed in the processor. Thus, the processing capability of the processor can be improved and the power consumption can be reduced.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는것은 아니고 다음의 청구범위에서 정의하고 있는 본발명의기본 개념을 이용한 당업자의 여러변형 및 개량형태 또한 본발명의 권리범위에 속하는 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

Claims (13)

프로세서에 있어서,
외부메모리에 저장되어 있는 제 1 명령어들의 적어도 일부, 및 복수의 마이크로 명령어를 각각 포함하는 제 2 명령어들을 저장하는 명령 캐시;
상기 각 제 2 명령어에 포함된 상기 복수의 마이크로 명령어의 각각에 대응하는 제 3 명령어들을 저장하는 마이크로 캐시; 및
상기 명령 캐시로부터 상기 제 1 및 제 2 명령어들을 읽어서 연산을 수행하는 코어를 포함하되,
상기 코어는 정상 모드 하에서는 상기 명령 캐시로부터의 제 1 명령어들에 의해 연산을 수행하고,
프로세서가 마이크로 명령어 모드에 진입하면, 상기 코어는 상기 마이크로 캐시로부터 제공되는 상기 복수의 마이크로 명령어에 대응하는 상기 제 3 명령어들에 의해 연산을 수행하는 것을 특징으로 하는, 프로세서.
A processor comprising:
An instruction cache that stores second instructions each including at least a portion of first instructions stored in an external memory and a plurality of microinstructions;
A microcache storing third instructions corresponding to each of the plurality of microinstructions included in each second instruction; And
And a core for reading the first and second instructions from the instruction cache to perform an operation,
The core performing an operation by first instructions from the instruction cache under normal mode,
Wherein when the processor enters the micro-instruction mode, the core performs an operation by the third instructions corresponding to the plurality of micro-instructions provided from the micro-cache.
제 1항에 있어서,
상기 제 1 명령어들 중 프로세서 상태 레지스터를 변경하는 명령어를 상기 코어가 실행하면, 상기 프로세서는 상기 마이크로 명령어 모드에 진입하는 것을 특징으로 하는 프로세서.
The method according to claim 1,
Wherein when the core executes an instruction to change a processor status register among the first instructions, the processor enters the micro-instruction mode.
제 1항에 있어서,
상기 마이크로 명령어 모드에 진입하면, 상기 코어는 상기 제 2 명령어들을 상기 마이크로 캐시에 제공하고, 상기 마이크로 캐시는 제공된 상기 제 2 명령어들을 상기 제 2 명령어들에 포함된 복수의 마이크로 명령어에 대응하는 상기 제 3 명령어들로 변환하여 상기 코어로 출력하는 것을 특징으로 하는 프로세서.
The method according to claim 1,
Wherein the core provides the second instructions to the microcache when the microcontroller enters the microcommand mode, and wherein the microcache stores the second instructions provided to the microcache in response to a plurality of microinstructions included in the second instructions, 3 < / RTI > instructions and outputs the converted instructions to the core.
제 3항에 있어서,
상기 복수의 마이크로 명령어의 각각은 상기 마이크로 캐시 내에서 대응하는 상기 제 3 명령어가 저장되어 있는 어드레스를 나타내는 것을 특징으로 하는 프로세서.
The method of claim 3,
Wherein each of the plurality of micro-instructions indicates an address where the corresponding third instruction is stored in the micro-cache.
제 3항에 있어서,
상기 제 2 명령어들의 각각은 8 비트폭(bitwidth)을 갖는 4개의 상기 마이크로 명령어들을 포함하고, 상기 마이크로 명령어 각각에 대응하는 상기 제 3 명령어는 32 비트폭을 갖는 것을 특징으로 하는 프로세서.
The method of claim 3,
Wherein each of said second instructions comprises four said microinstructions having an 8 bitwidth and said third instruction corresponding to each of said microinstructions has a 32 bit width.
제 3항에 있어서,
상기 코어는, 상기 마이크로 캐시 내의 상기 복수의 마이크로 명령어 각각에 대응하는 어드레스에 상기 대응하는 제 3 명령어를 저장하는 명령 기입 유닛을 포함하는 것을 특징으로 하는 프로세서.
The method of claim 3,
Wherein the core includes an instruction write unit that stores the corresponding third instruction at an address corresponding to each of the plurality of micro instructions in the microcache.
제 6항에 있어서,
상기 프로세서는, 정기적 또는 비정기적으로 자주 수행되는 명령어들을 탐색하고 상기 탐색된 결과에 기초하여 상기 마이크로 캐시에 저장될 상기 제 3 명령어를 갱신하는 것을 특징으로 하는 프로세서.
The method according to claim 6,
Wherein the processor is operative to search for instructions that are frequently performed on a regular or irregular basis and to update the third instruction to be stored in the microcache based on the searched result.
프로세서에서의 명령 처리방법으로서,
코어가 명령 캐시로부터 제 1 명령어들의 적어도 일부, 또는 복수의 마이크로 명령어를 각각 포함하는 제 2 명령어들을 제공받는 단계;
프로세서가 마이크로 명령어 모드에 진입하면 상기 코어가 제 2 명령어들을 마이크로 캐시에 제공하는 단계로서, 상기 마이크로 캐시는 상기 각 제 2 명령어에 포함된 상기 복수의 마이크로 명령어의 각각에 대응하는 제 3 명령어들을 저장하고 있는, 단계;
상기 마이크로 캐시가 상기 코어로 상기 복수의 마이크로 명령어에 대응하는 상기 제 3 명령어들을 출력하는 단계; 및
상기 코어가 상기 제 3 명령어들에 따라 연산을 수행하는 단계를 포함하는 것을 특징으로 하는, 프로세서에서의 명령 처리방법.
A method of processing instructions in a processor,
The core receiving second instructions from the instruction cache, each instruction comprising at least a portion of the first instructions or a plurality of microinstructions;
The core providing second instructions to a microcache when the processor enters a microinstruction mode, the microcache storing third instructions corresponding to each of the plurality of microinstructions contained in each second instruction Doing; step;
Outputting the third instructions corresponding to the plurality of microinstructions to the core; And
And the core performing an operation in accordance with the third instructions.
제 8항에 있어서,
상기 제 1 명령어들 중 프로세서 상태 레지스터를 변경하는 명령어를 상기 코어가 실행하면, 상기 프로세서는 상기 마이크로 명령어 모드에 진입하는 것을 특징으로 하는 프로세서에서의 명령 처리방법.
9. The method of claim 8,
Wherein when the core executes an instruction to change a processor status register among the first instructions, the processor enters the micro instruction mode.
제 8항에 있어서,
상기 마이크로 캐시가 상기 제 3 명령어들을 출력하는 단계는,
상기 마이크로 캐시가 상기 제 2 명령어들을 상기 제 2 명령어들에 포함된 복수의 마이크로 명령어에 대응하는 상기 제 3 명령어들로 변환하여 상기 코어로 출력하는 단계를 포함하는 것을 특징으로 하는 프로세서에서의 명령 처리방법.
9. The method of claim 8,
Wherein the outputting of the third instructions by the microcache comprises:
And converting the second instructions into the third instructions corresponding to the plurality of microinstructions included in the second instructions and outputting the third instructions to the core. Way.
제 10항에 있어서,
상기 복수의 마이크로 명령어의 각각은 상기 마이크로 캐시 내에서 대응하는 상기 제 3 명령어가 저장되어 있는 어드레스를 나타내는 것을 특징으로 하는 프로세서에서의 명령 처리방법.
11. The method of claim 10,
Wherein each of the plurality of micro-instructions indicates an address in which the corresponding third instruction is stored in the micro-cache.
제 10항에 있어서,
상기 제 2 명령어들의 각각은 8 비트폭(bitwidth)을 갖는 4개의 상기 마이크로 명령어들을 포함하고, 상기 마이크로 명령어 각각에 대응하는 상기 제 3 명령어는 32 비트폭을 갖는 것을 특징으로 하는 프로세서에서의 명령 처리방법.
11. The method of claim 10,
Wherein each of said second instructions comprises four said microinstructions having an 8 bitwidth and said third instruction corresponding to each of said microinstructions has a 32 bit width. Way.
제 10항에 있어서,
상기 프로세서는, 정기적 또는 비정기적으로 자주 수행되는 명령어들을 탐색하고 상기 탐색된 결과에 기초하여 상기 마이크로 캐시에 저장될 상기 제 3 명령어를 갱신하는 것을 특징으로 하는 프로세서에서의 명령 처리방법.
11. The method of claim 10,
Wherein the processor is operative to search for instructions that are frequently performed regularly or irregularly and to update the third instruction to be stored in the microcache based on the result of the search.
KR1020120034337A 2011-09-23 2012-04-03 Processor and instruction processing method in processor KR101538425B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/608,774 US9274794B2 (en) 2011-09-23 2012-09-10 Processor and instruction processing method in processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20110096566 2011-09-23
KR1020110096566 2011-09-23

Publications (2)

Publication Number Publication Date
KR20130032815A KR20130032815A (en) 2013-04-02
KR101538425B1 true KR101538425B1 (en) 2015-07-22

Family

ID=48435511

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120034337A KR101538425B1 (en) 2011-09-23 2012-04-03 Processor and instruction processing method in processor

Country Status (1)

Country Link
KR (1) KR101538425B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751942A (en) * 1993-06-30 1998-05-12 Intel Corporation Trace event detection during trace enable transitions
JP2004513427A (en) * 2000-11-02 2004-04-30 インテル・コーポレーション Hardware loop
KR20060034998A (en) * 2004-10-20 2006-04-26 삼성전자주식회사 Apparatus and method for controling an access of branch predictor
JP2009104643A (en) * 2005-04-08 2009-05-14 Panasonic Corp Processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751942A (en) * 1993-06-30 1998-05-12 Intel Corporation Trace event detection during trace enable transitions
JP2004513427A (en) * 2000-11-02 2004-04-30 インテル・コーポレーション Hardware loop
KR20060034998A (en) * 2004-10-20 2006-04-26 삼성전자주식회사 Apparatus and method for controling an access of branch predictor
JP2009104643A (en) * 2005-04-08 2009-05-14 Panasonic Corp Processor

Also Published As

Publication number Publication date
KR20130032815A (en) 2013-04-02

Similar Documents

Publication Publication Date Title
JP5837126B2 (en) System, method and software for preloading instructions from an instruction set other than the currently executing instruction set
KR101789190B1 (en) Cache with scratch pad memory structure and processor including the cache
US11416256B2 (en) Selectively performing ahead branch prediction based on types of branch instructions
EP2946297B1 (en) Overlap checking for a translation lookaside buffer (tlb)
TW201351145A (en) Instruction cache power reduction
MX2007014522A (en) Caching instructions for a multiple-state processor.
JP2008532187A (en) Power saving method and apparatus for selectively enabling cache bits based on known processor state
JP6073392B2 (en) System and method for evaluating data values as instructions
JP5954112B2 (en) Memory device, arithmetic processing device, and cache memory control method
US7769954B2 (en) Data processing system and method for processing data
US20060095746A1 (en) Branch predictor, processor and branch prediction method
WO2011151944A1 (en) Cache memory device, program transformation device, cache memory control method, and program transformation method
JP2008165589A (en) Information processor
US6944794B2 (en) Microcontroller with debug support unit
CN108920188B (en) Method and device for expanding register file
KR101538425B1 (en) Processor and instruction processing method in processor
KR20140099255A (en) A register renaming data processing apparatus and method for performing register renaming
JP2020095345A (en) Arithmetic processing apparatus, memory apparatus, and method of controlling arithmetic processing apparatus
KR101076815B1 (en) Cache system having branch target address cache
US20140281382A1 (en) Modified execution using context sensitive auxiliary code
KR20060113560A (en) Data processing apparatus and data processing method
US9274794B2 (en) Processor and instruction processing method in processor
JP4404373B2 (en) Semiconductor integrated circuit
KR102027573B1 (en) Method for controlling cache memory and apparatus thereof
KR20140134421A (en) Dual instruction fetch apparatus and method

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180627

Year of fee payment: 4