KR0181487B1 - 버퍼 램을 이용한 프로그램 구동 장치 및 방법 - Google Patents

버퍼 램을 이용한 프로그램 구동 장치 및 방법 Download PDF

Info

Publication number
KR0181487B1
KR0181487B1 KR1019960029806A KR19960029806A KR0181487B1 KR 0181487 B1 KR0181487 B1 KR 0181487B1 KR 1019960029806 A KR1019960029806 A KR 1019960029806A KR 19960029806 A KR19960029806 A KR 19960029806A KR 0181487 B1 KR0181487 B1 KR 0181487B1
Authority
KR
South Korea
Prior art keywords
program
request
buffer
storage means
buffer ram
Prior art date
Application number
KR1019960029806A
Other languages
English (en)
Other versions
KR980011273A (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 KR1019960029806A priority Critical patent/KR0181487B1/ko
Publication of KR980011273A publication Critical patent/KR980011273A/ko
Application granted granted Critical
Publication of KR0181487B1 publication Critical patent/KR0181487B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 하드 디스크 드라이브의 버퍼 램을 이용한 프로그램 구동 장치에 관한 것으로, 특히 버퍼 대역폭(buffer bandwidth)이 증가됨에 따라 중앙 처리부가 프로그램을 동작시킬 수 있는 시간적 여유가 존재하므로 이 시간적 여유와 램 상의 여유공간에 시스템 프로그램을 다운로드 받아 시스템 프로그램을 구동할 수 있는 버퍼 램을 이용한 프로그램 구동 장치에 관한 것이다.
본 발명은 디스크 드라이브로부터 시스템 프로그램을 다운로드 받아 저장하는 저장 수단과, 상기 저장 수단에 시스템 프로그램을 다운로딩 시키기 위해 프로그램을 소정의 장치로부터 다운로드(download) 받아 저장하는 프로그램 기록 제어 수단과, 상기 저장 수단을 액세스하기 위한 각각의 요청들에 대해 기설정된 우선 순위에 따라 상기 요청들을 처리하는 버퍼 조종 수단과, 상기 버퍼 조종 수단과 상기 프로그램 기록 제어 수단으로부터의 요청에 따라 상기 저장 수단을 제어하는 램 제어 수단을 갖고, 프로그램을 다운로딩 받아 저장 수단에 저장하는 단계와, 상기 저장 수단에 저장된 상기 프로그램을 수행하는 단계와, 상기 프로그램 수행 중 상기 저장 수단을 접근히기 위해 소정의 요청이 발생할 경우 상기 프로그램을 대기 상태로 만드는 단계를 포함하는 것을 특징으로 한다.

Description

버퍼 램을 이용한 프로그램 구동 장치 및 방법
본 발명은 하드 디스크 드라이브의 버퍼 램을 이용한 프로그램 구동 장치에 관한 것으로, 특히 버퍼 대역폭(buffer bandwidth)이 증가됨에 따라 중앙 처리부가 프로그램을 동작시킬 수 있는 시간적 여유가 존재하므로 이 시간적 여유와 램 상의 여유공간에 시스템 프로그램을 다운로드 받아 시스템 프로그램을 구동할 수 있는 버퍼 램을 이용한 프로그램 구동 장치 및 방법에 관한 것이다.
컴퓨터 시스템을 설계하는데 있어서 가장 중요하게 고려해야할 부분은 프로세서보다 처리속도가 현저하게 뒤떨어지는 보조기억 장치의 성능을 향상시키는 일이다. 최근에 고속의 프로세서가 개발되고 상품화됨에 따라 입출력 장치와 프로세서와의 성능 차가 더욱 심하게 되었다. 이와 같은 문제점을 해결하기 위해 일반적으로 사용하는 것이 보조기억 장치 내에 고가이면서 데이터 액세스가 빠른 램을 장착한 후 데이터 캐쉬를 수행하여 컴퓨터 시스템이 보조기억 장치를 액세스 시 램에 데이터를 기록/판독함으로 장치 액세스 시간을 줄이는 방법을 사용하고 있다. 이런 보조 기억 장치로는 하드 디스크가 대표적이다.
또한 최근 들어 VLSI 기술이 발전함에 따라 단위 칩 면적 내에 많은 양의 데이터를 저장시킬 수 있어 메모리 단가가 낮아졌다. 이는 필연적으로 컴퓨터 시스템에서 입출력 처리를 빠르게 수행하기 위해 사용되던 램의 용량 증가를 가져왔다.
이에 따라, 하드 디스크 드라이브(HDD)내에 사용된 버퍼 램에 여유 공간이 존재하게 되었다.
도 1은 일반적인 버퍼 램과 버퍼 제어부와의 관계를 나타낸 블록도이다. 도시된 바와 같이 데이터를 일시 저장하는 버퍼 램(11)과, 이를 제어하는 버퍼 제어부(12)로 구성된다.
기존의 방식은 하드 디스크 컨트롤 보드(미도시)에 존재하는 외부 중앙 처리부(미도시)가 버퍼 램(11)의 한 영역을 스크래치 패드로 정의한 후 데이터를 기록하고자 하는 경우 상기 데이터를 저장할 버퍼 램의 어드레스를 나타내는 어드레스 포인터 값과 저장할 데이터만 써주면 이때 자동적으로 하드 디스크 컨트롤(미도시) 내부에서 중앙 처리부(미도시) 상의 대기 플래그가 세팅되어 중앙 처리부가 버퍼 램의 액세스를 요구한다고 판단하고 중앙 처리부 상의 대기 플래그가 리셋이되면 중앙 처리부가 새로운 데이터의 기록을 수행할 수 있게 한다. 따라서, 실질적으로 중앙 처리부에 의해 프로그램을 구동하는 기능은 없었다.
하드 디스크 드라이브의 중앙 처리부(미도시)에 의해 수행되는 시스템 프로그램이 한정된 기억 용량과 고가의 롬(미도시)에 저장된 반면, 앞에서 살펴 본 바와 같이, 점차 시판되는 하드 디스크 드라이브의 버퍼 램의 용량이 커지고 있어 많은 여유 공간이 존재한다.
또한 데이터 버스를 통해 데이터 전송 시 EDO(Enhanced Data Out) 모드가 지원되므로써 버퍼 대역폭이 상당히 증가되어 중앙 처리부(미도시)가 버퍼램을 액세스 할 수 있는 시간이 증가됨에 따라 효율적으로 그 시간을 활용하는 것이 필요하게 되었다.
따라서, 본 발명의 목적은 시스템 자원을 효율적으로 사용하지 못하는 종래의 문제점을 개선하기 위해 버퍼 대역폭(buffer bandwidth)이 증가됨에 따라 중앙 처리부가 프로그램을 동작시킬 수 있는 시간적 여유가 존재하므로 이 시간적 여유와 램 상의 여유공간에 시스템 프로그램을 다운로드 받아 시스템 프로그램을 구동할 수 있게 함에 있다.
도 1은 일반적인 버퍼 램과 버퍼 제어부와의 관계를 나타낸 블록도.
도 2는 본 발명에 따른 버퍼 램을 이용한 프로그램 구동 장치를 나타낸 블록도.
도 3은 도 2의 프로그램 기록 제어부를 상세히 나타낸 블록도.
도 4는 도 2의 램 제어부를 상세히 나타낸 블록도.
도 5는 프로그램 다운로딩 시 도 4의 라스(RAS)1W카스(CAS) 및 데이터 발생부에 의해 프로그램이 버퍼 램의 주소 영역에 기록되는 것을 나타낸 타이밍 다이어그램.
도 6은 도 2의 버퍼 조종부를 상세히 나타낸 블록도.
도 7은 본 발명에 따른 버퍼 램을 이용한 프로그램 구동 방법을 나타낸 흐름도.
* 도면의 주요부분에 대한 부호의 설명
11 : 버퍼 램 12 : 버퍼 제어부
21 : 버퍼 램 22 : 램 제어부
23 : 버퍼 조종부 24 : 프로그램 기록 제어부
31 : 어드레스 기록 카운터 32 : 종료 어드레스 저장부
33 : 비교부 34 : 완료 플래그 발생부
35 : 선입선출부 36 : 기록 인에이블 발생부
41 : 어드레스 판독 카운터 42 : 라스·카스 및 데이터 발생부
61 : 우선 순위 결정부 62 : 대기 발생부
상기의 목적을 달성하기 위한 버퍼 램을 이용한 프로그램 구동 장치는 디스크 드라이브로부터 판독된 데이터를 일시적으로 저장하고 수행시킬 시스템 프로그램을 다운로드 받아 저장하는 저장 수단과, 상기 저장 수단에 시스템 프로그램을 다운로딩시키기 위해 상기 시스템 프로그램의 시작 어드레스 포인터를 지정해 주고 필요한 크기만큼의 시스템 프로그램을 소정의 장치로부터 다운로드(download) 받아 저장하는 프로그램 기록 제어 수단과, 상기 저장 수단을 액세스하기 위한 각각의 요청들에 대해 기설정된 우선 순위에 따라 상기 요청들을 처리하는 버퍼 조종 수단과, 상기 버퍼 조종 수단과 상기 프로그램 기록 제어 수단으로부터의 요청에 따라 상기 저장 수단을 제어하는 램 제어 수단을 포함하는 것을 특징으로 한다.
또한, 상기의 목적을 달성하기 위한 버퍼 램을 이용한 프로그램 구동 방법은 디스크 드라이브로부터 프로그램을 다운로딩 받아 저장 수단에 저장하는 다운 로딩 단계와, 상기 저장 수단을 중앙 처리부가 액세스할 수 있으면 상기 저장 수단에 저장된 상기 프로그램을 수행하는 프로그램 수행 단계와, 상기 프로그램 수행 중 상기 저장 수단을 접근히기 위해 소정의 요청이 발생한 경우 상기 프로그램을 대기 상태로 만드는 프로그램 수행 대기 단계를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면들을 통해 본 발명을 설명한다.
도 2는 본 발명에 따른 버퍼 램을 이용한 프로그램 구동 장치를 나타낸 블록도이다. 도시된 바와 같이, 디스크 드라이브(미도시)로부터 판독된 데이터를 일시적으로 저장하고 수행시킬 시스템 프로그램을 다운로드 받아 저장하는 버퍼 램(21)과, 상기 버퍼 램(21)에 시스템 프로그램을 다운로딩시키기 위해 상기 시스템 프로그램의 시작 어드레스 포인터를 지정해 주고 필요한 크기만큼의 시스템 프로그램을 소정의 장치로부터 다운로드(download) 받아 저장하는 프로그램 기록 제어부(22)와 버퍼 램(21)을 액세스하기 위한 각각의 요청들(즉, 호스트로부터의 요청, 디스크로부터의 요청, 리프레쉬 요청, 에러 정정 코드(ECC) 요청, 중앙 처리부로부터 하드 디스크 시스템의 현재 상황 정보를 버퍼 램(21)에 기록하기 위해 요청하는 CPU 스크래치 패드 요청 및 프로그램 구동 요청 등)에 대해 설정된 우선 순위에 따라서 요청을 처리하고, 프로그램 구동 요청에 의해 프로그램이 수행되기 전까지 대기 신호(wait signal)를 자동적으로 발생시켜 중앙 처리부(미도시)를 항상 대기 상태로 유지하게 하고, 프로그램 구동 요청이 입력되고 현재 입력된 요청들이 없으면 버퍼 램(21)에 저장된 프로그램을 수행시키기 위해 중앙 처리부(미도시)가 버퍼 램(21)을 액세스하도록 하는 버퍼 조종부(23)와, 버퍼 조종부(23)와 프로그램 기록 제어부(22)로부터의 요청에 따라 버퍼 램(21)을 제어하는 램 제어부(24)로 구성한다.
상기 시스템 프로그램이 저장된 소정의 장치는 하드 디스크의 데이터 저장 영역 중 일부분일 수 있다.
도 3은 도 2의 프로그램 기록 제어부(22)를 상세히 나타낸 블록도이다. 도시된 바와 같이, 다운로드할 프로그램의 시작 어드레스를 저장하고, 프로그램 다운로드 수행 시 프로그램 어드레스를 카운트하는 어드레스 기록 카운터(31)와, 다운로드할 프로그램의 종료 어드레스(end address)를 저장하는 종료 어드레스 저장부(32)와, 어드레스 기록 카운터(31)에 저장된 카운트 값과 종료 어드레스 저장부(32)에 저장된 다운로드될 프로그램의 종료 어드레스를 비교하는 비교부(33)와, 비교부(33)에 의해 현재 다운로드된 프로그램의 현재 카운트 값과 종료 어드레스 값을 비교한 결과 두 값이 일치하면 다운로딩 완료를 나타내기 위해 완료 플래그를 세팅하는 완료 플래그 발생부(34)와, 다운로드된 프로그램 데이터들을 선입선출(First Input First Output) 자료구조로 저장하고 저장된 데이터 량이 일정량 이상이면 페이지 기록 요청을 발생하는 선입선출부(35)와, 프로그램의 다운로딩이 끝날 때까지 기록 인에이블 신호를 발생하는 기록 인에이블 발생부(36)로 구성한다.
도 3의 프로그램 기록 제어부의 작용을 살펴보면 다음과 같다.
먼저, 프로그램 시작 어드레스를신호에 맞추어 로드시킨 후에 종료 어드레스 저장부(32)에 마지막 로드할 어드레스 값을 기록함과 동시에 기록 인에이블 신호를 세팅시키고, 버퍼 조종부(23)의 동작을 디스에이블시킴과 동시에 기록하고자 하는 데이터를신호에 맞추어서 선입선출부(35)에 기록한다. 이때, 상기 선입선출부(35)는 디스크 컨트롤러 내에 이미 존재하는 선입선출부(35)를 사용한다.
선입선출부(35)에 기록된 데이터는 하이퍼 페이지 모드(hyper page mode; 즉, EDO 모드)를 통해서 8 워드를 기준으로 계속적으로 외부 버퍼 램(21)에 기록이 가능하다. 이때, 중앙 처리부(미도시)에 의한 프로그램 데이터 기록 작업은 대기 플래그가 하이(high) 레벨이 될 때까지 계속 수행된다.
선입선출부(35)는 무조건단자에 인가되는신호를 이용하여 기록 포인트를 증가시키면서 다운로드되는 프로그램 데이터를 저장하고, 만일 선입선출부(35)에 저장된 프로그램 데이터의 양이 8 페이지(page) 이상이면 바로 p_wr_req 신호가 발생되어 램 제어부(24)를 인가하여 페이지 모드(page mode)로 선입선출부(35)에 저장된 프로그램 데이터를 판독하여 바로 버퍼 램(21)에 기록한다. 이때 상기 페이지는 8 워드를 한 페이지로 한다.
버퍼 램(21)에 다운로드될 데이터를 계속 기록하면서 증가되는 어드레스 기록 카운터(31)의 카운트 값은 20 비트로 구성되므로 비교부(33)에 인가 시엔 상위 16비트만이 인가되어 비교를 수행한다.
상기 비교부(33)에 의해 수행된 비교 결과 어드레스 기록 카운터(31)의 카운트 값과 종료 어드레스 저장부(32)의 값이 일치하면, 완료 플래그 발생부(34)에 의해 완료 플래그(done flag)를 하이(high) 레벨로 세팅한다.
도 4는 도 2의 램 제어부(24)를 상세히 나타낸 블록도이다. 도시된 바와 같이, 상기 선입선출부(35)에 저장된 상기 다운로드할 데이터를 선입선출부(35)에 기록하기 위해 판독하면서 데이터를 카운트하는 어드레스 판독 카운터(41)와, 상기 버퍼 조종부(42)로부터 입력된 어드레스를 어드레스 버스에 싣고, 이 어드레스를 라스(Row Address Strobe: 이하 RAS라 약함) 어드레스와 카스(Column Address Strobe: 이하 CAS라 약함) 어드레스로 변경하여 출력하는 라스(RAS)0f카스(CAS) 및 데이터 발생부(42)로 구성한다.
도 4의 램 제어부(24)의 작용을 살펴보면 다음과 같다.
먼저, DNSEL 단자는 프로그램 기록 제어부(22)의 p_wr_req 신호가 하이(high) 레벨이 되어야 선입선출부(35)에 저장된 프로그램 데이터를 판독하여 기록하기 시작한다. 또한 기록 인에이블 신호가 하이(high) 레벨이 되면 선입선출부(35)에 기록된 프로그램을 버퍼 램(21)에 기록하기 위해 버퍼 램(21) 액세스를 가능하게 한다.
도 5는 프로그램 다운로딩 시 도 4의 라스(RAS)0f카스(CAS) 및 데이터 발생부(42)에 의해 프로그램이 버퍼 램(21)의 주소 영역에 기록되는 것을 나타낸 타이밍 다이어그램이다. 도면을 살펴보면, 먼저, 중앙 처리부(미도시)가 발생한 어드레스를 어드레스 판독 카운터(41)에서 받아들여 이를 버퍼 램(21)을 액세스하기 위해 라스(RAS) 어드레스와 카스(CAS) 어드레스로 변경하여 출력한다. 즉, 어드레스 판독 카운터(41)가 라스 신호와 카스 신호를 발생시켜 어드레스 버스에 실린 어드레스 값에서 행 어드레스(row address)와 열(coumn address)을 얻는다.
이어, 판독(RD) 신호를 발생하여 선입선출부(35)로부터 저장된 프로그램 데이터를 판독하여 도 5와 같이 라스(RAS) 어드레스와 카스(CAS) 어드레스에 맞추어 출력하여 버퍼 램(21)에 기록한다.
도 6은 도 2의 버퍼 조종부(23)를 상세히 나타낸 블록도이다. 도시된 바와 같이, 버퍼 조종부(23)에 요청된 각각의 요청들에 대한 우선 순위에 따라 요청을 승인하는 우선 순위 결정부(61)와, 버퍼 조종부(23)에 요청된 요청이 중앙 처리부(미도시)에 의해 발생된 요청이 아닌 다른 종류의 요청인 경우 중앙 처리부(미도시)를 대기 상태로 만들기 위한 대기 발생부(62)로 구성된다.
상기와 같이 구성된 버퍼 조종부(23)에 요청되는 요청 신호들의 종류는 다음과 같다.
신호 이름 신호 정의
리프레쉬 요청(Refresh_Req) 버퍼 램(즉, DRAM)을 주기적으로 리프레쉬 하기 위한 요청
디스크 요청(Disk_Req) 디스크로부터 판독된 데이터를 버퍼 램에 저장하기 위한 요청
호스트 요청(Host_Req) 퍼스널 컴퓨터 등의 호스트로부터 버퍼 램을 액세스하기 위한 요청
중앙 처리부 요청(CPU_Req) 중앙 처리부가 단순히 데이터를 일시적으로 저장하기 위해 액세스하기 위한 요청
에러 정정코드 요청(ECC-Req) ECC에 에러가 발생 시 이를 정정하기 위한 요청
중앙 처리부 프로그램 요청 다운 로드되어 버퍼 램에 존재하는 프로그
(CPU_Program_Req) 램의 수행을 요청
도 6의 버퍼 조종부(23)의 작용을 살펴보면 다음과 같다.
먼저, 위와 같은 요청 신호들을 받는 버퍼 조종부(23)는 내부적으로 우선 순위를 두어 버퍼 램(21)을 액세스할 수 있도록 한다. 그러나 만일 프로그램 기록 제어부(22)에서 기록 인에이블 신호가 하이(high) 레벨로 인가하면 버퍼 조종부(23)의 동작을 중지시키고, 우선적으로 프로그램 기록 제어부(22)의 제어에 따라 선입선출부(35)에 저장된 프로그램 데이터가 다운로딩 되도록 한다.
도 3에 도시된 바와 같이, 다운로딩이 완료되면 기록 인에이블 신호가 로우(low) 레벨이 되므로 버퍼 조종부(23)가 정상적인 동작을 수행하도록 한다.
상기 신호들 중 중앙 처리부 프로그램 요청(CPU_Program_Req)은 가장 우선 순위가 낮으므로 프로그램 요청에 의해 중앙 처리부가 버퍼 램을 액세스하여 프로그램을 구동 중에 만일, 디스크 요청(Disk_Req)이나 호스트 요청(Host_Req)과 같은 다른 종류의 요청이 우선 순위 결정부(61)에 입력되면 중앙 처리부가 더 이상의 버퍼 램(21) 액세스를 할 수 없게 하기 위해 중앙처리(미도시)부를 대기(wait) 상태로 만든다. 즉, 중앙 처리부(미도시)에 의해 다운로드된 프로그램의 구동이 우선 순위가 상대적으로 높은 다른 요청들에 의해 버퍼 램(21)이 액세스되는 동안 일시 정지된다.
이처럼 중앙 처리부는 버퍼 램(21)에 다운로드된 시스템 프로그램을 프로그램 구동 요청 신호를 사용하여 마치 롬(미도시)에 저장된 프로그램을 수행하는 것처럼 사용할 수 있다.
도 7은 본 발명에 따른 버퍼 램을 이용한 프로그램 구동 방법을 나타낸 흐름도이다.
도시된 바와 같이, 먼저, 하드디스크로부터 수행될 시스템 프로그램을 버퍼램(21)에 다운로드받는다(단계 71).
이어, 버퍼램(21)에 저장된 시스템 프로그램을 수행하기 위해 중앙 처리부(미도시)가 버퍼램(21)을 액세스할 수 있는지 판단한다(단계 72).
중앙 처리부(미도시)가 버퍼램(21)을 액세스할 수 없으면, 중앙 처리부(미도시)는 대기 상태가 된다(단계 73).
이어, 중앙 처리부(미도시)가 버퍼램(21)을 액세스할 수 있으면, 중앙 처리부(미도시)는 버퍼램(21)에 다운로딩된 프로그램을 수행한다(단계 74). 즉, 상기한 바와 같이, 중앙 처리부는 버퍼 램(21)에 다운로드된 시스템 프로그램을 마치 롬(미도시)에 저장된 프로그램을 수행하는 것처럼 수행한다.
중앙 처리부(미도시)가 버퍼램(21)에 다운로딩된 프로그램을 수행 중, 버퍼램을 접근하기 위한 또다른 요청이 발생했는지 판단한다(단계 75).
만일 중앙처리부의 접근 요청외에 또다른 버퍼램(21)의 접근 요청이 없으면, 프로그램을 계속 수행한다(단계 74).
만일 중앙처리부의 접근 요청외에 또다른 버퍼램(21) 접근 요청이 있으면, 수행 중인 프로그램의 환경을 저장하고 프로그램 수행을 대기 상태로 만든다(단계 75). 즉, 중앙처리부가 대기 상태로 상태 전이된다.
수행 중이던 프로그램을 대기 상태로 만든 후, 요청된 처리를 수행한다(단계 76). 이때, 상기한 바와 같은 요청들에 따라 버퍼램(21)이 접근된다.
이어, 상기 요청에 따른 버퍼램(21) 접근이 완료되었는지를 판단한다(단계 77).
만일, 상기 요청에 따른 버퍼램(21) 접근이 완료되면, 저장된 프로그램 환경을 로딩 후 프로그램을 계속 수행한다(단계 73).
만일, 상기 요청에 따른 버퍼램(21) 접근이 완료되지 않았으면, 계속해서 요청된 처리를 수행한다(단계 77).
이상에서 살펴본 바와 같이, 본 발명에 따른 버퍼 램을 이용한 프로그램 구동 장치는 버퍼 램의 여유 공간에 프로그램을 다운로드 받아 중앙 처리부가 마치 롬에 저장된 시스템 프로그램을 수행하는 것과 같이 버퍼 램을 액세스하여 수행시키므로 효율적으로 시스템 자원을 사용할 수 있는 효과가 있다.

Claims (10)

  1. 프로그램을 다운로드(download) 받아 저장하는 저장 수단과, 상기 저장 수단에 프로그램을 다운로딩시키기 위해 상기 프로그램을 소정의 장치로부터 다운로드 받아 저장하는 프로그램 기록 제어 수단과, 상기 저장 수단을 액세스하기 위한 각각의 요청들에 대해 기설정된 우선 순위에 따라 상기 요청들을 처리하는 버퍼 조종 수단과, 상기 버퍼 조종 수단과 상기 프로그램 기록 제어 수단으로부터의 제어 요청에 따라 상기 저장 수단을 제어하는 램 제어 수단을 포함하는 것을 특징으로 하는 버퍼 램을 이용한 프로그램 구동 장치.
  2. 제 1 항에 있어서, 상기 프로그램 기록 제어 수단은 프로그램의 다운로딩 시 상기 프로그램의 어드레스를 카운트하는 어드레스 기록 카운터와, 상기 프로그램의 종료 어드레스(end address)를 저장하는 종료 어드레스 저장 수단과, 상기 어드레스 기록 카운터에 저장된 카운트 값과 상기 종료 어드레스 저장 수단에 저장된 상기 프로그램의 종료 어드레스를 비교하는 비교 수단과, 상기 프로그램의 현재 카운트 값과 상기 프로그램의 종료 어드레스 값이 일치하면 완료 플래그를 세팅하는 완료 플래그 발생 수단과, 상기 프로그램 을 저장하고 저장된 프로그램이 일정량 이상이면 페이지 기록 요청을 발생하는 선입선출 수단과, 상기 프로그램의 다운로딩이 끝날 때까지 기록 인에이블 신호를 발생하는 기록 인에이블 발생 수단을 포함하는 것을 특징으로 하는 버퍼 램을 이용한 프로그램 구동 장치.
  3. 제 1 또는 2 항에 있어서, 상기 램 제어 수단은 상기 선입선출 수단에 저장된 상기 다운로드할 데이터를 상기 저장 수단에 기록하기 위해 판독하면서 데이터를 카운트하는 어드레스 판독 카운터와, 상기 버퍼 조종부로부터 입력된 어드레스를 인에이블하기 위해 라스(RAS) 신호와 카스(CAS) 신호를 발생하는 라스(RAS)·카스(CAS) 및 데이터 발생 수단을 포함하는 것을 특징으로 하는 버퍼 램을 이용한 프로그램 구동 장치.
  4. 제 1 항에 있어서, 상기 버퍼 조종 수단은 상기 버퍼 조종 수단에 요청된 각각의 요청들에 대한 우선 순위에 따라 요청을 승인하는 우선 순위 결정 수단과, 상기 버퍼 조종 수단에 요청된 요청이 상기 중앙 처리부에 의해 발생된 요청이 아닌 다른 종류의 요청인 경우 상기 중앙 처리부를 대기 상태로 만들기 위한 대기 발생 수단을 포함하는 것을 특징으로 하는 버퍼 램을 이용한 프로그램 구동 장치.
  5. 제 1 항에 있어서, 상기 각각의 요청들은 상기 버퍼 램에 존재하는 상기 프로그램의 수행을 요청하는 프로그램 구동 요청과, 디스크로부터 판독된 데이터를 상기 버퍼 램에 저장하기 위해 요청하는 디스크 요청과, 호스트로부터 버퍼 램을 액세스하기 위해 요청하는 호스트 요청을 포함하는 것을 특징으로 하는 버퍼 램을 이용한 프로그램 구동 장치.
  6. 제 1 항에 있어서, 상기 소정의 장치는 하드 디스크인 것을 특징으로 하는 버퍼 램을 이용한 프로그램 구동 장치.
  7. 제 2 항에 있어서, 상기 일정량은 8 페이지이며, 상기 한 페이지는 8워드인 것을 특징으로 하는 버퍼 램을 이용한 프로그램 구동 장치.
  8. 소정의 장치로부터 프로그램을 다운로딩 받아 저장 수단에 저장하는 다운 로딩 단계와, 상기 저장 수단을 중앙 처리부가 액세스할 수 있으면 상기 저장 수단에 저장된 상기 프로그램을 수행하는 프로그램 수행 단계와, 상기 프로그램 수행 중 상기 저장 수단을 접근히기 위해 소정의 요청이 발생할 경우 상기 프로그램을 대기 상태로 만드는 프로그램 수행 대기 단계를 포함하는 것을 특징으로 하는 버퍼 램을 이용한 프로그램 구동 방법.
  9. 제 8 항에 있어서, 상기 소정의 장치는 하드 디스크인 것을 특징으로 하는 버퍼 램을 이용한 프로그램 구동 방법.
  10. 제 8 항에 있어서, 상기 소정의 요청은 상기 버퍼 램에 존재하는 상기 프로그램의 수행을 요청하는 프로그램 요청과, 디스크로부터 판독된 데이터를 상기 버퍼 램에 저장하기 위해 요청하는 디스크 요청과, 호스트로부터 버퍼 램을 액세스하기 위해 요청하는 호스트 요청과, 상기 저장 수단을 리프래쉬하기 위한 리프래쉬 요청과, 상기 저장 수단에서 오류 발생을 체크하기 위한 오류 수정 코드 요청을 포함하는 것을 특징으로 하는 버퍼 램을 이용한 프로그램 구동 방법.
KR1019960029806A 1996-07-23 1996-07-23 버퍼 램을 이용한 프로그램 구동 장치 및 방법 KR0181487B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960029806A KR0181487B1 (ko) 1996-07-23 1996-07-23 버퍼 램을 이용한 프로그램 구동 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960029806A KR0181487B1 (ko) 1996-07-23 1996-07-23 버퍼 램을 이용한 프로그램 구동 장치 및 방법

Publications (2)

Publication Number Publication Date
KR980011273A KR980011273A (ko) 1998-04-30
KR0181487B1 true KR0181487B1 (ko) 1999-04-15

Family

ID=19467182

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960029806A KR0181487B1 (ko) 1996-07-23 1996-07-23 버퍼 램을 이용한 프로그램 구동 장치 및 방법

Country Status (1)

Country Link
KR (1) KR0181487B1 (ko)

Also Published As

Publication number Publication date
KR980011273A (ko) 1998-04-30

Similar Documents

Publication Publication Date Title
KR102519019B1 (ko) 액세스 효율에 기초한 메모리 요청의 순서화
US7111134B2 (en) Subsystem and subsystem processing method
JP3289661B2 (ja) キャッシュメモリシステム
US20060065746A1 (en) Semiconductor memory device
CN114902198B (zh) 用于异构存储器系统的信令
CN108139994B (zh) 内存访问方法及内存控制器
JP2010500682A (ja) フラッシュメモリアクセス回路
CN110941395A (zh) 动态随机存取存储器、内存管理方法、系统及存储介质
US6862675B1 (en) Microprocessor and device including memory units with different physical addresses
US20060248327A1 (en) Computer rapid boot system and method
KR0181487B1 (ko) 버퍼 램을 이용한 프로그램 구동 장치 및 방법
JP2006268753A (ja) Dma回路及びコンピュータシステム
US20080016296A1 (en) Data processing system
US6938118B1 (en) Controlling access to a primary memory
KR960007833B1 (ko) 고속 페이지 모드 선택을 위한 방법 및 장치
JPS6319058A (ja) メモリ装置
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
JP3962853B2 (ja) メモリデータ誤り訂正方法
US6356976B1 (en) LSI system capable of reading and writing at high speed
JPH03218545A (ja) 計算機システム
JPH10187119A (ja) 表示制御装置
JP3956698B2 (ja) メモリ制御装置
JP3136681B2 (ja) データ処理装置
JP3517884B2 (ja) データ処理装置
JPH09198305A (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: 20071129

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee