KR20040079313A - Cpu 내장형 lsi 및 이를 이용한 광 디스크 장치와lsi 장치 - Google Patents

Cpu 내장형 lsi 및 이를 이용한 광 디스크 장치와lsi 장치 Download PDF

Info

Publication number
KR20040079313A
KR20040079313A KR1020040014998A KR20040014998A KR20040079313A KR 20040079313 A KR20040079313 A KR 20040079313A KR 1020040014998 A KR1020040014998 A KR 1020040014998A KR 20040014998 A KR20040014998 A KR 20040014998A KR 20040079313 A KR20040079313 A KR 20040079313A
Authority
KR
South Korea
Prior art keywords
module
software
ram
entry
cpu
Prior art date
Application number
KR1020040014998A
Other languages
English (en)
Other versions
KR100714170B1 (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 마쯔시다덴기산교 가부시키가이샤
Publication of KR20040079313A publication Critical patent/KR20040079313A/ko
Application granted granted Critical
Publication of KR100714170B1 publication Critical patent/KR100714170B1/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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

외부 메모리에 기록된 소프트 웨어를 부분적으로 RAM에 조합함으로써, RAM의 사용 용량을 작게 억제한 CPU 내장형 LSI 및 이를 이용한 광 디스크 장치를 제공하는 것으로서, CPU 내장형 LSI(101)에서, RAM(103)은 외부 메모리(107)로부터 모듈 단위로 읽어진 소프트 웨어를 기억하는 소프트 웨어 기억 영역(108)과, 소프트 웨어 기억 영역(108)에 기억된 모듈의 위치 정보 및 사이즈 정보를 적어도 포함하는 엔트리(entry)를 기억하는 엔트리 테이블(109)을 가진다. CPU(102)는 조합 위치 조사 프로그램(121)에 따라 엔트리 테이블(109)을 참조하여, 외부 메모리(107)로부터 소프트 웨어 기억 영역(108)에 읽어들이는 모듈의 기억 위치를 결정한다.

Description

CPU 내장형 LSI 및 이를 이용한 광 디스크 장치와 LSI 장치{CPU BUILT-IN LSI, AND OPTICAL DISC DEVICE AND LSI DEVICE USING THE SAME}
본 발명은 외부 메모리로부터 소프트 웨어를 읽어들여 동작하는 CPU 내장형 LSI와, 이러한 CPU 내장형 LSI를 이용한 광 디스크 장치에 관한 것이다.
종래, CPU 내장 LSI에서는 외부의 메모리로부터 상기 LSI 내장의 RAM 등의메모리에 소프트 웨어를 조합해, CPU에서 소프트 웨어를 실행한다. 도 30은 종래의 광 디스크 장치의 구성을 나타내는 것으로, 이에 관해서 설명한다. 3000은 종래의 광 디스크 장치, 3001은 종래의 LSI, 3002는 LSI(3001)을 제어하는 CPU, 3003은 CPU에 의존하지 않는 명령렬로 이루어지는 소프트 웨어를 기록하는 외부로부터 액세스 가능한 RAM, 3004는 상기 소프트 웨어를 해석하여, 실행하는 인터프리터(interpreter) 실행 프로그램(3006)을 기록하는 ROM, 3010은 LSI(3001)과 외부의 통신을 행하는 통신 수단, 3005는 광 디스크 장치(3000)의 전체를 제어하는 시스템 제어 마이크로 컴퓨터, 3007은 RAM(3003)에 기록하는 소프트 웨어나 시스템 제어 마이크로 컴퓨터(3005)가 실행하는 프로그램 등이 기록된 외부 메모리, 그리고, 3014는 광 디스크이다.
3011은 LSI(3001)로부터의 코맨드에 의해서 제어되어, 광 디스크(3014)의 기록·재생을 행하는 레이저 파워를 결정하거나, 광 디스크(3014)의 회전 속도나 헤드의 위치를 결정하기도 하는 광 디스크 제어 수단이다. 3012는 광 디스크 제어 수단(3011)에 의해 제어되어, 레이저의 출력이나 광 디스크(3014)의 재생 신호를 읽어내는 기록 재생 헤드이다. 3013은 광 디스크(3014)를 회전시키기 위한 모터이고, 광 디스크 제어 수단(3011)에 의해서 제어된다. 3006은 CPU(3002)에 의해서 인터프리터를 실행하는 인터프리터 실행 프로그램, 3008은 소프트 웨어 기억 영역이다.
CPU(3002)는 RAM(3003) 및 ROM(3004)과, 외부 메모리(3007)는 시스템 제어 마이크로 컴퓨터(3005)와, 상호 버스로 접속되어 있다. 시스템 제어 마이크로 컴퓨터(3005)는 통신 수단(3010)을 경유하여 CPU(3002)와 RAM(3003)에 액세스 가능하다. 또한, CPU(3002)도 통신 수단(3010)을 경유하여 광 디스크 제어 수단(3011)에 액세스 가능하다.
이어서, 이 종래의 LSI의 동작을 도 30을 참조하여 설명한다. 우선, 시스템 제어 마이크로 컴퓨터(3005)는 외부 메모리(3007)에 기록된 광 디스크 장치의 제어를 실현하는 소프트 웨어를, RAM(3003)의 소프트 웨어 기억 영역(3008)에 기록한다. 이 때의 기록을 개시하는 어드레스는 소프트 웨어 기억 영역(3008)의 선두 어드레스이다. 그리고, 시스템 제어 마이크로 컴퓨터(3005)가 인터프리터 실행 명령을 통신 수단(3010)을 경유하여 CPU(3002)에 발행하면, CPU(3002)는 ROM(3004)에 기록되어 있는 인터프리터 실행 프로그램(3006)을 실행한다. CPU(3002)는 소프트 웨어 기억 영역(3008)에 기록된 소프트 웨어를 해석하여, 실행한다. CPU(3002)는 통신 수단(3010)을 경유하여 광 디스크 제어 수단(3011)에 대해 레지스터의 파라미터 설정, 코맨드의 발행, 상태(status)의 취득을 행함으로써, 광 디스크를 제어한다.
이상과 같은 광 디스크 장치에 의하면, 소프트 웨어 기억 영역(3008)의 소프트 웨어를 교체함으로써 광 디스크의 제어 코맨드를 교체하거나, 제어 코맨드의 파라미터를 변경하기도 하는 것이 가능해지므로, 사용자마다 자유롭게 소프트 웨어를 개발할 수 있다. 또한, 미리 외부의 메모리에 소프트 웨어를 기록함으로써, ROM(3004)에 기록되어 있는 프로그램이나 광 디스크 제어 수단(3011)에 조합된 프로그램이 고정된 후도, 광 디스크 장치의 제어를 실현하는 소프트 웨어를 개발할수 있다.
그러나, 종래의 광 디스크 장치에서는 외부 메모리(3007)에 기록된 소프트 웨어를 부분적으로 RAM(3003)에 조합할 수 없었으므로, 장치에서 실행되는 소프트 웨어를 필요한 타이밍에서 RAM(3003)에 조합할 수 없었다. 이 때문에, 외부 메모리(3007)에 기록된 광 디스크의 제어를 실현하는 모든 소프트 웨어를 RAM(3003)에 조합할 필요가 있었다. 한편, 광 디스크 장치가 제어하는 광 디스크의 종류나 제어 항목의 증가에 의해, 소프트 웨어의 규모가 커졌다. 실제로는, LSI의 비용 경쟁력의 관점에서 RAM(3003)의 용량이 제한되어 있으므로, 소프트 웨어의 용량이 RAM(3003)의 소프트 웨어 기록 용량을 넘게 되어, 광 디스크 장치(3000)가 동작을 하지 않게 되는 경우가 발생했다. 이 때문에, 소프트 웨어의 개발 상, 소프트 웨어의 용량이 RAM(3003)의 소프트 웨어 기록 용량을 넘어서는 안된다는 제한이 발생했다.
본 발명은 상기 종래의 과제를 해결하는 것으로, 외부 메모리에 기록된 소프트 웨어를 부분적으로 RAM에 조합함으로써, RAM의 사용 용량을 작게 억제한 CPU 내장형 LSI를 제공하는 동시에, 이를 이용함으로써, RAM의 기록 용량에 제약을 받지않고 광 디스크 장치를 개발하는 것을 가능하게 하는 것이다.
상기의 과제를 해결하기 위해서, 본 발명의 CPU 내장형 LSI의 제1 구성은 CPU와, RAM과, 외부 메모리로부터 상기 RAM에의 소프트 웨어의 읽기를 모듈 단위로 제어하는 읽기 제어 수단을 구비하고, 상기 RAM은 상기 외부 메모리로부터 모듈 단위로 읽어진 소프트 웨어를 기억하는 소프트 웨어 기억 영역과, 상기 소프트 웨어 기억 영역에 기억된 모듈의 위치 정보 및 사이즈 정보를 적어도 포함하는 엔트리(entry)를 기억하는 엔트리 기억 영역을 갖고, 상기 읽기 제어 수단은 상기 RAM의 엔트리 기억 영역에 기억된 엔트리를 참조하여, 상기 외부 메모리로부터 상기 RAM의 소프트 웨어 기억 영역에 읽어들이는 모듈을 기억해야 할 위치를 결정하는 구성이다.
이 구성에 의해, 외부 메모리에 기록된 소프트 웨어를 부분적으로 RAM에 조합할 수 있으므로, 소프트 웨어 전부를 RAM에 조합한 종래의 구성에 비교해, RAM의 사용 용량을 작게 억제한 CPU 내장형 LSI를 제공할 수 있다.
본 발명의 CPU 내장형 LSI에서, 상기 읽기 제어 수단이 상기 RAM의 소프트 웨어 기억 영역에 기억된 모듈 중 불필요한 모듈에 대응하는 엔트리를, 상기 RAM의 엔트리 기억 영역에서 소거하는 것이 바람직하다. CPU에 의해 실행된 후에 불필요하게 된 모듈을 RAM에서 소거할 수 있어, RAM의 용량을 보다 효율적으로 이용할 수 있기 때문이다.
또한, 본 발명의 CPU 내장형 LSI의 제2 구성은 CPU와, RAM과, 외부 메모리로부터 상기 RAM에의 소프트 웨어의 읽기를 제어하는 읽기 제어 수단과, 소프트 웨어의 압축 및 신장을 제어하는 압축 신장 제어 수단을 구비하고, 상기 RAM은 상기 소프트 웨어를 상기 CPU가 참조 가능한 형식으로 기억하는 실행 프로그램 기억 영역과, 상기 소프트 웨어의 적어도 일부를 압축된 형식으로 기억하는 압축 프로그램 기억 영역을 갖고, 상기 압축 신장 제어 수단은 상기 읽기 제어 수단이 상기 외부메모리로부터 상기 RAM에 소프트 웨어의 적어도 일부를 읽어들일 때는 이미 상기 실행 프로그램 기억 영역에 읽어진 소프트 웨어의 적어도 일부를 압축하여 상기 압축 프로그램 기억 영역에 기억하고, 상기 압축 신장 제어 수단은 상기 압축 프로그램 기억 영역에 기억된 소프트 웨어가 필요하게 된 경우에는 해당 소프트 웨어를 신장시켜 상기 실행 프로그램 기억 영역에 기억한다.
이 구성에 의하면, 이미 RAM에 기억되어 있는 소프트 웨어 중, 계속해서 CPU에서 실행되는 소프트 웨어의 적어도 일부를 압축하여 RAM 내에 기억해 두고, 필요에 따라 RAM 내에 신장시킴으로써, RAM의 용량을 효율적으로 사용할 수 있다.
상기의 각 구성에 관한 CPU 내장형 LSI에서, 상기 외부 메모리로부터 상기 RAM에의 소프트 웨어의 읽기를 제어하는 읽기 제어 프로그램을 적어도 격납한 ROM을 더 구비하고, 상기 읽기 제어 수단은 상기 CPU가 상기 읽기 제어 프로그램을 실행함으로써 실현된 구성으로 하는 것이 가능하다. 혹은, 상기 CPU 및 RAM이 1개의 LSI에 탑재되고, 상기 읽기 제어 수단이 상기 CPU 및 RAM이 탑재된 LSI의 외부에 접속된 별개의 LSI에 의해 실현된 구성으로 하는 것도 가능하다. 후자의 구성은 소프트 웨어 모듈의 읽기 처리를 외부 부착의 별개의 LSI에서 실현하므로, LSI에 내장된 CPU에 드는 부담을 경감시킬 수 있다.
또한, 상기의 과제를 해결하기 위해, 본 발명에 관한 LSI 장치의 제1 구성은 CPU 및 RAM을 구비한 CPU 내장형 LSI와, 상기 CPU 내장형 LSI의 외부의 메모리로부터 상기 RAM에의 소프트 웨어의 읽기를 모듈 단위로 제어하는 읽기 제어 수단으로서 기능하는 읽기 제어용 LSI를 구비하고, 상기 RAM은 상기 외부 메모리로부터 모듈 단위로 읽어진 소프트 웨어를 기억하는 소프트 웨어 기억 영역과, 상기 소프트 웨어 기억 영역에 기억된 모듈의 위치 정보 및 사이즈 정보를 적어도 포함하는 엔트리를 기억하는 엔트리 기억 영역을 갖고, 상기 읽기 제어 수단은 상기 RAM의 엔트리 기억 영역에 기억된 엔트리를 참조하여, 상기 외부 메모리로부터 상기 RAM의 소프트 웨어 기억 영역에 읽어들이는 모듈을 기억해야 할 위치를 결정한다. 이 구성에 의하면, 소프트 웨어 모듈의 읽기 처리를 외부 부착의 별개의 LSI로 실현하므로, LSI에 내장된 CPU에 드는 부담을 경감시킬 수 있다.
또한, 상기의 과제를 해결하기 위해, 본 발명에 관한 LSI 장치의 제2 구성은 CPU 및 RAM을 구비한 CPU 내장형 LSI와, 상기 CPU 내장형 LSI의 외부 메모리로부터 상기 RAM에의 소프트 웨어의 읽기를 제어하는 읽기 제어 수단 및 소프트 웨어의 압축 및 신장을 제어하는 압축 신장 제어 수단으로서 기능하는 제어용 LSI를 구비하고, 상기 RAM은 상기 소프트 웨어를 상기 CPU가 참조 가능한 형식으로 기억하는 실행 프로그램 기억 영역과, 상기 소프트 웨어의 적어도 일부를 압축된 형식으로 기억하는 압축 프로그램 기억 영역을 갖고, 상기 압축 신장 제어 수단은 상기 읽기 제어 수단이 상기 외부 메모리로부터 상기 RAM으로 소프트 웨어의 적어도 일부를 읽어들일 때는, 이미 상기 실행 프로그램 기억 영역에 읽어지는 소프트 웨어의 적어도 일부를 압축하여 상기 압축 프로그램 기억 영역에 기억하고, 상기 압축 신장 제어 수단은 상기 압축 프로그램 기억 영역에 기억된 소프트 웨어가 필요해진 경우에는 해당 소프트 웨어를 신장시켜 상기 실행 프로그램 기억 영역에 기억한다. 이 구성에 의하면, 소프트 웨어 모듈의 읽기 처리나 압축 신장 처리를, 외부 부착의별개의 LSI에서 실현하므로, LSI에 내장된 CPU에 드는 부담을 경감시킬 수 있다.
또한, 상기의 과제를 해결하기 위해, 본 발명의 광 디스크 장치의 제1 구성은 상술한 어느 하나의 구성에 관한 CPU 내장형 LSI와, 다수 종류의 광 디스크의 기록 또는 재생 동작을 각각 제어하기 위한 다수 모듈로 구성되는 소프트 웨어를 격납한, 상기 외부 메모리로서의 소프트 웨어 격납 메모리와, 광 디스크의 종류를 판별하는 디스크 판별 수단을 구비하고, 상기 CPU 내장형 LSI의 상기 읽기 제어 수단이, 상기 디스크 판별 수단의 판별 결과에 따라서, 상기 소프트 웨어 격납 메모리로부터 상기 CPU 내장형 LSI의 RAM에의 모듈의 읽기를 제어한다.
이 구성에 의하면, 외부 메모리로서의 소프트 웨어 격납 메모리에 격납된 소프트 웨어 중, 디스크의 종류마다 필요한 모듈만을 부분적으로 RAM에 조합할 수 있다. 이에 따라, 소프트 웨어 전부를 RAM에 조합한 종래의 구성에 비해, RAM의 사용 용량에 제약을 받지 않고 광 디스크 장치를 개발·제공할 수 있다.
상기의 과제를 해결하기 위해, 본 발명의 광 디스크 장치의 제2 구성은 상술한 어느 하나의 구성에 관한 CPU 내장형 LSI와, 광 디스크의 기록 또는 재생 동작의 일련의 처리를 각각 제어하기 위한 다수 모듈로 구성되는 소프트 웨어를 격납한, 상기 외부 메모리로서의 소프트 웨어 격납 메모리와, 상기 처리의 각각의 진행 상황을 판별하는 처리 상황 판별 수단을 구비하고, 상기 CPU 내장형 LSI의 상기 읽기 제어 수단이, 상기 처리 상황 판별 수단의 판별 결과에 따라서, 상기 소프트 웨어 격납 메모리로부터 상기 CPU 내장형 LSI의 RAM에의 모듈의 읽어들임을 제어한다.
이 구성에 의하면, 외부 메모리로서의 소프트 웨어 격납 메모리에 격납된 소프트 웨어 중, 처리마다 필요한 모듈만을 부분적으로 RAM에 조합할 수 있다. 이에 따라, 소프트 웨어 전부를 RAM에 조합한 종래의 구성에 비해, RAM의 사용 용량에 제약을 받지 않고 광 디스크 장치를 개발·제공할 수 있다.
상기의 과제를 해결하기 위해, 본 발명의 광 디스크 장치의 제3 구성은 상술한 어느 하나의 구성에 관한 CPU 내장형 LSI와, 다수 종류의 동작 모드에 의한 광 디스크의 기록 또는 재생 동작을 각각 제어하기 위한 다수 모듈로 구성되는 소프트 웨어를 격납한, 상기 외부 메모리로서의 소프트 웨어 격납 메모리와, 상기 CPU 내장형 LSI의 상기 읽기 제어 수단이, 동작 모드의 변화에 따라, 상기 소프트 웨어 격납 메모리로부터 상기 CPU 내장형 LSI의 RAM에의 모듈의 읽어들임을 제어한다.
이 구성에 의하면, 외부 메모리로서의 소프트 웨어 격납 메모리에 격납된 소프트 웨어 중, 동작 모드마다 필요한 모듈만을 부분적으로 RAM에 조합할 수 있다. 이에 따라, 소프트 웨어 전부를 RAM에 조합한 종래의 구성에 비해, RAM의 사용 용량에 제약을 받지않고 광 디스크 장치를 개발·제공할 수 있다. 또한, 특히, 동작 모드로서 슬리브 모드가 있는 경우, 슬리브 모드시의 재생(refresh) 메모리 용량을 대폭 삭감할 수 있으므로, 저소비 전력으로 이어진다는 이점이 있다.
도 1은 본 발명의 제1 실시 형태에서의 장치의 구성을 도시하는 개념도,
도 2는 본 발명의 제1 실시 형태에서의 소프트 웨어의 모듈 구성을 도시하는 개념도,
도 3은 본 발명의 제1 실시 형태에서의 소프트 웨어의 모듈 구성을 도시하는 개념도,
도 4는 본 발명의 제1 실시 형태에서의 소프트 웨어를 메모리에 조합하는 처리의 플로우 챠트,
도 5는 본 발명의 제1 실시 형태에서의 소프트 웨어를 메모리에 조합할 때의 테이블 천이,
도 6은 본 발명의 제2 실시 형태에서의 장치의 구성을 도시하는 개념도,
도 7은 본 발명의 제2 실시 형태에서의 소프트 웨어의 모듈 구성을 도시하는 개념도,
도 8은 본 발명의 제2 실시 형태에서의 소프트 웨어의 모듈 구성을 도시하는 개념도,
도 9는 본 발명의 제2 실시 형태에서의 소프트 웨어를 메모리에 조합하는 처리의 플로우 챠트,
도 10은 본 발명의 제2 실시 형태에서의 소프트 웨어를 메모리에 조합할 때의 테이블 천이,
도 11은 본 발명의 제3 실시 형태에서의 장치의 구성을 도시하는 개념도,
도 12는 본 발명의 제3 실시 형태에서의 소프트 웨어의 모듈 구성을 도시하는 개념도,
도 13은 본 발명의 제3 실시 형태에서의 소프트 웨어의 모듈 구성을 도시하는 개념도,
도 14는 본 발명의 제3 실시 형태에서의 소프트 웨어를 메모리에 조합하는 처리의 플로우 챠트,
도 15는 본 발명의 제3 실시 형태에서의 소프트 웨어를 메모리에 조합할 때의 테이블 천이,
도 16은 본 발명의 제4 실시 형태에서의 장치의 구성을 도시하는 개념도,
도 17은 본 발명의 제5 실시 형태에서의 장치의 구성을 도시하는 개념도,
도 18은 본 발명의 제5 실시 형태에서의 소프트 웨어를 메모리에 조합하는 처리의 플로우 챠트,
도 19는 본 발명의 제6 실시 형태에서의 장치의 구성을 도시하는 개념도,
도 20은 본 발명의 제6 실시 형태에서 소프트 웨어를 메모리에 조합하는 처리의 플로우 챠트,
도 21은 본 발명의 제7 실시 형태에서의 장치의 구성을 도시하는 개념도,
도 22는 본 발명의 제7 실시 형태에서 소프트 웨어를 메모리에 조합하는 처리의 플로우 챠트,
도 23은 본 발명의 제8 실시 형태에서의 장치의 모듈 구성을 도시하는 개념도,
도 24는 본 발명의 제8 실시 형태에서의 장치의 모듈 구성을 도시하는 개념도,
도 25는 본 발명의 제8 실시 형태에서의 장치의 모듈 구성을 도시하는 개념도,
도 26은 본 발명의 제8 실시 형태에서 불필요한 소프트 웨어를 메모리로부터 소거하는 처리의 플로우 챠트,
도 27은 본 발명의 제8 실시 형태에서 불필요한 소프트 웨어를 메모리로부터 소거하는 처리의 플로우 챠트,
도 28은 본 발명의 제8 실시 형태에서 불필요한 소프트 웨어를 메모리로부터 소거하는 처리의 플로우 챠트,
도 29는 본 발명의 제8 실시 형태에서 불필요한 소프트 웨어를 메모리로부터 소거할 때의 테이블 천이,
도 30은 종래의 광 디스크 장치의 구성을 도시하는 개념도이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 장치 101 : LSI
102 : CPU 103 : RAM
104 : ROM 105 : 시스템 제어 마이크로컴퓨터
106 : 인터프리터 실행 프로그램
107 : 외부 메모리 108 : 소프트 웨어
109 : 엔트리 테이블 110 : 통신 수단
111 : 광 디스크 제어 수단 112 : 기록 재생 헤드
113 : 모터 114 : 광 디스크
120 : 엔트리 등록 프로그램 121 : 조합 위치 조사 프로그램
122 : 엔트리 소거 프로그램
123 : 모듈 압축 프로그램 124 : 모듈 신장 프로그램
130 : 실행 모듈 엔트리 테이블
131 : 압축 모듈 엔트리 테이블
140 : 모듈 조합 수단 141 : 미디어 판별 수단
142 : 처리 종료 판단 수단 143 : 동작 모드 관리 수단
1000 : 광 디스크 장치
(실시 형태 1)
이하, 본 발명의 제1 실시 형태에 관해서 도면을 참조하면서 설명한다. 도 1은 본 실시 형태의 장치의 구성을 나타내는 것으로, 이에 대해 설명한다. 100은본 실시 형태의 장치, 101은 본 실시 형태의 LSI, 102는 LSI(101)을 제어하는 CPU이다. 107은 RAM(103)에 기록하는 소프트 웨어나 시스템 제어 마이크로 컴퓨터(105)가 실행하는 프로그램 등이 기록된 외부 메모리이다.
또한, RAM(103)은 외부에서 액세스 가능하고, 적어도 이하의 3개를 기록한다. 우선 108은 CPU에 의존하지 않는 명령렬로 이루어지고, 다수의 모듈에 의해 구성되는 소프트 웨어를 기록하는 소프트 웨어 기억 영역이다. 다음에 109는 소프트 웨어 기억 영역(108)에 기록된 소프트 웨어의 모듈(이하, 「모듈」이라고 한다)의 적어도 선두 어드레스와 사이즈를 1그룹의 데이터(이하, 「엔트리」라고 한다)로 하였을 때, 엔트리를 배열한 테이블(이하, 「엔트리 테이블」이라고 한다)이다. 마지막에 115는 외부 메모리(107)로부터 RAM(103)에 신규로 조합하는 모듈(이하, 「조합 모듈」이라고 한다)명과, 조합 모듈의 사이즈와, RAM(103)에 이미 기록된 모듈 중 한번 실행한 후에 불필요해진 모듈(이하, 「불필요 모듈」이라고 한다)명을 기억시키는 테이블(이하, 「조합 모듈 정보 테이블」이라고 한다)이다.
104는 이하의 3개의 프로그램을 기록하는 ROM이다. 우선 106은 소프트 웨어 기억 영역(108)에 기록되어 있는 소프트 웨어를 해석하고, 실행하는 인터프리터 실행 프로그램이다. 다음에 120은 조합 모듈의 엔트리를 엔트리 테이블(109)에 등록하는 엔트리 등록 프로그램이다. 마지막에 121은 엔트리 테이블(109)에 등록된 엔트리의 사이즈와 조합 모듈의 사이즈를 비교하거나, 엔트리 테이블(109)에 등록된 모듈이 불필요 모듈인지 여부를 판단하거나, 엔트리 테이블(109)에 등록된 엔트리가 마지막에 엔트리 테이블에 등록되었는지 여부를 판단하는 조합 위치 조사 프로그램이다(이하, 마지막에 엔트리 테이블(109)에 등록된 엔트리를 「최종 엔트리」라고 한다).
110은 LSI(101)와 외부와의 통신을 행하는 통신 수단, 105는 장치(100)의 전체를 제어하는 시스템 제어 마이크로 컴퓨터이다. CPU(102)는 RAM(103) 및 ROM(104)과, 외부 메모리(107)는 시스템 제어 마이크로 컴퓨터(105)와, 각각 서로 버스로 접속되어 있다. 시스템 제어 마이크로 컴퓨터(105)는 통신 수단(110)에 의해서 CPU(102)와 RAM(103)에 액세스 가능하다.
이어서, 본 실시 형태의 장치(100)의 동작을, 도 1을 이용하여 설명한다.
우선, 시스템 제어 마이크로 컴퓨터(105)는 외부 메모리(107)에 기록된 소프트 웨어의 모듈을 RAM(103)에 조합한다. 그리고, 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 인터프리터 실행 명령을 발행하면, CPU(102)는 ROM(104)에 기록되어 있는 인터프리터 실행 프로그램(106)을 실행한다. 그리고, CPU(102)는 RAM(103)에 조합된 모듈을 해석하여, 실행한다.
도 2 및 도 3은 외부 메모리(107)에 기록된 소프트 웨어의 모듈 구성 및 RAM(103)의 모듈의 기록 상태를 나타내고, 201로부터 206까지는 모듈이다. 또한, 도 2 및 도 3에서, 도 1에서 이용한 것과 동일한 참조 부호를 붙인 것에 관해서는 설명을 생략한다.
도 4에 외부 메모리(107)에 기록된 소프트 웨어의 모듈 중의 임의의 모듈을, RAM(103)에 조합하는 순서를 나타낸다. 도 5는 외부 메모리(107)에 기록된 소프트 웨어의 모듈 중의 임의의 모듈을 RAM(103)에 조합할 때의 엔트리 테이블(109)의 천이를 나타낸다. 엔트리는 도 5에 도시하는 바와 같이, 등록 NO., 모듈명, 모듈 선두 어드레스, 모듈 사이즈로 구성된다. 도 5에서 수치는 모두 10진수 표기로 하고, 모듈 사이즈의 단위는 킬로 바이트로 표시했다.
이로부터, 외부 메모리(107)에 기록된 소프트 웨어의 조합 모듈(205)을 RAM(103)에 조합하는 순서의 일구체예를, 도 1∼도 5를 이용하여 설명한다. 여기서는, RAM(103)에서의 모듈의 기록 상태가 도 2(a), 엔트리 테이블(109)이 도 5(a)에 도시하는 대로인 것으로 한다. 또한, 모듈(202)과 모듈(204)은 불필요 모듈이고, 조합 모듈(205)의 사이즈는 300킬로 바이트로 한다.
도 4에 도시하는 바와 같이, 단계 301에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 조합하는 모듈 정보 기억 명령을 발행하면, CPU(102)는 조합 모듈명(모듈(205))과, 조합 모듈의 사이즈(300킬로 바이트)와, 불필요 모듈명(모듈(202), (204))을, RAM(103)의 조합 모듈 정보 테이블(115)에 기억시킨다.
다음에, 단계 302에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 조합 위치 조사 명령을 발행하면, CPU(102)는 조합 위치 조사 프로그램(121)을 실행한다. 그리고, CPU(102)는 조합 모듈 정보 테이블(115)의 정보로부터 엔트리 테이블(109)에 등록된 엔트리 중, 어느 하나의 엔트리에 관해서, 그 모듈이 불필요한 모듈인지 여부를 판단한다(이하, 이 판단 대상이 되는 엔트리를 「대상 엔트리」라고 한다). 또한, 처음으로 단계 302를 실행할 때, 대상 엔트리는 등록 NO.1의 엔트리로 한다. 여기서, 대상 엔트리의 모듈(201)은 연속 장치(100)에서 실행되므로(즉, 불필요 모듈이 아니다), 단계 309로 이행한다.
단계 309에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 조합 위치 조사 명령을 발행하면, CPU(102)는 조합 위치 조사 프로그램(121)을 실행한다. 그리고 CPU(102)는 엔트리 테이블(109)로부터 대상 엔트리가 최종 엔트리인지 여부를 판단한다. 여기서, 대상 엔트리 NO.1은 최종 엔트리가 아니므로, 단계 303으로 이행한다.
단계 303에서는 대상 엔트리를 변경한다. 변경 방법은 현재의 대상 엔트리의 다음에 엔트리 테이블(109)에 등록된 엔트리를 새롭게 대상 엔트리로 한다. 현재의 대상 엔트리가 NO.1일 때, 변경후의 대상 엔트리는 NO.2로 된다. 대상 엔트리 변경후, 다시 단계 302를 실행한다. 단계 302에서, 대상 엔트리 NO.2의 모듈(202)은 불필요 모듈이므로, 단계 304로 이행한다.
단계 304에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 조합 위치 조사 명령을 발행하면, CPU(102)는 조합 위치 조사 프로그램(121)을 실행한다. 그리고, CPU(102)는 조합 모듈 정보 테이블(115)의 정보로부터 조합 모듈(205)의 사이즈, 엔트리 테이블(109)로부터 대상 엔트리의 모듈 사이즈를 얻고, 조합 모듈(205)의 사이즈와 대상 엔트리의 모듈 사이즈를 비교한다. 여기서, 조합 모듈(205)의 사이즈는 300킬로 바이트, 대상 엔트리의 모듈 사이즈는 200킬로 바이트이므로, 대상 엔트리의 모듈 사이즈는 조합 모듈(205)의 사이즈보다 작다. 따라서, RAM(103)에서 모듈(202)이 기록되어 있는 영역에, 조합 모듈(205)을 조합할수 있을지 여부를 조사하기 위해, 단계 310로 이행한다.
단계 310에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 조합 위치 조사 명령을 발행하면, CPU(102)는 조합 위치 조사 프로그램(121)을 실행한다. 그리고 CPU(102)는 대상 엔트리가 최종 엔트리인지 여부를 판단한다. 엔트리 테이블(109)에서, 대상 엔트리 NO.2는 최종 엔트리가 아니다. 따라서 현재의 대상 엔트리의 다음에 등록된 엔트리의 모듈이 불필요한 모듈인지 여부를 조사하기 위해, 단계 305로 이행한다.
단계 305에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 조합 위치 조사 명령을 발행하면, CPU(102)는 조합 위치 조사 프로그램(121)을 실행한다. 그리고 CPU(102)는 조합 모듈 정보 테이블(115)의 정보로부터 대상 엔트리의 다음에 등록된 엔트리의 모듈이 불필요한 모듈인지 여부를 판단한다. 엔트리 테이블(109)로부터 대상 엔트리 NO.2의 다음에 등록된 엔트리는 NO.3이다. 조합 모듈 정보 테이블(115)의 정보로부터, 엔트리 NO.3의 모듈인 모듈(203)은 이음 장치(100)에서 실행되는 모듈과 CPU(102)로 판단된다. 따라서, RAM(103)에서 모듈(202)이 기록되는 영역에 조합 모듈(205)을 조합할 수 없다. 따라서 단계(303)로 이행하고, 대상 엔트리를 NO.2로부터 NO.3으로 변경하고, 다시 단계 302로 이행한다. 단계 302에서, 대상 엔트리 NO.3의 모듈(203)은 이음 장치(100)에서 실행되는 모듈이므로, 단계 309로 이행한다.
단계 309에서, 대상 엔트리 NO.3는 최종 엔트리가 아니므로, 단계 303에서 대상 엔트리를 NO.3로부터 NO.4로 변경하고, 다시 단계 302로 이행한다. 단계 302에서, 대상 엔트리 NO.4의 모듈(204)은 불필요 모듈이라고 판단되므로, 단계 304로이행한다. 대상 엔트리 NO.4의 모듈(204)의 사이즈는 500킬로 바이트, 조합 모듈(205)의 사이즈는 300킬로 바이트이므로, 단계 304에서, 대상 엔트리의 모듈 사이즈는 조합 모듈(205)의 사이즈보다 크기 때문에, 단계 307로 이행한다.
단계 307에서는 CPU(102)는 조합 모듈(205)을 RAM(103)에 조합하는 선두 어드레스를, 통신 수단(110) 경유로 시스템 제어 마이크로 컴퓨터(105)에 통지한다. 여기서 조합 모듈(205)을 RAM(103)에 조합하는 선두 어드레스는 대상 엔트리의 모듈 선두 어드레스(700)로 된다. 그리고, 시스템 제어 마이크로 컴퓨터(105)는 통신 수단(110)을 경유하여, 외부 메모리(107)로부터 조합 모듈(205)을 RAM(103)에 선두 어드레스(700)부터 조합한다.
이 때, RAM(103)의 모듈 기록 상태는 도 2(a)부터 도 2(b)로 변화한다.
다음에, 단계 308에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 엔트리 등록 명령을 발행하면, CPU(102)는 엔트리 등록 프로그램(120)을 실행한다. 그리고 CPU(102)는 조합 모듈(205)의 엔트리를 엔트리 테이블(109)에 추가 등록한다. 이 때, 엔트리 테이블(109)의 상태는 도 5(a)부터 도 5(b)로 변화한다.
이상의 순서에 의해, 외부 메모리(107)의 모듈(205)을 RAM(103)에 조합할 수 있다.
이로부터, 외부 메모리(107)에 기록된 소프트 웨어의 조합 모듈(205)을 RAM(103)에 조합하는 순서의 다른 구체예를 도 1∼도 5를 이용하여 설명한다. 여기서는, RAM(103)에서의 모듈의 기록 상태가 도 2(a), 엔트리 테이블(109)이 도 5(a)인 것으로 한다. 또한, 여기서 모듈(202)과 모듈(203)은 불필요 모듈이고, 조합 모듈(205)의 사이즈는 300킬로 바이트로 한다.
단계 301에서 CPU(102)는 조합 모듈명(모듈(205))과, 이 조합 모듈(205)의 사이즈(300킬로 바이트)와, 불필요 모듈명(모듈(202), (203))을, RAM(103)의 조합 모듈 정보 테이블(115)에 기억시킨다.
다음에, 단계 302에서, CPU(102)는 대상 엔트리의 모듈(201)이 불필요 모듈인지 여부를 판단한다. 여기서, 대상 엔트리의 모듈(201)은 이음 장치(100)에서 실행되므로, 단계 309로 이행한다.
단계 309에서 CPU(102)는 대상 엔트리가 최종 엔트리인지 여부를 판별한다. 대상 엔트리 NO.1은 최종 엔트리가 아니므로, 단계 303으로 이행한다.
단계 303에서는 대상 엔트리가 NO.2로 변경되어, 다시 단계 302를 실행한다. 단계 302에서, CPU(102)는 대상 엔트리 NO.2의 모듈(202)을 불필요 모듈이라고 판단하여, 단계 304로 이행한다.
단계 304에서 CPU(102)는 조합 모듈의 사이즈와 대상 엔트리의 모듈 사이즈를 비교한다. 여기서, 대상 엔트리의 모듈 사이즈는 200킬로 바이트, 조합 모듈(205)의 사이즈는 300킬로 바이트이므로, 대상 엔트리의 모듈 사이즈는 조합 모듈(205)의 사이즈보다 작다. 따라서, RAM(103)에서 모듈(202)이 기록되어 있는 영역에, 조합 모듈(205)을 조합할 수 있는지 여부를 조사하기 위해, 단계 310으로 이행한다.
단계 310에서 CPU(102)는 대상 엔트리가 최종 엔트리인지 여부를 판단한다. 대상 엔트리 NO.2는 최종 엔트리가 아니다. 따라서 현재의 대상 엔트리의 다음에등록된 엔트리의 모듈이 불필요 모듈인지 여부를 조사하기 위해, 단계 305로 이행한다.
단계 305에서 CPU(102)는 대상 엔트리의 다음에 등록된 엔트리의 모듈(203)이 불필요 모듈인지 여부를 판단한다. 엔트리 테이블(109)로부터 대상 엔트리 NO.2의 다음에 등록된 엔트리는 NO.3이다. 엔트리 NO.3의 모듈인 모듈(203)은 불필요 모듈이다. 따라서, RAM(103)에서 모듈(202) 및 모듈(202)이 기록되어 있는 영역에, 조합 모듈(205)을 조합할 수 있는지 여부를 조사하기 위해, 단계 306으로 이행한다.
단계 306에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 조합 위치 조사 명령을 발행하면, CPU(102)는 조합 위치 조사 프로그램(121)을 실행한다. 그리고 CPU(102)는 대상 엔트리 NO.2의 모듈 사이즈와 대상 엔트리의 다음 엔트리 NO.3의 모듈 사이즈의 합과, 조합 모듈(205)의 사이즈를 비교한다. 여기서, 엔트리 테이블(109)은 대상 엔트리 NO.2의 모듈 사이즈는 200킬로 바이트, 대상 엔트리의 다음 엔트리 NO.3의 모듈 사이즈는 400킬로 바이트로, 그 합은 600킬로 바이트로 된다. 한편, 조합 모듈 정보 테이블(115)의 정보로부터 얻어진 조합 모듈(205)의 사이즈는 300킬로 바이트이다. 따라서, 대상 엔트리의 사이즈와 대상 엔트리의 다음 엔트리의 사이즈와의 합이 조합 모듈의 사이즈보다 크기 때문에, RAM(103)에서 모듈(202)과 모듈(203)이 기록되어 있는 영역에, 조합 모듈(205)을 조합할 수 있으므로 단계 307로 이행한다.
단계 307에서 CPU(102)는 조합 모듈(205)을 RAM(103)에 조합하는 선두 어드레스를, 통신 수단(110) 경유로 시스템 제어 마이크로 컴퓨터(105)에 통지한다. 여기서 조합 모듈(205)을 RAM(103)에 조합하는 선두 어드레스는 대상 엔트리(모듈(202))의 모듈 선두 어드레스(100)로 된다. 그리고, 시스템 제어 마이크로 컴퓨터(105)는 통신 수단(110)을 경유하여, 외부 메모리(107)로부터 조합 모듈(205)을 RAM(103)에 선두 어드레스(100)부터 조합한다. 이 때, RAM(103)의 모듈 기록 상태는 도 2(a)부터 도 3(a)으로 변화한다.
다음에, 단계 308에서 CPU(102)는 조합 모듈(205)의 엔트리를 엔트리 테이블(109)에 추가 등록한다. 이 때, 엔트리 테이블(109)의 상태는 도 5(a)부터 도 5(c)로 변화한다.
이상의 순서에 의해, 외부 메모리(107)의 모듈(205)을 RAM(103)에 조합할 수 있다.
이로부터, 외부 메모리(107)에 기록된 소프트 웨어의 조합 모듈(205)을 RAM(103)에 조합하는 순서의 또 다른 구체예를, 도 1∼도 5를 이용하여 설명한다. 여기서는, RAM(103)에서의 모듈의 기록 상태가 도 2(a), 엔트리 테이블(109)이 도 5(a)인 것으로 한다. 또한, 불필요 모듈은 RAM(103)에 존재하지 않고, 조합 모듈(205)의 사이즈는 300킬로 바이트인 것으로 한다.
단계 301에서 CPU(102)는 조합 모듈명(모듈(205))과, 조합 모듈의 사이즈(300킬로 바이트)와, 불필요 모듈명(여기서는 없음)을, RAM(103)의 조합 모듈 정보 테이블(115)에 기억시킨다.
다음에, 단계 302에서 CPU(102)는 대상 엔트리의 모듈이 불필요 모듈인지 여부를 판단한다. 여기서, 대상 엔트리의 모듈(201)은 연속 장치(100)에서 실행되므로, 단계 309로 이행한다.
단계 309에서 CPU(102)는 대상 엔트리가 최종 엔트리인지 여부를 판별한다. 대상 엔트리 NO.1은 최종 엔트리가 아니므로, 단계 303으로 이행한다.
단계 303에서는 대상 엔트리가 NO.2로 변경되고, 다시 단계 302를 실행한다. 단계 302에서 대상 엔트리의 모듈(202)은 연속 장치(100)에서 실행되므로, 단계 309로 이행한다. 단계 309에서 대상 엔트리는 최종 엔트리가 아니므로, 단계 303으로 이행한다. 단계 303에서는 대상 엔트리가 NO.3으로 변경되고, 다시 단계 302를 실행한다. 단계 302에서 대상 엔트리의 모듈(203)은 연속 장치(100)에서 실행되므로, 단계 309로 이행한다.
단계 309에서 대상 엔트리는 최종 엔트리가 아니므로, 단계 303으로 이행한다. 단계 303에서는 대상 엔트리가 NO.4로 변경되고, 다시 단계 302를 실행한다. 단계 302에서 대상 엔트리의 모듈(204)은 연속 장치(100)에서 실행되므로, 단계 309로 이행한다.
단계 309에서 대상 엔트리 NO.4는 최종 엔트리이므로, 단계 311로 이행한다. 조합 모듈(205)의 RAM(103)에서의 조합 위치는 최종 엔트리의 모듈(204)의 뒤(1200)가 된다.
단계 311에서 CPU(102)는 조합 모듈(205)을 RAM(103)에 조합하는 선두 어드레스를, 통신 수단(110) 경유로 시스템 제어 마이크로 컴퓨터(105)에 통지한다. 여기서 조합 모듈(205)을 RAM(103)에 조합하는 선두 어드레스는 최종 엔트리의 모듈(204)의 뒤(1200)가 된다. 그리고, 시스템 제어 마이크로 컴퓨터(105)는 통신 수단(110)을 경유하여, 외부 메모리(107)로부터 조합 모듈(205)을, RAM(103)에, 선두 어드레스(1200)부터 조합한다. 이 때, RAM(103)의 모듈 기록 상태는 도 2(a)부터 도 3(b)으로 변화한다. 그리고, 단계 308로 이행하고, CPU(102)는 조합 모듈(205)의 엔트리를 엔트리 테이블(109)에 추가 등록한다. 이 때, 엔트리 테이블(109)의 상태는 도 5(a)부터 도 5(d)로 변화한다.
이상의 순서에 의해, 외부 메모리(107)의 모듈(205)을 RAM(103)에 조합할 수 있다.
(실시 형태 2)
이하, 본 발명의 제2 실시 형태에 대해 도면을 참조하면서 설명한다. 도 6은 본 실시형태의 장치의 구성을 나타내는 것이다. 도 6에 도시하는 바와 같이, 본 실시 형태에 관한 장치는 실시 형태 1의 장치의 ROM(104)에, 프로그램(122)을 추가한 것이다. 프로그램(122)은 RAM(103)으로부터 소거하는 불필요 모듈의 엔트리를 엔트리 테이블(109)로부터 소거하는 프로그램이다.
본 실시 형태의 장치의 동작 중, 실시 형태 1의 장치와 동일한 부분에 대해서는 설명을 생략한다. 도 7 및 도 8은 외부 메모리(107)에 기록된 소프트 웨어의 모듈 구성 및 RAM(103)의 모듈의 기록 상태를 나타내고, 601부터 606까지는 모듈이다. 또한, 도 7 및 도 8에서, 도 6과 동일한 참조 부호를 붙인 것에 관해서는, 설명을 생략한다. 도 9는 외부 메모리(107)에 기록된 소프트 웨어의 모듈 중, 임의의 모듈을 RAM(103)에 조합하는 순서를 나타낸다. 도 10은 외부 메모리(107)에 기록된 소프트 웨어의 모듈 중, 임의의 모듈을 RAM(103)에 조합할 때의 엔트리 테이블(109)의 천이를 나타낸다. 엔트리는 등록 NO., 모듈명, 모듈 선두 어드레스, 모듈 사이즈로 구성된다. 도 10에서 수치는 모두 10진수 표기로 하고, 모듈 사이즈의 단위는 킬로 바이트이다.
이로부터, 외부 메모리(107)에 기록된 소프트 웨어의 조합 모듈(605)을 RAM(103)에 조합하는 순서의 일구체예를, 도 6∼도 10을 이용하여 설명한다. 여기서는, RAM(103)에서의 모듈의 기록 상태가 도 7(a), 엔트리 테이블(109)이 도 10(a)인 것으로 한다. 또한, 모듈(602)과 모듈(604)은 불필요 모듈, 조합 모듈(605)의 사이즈는 300킬로 바이트인 것으로 한다.
단계 701에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 조합 모듈 정보 기억 명령을 발행하면, CPU(102)는 조합 모듈명(모듈(605))과, 조합 모듈의 사이즈(300킬로 바이트)와, 불필요 모듈명(모듈(602), (604))을, RAM(103)의 조합 모듈 정보 테이블(115)에 기억시킨다.
다음에, 단계 702에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 조합 위치 조사 명령을 발행하면, CPU(102)는 조합 위치 조사 프로그램(121)을 실행한다. 그리고, CPU(102)는 조합 모듈 정보 테이블(115)의 정보로부터 대상 엔트리의 모듈이 불필요 모듈인지 여부를 판단한다. 또한, 처음으로 단계 702를 실행할 때의 대상 엔트리는 등록 NO.1의 엔트리로 한다. 여기서, 대상 엔트리의 모듈(601)은 연속 장치(100)에서 실행되므로, 단계 703으로 이행한다.
단계 703에서 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 조합 위치 조사 명령을 발행하면, CPU(102)는 조합 위치 조사 프로그램(121)을 실행한다. 그리고 CPU(102)는 엔트리 테이블(109)로부터 대상 엔트리가 최종 엔트리인지 여부를 판단한다. 여기서, 대상 엔트리 NO.1은 최종 엔트리가 아니므로, 단계 704로 이행한다.
단계 704에서는 대상 엔트리를 변경한다. 변경 방법은 현재의 대상 엔트리의 다음에 엔트리 테이블(109)에 등록된 엔트리를 새롭게 대상 엔트리로 한다. 현재의 대상 엔트리가 NO.1일 때, 변경후의 대상 엔트리는 NO.2로 된다. 대상 엔트리 변경후, 다시 단계 702를 실행한다. 단계 702에서, 대상 엔트리 NO.2의 모듈(602)은 불필요 모듈이므로, 단계 707로 이행한다.
단계 707에서 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 엔트리 소거 명령을 발행하면, CPU(102)는 엔트리 소거 프로그램(122)을 실행한다. 그리고, CPU(102)는 엔트리 테이블(109)에 등록된 엔트리 중 대상 엔트리 NO.2를 포함하는 대상 엔트리 이후에 등록된 엔트리 NO.2, NO.3, NO.4를 엔트리 테이블(109)로부터 소거한다. 이 때, 엔트리 테이블(109)의 상태는 도 10(a)부터 도 10(b)로 변화한다.
다음에, 단계 708에서 CPU(102)는 조합 모듈(605)을 RAM(103)에 조합하는 선두 어드레스를, 통신 수단(110) 경유로 시스템 제어 마이크로 컴퓨터(105)에 통지한다. 여기서, 조합 모듈(605)을 불필요 모듈인 대상 엔트리의 모듈(602)이 기록되어 있는 영역에 조합하기 위해, 조합 모듈(605)의 선두 어드레스는 대상 엔트리의 선두 어드레스(100)로 된다. 그리고, 시스템 제어 마이크로 컴퓨터(105)는 통신 수단(110)을 경유하여, 조합 모듈(605)을 외부 메모리(107)로부터 RAM(103)에 선두 어드레스(100)부터 조합한다. 이 때, RAM(103)의 모듈 기록 상태는 도 7(a)부터 도 7(b)로 변화한다.
다음에, 단계 709에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 엔트리 등록 명령을 발행하면, CPU(102)는 엔트리 등록 프로그램(120)을 실행한다. 그리고 CPU(102)는 조합 모듈(605)의 엔트리를 엔트리 테이블(109)에 추가 등록한다. 이 때, 엔트리 테이블(109)의 상태는 도 10(b)부터 도 10(c)로 변화한다. 그리고, 단계 710으로 이행하여, 대상 엔트리를 변경하고, 단계 711로 이행한다. 현재의 대상 엔트리가 NO.2일 때, 변경후의 대상 엔트리는 NO.3로 된다.
단계 711에서 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 조합 위치 조사 명령을 발행하면, CPU(102)는 조합 위치 조사 프로그램(121)을 실행한다. 그리고 CPU(102)는 조합 모듈 정보 테이블(115)의 정보로부터 대상 엔트리의 모듈이 불필요 모듈인지 여부를 판단한다. 대상 엔트리의 모듈(603)은 연속 장치(100)에서 실행되므로, RAM(103)에 다시 조합할 필요가 있다. 이 때문에 단계 712로 이행한다.
단계 712에서 CPU(102)는 모듈(603)을 RAM(103)에 조합하는 선두 어드레스를, 통신 수단(110) 경유로 시스템 제어 마이크로 컴퓨터(105)에 통지한다. 여기서, 모듈(603)은 최종 엔트리의 모듈(605)의 후방에 조합되므로, 모듈(603)을 RAM(103)에 조합하는 선두 어드레스는 최종 엔트리의 모듈 선두 어드레스(100)에 최종 엔트리의 모듈 사이즈(300킬로 바이트)를 더한 값, 즉 400으로 된다. 그리고, 시스템 제어 마이크로 컴퓨터(105)는 통신 수단(110)을 경유하여, 모듈(603)을 외부 메모리(107)로부터 RAM(103)에, 선두 어드레스(1200)부터 조합한다. 이 때, RAM(103)의 모듈 기록 상태는 도 7(b)부터 도 8(a)로 변화한다. 그리고, 단계 713으로 이행하여, 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 엔트리 등록 명령을 발행하면, CPU(102)는 엔트리 등록 프로그램(120)을 실행한다. 그리고 CPU(102)는 모듈(603)의 엔트리를 엔트리 테이블(109)에 추가 등록한다. 이 때, 엔트리 테이블(109)의 상태는 도 10(c)부터 도 10(d)로 변화한다.
다음에, 단계 714에서 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 조합 위치 조사 명령을 발행하면, CPU(102)는 조합 위치 조사 프로그램(121)을 실행한다. 그리고 CPU(102)는 엔트리 테이블(109)로부터 대상 엔트리가 최종 엔트리인지 여부를 판별한다. 여기서, 대상 엔트리 NO.3는 최종 엔트리가 아니므로, 단계 710으로 이행하여, 대상 엔트리를 변경하고, 단계 711로 이행한다. 현재의 대상 엔트리가 NO.3일 때, 변경후의 대상 엔트리는 NO.4로 된다.
단계 711에서 CPU(102)는 조합 모듈 정보 테이블(115)의 정보로부터, 대상 엔트리의 모듈이 불필요 모듈인지 여부를 판단한다. 대상 엔트리의 모듈(604)은 불필요 모듈이므로, RAM(103)에 다시 조합할 필요는 없다. 이 때문에 단계 714로 이행한다.
단계 714에서 CPU(102)는 엔트리 테이블(109)로부터 대상 엔트리가 최종 엔트리인지 여부를 판별한다. 여기서, 대상 엔트리 NO.4는 최종 엔트리이므로, 조합 모듈(605)의 RAM(103)에의 조합은 종료한다.
이상의 순서에 의해, 외부 메모리(107)의 모듈(605)을 RAM(103)에 조합할 수 있다.
이로부터, 외부 메모리(107)에 기록된 소프트 웨어의 조합 모듈(605)을 RAM(103)에 조합하는 순서의 다른 구체예를, 도 6∼도 10을 이용하여 설명한다. 여기서는, RAM(103)에서의 모듈의 기록 상태가 도 7(a), 엔트리 테이블(109)이 도 10(a)인 것으로 한다. 또한, 불필요 모듈은 RAM(103)에 존재하지 않고, 조합 모듈(605)의 사이즈는 300킬로 바이트인 것으로 한다.
단계 701에서 CPU(102)는 조합 모듈명(모듈(605))과, 조합 모듈의 사이즈(300킬로 바이트)와, 불필요 모듈명(여기서는 없음)을 RAM(103)의 조합 모듈 정보 테이블(115)에 기억시킨다.
다음에, 단계 702에서 CPU(102)는 대상 엔트리의 모듈이 불필요 모듈인지 여부를 판단한다. 여기서, 대상 엔트리의 모듈(601)은 연속 장치(100)에서 실행되므로, 단계 703으로 이행한다.
단계 703에서 CPU(102)는 대상 엔트리가 최종 엔트리인지 여부를 판별한다. 대상 엔트리 NO.1는 최종 엔트리가 아니므로, 단계 704로 이행한다.
단계 704에서 대상 엔트리가 NO.2로 변경되고, 다시 단계 702를 실행한다. 단계 702에서 대상 엔트리의 모듈(602)은 연속 장치(100)에서 실행되므로, 단계 703으로 이행한다.
단계 703에서 대상 엔트리 NO.2는 최종 엔트리가 아니므로, 단계 704로 이행한다. 단계 704에서 대상 엔트리가 NO.3로 변경되고, 다시 단계 702를 실행한다.단계 702에서 대상 엔트리의 모듈(603)은 연속 장치(100)에서 실행되므로, 단계 703으로 이행한다. 단계 703에서 대상 엔트리 NO.3는 최종 엔트리가 아니므로, 단계 704로 이행한다. 단계 704에서는 대상 엔트리가 NO.4로 변경되고, 다시 단계 702를 실행한다. 단계 702에서 대상 엔트리의 모듈(604)은 연속 장치(100)에서 실행되므로, 단계 703으로 이행한다. 단계 703에서 대상 엔트리 NO.4는 최종 엔트리이므로, 단계 705로 이행한다.
단계 705에서 CPU(102)는 조합 모듈(605)을 RAM(103)에 조합하는 선두 어드레스를, 통신 수단(110) 경유로, 시스템 제어 마이크로 컴퓨터(105)에 통지한다. 여기서, 조합 모듈(605)을 RAM(103)에 조합하는 선두 어드레스는 최종 엔트리의 모듈(604)의 뒤(1200)로 된다. 그리고, 시스템 제어 마이크로 컴퓨터(105)는 통신 수단(110)을 경유하여, 외부 메모리(107)로부터 조합 모듈(605)을 RAM(103)에 선두 어드레스(1200)부터 조합한다. 이 때, RAM(103)의 모듈 기록 상태는 도 7(a)부터 도 8(b)로 변화한다. 그리고, 단계 706으로 이행하고, 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 엔트리 등록 명령을 발행하면, CPU(102)는 엔트리 등록 프로그램(120)을 실행한다. 그리고 CPU(102)는 조합 모듈(605)의 엔트리를 엔트리 테이블(109)에 추가 등록한다. 이 때, 엔트리 테이블의 상태는 도 10(a)부터 도 10(e)로 변화한다.
이상의 순서에 의해, 외부 메모리(107)의 모듈(605)을 RAM(103)에 조합할 수 있다.
(실시 형태 3)
이하, 본 발명의 제3 실시 형태에 관해서 도면을 참조하면서 설명한다. 도 11은 본 실시 형태의 장치의 구성을 나타내는 것이다. 도 11에 도시하는 바와 같이, 본 실시 형태의 장치는 실시 형태 2의 장치의 구성을 나타내는 도 6의 RAM(103)에서 엔트리 테이블(109)을 삭제하고, RAM(103)에 2개의 테이블과 1개의 영역을 추가하여, ROM(104)에 2개의 프로그램을 추가한 것이다.
RAM(103)에 추가하는 테이블은 우선, 압축된 모듈(이하, 「압축 모듈」이라고 한다)의 엔트리를 배열한 압축 모듈 엔트리 테이블(131)이다. 다음에, 압축 모듈을 인터프리터 실행 프로그램이 해석하여, 실행할 수 있도록 신장시킨 모듈(이하, 「실행 모듈」이라고 한다)의 엔트리를 배열한 실행 모듈 엔트리 테이블(130)이다. RAM(103)에 추가하는 영역은 압축 모듈을 보존하는 압축 모듈 보존 영역(132)이다.
ROM(104)에 추가하는 프로그램은 우선 실행 모듈을 압축하여, 압축 모듈 보존 영역에 보존하는 처리를 행하는 모듈 압축 프로그램(123), 그리고, RAM(103)내의 압축 모듈을 신장시켜, 소프트 웨어 기억 영역(108)에 기억하는 처리를 행하는 모듈 신장 프로그램(124)이다. 또한, 일반적인 코드의 압축 신장 방식에, LZ(Lempel-Ziv) 압축, Huffman 압축 등이 있다. 본 발명에서의 모듈 압축 및 신장에는 임의의 압축 신장 방식을 이용할 수 있다.
본 실시 형태에 관한 장치의 동작 중, 실시 형태 1과 동일한 부분에 관해서는 설명을 생략한다. 도 12 및 도 13은 외부 메모리(107)에 기록된 소프트 웨어의 모듈 구성 및 RAM(103)의 모듈의 기록 상태를 나타내고, 1001부터 1006까지는 모듈이다. 또한, 도 12 및 도 13에서, 도 11과 동일한 참조 부호를 이용한 것에 관해서는 설명을 생략한다. 도 14는 외부 메모리(107)에 기록된 소프트 웨어의 모듈 중, 임의의 모듈을 RAM(103)에 조합하는 순서를 나타낸다. 도 15는 외부 메모리(107)에 기록된 소프트 웨어의 모듈 중, 임의의 모듈을 RAM(103)에 조합할 때의 실행 모듈 엔트리 테이블(130)과 압축 모듈 엔트리 테이블(131)의 천이를 나타낸다. 실행 모듈 엔트리 테이블(130), 압축 모듈 엔트리 테이블(131) 모두 엔트리는 등록 NO., 모듈명, 모듈 선두 어드레스, 모듈 사이즈로 구성된다. 또한, 압축 모듈 엔트리 테이블(131)의 엔트리에서의 모듈 사이즈는 압축되기 전의 모듈 사이즈로 한다. 도 15에서 수치는 모두 10진수 표기로 하고, 모듈 사이즈의 단위는 킬로 바이트로 했다.
다음에, 외부 메모리(107)에 기록된 소프트 웨어의 조합 모듈(1005)을 RAM(103)에 조합하는 순서의 일구체예를, 도 11∼도 15를 이용하여 설명한다. 여기서는, RAM(103)에서의 모듈의 기록 상태가 도 12(a), 실행 모듈 엔트리 테이블(130)이 도 15(a), 압축 모듈 엔트리 테이블(131)이 도 15(g)에 도시하는 대로인 것으로 한다. 또한, 모듈(1002)과 모듈(1004)은 불필요 모듈, 조합 모듈(1005)의 사이즈는 300킬로 바이트인 것으로 한다.
단계 1101에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 조합하는 모듈 정보 기억 명령을 발행하면, CPU(102)는 조합 모듈명(모듈(1005))과, 조합 모듈의 사이즈(300킬로 바이트)와, 불필요 모듈명(모듈(1002, 1004))을 RAM(103)의 조합 모듈 정보 테이블(115)에 기억시킨다.
다음에, 단계 1102에서 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 조합 위치 조사 명령을 발행하면, CPU(102)는 조합 위치 조사 프로그램(121)을 실행한다. 그리고, CPU(102)는 조합 모듈 정보 테이블(115)의 정보로부터 대상 엔트리의 모듈이 불필요 모듈인지 여부를 판단한다. 또한, 처음으로 단계 1102를 실행할 때의 대상 엔트리는 등록 NO.1의 엔트리로 한다. 여기서, 대상 엔트리의 모듈(1001)은 연속 장치(100)에서 실행되므로, 압축한 후에 압축 모듈 보존 영역에 보존할 필요가 있다. 따라서, 단계 1103으로 이행한다.
단계 1103에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 압축 명령을 발행하면, CPU(102)는 모듈 압축 프로그램(123)을 실행한다. 그리고, CPU(102)는 대상 엔트리의 모듈(1001)을 압축하여, 압축 모듈 보존 영역(132)에 보존한다. 이 때, RAM(103)의 모듈 기록 상태는 도 12(a)부터 도 12(b)로 변화한다. 또한, 도 12(b)의 1001’는 모듈(1001)의 압축 모듈이다.
다음에, 단계 1104에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 압축 모듈 엔트리 등록 명령을 발행하면, CPU(102)는 엔트리 등록 프로그램(120)을 실행한다. 그리고 CPU(102)는 압축 모듈(1001’)의 엔트리를 압축 모듈 엔트리 테이블(131)에 추가 등록한다. 이 때, 압축 모듈 엔트리 테이블(131)의 상태는 도 15(g)부터 도 15(h)로 변화한다.
다음에, 단계 1106에서는 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 조합 위치 조사 명령을 발행하면, CPU(102)는 조합 위치 조사 프로그램(121)을 실행한다. 그리고, CPU(102)는 실행 모듈 엔트리 테이블(130)로부터, 대상 엔트리가 최종 엔트리인지 여부를 판단한다. 여기서, 등록 NO.1는 최종 엔트리가 아니므로, 단계 1105로 이행한다. 단계 1105에서 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 엔트리 소거 명령을 발행하면, CPU(102)는 엔트리 소거 프로그램(122)을 실행한다. 그리고, CPU(102)는 대상 엔트리를 실행 모듈 엔트리 테이블(130)로부터 소거한다. 이 때, 실행 모듈 엔트리 테이블(130)의 상태는 도 15(a)부터 도 15(b)로 변화한다.
다음에, 단계 1107에서는 대상 엔트리를 변경한다. 변경 방법은 실행 모듈 엔트리 테이블(130)의 엔트리 NO.1을 새롭게 대상 엔트리로 한다. 대상 엔트리 변경후, 다시 단계 1102를 실행한다. 단계 1102에서, 대상 엔트리 NO.1의 모듈(1002)은 조합 모듈 정보 테이블(115)의 정보로부터, 불필요 모듈로 판단되고, 압축한 후에 압축 모듈 보존 영역에 보존될 필요가 없으므로, 단계 1106으로 이행한다.
단계 1106에서 CPU(102)는 실행 모듈 엔트리 테이블(130)로부터 대상 엔트리가 최종 엔트리인지 여부를 판단한다. 여기서, 등록 NO.1는 최종 엔트리가 아니므로, 단계 1105로 이행한다. 단계 1105에서 CPU(102)는 대상 엔트리를 실행 모듈 엔트리 테이블(130)로부터 소거한다. 이 때, 실행 모듈 엔트리 테이블(130)의 상태는 도 15(b)부터 도 15(c)로 변화한다.
다음에, 단계 1107에서, 대상 엔트리를 변경한다. 실행 모듈 엔트리 테이블(130)의 엔트리 NO.1을 새롭게 대상 엔트리로 한다. 대상 엔트리 변경후, 다시 단계 1102를 실행한다. 단계 1102에서 CPU(102)는 조합 모듈 정보테이블(115)의 정보로부터 대상 엔트리의 모듈이 불필요 모듈인지 여부를 판단한다. 여기서, 대상 엔트리의 모듈(1003)은 연속 장치(100)에서 실행되므로, 압축한 후에 압축 모듈 보존 영역에 보존할 필요가 있다. 따라서, 단계 1103으로 이행한다. 단계 1103에서 CPU(102)는 대상 엔트리의 모듈(1003)을 압축하여, 압축 모듈 보존 영역(132)에 보존한다. 이 때, RAM(103)의 모듈 기록 상태는 도 12(b)부터 도 13(a)로 변화한다. 또한, 도 13(a)의 1003’는 모듈(1003)의 압축 모듈이다.
다음에, 단계 1104에서 CPU(102)는 압축 모듈(1003’)의 엔트리를 압축 모듈 엔트리 테이블(131)에 추가 등록한다. 이 때, 압축 모듈 엔트리 테이블(131)의 상태는 도 15(h)부터 도 15(i)로 변화한다.
다음에, 단계 1106에서 CPU(102)는 실행 모듈 엔트리 테이블(130)로부터 대상 엔트리가 최종 엔트리인지 여부를 판단한다. 여기서, 등록 NO.1는 최종 엔트리가 아니므로, 단계 1105로 이행한다. 단계 1105에서 CPU(102)는 대상 엔트리를 실행 모듈 엔트리 테이블(130)로부터 소거한다. 이 때, 실행 모듈 엔트리 테이블(130)의 상태는 도 15(c)부터 도 15(d)로 변화한다.
다음에, 단계 1107에서 대상 엔트리를 변경한다. 실행 모듈 엔트리 테이블(130)의 엔트리 NO.1을 새롭게 대상 엔트리로 한다. 대상 엔트리 변경후, 다시 단계 1102를 실행한다. 단계 1102에서, 대상 엔트리 NO.1의 모듈(1004)은 불필요 모듈이므로, 단계 1106으로 이행한다.
단계 1106에서 CPU(102)는 실행 모듈 엔트리 테이블(130)로부터 대상 엔트리가 최종 엔트리인지 여부를 판단한다. 여기서, 등록 N0.1은 최종 엔트리이므로,단계 1110으로 이행한다.
단계 1110에서 CPU(102)는 대상 엔트리를 실행 모듈 엔트리 테이블(130)로부터 소거한다. 이 때, 실행 모듈 엔트리 테이블(130)의 상태는 도 15(d)부터 도 15(e)로 변화한다.
다음에, 단계 1108에서 CPU(102)는 조합 모듈(1005)을 RAM(103)에 조합하는 선두 어드레스를 통신 수단(110) 경유로 시스템 제어 마이크로 컴퓨터(105)에 통지한다. 조합 모듈(1005)의 선두 어드레스는 소프트 웨어 기억 영역(108)의 선두 즉 0으로 된다. 그리고, 시스템 제어 마이크로 컴퓨터(105)는 통신 수단(110)을 경유하여, 조합 모듈(1005)을 외부 메모리(107)로부터 RAM(103)에 선두 어드레스(0)부터 조합한다. 이 때, RAM(103)의 모듈 기록 상태는 도 13(a)부터 도 13(b)로 변화한다.
그리고, 단계 1109로 이행하여, 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 엔트리 등록 명령을 발행하면, CPU(102)는 엔트리 등록 프로그램(120)을 실행한다. 그리고, CPU(102)는 조합 모듈(1005)의 엔트리를 실행 모듈 엔트리 테이블(130)에 추가 등록한다. 이 때, 엔트리 테이블의 상태는 도 15(e)부터 도 15(f)로 변화한다.
그리고, 시스템 제어 마이크로 컴퓨터(105)가 CPU(102)에 모듈 신장 명령을 발행하면, CPU(102)가 모듈 신장 프로그램(124)을 실행한다. 그리고 압축 상태에서 압축 모듈 보존 영역(132)에 보존된, 연속 장치(100)에서 실행되는 압축 모듈(1001’)과 (1003’)은 시프트 기록 영역(108)으로 신장된다. 또한, 압축 모듈 엔트리 테이블(131)은 실행 모듈 엔트리 테이블(130)과 마찬가지로 압축 모듈을 관리하는데 유효하다.
실시 형태 1, 실시 형태 2, 실시 형태 3과 같은 장치에 의하면, 소프트 웨어를 모듈 단위로 기록할 수 있으므로, 장치에서 실행되는 모듈을 필요한 타이밍에서 RAM(103)에 기록할 수 있다. 또한, 소프트 웨어를 모듈 단위로 RAM(103)로부터 소거할 수 있으므로, 한번 실행한 후에 불필요해진 모듈을 RAM(103)로부터 소거할 수 있어, RAM(103)의 사용 용량을 최소한으로 억제할 수 있다. 또한, 외부 메모리(107)에 기록된 소프트 웨어의 모든 모듈을 RAM(103)에 기록할 필요가 없으므로, 소프트 웨어의 사이즈가 시스템에서 정해진 RAM(103)에서의 소프트 웨어의 영역 사이즈를 넘어는 안된다는 제한을 두지않고 개발을 추진할 수 있다.
또한, 본 실시 형태 3과 같은 장치에 의하면, 소프트 웨어를 RAM(103)내에서 압축, 신장시킴으로써, RAM(103)의 사용 용량을 최소한으로 억제할 수 있다. 또한, 본 실시 형태의 구체예로는 소프트 웨어를 모듈 단위로 RAM에 조합, RAM 내의 압축·신장도 모듈 단위로 행하는 장치 구성을 도시했는데, RAM에의 조합 및 RAM내에서의 압축·신장의 처리 단위는 소프트 웨어의 일부(예를 들면 모듈 단위)에 한정되지 않고, 소프트 웨어 전체여도 된다.
(실시 형태 4)
이하, 본 발명의 제4 실시 형태에 관해서 도면을 참조하면서 설명한다. 도 16은 본 실시 형태의 장치의 구성을 나타내는 것이다. 도 16에 도시하는 바와 같이, 본 실시 형태에 관한 장치는 실시 형태 3의 장치 구성을 나타내는 도 11의ROM(104)으로 부터 엔트리 등록 프로그램(120), 조합 위치 조사 프로그램(121), 엔트리 소거 프로그램(122), 모듈 압축 프로그램(123), 모듈 신장 프로그램(124)을 삭제하고, 장치(100)에 모듈 조합 수단(140)을 추가한 것이다.
모듈 조합 수단(140)은 예를 들면, LSI(101)과는 별개의 LSI에 의해 실현되고, 실시 형태 3에서의 CPU(102)가, 엔트리 등록 프로그램(120), 조합 위치 조사 프로그램(121), 엔트리 소거 프로그램(122), 모듈 압축 프로그램(123) 및 모듈 신장 프로그램(124)의 제어 하에서 실행한 처리와 동일한 처리를 실행하는 기능을 갖는 것이다.
즉, 모듈 조합 수단(140)으로서의 외부 부착 LSI와, CPU 내장형의 LSI(101)와의 조합에 의해, 본 발명에 관한 LSI 장치가 실현된다.
모듈 조합 수단(140)은 시스템 제어 마이크로 컴퓨터(105)와 상호 버스로 접속되고, RAM(103)에 액세스 가능하다. 본 실시 형태의 장치의 동작에서, 전술한 각 실시 형태와 동일한 부분에 관해서는 설명을 생략한다.
이하, 외부 메모리(107)에 기록된 소프트 웨어의 조합 모듈(모듈(1005))을 RAM(103)에 조합하는 순서의 일구체예를, 도 12∼도 16을 이용하여 설명한다. 여기서는, RAM(103)에서의 모듈의 기록 상태가 도 12(a), 실행 모듈 엔트리 테이블(130)이 도 15(a), 압축 모듈 엔트리 테이블(131)이 도 15(g)인 것으로 한다. 또한, 모듈(1002)과 모듈(1004)은 불필요 모듈, 조합 모듈(1005)의 사이즈는 300킬로 바이트인 것으로 한다.
단계 1101에서는 시스템 제어 마이크로 컴퓨터(105)가 모듈 조합 수단(140)에 조합 모듈 정보 기억 명령을 발행하면, 모듈 조합 수단(140)은 조합 모듈명(모듈(1005))과, 조합 모듈의 사이즈(300킬로 바이트)와, 불필요 모듈명(모듈(1002), (1004))을 RAM(103)의 조합 모듈 정보 테이블(115)에 기억시킨다.
다음에, 단계 1102에서는 시스템 제어 마이크로 컴퓨터(105)가 모듈 조합 수단(140)에 모듈 조합 위치 조사 명령을 발행하면, 모듈 조합 수단(140)은 조합 모듈 정보 테이블(115)의 정보로부터 대상 엔트리의 모듈이 불필요 모듈인지 여부를 판단한다. 또한, 처음으로 단계(1102)를 실행할 때의 대상 엔트리는 등록 NO.1로 한다. 여기서, 대상 엔트리의 모듈(1001)은 연속 장치(100)에서 실행되므로, 압축한 후에 압축 모듈 보존 영역에 보존할 필요가 있다. 따라서, 단계 1103으로 이행한다.
단계 1103에서는 시스템 제어 마이크로 컴퓨터(105)가 모듈 조합 수단(140)에 모듈 압축 명령을 발행하면, 모듈 조합 수단(140)은 대상 엔트리의 모듈(1001)을 압축하여, 압축 모듈 보존 영역(132)에 보존한다. 이 때, RAM(103)의 모듈 기록 상태는 도 12(a)부터 도 12(b)로 변화한다. 또한, 도 12(b)의 1001’는 모듈(1001)의 압축 모듈이다.
다음에, 단계 1104에서는 시스템 제어 마이크로 컴퓨터(105)가 모듈 조합 수단(140)에 압축 모듈 엔트리 등록 명령을 발행하면, 모듈 조합 수단(140)은 압축 모듈(1001’)의 엔트리를 압축 모듈 엔트리 테이블(131)에 추가 등록한다. 이 때, 압축 모듈 엔트리 테이블(131)의 상태는 도 15(g)부터 도 15(h)로 변화한다.
다음에, 단계 1106에서는 시스템 제어 마이크로 컴퓨터(105)가 모듈 조합수단(140)에 모듈 조합 위치 조사 명령을 발행하면, 모듈 조합 수단(140)은 실행 모듈 엔트리 테이블(130)로부터 대상 엔트리가 최종 엔트리인지 여부를 판단한다. 여기서, 등록 NO.1는 최종 엔트리가 아니므로, 단계 1105로 이행한다.
단계 1105에서는 시스템 제어 마이크로 컴퓨터(105)가 모듈 조합 수단(140)에 엔트리 소거 명령을 발행하면, 모듈 조합 수단(140)은 대상 엔트리를 실행 모듈 엔트리 테이블(130)로부터 소거한다. 이 때, 실행 모듈 엔트리 테이블(130)의 상태는 도 15(a)부터 도 15(b)로 변화한다.
다음에, 단계 1107에서는 대상 엔트리를 변경한다. 변경 방법은 실행 모듈 엔트리 테이블(130)의 엔트리 NO.1을 새롭게 대상 엔트리로 한다. 대상 엔트리 변경후, 다시 단계 1102를 실행한다. 단계 1102에서, 대상 엔트리 NO.1의 모듈(1002)은 조합 모듈 정보 테이블(115)의 정보로부터, 불필요 모듈이라고 판단되어, 압축한 후에 압축 모듈 보존 영역에 보존될 필요가 없으므로, 단계 1106으로 이행한다.
단계 1106에서 모듈 조합 수단(140)은 실행 모듈 엔트리 테이블(130)로부터 대상 엔트리가 최종 엔트리인지 여부를 판단한다. 여기서, 등록 NO.1는 최종 엔트리가 아니므로, 단계 1105로 이행한다.
단계 1105에서 모듈 조합 수단(140)은 대상 엔트리를 실행 모듈 엔트리 테이블(130)로부터 소거한다. 이 때, 실행 모듈 엔트리 테이블(130)의 상태는 도 15(b)부터 도 15(c)로 변화한다.
다음에, 단계 1107에서 대상 엔트리를 변경한다. 실행 모듈 엔트리테이블(130)의 엔트리 NO.1을 새롭게 대상 엔트리로 한다. 대상 엔트리 변경후, 다시 단계 1102를 실행한다. 단계 1102에서 모듈 조합 수단(140)은 조합 모듈 정보 테이블(115)의 정보로부터 대상 엔트리의 모듈이 불필요 모듈인지 여부를 판단한다. 여기서, 대상 엔트리의 모듈(1003)은 연속 장치(100)에서 실행되므로, 압축한 후에 압축 모듈 보존 영역에 보존할 필요가 있다. 따라서, 단계 1103으로 이행한다.
단계 1103에서 모듈 조합 수단(140)은 대상 엔트리의 모듈(1003)을 압축하여, 압축 모듈 보존 영역(132)에 보존한다. 이 때, RAM(103)의 모듈 기록 상태는 도 12(b)부터 도 13(a)으로 변화한다. 또한, 도 13(a)의 1003’는 모듈(1003)의 압축 모듈이다.
다음에, 단계 1104에서 모듈 조합 수단(140)은 압축 모듈(1003’)의 엔트리를 압축 모듈 엔트리 테이블(131)에 추가 등록한다. 이 때, 압축 모듈 엔트리 테이블(131)의 상태는 도 15(h)부터 도 15(i)로 변화한다.
다음에, 단계 1106에서 모듈 조합 수단(140)은 실행 모듈 엔트리 테이블(130)로부터 대상 엔트리가 최종 엔트리인지 여부를 판단한다. 여기서, 등록 NO.1는 최종 엔트리가 아니므로, 단계 1105로 이행한다.
단계 1105에서 모듈 조합 수단(140)은 대상 엔트리를 실행 모듈 엔트리 테이블(130)로부터 소거한다. 이 때, 실행 모듈 엔트리 테이블(130)의 상태는 도 15(c)부터 도 15(d)로 변화한다.
다음에, 단계 1107에서 대상 엔트리를 변경한다. 실행 모듈 엔트리테이블(130)의 엔트리 NO.1을 새롭게 대상 엔트리로 한다. 대상 엔트리 변경후, 다시 단계 1102를 실행한다. 단계 1102에서, 대상 엔트리 NO.1의 모듈(1004)은 불필요 모듈이므로, 단계 1106으로 이행한다.
단계 1106에서 모듈 조합 수단(140)은 실행 모듈 엔트리 테이블(130)로부터 대상 엔트리가 최종 엔트리인지 여부를 판단한다. 여기서, 등록 NO.1는 최종 엔트리이므로, 단계 1110으로 이행한다.
단계 1110에서 모듈 조합 수단(140)은 대상 엔트리를 실행 모듈 엔트리 테이블(130)로부터 소거한다. 이 때, 실행 모듈 엔트리 테이블(130)의 상태는 도 15(d)부터 도 15(e)로 변화한다.
다음에, 단계 1108에서 모듈 조합 수단(140)은 조합 모듈(1005)을 RAM(103)에 조합하는 선두 어드레스를, 시스템 제어 마이크로 컴퓨터(105)에 통지한다. 조합 모듈(1005)의 선두 어드레스는 소프트 웨어 기억 영역(108)의 선두, 즉 0으로 된다. 그리고, 시스템 제어 마이크로 컴퓨터(105)는 통신 수단(110)을 경유하여, 조합 모듈(1005)을 외부 메모리(107)로부터 RAM(103)에 선두 어드레스 0부터 조합한다. 이 때, RAM(103)의 모듈 기록 상태는 도 13(a)부터 도 13(b)로 변화한다.
그리고, 단계 1109로 이행하여, 시스템 제어 마이크로 컴퓨터(105)가 모듈 조합 수단(140)에 엔트리 등록 명령을 발행하면, 모듈 조합 수단(140)은 조합 모듈(1005)의 엔트리를 실행 모듈 엔트리 테이블(130)에 추가 등록한다. 이 때, 엔트리 테이블의 상태는 도 15(e)부터 도 15(f)로 변화한다.
그리고, 시스템 제어 마이크로 컴퓨터(105)가 모듈 조합 수단(140)에 모듈신장 명령을 발행하면, 모듈 조합 수단(140)은 압축 상태에서 압축 모듈 보존 영역(132)에 보존된, 연속 장치(100)에서 실행되는 압축 모듈(1001’)과 (1003’)을 시프트 기록 영역(108)으로 신장한다. 또한, 압축 모듈 엔트리 테이블(131)은 실행 모듈 엔트리 테이블(130)과 마찬가지로 압축 모듈을 관리하는데 유효하다.
또, 상기의 구체예에서는 실시 형태 3의 장치에서의 ROM(104)으로부터 엔트리 등록 프로그램(120), 조합 위치 조사 프로그램(121), 엔트리 소거 프로그램(122), 모듈 압축 프로그램(123), 모듈 신장 프로그램(124)을 삭제하는 동시에, 이들 프로그램의 기능을 모듈 조합 수단(140)으로서의 외부 부착 LSI에서 실현하는 것으로 했다. 그러나, 이에 한정되지 않고, 실시 형태 1의 ROM(104)에서 엔트리 등록 프로그램(120) 및 조합 위치 조사 프로그램(121)을 삭제하고, 이들 프로그램의 기능을 모듈 조합 수단(140)으로서의 외부 부착 LSI로 실현하는 구성도 가능하다. 혹은, 실시 형태 2의 ROM(104)에서 엔트리 등록 프로그램(120), 조합 위치 조사 프로그램(121) 및 엔트리 소거 프로그램(122)을 삭제하고, 이들 프로그램의 기능을 모듈 조합 수단(140)으로서의 외부 부착 LSI로 실현하는 구성도 마찬가지로 가능하다.
실시 형태 4와 같은 장치에 의하면, 소프트 웨어를 모듈 단위로 기록할 수 있으므로, 장치에서 실행되는 모듈을 필요한 타이밍에서 RAM(103)에 기록할 수 있다. 또한, 소프트 웨어를 모듈 단위로 RAM(103)로부터 소거할 수 있으므로, 한번 실행한 후에 불필요해진 모듈을 RAM(103)로부터 소거할 수 있어, RAM(103)의 사용 용량을 최소한으로 억제할 수 있다. 또한, 소프트 웨어를 RAM(103)내에서 모듈 단위로 압축, 신장이 가능하므로, RAM(103)의 사용 용량을 최소한으로 억제할 수 있다. 또한, 외부 메모리(107)에 기록된 소프트 웨어의 모든 모듈을 RAM(103)에 기록할 필요가 없으므로, 소프트 웨어의 사이즈가 시스템으로 정해진 RAM(103)에서의 소프트 웨어용 영역 사이즈를 넘어는 안된다는 제한을 두지않고 개발을 추진할 수 있다.
또한, 실시 형태 1∼3과는 달리, 외부 메모리(107)로부터 RAM(103)에의 소프트 웨어의 조합 처리나, RAM(103) 내에서의 소프트 웨어의 압축 신장 처리 등을 LSI(101)의 외부 부착 LSI 등으로서 실현되는 모듈 조합 수단(140)으로 실행하므로, CPU(102)의 부담을 경감시킬 수 있다. 이에 따라, 조합 모듈을 RAM(103)에 조합하기 위한 소요 시간의 단축화도 도모할 수 있다.
(실시 형태 5)
이하, 본 발명의 제5 실시 형태에 관해서 도면을 참조하면서 설명한다. 도 17은 본 실시 형태의 광 디스크 장치의 구성을 나타내는 것이다. 도 17의 광 디스크 장치(1000)는 실시 형태 3의 장치 구성을 나타내는 도 11의 장치(100)에, 광 디스크 제어 수단(111), 기록 재생 헤드(112), 모터(113) 및 미디어 판별 수단(141)을 추가하고, 광 디스크(114)를 이용하여 기록 재생을 행하는 것이다.
광 디스크 제어 수단(111)은 LSI(101)로부터의 코맨드에 의해서 제어되고, 광 디스크(114)의 기록·재생을 행하는 레이저 파워를 결정하거나, 광 디스크(114)의 회전 속도나 헤드의 위치를 결정하기도 한다. 다음에, 기록 재생 헤드(112)는 광 디스크 제어 수단(111)에 의해서 제어되고, 레이저의 출력이나 광 디스크(114)의 재생 신호의 읽기를 행한다. 모터(113)는 광 디스크 제어 수단(111)에 의해서 제어되어, 광 디스크(114)를 회전시킨다. 미디어 판별 수단(141)은 광 디스크(114)의 종류(이하, 「미디어」라고 한다)를 판별한다. 또한, 시스템 제어 마이크로 컴퓨터(105)와 CPU(102)는 통신 수단(110)에 의해서 광 디스크 제어 수단(111)과 미디어 판별 수단(141)에 액세스 가능하다.
본 실시 형태의 광 디스크 장치의 동작을 도 17을 이용하여 설명한다. 우선, 시스템 제어 마이크로 컴퓨터(105)는 외부 메모리(107)에 기록된 광 디스크 장치의 제어를 실현하는 소프트 웨어의 모듈을, RAM(103)의 소프트 웨어 기억 영역(108)에 기록한다. 그리고, 시스템 제어 마이크로 컴퓨터(105)가 통신 수단(110)을 경유하여 CPU(102)에 인터프리터 실행 명령을 발행하면, CPU(102)는 ROM(104)에 기록되어 있는 인터프리터 실행 프로그램을 실행한다. 그리고, CPU(102)는 RAM(103)에 기록된 모듈을 해석하여, 실행한다. CPU(102)는 통신 수단(110)을 경유하여 광 디스크 제어 수단(111)에 대해 레지스터의 파라미터 설정, 코맨드의 발행, 상태의 취득을 행하여, 광 디스크의 기록 재생을 제어한다.
또한, 외부 메모리(107)에 기록된 소프트 웨어는 이하의 4개의 모듈로 구성되어 있다. 우선, 미디어에 의존하지 않는 광 디스크 장치의 제어를 행하는 모듈(이하, 「공통 모듈」이라고 한다)이다. 다음에, 미디어의 기재(基材) 두께가 규정치 이상인지 규정치 미만인지의 판단(이하, 「기재 두께 판별」이라고 한다)을 행하는 모듈(이하, 「판별 모듈」이라고 한다)이다. 다음에, 기재 두께가 규정치 이상인 미디어의 광 디스크 장치의 제어를 행하는 모듈(이하, 「CD용 모듈」이라고한다)이다. 마지막에 기재 두께가 규정치 미만인 미디어의 광 디스크 장치의 제어를 행하는 모듈(이하, 「DVD용 모듈」이라고 한다)이다.
도 18은 외부 메모리(107)에 기록된 모듈인 공통 모듈, 판별 모듈, CD용 모듈, DVD용 모듈 중, 본 실시 형태의 광 디스크 장치에서, 기재 두께 판별 결과에 따라, CD용 모듈, 또는, DVD용 모듈을 RAM(103)에 기록하는 처리의 순서를 나타낸다. 이로부터, 도 18을 참조하여, 외부 메모리(107)에 기록된 모듈을 RAM(103)에 조합하는 순서를 설명한다. 또한, RAM(103)에는 미리 공통 모듈과 판별 모듈이 기록되어 있는 것으로 한다.
단계 1501에서는 시스템 제어 마이크로 컴퓨터(105)가 통신 수단(110)을 경유하여, CPU(102)에 인터프리터 실행 명령을 발행하면, CPU(102)는 ROM(104)에 기록되어 있는 인터프리터 실행 프로그램을 실행한다. 그리고, CPU(102)는 RAM(103)에 기록되어 있는 판별 모듈을 해석하여, 실행한다. 그리고, CPU(102)는 통신 수단(110)을 경유하여 미디어 판별 수단(141)을 동작시킴으로써 미디어 판별을 행한다. 미디어 판별 수단(141)은 미디어 판별이 종료하면, 통신 수단(110)을 경유하여 미디어 판별의 결과를 CPU(102)에 통지한다. CPU(102)는 통신 수단(110)을 경유하여 시스템 제어 마이크로 컴퓨터(105)에 미디어 판별의 결과를 통지한다.
다음에, 단계 1502에서는 시스템 제어 마이크로 컴퓨터(105)에 통지된 미디어 판별의 결과에서, 미디어의 기재 두께가 규정치 이상인 경우, 단계 1503으로 이행한다. 한편, 규정치 미만인 경우, 단계 1504로 이행한다.
단계 1503에서 시스템 제어 마이크로 컴퓨터(105)는 실시 형태 1, 또는 실시 형태 2, 또는 실시 형태 3기재의 모듈 조합 순서를 이용하여, 외부 메모리(107)에 기록되어 있는 CD용 모듈을 RAM(103)에 조합한다.
단계 1504에서는 단계 1503과 마찬가지로, 시스템 제어 마이크로 컴퓨터(105)는 외부 메모리(107)에 기록되어 있는 DVD용 모듈을 RAM(103)에 조합한다.
이상과 같은 광 디스크 장치에 의하면, 장치에서 제어하는 미디어에 따른 소프트 웨어의 모듈을 RAM(103)에 기록할 수 있으므로, 광 디스크 장치에서 제어 가능한 전체 미디어에 따른 소프트 웨어의 모듈을 RAM에 기록하는 종래의 장치에 비해, RAM(103)의 사용 용량을 억제할 수 있다. 또한, 외부 메모리(107)에 기록되어 있는 광 디스크의 제어에 필요한 소프트 웨어의 전체를 RAM(103)에 기록할 필요가 없으므로, 소프트 웨어의 사이즈가 시스템에서 정해진 RAM(103)에서의 소프트 웨어용 영역 사이즈를 넘어서는 안된다는 제한을 두지않고 광 디스크 장치의 개발을 추진할 수 있다.
또한, 본 실시 형태에서, 판별 모듈을 데이터의 기록이 가능한 미디어인지 재생 전용의 미디어인지 여부의 판별을 행하는 모듈로 하고, CD용 모듈을 데이터의 기록이 가능한 미디어의 광 디스크 장치의 제어를 행하는 모듈로 하고, DVD용 모듈을 재생 전용 미디어의 광 디스크 장치의 제어를 행하는 모듈로 해도, 동일한 효과가 얻어진다. 또한, 판별 모듈을 장치에 미디어가 장착되어 있는지를 판별하는 모듈로 하고, CD용 모듈을 장치에 미디어가 장착되어 있을 때의 광 디스크 장치의 제어를 행하는 모듈로 하고, DVD용 모듈을 장치에 미디어가 장착되어 있지 않을 때의광 디스크 장치의 제어를 행하는 모듈로 해도, 동일한 효과가 얻어진다.
또, 본 실시 형태에서는 실시 형태 3의 장치의 구성을 나타내는 도 11의 장치(100)에 광 디스크 제어 수단(111), 기록 재생 헤드(112), 모터(113) 및 미디어 판별 수단(141)을 추가하여, 광 디스크(114)를 이용하여 기록 재생을 행하는 광 디스크 장치(1000)를 예시했는데, 실시 형태 3의 장치 대신에, 실시 형태 1, 2, 4의 각각에서 설명한 장치를 이용한 구성으로 해도 된다.
(실시 형태 6)
이하, 본 발명의 제6 실시 형태에 대해 도면을 참조하면서 설명한다. 도 19는 본 실시 형태의 광 디스크 장치의 구성을 나타내는 것이다. 도 19에 도시하는 바와 같이, 본 실시 형태의 광 디스크 장치는 실시 형태 5의 장치 구성을 나타내는 도 17의 광 디스크 장치(1000)로부터 미디어 판별 수단(141)을 삭제하고, 광 디스크 제어의 처리가 종료했는지 여부를 판단하는 처리 종료 판단 수단(142)을 추가한 것이다. 또한, 시스템 제어 마이크로 컴퓨터(105)와 CPU(102)는 통신 수단(110)에 의해 광 디스크 제어 수단(111)과 처리 종료 판단 수단(142)에 액세스 가능하다.
본 실시 형태의 광 디스크 장치의 동작 중, 실시 형태 5와 동일한 부분에 대해서는 설명은 생략한다. 외부 메모리(107)에 기록된 소프트 웨어는 광 디스크 제어의 처리를 실현하는 다수의 모듈로 구성되어 있다(이하, 개개의 모듈을 「처리 모듈」이라고 한다). 또한, 1개의 처리 모듈은 1개의 처리를 실현하는 것으로 한다.
도 20은 외부 메모리(107)에 기록된 소프트 웨어의 처리 모듈 중, 본 실시 형태의 광 디스크 장치(1000)에서 시스템 제어 마이크로 컴퓨터(105)에 지정된 처리 모듈을 RAM(103)에 기록하는 순서를 나타낸다. 이로부터, 도 20을 참조하여, 처리 종료 판단 수단(142)의 판단 결과에 따라, 외부 메모리(107)에 기록된 처리 모듈을 RAM(103)에 조합하는 순서를 설명한다. 또한, RAM(103)에는 미리 1개 이상의 처리 모듈이 기록되는 것으로 한다.
단계 1701에서는 시스템 제어 마이크로 컴퓨터(105)가 통신 수단(110)을 경유하여 CPU(102)에 인터프리터 실행 명령을 발행하면, CPU(102)는 ROM(104)에 기록되어 있는 인터프리터 실행 프로그램을 실행한다. 그리고, CPU(102)는 RAM(103)에 기록되어 있는 처리 모듈 중, 시스템 제어 마이크로 컴퓨터(105)에 지정된 처리 모듈을 해석하여, 실행한다. CPU(102)는 통신 수단(110)을 경유하여 광 디스크 제어 수단(111)을 동작시킴으로써, 처리를 행한다. 처리 중, 처리 종료 판단 수단(142)은 광 디스크 제어 수단(111)에 대해 처리가 종료했는지 항상 감시하고 있다.
다음에, 단계 1702에서 처리 종료 판단 수단(142)은 처리가 종료한 것으로 판단하면, 통신 수단(110)을 경유하여, 처리가 종료한 것을 CPU(102)에 통지한다. CPU(102)는 통신 수단(110)을 경유하여 시스템 제어 마이크로 컴퓨터(105)에 처리가 종료한 것을 통지한다.
다음에, 단계 1703에서 시스템 제어 마이크로 컴퓨터(105)는 실시 형태 1, 실시 형태 2, 또는 실시 형태 3기재의 모듈 조합 순서를 이용하여, 외부 메모리(107)에 기록되어 있는 처리 모듈 중, 시스템 제어 마이크로 컴퓨터(105)에지정된 처리 모듈을 통신 수단(110)을 경유하여 RAM(103)에 조합한다.
이상과 같은 광 디스크 장치에 의하면, 광 디스크 제어의 처리를 실현시키는 소프트 웨어를 각종 처리에 따른 모듈 단위로 RAM(103)에 기록할 수 있으므로, 전체 처리 모듈을 RAM에 기록한 종래의 장치에 비교하면, RAM(103)의 사용 용량을 최소한으로 억제할 수 있다. 또한, 외부 메모리(107)에 기록되어 있는 광 디스크의 제어에 필요한 소프트 웨어 전체를 RAM(103)에 기록할 필요가 없으므로, 소프트 웨어의 사이즈가 RAM(103)에서의 소프트 웨어용의 영역 사이즈를 넘어서는 안된다는 제한을 두지않고 광 디스크 장치의 개발을 추진할 수 있다.
(실시 형태 7)
이하, 본 발명의 제7 실시 형태에 관해서 도면을 참조하면서 설명한다. 도 21은 본 실시 형태의 광 디스크 장치의 구성을 나타내는 것이다. 도 21에 도시하는 바와 같이, 본 실시 형태에 관한 광 디스크 장치는 실시 형태 5의 장치의 구성을 나타내는 도 17의 광 디스크 장치(1000)로부터 미디어 판별 수단(141)을 삭제하여, 본 실시 형태의 광 디스크 장치에서의 동작 모드의 변화를 관리하는 동작 모드 관리 수단(143)을 추가한 것이다. 또한, 시스템 제어 마이크로 컴퓨터(105)와 CPU(102)는 통신 수단(110)에 의해서 광 디스크 제어 수단(111)과 동작 모드 관리 수단(143)에 액세스 가능하다.
본 실시 형태의 광 디스크 장치의 동작 중, 실시 형태 5와 동일한 부분에 관해서는 설명을 생략한다. 외부 메모리(107)에 기록된 소프트 웨어는 광 디스크 장치에서, 각 동작 모드 시의 제어를 실현하는 다수의 모듈로 구성되어 있다(이하,개개의 모듈을 「동작 모드 모듈」이라고 한다). 외부 메모리(107)에는 이하의 4개의 동작 모듈이 기록되어 있는 것으로 한다. 우선, 활동적 상태의 제어를 실현하는 모듈(이하, 「액티브 모듈」이라고 한다)이다. 다음에, 비활동적 상태의 제어를 실현하는 모듈(이하, 「슬립(sleep) 모듈」이라고 한다)이다. 다음에, 대기 상태의 제어를 실현하는 모듈(이하, 「대기 모듈」이라고 한다)이다. 마지막에, 아이들 상태의 제어를 실현하는 모듈(이하, 「아이들 모듈」이라고 한다)이다.
도 22는 외부 메모리(107)에 기록된 액티브 모듈, 슬립 모듈, 대기 모듈, 아이들 모듈 중, 시스템 제어 마이크로 컴퓨터(105)에 지정된 동작 모드 모듈을, RAM(103)에 기록하는 순서를 나타낸다. 또한, RAM(103)에는 미리 1개 이상의 모듈이 기록되어 있는 것으로 한다.
이로부터, 도 22를 참조하여, 동작 모드 관리 수단(143)에 의해 관리되는 동작 모드의 변화에 의해, 시스템 제어 마이크로 컴퓨터(105)가 지정하는 모듈을 RAM(103)에 조합하는 방법을 설명한다.
단계 1901에서는 시스템 제어 마이크로 컴퓨터(105)가 통신 수단(110)을 경유하여 CPU(102)에 인터프리터 실행 명령을 발행하면, CPU(102)는 ROM(104)에 기록되어 있는 인터프리터 실행 프로그램을 실행한다. 그리고, CPU(102)는 RAM(103)에 기록되어 있는 동작 모드 모듈 중, 시스템 제어 마이크로 컴퓨터(105)에 지정된 동작 모드 모듈을 해석하여, 실행한다. CPU(102)가 시스템 제어 마이크로 컴퓨터(105)에 지정된 동작 모드 모듈을 실행하고 있는 동안, 동작 모드 관리 수단(143)은 통신 수단(110)을 경유하여, 시스템 제어 마이크로 컴퓨터(105)에 대해 동작 모드가 변화했는지 여부를 항상 감시한다.
다음에, 단계 1902에서 동작 모드 관리 수단(143)은 동작 모드가 변화했다고 판단하면, 통신 수단(110)을 경유하여 처리가 종료한 것을 시스템 제어 마이크로 컴퓨터(105)에 통지한다.
다음에, 단계 1903에서 시스템 제어 마이크로 컴퓨터(105)는 실시 형태 1, 실시 형태 2, 또는, 실시 형태 3기재의 모듈 조합 순서를 이용하여, 외부 메모리(107)에 기록되어 있는 동작 모드 모듈 중, 시스템 제어 마이크로 컴퓨터(105)에 지정된 동작 모드 모듈을 통신 수단(110)을 경유하여, RAM(103)에 조합한다.
이상과 같은 광 디스크 장치에 의하면, 동작 모드의 제어를 실현시키는 소프트 웨어를, 동작 모드에 따른 모듈 단위로 RAM(103)에 기록할 수 있으므로, 전체 동작 모드 모듈을 RAM에 기록한 종래의 장치에 비교하면, RAM(103)의 사용 용량을 억제할 수 있다. 또한, 외부 메모리(107)에 기록된 광 디스크의 제어에 필요한 소프트 웨어 전체를 RAM(103)에 기록할 필요가 없으므로, 소프트 웨어의 사이즈가 RAM(103)에서의 소프트 웨어용 영역 사이즈를 넘어는 안된다는 제한을 두지않고 광 디스크 장치의 개발을 추진할 수 있다. 또한, 슬립 모드 시에, RAM(103)에 기록되어 있는 모듈을 재생할 필요가 있는데, 본 실시 형태와 같이 동작 상태마다 모듈을 RAM(103)에 조합함으로써, 슬립 모드시의 메모리의 재생을, 슬립 모듈에 관해서만 행하면 되므로, 저소비 전력으로 이어진다.
(실시 형태 8)
이하, 본 발명의 제8 실시 형태에 관해서 도면을 참조하면서 설명한다. 본 실시 형태의 LSI 및 장치의 구성은 실시의 형태 2와 마찬가지로 도 6으로 도시되는데, ROM(104)에 내장되는 프로그램의 구체적인 동작이 실시의 형태 2와는 약간 다르다. 본 실시의 형태에서는 LSI 내장의 CPU만으로 불필요 모듈을 LSI로부터 소거하는 순서에 관해서 설명한다.
본 실시 형태의 LSI 및 장치의 동작 중, 실시 형태 2와 동일한 부분에 관해서는 설명을 생략한다. 도 23, 도 24, 도 25는 외부 메모리(107)에 기록된 소프트 웨어의 모듈 구성 및 RAM(103)의 모듈의 기록 상태를 나타내고, 601로부터 606까지는 모듈이다. 또한, 도 23, 도 24, 도 25에서, 도 6과 동일한 참조 부호를 붙인 것에 관해서는 설명을 생략한다. 도 26, 도 27, 도 28은 외부 메모리(107)에 기록된 소프트 웨어의 모듈 중, 임의의 모듈을 RAM(103)으로부터 소거하는 순서를 나타낸다. 도 29는 외부 메모리(107)에 기록된 소프트 웨어 모듈 중, 임의의 모듈을 RAM(103)으로부터 소거할 때의 엔트리 테이블(109)의 천이를 나타낸다. 구체적으로 도 23, 도 24, 도 25, 도 29에 관해서는 RAM(103)에 모듈(601), 모듈(602), 모듈(603), 모듈(604)이 조합되는 상태에서, 모듈(602)을 소거하는 경우의 천이에 관해서 기재하고 있다. 도 29에 도시하는 엔트리의 구성은 실시 형태 2에서의 도 10과 동일하므로, 설명을 생략한다.
이로부터, RAM(103)에 조합되었지만, 불필요하게 된 소프트 웨어 모듈(602)을, RAM(103)로부터 소거하는 순서의 일구체예에 관해서, 도 23∼도 29를 이용하여 설명한다. 여기서는, 최초 RAM(103)에서의 모듈의 기록 상태가 도 23, 엔트리 테이블(109)의 내용이 도 29(a)인 것으로 한다. 시스템 제어 마이크로 컴퓨터(105)가 LSI(101)에 불필요 모듈 소거 명령(소거 대상은 모듈(602))을 발행하면, CPU(102)는 도 23에서 도시한 플로우의 처리를 행하므로, 그 흐름을 다음에 설명한다.
우선, 단계 2701에서는 불필요 모듈명을 취득한다. 여기서는 모듈(602)이라는 정보를 취득한다.
다음 단계 2702에서 엔트리 테이블의 최초의 엔트리를 처리 대상의 엔트리로 한다. 여기서는 엔트리 테이블(109)의 최초 상태가 도 29(a)이므로, 등록 NO.1(모듈 601)이 처리 대상의 엔트리가 된다.
다음 단계 2703에서 처리 대상의 엔트리가 불필요 모듈인지 여부를 판정한다. 여기서는 등록 NO.1의 모듈(601)은 불필요 모듈이 아니므로, NO 쪽으로 진행한다.
다음 단계 2705에서 대상 엔트리를 다음 엔트리로 갱신한다. 여기서는 등록 NO.1의 다음 엔트리이므로, 등록 NO.2의 엔트리(모듈(602))로 갱신한다.
다음 단계 2706에서 엔트리 테이블의 최후의 엔트리를 처리했는지 여부를 판정한다. 여기서는, 아직 등록 NO.1밖에 처리하지 않고 있으므로, NO쪽으로 진행한다.
다음 단계 2703에서 처리 대상의 엔트리가 불필요 모듈인지 여부를 판정한다. 여기서는, 등록 NO.2의 모듈(602)은 불필요 모듈이므로, YES쪽으로 진행한다.
다음 단계 2704에서 대상 엔트리를 엔트리 테이블(109)로부터 소거한다.여기서, 등록 NO.2의 엔트리는 소거된다. 그 시점에서, 엔트리 테이블(109)은 도 29(b)와 같이 된다. 본 실시 형태의 설명에서 엔트리가 소거된 경우에는 즉시 이후의 엔트리가 먼저 채워지는 것으로 하는데, 예를 들면 각 엔트리에 플래그 정보를 갖게 하는 등, 해당하는 엔트리가 소거된 것을 파악할 수 있도록 하면, 즉시 엔트리를 먼저 채우지 않아도 지장없다.
다음 단계 2705에서 대상 엔트리를 다음 엔트리로 갱신한다. 여기서는 등록 NO.2의 다음 엔트리인데, 최초의 등록 NO.2의 엔트리가 소거되어, 엔트리 테이블(109)이 도 29(b)의 상태로 되어 있으므로, 다음 엔트리는 등록 NO.2(모듈(603))로 된다.
다음 단계 2706에서, 엔트리 테이블의 최후의 엔트리를 처리했는지 여부를 판정한다. 여기서는, 아직 등록 NO.1과(도 29(a)의 시점에서의) 등록 NO.2밖에 처리하고 있지 않으므로, NO쪽으로 진행한다.
다음 단계 2703에서 처리 대상의 엔트리가 불필요 모듈인지 여부를 판정한다. 여기서는, (도 29(b)의 시점에서의) 등록 NO.2의 모듈(603)은 불필요 모듈이 아니므로, NO쪽으로 진행한다.
다음 단계 2705에서 대상 엔트리를 다음 엔트리로 갱신한다. 여기서는 등록 NO.2의 다음 엔트리이므로 등록 NO.3의 엔트리(모듈(604))로 갱신한다.
다음 단계 2706에서 엔트리 테이블의 최후의 엔트리를 처리했는지 여부를 판정한다. 여기서는, 아직(도 29(b)의 시점에서의) 등록 NO.2밖에 처리하고 있지 않으므로, NO쪽으로 진행한다.
다음 단계 2703에서 처리 대상의 엔트리가 불필요 모듈인지 여부를 판정한다. 여기서는, (도 29(b)의 시점에서의) 등록 NO.3의 모듈(604)은 불필요 모듈이 아니므로, NO쪽으로 진행한다.
다음 단계 2705에서 대상 엔트리를 다음 엔트리로 갱신한다. 여기서, 등록 NO.3의 다음 엔트리는 존재하지 않으므로, 대상 엔트리를 부재(不在)로 갱신한다. 구체적으로는 존재하지 않는 등록 NO.로 하는 등인데, 예를 들면, 다음 등록 NO.4(존재하지 않는 엔트리)로 갱신하는, 또는 부재를 나타내는 등록 NO.을 미리 정해 두고, 그 값으로 갱신하는 등을 행한다.
다음 단계 2706에서 엔트리 테이블의 최후의 엔트리를 처리했는지 여부를 판정한다. 여기서는, (도 29(b)의 시점에서의) 등록 NO.3라는 최후의 엔트리를 처리하였으므로, YES쪽으로 진행하여, 도 26의 처리 플로우를 종료한다.
이상의 처리를 행함으로써, RAM(103)으로부터 필요에 따라 불필요한 모듈을 소거할 수 있다. 또한, 상기 기술의 다른 실시형태에서 도시한 바와같이 필요한 모듈을(후에) 조합하는 것도 가능하다. 이에 따라, LSI의 동작중이라도, 그 시점에서 필요한 모듈을 취사 선택함으로써, LSI에서 동작시키는 프로그램의 총 용량에 비해 RAM(103)의 메모리 사용 용량을 삭감시킬 수 있다.
또한, 불필요한 모듈을 소거했을 때, RAM(103) 중에 불연속인 빈 영역이 발생하여 메모리 이용 효율이 내려가는 것을 막으므로, 현재 조합되어 있는 모듈군을 메모리상에서 재배치하도록 해도 된다. 이후, 이 때의 처리 순서의 구체예에 대해, 도 27을 이용하여 설명한다.
도 27은 도 26과 마찬가지로, 외부 메모리(107)에 기록된 소프트 웨어의 모듈 중, 임의의 모듈을 RAM(103)으로부터 소거하는 순서를 나타내고 있는데, 도 26에 대해 단계 27041을 더하고 있다. 다른 단계는 도 26과 동일하므로, 자세한 설명은 생략한다. 단계 27041은 대상 엔트리를 엔트리 테이블로부터 소거하는 단계 2704의 연속으로 실행되고, 그 처리 내용은 소거 엔트리의 다음 이후의 엔트리에 등록된 모듈 전체를, 소거 모듈의 사이즈만큼 이동하는 것이다. 이 처리를 행하면, 모듈(602)의 소거후에 도 24와 같이 모듈 격납 영역이 분단된 RAM(103)의 메모리 영역은 도 25와 같이 모듈 격납 영역이 연속하게 되고, 이후, 새로운 모듈을 추가할 때 등에, RAM(103)을 효율적으로 사용할 수 있게 된다.
도 28은 도 27의 단계 27041의 처리를 실현하는 처리 플로우의 일례이다. 단계 2901에서는 소거한 모듈의 다음 모듈 엔트리를 이동 모듈 엔트리로 한다. 지금까지의 예로 설명하면, 도 29(b)의 등록 NO.2의 엔트리가 된다.
다음 단계 2902에서, 이동 모듈 엔트리의 모듈 조합 위치를 소거한 모듈의 사이즈만큼 이동한다. 지금의 경우, 소거한 모듈(602)의 사이즈는 200킬로 바이트이므로, 등록 NO.2의 엔트리의 선두 어드레스란을 300(킬로 바이트)부터 200(킬로 바이트)만큼 감소시켜 100(킬로 바이트)로 갱신한다. 여기서, 통상은 지금의 예와 같이 메모리 어드레스가 작은 쪽으로 이동하는데, 메모리 어드레스가 큰 쪽부터 순서대로 모듈을 격납하는 메모리 맵의 경우에는 메모리 어드레스가 큰 쪽으로 이동하면 된다.
다음 단계 2903에서 이동 모듈 엔트리를(조금전 이동 처리한 모듈의) 다음엔트리, 즉, 등록 NO.3으로 갱신한다.
다음 단계 2904에서 이동 모듈 엔트리로서 최후의 엔트리를 처리했는지 여부를 판단한다. 만약 YES, 즉 최후의 엔트리의 처리까지 종료한 경우는 도 28의 처리 플로우를 종료한다. 또한, NO, 즉 아직 최후의 엔트리까지 처리가 종료하지 않은 경우는 단계 2902로 되돌아간다. 지금의 경우, 아직 등록 NO.3를 처리하고 있지 않으므로, 단계 2902로 되돌아간다.
이와 같이, 이후, 이동 모듈 엔트리로서 최후의 엔트리를 처리하기까지 단계 2902로부터 단계 2904를 반복한다. 이상에서 설명한 처리 플로우에서 도 27의 단계 27041의 처리를 실현할 수 있다. 이 처리 플로우를 행함으로써, 엔트리 테이블(109)은 도 29(b)부터 도 29(c)와 같이 된다. 도 29(b)의 상태로 존재한 어드레스(100)로부터 (300)까지의 단편화(斷片化)된 빈 영역이 도 29(c)에서는 없어지고, 이후, 새로운 모듈을 추가할 때 등에, RAM(103)을 효율적으로 사용할 수 있도록 되는 것을 알 수 있다.
이상과 같이 본 발명에 의하면, 외부 메모리에 기록된 소프트 웨어를 부분적으로 RAM에 조합함으로써, RAM의 사용 용량을 작게 억제한 CPU 내장형 LSI를 제공하는 동시에, 이를 이용함으로써, RAM의 기록 용량에 제약을 받지않고 광 디스크 장치를 개발·제공하는 것이 가능해진다.

Claims (15)

  1. CPU와, RAM과, 외부 메모리로부터 상기 RAM에의 소프트 웨어의 읽기를 모듈 단위로 제어하는 읽기 제어 수단을 구비하고,
    상기 RAM은 상기 외부 메모리로부터 모듈 단위로 읽어진 소프트 웨어를 기억하는 소프트 웨어 기억 영역과, 상기 소프트 웨어 기억 영역에 기억된 모듈의 위치 정보 및 사이즈 정보를 적어도 포함하는 엔트리(entry)를 기억하는 엔트리 기억 영역을 갖고,
    상기 읽기 제어 수단은 상기 RAM의 엔트리 기억 영역에 기억된 엔트리를 참조하여, 상기 외부 메모리로부터 상기 RAM의 소프트 웨어 기억 영역에 읽어들이는 모듈을 기억해야 할 위치를 결정하는 것을 특징으로 하는 CPU 내장형 LSI.
  2. 제 1항에 있어서, 상기 읽기 제어 수단이 상기 RAM의 소프트 웨어 기억 영역에 기억된 모듈 중 불필요한 모듈에 대응하는 엔트리를, 상기 RAM의 엔트리 기억 영역에서 소거하는 것을 특징으로 하는 CPU 내장형 LSI.
  3. 제 1항에 있어서, 상기 외부 메모리로부터 상기 RAM에의 소프트 웨어의 읽기를 제어하는 읽기 제어 프로그램을 적어도 격납한 ROM을 더 구비하고,
    상기 읽기 제어 수단은 상기 CPU가 상기 읽기 제어 프로그램을 실행함으로써 실현된 것을 특징으로 하는 CPU 내장형 LSI.
  4. 제 1항에 있어서, 상기 CPU 및 RAM이 1개의 LSI에 탑재되고, 상기 읽기 제어 수단이 상기 CPU 및 RAM이 탑재된 LSI의 외부에 접속된 별개의 LSI에 의해 실현된 것을 특징으로 하는 CPU 내장형 LSI.
  5. CPU와, RAM과, 외부 메모리로부터 상기 RAM에의 소프트 웨어의 읽기를 제어하는 읽기 제어 수단과, 소프트 웨어의 압축 및 신장을 제어하는 압축 신장 제어 수단을 구비하고,
    상기 RAM은 상기 소프트 웨어를 상기 CPU가 참조 가능한 형식으로 기억하는 실행 프로그램 기억 영역과, 상기 소프트 웨어의 적어도 일부를 압축된 형식으로 기억하는 압축 프로그램 기억 영역을 갖고,
    상기 압축 신장 제어 수단은 상기 읽기 제어 수단이 상기 외부 메모리로부터 상기 RAM에 소프트 웨어의 적어도 일부를 읽어들일 때는, 이미 상기 실행 프로그램 기억 영역에 읽어진 소프트 웨어의 적어도 일부를 압축하여 상기 압축 프로그램 기억 영역에 기억하고,
    상기 압축 신장 제어 수단은 상기 압축 프로그램 기억 영역에 기억된 소프트 웨어가 필요하게 된 경우에는 해당 소프트 웨어를 신장시켜 상기 실행 프로그램 기억 영역에 기억하는 것을 특징으로 하는 CPU 내장형 LSI.
  6. 제 5항에 있어서, 상기 외부 메모리로부터 상기 RAM에의 소프트 웨어의 읽기를 제어하는 읽기 제어 프로그램을 적어도 격납한 ROM을 더 구비하고,
    상기 읽기 제어 수단은 상기 CPU가 상기 읽기 제어 프로그램을 실행함으로써 실현된 것을 특징으로 하는 CPU 내장형 LSI.
  7. 제 5항에 있어서, 상기 CPU 및 RAM이 1개의 LSI에 탑재되고, 상기 읽기 제어 수단이 상기 CPU 및 RAM이 탑재된 LSI의 외부에 접속된 별개의 LSI에 의해 실현된 것을 특징으로 하는 CPU 내장형 LSI.
  8. CPU 및 RAM을 구비한 CPU 내장형 LSI와, 상기 CPU 내장형 LSI의 외부의 메모리로부터 상기 RAM에의 소프트 웨어의 읽기를 모듈 단위로 제어하는 읽기 제어 수단으로서 기능하는 읽기 제어용 LSI를 구비하고,
    상기 RAM은 상기 외부 메모리로부터 모듈 단위로 읽어진 소프트 웨어를 기억하는 소프트 웨어 기억 영역과, 상기 소프트 웨어 기억 영역에 기억된 모듈의 위치 정보 및 사이즈 정보를 적어도 포함하는 엔트리를 기억하는 엔트리 기억 영역을 갖고,
    상기 읽기 제어 수단은 상기 RAM의 엔트리 기억 영역에 기억된 엔트리를 참조하여, 상기 외부 메모리로부터 상기 RAM의 소프트 웨어 기억 영역에 읽어들이는 모듈을 기억해야 할 위치를 결정하는 것을 특징으로 하는 LSI 장치.
  9. CPU 및 RAM을 구비한 CPU 내장형 LSI와, 상기 CPU 내장형 LSI의 외부의 메모리로부터 상기 RAM에의 소프트 웨어의 읽기를 제어하는 읽기 제어 수단 및 소프트 웨어의 압축 및 신장을 제어하는 압축 신장 제어 수단으로서 기능하는 제어용 LSI를 구비하고,
    상기 RAM은 상기 소프트 웨어를 상기 CPU가 참조 가능한 형식으로 기억하는 실행 프로그램 기억 영역과, 상기 소프트 웨어의 적어도 일부를 압축된 형식으로 기억하는 압축 프로그램 기억 영역을 갖고,
    상기 압축 신장 제어 수단은 상기 읽기 제어 수단이 상기 외부 메모리로부터 상기 RAM에 소프트 웨어의 적어도 일부를 읽어들일 때는, 이미 상기 실행 프로그램 기억 영역에 읽어진 소프트 웨어의 적어도 일부를 압축하여 상기 압축 프로그램 기억 영역에 기억하고,
    상기 압축 신장 제어 수단은 상기 압축 프로그램 기억 영역에 기억된 소프트 웨어가 필요하게 된 경우에는 해당 소프트 웨어를 신장시켜 상기 실행 프로그램 기억 영역에 기억하는 것을 특징으로 하는 LSI 장치.
  10. 제 1항 기재의 CPU 내장형 LSI와,
    다수 종류의 광 디스크의 기록 또는 재생 동작을 각각 제어하기 위한 다수 모듈로 구성되는 소프트 웨어를 격납한, 상기 외부 메모리로서의 소프트 웨어 격납 메모리와,
    광 디스크의 종류를 판별하는 디스크 판별 수단을 구비하고,
    상기 CPU 내장형 LSI의 상기 읽기 제어 수단이, 상기 디스크 판별 수단의 판별 결과에 따라서, 상기 소프트 웨어 격납 메모리로부터 상기 CPU 내장형 LSI의 RAM에의 모듈의 읽어들임을 제어하는 것을 특징으로 하는 광 디스크 장치.
  11. 제 1항 기재의 CPU 내장형 LSI와,
    광 디스크의 기록 또는 재생 동작의 일련의 처리를 각각 제어하기 위한 다수 모듈로 구성되는 소프트 웨어를 격납한, 상기 외부 메모리로서의 소프트 웨어 격납 메모리와,
    상기 처리의 각각의 진행 상황을 판별하는 처리 상황 판별 수단을 구비하고,
    상기 CPU 내장형 LSI의 상기 읽기 제어 수단이, 상기 처리 상황 판별 수단의 판별 결과에 따라서, 상기 소프트 웨어 격납 메모리로부터 상기 CPU 내장형 LSI의 RAM에의 모듈의 읽어들임을 제어하는 것을 특징으로 하는 광 디스크 장치.
  12. 제 1항 기재의 CPU 내장형 LSI와,
    다수 종류의 동작 모드에 의한 광 디스크의 기록 또는 재생 동작을 각각 제어하기 위한 다수 모듈로 구성되는 소프트 웨어를 격납한, 상기 외부 메모리로서의 소프트 웨어 격납 메모리와,
    상기 CPU 내장형 LSI의 상기 읽기 제어 수단이, 동작 모드의 변화에 따라, 상기 소프트 웨어 격납 메모리로부터 상기 CPU 내장형 LSI의 RAM에의 모듈의 읽어들임을 제어하는 것을 특징으로 하는 광 디스크 장치.
  13. 제 5항 기재의 CPU 내장형 LSI와,
    다수 종류의 광 디스크의 기록 또는 재생 동작을 각각 제어하기 위한 다수 모듈로 구성되는 소프트 웨어를 격납한, 상기 외부 메모리로서의 소프트 웨어 격납 메모리와,
    광 디스크의 종류를 판별하는 디스크 판별 수단을 구비하고,
    상기 CPU 내장형 LSI의 상기 읽기 제어 수단이, 상기 디스크 판별 수단의 판별 결과에 따라서, 상기 소프트 웨어 격납 메모리로부터 상기 CPU 내장형 LSI의 RAM에의 모듈의 읽어들임을 제어하는 것을 특징으로 하는 광 디스크 장치.
  14. 제 5항 기재의 CPU 내장형 LSI와,
    광 디스크의 기록 또는 재생 동작의 일련의 처리를 각각 제어하기 위한 다수 모듈로 구성되는 소프트 웨어를 격납한, 상기 외부 메모리로서의 소프트 웨어 격납 메모리와,
    상기 처리의 각각의 진행 상황을 판별하는 처리 상황 판별 수단을 구비하고,
    상기 CPU 내장형 LSI의 상기 읽기 제어 수단이, 상기 처리 상황 판별 수단의 판별 결과에 따라서, 상기 소프트 웨어 격납 메모리로부터 상기 CPU 내장형 LSI의 RAM에의 모듈의 읽어들임을 제어하는 것을 특징으로 하는 광 디스크 장치.
  15. 제 5항 기재의 CPU 내장형 LSI와,
    다수 종류의 동작 모드에 의한 광 디스크의 기록 또는 재생 동작을 각각 제어하기 위한 다수 모듈로 구성되는 소프트 웨어를 격납한, 상기 외부 메모리로서의 소프트 웨어 격납 메모리와,
    상기 CPU 내장형 LSI의 상기 읽기 제어 수단이, 동작 모드의 변화에 따라, 상기 소프트 웨어 격납 메모리로부터 상기 CPU 내장형 LSI의 RAM에의 모듈의 읽어들임을 제어하는 것을 특징으로 하는 광 디스크 장치.
KR1020040014998A 2003-03-05 2004-03-05 Cpu 내장형 lsi 및 이를 이용한 광 디스크 장치와lsi 장치 KR100714170B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003059134A JP2004272393A (ja) 2003-03-05 2003-03-05 Cpu内蔵型lsiおよびこれを用いた光ディスク装置並びにlsi装置
JPJP-P-2003-00059134 2003-03-05

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020060027554A Division KR20060040617A (ko) 2003-03-05 2006-03-27 Cpu 내장형 lsi 및 이를 이용한 광 디스크 장치와lsi 장치

Publications (2)

Publication Number Publication Date
KR20040079313A true KR20040079313A (ko) 2004-09-14
KR100714170B1 KR100714170B1 (ko) 2007-05-02

Family

ID=32984383

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020040014998A KR100714170B1 (ko) 2003-03-05 2004-03-05 Cpu 내장형 lsi 및 이를 이용한 광 디스크 장치와lsi 장치
KR1020060027554A KR20060040617A (ko) 2003-03-05 2006-03-27 Cpu 내장형 lsi 및 이를 이용한 광 디스크 장치와lsi 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020060027554A KR20060040617A (ko) 2003-03-05 2006-03-27 Cpu 내장형 lsi 및 이를 이용한 광 디스크 장치와lsi 장치

Country Status (4)

Country Link
US (2) US7237060B2 (ko)
JP (1) JP2004272393A (ko)
KR (2) KR100714170B1 (ko)
CN (1) CN1271510C (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4803041B2 (ja) * 2007-01-06 2011-10-26 船井電機株式会社 ディスク装置
US20110150424A1 (en) * 2009-03-11 2011-06-23 Masashi Hamabe Recording and playback apparatus including storage unit for storing recording program in stop state
KR101663545B1 (ko) * 2009-04-06 2016-10-07 시게이트 테크놀로지 엘엘씨 코드의 동적 재배치 방법 및 이를 이용한 디스크 드라이브

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4694391A (en) * 1980-11-24 1987-09-15 Texas Instruments Incorporated Compressed control decoder for microprocessor system
US4573119A (en) * 1983-07-11 1986-02-25 Westheimer Thomas O Computer software protection system
DE3418276A1 (de) * 1984-05-17 1985-11-21 Ebm Elektrobau Mulfingen Gmbh & Co, 7119 Mulfingen Schutzschaltung zum blockierschutz bei kollektorlosen gleichstrommotoren
US5243581A (en) * 1990-07-23 1993-09-07 Matsushita Electric Industrial Co., Ltd. Data recording/reproducing apparatus having plural optical disk drives operating in parallel
DE4403626A1 (de) * 1994-02-05 1995-08-10 Alcatel Network Services Deuts Verfahren zum Versenden von Dokumenten, sowie Teilnehmerstationen und Konverterstation dafür
CN1157653C (zh) * 1994-04-22 2004-07-14 索尼公司 数据传输和接收装置及方法和数据记录和再现装置及方法
JPH0896549A (ja) * 1994-09-21 1996-04-12 Sony Corp テープカセット及びカセット機構部品
TW409240B (en) * 1996-04-11 2000-10-21 Hitachi Ltd Disk drive device and computer device
JPH11249886A (ja) * 1998-02-27 1999-09-17 Matsushita Electric Ind Co Ltd 電子機器
JP2995030B2 (ja) * 1998-03-31 1999-12-27 三洋電機株式会社 コンピュータシステム、並びにコンピュータシステムにおけるプログラム及びデータの修正方法
JP3685931B2 (ja) * 1998-07-31 2005-08-24 株式会社ソニー・コンピュータエンタテインメント 情報処理装置の立ち上げ方法、記憶媒体、及び情報処理装置
JP2002014737A (ja) * 2000-06-29 2002-01-18 Fujitsu Ltd 処理装置、集積回路、および集積回路パッケージ
JP2004030858A (ja) * 2002-06-28 2004-01-29 Toshiba Corp 検出装置及び検出方法と光ディスク装置

Also Published As

Publication number Publication date
CN1271510C (zh) 2006-08-23
KR20060040617A (ko) 2006-05-10
US7318131B2 (en) 2008-01-08
US20070214327A1 (en) 2007-09-13
US20040189233A1 (en) 2004-09-30
CN1527193A (zh) 2004-09-08
KR100714170B1 (ko) 2007-05-02
JP2004272393A (ja) 2004-09-30
US7237060B2 (en) 2007-06-26

Similar Documents

Publication Publication Date Title
TWI590049B (zh) 記憶體裝置與其操作方法
KR101121698B1 (ko) 반도체 기억 장치 및 기억 제어 방법
US8327068B2 (en) Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
JP2008046964A (ja) 情報記録装置及びその制御方法
JP2008027383A (ja) 情報記録装置及びその制御方法
JP3511916B2 (ja) 記録再生装置
JP4874844B2 (ja) 情報記録装置及びその制御方法
JP2007193448A (ja) 情報記録装置及びその制御方法
JP2007193865A (ja) 情報記録装置及びその制御方法
US20070168604A1 (en) Information recording apparatus and method for controlling the same
KR20060040617A (ko) Cpu 내장형 lsi 및 이를 이용한 광 디스크 장치와lsi 장치
JP3992960B2 (ja) 記録装置及びプログラム
JP2005302152A (ja) 複合型記憶装置、データ書込方法及びプログラム
CN110289022B (zh) 盘装置
JP2007293987A (ja) 情報記録装置及びその制御方法
JP5206103B2 (ja) ストレージ装置、ストレージ装置制御システム、ストレージ装置の制御方法、及びプログラム
JP4910785B2 (ja) 電子機器、電子機器の電源制御プログラムおよび電源制御方法
JP2005301885A (ja) データ記憶媒体へのアクセス方法,情報処理装置,データ記憶媒体へのアクセスプログラム
KR100727399B1 (ko) 데이터 입출력 속도가 증가된 메모리 카드
US20100257311A1 (en) Method relocating code objects and disc drive using same
JP3546741B2 (ja) ハードディスクユニット及びそれに用いるユーザ領域設定方法並びにその制御プログラムを記録した記録媒体
JP2011018237A (ja) ディスクアレイ装置及びその制御方法
JPH05158815A (ja) 記憶装置
JP4269915B2 (ja) 記録再生装置及び方法、並びに記録再生システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
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: 20110318

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee