KR100353814B1 - 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨램 억세스 장치 - Google Patents
확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨램 억세스 장치 Download PDFInfo
- Publication number
- KR100353814B1 KR100353814B1 KR1020000047843A KR20000047843A KR100353814B1 KR 100353814 B1 KR100353814 B1 KR 100353814B1 KR 1020000047843 A KR1020000047843 A KR 1020000047843A KR 20000047843 A KR20000047843 A KR 20000047843A KR 100353814 B1 KR100353814 B1 KR 100353814B1
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- ram
- extended
- access
- fetched
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/30181—Instruction operation extension or modification
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머신 사이클에 억세스할 수 있는, 램 억세스 장치를 제공하기 위한 것으로, 이를 위해 본 발명은 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨 램 억세스 장치에 있어서, 코드 매핑 룰에 따라 확장된 램을 억세스하는 명령어를 내부 램을 억세스하는 명령어로 매핑하여 저장하고 있으며, 롬으로부터의 명령어 페치 시 페치된 명령어가 확장된 램을 억세스하는 확장 램 억세스 명령어인지를 체크하는 확장 램 억세스 명령어 변환 테이블; 상기 확장 램 억세스 명령어 변환 테이블의 체크 결과, 페치된 명령어가 상기 확장 램 억세스 명령어일 경우 상기 확장 램 억세스 명령어 변환 테이블로부터 인에이블되어 출력되는 제어 신호에 응답하여 상기 롬으로부터 페치된 노말 명령어 또는 상기 확장 램 억세스 명령어 변환 테이블로부터 출력되는 변환된 명령어를 선택하여 명령어 레지스터로 출력하는 제1 선택 수단; 및 램을 억세스하기 위하여 상기 제어 신호에 응답하여 내부 램 어드레스 또는 확장 램 어드레스 생성부로부터 출력되는 확장 램 어드레스를 선택적으로 상기 램으로 출력하는 제2 선택 수단을 포함한다.
Description
본 발명은 마이크로컨트롤러에 관한 것으로, 특히 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨 램 억세스 장치에 관한 것이다.
최근 세계적으로 홈 네트워킹 시스템의 개발이 한창 진행되고 있는 데, 이러한 시스템의 구현에 있어 꼭 필요한 것이 마이크로컨트롤러이며, 마이크로컨트롤러 중 가격이 싼 8비트 마이크로컨트롤러가 많이 사용되고 있다.
홈 네트워킹 시스템은 대부분의 가전기기나 사무기기를 인터넷에 연결하여 인터넷을 통해 제어하게 되는 데, 이를 위해서는 마이크로컨트롤러에서 인터넷 프로토콜을 수행할 수 있는 응용 프로그램을 수행하여야 한다. 여기서, 응용 프로그램의 수행 속도가 홈 네트워킹 시스템의 성능을 결정하게 되는 데, 이는 결국 응용 프로그램을 수행하는 마이크로컨트롤러의 명령어 수행 속도 시간이 홈 네트워킹 시스템의 성능을 결정하게 되는 것이다. 따라서, 마이크로컨트롤러가 이러한 응용 프로그램을 수행하기 위해서는 매우 큰 램(RAM)을 필요로 하고, 램 억세스 속도가 빨라야 한다. 그러나, 종래의 8비트 마이크로컨트롤러의 경우 내장된 램 크기가 대부분 256바이트 이하로서, 그 크기가 응용 프로그램을 수행하기에는 절대적으로 부족하다. 이에 따라, 내부 램 용량을 확장하게 되며, 이 확장된 내부 램을 억세스하는 속도가 개선되어야 한다.
일반적으로, 램 확장을 위해 종래의 외부 램 억세스 명령어를 그대로 사용하고 있는 데, 이는 내부 램 확장을 가능하게는 하지만 확장된 내부 램의 억세스 속도를 향상시키지 못한다.
일례로, 8비트 마이크로컨트롤러인 인텔 8051의 경우를 살펴보면 인텔 8051에서는 확장된 내부 램을 억세스하기 위해 MOVX 명령어를 사용하는 데, 이 MOVX 명령어는 원래 있던 내부 램을 억세스하기 위해 사용되는 MOV 명령어보다 1 머신 사이클(machine cycle) 더 많은 2 머신 사이클이 소요된다. 이해를 돕기 위해, 도 1에 인텔 8051의 MOVX 명령어와 MOV 명령어의 실행 사이클을 도시하였다.
이러한 문제를 해결하기 위해 확장된 램을 원래 있던 내부 램과 동일하게 1 머신 사이클에 억세스하도록 만들기 위해서는 명령어 코드를 새로 할당하여 내부 제어 로직을 수정해야 하는 데, 이는 매우 비효율적이며 구현 자체가 쉽지 않다.
본 발명은 상기 문제점을 해결하기 위하여 안출된 것으로써, 간단한 하드웨어로 원래 내부에 존재하는 램을 억세스할 때와 동일하게 확장된 램을 1머신 사이클에 억세스할 수 있는, 램 억세스 장치를 제공하는데 그 목적이 있다.
도 1은 인텔 8051의 MOVX 명령어 및 MOV 명령어에 대한 실행 사이클을 도시한 도면.
도 2는 본 발명의 일실시예에 따른 램 억세스 장치의 블록도.
* 도면의 주요 부분에 대한 설명
100 : 롬 110 : 확장 램 억세스 명령어 변환 테이블
120, 150 : 멀티플렉서 130 : 명령어 레지스터
140 : 확장 램 어드레스 생성부
160 : 확장 램
170 : 내부 램
상기 목적을 달성하기 위한 본 발명은 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨 램 억세스 장치에 있어서, 코드 매핑 룰에 따라 확장된 램을 억세스하는 명령어를 내부 램을 억세스하는 명령어로 매핑하여 저장하고 있으며, 롬으로부터의 명령어 페치 시 페치된 명령어가 확장된 램을 억세스하는 확장 램 억세스 명령어인지를 체크하는 확장 램 억세스 명령어 변환 테이블; 상기 확장 램 억세스 명령어 변환 테이블의 체크 결과, 페치된 명령어가 상기 확장 램 억세스 명령어일 경우 상기 확장 램 억세스 명령어 변환 테이블로부터 인에이블되어 출력되는 제어 신호에 응답하여 상기 롬으로부터 페치된 노말 명령어 또는 상기 확장 램 억세스 명령어 변환 테이블로부터 출력되는 변환된 명령어를 선택하여 명령어 레지스터로 출력하는 제1 선택 수단; 및 램을 억세스하기 위하여 상기 제어 신호에 응답하여 내부 램 어드레스 또는 확장 램 어드레스 생성부로부터 출력되는 확장 램 어드레스를 선택적으로 상기 램으로 출력하는 제2 선택 수단을 포함하여 이루어진다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
도 2는 본 발명의 일실시예에 따른 램 억세스 장치의 블록도이다.
도 2에 도시된 바와 같이, 본 발명의 램 억세스 장치는 코드 매핑 룰(rule)에 따라 확장된 램을 억세스하는 명령어를 일반 램을 억세스하는 명령어로 매핑하여 저장하고 있으며, 매 사이클마다 명령어를 롬(100)으로부터 페치할 때 페치된 명령어가 확장된 램을 억세스하는 명령어인지를 체크하는 확장 램 억세스 명령어 변환 테이블(110), 확장 램 억세스 명령어 변환 테이블(110)의 체크 결과, 페치된 명령어가 확장된 램을 억세스하는 명령어일 경우 인에이블되는 제어 신호(Ext_RAM_access)에 응답하여 롬(100)으로부터 페치된 노말 명령어 또는 확장 램 억세스 명령어 변환 테이블(110)로부터 출력되는 변환된 명령어를 선택하여 명령어 레지스터(130)로 출력하는 멀티플렉서(IR_MUX)(120) 및 제어 신호(Ext_RAM_access)에 응답하여 내부 램 어드레스 또는 확장 램 어드레스생성부(140)로부터 출력되는 확장 램 어드레스를 선택하여 램(확장 램(160) 및 내부 램(170) 포함)으로 출력하는 멀티플렉서(150)로 이루어지며, 멀티플렉서(150)로부터 출력되는 어드레스에 응답하여 확장 램(160) 및 내부 램(170)을 동일하게 억세스한다.
도 2를 참조하여, 본 발명에서 이루어지는 확장된 램을 억세스하는 동작에 대해 상세히 설명한다.
먼저, 매 사이클마다 명령어를 롬(100)으로부터 페치할 때 확장 램 억세스 명령어 변환 테이블(110)에서 페치된 명령어가 확장된 램을 억세스하는 확장 램 억세스 명령어인지를 체크하여, 만약, 확장 램 억세스 명령어인 경우 제어 신호(Ext_RAM_access)를 '1'로 인에이블시켜 멀티플렉서(120, 150)로 출력한다. 멀티플렉서(120)는 '1'로 인에이블된 제어 신호(Ext_RAM_access)에 따라 확장 램 억세스 명령어 변환 테이블(110)로부터 출력되는 변환된 명령어를 선택하여 명령어 레지스터(130)로 보낸다.
확장 램 억세스 명령어 변환 테이블(110)의 코드 매핑 룰은 하드웨어가 가지고 있는 명령어 세트에 따라 달라진다. 코드 매핑 룰은 명령어가 램 읽기 또는 램 쓰기 명령인지를 판단하고, 판단 결과에 따라 명령어 사이클이 가장 짧은 명령어를 찾아 읽기와 쓰기로 분류하고, 구현 로직을 최소화하기 위해 최적화된 명령어를 일대일 매핑시킨다. 예를 들어, MOVX @DPTR, A 명령어가 실행되어야 한다면 확장 램 억세스 명령어 변환 테이블(110)에서는 상기 명령어가 확장된 램을 억세스하는 확장 램 억세스 명령어이므로 제어신호(Ext_RAM_access) 신호를 '1'로 인에이블시켜출력하고, MOV R0, A 명령어를 변환된 명령어로 출력한다. 이때, 원래의 명령어(MOVX @DPTR, A)와 변환된 명령어(MOV R0, A)의 차이는 연산의 마지막 결과가 저장되는 누적기(Accumulator)의 값을 어디에 저장할 것인 가이다. 따라서, 멀티플렉서(150)에서 인에이블된 제어신호(Ext_RAM_access)에 응답하여 확장 램 어드레스 생성부(140)로부터 출력되는 확장 램 어드레스를 램으로 출력함으로써 저장할 곳의 램 어드레스를 선택하도록 한다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
상기와 같이 이루어지는 본 발명은, 간단한 하드웨어 구성으로 확장 램 억세스 명령어를 일반 내부 램 명령어로 변환시킴으로써 확장 램을 억세스하는 속도를 2배 이상 향상시킬 수 있으며, 이로부터 전체 프로그램 수행 속도의 향상과 전력 소모를 줄일 수 있는 추가의 효과를 얻을 수 있다.
Claims (3)
- 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨 램 억세스 장치에 있어서,코드 매핑 룰에 따라 확장된 램을 억세스하는 명령어를 내부 램을 억세스하는 명령어로 매핑하여 저장하고 있으며, 롬으로부터의 명령어 페치 시 페치된 명령어가 확장된 램을 억세스하는 확장 램 억세스 명령어인지를 체크하는 확장 램 억세스 명령어 변환 테이블;상기 확장 램 억세스 명령어 변환 테이블의 체크 결과, 페치된 명령어가 상기 확장 램 억세스 명령어일 경우 상기 확장 램 억세스 명령어 변환 테이블로부터 인에이블되어 출력되는 제어 신호에 응답하여 상기 롬으로부터 페치된 노말 명령어 또는 상기 확장 램 억세스 명령어 변환 테이블로부터 출력되는 변환된 명령어를 선택하여 명령어 레지스터로 출력하는 제1 선택 수단; 및램을 억세스하기 위하여 상기 제어 신호에 응답하여 내부 램 어드레스 또는 확장 램 어드레스 생성부로부터 출력되는 확장 램 어드레스를 선택적으로 상기 램으로 출력하는 제2 선택 수단을 포함하여 이루어지는 램 억세스 장치.
- 제 1 항에 있어서, 상기 코드 매핑 룰은,명령어 세트에 따라 달라지는 것을 특징으로 하는 램 억세스 장치.
- 제 2 항에 있어서, 상기 코드 매핑 룰은,상기 페치된 명령어가 램 읽기 또는 램 쓰기 명령인지를 판단하고, 그 판단 결과에 따라 명령어 사이클이 가장 짧은 명령어를 찾아 읽기와 쓰기로 분류한 후 상기 페치된 명령어를 최적화된 명령어를 일대일 매핑하는 것을 특징으로 하는 램 억세스 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000047843A KR100353814B1 (ko) | 2000-08-18 | 2000-08-18 | 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨램 억세스 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000047843A KR100353814B1 (ko) | 2000-08-18 | 2000-08-18 | 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨램 억세스 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020014511A KR20020014511A (ko) | 2002-02-25 |
KR100353814B1 true KR100353814B1 (ko) | 2002-09-27 |
Family
ID=19683800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000047843A KR100353814B1 (ko) | 2000-08-18 | 2000-08-18 | 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨램 억세스 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100353814B1 (ko) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5426769A (en) * | 1993-08-26 | 1995-06-20 | Metalink Corp. | System and method for producing input/output expansion for single chip microcomputers |
US5481682A (en) * | 1991-04-08 | 1996-01-02 | Mitsubishi Denki Kabushiki Kaisha | Microcommand function switching circuit |
KR19980086928A (ko) * | 1997-05-12 | 1998-12-05 | 맥아들 존제이 | 내부 및 외부 메모리 사용 |
KR19990022430A (ko) * | 1995-06-07 | 1999-03-25 | 어드밴스드 마이크로 디바이시즈, 아이엔씨. | 확장기능을 지정하기 위한 명령어 필드를 사용하는 마이크로프로세서 |
US5966514A (en) * | 1995-05-31 | 1999-10-12 | Matsushita Electric Industrial Co., Ltd. | Microprocessor for supporting reduction of program codes in size |
KR20000074425A (ko) * | 1999-05-20 | 2000-12-15 | 윤종용 | 어드레스 확장이 가능한 데이터 처리 시스템 |
-
2000
- 2000-08-18 KR KR1020000047843A patent/KR100353814B1/ko not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5481682A (en) * | 1991-04-08 | 1996-01-02 | Mitsubishi Denki Kabushiki Kaisha | Microcommand function switching circuit |
US5426769A (en) * | 1993-08-26 | 1995-06-20 | Metalink Corp. | System and method for producing input/output expansion for single chip microcomputers |
US5966514A (en) * | 1995-05-31 | 1999-10-12 | Matsushita Electric Industrial Co., Ltd. | Microprocessor for supporting reduction of program codes in size |
KR19990022430A (ko) * | 1995-06-07 | 1999-03-25 | 어드밴스드 마이크로 디바이시즈, 아이엔씨. | 확장기능을 지정하기 위한 명령어 필드를 사용하는 마이크로프로세서 |
KR19980086928A (ko) * | 1997-05-12 | 1998-12-05 | 맥아들 존제이 | 내부 및 외부 메모리 사용 |
KR20000074425A (ko) * | 1999-05-20 | 2000-12-15 | 윤종용 | 어드레스 확장이 가능한 데이터 처리 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20020014511A (ko) | 2002-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101729503B1 (ko) | 계층 변환 테이블 제어 | |
JPH11161547A (ja) | データ処理装置用記憶装置、および記憶場所にアクセスする方法 | |
EP4066095A1 (en) | Reduction of page migration between different types of memory | |
KR980004059A (ko) | 데이타 처리장치 및 그 레지스터 어드레스 변환방법 | |
KR100353814B1 (ko) | 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨램 억세스 장치 | |
KR100377165B1 (ko) | 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치 | |
US20050021929A1 (en) | Micro controller for processing compressed codes | |
JPH01233537A (ja) | キャッシュメモリを備えた情報処理装置 | |
JPH0844560A (ja) | メモリ制御回路とその回路を内蔵した集積回路素子 | |
JP4015867B2 (ja) | アドレス信号出力装置 | |
KR100546298B1 (ko) | Arm7t 프로세서를 이용한 마이크로 프로세서에서 명령어 모드에 따른 캐쉬 메모리의 라인 사이즈 제어 방법 및 그 장치 | |
CN114297131B (zh) | 传感器控制系统、片上系统和计算装置 | |
JP3644614B2 (ja) | 動的中間コード処理装置 | |
KR200204909Y1 (ko) | 분할된 내부 코드 메모리를 갖는 마이크로컨트롤러 | |
JPH01263750A (ja) | シングルチップマイクロコンピュータ | |
JP2008003867A (ja) | マイクロコンピュータ | |
JPH03211641A (ja) | メモリ装置のアドレス指定方法 | |
CN114721464A (zh) | 片上系统和计算装置 | |
JP2985201B2 (ja) | マイクロコンピュータ | |
KR100640820B1 (ko) | 버퍼 제어 장치 | |
US9274794B2 (en) | Processor and instruction processing method in processor | |
CN115658559A (zh) | 内存地址映射方法及装置、芯片 | |
JPH02257233A (ja) | 拡張メモリのアクセス方法および拡張メモリのアクセス制御装置 | |
JPH05143445A (ja) | 仮想記憶コンピユータのメモリ高速化機構 | |
JPH02116939A (ja) | アドレス選択方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050824 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |