KR20010018243A - Register mapping method for micro processor - Google Patents
Register mapping method for micro processor Download PDFInfo
- Publication number
- KR20010018243A KR20010018243A KR1019990034114A KR19990034114A KR20010018243A KR 20010018243 A KR20010018243 A KR 20010018243A KR 1019990034114 A KR1019990034114 A KR 1019990034114A KR 19990034114 A KR19990034114 A KR 19990034114A KR 20010018243 A KR20010018243 A KR 20010018243A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- register
- bits
- bit
- registers
- Prior art date
Links
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
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
Abstract
Description
본 발명은 마이크로 프로세서의 레지스터 맵핑 방법에 관한 것으로, 특히 마이크로 프로세서의 레지스터를 맵핑함에 있어서 모든 데이터 버스에 대해 내부 데이터 버스의 로드 커패시턴스값이 동일하도록 한 마이크로 프로세서의 레지스터 맵핑 방법에 관한 것이다.The present invention relates to a register mapping method of a microprocessor, and more particularly, to a method of mapping a register of a microprocessor such that the load capacitance value of an internal data bus is the same for all data buses in mapping registers of the microprocessor.
종래 32비트 마이크로 프로세서의 레지스터 맵핑은 도 1에 도시된 바와 같이 32비트 시스템 버스(10)와 각각 데이터 버스(D〈31:0〉)(D〈15:0〉)(D〈7:0〉)를 통해 데이터를 입출력하는 제1 내지 제15 레지스터(20∼35)로 구성된다.Register mapping of a conventional 32-bit microprocessor is performed by a 32-bit system bus 10 and a data bus D <31: 0> (D <15: 0>) (D <7: 0>) as shown in FIG. The first to the fifteenth register (20 to 35) for inputting and outputting data through the ().
그리고, 상기 레지스터(22)(23)(25)(26)(27)(28)는 도 2에 도시된 바와 같이 각각 마이크로 프로세서(미도시)의 읽기 및 쓰기 인에이블 신호(RDEN1∼ RDEN6)(WDEN1∼WDEN6)에 의해 인에이블되는 입출력부(40∼45)에 의해 16비트 데이터를 데이터 버스(D〈15:0〉)를 통해 상기 시스템 버스(10)로 출력하거나 상기 시스템 버스(10)의 16비트 데이터를 입력받아 저장하는 16비트 레지스터로 각기 구성된다.The registers 22, 23, 25, 26, 27, and 28 are read and write enable signals RDEN1 to RDEN6 of a microprocessor (not shown), respectively, as shown in FIG. The 16-bit data is output to the system bus 10 through the data bus D <15: 0> by the input / output units 40 to 45 enabled by the WDEN1 to WDEN6, or on the system bus 10. Each consists of 16-bit registers that receive and store 16-bit data.
그리고, 상기 레지스터(20)(21)(30)(31)(32)는 상기 마이크로 프로세서의 제어를 받는 입출력부에 의해 각각 데이터 버스(D〈31:0〉)를 통해 32비트 데이터를 입출력하는 32비트 레지스터로 각기 구성되며, 상기 레지스터(24)(29)(33)(34)는 상기 마이크로 프로세서의 제어를 받는 입출력부에 의해 각각 데이터 버스(D〈7:0〉)를 통해 8비트 데이터를 입출력하는 8비트 레지스터로 각기 구성되며, 이와 같이 구성된 종래 기술에 따른 동작과정을 상세히 설명한다.The registers 20, 21, 30, 31, and 32 respectively input and output 32-bit data through the data bus D <31: 0> by the input / output unit under the control of the microprocessor. Each of the registers 24, 29, 33, and 34 is composed of 32 bit registers. The registers 24, 29, 33, and 34 are each composed of 8 bits of data through the data bus D <7: 0>. Each of the 8-bit registers for inputting and outputting are described in detail.
일반적으로 마이크로 프로세서내 존재하는 레지스터(20∼35)는 각각의 기능에 따라 레지스터 비트의 싸이즈가 다르기 때문에 32비트 마이크로 프로세서의 경우 레지스터 비트 싸이즈가 최대 32비트에서 최소 8비트로 구성된다.In general, since the register bits of the microprocessors have different register bits according to their functions, the register bit size of the 32-bit microprocessor is composed of a maximum of 32 bits and a minimum of 8 bits.
따라서, 레지스터 맵핑은 특정 레지스터의 어드레스와 데이터 버스를 설정하는 것으로, 일반적으로 데이터 버스는 하위 비트부터 시작하여 필요한 비트 수만큼 지정하여 사용하게 된다.Therefore, register mapping sets the address and data bus of a specific register. In general, the data bus is used by designating as many bits as necessary, starting from the lower bits.
즉, 32비트 레지스터의 경우 데이터 버스의 하위 0비트부터 상위 31비트까지 사용하게 되며, 16비트 레지스터의 경우 상기 데이터 버스의 0비트부터 15비트까지 사용하게 되고, 8비트 레지스터는 상기 데이터 버스의 0비트부터 7비트까지 사용하게 된다.That is, the 32-bit register uses the lower 0 bits and the upper 31 bits of the data bus, and the 16-bit register uses the 0 to 15 bits of the data bus, and the 8-bit register uses 0 of the data bus. Bits to 7 bits are used.
예를 들면, 레지스터(22)에 16비트 데이터를 저장하고자 하는 경우, 쓰기 인에이블 신호(RDEN)에 의해 입출력부(40)가 인에이블되어 시스템 버스(10)의 16비트 데이터를 데이터 버스(D〈15:0〉)를 통해 상기 레지스터(22)에 저장하게 된다.For example, when 16-bit data is to be stored in the register 22, the input / output unit 40 is enabled by the write enable signal RDEN, and the 16-bit data of the system bus 10 is converted into the data bus D. FIG. ≪ 15: 0 >) in the register 22.
또한, 다른 16비트 레지스터(23)(25)(26)(27)(28)도 상기와 동일하게 상기 시스템 버스(10)의 16비트 데이터를 데이터 버스(D〈15:0〉)를 통해 입력받아 저장하게 된다.In addition, other 16-bit registers 23, 25, 26, 27, and 28 also input 16-bit data of the system bus 10 through the data bus D <15: 0> in the same manner as described above. Receive and save.
그리고, 상기 16비트 레지스터(22)(23)(25)(26)(27)(28)에서 16비트 데이터를 읽고자 하는 경우, 읽기 인에이블 신호(RDEN)에 의해 상기 입출력부(40∼45)가 인에이블되어 저장된 16비트 데이터를 데이터 버스(D〈15:0〉)를 통해 상기 시스템 버스(10)로 출력하게 된다.In the case of reading 16-bit data from the 16-bit registers 22, 23, 25, 26, 27, and 28, the input / output unit 40 to 45 by the read enable signal RDEN. ) Is enabled and outputs the stored 16-bit data to the system bus 10 via the data bus D <15: 0>.
여기서, 상기 데이터 버스내 각각의 비트에 연결되는 레지스터의 수가 다르기 때문에 상기 데이터 버스에 연결된 레지스터의 비트 수에 따라 각각의 레지스터를 모델링하면, 상기 데이터 버스 각 비트의 커패시턴스값은 연결된 레지스터의 숫자에 따라 연결된 레지스터가 작을수록 커진다.Here, since the number of registers connected to each bit in the data bus is different, modeling each register according to the number of bits of the register connected to the data bus, the capacitance value of each bit of the data bus according to the number of connected registers The smaller the connected register is, the larger it is.
상기와 같이 종래의 기술에 있어서 데이터 버스의 각 비트에 연결된 레지스터의 수가 적을수록 커패시턴스값이 커짐으로써, 구동기의 설계면적 및 전력소모가 커지고, 또한, 실제 커패시턴스값이 큰 데이터 버스의 비트에 의해 실제 동작 속도가 결정됨에 따라 전체적인 속도가 저하되는 문제점이 있었다.As described above, in the prior art, the smaller the number of registers connected to each bit of the data bus, the larger the capacitance value, and the larger the design area and power consumption of the driver, and the more the actual capacitance value is achieved by the bits of the data bus. As the operating speed is determined, there is a problem that the overall speed is lowered.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창안한 것으로, 마이크로 프로세서의 레지스터를 맵핑함에 있어서 모든 데이터 버스에 대해 내부 데이터 버스의 로드 커패시턴스값이 동일하도록 한 마이크로 프로세서의 레지스터 맵핑 방법을 제공함에 그 목적이 있다.Accordingly, the present invention has been made to solve the above-mentioned conventional problems. In the mapping of the registers of the microprocessor, the method of mapping the registers of the microprocessor such that the load capacitance values of the internal data buses are the same for all data buses. The purpose is to provide.
도 1은 종래 32비트 마이크로 프로세서의 레지스터 맵핑을 보인 블록도.1 is a block diagram illustrating register mapping of a conventional 32-bit microprocessor.
도 2는 도 1에서 제3,제4 레지스터의 구성을 보인 회로도.FIG. 2 is a circuit diagram illustrating a configuration of third and fourth registers in FIG. 1.
도 3은 본 발명을 적용한 32비트 마이크로 프로세서의 레지스터 맵핑을 보인 블록도.3 is a block diagram showing register mapping of a 32-bit microprocessor to which the present invention is applied;
도 4는 도 3에서 제3,제4 레지스터의 구성을 보인 회로도.FIG. 4 is a circuit diagram illustrating a configuration of third and fourth registers in FIG. 3.
***도면의 주요 부분에 대한 부호의 설명****** Description of the symbols for the main parts of the drawings ***
100 : 시스템 버스 110 ∼ 125 : 레지스터100: system bus 110-125: register
130,132 : 입출력부130,132: I / O part
상기와 같은 목적을 달성하기 위한 본 발명은 복수 비트의 마이크로 프로세서내 서로 다른 비트수를 갖는 레지스터를 맵핑시 각각 복수 비트 레지스터와 동일한 비트를 갖도록 둘이상의 레지스터를 서로 합쳐 복수 비트의 데이터 버스를 통해 각각의 데이터를 입출력하도록 한 것을 특징으로 한다.The present invention for achieving the above object is a combination of two or more registers to each other to have the same bit and the plurality of registers in the multi-bit microprocessor to map the registers having a different number of bits each through a multi-bit data bus It is characterized in that the data input and output.
이하, 본 발명에 따른 일실시예에 대한 동작과 작용효과를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.Hereinafter, with reference to the accompanying drawings, the operation and effect of an embodiment of the present invention will be described in detail.
도 3은 본 발명을 적용한 32비트 마이크로 프로세서의 레지스터 맵핑을 보인 블록도로서, 이에 도시한 바와 같이 각각 시스템 버스(100)와 32비트 데이터 버스(D〈31:0〉)를 통해 데이터를 입출력하기 위한 레지스터(110∼125)로 구성하며, 상기 레지스터(110)(111)(120)(121)(122)는 마이크로 프로세서(미도시)의 제어를 받는 입출력부에 의해 각각 데이터 버스(D〈31:0〉)를 통해 32비트 데이터를 입출력하는 32비트 레지스터로 각기 구성한다.FIG. 3 is a block diagram showing register mapping of a 32-bit microprocessor to which the present invention is applied. As shown in FIG. 3, data is inputted and outputted through a system bus 100 and a 32-bit data bus D <31: 0>. And registers 110 to 125, and the registers 110, 111, 120, 121, and 122 are respectively controlled by a data bus (D < 31) by an input / output unit controlled by a microprocessor (not shown). It consists of 32-bit registers that input and output 32-bit data through: 0>).
그리고, 레지스터(112)(113)(115)(116)(117)(118)는 도 4에 도시된 바와 같이 상기 데이터 버스(D〈31:0〉)를 통해 데이터를 입출력하기 위하여 각각 2개 레지스터(112,113)(115,116)(117,118)를 합친 후, 상기 마이크로 프로세서로부터 각각의 읽기 및 쓰기 인에이블 신호(RDEN1,RDEN2)(WDEN1,WDEN2)에 의해 인에이블되는 입출력부(130)(131) 및 데이터 버스(D〈15:0〉)(D〈31:16〉)를 통해 각각의 16비트 데이터를 상기 시스템 버스(100)로 출력하거나 상기 시스템 버스(100)의 16비트 데이터를 입력받아 저장하는 16비트 레지스터로 각기 구성하며, 레지스터(114)(119)(123)(124)는 상기 데이터 버스(D〈31:0〉)를 통해 데이터를 입출력하기 위하여 상기 4개의 레지스터(114)(119)(123)(124)를 합친 후, 각각 데이터 버스(D〈7:0〉)(D〈15:8〉)(D〈23:16〉)(D〈31:24〉) 및 상기 마이크로 프로세서에 의해 인에이블되는 입출력부를 통해 8비트 데이터를 입출력하는 8비트 레지스터로 각기 구성하며, 이와 같이 구성한 본 발명에 따른 동작과정을 상세히 설명한다.In addition, two registers 112, 113, 115, 116, 117, and 118 are provided for inputting and outputting data through the data bus D <31: 0>, as shown in FIG. Input and output units 130 and 131 enabled by the read and write enable signals RDEN1 and RDEN2 (WDEN1 and WDEN2) from the microprocessor after the registers 112 and 113 and 115 and 116 and 117 and 118 are combined. Outputting 16-bit data to the system bus 100 or receiving and storing 16-bit data of the system bus 100 through a data bus D <15: 0> (D <31:16>). Each of the four registers 114 and 119 is configured as a 16-bit register, and registers 114, 119, 123, and 124 are used to input and output data through the data bus D <31: 0>. (123) and (124) are combined, respectively, to the data bus (D <7: 0>) (D <15: 8>) (D <23:16>) (D <31:24>) and the microprocessor, respectively. Enabled by Configuration, each with an 8-bit register for inputting and outputting eight-bit data through input and output units, and a description of the operation procedure according to the present invention constructed as described immediately above in detail.
우선, 각각 32비트가 아닌 레지스터의 경우, 이를 32비트 범위내에서 데이터 버스(D〈31:0〉)를 통해 시스템 버스(100)로 데이터를 각각 입출력하기 위하여 서로 연결하여 32비트 레지스터처럼 동작하도록 한다.First, for each non-32-bit register, it connects to each other to input and output data to the system bus 100 via the data bus (D <31: 0>) within the 32-bit range so that it behaves like a 32-bit register. do.
즉, 16비트 레지스터(112)(113)(115)(116)(117)(118)의 경우, 각각 2개씩 합쳐서 상기 데이터 버스(D〈31:0〉)를 통해 연결하여 각각 16비트 데이터를 입출력하며, 또한, 8비트 레지스터(114)(119)(123)(124)의 경우 4개를 합쳐서 상기 데이터 버스(D〈31:0〉)를 통해 연결하여 데이터를 입출력한다.That is, in the case of the 16-bit registers 112, 113, 115, 116, 117, and 118, two of them are put together and connected through the data bus (D <31: 0>) to connect each 16-bit data. In the case of the 8-bit registers 114, 119, 123, and 124, four are combined and connected through the data bus D <31: 0> to input and output data.
여기서, 16비트 레지스터(112)(113)에 16비트 데이터를 쓰는 경우, 마이크로 프로세서의 쓰기 인에이블 신호(WDEN1)(WDEN2)에 의해 입출력부(130)(131)가 인에이블됨에 따라 시스템 버스(100)의 16비트 데이터를 데이터 버스(D〈15:0〉)(D〈31:16〉)를 통해 입력받아 저장한다.In this case, when 16-bit data is written to the 16-bit registers 112 and 113, the input / output units 130 and 131 are enabled by the write enable signals WDEN1 and WDEN2 of the microprocessor. 16-bit data of 100 is inputted through a data bus (D <15: 0>) (D <31:16>) and stored.
그리고, 상기 16비트 레지스터(112)(113)에 저장된 데이터를 읽고자 하는 경우, 읽기 인에이블 신호(RDEN1)(RDEN2)에 의해 상기 입출력부(130)(131)가 인에이블되어 상기 저장된 16비트 데이터를 데이터 버스(D〈15:0〉)(D〈31:16〉)를 통해 시스템 버스(100)로 출력한다.When the data stored in the 16-bit registers 112 and 113 is to be read, the input / output units 130 and 131 are enabled by the read enable signals RDEN1 and RDEN2 to store the 16-bit data. Data is output to the system bus 100 via a data bus D <15: 0> (D <31:16>).
그리고, 8비트 데이터를 쓰고자 하는 경우, 쓰기 인에이블 신호에 의해 입출력부가 인에이블됨에 따라 데이터 버스(D〈7:0〉)(D〈15:8〉)(D〈23:16〉)(D〈31:24〉)를 통해 8비트 데이터를 해당 8비트 레지스터(114)(119)(123)(124)에 각기 저장하며, 읽는 경우 읽기 인에이블 신호에 의해 상기 8비트 레지스터(114)(119)(123)(124)에 저장된 8비트 데이터를 각기 데이터 버스(D〈7:0〉)(D〈15:8〉)(D〈23:16〉)(D〈31:24〉)를 통해 시스템 버스(100)로 출력한다.In the case of writing 8-bit data, the data bus D <7: 0> (D <15: 8>) (D <23:16>) ( D <31:24>) stores 8-bit data in the respective 8-bit registers 114, 119, 123, and 124, and reads the 8-bit register 114 by a read enable signal when reading. The 8-bit data stored in 119, 123, and 124 is respectively converted into a data bus (D <7: 0>) (D <15: 8>) (D <23:16>) (D <31:24>). Output to the system bus 100 through.
여기서, 상기 마이크로 프로세서는 복수의 레지스터를 합쳐 32비트 레지스터처럼 데이터 버스(D〈31:0〉)를 이용하여 데이터를 입출력하나, 각각 별도의 읽기 및 쓰기 인에이블 신호를 각각의 입출력부로 인가하여 이를 인에이블시킴으로써, 각각의 레지스터에 데이터를 읽기/쓰기하도록 제어한다.Here, the microprocessor combines a plurality of registers to input and output data using a data bus (D <31: 0>) like a 32-bit register, but applies a separate read and write enable signal to each input / output unit. By enabling the control, data is read / written to each register.
상기에서 상세히 설명한 바와 같이, 본 발명은 마이크로 프로세서의 레지스터를 맵핑시 모든 내부 데이터 버스의 각 비트에 연결되는 레지스터의 갯수를 일치시킴에 따라 데이터 버스의 각 비트별 커패시턴스 값의 차를 최소화함으로써, 구동기의 설계 면적 및 전력소모를 최적화하여 전체적인 동작 속도를 향상시키는 효과가 있다.As described in detail above, the present invention minimizes the difference in capacitance value of each bit of the data bus by matching the number of registers connected to each bit of all internal data buses when mapping the registers of the microprocessor. It has the effect of improving overall operating speed by optimizing design area and power consumption.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990034114A KR20010018243A (en) | 1999-08-18 | 1999-08-18 | Register mapping method for micro processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990034114A KR20010018243A (en) | 1999-08-18 | 1999-08-18 | Register mapping method for micro processor |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20010018243A true KR20010018243A (en) | 2001-03-05 |
Family
ID=19607669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990034114A KR20010018243A (en) | 1999-08-18 | 1999-08-18 | Register mapping method for micro processor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20010018243A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100603124B1 (en) * | 2003-11-18 | 2006-07-20 | 인터내셔널 비지네스 머신즈 코포레이션 | Two dimensional addressing of a matrix-vector register array |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR850700079A (en) * | 1983-10-31 | 1985-10-21 | 빈센트 죠셉로너 | Micro with internal address mapper |
KR920001320A (en) * | 1990-06-29 | 1992-01-30 | 원본미기재 | Method and apparatus for manipulating data in internal registers in a reduced instruction set processor |
KR950009463A (en) * | 1993-09-28 | 1995-04-24 | 김주용 | Bus protocol mapping circuit |
JPH08179965A (en) * | 1994-12-26 | 1996-07-12 | Mitsubishi Denki Semiconductor Software Kk | Event detection circuit |
-
1999
- 1999-08-18 KR KR1019990034114A patent/KR20010018243A/en not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR850700079A (en) * | 1983-10-31 | 1985-10-21 | 빈센트 죠셉로너 | Micro with internal address mapper |
KR920001320A (en) * | 1990-06-29 | 1992-01-30 | 원본미기재 | Method and apparatus for manipulating data in internal registers in a reduced instruction set processor |
KR950009463A (en) * | 1993-09-28 | 1995-04-24 | 김주용 | Bus protocol mapping circuit |
JPH08179965A (en) * | 1994-12-26 | 1996-07-12 | Mitsubishi Denki Semiconductor Software Kk | Event detection circuit |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100603124B1 (en) * | 2003-11-18 | 2006-07-20 | 인터내셔널 비지네스 머신즈 코포레이션 | Two dimensional addressing of a matrix-vector register array |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5721874A (en) | Configurable cache with variable, dynamically addressable line sizes | |
KR920001281B1 (en) | Information processing apparatus | |
KR20010018243A (en) | Register mapping method for micro processor | |
JP3266529B2 (en) | Method and apparatus for forming translation information to translate storage area addresses into memory control signals | |
KR930007046B1 (en) | Extended addressing using sub-addressed segment registers | |
JPH04278288A (en) | Semiconductor memory | |
KR970059914A (en) | Flash memory system | |
SU1564633A1 (en) | Device for addressing immediate-access memory | |
KR920010960B1 (en) | Memory device in computer system | |
US5946715A (en) | Page address space with varying page size and boundaries | |
JP3071717B2 (en) | Parity bit writing method | |
JP2954988B2 (en) | Information processing device | |
JPH09259069A (en) | Address converting device | |
JPS6398758A (en) | Dma controller | |
JP2008003867A (en) | Microcomputer | |
JPS61147352A (en) | Computer device | |
JPH05173927A (en) | Address extension control system | |
JPH04237348A (en) | Memory accessing device | |
JPH10240679A (en) | Data bus switching circuit | |
JPH10312352A (en) | Memory mapped i/o port system | |
JPH01219930A (en) | Interrupt control circuit device for indirect address system | |
JPH05289931A (en) | Information processor | |
JPS63296151A (en) | Memory device with paging function | |
JPH08179985A (en) | Memory decoder | |
JPH06332847A (en) | Bus conversion and connection circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |