KR100246465B1 - Apparatus and method for reducing cycle of microprocessor stack order - Google Patents

Apparatus and method for reducing cycle of microprocessor stack order Download PDF

Info

Publication number
KR100246465B1
KR100246465B1 KR1019960052489A KR19960052489A KR100246465B1 KR 100246465 B1 KR100246465 B1 KR 100246465B1 KR 1019960052489 A KR1019960052489 A KR 1019960052489A KR 19960052489 A KR19960052489 A KR 19960052489A KR 100246465 B1 KR100246465 B1 KR 100246465B1
Authority
KR
South Korea
Prior art keywords
stack pointer
stack
register
pointer value
data
Prior art date
Application number
KR1019960052489A
Other languages
Korean (ko)
Other versions
KR19980034448A (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 KR1019960052489A priority Critical patent/KR100246465B1/en
Publication of KR19980034448A publication Critical patent/KR19980034448A/en
Application granted granted Critical
Publication of KR100246465B1 publication Critical patent/KR100246465B1/en

Links

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION

마이크로프로세서의 1 사이클 스택 오퍼레이션 라이트 회로One Cycle Stack Operation Light Circuit in Microprocessor

2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention

본 발명이 해결하려는 기술적 과제는, 메모리 버퍼 레지스터에서 데이터를 라이트하는 것과 산술/논리 연산기에서 계산된 스택 포인터 레지스터 값을 라이트하는 것을 동시에 수행하여, 1사이클에 스택 오퍼레이션을 하는 회로를 제공하는데 있다.An object of the present invention is to provide a circuit for performing a stack operation in one cycle by simultaneously writing data in a memory buffer register and writing a stack pointer register value calculated by an arithmetic / logical operator.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

마이크로프로세서의 1 사이클 스택 오퍼레이션 라이트 회로에 있어서, 산술/논리 연산기에서 스택 포인터 레지스터로 바로 가는 경로를 제공하여, 스택 오퍼레이션을 할 때 라이트_백 버스에서 데이터를 라이트하는 것과, 산술/논리 연산기에서 계산된 스택 포인터를 스택 포인터 레지스터에 라이트하는 것을 동시에 수행함으로서, 1 사이클에 스택 오퍼레이션 라이트를 수행하는 회로를 제공함.In a 1-cycle stack operation write circuit of a microprocessor, it provides a path from the arithmetic / logical operator to the stack pointer registers, writing data from the write_back bus when performing the stack operation, and computing from the arithmetic / logical operator. Providing a circuit for performing a stack operation write in one cycle by concurrently writing the stacked stack pointer to the stack pointer register.

4. 발명의 중요한 용도4. Important uses of the invention

본 발명은 메모리 버퍼 레지스터(MBR)에서 데이터를 쓰는 것과 동시에 산술/논리 연산기에서 계산된 스택 포인터 레지스터 데이터 값을 쓰는 것을 가능하게 하는 회로로 사용됨.The present invention is used as a circuit that enables writing of data in a memory buffer register (MBR) and at the same time writing a stack pointer register data value calculated in an arithmetic / logical operator.

Description

마이크로프로세서에서 스택 명령어의 수행 사이클을 줄이기 위한 장치 및 그 방법Apparatus and Method for Reducing the Execution Cycle of Stack Instructions in a Microprocessor

본 발명은 마이크로프로세서에 관한 것으로 특히 새로운 스택 포인터 값을 계산하는 산술/논리 연산기(ALU, Arithmetic Logic Unit)와 스택 포인터를 저장하는 스택 포인터 레지스터 간에 새로운 데이터 경로를 추가하여, 마이크로프로레서의 스택 명령어(팝 명령어, 푸시 명렁어) 수행 시 필요한 처리 사이클 수를 줄인 장치 및 그 방법에 관한 것이다.The present invention relates to a microprocessor. In particular, a stack instruction of a microprocessor is added by adding a new data path between an Arithmetic Logic Unit (ALU) for calculating a new stack pointer value and a stack pointer register for storing a stack pointer. (Pop instruction, push command) A device and method for reducing the number of processing cycles required when performing.

잘 알려진 바와 같이, 스택 명령어에는 팝(POP)와 푸시(PUSH)가 있다.As is well known, stack instructions include POP and PUSH.

팝은 범용 레지스터(general purpose register) 중의 하나인 스택 포인터 레지스터에 저장된 스택 포인터가 포인팅하는 스택 레지스터의 데이터를 읽어와 다수의 범용 레지스터 중 하나의 레지스터에 라이트하고, 스택 포인터 값을 하나 증가시켜 스택 포인터 레지스터에 라이트하는 스택 명령어이다. 그리고, 푸시는 스택 포인터 레지스터의 스택 포인터가 포인팅하는 스택 레지스터의 데이터를 읽어와 범용 레지스터 중 하나의 레지스터에 라이트하고, 스택 포인터 값을 하나 감소시켜 스택 포인터 레지스터에 라이트 하는 스택 명령어이다.POP reads data from the stack register pointed to by the stack pointer stored in the stack pointer register, which is one of the general purpose registers, writes to one of a number of general purpose registers, and increments the stack pointer value by one. Stack instruction to write to a register. Push is a stack instruction that reads data from the stack register pointed to by the stack pointer of the stack pointer register, writes it to one of the general registers, and decrements the stack pointer value by one to write to the stack pointer register.

종래의 상기 팝 및 푸시 명령어에 대한 처리 과정을 구체적으로 설명하면, 먼저 범용 레지스터 중의 하나인 스택 포인터 레지스터의 스택 포인터에 의해 포인팅된 스택 레지스터의 데이터를 읽어와 임시 저장 수단인 메모리 버퍼 레지스터(MBR, Memory Buffer Register)에 라이트하고, 스택 레지스터의 데이터를 읽는 동시에 산술/논리 연산기에서 스택 포인터 레지스터의 스택 포인터 값을 읽어와 상수 "1"을 가산하거나(팝 명령어일 경우) 감산하여(푸시 명령어일 경우) 새로운 스택 포인터의 값을 생성한다. 계속해서, 메모리 버퍼 레지스터(MBR)에 저장된 데이터를 범용 레지스터 중 임의의 한 레지스터에 라이트하고, 산술/논리 연산기에서 생성된 새로운 스택 포인터의 값 역시 스택 포인터 레지스터에 라이트해야 한다.The process of the conventional pop and push instruction will be described in detail. First, the data of the stack register pointed by the stack pointer of the stack pointer register, which is one of the general purpose registers, is read and the memory buffer register (MBR) is a temporary storage means. Memory Buffer Register), read the data in the stack register, and read the stack pointer value of the stack pointer register from the arithmetic / logic operator and add the constant "1" (for pop instructions) or subtract (for push instructions). ) Create a new stack pointer value. Subsequently, the data stored in the memory buffer register (MBR) must be written to any one of the general purpose registers, and the value of the new stack pointer generated by the arithmetic / logical operator must also be written to the stack pointer register.

이때, 종래에는 범용 레지스터에 라이트하기 위한 데이터가 실리는 데이터 버스를 공통으로 사용함으로써, 우선 메모리 버퍼 레지스터(MBR)에 저장된 데이터를 읽어와 데이터 버스를 통해 범용 레지스터에 라이트하고, 그 다음에 산술/논리 연산기에서 계산된 새로운 스택 포인터 값을 읽어와 데이터 버스를 통해 스택 포인터 레지스터에 라이트하였다.In this case, conventionally, a data bus carrying data for writing to a general purpose register is commonly used, so that data stored in the memory buffer register (MBR) is first read, written to the general purpose register via the data bus, and then arithmetic / The new stack pointer value computed by the logic operator was read and written to the stack pointer register via the data bus.

따라서, 종래에는 메모리 버퍼 레지스터(MBR)에 저장된 데이터를 읽어와 범용 레지스터에 라이트하는데 1 사이클이 필요하고, 산술/논리 연산기에서 계산된 새로운 스택 포인터의 값을 스택 포인터 레지스터에 라이트하는데 다시 추가의 1 사이클이 더 필요함으로써, 스택 명령어의 처리 사이클 수가 많아지는 문제가 있다.Thus, conventionally, one cycle is required to read data stored in the memory buffer register (MBR) and write it to the general purpose register, and add another one to write the value of the new stack pointer calculated by the arithmetic / logical operator to the stack pointer register. By requiring more cycles, there is a problem that the number of processing cycles of a stack instruction increases.

본 발명은 상기 문제점을 해결하기 위하여 안출된 것으로써, 새로운 스택 포인터 값을 계산하는 산술/논리 연산기와 스택 포인터를 저장하는 스택 포인터 레지스터 간에 데이터 통로를 추가로 구비하여, 메모리 버퍼 레지스터(MBR)의 데이터를 범용 레지스터에 라이트하는 동작과 새로운 스택 포인터의 값을 스택 포인터 레지스터에 라이트하는 동작을 1사이클에서 동시 수행함으로써 스택 명령어의 수행 사이클을 줄이기 위한 장치 및 그 방법을 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems, and further includes a data path between an arithmetic / logic operator for calculating a new stack pointer value and a stack pointer register for storing the stack pointer, thereby providing a memory buffer register (MBR). It is an object of the present invention to provide an apparatus and method for reducing the execution cycle of a stack instruction by simultaneously performing data writing to a general purpose register and writing a new stack pointer value to a stack pointer register in one cycle.

도 1 은 본 발명에 따른 스택 명령어의 처리 사이클을 줄이기 위한 장치를 개념적으로 도시한 도면.1 conceptually illustrates an apparatus for reducing the processing cycle of a stack instruction in accordance with the present invention.

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

10 : 범용 레지스터 15 : 스택 포인터 레지스터10: general purpose register 15: stack pointer register

20 : 메모리 버퍼 레지스터 30 : 산술/논리 연산기20: memory buffer register 30: arithmetic / logic operator

40 : 스택 레지스터 50 : 라이트_백 버스40: stack register 50: write back bus

상기 목적을 달성하기 위한 본 발명은, 마이크로프로레서에서의 스택 명령어 수행 시 처리 사이클을 줄이기 위한 장치에 있어서, 스택 포인터 값을 저장하고 있는 스택 포인터 레지스터를 포함한 다수의 범용 레지스터; 데이터를 저장하고 있는 스택 레지스터; 상기 스택 포인터 저장 수단의 스택 포인터에 의해 포인팅된 상기 스택 레지스터의 데이터를 읽어와 임시 저장하기 위한 임시 저장 수단; 상기 임시 저장 수단에 저장된 데이터를 입력받아 상기 범용 레지스터에 라이트하기 위한 상기 임시 저장 수단과 상기 스택 포인터 저장 수단 사이의 제1 데이터 버스; 상기 스택 명령어 수행 시, 제1 오퍼랜드 버스로부터 상기 스택 포인터 값을 입력받고, 제2 오퍼랜드 버스로부터 상수 "1"을 입력받아 새로운 스택 포인터 값을 생성하기 위한 산술/논리 연산 수단; 및 상기 산술/논리 연산 수단에서 생성된 새로운 스택 포인터 값을 상기 스택 포인터 저장 수단에 직접 라이트하기 위한 상기 산술/논리 연산 수단과 상기 스택 포인터 저장 수단 사이의 제2 데이터 버스를 포함하여, 상기 제1 데이터 버스를 통한 상기 데이터의 라이트 동작과 상기 제2 데이터 버스를 통한 상기 스택 포인터 값의 라이트 동작을 동일 사이클에서 동시에 수행하는 것을 특징으로 한다.In order to achieve the above object, the present invention provides a device for reducing a processing cycle when performing a stack instruction in a microprocessor, comprising: a plurality of general purpose registers including a stack pointer register for storing a stack pointer value; A stack register for storing data; Temporary storage means for reading and temporarily storing data of the stack register pointed to by the stack pointer of the stack pointer storage means; A first data bus between the temporary storage means and the stack pointer storage means for receiving data stored in the temporary storage means and writing the data to the general register; Arithmetic / logical operation means for receiving a stack pointer value from a first operand bus and a constant “1” from a second operand bus to generate a new stack pointer value when the stack instruction is executed; And a second data bus between the arithmetic / logical operation means and the stack pointer storage means for writing the new stack pointer value generated by the arithmetic / logical operation means directly to the stack pointer storage means. The write operation of the data through the data bus and the write operation of the stack pointer value through the second data bus are simultaneously performed in the same cycle.

또한, 본 발명은 마이크로프로세서의 스택 명령어 수행 시 처리 사이클을 줄이기 위한 방법에 있어서, 스택 포인터 레지스터의 스택 포인터에 응답하여 포인팅되는 스택 레지스터의 데이터를 읽어와 저장하는 제1 단계; 상기 스택 포인터 값 및 상수 "1"로부터 새로운 상기 스택 포인터 값을 계산하는 제2 단계; 및 상기 제1 단계에서 저장된 데이터를 다수의 범용 레지스터 중 임의의 한 레지스터에 라이트하고, 동시에 상기 제2 단계에서 생성된 상기 스택 포인터 값을 상기 스택 포인터 레지스터에 라이트하는 제3 단계를 포함하여 이루어진다.In addition, the present invention provides a method for reducing a processing cycle when performing a stack instruction of a microprocessor, comprising: a first step of reading and storing data of a stack register pointed in response to a stack pointer of a stack pointer register; Calculating a new said stack pointer value from said stack pointer value and a constant " 1 "; And a third step of writing the data stored in the first step to any one of a plurality of general purpose registers and simultaneously writing the stack pointer value generated in the second step to the stack pointer register.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention. do.

도 1은 본 발명에 따른 스택 명령어의 처리 사이클을 줄이기 위한 장치를 개념적으로 도시한 도면으로서, 8개의 범용 레지스터(10)와, 8개의 범용 레지스터(10)에 라이트할 데이터가 실리는 데이터 버스인 라이트_백 버스(50)와, 범용 레지스터 중 스택 레지스터를 포인팅하기 위한 스택 포인터 값을 저장하고 있는 스택 포인터 레지스터(15, 이하 ESP라 함)와, ESP로부터의 스택 포인터(SP)에 의해 포인팅되는 스택 구조의 레지스터(40)와, 스택 포인터(SP)에 의해 포인팅된 스택 레지스터(40)의 데이터를 읽어와 임시로 저장한 후 범용 레지스터(10)에 그 데이터를 라이트하기 위해 라이트_백 버스(50)에 싣는 메모리 버퍼 레지스터(20, 이하 MBR이라 함)와, 오퍼랜드 버스(A, B)로부터 오퍼랜드를 입력받아 각종 연산 동작을 수행하며, 스택 명령어 수행 시 오퍼랜드 버스(A)로부터 ESP(15)에 저장된 스택 포인터 값을 입력받고, 오퍼랜드 버스(B)로부터 상수 "1"을 입력받아 새로운 스택 포인터 값을 계싼한 후 별도의 데이터 통로(68)를 통해 계산된 스택 포인터 값을 ESP(15)에 라이트하는 산술/논리 연산기(30)로 이루어진다.1 is a conceptual diagram illustrating an apparatus for reducing the processing cycle of a stack instruction according to the present invention, which is a data bus carrying eight general purpose registers 10 and data to be written to eight general purpose registers 10. Pointed by a write back bus 50, a stack pointer register (15, hereinafter referred to as an ESP) that stores a stack pointer value for pointing a stack register among general-purpose registers, and a stack pointer (SP) from the ESP. The register 40 of the stack structure and the stack register 40 pointed to by the stack pointer SP are read and temporarily stored, and then the write_back bus ( 50) The memory buffer register 20 (hereinafter referred to as MBR) and the operands received from the operand buses A and B to perform various arithmetic operations, and perform the operand bus A when performing the stack instruction. Inputs the stack pointer value stored in the ESP 15 from the controller, receives the constant " 1 " from the operand bus B, encloses the new stack pointer value, and then calculates the stack pointer value calculated through the separate data path 68. It consists of an arithmetic / logical operator 30 that writes to the ESP 15.

본 발명에 따른 팝과 푸시 스택 명령어의 수행 과정을 도 1을 참조하여 상세히 설명한다.The execution of the pop and push stack instructions according to the present invention will be described in detail with reference to FIG. 1.

팝 및 푸쉬 스택 명령어를 수행할 때, 먼저 범용 레지스터(10) 중의 하나인 ESP(15)의 스택 포인터(SP)에 의해 포인팅된 스택 레지스터(40)의 데이터를 읽어와 임시 저장 수단인 MBR(20)에 라이트하고, 스택 레지스터(40)의 데이터를 읽는 동시에 산술/논리 연산기(30)에서 오퍼랜드 버스(A)에 실려있는 ESP(15)의 스택 포인터 값을 읽어와 오퍼랜드 버스(B)의 상수 "1"을 가산하거나(팝 명령어일 경우) 감산하여(푸시 명령어일 경우) 새로운 스택 포인터의 값을 생성한다. 계속해서, 동일 사이클에서 라이트_백 버스(50)을 통해 MBR(20)에 저장된 데이터를 범용 레지스터(10) 중 임의의 한 레지스터에 라이트하고, 데이터 통로(68)를 통해 산술/논리 연산기(30)에서 생성된 새로운 스택 포인터 값을 ESP(15)에 라이트한다. 여기서, 범용 레지스터에 라이트할 데이터들의 통로인 라이트_백 버스와는 별도로 ESP(15)와 산술/논리 연산기(30) 간의 데이터 통로(68)를 구비하여, 라이트_백 버스를 통해 MBR(20)에 저장된 데이터를 범용 레지스터(10)에 라이트하는 동작과 데이터 통로(68)를 통해 산술/논리 연산기(30)로부터의 새로운 스택 포인터 값을 ESP(15)에 라이트하는 동작을 동시에 수행함으로써, 1 사이클 동안에 데이터 라이트 동작 및 스택 포인터 값 라이트 동작이 동시에 이루어진다.When executing the pop and push stack instruction, first, the data of the stack register 40 pointed by the stack pointer SP of the ESP 15, which is one of the general registers 10, is read and the MBR 20, which is a temporary storage means, is read. ) And the stack pointer value of the ESP 15 loaded on the operand bus A by the arithmetic / logical operator 30 at the same time as reading the data of the stack register 40. Add 1 "(for pop instructions) or subtract (for push instructions) to create a new stack pointer. Subsequently, in the same cycle, the data stored in the MBR 20 via the write_back bus 50 is written into any one of the general registers 10, and the arithmetic / logical operator 30 is passed through the data passage 68. FIG. Writes the new stack pointer value generated in the " Here, a data path 68 between the ESP 15 and the arithmetic / logical operator 30 is provided separately from the write_back bus, which is a path of data to be written to the general register, and the MBR 20 is provided through the write_back bus. By writing the data stored in the general register 10 into the general register 10 and writing the new stack pointer value from the arithmetic / logical operator 30 to the ESP 15 through the data path 68 simultaneously, During the data write operation and the stack pointer value write operation are performed simultaneously.

본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical idea of the present invention has been described in detail according to the above preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention.

상기와 같이 이루어지는 본 발명은, 산술/논리 연산기에서 스택 포인터 레지스터로 바로 가는 데이터 통로를 추가로 구비함으로써, 스택 명령어 수행 시 스택 레지스터로부터 읽어온 메모리 버퍼 레지스터의 데이터를 범용 레지스터에 라이트하는 동작과 산술/논리 연산기에서 계산된 새로운 스택 포인터 값을 스택 포인터 레지스터에 라이트하는 동작을 1사이클에서 동시에 수행할 수 있어 스택 명령어 처리 사이클 수를 줄일 수 있는 효가가 있다.The present invention as described above further comprises a data path from the arithmetic / logic operator to the stack pointer register, thereby writing and arithmetic operations to write the data of the memory buffer register read from the stack register to the general purpose register when the stack instruction is executed. Writing a new stack pointer value calculated by the / logical operator to the stack pointer register can be performed simultaneously in one cycle, which can reduce the number of stack instruction processing cycles.

또한, 본 발명은 스택 명령어 수행 시 사이클 당 수행할 수 있는 명령어의 수를 증가시켜 전체 마이크로프로세서의 성능을 향상시키는 효과가 있다.In addition, the present invention has the effect of improving the performance of the entire microprocessor by increasing the number of instructions that can be executed per cycle when performing the stack instruction.

Claims (4)

마이크로프로세서에서의 스택 명령어 수행 시 처리 사이클을 줄이기 위한 장치에 있어서, 스택 포인터 값을 저장하고 있는 스택 포인터 레지스터를 포함한 다수의 범용 레지스터; 데이터를 저장하고 있는 스택 레지스터; 상기 스택 포인터 저장 수단의 스택 포인터에 의해 포인팅된 상기 스택 레지스터의 데이터를 읽어와 임시 저장하기 위한 임시 저장 수단; 상기 임시 저장 수단에 저장된 데이터를 입력받아 상기 범용 레지스터에 라이트하기 위한 상기 임시 저장 수단과 상기 스택 포인터 저장 수단 사이의 제1 데이터 버스; 상기 스택 명령어 수행 시, 제1 오퍼랜드 버스로부터 상기 스택 포인터 값을 입력받고, 제2 오퍼랜드 버스로부터 상수 "1"을 입력받아 새로운 스택 포인터 값을 생성하기 위한 산술/논리 연산 수단; 및 상기 상술/논리 연산 수단에서 생성된 새로운 스택 포인터 값을 상기 스택 포인터 저장 수단에 직접 라이트하기 위한 상기 상술/논리 연산 수단과 상기 스택 포인터 저장 수단 사이의 제2 데이터 버스를 포함하여, 상기 제1 데이터 버스를 통한 상기 데이터의 라이트 동작과 상기 제2 데이터 버스를 통한 상기 스택 포인터 값의 라이트 동작을 동일 사이클에서 동시에 수행하는 것을 특징으로 하는 스택 명령어 수행 시 처리 사이클을 줄이기 위한 장치.An apparatus for reducing processing cycles when executing a stack instruction in a microprocessor, comprising: a plurality of general purpose registers including a stack pointer register that stores a stack pointer value; A stack register for storing data; Temporary storage means for reading and temporarily storing data of the stack register pointed to by the stack pointer of the stack pointer storage means; A first data bus between the temporary storage means and the stack pointer storage means for receiving data stored in the temporary storage means and writing the data to the general register; Arithmetic / logical operation means for receiving a stack pointer value from a first operand bus and a constant “1” from a second operand bus to generate a new stack pointer value when the stack instruction is executed; And a second data bus between the above / logical logic means and the stack pointer storage means for writing the new stack pointer value generated by the above / logical logic means directly to the stack pointer storage means. And a write operation of the data on the data bus and a write operation of the stack pointer value on the second data bus simultaneously in the same cycle. 제1항에 있어서, 상기 산술/논리 연산 수단은, 상기 스택 명령어 중 팝 명령어일 때 상기 스택 포인터 값이 상기 상수 "1"을 가산하여 상기 새로운 스택 포인터 값을 생성하고, 상기 스택 명령어 중 푸시 명령어일 때 상기 스택 포인터 값에서 상기 상수 "1"을 감산하여 상기 새로운 스택 포인터 값을 생성하는 것을 특징으로 하는 스택 명령어 수행 시 처리 사이클을 줄이기 위한 장치.2. The apparatus of claim 1, wherein the arithmetic / logical computing means generates the new stack pointer value by adding the constant " 1 " to the stack pointer value when the pop instruction among the stack instructions is used, and the push instruction among the stack instructions. And subtracting the constant " 1 " from the stack pointer value to generate the new stack pointer value. 마이크로프로세서의 스택 명령어 수행 시 처리 사이클을 줄이기 위한 방법에 있어서, 스택 포인터 레지스터의 스택 포인터에 응답하여 포인팅되는 스택 레지스터의 데이터를 읽어와 저장하는 제1 단계; 상기 스택 포인터 값 및 상수 "1"로부터 새로운 상기 스택 포인터 값을 계산하는 제2 단계; 및 상기 제1 단계에서 저장된 데이터를 다수의 범용 레지스터 중 임의의 한 레지스터에 라이트하고, 동시에 상기 제2 단계에서 생성된 상기 스택 포인터 값을 상기 스택 포인터 레지스터에 라이트하는 제3 단계를 포함하여 이루어지는 스택 명령어 수행 시 처리 사이클을 줄이기 위한 방법.CLAIMS 1. A method for reducing processing cycles when performing a stack instruction of a microprocessor, comprising: a first step of reading and storing data in a stack register that is pointed in response to a stack pointer of a stack pointer register; Calculating a new said stack pointer value from said stack pointer value and a constant " 1 "; And a third step of writing the data stored in the first step to any one of a plurality of general purpose registers and simultaneously writing the stack pointer value generated in the second step to the stack pointer register. A method for reducing processing cycles when executing instructions. 제3항에 있어서, 상기 제2 단계는, 상기 스택 명령어 중 팝 명령어일 때, 상기 스택 포인터 값에 상기 상수 "1"을 가산하여 상기 새로운 스택 포인터 값을 생성하는 제4 단계; 및 상기 스택 명령어 중 푸시 명령어일 때, 상기 스택 포인터 값에서 상기 상수 "1"을 감산하여 상기 새로운 스택 포인터 값을 생성하는 제5 단계를 포함하여 이루어지는 스택 명령어 수행 시 처리 사이클을 줄이기 위한 방법.4. The method of claim 3, wherein the second step comprises: a fourth step of generating the new stack pointer value by adding the constant " 1 " to the stack pointer value when it is a pop instruction of the stack instructions; And a fifth step of generating the new stack pointer value by subtracting the constant " 1 " from the stack pointer value when the push instruction is one of the stack instructions.
KR1019960052489A 1996-11-06 1996-11-06 Apparatus and method for reducing cycle of microprocessor stack order KR100246465B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960052489A KR100246465B1 (en) 1996-11-06 1996-11-06 Apparatus and method for reducing cycle of microprocessor stack order

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960052489A KR100246465B1 (en) 1996-11-06 1996-11-06 Apparatus and method for reducing cycle of microprocessor stack order

