KR100658918B1 - 블록 단위 입출력 명령어를 이용한 시스템 전역 변수초기화 장치 및 그 방법 - Google Patents

블록 단위 입출력 명령어를 이용한 시스템 전역 변수초기화 장치 및 그 방법 Download PDF

Info

Publication number
KR100658918B1
KR100658918B1 KR1020040021183A KR20040021183A KR100658918B1 KR 100658918 B1 KR100658918 B1 KR 100658918B1 KR 1020040021183 A KR1020040021183 A KR 1020040021183A KR 20040021183 A KR20040021183 A KR 20040021183A KR 100658918 B1 KR100658918 B1 KR 100658918B1
Authority
KR
South Korea
Prior art keywords
global variable
initialization
return address
system global
function
Prior art date
Application number
KR1020040021183A
Other languages
English (en)
Other versions
KR20050095961A (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 KR1020040021183A priority Critical patent/KR100658918B1/ko
Priority to CNB2004100942517A priority patent/CN100346300C/zh
Priority to US11/025,987 priority patent/US8627267B2/en
Publication of KR20050095961A publication Critical patent/KR20050095961A/ko
Priority to HK06100826A priority patent/HK1080961A1/xx
Application granted granted Critical
Publication of KR100658918B1 publication Critical patent/KR100658918B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A62LIFE-SAVING; FIRE-FIGHTING
    • A62CFIRE-FIGHTING
    • A62C31/00Delivery of fire-extinguishing material
    • A62C31/28Accessories for delivery devices, e.g. supports
    • AHUMAN NECESSITIES
    • A62LIFE-SAVING; FIRE-FIGHTING
    • A62CFIRE-FIGHTING
    • A62C35/00Permanently-installed equipment
    • A62C35/58Pipe-line systems
    • A62C35/68Details, e.g. of pipes or valve systems
    • 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
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions
    • AHUMAN NECESSITIES
    • A62LIFE-SAVING; FIRE-FIGHTING
    • A62CFIRE-FIGHTING
    • A62C37/00Control of fire-fighting equipment
    • A62C37/08Control of fire-fighting equipment comprising an outlet device containing a sensor, or itself being the sensor, i.e. self-contained sprinklers
    • A62C37/10Releasing means, e.g. electrically released
    • A62C37/11Releasing means, e.g. electrically released heat-sensitive
    • A62C37/12Releasing means, e.g. electrically released heat-sensitive with fusible links

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Stored Programmes (AREA)

Abstract

1. 청구범위에 기재된 발명이 속하는 기술분야
본 발명은, 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치 및 그 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 시스템 초기화 시에 블록 단위 입출력 명령어를 이용하여 시스템 전역 변수를 초기화함으로써 시스템 초기화에 소요되는 시간을 줄이기 위한, 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치 및 그 방법을 제공하는데 그 목적이 있음.
3. 발명의 해결 방법의 요지
본 발명은, 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치에 있어서, 시스템 전역 변수 초기화 함수, 및 블록 단위 입출력 명령어를 이용한 초기화 함수를 저장하고 있는 제 1 저장수단; 리턴 어드레스를 저장하기 위한 제 2 저장수단; 시스템의 초기화를 시작함에 따라 상기 시스템 전역 변수 초기화 함수를 호출하여 리턴 어드레스를 상기 제 2 저장수단에 저장하고, 상기 시스템 전역 변수 초기화 함수 실행 중에 상기 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하여 시스템 전역 변수를 초기화한 후, 상기 제 2 저장수단에 저장한 리턴 어드레스로 리턴하기 위한 제어수단; 및 상기 제어수단의 제어에 따라 초기화된 시스템 전역 변수를 저장하기 위한 제 3 저장수단을 포함함.
4. 발명의 중요한 용도
본 발명은 무선통신단말기 및 중앙처리장치(CPU)를 탑재한 기기 등에 이용됨.
시스템 초기화, 시스템 전역 변수 초기화, 블록 단위 입출력 명령어, 레지스터, 리턴 어드레스

Description

블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치 및 그 방법{Apparatus and method for initialization of system global variables using block input/output command}
도 1은 본 발명에 따른 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치를 구비한 무선통신단말기의 일실시예 구성도.
도 2는 본 발명에 따른 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 방법에 대한 일실시예 흐름도.
도 3은 본 발명에 따른 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 방법 중 리턴 어드레스 저장 과정에 대한 일실시예 설명도.
* 도면의 주요 부분에 대한 부호 설명
11 : 무선송수신장치 12 : 중앙처리장치(CPU)
13 : 코덱(CODEC) 14 : 저장장치
15 : 음성출력장치(스피커) 16 : 표시장치(LCD)
17 : 입력장치(키패드) 18 : 음성입력장치(마이크)
본 발명은, 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 시스템 초기화 시에 블록 단위 입출력 명령어를 이용하여 시스템 전역 변수를 초기화함으로써 시스템 초기화에 소요되는 시간을 줄이기 위한, 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치 및 그 방법에 관한 것이다.
일반적으로, 중앙처리장치(CPU)를 탑재한 시스템(무선통신단말기를 포함)은 전원을 켜거나 리셋(reset)을 수행하면 여러가지 초기화 과정을 수행하게 된다. 이러한 초기화 수행 시에 많은 시간을 소모하는 원인 중의 하나는 시스템에 탑재된 소프트웨어에 방대한 양의 시스템 전역 변수를 초기화하는 과정이 포함되어 있기 때문이다. 이 때, 시스템 전역 변수의 종류는 크게 0으로 초기화되는 제로초기화 데이터(ZI data : Zero Initialization data)와 미리 정해진 특정 값으로 초기화되는 읽기쓰기 데이터(RW data : Read Write data)로 나누어진다.
그런데, 종래의 시스템 전역 변수 초기화 과정은 운영체제(OS : Operating System)의 초기화가 이루어지기 이전에 이루어져야하였기 때문에 블록 단위 입출력 명령어(STM 명령어)를 이용하는 함수(C언어의 경우에 "memset" 함수 등)를 이용하기가 어려웠다. 따라서, 종래에는 아래와 같이 반복문(예를 들어 "for문")을 이용하여 시스템 전역 변수를 초기화하였다.
void init_ram(void)
{
int * a;
for(a=ZI시작주소;a<ZI끝주소;a++) {
*a = 0;
}
for(a=RW시작주소;a<RW끝주소;a++) {
*a = *(초기화시킬 값이 담긴 주소++);
}
}
이와 같이, 종래에 시스템 전역 변수를 초기화하기 위해서는 반복문(예를 들어 "for문")을 이용하여 각 전역 변수에 일일이 값을 할당하는 과정을 반복할 수 밖에 없었기 때문에 많은 시간을 소모하게 되는 문제점이 있었다.
특히, 이러한 시스템 전역 변수 초기화의 처리 지연은 소프트웨어의 규모나 복잡도가 증가할수록 그에 비례하여 증가하게 되므로, 전자기기의 발전 추세로 볼 때 더욱 큰 문제점이 될 수 있을 것이다.
본 발명은, 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 시스템 초기화 시에 블록 단위 입출력 명령어를 이용하여 시스템 전역 변수를 초기화함으로써 시스템 초기화에 소요되는 시간을 줄이기 위한, 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치 및 그 방법을 제공하는데 그 목적이 있다.
상기의 목적을 달성하기 위한 본 발명의 장치는, 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치에 있어서, 시스템 전역 변수 초기화 함수, 및 블록 단위 입출력 명령어를 이용한 초기화 함수를 저장하고 있는 제 1 저장수단; 리턴 어드레스를 저장하기 위한 제 2 저장수단; 시스템의 초기화를 시작함에 따라 상기 시스템 전역 변수 초기화 함수를 호출하여 리턴 어드레스를 상기 제 2 저장수단에 저장하고, 상기 시스템 전역 변수 초기화 함수 실행 중에 상기 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하여 시스템 전역 변수를 초기화한 후, 상기 제 2 저장수단에 저장한 리턴 어드레스로 리턴하기 위한 제어수단; 및 상기 제어수단의 제어에 따라 초기화된 시스템 전역 변수를 저장하기 위한 제 3 저장수단을 포함하는 것을 특징으로 한다.
한편, 본 발명의 방법은, 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 방법에 있어서, 시스템의 제어수단이 초기화를 시작함에 따라 시스템 전역 변수 초기화 함수를 호출하는 호출 단계; 상기 제어수단이 상기 시스템 전역 변수 초기화 함수의 리턴 어드레스를 시스템 전역 변수 초기화 시에 초기화되지 않는 저장수단에 저장하는 리턴 어드레스 저장 단계; 상기 제어수단이 상기 시스템 전역 변수 초기화 함수 실행 중에 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하여 시스템 전역 변수의 초기화를 수행하는 시스템 전역 변수 초기화 단계; 및 상기 제어수단이 시스템 전역 변수의 초기화를 완료함에 따라 상기 저장수단에 저장한 리턴 어드레스로 리턴하는 리턴 단계를 포함하는 것을 특징으로 한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하의 설명에서는 본 발명에 따른 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치가 무선통신단말기에 구비된 형태를 일예로 들어 설명하기로 한다. 이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
본 발명에서 무선통신단말기란 이동통신단말기, 개인휴대통신단말기(PCS), 개인용디지털단말기(PDA), 스마트폰, 차세대이동통신단말기(IMT-2000), 무선랜 단말기 등과 같이 개인이 휴대하면서 무선통신이 가능한 단말기를 말한다.
도 1은 본 발명에 따른 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치를 구비한 무선통신단말기의 일실시예 구성도이다.
도 1에 도시된 바와 같이, 본 발명에 따른 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치를 구비한 무선통신단말기는, 안테나를 통하여 무선으로 신호를 송수신하기 위한 무선송수신장치(11), 상기 무선통신단말기를 구동시키고 제어하며, 전원 온(Power on) 또는 리셋(reset)으로 인한 무선통신단말기 초기화 시에 저장장치(14)에 저장되어 있는 시스템 전역 변수 초기화 함수를 호출하여 리턴 어드레스를 저장하고, 시스템 전역 변수 초기화 함수 실행 중에 블록 단 위 입출력 명령어를 이용한 초기화 함수를 호출하여 시스템 전역 변수를 초기화한 후, 상기 저장한 리턴 어드레스로 리턴하기 위한 중앙처리장치(CPU)(12), 상기 중앙처리장치(CPU)(12)의 제어에 따라 상기 무선송수신장치(11)로부터 전달받은 신호를 음성으로 변환하여 음성출력장치(스피커)(15)로 출력하고, 음성입력장치(마이크)(18)로부터 입력받은 음성을 신호로 변환하여 상기 중앙처리장치(CPU)(12)로 전달하여 상기 무선송수신장치(11)를 통하여 송출되도록 하기 위한 코덱(CODEC)(13), 상기 무선통신단말기를 구동시키기 위한 프로그램과 파일 시스템(이미지, 캐릭터, 아이콘), 시스템 전역 변수 초기화 함수, 블록 단위 입출력 명령어를 이용한 초기화 함수 등을 저장하고 있으며, 상기 연산/제어장치(12)의 제어에 따라 초기화된 시스템 전역 변수 등을 저장하기 위한 저장장치(14), 상기 코덱(CODEC)(13)으로부터 전달받은 음성을 출력하기 위한 음성출력장치(스피커)(15), 상기 중앙처리장치(CPU)(12)의 제어에 따른 화면을 출력하기 위한 표시장치(LCD)(16), 버튼을 통해 전화번호, 메뉴선택정보 등을 입력받기 위한 입력장치(키패드)(17), 음성을 입력받아 상기 코덱(CODEC)(13)으로 전달하기 위한 음성입력장치(마이크)(18)를 포함한다.
상기 중앙처리장치(CPU)(12)는 명령어나 데이터를 일시적으로 저장하기 위한 기억장소인 레지스터(register)를 가지고 있다. 즉, 레지스터(register)는 산술적, 논리적 연산이나 정보 해석, 전송 등을 할 수 있는 일정 길이의 이진 정보를 저장하는 중앙처리장치(CPU) 내의 기억 장치로서, 주기억 장치에 비해 접근 시간이 빠르다.
레지스터(register)의 종류로는 산술 및 논리 연산의 결과를 임시로 기억하는 누산기(accumulator), 저장장치의 주소를 기억하는 주소 레지스터(address register), 실행 중인 명령 또는 다음에 실행할 명령의 위치를 보관하는 명령 계수기(instruction counter), 덧셈의 덧수, 곱셈의 곱수, 비교 또는 자리가 이동될 단어 등을 기억하는 산술 레지스터(arithmetic register), 디스크와 같은 입력 장치 또는 매체로부터 데이터를 전달받아 내부 기억 장치에 전달하는 버퍼 입력 레지스터(buffer input register), 내부의 기억 장소에서 데이터를 전달받아 디스크와 같은 출력 매체에 전송하는 버퍼 역할을 하는 버퍼 출력 레지스터(buffer output register), 프로그램에 의해 참조될 수 있는 외부 레지스터(external register), 함수를 실행한 후에 리턴할 리턴 어드레스를 저장하는 링크 레지스터(link register) 등이 있다. 일반적으로, 무선통신단말기의 중앙처리장치(CPU)는 16개(0번 ~ 15번)의 레지스터를 가지고 있으며, 이중에서 15번 레지스터인 링크 레지스터(link register)에 리턴 어드레스가 저장된다.
한편, 상기 중앙처리장치(CPU)는 전원을 켜거나 리셋을 실행하면 초기화를 위한 소프트웨어를 구동한다. 이 때, 초기화를 위한 소프트웨어는 시스템 전역 변수 초기화 함수, 주변기기 초기화 함수, 하드웨어 초기화 함수 등과 같은 여러 기능의 초기화 함수들로 구성되어 있다. 각 함수 호출시에는 함수를 실행한 후에 리턴할 리턴 어드레스를 중앙처리장치(CPU) 내의 레지스터 중에 특정 레지스터(예 : 링크 레지스터(link register), 이하에서는 "리턴 어드레스 레지스터"라고 한다.)에 저장한다.
이 때, 상기 리턴 어드레스 레지스터는 함수 실행 완료 후에 리턴할 리턴 어드레스를 저장하도록 그 기능이 정해져 있는 레지스터이다. 즉, 임의의 프로그램 내에서 함수를 호출하면 리턴 어드레스 레지스터에 리턴 어드레스가 저장되며, 이후에 함수 실행이 완료되면 리턴 어드레스 레지스터에 저장되어 있는 리턴 어드레스를 참조하여 리턴하게 된다.
그런데, 일반적으로 함수 내에서 함수를 호출하면, 호출한 함수의 리턴 어드레스는 스택(stack)에 저장되고, 호출된 함수의 리턴 어드레스는 리턴 어드레스 레지스터에 저장된다. 이 과정을 도 3을 참조하여 좀 더 상세히 살펴보면 다음과 같다.
먼저, 프로그램 내에서 A함수를 호출하면 리턴 어드레스 레지스터(31)에는 A함수의 리턴 어드레스가 저장된다. 그리고, A함수 실행 중에 B함수를 호출하면 리턴 어드레스 레지스터(31)에 저장되어 있던 A함수의 리턴 어드레스는 스택(33)에 저장되고, B함수의 리턴 어드레스가 리턴 어드레스 레지스터(31)에 새롭게 저장된다. 만약, 여기서 B함수 실행 중에 C함수를 호출하면 리턴 어드레스 레지스터(31)에 저장되어 있던 B함수의 리턴 어드레스는 스택(33)에 저장되고(A함수의 리턴 어드레스 다음에), C함수의 리턴 어드레스가 리턴 어드레스 레지스터(31)에 새롭게 저장된다. 따라서, 언제나 리턴 어드레스 레지스터(31)에는 가장 먼저 리턴할 리턴 어드레스(가장 나중에 호출된 함수의 리턴 어드레스)가 저장되어 있으며, 스택에는 리턴할 순서대로(호출의 역순으로) 리턴 어드레스가 저장되어 있다.
이후, 함수의 실행이 완료되어 리턴할 때에는 리턴 어드레스 레지스터(31)에 저장되어 있는 리턴 어드레스를 참조한다. 즉, C함수의 실행이 완료됨에 따라 리턴 어드레스 레지스터(31)에 저장되어 있는 C함수의 리턴 어드레스를 참조하여 리턴한 후에는 스택(33)으로부터 B함수의 리턴 어드레스를 리턴 어드레스 레지스터(31)로 읽어들인다. 그리고, B함수의 실행을 완료하여 리턴한 후에는 A함수의 리턴 어드레스를 리턴 어드레스 레지스터(31)로 읽어들인다.
한편, 본 발명에 따른 시스템 전역 변수 초기화 함수는 그 내부에서 블록 단위 입출력 명령어(STM 명령어)를 이용한 초기화 함수(C언어의 경우에 "memset" 함수 등)를 호출한다. 이와 같이, 시스템 전역 변수 초기화 함수 내에서 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하게 되면, 리턴 어드레스 레지스터(31)에 저장되어 있는 리턴 어드레스가 새로운 값(블록 단위 입출력 명령어를 이용한 초기화 함수의 리턴 어드레스)으로 바뀌게 된다.
즉, 종래에는 초기화 함수 내에서 함수를 호출하면, 호출한 함수의 리턴 어드레스는 스택(stack)(33)에 저장되고, 호출된 함수의 리턴 어드레스는 리턴 어드레스 레지스터(31)에 저장된다. 그런데, 스택(stack)(33)은 일종의 시스템 전역 변수이기 때문에 시스템 전역 변수의 초기화 후에는 "0"으로 초기화된다. 그에 따라 시스템 전역 변수 초기화 함수 실행 후에 리턴할 리턴 어드레스를 잃어버리기 때문에 이후의 실행이 정상적으로 이루어질 수 없다.
따라서, 본 발명에 따른 시스템 전역 변수 초기화 함수는 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하기 이전에, 또는 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하여 리턴 어드레스를 새롭게 저장하기 이전에, 리턴 어 드레스 레지스터(31) 이외의 타 레지스터에 시스템 전역 변수 초기화 후에 리턴할 리턴 어드레스를 저장한다. 그리고, 시스템 전역 변수의 초기화가 완료되면 상기 타 레지스터에 저장되어 있는 리턴 어드레스를 다시 리턴 어드레스 레지스터(31)로 읽어들여 리턴한다. 그 상세한 과정을 도 3을 참조하여 살펴보면 다음과 같다.
먼저, 중앙처리장치(CPU)(12)가 초기화를 실행함에 따라 시스템 전역 변수 초기화 함수를 호출하면, 리턴 어드레스를 리턴 어드레스 레지스터(31)에 저장하는 동시에 상기 리턴 어드레스 레지스터(31)에 저장되는 리턴 어드레스를 타 레지스터(32)에 저장한다. 그리고, 시스템 전역 변수 초기화 함수 실행 중에 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하면, 블록 단위 입출력 명령어를 이용한 초기화 함수의 리턴 어드레스를 상기 리턴 어드레스 레지스터(31)에 새롭게 저장한다.
다른 실시예로서, 중앙처리장치(CPU)(12)가 초기화를 실행함에 따라 시스템 전역 변수 초기화 함수를 호출한다. 그러면, 시스템 전역 변수 초기화 함수의 리턴 어드레스가 리턴 어드레스 레지스터(31)에 저장된다. 그리고, 시스템 전역 변수 초기화 함수 실행 중에 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하면 상기 리턴 어드레스 레지스터(31)에 저장되어 있는 리턴 어드레스를 종래처럼 스택(33)에 저장하는 것이 아니라 타 레지스터(32)에 저장한다. 그리고, 블록 단위 입출력 명령어를 이용한 초기화 함수의 리턴 어드레스를 리턴 어드레스 레지스터(31)에 새롭게 저장한다.
이후의 리턴 과정은 먼저, 블록 단위 입출력 명령어를 이용한 초기화 함수의 실행이 완료됨에 따라 리턴 어드레스 레지스터(31)에 저장되어 있는 리턴 어드레스를 이용하여 리턴한 후, 상기 타 레지스터(32)에 저장되어 있던 시스템 전역 변수 초기화 함수의 리턴 어드레스를 리턴 어드레스 레지스터(31)로 읽어들인다. 그리고, 시스템 전역 변수 초기화 함수의 실행이 완료되면 리턴 어드레스 레지스터(31)에 저장되어 있는 리턴 어드레스로 리턴한다.
한편, 본 발명에 따른 시스템 전역 변수 초기화 함수는 제로초기화(ZI) 데이터를 초기화하기 위한 "memset" 함수와 읽기쓰기(RW) 데이터를 초기화하기 위한 "memcpy" 함수를 차례로 호출한다. 이 때, "memset" 함수 및 "memcpy" 함수는 블록 단위 입출력 명령어를 이용하여 시스템 전역 변수를 초기화한다. 이 때, "memset" 함수 및 "memcpy" 함수는 내부적으로 어셈블리어로 구현된 블록 단위 입출력 명령어(예를 들어, STM 명령어)를 이용하여 프로그래밍하면 그 속도가 더욱 향상될 것이다. 또한, "memset" 함수 및 "memcpy" 함수 이외에도 블록 단위 입출력 명령어를 이용하여 프로그래밍한 함수를 이용하여 시스템 전역 변수를 초기화할 수도 있다.
한편, 상기 저장장치(14)는 비휘발성 메모리(롬)와 휘발성 메모리(램)를 포함한다. 상기 비휘발성 메모리(롬)는 상기 무선통신단말기를 구동시키기 위한 프로그램과 파일 시스템(이미지, 캐릭터, 아이콘), 시스템 전역 변수 초기화 함수, 블록 단위 입출력 명령어를 이용한 초기화 함수 등을 저장하고 있으며, 휘발성 메모리(램)는 상기 연산/제어장치(12)의 제어에 따라 초기화된 시스템 전역 변수 등을 저장한다.
참고적으로, 롬(ROM : Read Only Memory)은 비휘발성 데이터를 저장하기 위 한 저장장치로서, 한번 기록한 후에는 빠른 속도로 읽어 내는 것만을 허용하고 다시 기록하는 행위는 극히 제한하는 기억 장치이다.
그에 비해, 램(RAM : Random Access Memory)은 플립플롭으로 구성된 메모리 소자를 임의로 지정하여 데이터를 해독하고 기록할 수 있는 기억 장치로서, 정보의 기록, 해독이 가능하고 염가, 소형, 낮은 소비 전력, 고속 호출, 비파괴성 해독 등의 장점이 있다.
본 발명의 전체적인 동작 과정에 대하여서는 도 2를 참조하여 상세히 살펴보기로 한다.
도 2는 본 발명에 따른 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 방법에 대한 일실시예 흐름도이다.
먼저, 무선통신단말기가 전원 온(Power on) 또는 리셋(reset)으로 인하여 초기화를 시작하면(201), 중앙처리장치(CPU)(12)가 롬(ROM)에 저장되어 있는 시스템 전역 변수 초기화 함수를 호출한다(202).
그리고, 상기 중앙처리장치(CPU)는 시스템 전역 변수 초기화 후에 리턴할 리턴 어드레스를 리턴 어드레스 레지스터(31)에 저장하는 동시에, 타 레지스터(32)에도 저장한다(203).
즉, 상기 중앙처리장치(CPU)(12)가 시스템 전역 변수 초기화 함수를 호출함에 따라 시스템 전역 변수 초기화 후에 리턴할 리턴 어드레스를 리턴 어드레스 레지스터(31)에 저장하고, 리턴 어드레스 레지스터(31)에 저장되어 있는 리턴 어드레스를 타 레지스터(32)에 저장한다.
이 때, 리턴 어드레스 레지스터(31)에 저장되어 있는 시스템 전역 변수 초기화 함수의 리턴 어드레스를 타 레지스터(32)에 복사하여 저장하는 과정은 "202" 과정에서처럼 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 함수를 호출하는 과정 이전에 이루어질 수도 있고, 다른 실시예로서 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 함수(다수의 초기화 함수 중에 최초 호출 함수)를 호출한 후 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 함수의 리턴 어드레스를 리턴 어드레스 레지스터(31)에 저장하기 이전에 이루어질 수도 있다.
이후, 상기 중앙처리장치(CPU)(12)는 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하여 시스템 전역 변수의 초기화를 수행한다(204). 이 때, 시스템 전역 변수 초기화 함수와 블록 단위 입출력 명령어를 이용한 초기화 함수는 다음과 같다.
void init_ram(void)
{
memset(ZI시작주소, 0, ZI끝주소-ZI시작주소+1);
memcpy(RW시작주소, 초기화시킬 값이 담긴 주소, RW 데이터의 크기);
}
이와 같이, 본 발명에 따른 시스템 전역 변수 초기화 함수는 블록 단위 입출력 명령어를 이용한 초기화 함수("memset" 함수, "memcpy" 함수)를 차례로 호출한다.
이 때, "memset" 함수는 바이트(byte) 단위로 변수를 "0"으로 초기화하는 함수로서, 램(RAM)의 해당 영역에 제로초기화(ZI) 데이터를 블록 단위로 초기화한다. "memset" 함수 외에도 4바이트 정수(integer)형 단위로 변수를 초기화할 수 있는 함수 등을 이용하여도 된다.
그리고, "memcpy" 함수는 n바이트의 메모리 영역(RW 데이터의 크기 만큼)을 복사하는 함수로서, 읽기쓰기(RW) 데이터를 초기화한다. 즉, 상기 연산/제어장치(12)가 시스템 전역 변수 초기화 함수 내에서 "memcpy" 함수를 호출하면 롬(ROM)에 저장되어 있는 시스템 전역 변수의 초기화 값을 수 바이트 단위로 읽어들여 램(RAM)의 해당 영역에 복사하여 시스템 전역 변수(읽기쓰기(RW) 데이터)를 블록 단위로 초기화한다.
한편, 시스템 전역 변수 초기화 함수 실행 중에 "memset" 함수를 호출하면 "memset" 함수의 리턴 어드레스가 리턴 어드레스 레지스터(31)에 새롭게 저장되며, "memset" 함수의 수행이 완료되면 리턴 어드레스 레지스터(31)에 저장되어 있는 "memset" 함수의 리턴 어드레스로 리턴한다.
그리고, 시스템 전역 변수 초기화 함수 실행 중에 "memcpy" 함수를 호출하면 "memcpy" 함수의 리턴 어드레스가 리턴 어드레스 레지스터(31)에 새롭게 저장되며, "memcpy" 함수의 수행이 완료되면 리턴 어드레스 레지스터(31)에 저장되어 있는 "memcpy" 함수의 리턴 어드레스로 리턴한다.
이후, 상기 중앙처리장치(CPU)(12)가 시스템 전역 변수의 초기화를 완료하면 상기 타 레지스터(32)에 저장되어 있는 시스템 전역 변수 초기화 함수의 리턴 어드레스를 리턴 어드레스 레지스터(31)로 읽어들여 리턴한다(205).
상기와 같이, 본 발명은 블록 단위 입출력 명령어를 지원하기만 하면 어떤 중앙처리장치(CPU)에도 적용가능하다. 즉, 본 발명은 블록 단위 입출력 명령어를 지원하는 컴퓨터, 무선통신단말기, 또는 기타 전자 기기의 중앙처리장치(CPU)에 적용되어 부팅시간을 단축시킬 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같이 본 발명은, 시스템 초기화 시에 블록 단위 입출력 명령어를 이용하여 시스템 전역 변수를 초기화함으로써, 시스템 초기화에 소요되는 시간을 크게 줄일 수 있는 효과가 있다.
그에 따라, 본 발명은 사용자가 초기화를 위해 장시간 대기하여야 하는 불편을 해소시킬 수 있으며, 특히 빈번한 리셋(reset)이 필요한 시스템의 경우에 시스템의 불필요한 초기화 대기 시간을 현저하게 줄여 작업 능률을 크게 향상시킬 수 있는 효과가 있다.

Claims (18)

  1. 리턴 어드레스 레지스터를 포함한 복수개의 레지스터를 구비하는, 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치에 있어서,
    시스템 전역 변수 초기화 함수, 및 블록 단위 입출력 명령어를 이용한 초기화 함수를 저장하고 있는 제 1 저장수단;
    리턴 어드레스를 저장하기 위한 제 2 저장수단;
    시스템의 초기화를 시작함에 따라 상기 시스템 전역 변수 초기화 함수를 호출하여 리턴 어드레스를 상기 제 2 저장수단에 저장하고, 상기 시스템 전역 변수 초기화 함수 실행 중에 상기 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하여 시스템 전역 변수를 초기화한 후, 상기 제 2 저장수단에 저장한 리턴 어드레스로 리턴하기 위한 제어수단; 및
    상기 제어수단의 제어에 따라 초기화된 시스템 전역 변수를 저장하기 위한 제 3 저장수단
    을 포함하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치.
  2. 제 1 항에 있어서,
    상기 제 2 저장수단은 상기 복수개의 레지스터 중 상기 리턴 어드레스 레지스터를 제외한 어느 한 타 레지스터로서,
    시스템 전역 변수 초기화 시에 초기화되지 않는 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치.
  3. 제 2 항에 있어서,
    상기 제어수단이 리턴 어드레스를 저장하는 과정은,
    시스템의 초기화를 시작함에 따라 상기 시스템 전역 변수 초기화 함수를 호출하면 리턴 어드레스 레지스터에 저장되는 상기 시스템 전역 변수 초기화 함수의 리턴 어드레스를 상기 제 2 저장수단에도 저장하는 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치.
  4. 제 3 항에 있어서,
    상기 제어수단이 시스템 전역 변수를 초기화하는 과정은,
    상기 시스템 전역 변수 초기화 함수 실행 중에 상기 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하면 상기 블록 단위 입출력 명령어를 이용한 초기화 함수의 리턴 어드레스를 상기 리턴 어드레스 레지스터에 저장하고, 블록 단위 입출력 명령어를 이용하여 시스템 전역 변수를 초기화한 후, 상기 리턴 어드레스 레지스터에 저장되어 있는 리턴 어드레스로 리턴하는 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치.
  5. 제 2 항에 있어서,
    상기 제어수단이 리턴 어드레스를 저장하고 시스템 전역 변수를 초기화하는 과정은,
    상기 시스템 전역 변수 초기화 함수 실행 중에 상기 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하면 상기 리턴 어드레스 레지스터에 저장되어 있는 상기 시스템 전역 변수 초기화 함수의 리턴 어드레스를 상기 제 2 저장수단에 저장한 후에, 상기 블록 단위 입출력 명령어를 이용한 초기화 함수의 리턴 어드레스를 상기 리턴 어드레스 레지스터에 저장하고, 블록 단위 입출력 명령어를 이용하여 시스템 전역 변수를 초기화한 후, 상기 리턴 어드레스 레지스터에 저장되어 있는 리턴 어드레스로 리턴하는 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치.
  6. 제 1 항에 있어서,
    상기 제어수단이 리턴하는 과정은,
    시스템 전역 변수의 초기화를 완료함에 따라 상기 제 2 저장수단에 저장되어 있는 리턴 어드레스를 상기 리턴 어드레스 레지스터로 읽어들여 리턴하는 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치.
  7. 제 6 항에 있어서,
    상기 리턴 어드레스 레지스터는,
    프로그램에서 참조가능한 레지스터로서 함수 호출 시에 리턴 어드레스를 저장하도록 그 기능이 정의된 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치.
  8. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 제 1 저장수단은 롬(ROM)이고, 상기 제 3 저장수단은 램(RAM)인 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치.
  9. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 제 1 저장수단, 상기 제 2 저장수단, 상기 제 3 저장수단, 및 상기 제어수단은,
    무선통신단말기에 구비되는 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치.
  10. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 제 1 저장수단, 상기 제 2 저장수단, 상기 제 3 저장수단, 및 상기 제어수단은,
    컴퓨터에 구비되는 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치.
  11. 리턴 어드레스 레지스터를 포함한 복수개의 레지스터를 구비하는 초기화 장치의 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 방법에 있어서,
    시스템의 제어수단이 초기화를 시작함에 따라 시스템 전역 변수 초기화 함수를 호출하는 호출 단계;
    상기 제어수단이 상기 시스템 전역 변수 초기화 함수의 리턴 어드레스를 시스템 전역 변수 초기화 시에 초기화되지 않는 저장수단에 저장하는 리턴 어드레스 저장 단계;
    상기 제어수단이 상기 시스템 전역 변수 초기화 함수 실행 중에 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하여 시스템 전역 변수의 초기화를 수행하는 시스템 전역 변수 초기화 단계; 및
    상기 제어수단이 시스템 전역 변수의 초기화를 완료함에 따라 상기 저장수단에 저장한 리턴 어드레스로 리턴하는 리턴 단계
    를 포함하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 방법.
  12. 제 11 항에 있어서,
    상기 리턴 어드레스 저장 단계는,
    상기 제어수단이 상기 시스템 전역 변수 초기화 함수를 호출함에 따라 리턴 어드레스 레지스터에 저장되는 리턴 어드레스를 타 레지스터에 저장하는 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 방법.
  13. 제 12 항에 있어서,
    상기 시스템 전역 변수 초기화 단계는,
    상기 제어수단이 상기 시스템 전역 변수 초기화 함수 실행 중에 상기 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하면 상기 블록 단위 입출력 명령어를 이용한 초기화 함수의 리턴 어드레스를 상기 리턴 어드레스 레지스터에 저장하고, 블록 단위 입출력 명령어를 이용하여 시스템 전역 변수를 초기화한 후, 상기 리턴 어드레스 레지스터에 저장되어 있는 리턴 어드레스로 리턴하는 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 방법.
  14. 제 11 항에 있어서,
    상기 리턴 어드레스 저장 단계 및 상기 시스템 전역 변수 초기화 단계는,
    상기 제어수단이 상기 시스템 전역 변수 초기화 함수 실행 중에 상기 블록 단위 입출력 명령어를 이용한 초기화 함수를 호출하면 상기 리턴 어드레스 레지스터에 저장되어 있는 상기 시스템 전역 변수 초기화 함수의 리턴 어드레스를 상기 제 2 저장수단에 저장한 후에, 상기 블록 단위 입출력 명령어를 이용한 초기화 함수의 리턴 어드레스를 상기 리턴 어드레스 레지스터에 저장하고, 블록 단위 입출력 명령어를 이용하여 시스템 전역 변수를 초기화한 후, 상기 리턴 어드레스 레지스터에 저장되어 있는 리턴 어드레스로 리턴하는 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 장치.
  15. 제 12 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 리턴 단계는,
    상기 제어수단이 시스템 전역 변수의 초기화를 완료함에 따라 상기 복수개의 레지스터 중 상기 리턴 어드레스 레지스터를 제외한 어느 한 타 레지스터에 저장되어 있는 리턴 어드레스를 상기 리턴 어드레스 레지스터로 읽어들여 리턴하는 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 방법.
  16. 제 15 항에 있어서,
    상기 시스템 전역 변수 초기화 단계는,
    상기 제어수단이 상기 시스템 전역 변수 초기화 함수 실행 중에 블록 단위 입출력 명령어를 이용하여 제로초기화(ZI) 데이터를 수 바이트 단위로 초기화하기 위한 함수를 호출하여 제로초기화(ZI) 데이터를 초기화하는 제로초기화 데이터 초기화 단계; 및
    상기 제어수단이 상기 시스템 전역 변수 초기화 함수 실행 중에 블록 단위 입출력 명령어를 이용하여 읽기쓰기(RW) 데이터를 수 바이트 단위로 초기화하기 위한 함수를 호출하여 읽기쓰기(RW) 데이터를 초기화하는 읽기쓰기(RW) 데이터 초기화 단계
    를 포함하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 방법.
  17. 제 16 항에 있어서,
    상기 제로초기화 데이터 초기화 단계는,
    상기 제어수단이 상기 시스템 전역 변수 초기화 함수 실행 중에 블록 단위 입출력 명령어를 이용하여 제로초기화(ZI) 데이터를 수 바이트 단위로 초기화하기 위한 함수를 호출하여 램(RAM)의 해당 영역에 제로초기화(ZI) 데이터를 블록 단위로 초기화하는 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 방법.
  18. 제 17 항에 있어서,
    상기 읽기쓰기(RW) 데이터 초기화 단계는,
    상기 제어수단이 상기 시스템 전역 변수 초기화 함수 실행 중에 블록 단위 입출력 명령어를 이용하여, 롬(ROM)에 저장되어 있는 읽기쓰기(RW) 데이터를 수 바이트 단위로 읽어들여 램(RAM)의 해당 영역에 수 바이트 단위로 복사하기 위한 함수를 호출하여 읽기쓰기(RW) 데이터를 블록 단위로 초기화하는 것을 특징으로 하는 블록 단위 입출력 명령어를 이용한 시스템 전역 변수 초기화 방법.
KR1020040021183A 2004-03-29 2004-03-29 블록 단위 입출력 명령어를 이용한 시스템 전역 변수초기화 장치 및 그 방법 KR100658918B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020040021183A KR100658918B1 (ko) 2004-03-29 2004-03-29 블록 단위 입출력 명령어를 이용한 시스템 전역 변수초기화 장치 및 그 방법
CNB2004100942517A CN100346300C (zh) 2004-03-29 2004-12-31 用多重加载/存储指令初始化系统全局变量的设备和方法
US11/025,987 US8627267B2 (en) 2004-03-29 2005-01-03 Apparatus and method for initializing system global variables by using multiple load/store instructions
HK06100826A HK1080961A1 (en) 2004-03-29 2006-01-18 Apparatus and method for initializing system global variables by using multiple load/store instructions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040021183A KR100658918B1 (ko) 2004-03-29 2004-03-29 블록 단위 입출력 명령어를 이용한 시스템 전역 변수초기화 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20050095961A KR20050095961A (ko) 2005-10-05
KR100658918B1 true KR100658918B1 (ko) 2006-12-15

Family

ID=35061891

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040021183A KR100658918B1 (ko) 2004-03-29 2004-03-29 블록 단위 입출력 명령어를 이용한 시스템 전역 변수초기화 장치 및 그 방법

Country Status (4)

Country Link
US (1) US8627267B2 (ko)
KR (1) KR100658918B1 (ko)
CN (1) CN100346300C (ko)
HK (1) HK1080961A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101036675B1 (ko) * 2006-07-18 2011-05-24 인텔 코오퍼레이션 Efi 기반 펌웨어에서의 프리 efi 초기화 모듈의 전역변수 사용법
CN101807157B (zh) * 2010-03-30 2012-08-29 南京恩瑞特实业有限公司 基于函数访问全局变量的防御性编程方法
WO2016003415A1 (en) * 2014-06-30 2016-01-07 Hewlett-Packard Development Company, L.P. Securely sending a complete initialization package
CN109614087A (zh) * 2018-11-14 2019-04-12 西安翔腾微电子科技有限公司 一种OpenGL多重嵌套显示列表调用方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198243A (ja) * 1996-01-19 1997-07-31 Matsushita Electric Ind Co Ltd 情報処理装置
JPH11272475A (ja) 1998-03-20 1999-10-08 Nec Corp 非リエントラントプログラムの自動リエントラント化方法及びシステム
KR20040008552A (ko) * 2002-07-18 2004-01-31 삼성전자주식회사 소프트웨어 모듈의 초기화 관리 시스템
KR20050039235A (ko) * 2003-10-24 2005-04-29 삼성전자주식회사 고정 베이스 레지스터를 이용한 컴파일러의 어셈블리 코드생성 방법
KR20050039954A (ko) * 2003-10-27 2005-05-03 주식회사 팬택앤큐리텔 정수 및 쇼트 형 메모리 설정 방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1010810B (zh) * 1989-03-04 1990-12-12 北京市大兴多思软件有限公司 一种支持forth语言的计算机体系结构
JP2867340B2 (ja) * 1989-05-12 1999-03-08 日本電信電話株式会社 計算機システムの閉塞/開始処理方法
JP2857600B2 (ja) * 1995-05-11 1999-02-17 松下電器産業株式会社 プロセッサ及びプログラム翻訳装置
US6289434B1 (en) * 1997-02-28 2001-09-11 Cognigine Corporation Apparatus and method of implementing systems on silicon using dynamic-adaptive run-time reconfigurable circuits for processing multiple, independent data and control streams of varying rates
US6157999A (en) * 1997-06-03 2000-12-05 Motorola Inc. Data processing system having a synchronizing link stack and method thereof
US6553426B2 (en) 1997-10-06 2003-04-22 Sun Microsystems, Inc. Method apparatus for implementing multiple return sites
US6493816B1 (en) * 1998-03-30 2002-12-10 International Business Machines Corporation Method and apparatus for encapsulating address translation for shared persistent virtual storage
US6363473B1 (en) * 1999-04-01 2002-03-26 Compaq Information Technologies Group, L.P. Simulated memory stack in a stackless environment
US6484289B1 (en) * 1999-09-23 2002-11-19 Texas Instruments Incorporated Parallel data test for a semiconductor memory
JP4908665B2 (ja) * 2000-02-02 2012-04-04 キヤノン株式会社 プロセッサシステム及びその起動方法
US20010047473A1 (en) * 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US6516410B1 (en) * 2000-02-17 2003-02-04 Compaq Information Technologies Group, L.P. Method and apparatus for manipulation of MMX registers for use during computer boot-up procedures
US7065639B2 (en) * 2000-12-29 2006-06-20 Hewlett-Packard Development Company, L.P. Utilization of SRAM in an execution of initialization code process upon system start up
US20030018846A1 (en) * 2001-07-18 2003-01-23 Blaise Fanning Method and system for fast memory initialization or diagnostics
US7251811B2 (en) * 2002-01-02 2007-07-31 Intel Corporation Controlling compatibility levels of binary translations between instruction set architectures
KR100503484B1 (ko) * 2002-08-27 2005-07-25 삼성전자주식회사 화상형성장치
US7500092B2 (en) * 2003-01-17 2009-03-03 International Business Machines Corporation Hardware abstraction for set-top box operating systems
US7159105B2 (en) * 2003-06-30 2007-01-02 Intel Corporation Platform-based optimization routines provided by firmware of a computer system
US20050027940A1 (en) * 2003-08-01 2005-02-03 Zimmer Vincent J. Methods and apparatus for migrating a temporary memory location to a main memory location
US7340561B2 (en) * 2004-01-08 2008-03-04 Hewlett-Packard Development Company, L.P. Computer memory initialization
US7325176B2 (en) * 2004-02-25 2008-01-29 Dell Products L.P. System and method for accelerated information handling system memory testing
US7464243B2 (en) * 2004-12-21 2008-12-09 Cisco Technology, Inc. Method and apparatus for arbitrarily initializing a portion of memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198243A (ja) * 1996-01-19 1997-07-31 Matsushita Electric Ind Co Ltd 情報処理装置
JPH11272475A (ja) 1998-03-20 1999-10-08 Nec Corp 非リエントラントプログラムの自動リエントラント化方法及びシステム
KR20040008552A (ko) * 2002-07-18 2004-01-31 삼성전자주식회사 소프트웨어 모듈의 초기화 관리 시스템
KR20050039235A (ko) * 2003-10-24 2005-04-29 삼성전자주식회사 고정 베이스 레지스터를 이용한 컴파일러의 어셈블리 코드생성 방법
KR20050039954A (ko) * 2003-10-27 2005-05-03 주식회사 팬택앤큐리텔 정수 및 쇼트 형 메모리 설정 방법

Also Published As

Publication number Publication date
HK1080961A1 (en) 2006-05-04
CN100346300C (zh) 2007-10-31
US8627267B2 (en) 2014-01-07
CN1680921A (zh) 2005-10-12
KR20050095961A (ko) 2005-10-05
US20050228968A1 (en) 2005-10-13

Similar Documents

Publication Publication Date Title
US7340566B2 (en) System and method for initializing a memory device from block oriented NAND flash
US7454557B2 (en) System and method for booting from a non-volatile application and file storage device
US8433363B2 (en) Memory device in mobile phone
US6810444B2 (en) Memory system allowing fast operation of processor while using flash memory incapable of random access
US7246346B2 (en) System and method for persisting dynamically generated code in a directly addressable and executable storage medium
JP4960364B2 (ja) ハードウェア支援されたデバイス設定検出
KR20100088210A (ko) 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치
US20110246759A1 (en) Method for boosting an electronic device with multiple processing units, and electronic device for implementing the same
CN112463230A (zh) 程序运行方法及装置、电子设备、存储介质
US6700582B2 (en) Method and system for buffer management
CN110928574A (zh) 微控制器、中断处理芯片、设备及中断处理方法
WO2024187704A1 (zh) 一种链表式数据结构及其数据处理方法、存储介质、电子设备
KR100658918B1 (ko) 블록 단위 입출력 명령어를 이용한 시스템 전역 변수초기화 장치 및 그 방법
WO2023240941A1 (zh) 下载数据的方法、装置和安全元件
KR100532417B1 (ko) 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법
JP7355876B2 (ja) プログラム起動方法及び機器、記憶媒体
KR100534613B1 (ko) 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법
CN108804221B (zh) 基于xip方式的嵌入式系统及其资源优化方法
CN113646744A (zh) 针对未对齐的存储器操作将存储器访问加宽至对齐的地址
KR100673999B1 (ko) 이동통신 단말기의 부팅방법
CN113805817B (zh) 增强flash存储器随机读写能力的方法、装置、系统及介质
JP2915680B2 (ja) Riscプロセッサ
TW200304596A (en) Method and apparatus for converting an external memory access into a local memory access in a processor core
CN117762487A (zh) 一种指令执行控制方法、芯片、电子设备及存储介质
JP2004110086A (ja) 半導体装置

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141212

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151201

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20191204

Year of fee payment: 14