KR970002396B1 - A initialized method for a computer - Google Patents
A initialized method for a computer Download PDFInfo
- Publication number
- KR970002396B1 KR970002396B1 KR1019940002822A KR19940002822A KR970002396B1 KR 970002396 B1 KR970002396 B1 KR 970002396B1 KR 1019940002822 A KR1019940002822 A KR 1019940002822A KR 19940002822 A KR19940002822 A KR 19940002822A KR 970002396 B1 KR970002396 B1 KR 970002396B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- boot
- cache memory
- computer system
- input
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Abstract
Description
제1도는 컴퓨터시스템의 구성을 보이는 블럭도이다.1 is a block diagram showing the configuration of a computer system.
제2도는 종래의 초기화방법을 보이는 흐름도이다.2 is a flowchart showing a conventional initialization method.
제3도는 본 발명에 따른 초기화방법의 바람직한 실시예를 보이는 흐름도이다.3 is a flowchart showing a preferred embodiment of the initialization method according to the present invention.
본 발명은 컴퓨터시스템의 초기화방법에 관한 것으로서, 더욱 상세하게는 캐쉬메모리(cache memory)를 사용하여 초기화 시간을 단축시키는 방법에 관한 것이다.The present invention relates to a method for initializing a computer system, and more particularly, to a method for shortening an initialization time by using a cache memory.
일반적으로 컴퓨터 시스템의 초기화 동작은 시스템 테스트 동작과 부트프로그램의 수행 및 시스템을 온라인(on-line)화 시키기 위한 2차 로더의 수행으로 대별되어질 수 있다.In general, the initialization operation of a computer system can be roughly divided into a system test operation, a boot program, and a secondary loader for bringing the system online.
제1도는 컴퓨터시스템 중에서 초기화에 관련된 부분을 보이는 블럭도이다. 제1도에 있어서 참조부호10은 초기화시 시스템 테스트 프로그램 및 부트프로그램을 수행하는 마이크로프로세서(10)이고, 12는 마이크로프로세서(10)에 의해 액세스되는 메모리이고, 14는 부트롬(boot rom)(16) 및 2차 로더(secondary leader)(18)와 메모리(12) 사이의 입출력을 제어하는 입출력제어기이며, 20은 캐쉬메모리이다.1 is a block diagram showing a part related to initialization in a computer system. In FIG. 1, reference numeral 10 denotes a microprocessor 10 which performs a system test program and a boot program at initialization, 12 denotes a memory accessed by the microprocessor 10, and 14 denotes a boot rom 16 And an input / output controller for controlling the input / output between the secondary loader 18 and the memory 12, and 20 is a cache memory.
제2도는 제1도에 도시된 장치에 있어서 종래의 초기화방법을 보이는 흐름도이다. 시스템에 초기동작전원이 인가되거나 리세트동작이 지정되면 마이크로프로세서(10)는 시스템 테스트 프로그램을 수행하여 컴퓨터 시스템의 전체 혹은 일부분을 검사하고 시스템의 운용에 필요한 각종의 스테이터스 플랙들을 세트한다(200단계).2 is a flowchart showing a conventional initialization method in the apparatus shown in FIG. When the initial operation power is applied to the system or the reset operation is specified, the microprocessor 10 performs a system test program to inspect all or part of the computer system and sets various status flags necessary for operating the system (step 200). ).
테스트 프로그램의 수행이 종료되면 마이크로프로세서는 부트롬(16)에 저장된 부트프로그램의 로드를 입출력제어기(14)를 통해 요구한다(210단계).After the execution of the test program, the microprocessor requests the load of the boot program stored in the boot ROM 16 through the input / output controller 14 (step 210).
입출력제어기(14)는 부트메모리(16)와 메모리(12) 사이의 입출력을 제어한다. 이때의 데이타 처리는 워드(32bit) 단위로 수행된다(220단계).The input / output controller 14 controls the input / output between the boot memory 16 and the memory 12. Data processing at this time is performed in units of words (32 bits) (step 220).
마이크로프로세서(10)는 메모리(12)에 기입된 부트프로그램을 수행한다(230단계). 이때 캐쉬메모리(20)는 메모리(12)에 기입된 부트프로그램의 일부를 캐쉬하여 마이크로프로세서(10)에 제공한다.The microprocessor 10 executes a boot program written in the memory 12 (step 230). At this time, the cache memory 20 caches a part of the boot program written in the memory 12 and provides it to the microprocessor 10.
제2도에 도시된 종래의 초기화방법에 있어서, 입출력제어부(14)의 전송동작 및 캐쉬메모리(20)의 메모리 액세스동작 등이 워드단위로 이루어지게 되어 매 전송동작시 입출력모드의 지정시의 소요시간, 각각의 장치들에 있어서의 대기시간(latency time) 등에 의해 초기화시 상당한 시간이 소요되게 된다.In the conventional initialization method shown in FIG. 2, the transfer operation of the input / output control unit 14 and the memory access operation of the cache memory 20 are performed in units of words. Significant time is required for initialization by time, latency time in each device, and the like.
따라서, 본 발명의 목적은 상술한 문제점을 해결하여 컴퓨터 시스템의 초기화에 소요되는 시간을 단축시키는 것에 있다.Accordingly, it is an object of the present invention to solve the above problems and to shorten the time required for the initialization of a computer system.
상기의 목적을 달성하는 본 발명의 일실시예는 캐쉬메모리를 갖는 컴퓨터 시스템의 초기화방법에 있어서, 컴퓨터 시스템에 동작전원이 인가될 때 혹은 리세트 동작시 부트메모리의 전송용량을 지정하는 과정; 전송용량에 따라 부트메모리의 내용을 캐쉬메모리에 저장하는 다이렉트 메모리 액세스과장; 및 캐쉬메모리에 기입된 부트메모리를 억세스하여 부트동작을 수행하는 과정을 포함함을 특징으로 한다.In accordance with another aspect of the present invention, a method of initializing a computer system having a cache memory may include: specifying a transfer capacity of a boot memory when an operating power is applied to the computer system or during a reset operation; Direct memory access section for storing the contents of the boot memory in the cache memory in accordance with the transfer capacity; And performing a boot operation by accessing the boot memory written in the cache memory.
상기의 목적을 달성하는 본 발명의 다른 실시예는 초기전원인가시 혹은 리세트시 컴퓨터 시스템을 초기화하는 방법에 있어서, 시스템 테스트의 여부를 선택하는 과정; 선택과정에서 시스템 테스트 모드가 선택되면 시스템 테스트 프로그램을 수행한 후 부트프로그램을 수행하고, 선택되지 않으면 시스템 테스트 프로그램을 수행하지 않고 부트프로그램을 수행하는 과정을 포함함을 특징으로 한다. 이하 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.Another embodiment of the present invention to achieve the above object is a method for initializing the computer system upon initial power-up or reset, the method comprising: selecting whether to test the system; If the system test mode is selected in the selection process, the boot program is executed after the system test program is executed. If the system test mode is not selected, the boot program is executed without performing the system test program. Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
제3도는 본 발명에 따른 초기화방법을 보이는 흐름도이다. 시스템에 초기동작전원이 인가되거나 리세트 동작이 지정되면 먼저 시스템 테스트 프로그램의 수행 여부 및 전송용량을 선택한다(300단계).3 is a flowchart showing an initialization method according to the present invention. When the initial operation power is applied to the system or the reset operation is designated, first, whether to perform the system test program and the transmission capacity are selected (step 300).
300단계에서 시스템 테스트 모드가 선택되면 마이크로프로세서(10)는 시스템 테스트 프로그램을 수행하여 컴퓨터 시스템의 전체 혹은 일부분을 검사하고 시스템의 운용에 필요한 각종의 스테이터스 플랙들을 세트한다(305단계∼310단계).When the system test mode is selected in step 300, the microprocessor 10 performs a system test program to inspect all or a part of the computer system and set various status flags necessary for operating the system (steps 305 to 310).
테스트 프로그램의 수행이 종료되면 마이크로프로세서는 부트롬(16)에 저장된 부트프로그램의 로드를 입출력제어기(14)를 통해 요구된다(320단계).When the execution of the test program is finished, the microprocessor requests the load of the boot program stored in the boot ROM 16 through the input / output controller 14 (step 320).
입출력제어기(14)는 부트메모리(16), 메모리(12), 그리고 캐쉬메모리(20) 사이의 입출력을 제어한다. 이때의 부트메모리(16)에 저장된 데이타는 선정된 전송용량을 블럭화 단위로 해서 블럭화되고, 공지의 DMA(Direct Memory Access) 방식에 의해 입출력제어기(14)를 통해 캐쉬메모리(20)로 전송된다. DMA 방식은 통상의 것이므로 상세한 동작설명은 생략한다(330단계).The input / output controller 14 controls input / output between the boot memory 16, the memory 12, and the cache memory 20. At this time, the data stored in the boot memory 16 is blocked using the selected transmission capacity as a block unit, and is transmitted to the cache memory 20 through the input / output controller 14 by a known direct memory access (DMA) method. Since the DMA scheme is conventional, detailed operation description is omitted (step 330).
마이크로프로세서(10)는 캐쉬메모리(20)를 액세스하여 부트프로그램의 수행을 시작한다(340단계).The microprocessor 10 accesses the cache memory 20 to start execution of the boot program (step 340).
마이크로프로세서(10)가 캐쉬메모리(20)를 액세스하여 부트프로그램을 수행하게 되면 입출력제어기(14)는 부트롬(16)에서 기전송된 부분을 제외한 나머지 부분을 역시 DMA 방식으로 메모리(14)에 전송한다(345단계∼350단계).When the microprocessor 10 accesses the cache memory 20 and executes a boot program, the input / output controller 14 transmits the remaining portions of the boot ROM 16 to the memory 14 in a DMA manner. (Steps 345 to 350).
부트프로그램이 수행이 완료되면, 마이크로프로세서(10)는 2차 로더(18) 저장된 로더 프로그램의 로드를 입출력제어기(14)를 통해 요구한다(355단계∼360단계).When the boot program is completed, the microprocessor 10 requests the load of the loader program stored in the secondary loader 18 through the input / output controller 14 (steps 355 to 360).
입출력제어기(14)는 2차 로더(18), 메모리(12), 그리고 캐쉬메모리(20) 사이의 입출력을 제어한다. 이때 2차 로더(18)에 저장된 데이타는 선정된 전송 용량을 블럭화 단위로 해서 블럭화되고, 공지의 DMA(Direct Memory Access) 방식에 의해 입출력제어기(14)를 통해 캐쉬메모리(20)로 전송된다(370단계).The input / output controller 14 controls the input / output between the secondary loader 18, the memory 12, and the cache memory 20. At this time, the data stored in the secondary loader 18 is blocked by the selected transmission capacity as a block unit, and is transferred to the cache memory 20 through the input / output controller 14 by a known direct memory access (DMA) method ( Step 370).
마이크로프로세서(10)는 캐쉬메모리(20)를 액세스하여 로더프로그램의 수행을 시작한다(370단계).The microprocessor 10 accesses the cache memory 20 to start execution of the loader program (step 370).
마이크로프로세서(10)가 캐쉬메모리(20)를 액세스하여 로더프로그램을 수행하게 되면 입출력제어기(14)는 2차 로더(18)에서 기전송된 부분을 제외한 나머지 부분을 역시 DMA 방식으로 메모리(14)에 전송한다(385단계∼390단계).When the microprocessor 10 accesses the cache memory 20 to execute the loader program, the input / output controller 14 may also store the remaining portions of the memory 14 in the DMA manner except for the portions previously transmitted from the secondary loader 18. (Steps 385 to 390).
제3도에 도시된 초기화방법을 수행하기 위하여 캐쉬메모리(20)이 충분한 정도의 기억용량을 갖추어야 할 것이 요구된다. 최근의 반도체기술의 발달에 의해 메모리소자의 가격이 전반적으로 하락되고 수백 Kbyte 정도의 큰 기억용량을 갖는 캐쉬메모리로 실용화되어 있다.In order to perform the initialization method shown in FIG. 3, the cache memory 20 needs to have a sufficient storage capacity. Recently, due to the development of semiconductor technology, the price of memory devices is generally lowered and practically used as a cache memory having a large storage capacity of several hundred Kbytes.
한편, 부트프로그램 및 2차 로더는 수십 Kbyte 내지 100Kbyte 미만으로 설계되므로 이러한 조건에 합치되는 캐쉬메모리를 장착하는 것은 어려운 것이 아니게 되었다.On the other hand, since the boot program and the secondary loader are designed to be several tens of Kbytes or less than 100 Kbytes, it is not difficult to mount a cache memory meeting these conditions.
또한, 본 발명의 초기화방법을 수행하기 위하여 캐쉬제어기, 메모리제어기, 입출력제어기 등이 DMA 동작을 수행할 수 있도록 설계되어져야 한다. 이러한 설계사양은 각 제어기에 테스트모드를 지정하는 신호, 전송용량을 지정하는 신호 등을 입력으로 사용하여 구성될 수 있을 것이다.In addition, in order to perform the initialization method of the present invention, a cache controller, a memory controller, an input / output controller, and the like should be designed to perform a DMA operation. This design specification may be configured by using a signal specifying a test mode, a signal specifying a transmission capacity, and the like as inputs to each controller.
상술한 바와 같이 본 발명의 초기화방법은 부트프로그램 혹은 2차 로더를 DMA 방식으로 캐쉬메모리에 저장시키고, 마이크로프로세서가 캐쉬메모리를 액세스하여 부트동작 혹은 2차 로더를 수행함으로써 초기화시 소요되는 시간을 단축시키는 효과를 갖는다.As described above, the initialization method of the present invention saves the boot program or the secondary loader in the cache memory by the DMA method, and reduces the time required for initialization by performing a boot operation or the secondary loader by accessing the cache memory. It has an effect to make.
또한, 전체 시스템이 안정된 동작을 수행하는 여건에서는 테스트 프로그램의 수행을 생략할 수 있도록 함으로써 더욱 빠른 초기화 동작을 달성하는 잇점을 갖는다.In addition, in a situation where the entire system performs a stable operation, it is advantageous to achieve a faster initialization operation by allowing the execution of a test program to be omitted.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940002822A KR970002396B1 (en) | 1994-02-17 | 1994-02-17 | A initialized method for a computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940002822A KR970002396B1 (en) | 1994-02-17 | 1994-02-17 | A initialized method for a computer |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950025504A KR950025504A (en) | 1995-09-18 |
KR970002396B1 true KR970002396B1 (en) | 1997-03-05 |
Family
ID=19377327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940002822A KR970002396B1 (en) | 1994-02-17 | 1994-02-17 | A initialized method for a computer |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR970002396B1 (en) |
-
1994
- 1994-02-17 KR KR1019940002822A patent/KR970002396B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR950025504A (en) | 1995-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2195696C2 (en) | Coprocessor data access control | |
US5519847A (en) | Method of pipelining sequential writes in a flash memory | |
EP0167572B1 (en) | Data processing system including memory hierarchy | |
US6282644B1 (en) | Apparatus and method for storing BIOS data of computer system | |
KR20070077463A (en) | Method of system booting with a direct memory access in a new memory architecture | |
JPH0415491B2 (en) | ||
JP3152535B2 (en) | Data processing device | |
KR970002396B1 (en) | A initialized method for a computer | |
US7356647B1 (en) | Cache with integrated capability to write out entire cache | |
JP2597409B2 (en) | Microcomputer | |
JPH0554009A (en) | Program load system | |
JPH07210454A (en) | High-speed processor | |
GB2304209A (en) | Starting up a processor system | |
JP2004013338A (en) | Data processor and method | |
JP3442972B2 (en) | Information processing apparatus and rewritable nonvolatile memory rewriting method | |
US20210011727A1 (en) | Stm32 lowpower smart cache prefetch | |
JPS6238746B2 (en) | ||
JP2581057B2 (en) | Evaluation microcomputer | |
JPS58182731A (en) | Initialization controlling system of storage device | |
JP2000215042A (en) | In-operation update system for control program | |
JP2003303132A (en) | Semiconductor memory control device | |
JP3481666B2 (en) | Method and apparatus for controlling memory access of processor | |
JPS58208850A (en) | Microprogram storage processing system | |
JPS636640A (en) | Document compiler | |
JPS60230238A (en) | Microprogram control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050228 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |