KR100377165B1 - 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치 - Google Patents

억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치 Download PDF

Info

Publication number
KR100377165B1
KR100377165B1 KR10-2000-0087183A KR20000087183A KR100377165B1 KR 100377165 B1 KR100377165 B1 KR 100377165B1 KR 20000087183 A KR20000087183 A KR 20000087183A KR 100377165 B1 KR100377165 B1 KR 100377165B1
Authority
KR
South Korea
Prior art keywords
instruction
ram
extended
access
fetched
Prior art date
Application number
KR10-2000-0087183A
Other languages
English (en)
Other versions
KR20020059025A (ko
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 KR10-2000-0087183A priority Critical patent/KR100377165B1/ko
Publication of KR20020059025A publication Critical patent/KR20020059025A/ko
Application granted granted Critical
Publication of KR100377165B1 publication Critical patent/KR100377165B1/ko

Links

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
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • 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
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements

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 선택 수단; 램을 억세스하기 위하여 상기 제어 신호에 응답하여 내부 램 어드레스 또는 확장 램 어드레스 생성부로부터 출력되는 확장 램 어드레스를 선택적으로 상기 램으로 출력하는 제2 선택 수단; 소정의 메모리 어드레스에 할당된 시스템 형성 플래그 레지스터; 및 상기 시스템 형성 플래그 레지스터의 출력신호와 상기 확장 램 억세스 명령어 변환 테이블의 출력신호를 이용하여 상기 제1 및 제2 선택 수단을 제어하는 논리회로를 포함한다.

Description

억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치{RAM ACCESS DEVICE FOR ADJUSTING ACCESS TIME OPTIONALLY}
본 발명은 마이크로컨트롤러에 관한 것으로, 특히 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치에 관한 것이다.
지식정보화 시대의 도래에 따라 인터넷을 이용한 가전기기 혹은 사무기기의제어가 대세가 되어가게 갈 것인데, 이를 위해서는 마이크로컨트롤러에서 인터넷 프로토콜을 수행할 수 있는 응용 프로그램을 수행하여야 한다. 여기서, 응용 프로그램의 수행 속도가 홈 네트워킹 시스템의 성능을 결정하게 되며, 이는 결국 응용 프로그램을 수행하는 마이크로컨트롤러의 명령어 수행 속도 시간이 홈 네트워킹 시스템의 성능을 결정하게 되는 것이다. 따라서, 마이크로컨트롤러가 이러한 응용 프로그램을 수행하기 위해서는 매우 큰 램(RAM)을 필요로 하고, 램 억세스 속도가 빨라야 한다. 그러나, 종래의 8비트 마이크로컨트롤러의 경우 내장된 램 크기가 대부분 256바이트 이하로서, 그 크기가 응용 프로그램을 수행하기에는 절대적으로 부족하다. 이에 따라, 내부 램 용량을 확장하게 되며, 이 확장된 내부 램을 억세스하는 속도가 개선되어야 하였다.
이러한 문제를 해결하기 위해 확장된 램을 원래 있던 내부 램과 동일하게 1 머신 사이클에 억세스하도록 만들기 위해서는 명령어 코드를 새로 할당하여 내부 제어 로직을 수정해야 하는데, 이는 매우 비효율적이며 구현 자체가 쉽지 않았다. 이를 해결하기 위하여 본원 출원인은 이건 특허 출원 전인 2000. 8. 18.자에 국내특허 출원번호 제2000-047843호로 "확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨 램 억세스 장치"를 출원한 바 있다.
도 1은 상기 국내특허 출원번호 제2000-047843호인 램 억세스 장치의 블록도이다.
도 1에 도시된 바와 같이, 램 억세스 장치는 코드 매핑 룰(rule)에 따라 확장된 램을 억세스하는 명령어를 일반 램을 억세스하는 명령어로 매핑하여 저장하고 있으며, 매 사이클마다 명령어를 롬(100)으로부터 페치할 때 페치된 명령어가 확장된 램을 억세스하는 명령어인지를 체크하는 확장 램 억세스 명령어 변환 테이블(110), 확장 램 억세스 명령어 변환 테이블(110)의 체크 결과, 페치된 명령어가 확장된 램을 억세스하는 명령어일 경우 인에이블되는 제어 신호(Ext_RAM_access)에 응답하여 롬(100)으로부터 페치된 노말 명령어 또는 확장 램 억세스 명령어 변환 테이블(110)로부터 출력되는 변환된 명령어를 선택하여 명령어 레지스터(130)로 출력하는 멀티플렉서(IR_MUX)(120) 및 제어 신호(Ext_RAM_access)에 응답하여 내부 램 어드레스 또는 확장 램 어드레스 생성부(140)로부터 출력되는 확장 램 어드레스를 선택하여 램(확장 램(160) 및 내부 램(170) 포함)으로 출력하는 멀티플렉서(150)로 이루어지며, 멀티플렉서(150)로부터 출력되는 어드레스에 응답하여 확장 램(160) 및 내부 램(170)을 동일하게 억세스한다.
상기 종래기술에서 이루어지는 확장된 램을 억세스하는 동작에 대해 설명하면 다음과 같다.
먼저, 매 사이클마다 명령어를 롬(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)로부터 출력되는 확장 램 어드레스를 램으로 출력함으로써 저장할 곳의 램 어드레스를 선택하도록 한다. 도 1은 종래기술의 확장된 램을 액세스하기 위한 시스템 구성도이다.
그러나, 이와 같은 구성에 따르면, 소프트웨어의 실행 시간을 일률적으로 줄이기 때문에 명령어 실행시간을 줄일 수 있다는 장점은 있으나, 기존에 사용되고 있던 실시간 소프트웨어에서는 치명적인 에러를 범할 가능성이 매우 농후하였다. 즉, 모든 명령어 실행 시간을 계산하여 작동되는 실시간 소프트웨어에서는 명령어 실행시간이 짧아지면 소프트웨어 실행시간의 일률적인 축소로 인하여 오동작이 발생할 가능성이 그만큼 증가하는 심각한 문제를 안고 있었다.
본 발명은 상기 문제점을 해결하기 위하여 안출된 것으로써, 램 억세스 장치의 시스템 형성 모드를 이원화함으로써 명령어 실행 시간의 일률적 단축으로 인한 오동작 가능성을 배제시키는 램 억세스 장치를 제공하는데 그 목적이 있다.
도 1은 종래기술에 따른 램 억세스 장치의 블록도.
도 2는 본 발명의 일실시예에 따른 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치의 블록도.
* 도면의 주요 부분에 대한 설명
100 : 롬 110 : 확장 램 억세스 명령어 변환 테이블
120, 150 : 멀티플렉서 130 : 명령어 레지스터
140 : 확장 램 어드레스 생성부
160 : 확장 램 170 : 내부 램
180 : 시스템 형성 플래그
190 : AND 게이트
상기 목적을 달성하기 위한 본 발명은 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨 램 억세스 장치에 있어서, 코드 매핑 룰에 따라 확장된 램을 억세스하는 명령어를 내부 램을 억세스하는 명령어로 매핑하여 저장하고 있으며, 롬으로부터의 명령어 페치 시 페치된 명령어가 확장된 램을 억세스하는 확장 램 억세스 명령어인지를 체크하는 확장 램 억세스 명령어 변환 테이블; 상기 확장 램 억세스 명령어 변환 테이블의 체크 결과, 페치된 명령어가 상기 확장 램 억세스 명령어일 경우 상기 확장 램 억세스 명령어 변환 테이블로부터 인에이블되어 출력되는 제어 신호에 응답하여 상기 롬으로부터 페치된 노말 명령어 또는 상기 확장 램 억세스 명령어 변환 테이블로부터 출력되는 변환된 명령어를 선택하여 명령어 레지스터로 출력하는 제1 선택 수단; 램을 억세스하기 위하여 상기 제어 신호에 응답하여 내부 램 어드레스 또는 확장 램 어드레스 생성부로부터 출력되는 확장 램 어드레스를 선택적으로 상기 램으로 출력하는 제2 선택 수단; 소정의 메모리 어드레스에 할당된 시스템 형성 플래그 레지스터; 및 상기 시스템 형성 플래그 레지스터의 출력신호와 상기 확장 램 억세스 명령어 변환 테이블의 출력신호를 이용하여 상기 제1 및 제2 선택 수단을 제어하는 논리회로를 포함하여 이루어진다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
도 2는 본 발명의 일실시예에 따른 선택적 억세스 시간 기능을 갖는 램 억세스 장치의 블록도로서, 대부분의 구성은 종래기술인 도 1의 구성과 일치하므로 특징부에 대해서만 언급하기로 한다.
도 2에 도시된 바와 같이, 본 발명의 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치는 시스템 형성 플래그(SCF)(180) 레지스터를 적당한 메모리 어드레스에 할당하고, 상기 시스템 형성 플래그(SCF)(180) 레지스터의 출력 값에 따라 램 억세스 시간을 선택적으로 조정하기 위하여 상기 확장 램 억세스 명령어 변환 테이블(110)의 출력과 상기 시스템 형성 플래그(SCF)(180)의 출력을 입력으로 하고 출력값을 멀티플렉서(120, 150)에 보내는 AND 게이트(190)가 구비되어 있음에 특징이 있다.
상기와 같은 본 발명의 구성에 따른 동작은 다음과 같다. 본 발명의 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치는 시스템 형성 모드를 이원적으로 구현하고 있다. 즉, 상기 시스템 형성 플래그 레지스터는 리셋 후 "0"의 값을 가지며, 이로 인해 AND 게이트 출력신호인 뉴 램 억세스 값이 "0"이 되므로 멀티플렉서(120, 150)에 의한 확장 램 억세스 시간이 불변이다. 그래서 확장 램 억세스 시간이 이전과 동일해야 하는 소프트웨어의 경우는 기존의 소프트웨어의 수정 없이 그대로 사용하면 된다.
한편, 확장 램 억세스 속도를 향상시키고자 할 경우, 리셋 후 소프트웨어적으로 SCF를 "1"로 셋 시킨다. 이 때, 확장 램 억세스 명령어가 실행될 경우에는 Ext_RAM_access의 신호에 따라 확장 램 억세스 시간이 줄어든다. SCF를 "1"로 셋 시키기 위해 하드웨어적으로 구현하는 방법은 1비트 레지스터 혹은 8비트 레지스터 어느 것도 무방함은 당업자에게 당연하다. 8비트 레지스터로 구현한다면 LSB를 SCF로 사용하고, 소프트웨어적으로는 MOV SCF,#01h의 명령어를 사용할 수 있다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
상기와 같이 이루어지는 본 발명은, 간단한 하드웨어 구성으로 실시간 소프트웨어를 아무런 변경없이 그대로 사용할 수 있을 뿐만 아니라 확장 램 억세스 시간을 단축할 수 있으며, 소프트웨어의 호환성을 극대화시킨 범용화된 칩을 개발할 수 있는 추가의 효과를 얻을 수 있다.

Claims (3)

  1. 코드 매핑 룰에 따라 확장된 램을 억세스하는 명령어를 내부 램을 억세스하는 명령어로 매핑하여 저장하고 있으며, 롬으로부터의 명령어 페치 시 페치된 명령어가 확장된 램을 억세스하는 확장 램 억세스 명령어인지를 체크하는 확장 램 억세스 명령어 변환 테이블;
    상기 확장 램 억세스 명령어 변환 테이블의 체크 결과, 페치된 명령어가 상기 확장 램 억세스 명령어일 경우 상기 확장 램 억세스 명령어 변환 테이블로부터 인에이블되어 출력되는 제어 신호에 응답하여 상기 롬으로부터 페치된 노말 명령어 또는 상기 확장 램 억세스 명령어 변환 테이블로부터 출력되는 변환된 명령어를 선택하여 명령어 레지스터로 출력하는 제1 선택 수단;
    램을 억세스하기 위하여 상기 제어 신호에 응답하여 내부 램 어드레스 또는 확장 램 어드레스 생성부로부터 출력되는 확장 램 어드레스를 선택적으로 상기 램으로 출력하는 제2 선택 수단;
    소정의 메모리 어드레스에 할당된 시스템 형성 플래그 레지스터; 및
    상기 시스템 형성 플래그 레지스터의 출력신호와 상기 확장 램 억세스 명령어 변환 테이블의 출력신호를 이용하여 상기 제1 및 제2 선택 수단을 제어하는 논리회로
    를 포함하여 이루어지는 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치.
  2. 제 1 항에 있어서, 상기 코드 매핑 룰은,
    명령어 세트에 따라 달라지는 것을 특징으로 하는 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치.
  3. 제 2 항에 있어서, 상기 코드 매핑 룰은,
    상기 페치된 명령어가 램 읽기 또는 램 쓰기 명령인지를 판단하고, 그 판단 결과에 따라 명령어 사이클이 가장 짧은 명령어를 찾아 읽기와 쓰기로 분류한 후 상기 페치된 명령어를 최적화된 명령어를 일대일 매핑하는 것을 특징으로 하는 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치.
KR10-2000-0087183A 2000-12-30 2000-12-30 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치 KR100377165B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0087183A KR100377165B1 (ko) 2000-12-30 2000-12-30 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0087183A KR100377165B1 (ko) 2000-12-30 2000-12-30 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치

Publications (2)

Publication Number Publication Date
KR20020059025A KR20020059025A (ko) 2002-07-12
KR100377165B1 true KR100377165B1 (ko) 2003-03-26

Family

ID=27690079

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0087183A KR100377165B1 (ko) 2000-12-30 2000-12-30 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치

Country Status (1)

Country Link
KR (1) KR100377165B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04209047A (ja) * 1990-12-03 1992-07-30 Ricoh Co Ltd 増設メモリ制御装置
US5537355A (en) * 1994-11-30 1996-07-16 Sony Corporation Of Japan Scheme to test/repair multiple large RAM blocks
KR960042342A (ko) * 1995-05-10 1996-12-21 김광호 에뮬레이터의 프로그램 정지 방법
KR19990046283A (ko) * 1999-02-01 1999-07-05 권기홍 확장명령어를갖는중앙처리장치
KR19990058732A (ko) * 1997-12-30 1999-07-15 구본준 하드웨어 실시간 멀티태스킹 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04209047A (ja) * 1990-12-03 1992-07-30 Ricoh Co Ltd 増設メモリ制御装置
US5537355A (en) * 1994-11-30 1996-07-16 Sony Corporation Of Japan Scheme to test/repair multiple large RAM blocks
KR960042342A (ko) * 1995-05-10 1996-12-21 김광호 에뮬레이터의 프로그램 정지 방법
KR19990058732A (ko) * 1997-12-30 1999-07-15 구본준 하드웨어 실시간 멀티태스킹 장치 및 방법
KR19990046283A (ko) * 1999-02-01 1999-07-05 권기홍 확장명령어를갖는중앙처리장치

Also Published As

Publication number Publication date
KR20020059025A (ko) 2002-07-12

Similar Documents

Publication Publication Date Title
EP1422722A1 (en) Synchronous semiconductor storage device module and its control method, information device
US6704914B2 (en) High level synthesis method, thread generated using the same, and method for generating circuit including such threads
KR20040027284A (ko) 랜덤 액세스가 불가능한 플래시 메모리를 이용하면서,프로세서의 고속 동작을 가능하게 한 메모리 시스템
JPH10161868A (ja) マクロ命令機能を有する同期式半導体メモリ装置とマクロ命令の格納及び実行方法
KR100377165B1 (ko) 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치
JP4700604B2 (ja) データ処理システムにおけるメモリ管理
KR100353814B1 (ko) 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨램 억세스 장치
KR20000003404A (ko) 외부 메모리 억세스를 위한 마이크로컨트롤러
KR100357177B1 (ko) 마이크로컴퓨터의명령해석장치
KR100470822B1 (ko) 마이크로 컨트롤러의 메모리 어드레싱 방법 및 페이지매핑장치
CN113805817B (zh) 增强flash存储器随机读写能力的方法、装置、系统及介质
US6029210A (en) Memory initialization system selectively outputting a data between a normal data stored in the memory and a fixed value according to a registered access state
KR200204909Y1 (ko) 분할된 내부 코드 메모리를 갖는 마이크로컨트롤러
JP2004234129A (ja) 半導体集積回路における記憶装置識別回路
JPH03211641A (ja) メモリ装置のアドレス指定方法
JP3006487B2 (ja) エミュレーション装置
KR20050097212A (ko) 내부 메모리 영역을 확장하기 위한 마이크로컨트롤러유닛
CN116880905A (zh) 一种数据存储方法、装置、存储介质及电子设备
JPH02264344A (ja) メモリ装置のアドレス指定方法
JPS6238943A (ja) マルチレジスタセツト方式のマイクロコンピユ−タ
JPH0683986A (ja) シングルチップ・マイクロコンピュータ
JPH07200523A (ja) マイクロコンピュータ
JP2001290792A (ja) フラッシュメモリ内蔵マイクロコンピュータ
JPS63646A (ja) メモリアクセス待ち制御回路
JPH04245556A (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
LAPS Lapse due to unpaid annual fee