Publications (2)

Publication Number Publication Date
KR19980034448A KR19980034448A (en) 1998-08-05
KR100246465B1 true KR100246465B1 (en) 2000-03-15

Family

ID=19481017

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960052489A KR100246465B1 (en) 1996-11-06 1996-11-06 Apparatus and method for reducing cycle of microprocessor stack order

Country Status (1)

Country Link
KR (1) KR100246465B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654871B1 (en) * 1999-11-09 2003-11-25 Motorola, Inc. Device and a method for performing stack operations in a processing system

Also Published As

Publication number Publication date
KR19980034448A (en) 1998-08-05

Similar Documents

Publication Publication Date Title
CN109661647B (en) Data processing apparatus and method
JPS62180427A (en) Program control circuit
US5053986A (en) Circuit for preservation of sign information in operations for comparison of the absolute value of operands
US4954947A (en) Instruction processor for processing branch instruction at high speed
US5757685A (en) Data processing system capable of processing long word data
US4093983A (en) Fast and normal rate instruction fetching
US6263424B1 (en) Execution of data dependent arithmetic instructions in multi-pipeline processors
JP4465081B2 (en) Efficient sub-instruction emulation in VLIW processor
KR100246465B1 (en) Apparatus and method for reducing cycle of microprocessor stack order
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
US6728870B1 (en) Register move operations
JPH0222413B2 (en)
US5854919A (en) Processor and its operation processing method for processing operation having bit width exceeding data width of bit storage unit
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JP2883488B2 (en) Instruction processing unit
US6944753B2 (en) Fixed point unit pipeline allowing partial instruction execution during the instruction dispatch cycle
JP3325309B2 (en) Subroutine return instruction processing unit
JPS61143850A (en) Processor
JP3124361B2 (en) Memory data loading device
JP3523407B2 (en) Information processing equipment
JPH05150943A (en) Computer
JP2866143B2 (en) Dynamic pipeline processing unit
JPH0588890A (en) Data processing method
KR19990066458A (en) Data processor

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: 20051118

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee