KR100653569B1 - 이중 버퍼링을 사용하는 데이터 전송 장치, 데이터 전송시스템, 및 데이터 전송 방법 - Google Patents

이중 버퍼링을 사용하는 데이터 전송 장치, 데이터 전송시스템, 및 데이터 전송 방법 Download PDF

Info

Publication number
KR100653569B1
KR100653569B1 KR1020017016162A KR20017016162A KR100653569B1 KR 100653569 B1 KR100653569 B1 KR 100653569B1 KR 1020017016162 A KR1020017016162 A KR 1020017016162A KR 20017016162 A KR20017016162 A KR 20017016162A KR 100653569 B1 KR100653569 B1 KR 100653569B1
Authority
KR
South Korea
Prior art keywords
data
memory
buffer
processor
buffer memories
Prior art date
Application number
KR1020017016162A
Other languages
English (en)
Other versions
KR20020015349A (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 KR20020015349A publication Critical patent/KR20020015349A/ko
Application granted granted Critical
Publication of KR100653569B1 publication Critical patent/KR100653569B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10638First-in-first-out memories [FIFO] buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

호스트 CPU(14)로부터 실시간으로 음악 사운드를 재생하는 사운드 프로세서(24)로 데이터가 전송될 때, 호스트 CPU(14)상의 부담은 크게 감소된다. 전송 소스로서의 호스트 CPU(14)로부터 음악 사운드 데이터의 전송시, 호스트 CPU(14)와 DMAC(44)는 버퍼 메모리들(41, 42)의 256워드의 전송 용량보다 큰 2560워드의 데이터 크기를 처리한다. 데이터로 가득 찰 때까지 버퍼 메모리들 중 하나의 버퍼 메모리(41)로 음악 사운드 데이터가 전송된 후에, 사운드 프로세서(24)는 데이터의 전송을 일시적으로 중지한다. 다른 버퍼 메모리(42)의 음악 사운드 데이터가 사운드 프로세서(24)에 의해 재생되고 버퍼 메모리(42)가 비워질 때, 사운드 프로세서(24)는 전송 데스티네이션 메모리로서 빈 버퍼 메모리(42)를 설정하고, 데이터 전송의 일시 중지를 취소하며, 빈 버퍼 메모리(42)로의 데이터 전송을 재개한다.
버퍼 메모리, 사운드 프로세서, DMAC, 인터페이스, 음악 사운드 데이터

Description

이중 버퍼링을 사용하는 데이터 전송 장치, 데이터 전송 시스템, 및 데이터 전송 방법{Data transfer apparatus, data transfer system, and data transfer method with double buffering}
본 발명은 데이터 전송 소스로부터 데이터 전송 데스티네이션으로 데이터를 전송하기 위한 버퍼 메모리들을 사용하는 데이터 전송 장치, 데이터 전송 시스템, 및 데이터 전송 방법에 관한 것이다.
최근, CD-ROM(Compact Disk Read-Only Memories), 하드디스크 등과 같은 보조 저장 디바이스들은 음악 사운드 데이터와 같은 대량의 데이터를 저장하기 위한 매우 증가된 저장 용량을 갖는다.
실시간으로 매우 풍부한 음악 사운드 데이터를 생성할 수 있는 프로세서들을 쉽게 사용할 수 있다.
또한, 사용자들은 네트워크 또는 공중 회선 시스템(public circuit system)을 통해 음악 사운드 데이터를 얻을 수 있다.
이에 따라 얻어진 음악 사운드 데이터는 보조 저장 디바이스, 프로세서, 또는 공중 회선 시스템으로부터 실시간으로 연속적으로 음악 사운드 데이터를 재생하는 음악 사운드 재생 디바이스로 압축된 데이터로서가 아니라 직접 전송된다.
실시간으로 연속적으로 음악 사운드 데이터를 재생하기 위한 음악 사운드 데이터 재생 디바이스에 있어서, 음악 사운드 데이터 재생 디바이스는 FIFO(first-in first-out) 메모리들 또는 RAM(Random Access Memory)의 분할 메모리 영역들을 채용하는 이중-버퍼 메모리 처리를 수행한다.
이중-버퍼 메모리 처리에 따라, 2개의 버퍼 메모리들 중 하나의 버퍼 메모리가 데이터로 완전히 채워지면, 음악 사운드 데이터 재생을 시작하기 위해 데이터를 버퍼 메모리로부터 판독하며, 예를 들어, 버퍼 메모리로부터 데이터의 판독이 끝나기 전에, 데이터는 데이터로 완전히 채워질 때까지 다른 버퍼 메모리로 전송된다. 판독되고 있는 버퍼 메모리가 비워지면(empty), 데이터의 판독은 다른 버퍼 메모리로 전환된다. 이러한 방식으로, 저장된 데이터는, 예를 들어, 음악 사운드 데이터가 연속적으로 재생될 수 있도록 버퍼 메모리들로부터 연속적으로 판독될 수 있다.
종래의 이중-버퍼 메모리 처리는 데이터 전송 소스로서 CPU(Central Processing Unit)와 같은 프로세서에 버퍼 메모리들 중 하나의 버퍼 메모리의 빈 상태를 나타내기 위한 인터럽트 처리를 포함한다.
그러나, 인터럽트 처리는, 레지스터 데이터와 다양한 항목의 정보가 프로세서에 일시적으로 저장된 후에 인터럽트 처리가 수행되어야 하기 때문에, 프로세서에 큰 부담을 준다는 점에서 문제가 있다.
이중-버퍼 메모리 처리에 따라 데이터를 출력하기 위해서, 출력된 데이터가 인터럽트되지 않도록, 버퍼 메모리들 중 하나의 버퍼 메모리가 초기 데이터 전송 단계에서 데이터로 완전히 채워질 필요가 있다. 재생 명령에 응답하여 신속하게 제 1 재생 세션을 실행하기 위해, 버퍼 메모리들은 가능한 적은 저장 용량을 가지는 것이 바람직하다. 그러나, 적은 저장 용량을 갖는 버퍼 메모리들에 있어서, 인터럽트 처리는 더 빈번히 수행되어, 프로세서에 더 큰 부담을 준다.
따라서, 본 발명의 목적은 인터럽트 처리가 수행되는 빈도를 감소시켜 실질적으로 데이터 전송 소스와 같은 처리기에 대한 부담을 감소시키는 데이터 전송 장치, 데이터 전송 시스템, 및 데이터 전송 방법을 제공하는 것이다.
본 발명에 따른 데이터 전송 장치는, 데이터 전송 소스 프로세서, 기록 메모리와 판독 메모리 사이에서 교대로 전환될 수 있는 실질적으로 2개의 버퍼 메모리들, 및 데이터 전송 데스티네이션 프로세서(24)를 포함하며, 데이터 전송 소스 프로세서가 데이터 전송을 시작하기 위한 명령을 데이터 전송 데스티네이션 프로세서로 송신하도록 배열되고, 데이터 전송 데스티네이션 프로세서는 2개의 버퍼 메모리들 중 하나의 버퍼 메모리를 기록 메모리로 전환하고 2개의 버퍼 메모리들 중 다른 버퍼 메모리를 판독 메모리로 전환하며, 2개의 버퍼 메모리들로부터 데이터를 판독하고 2개의 버퍼 메모리들에 데이터를 기록하는 것을 제어한다.
상기 배치에 있어서, 데이터 전송 데스티네이션 프로세서는 2개의 버퍼 메모리들 중 하나의 버퍼 메모리를 기록 메모리로 전환하고 2개의 버퍼 메모리들 중 다른 버퍼 메모리를 판독 메모리로 전환하기 때문에, 데이터 전송 소스 프로세서에 발생하는 인터럽트들의 수가 감소될 수 있으며, 따라서, 데이터 전송 소스 프로세서에 대한 부담을 감소시킨다.
데이터 전송 데스티네이션 프로세서는 데이터 전송을 시작하기 위한 명령이 데이터 전송 소스 프로세서로부터 전송될 때, 버퍼 메모리들 중 판독 메모리가 아닌 하나의 버퍼 메모리를 기록 메모리로서 지정하여 데이터 전송 소스 프로세서에 데이터 전송 요청을 송신하고; 데이터가 데이터 전송 소스 프로세서로부터 전송될 때, 기록 메모리로서 지정된 버퍼 메모리가 완전히 채워질때까지 버퍼 메모리에 데이터를 기록하고, 그후 판독 메모리로서 지정된 버퍼 메모리가 비워질 때까지 대기하고; 판독 메모리로서 지정된 버퍼 메모리가 비워질 때, 데이터 전송 소스 프로세서에 데이터 전송 요청을 송신하고, 버퍼 메모리들을 판독 메모리와 기록 메모리 사이에서 전환하고, 버퍼 메모리들로부터의 데이터 판독과 버퍼 메모리들로의 데이터 기록을 제어하며; 또한 전송된 전체 크기의 데이터가 기록될 때까지 버퍼 메모리들로부터의 데이터 판독과 버퍼 메모리들로의 데이터 기록을 연속적으로 제어하는 수단을 포함할 수 있다. 데이터 전송 데스티네이션 프로세서는 인터럽트 없이 연속적으로 데이터 판독 처리를 수행할 수 있다.
1 사이클에 전송되는 데이터의 크기는 버퍼 메모리가 완전히 채워지기에 충분히 큰 데이터 크기이기보다는 미리 결정된 데이터 크기일 수 있다.
2개의 버퍼 메모리들 각각은 광범위한 어플리케이션들에 대해 본 발명의 원리들을 허용하도록 다수의 버퍼 메모리들을 포함할 수 있다.
전송된 데이터는 음악 사운드 데이터를 포함할 수 있다.
본 발명에 따른 데이터 전송 시스템은 버스, 버스에 접속된 호스트 프로세서, 버스에 접속된 음악 사운드 프로세서, 및 기록 메모리와 판독 메모리 사이에서 교대로 전환될 수 있고 음악 사운드 프로세서에 접속되는 실질적으로 2개의 버퍼 메모리들을 포함하며, 버스와 음악 사운드 프로세서를 통해 호스트 프로세서로부터 버퍼 메모리들로 음악 사운드 데이터가 전송되도록 배치되고, 호스트 프로세서가 데이터 전송을 시작하기 위한 명령을 음악 사운드 프로세서로 전송할 때, 음악 사운드 프로세서는 2개의 버퍼 메모리들 중 하나의 버퍼 메모리를 기록 메모리로 전환하고 2개의 버퍼 메모리들 중 다른 버퍼 메모리를 판독 메모리로 전환하며, 2개의 버퍼 메모리들로부터의 데이터 판독과 2개의 버퍼 메모리들로의 데이터 기록을 제어하기 위한 수단을 포함한다.
상기 배치에 있어서, 음악 사운드 프로세서는 2개의 버퍼 메모리들 중 하나의 버퍼 메모리를 기록 메모리로 전환하고, 2개의 버퍼 메모리들 중 다른 버퍼 메모리를 판독 메모리로 전환하기 때문에, 호스트 프로세서에 발생하는 인터럽트들의 수가 감소될 수 있고, 따라서, 호스트 프로세서에 대한 부담을 감소시킨다.
음악 사운드 프로세서는 데이터 전송을 시작하기 위한 명령이 호스트 프로세서로부터 전송될 때, 버퍼 메모리들 중 판독 메모리가 아닌 하나의 버퍼 메모리를 기록 메모리로서 지정하고 호스트 프로세서에 데이터 전송 요청을 송신하고; 데이터가 호스트 프로세서로부터 전송될 때, 버퍼 메모리가 완전히 채워질때까지 기록 메모리로서 지정된 버퍼 메모리에 데이터를 기록하고, 그후 판독 메모리로서 지정된 버퍼 메모리가 비워질 때까지 대기하고; 판독 메모리로서 지정된 버퍼 메모리가 비워질 때, 호스트 프로세서에 데이터 전송 요청을 송신하고, 버퍼 메모리들을 판독 메모리와 기록 메모리 사이에서 전환하고, 버퍼 메모리들로부터의 데이터 판독과 버퍼 메모리들로의 데이터 기록을 제어하며; 또한 전송된 전체 크기의 데이터가 기록될 때까지 버퍼 메모리들로부터의 데이터 판독과 상기 버퍼 메모리들로의 데이터 기록을 연속적으로 제어하는 수단을 포함할 수 있다. 음악 사운드 프로세서는 인터럽트 없이 연속적으로 데이터 판독 처리를 수행할 수 있다.
데이터 전송 시스템에 있어서, 1 사이클에 전송되는 데이터의 크기는 버퍼 메모리가 완전히 채워지기에 충분히 큰 데이터 크기이기보다는 미리 결정된 데이터 크기일 수 있다.
데이터 전송 시스템에 있어서, 2개의 버퍼 메모리들 각각은 광범위한 어플리케이션들에 대해 본 발명의 원리들을 허용하도록 복수의 버퍼 메모리들을 포함할 수 있다.
복수의 버퍼 메모리들은 좌·우 스테레오 음악 사운드 데이터를 저장할 수도 있다.
본 발명에 따른 데이터 전송 시스템은 버스, 버스에 접속된 호스트 프로세서, 버스에 접속된 음악 사운드 프로세서, 및 기록 메모리와 판독 메모리 사이에서 교대로 전환될 수 있고, 음악 사운드 프로세서에 접속되는 실질적으로 2개의 버퍼 메모리들을 포함하며, 버스를 통해 음악 사운드 프로세서로부터 호스트 프로세서로 음악 사운드 데이터가 전송되도록 배치되고, 호스트 프로세서로 데이터가 전송될 때, 음악 사운드 프로세서는 2개의 버퍼 메모리들 중 하나의 버퍼 메모리를 기록 메모리로 전환하고, 2개의 버퍼 메모리들 중 다른 버퍼 메모리를 판독 메모리로 전환하기 위한 수단을 포함하며, 2개의 버퍼 메모리들로부터의 데이터 판독과 2개의 버퍼 메모리들로의 데이터 기록을 제어한다.
상기 배치에 있어서, 데이터는 감소된 수의 인터럽트들로 음악 사운드 프로세서로부터 호스트 프로세서로 전송될 수 있다.
음악 사운드 프로세서는, 버퍼 메모리들 중 하나의 버퍼 메모리에의 데이터 데이터 기록이 종료되기 전에, 다른 버퍼 메모리로부터 데이터의 판독을 완료하여 판독 데이터를 호스트 프로세서로 전송하고, 버퍼 메모리들 중 하나의 버퍼 메모리에의 데이터의 기록이 완료될 때 비어있는 다른 버퍼 메모리에의 데이터 기록을 시작하기 위한 수단을 포함할 수 있다. 음악 사운드 프로세서로부터 버퍼 메모리들로의 데이터 전송은 인터럽트되지 않는다. 음악 사운드 프로세서가 주로 데이터의 전송을 제어하기 때문에, 데이터 전송을 위한 호스트 프로세서의 부담이 감소된다.
또한, 본 발명에 따르면, 버스, 버스에 접속된 호스트 프로세서, 버스에 접속된 출력 프로세서, 실질적으로 2개의 버퍼 메모리들 및 출력 프로세서에 접속된 출력 디바이스를 갖는 데이터 전송 시스템의 데이터 전송 방법이 제공되며, 이 데이터 전송 방법은, 버퍼 메모리들 중 하나의 버퍼 메모리가 데이터로 완전히 채워질 때까지 호스트 프로세서로부터 출력 프로세서로 데이터를 전송하는 단계, 그후, 데이터의 전송을 일시적으로 중지하는 단계, 출력 프로세서로 버퍼 메모리들 중 다른 버퍼 메모리로부터 데이터를 판독하여, 판독된 데이터를 출력 프로세서로부터 출력 디바이스로 출력하는 단계, 다른 버퍼 메모리가 비워질 때, 전송 데스티네이션 메모리로서 다른 버퍼 메모리를 설정하고, 데이터 전송의 일시 중지를 취소하는 단계, 및 호스트 프로세서로부터 다른 버퍼 메모리로 데이터 전송을 재개하는 단계를 포함한다.
상기 방법에 있어서, 버퍼 메모리들로의 데이터 전송은 주로 출력 프로세서에 의해 제어되기 때문에, 데이터 전송에 대한 호스트 프로세서의 부담은 감소된다.
상기 방법에 있어서, 데이터는 음악 사운드 데이터를 포함할 수도 있다.
본 발명의 상기 및 다른 목적들, 특징들 및 이점들은 예시적으로 나타내는 본 발명의 바람직한 실시예의 첨부 도면들과 관련하여 취해질 때 이하 상세한 설명으로부터 더 명백해질 것이다.
도 1은 본 발명의 실시예에 따른 데이터 기록 및 재생 장치의 블록도.
도 2는 도 1에 도시된 데이터 기록 및 재생 장치의 동작 시퀀스의 흐름도.
도 3은 데이터가 전송되는 순서로 메인 메모리에 저장되어 있는 데이터를 도시하는 도면.
도 4는 각 채널들에서 메인 메모리에 저장된 데이터를 도시하는 도면.
도 5는 각 채널들에 저장된 데이터에 대한 판독 어드레스를 나타내는 참조 태그를 도시하는 도면.
도 6은 도 2에 도시된 동작 시퀀스로 자동 DMA 전송 처리를 도시하는 상세 흐름도.
도 7은 데이터로 완전히 채워진 버퍼 메모리들 중 하나의 버퍼 메모리를 도 시하는 도면.
도 8은 데이터 전송 판독 처리를 예시하는, 버퍼 메모리에 저장된 데이터를 도시하는 도면.
도 9는 비교 예에 따른 동작 시퀀스의 흐름도.
도 10은 버퍼 메모리로 데이터를 전송하고 버퍼 메모리로부터 데이터를 판독하기 위한 기본 처리를 도시하는 도면.
도 11은 본 발명의 다른 실시예에 따른 데이터 기록 및 재생 장치의 블록도.
도 12는 도 11에 도시된 데이터 기록 및 재생 장치의 데이터 전송 재생 처리를 도시하는 도면.
도 13은 도 11에 도시된 데이터 기록 및 재생 장치의 데이터 전송 재생 처리의 흐름도.
도 14는 본 발명의 또다른 실시예에 따른 데이터 전송 순서 포맷의 멀티-채널 데이터 전송 처리를 도시하는 도면.
도 15는 본 발명의 또다른 실시예에 따른 참조 태그 포맷의 멀티-채널 데이터 전송 처리를 도시하는 도면.
도 16은 버퍼 메모리로부터 메인 메모리로 데이터를 전송하기 위한 처리를 도시하는 도면.
도 17은 버퍼 메모리로부터 메인 메모리로 다수의 데이터를 전송하기 위한 처리를 도시하는 도면.
본 발명의 일 실시예가 첨부 도면을 참조하여 예시적으로 설명될 것이다.
도 1은 본 발명의 실시예에 따른 데이터 기록 및 재생 장치(10)를 도시하는 블록도이다.
도 1에 도시된 것과 같이, 데이터 기록 및 재생 장치(10)는 버스(12)를 가지며, 이 버스에는 완전히 데이터 기록 및 재생 장치(10)를 제어하기 위한 호스트 CPU(호스트 프로세서)(14)가 접속되어 있다. 호스트 CPU(14)는 데이터 전송 소스 프로세서 또는 데이터 전송 데스티네이션 프로세서로서 기능한다.
또한, 버스(12)에는 DRAM(Dynamic Random-Access Memory)을 포함하는 메인 메모리(16) 및 보조 저장 디바이스 드라이브(18)를 통해 하드디스크 등과 같은 보조 저장 디바이스(20)가 접속된다.
공중 회선 시스템(23)은 네트워크 인터페이스(22)를 통해 버스(12)에 접속된다. 다른 네트워크들(도시되지 않음) 또한 버스(12)에 접속된다. 데이터는 공중 회선 시스템(23) 및 다른 네트워크들을 사용하여 기록 및 재생 장치(10)로 및 기록 및 재생 장치(10)로부터 공급될 수 있다.
버스(12)에는 데이터 전송 데스티네이션 프로세서 및 데이터 전송 소스 프로세서로도 기능하는 사운드 음악 프로세서인 사운드 프로세서 또는 사운드 처리 유닛(SPU)(24)이 더 접속된다. 사운드 프로세서(24)는 완전히 사운드 프로세서(24)를 제어하기 위한 2개의 CPU들(24a, 24b)을 갖는다.
사운드 프로세서(24)는 또한 2개의 CPU들(24a, 24b) 외에, 제어 프로그램을 저장하는 ROM, 작업 RAM, 카운터, 타이머, DAC(Digital-to0Analog Converter), 및 ADC(Analog-to-Digital Converter)를 갖는다. 사운드 처리기(24)는 데이터를 전송하고 음악 사운드 데이터를 생성할 수 있다.
사운드 출력 디바이스(출력 유닛)인 스피커(28)가 인터페이스(26)를 통해 사운드 프로세서(24)에 접속되고, 사운드 입력 장치(입력 유닛)인 마이크로폰(32)이 인터페이스(30)를 통해 사운드 처리기(24)에 접속된다. 따라서, 사운드 처리기(24)는 또한 입력/출력 프로세서로서 기능한다.
사운드 프로세서(24)에는 또한 사운드 프로세서(24)에 의해 데이터를 판독하고 기록하도록 제어되는 2개의 버퍼 메모리들(41, 42)을 포함하는 이중 버퍼인 버퍼 메모리(40)가 접속되어 있다. 버퍼 메모리들(41, 42)은 도 1에 도시된 것과 같은 단일 메모리의 분할 메모리 영역들을 포함할 수도 있고, 또는 독립적인 2개의 메모리들을 포함할 수도 있다. 따라서, 버퍼 메모리(40)는 실제로 2개의 버퍼 메모리들을 포함할 수도 있다. 또한, 분할 버퍼 메모리들(41, 42)은 각각 채널들(41, 42)로서 참조된다.
버퍼 메모리들(41, 42) 각각은, 예를 들어, 4-채널 스피커 시스템을 구동하기 위한 다수의 메모리들로 더 분할될 수도 있다.
버퍼 메모리들(41, 42) 각각은 각 워드가 16비트/워드인 256워드의 저장 용량을 갖는다. 버퍼 메모리들(41, 42)은 각각 선두 메모리 어드레스들(AS1, AS1)을 갖는다. 실제로, 버퍼 메모리들(41, 42)은 사운드 프로세서(24)에 대한 로컬 메모리로서 기능하기 때문에 적어도 512워드의 저장 용량을 갖는다.
사운드 프로세서(24)의 CPU(24a)는 버퍼 메모리들 중 하나의 버퍼 메모리, 예를 들어, 버퍼 메모리(41)에 데이터를 기록하고, 다른 CPU(24b)는 다른 버퍼 메모리, 예를 들어, 버퍼 메모리(42)로부터 데이터를 판독한다.
버퍼 메모리(40)로부터의 데이터 판독이 인터럽트되는 것을 방지하기 위해서, 버퍼 메모리(41)가 데이터로 완전히 채워진 후에 버퍼 메모리(42)가 비워지면, CPU(42a)는 버퍼 메모리(41)로부터 데이터를 판독하고, CPU(24b)는 빈 버퍼 메모리(42)에 데이터 기록을 시작한다.
CPU들(24a, 24b)은 버퍼 메모리(40)로부터 데이터를 판독하는 것보다 더 빠르게 버퍼 메모리(40)에 데이터를 기록한다. 이러한 방식으로, 사운드 프로세서(24)는 버퍼 메모리(40)로부터의 데이터 판독을 인터럽트하지 않고 실시간 병렬 처리로 버퍼 메모리(40)로부터 데이터를 판독하고 버퍼 메모리(40)에 데이터를 기록할 수 있다.
더 상세하게는, 사운드 프로세서(24)가 스피커(28)로부터 사운드를 출력할 때, 데이터를 CPU(24a 또는 24b)에 의해 버퍼 메모리(41 또는 42)로부터 인터럽트되지 않고 판독하기 위해서, 즉, 데이터를 연속적으로 재생하기 위해서, 데이터는 데이터가 버퍼 메모리(41 또는 42)로부터 판독되는 것보다 빠르게 다른 CPU(24b 또는 24a)에 의해 다른 버퍼 메모리(42 또는 41)에 기록된다.
사운드가 마이크로폰(32)으로부터 입력될 때, 데이터를 인터럽트되지 않고 버퍼 메모리(41 또는 42)에 기록하기 위해서, 즉, 데이터를 연속적으로 기록하기 위해서, 데이터는 데이터가 버퍼 메모리(41 또는 42)에 기록되는 것보다 빠르게 다른 버퍼 메모리(42 또는 41)로부터 판독된다.
DMAC(Direct Memory Access Controller)(44)는 보조 저장 디바이스(20)와 메인 메모리(16) 사이 또는 메인 메모리(16)와 사운드 프로세서(24)의 버퍼 메모리(40) 사이에서 데이터를 직접 전송하기 위한 버스(12)에 접속된다.
DMAC(44)는 일반적으로 메인 메모리(16)와 버퍼 메모리(40) 사이에서 데이터를 전송하기 위한 데이터 전송 소스 프로세서로서 기능하며, 또한 필요시에는 데이터 전송 데스티네이션 프로세서로서 기능한다.
데이터 기록 및 재생 장치(10)에 있어서, 전체 크기가 2560 워드인 데이터를 호스트 메모리, 즉, 메인 메모리(16)로부터 로컬 메모리, 즉, 버퍼 메모리(40)로 전송하기 위한 데이터 전송 처리가 도 2를 참조하여 이하 설명될 것이다. 이 데이터 전송 처리에 있어서, 메인 메모리(16)로부터 버퍼 메모리(40)로 데이터 전송이 시작된 후, 매우 짧은 시간 기간이 경과하면, 즉, 버퍼 메모리(40)가 데이터로 완전히 채워지면, 스피커(28)는 인터럽트 없이 2560워드의 사운드 출력을 시작한다.
DMAC(44)는 메인 메모리(16)로부터 버퍼 메모리(40)로의 사이클 당 32워드의 데이터 전송 용량을 갖기 때문에, 총 데이터 전송 사이클(2560워드/32워드 = 80)은 2560워드를 전송하도록 수행된다.
먼저, 호스트 CPU(14)는 단계 S1에서 데이터 전송을 위한 예비 처리를 수행한다. 예비 처리시, 호스트 CPU(14)는, 사운드 프로세서(24)를 통해 보조 저장 디바이스(20)로부터 버퍼 메모리들(41, 42)로 교대로 연속적으로 전송되는 256워드들의 묶음인 2560워드의 데이터(음악 사운드 데이터(사운드 데이터))를 판독하고, 2560 워드들을 미리 결정된 순서로 기록되도록 메인 메모리(16)로 전송된다.
보조 저장 디바이스(20)로부터 판독된 데이터는 미리 보조 저장 디바이스(20)에 저장되어 있는 데이터 또는 네트워크 인터페이스(22)를 통해 공중 회선 시스템(23)으로부터 보조 저장 디바이스(20)에 공급되는 데이터를 포함한다.
도 3에 도시되어 있는 것과 같이, 보조 저장 디바이스(20)로부터의 데이터를 메인 메모리(16)에 기록하는데 있어서, 버퍼 메모리들(41, 42)로 전송될 데이터(Dn)는 각각 256워드의 10개의 묶음들로 분할되며(Dn = D1, D2, ..., D10), 이 데이터의 묶음들은 그들이 전송되는 순서로 메인 메모리(16)의 선두 어드레스들(A1 내지 A10)에 연속적으로 데이터(Dα)로서 기록된다.
대안적으로, 도 4에 도시되어 있는 것과 같이, 버퍼 메모리들(41, 42)로 전송될 데이터(Dn)는 데이터가 전송되는 순서를 나타내는 선두 어드레스들을 저장하는 참조 태그(50)(도 5)와 함께 각 채널들에서 연속적인 데이터(Dβ)로서 메인 메모리(16)에 기록된다.
더 상세하게는, 도 3에 도시된 전송 순서 포맷에 따르면, 256워드의 데이터(D1)는 어드레스(A1)에 저장되고, 256워드의 데이터(D2)는 어드레스(A2)에 저장되고, 연속적인 데이터는 연속적인 어드레스들에 저장되며, 마지막으로, 256워드의 데이터(D10)는 어드레스(A10)에 저장된다. 이러한 방식으로 데이터(Dα)는 그들이 전송되는 순서로 메인 메모리(16)에 기록된다(도 3에서, 데이터는 1 내지 5의 순서로 전송된다).
도 4 및 도 5에 도시된 참조 태그 포맷에 따르면, 채널들(41, 42)에 대해 연속적인 각 256워드의 데이터(Da1 내지 Da5, Db1 내지 Db5)는 각각 메모리 어드레스 들(A1 내지 A10)에 기록되고, 데이터(Da1 내지 Da5, Db1 내지 Db5)(선두 어드레스들 (데이터) A1, A6, A2, ..., A5, A10)는 미리 참조 태그(50)에 기록되어 있다.
이러한 방식으로, 스피커(28)로부터 음악 사운드(음성 사운드)로서 출력되도록 하기 위해 사운드 프로세서(24)를 통해 DMAC(44)로부터 버퍼 메모리(40)로 전송될 데이터는 원하는 포맷, 즉, 전송 순서 포맷 또는 참조 태그 포맷으로 메인 메모리(16)에 저장된다.
상기 예비 처리 후에, 호스트 CPU(14)는 전송 시작 어드레스(즉, 어드레스 A1)와 전체 전송 데이터 크기(즉, 2560워드)를 DMAC(44)에 표시하고, 데이터 전송 사이클 수(즉, (32워드 × 8 = 256워드) × 10 = 80)를 단계 S2에서 DMAC(44)에 설정한다.
단계 S3에서, 호스트 CPU(14)는 메인 메모리(16)에 저장된 데이터를 재생하도록 사운드 프로세서(24)에 명령한다.
단계 S4에서 DMAC(44)에 의해 수행되는 자동 DMA 전송 처리는 도 6을 참조하여 상세히 설명될 것이다.
도 6은 사운드 프로세서(24)에 의해 수행되는 오른쪽에 도시된 동작 시퀀스와 DMAC(44)에 의해 수행되는 왼쪽에 도시된 동작 시퀀스로 분할되는 자동 DMA 전송 처리를 도시한다.
자동 DMA 전송 처리에 있어서, 사운드 프로세서(24)의 CPU(24a)는 단계 S4a에서 DMAC(44)로 데이터 요청을 보낸다.
데이터 요청에 응답하여, DMAC(44)는 단계 S4b에서 데이터 전송 사이클들의 현재 수로부터 남은 데이터 전송 크기를 확인한다. 데이터 전송이 아직 시작되지 않았기 때문에, 데이터 전송 사이클들의 수는 80이다.
단계 S4c에서, DMAC(44)는 배타적으로 버스(12) 사용에 대한 허가를 제공하도록 호스트 CPU(14)에 요청하기 위해 버스 요청 신호를 보낸다.
버스 요청 신호에 응답하여, 호스트 CPU(14)는 마치 인터럽트된 것처럼 현재 처리를 일시적으로 중단하고 레지스터 데이터 등을 저장한 후, 배타적인 버스(12) 사용을 허가하는 버스 요청 승인을 DMAC(44)로 보낸다. 버스(12)는 이제 호스트 CPU(14)에 의해 고-임피던스 플로팅 상태(high-impedance floating state)가 된다.
단계 S4d에서 버스 요청 승인을 수신한 DMAC(44)는 단계 S4a에서 발생된 데이터 요청에 대한 데이터 요청 승인을 단계 S4e에서 사운드 처리기(24)로 보낸다.
데이터 요청 승인에 응답하여, 사운드 프로세서(24)는 데이터가 전송될 버퍼 메모리들(41, 42) 중 하나의 버퍼 메모리를 지정한다. 즉, 단계 S4f에서 전송된 데이터를 먼저 수신하도록 설정되는 버퍼 메모리(41)를 지정한다. 단계 S4g에서, 사운드 프로세서(24)는 데이터 전송 허가 승인을 DMAC(44)로 보낸다.
단계 S4h에서, DMAC(44)는 어드레스 A1에 저장된 데이터의 첫 번째 256워드(도 3에 도시된 데이터(D1) 또는 도 4에 도시된 데이터(Da1))를 사운드 프로세서(24)로 전송하기 시작한다.
메인 메모리(16)에 저장된 데이터가 도 3에 도시된 데이터(Dn)와 같이 데이터 전송 순서로 배열된 데이터(Dα)를 포함하면, 어드레스 A1로부터 데이터(Da)의 256워드의 첫 번째 32워드의 데이터가 전송된다.
대안적으로, 참조 태그(50)와 순차 데이터(Dβ)가 도 4 및 도 5에 도시된 것과 같이 메인 메모리(16)에 저장되어 있으면, 참조 태그(50)가 참조되어, 어드레스 A1로부터 데이터(Da1)의 256워드의 첫 번째 32워드의 데이터가 전송된다.
사운드 프로세서(24)로의 데이터의 첫 번째 32워드의 전송이 완료되면, 단계 S4ha에서 DMAC(44)는 버스 요청 취소 신호를 호스트 CPU(14)로 보낸다.
버스 요청 취소 신호에 응답하여, 호스트 CPU(14)는 버스(12)의 사용 권한을 자신에게로 옮긴다.
단계 S4hb에서, DMAC(44)는 데이터 전송 사이클들의 수를 80에서 79로 변경한다(데이터 전송 사이클 수 - 1).
데이터의 첫 번째 32워드가 사운드 프로세서(24)로 전송되었다면, 단계 S4i에서 사운드 프로세서(24)는 전송된 32워드의 데이터를 버퍼 메모리(41)의 어드레스 AS0에 기록한다.
단계 S4j에서, 사운드 프로세서(24)는, 버퍼 메모리(41)가 현재 기록되고 있는 데이터로 완전히 채워졌는지 또는 그렇지 않은지의 여부, 즉, 버퍼 메모리(41)가 256워드의 데이터를 저장하는지 또는 그렇지 않은지의 여부를 확인한다.
버퍼 메모리(41)는 현재 데이터로 완전히 채워져 있지 않기 때문에, 제어는 단계 4a로 되돌아가고, 사운드 프로세서(24)는 다음 32워드의 데이터에 대한 데이터 요청을 DMAC(44)에 보낸다.
상기 설명된 것과 같이, DMAC(44)는 단계 S4b에서 데이터 전송 사이클들의 현재 수로부터 남은 데이터 전송 크기를 확인한다. 이때 데이터 전송 사이클들의 수는 79이기 때문에, DMAC(44)는 단계 S4c에서 버스 요청 신호를 호스트 CPU(14)로 송신하고 단계 S4d에서 버스 요청 승인을 확인한다. 단계 S4e에서, DMAC(44)는 단계 S4a에서 발생된 데이터 요청에 대한 데이터 요청 승인을 사운드 프로세서(24)로 보낸다.
단계 S4f에서, 사운드 프로세서(24)는 데이터가 전송될 버퍼 메모리를 지정한다. 이때, 데이터의 첫 번째 256워드가 여전히 전송되고 버퍼 메모리(41)가 여전히 지정되어 있기 때문에, 사운드 프로세서(24)는 데이터 전송 허가 승인을 DMAC(44)로 보낸다.
단계 S4h에서, DMAC(44)는, 데이터(Dα)가 전송되는 경우에는 데이터(D1)로부터 데이터의 다음 32워드를 전송하고, 데이터(Dβ)가 전송되는 경우에는 데이터(Da1)로부터 다음 32워드의 데이터를 사운드 프로세서(24)로 전송한다.
단계 S4i에서, 사운드 프로세서(24)는 버퍼 메모리(41)에 이미 저장되어 있는 32워드의 데이터의 어드레스의 다음 어드레스에 전송된 32워드의 데이터를 기록한다.
단계 S4a 내지 단계 S4j의 처리가 8번 반복되면, 도 7에 도시된 것과 같이, 버퍼 메모리(40)의 선두 어드레스 AS0을 갖는 저장 영역인 버퍼 메모리(41)는 CPU(24a)의 제어하에서 256워드(32워드 × 8)의 데이터가 저장되어 있고, 데이터(D1 또는 Da1)로 완전히 채워져 있다. 이때, 데이터 기록을 위한 버퍼 메모리(40)의 다음 선두 어드레스는 AS1로 설정된다.
그후, 단계 S4k에서, CPU(24a)는 CPU(24b)의 제어하에서 버퍼 메모리(42)에 서 데이터의 재생이 종료되었는지 또는 그렇지 않은지의 여부, 즉, 다른 버퍼 메모리(42)가 비어 있는지 또는 그렇지 않은지의 여부를 확인한다.
이때, 아직 데이터의 재생은 시작되지 않고, 다른 버퍼 메모리(42)는 비어있다.
다른 버퍼 메모리(42)가 비어 있다는 것을 사운드 프로세서(24)가 확인하면, 단계 S4l에서 사운드 프로세서(24)는 데이터 전송 메모리(데이터 기록 메모리)와 데이터 재생 메모리(데이터 판독 메모리) 사이에서 전환한다.
구체적으로, 사운드 프로세서(24)는 버퍼 메모리(41)를 데이터를 기록하기 위한 메모리에서 데이터를 판독하기 위한 메모리로 변경하고, 또한 버퍼 메모리(42)를 데이터를 판독하기 위한 메모리에서 데이터를 기록하기 위한 메모리로 변경한다.
메모리 전환이 이루어진 후에, 단계 S4m에서 CPU(24a)는 메모리(41)로부터 데이터의 재생(판독)을 시작한다. 구체적으로, CPU(24a)는 버퍼 메모리(41)의 어드레스 AS0으로부터 데이터를 연속적으로 판독하여, 인터페이스(26)를 통해 음성 사운드(음악 사운드)를 재생하는 스피커(28)로 데이터를 전송한다.
음악 사운드가 CPU(24a)의 제어하에서 스피커(28)에 의해 재생되고 있는 동안, 단계 S4a에서 CPU(24b)는 DMAC(44)에 데이터 요청을 다시 보낸다.
단계 S4a 내지 단계 S4j의 처리가 8번 반복되면, 도 3에 도시된 데이터(Dα)의 어드레스 A2로부터 256워드의 데이터(D2) 또는 도 4에 도시된 어드레스 A6으로부터 256워드의 데이터(Db1)가 도 8에 도시된 것과 같이 어드레스 AS1로부터 버퍼 메모리(42)에 저장되고, 그 후에 버퍼 메모리(42)는 데이터로 완전히 채워진다.
도 8에 도시된 것과 같이, 버퍼 메모리(42)가 데이터로 완전히 채워질 때, 버퍼 메모리(41)에 판독되고 있는 데이터가 남아 있도록, 데이터는 데이터가 CPU(24a)에 의해 버퍼 메모리(41)로부터 판독되는 것보다 더 빠르게 CPU(24b)에 의해 버퍼 메모리(42)에 기록된다.
따라서, 버퍼 메모리(42)에 데이터를 기록하도록 동작된 CPU(24b)는 단계 S4j의 조건이 만족될 때 대기 상태에 들어간다.
단계 S4k에서 버퍼 메모리(41)로부터 판독된 데이터에 기초하여 음악 사운드의 재생이 종료되면, 단계 S4l에서 사운드 프로세서(24)는 데이터 전송 메모리(데이터 기록 메모리)와 데이터 재생 메모리(데이터 판독 메모리)간을 전환한다. 데이터로 완전히 채워진 버퍼 메모리(42)는 이제 데이터 재생 메모리가 되며, CPU(24b)는 버퍼 메모리(42)로부터 데이터를 판독하여 재생한다. 이때, 버퍼 메모리(41)는 데이터 전송 메모리로서 기능한다.
사운드 프로세서(24)가 81번째의 데이터 요청을 DMAC(44)로 송신하면, 단계 S4b에서 DMAC(44)는 모든 데이터(Dα 또는 Dβ)가 제거된 것으로(남아있는 데이터가 없음) 결정한 다음, 단계 S4n에서 2560워드 데이터의 전송을 종료하기 위해 인터럽트 신호를 호스트 CPU(14)로 발생시킨다.
그후, 도 2에 도시된 단계 S5에서, 호스트 CPU(14)는 메인 메모리(16)로부터 데이터(Dα 또는 Dβ)를 제거하고, 또한 메인 메모리(16)로부터 참조 태그(50)를 제거하기 위한 데이터 전송 종료 처리를 수행한다.
상기 실시예에 있어서, 상기 설명된 것과 같이, 2560워드의 데이터가 호스트 CPU(14)로부터 사운드 프로세서(24)로 전송되면, 데이터 전송을 종료하기 위한 인터럽트, 즉, 단계 S4n에서의 처리가 한번만 발생한다. 따라서, 호스트 CPU(14)의 처리 부담이 상당히 감소된다.
사운드 프로세서(24)로 음악 사운드를 생성하기 위해, 자동 DMA 전송 처리가 아닌 DMA 전송 처리에 따라 메인 메모리(16)로부터 버퍼 메모리(40)로 2560워드 데이터가 전송될 때 발생하는 인터럽트들의 수의 비교 예가 도 9를 참조하여 이하 설명될 것이다.
비교 예에 있어서, 단계 S11에서 호스트 CPU(14)는 기록 시작 어드레스, 예를 들어, 버퍼 메모리(41)의 선두 어드레스(SA0)를 사운드 프로세서(24)에 표시한다.
단계 S12에서, 호스트 CPU(14)는 256워드의 데이터를 사운드 프로세서(24)로 전송하도록 DMAC(44)에 명령한다.
단계 S13에서, DMAC(44)는 256워드의 데이터를 사운드 프로세서(24)로 전송한다. 이때, 데이터의 32워드가 전송될 때마다, DMAC(44)는 호스트 CPU(14)에 요청하기 위해 버스 요청 신호를 전송하고 또한 버스 요청 취소 신호를 호스트 CPU(14)로 전송한다. 즉, 256워드의 데이터가 사운드 프로세서(24)로 전송되는 동안 8개의 버스 요청 신호들과 8개의 버스 요청 취소 신호들을 전송한다. 이제, 버퍼 메모리(41)에 기록하기 위한 256워드 데이터의 전송, 즉, DMA 전송이 종료된다.
DMA 전송이 종료되면, 단계 S14에서 DMAC(44)는 DMA 전송 종료를 나타내는 인터럽트 신호를 호스트 CPU(14)로 전송한다.
이제 호스트 CPU(14)는 인터럽트 처리를 수행한다.
단계 S11 내지 단계 S13의 처리에서 256워드의 데이터가 전송되어 기록되는 동안 및 그 후에, 사운드 프로세서(24)는 다른 버퍼 메모리(42)로부터 데이터를 판독하여 스피커(28)를 통해 음악 사운드를 재생한다.
다른 버퍼 메모리(42)로부터 256워드 데이터의 판독이 종료되면, 단계 S15에서 사운드 프로세서(24)는 256워드 데이터의 판독 종료를 나타내는 인터럽트 신호를 호스트 CPU(14)로 전송한다.
이때 호스트 CPU(14)는 인터럽트 처리를 다시 수행한다.
그후에, 단계 S11에서 호스트 CPU(14)는 기록 시작 어드레스, 예를 들어, 버퍼 메모리(42)의 선두 어드레스(SA1)를 사운드 프로세서(24)에 다시 표시한다.
비교 예에서, 상기 설명된 것과 같이, 단계 S11 내지 단계 S14의 처리는 사운드 프로세서(24)로 2560워드의 음악 사운드 데이터의 재생이 종료될 때까지 10번 반복된다.
따라서, 비교 예에 있어서, 2560워드의 데이터가 재생되는 동안, 호스트 CPU(14)에는 총 20번의 인터럽트가 발생한다(단계 S14에서 10번의 인터럽트, 단계 S15에서 10번의 인터럽트 발생).
따라서, 데이터 전송을 위한 호스트 CPU(14)의 처리 부담은 매우 크다.
상기 실시예에 따른 데이터 전송 처리에 있어서, 도 6을 참조하여 상기 설명된 것과 같이, 이중-버퍼 메모리(40)의 버퍼 메모리들 중 하나의 버퍼 메모리가 비 워지면, 다른 버퍼 메모리의 음악 사운드 데이터는 인터럽트 처리에 따라 전송되지 않는다.
구체적으로, 도 10에 도시된 것과 같이, 음악 사운드 데이터가 데이터 전송 소스로서 호스트 CPU(14)로부터 전송될 때, 데이터 전송 소스 프로세서로서 DMAC(44)와 호스트 CPU(14)는 버퍼 메모리(41(42))의 256워드의 저장 용량보다 큰 2560워드의 데이터 크기를 처리한다. 데이터 전송 처리(51)에 따라 버퍼 메모리가 완전히 채워질때까지 음악 사운드 데이터가 버퍼 메모리(41)로 전송된 후에, 데이터 전송 데스티네이션 프로세서로서 사운드 프로세서(24)는 일시적으로 데이터 전송을 중지한다. 다른 버퍼 메모리(42)의 음악 사운드 데이터가 사운드 프로세서(24)에 의해 재생되고 데이터 재생 전송 처리(출력 전송 처리)(54)에 따라 버퍼 메모리(42)가 비워지면, 사운드 프로세서(24)는 데이터 데스티네이션 메모리로서 빈 버퍼 메모리(42)를 설정한다. 그후, 사운드 프로세서(24)는 데이터 전송의 일시적인 중지를 취소하고, 빈 버퍼 메모리(42)로 음악 사운드 데이터를 전송하는 데이터 전송 처리(52)를 재개한다. 사운드 프로세서(24)가 버퍼 메모리들(41, 42)간을 전환하기 때문에, 호스트 CPU(12)는 부담이 되는 인터럽트 처리들을 수행할 필요가 없고, 인터럽트 없이 데이터 전송 처리를 수행할 수 있다.
따라서, 상기 실시예에 있어서, 데이터 전송이 명령된 후에, 2560워드의 데이터는 단지 데이터 요청들에 대한 핸드쉐이크(handshake) 처리에 의해서만 DMAC(44)와 사운드 프로세서(24) 사이에서 재생되고 전송될 수 있으며, 2560워드 데이터의 전송이 종료된 후에, 2560워드 데이터의 전송을 종료하기 위해 단지 하나 의 인터럽트 신호가 DMAC(44)로부터 호스트 CPU(14)로 전송된다.
따라서, 상기 실시예에 따른 데이터 전송 처리는 비교 예의 데이터 전송 처리보다 더 유리하다. 즉, 호스트 CPU(14)에 의해 수행되는 인터럽트 처리는 1/20으로 감소된다.
도 11은 음악 사운드 데이터로서 스테레오 데이터를 기록 및 재생하기 위한, 본 발명의 또다른 실시예에 따른 데이터 기록 및 재생 장치(10A)를 도시하는 블록도이다. 도 1에 도시된 데이터 기록 및 재생 장치(10)의 일부분과 동일한 데이터 기록 및 재생 장치(10A)의 부분은 동일한 참조 부호로 표시되며, 상세히 설명되지는 않을 것이다.
데이터 기록 및 재생 장치(10A)는 각각 256워드의 저장 용량을 갖는 4개의 버퍼 메모리들(41L, 41R, 42L, 42R)을 포함하는 버퍼 메모리(40A)를 포함한다. 버퍼 메모리들(41L, 41R)은 결합되어 버퍼 메모리(41A)를 이루고, 버퍼 메모리들(42L, 42R)은 결합되어 버퍼 메모리(42A)를 이룬다. 따라서, 버퍼 메모리(40A)는 데이터를 판독 및 기록하기 위해 교대로 전환될 수 있는 2개의 버퍼 메모리들(41A, 42A)을 갖는다.
사운드 프로세서(24)에는 사운드 출력 디바이스로서 오른쪽 스피커(28R)와 왼쪽 스피커(28L)가 인터페이스(26)를 통해 접속되어 있다. 스피커들(28R, 28L)은 총괄하여 스피커(28)라고 한다.
또한, 사운드 프로세서(24)에는 사운드 입력 장치로서 오른쪽 마이크로폰(32R)과 왼쪽 마이크로폰(32L)이 인터페이스(30)를 통해 접속되어 있다. 마이크로폰들(32R, 32L)은 총괄하여 마이크로폰(32)이라고 한다.
데이터 기록 및 재생 장치(10A)의 동작은 스테레오 음악 사운드 데이터를 재생하기 위한 데이터 전송 재생 처리를 나타내는 도 12 및 도 13을 참조하여 이하 설명될 것이다.
도 13의 단계 S21에서, 데이터 전송 처리(61)에 따라 256워드의 데이터가 메인 메모리(16)로부터 버퍼 메모리(41L)의 선두 어드레스 AS0(41L)으로 전송된다. 단계 S22에서, 데이터 전송 처리(62)에 따라 256워드의 데이터가 메인 메모리(16)로부터 버퍼 메모리(41R)의 선두 어드레스 AS1(41R)로 전송된다.
재생 전송 처리(65)에 있어서, 데이터는 동시에 버퍼 메모리(41L)와 버퍼 메모리(41R)로부터 판독되어 스피커들(28L, 28R)로부터 출력된다. 재생 전송 처리(65)동안, 단계 S23에서 데이터 전송 처리(63)에 따라 256워드의 데이터가 메인 메모리(16)로부터 버퍼 메모리(42L)의 선두 어드레스 AS0(42L)으로 전송되고, 단계 S24에서 데이터 전송 처리(64)에 따라 256워드의 데이터가 메인 메모리(16)로부터 버퍼 메모리(42R)의 선두 어드레스 AS1(42R)로 전송된다.
재생 전송 처리(65) 후에(도 13 참조), 또는 그렇지 않으면, 버퍼 메모리들(41L, 41R)이 비워지면, 다음 재생 전송 처리(66)가 시작된다. 다음 재생 전송 처리(66)에 있어서, 데이터는 버퍼 메모리(42L)와 버퍼 메모리(42R)로부터 동시에 판독되어 스피커들(28L, 28R)로부터 출력된다.
재생 전송 처리(66)가 종료되기 전에, 단계 S21에서 데이터 전송 처리(61)에 따라 256워드의 데이터가 메인 메모리(16)로부터 버퍼 메모리(41L)의 선두 어드레 스 AS0(41L)로 다시 전송되고, 단계 S22에서 데이터 전송 처리(62)에 따라 256워드의 데이터가 메인 메모리(16)로부터 버퍼 메모리(41R)의 선두 어드레스 AS1(41R)로 다시 전송된다.
상기 처리는 스테레오 음악 사운드 데이터를 간헐적으로 전송하여 연속적으로 재생하기 위해 반복된다.
도 14는 본 발명의 또다른 실시예에 따른 데이터 전송 순서 포맷의 멀티-채널 데이터 전송 처리를 도시한다. 도 14에 있어서, 메인 메모리(16)에 저장되어 있는 4-채널 스피커 시스템(채널 L1, R1, L2, R2)에 대한 데이터(Dαa)(데이터 D0 내지 D11)는 버퍼 메모리들(141L1, 141R1, 141L2, 141R2)과 버퍼 메모리들(142L1, 142R1, 142L2, 142R2)을 포함하는 버퍼 메모리(40B)로 전송되어 그로부터 연속적으로 재생된다.
도 14에 있어서, 먼저 전송될 데이터(D0, D1, D2, D3)가 메인 메모리(16)로부터 전송되어, 각각의 데이터 전송 처리들(71, 72, 73, 74)에 따라 지정된 순서로 버퍼 메모리들(141L1, 141R1, 141L2, 141R2)에 연속적으로 기록된다.
그후, 데이터(D0, D1, D2, D3)는 버퍼 메모리들(141L1, 141R1, 141L2, 141R2)로부터 동시에 판독되어, 데이터 재생 전송 처리에 따라 4개의 스피커들(도시되지 않음)로부터 음악 사운드로서 출력된다.
데이터 재생 전송 처리가 종료되기 전에, 두 번째로 전송될 데이터(D4, D5, D6, D7)가 메인 메모리(16)로부터 전송되어, 각각의 데이터 전송 처리들(75, 76, 77, 78)에 따라 지정된 순서로 버퍼 메모리들(142L1, 142R1, 142L2, 142R2)에 연속 적으로 기록된다.
데이터(D0, D1, D2, D3)가 동시에 판독되어 버퍼 메모리들(141L1, 141R1, 141L2, 141R2)이 비워지면, 데이터(D4, D5, D6, D7)가 버퍼 메모리들(142L1, 142R1, 142L2, 142R2)로부터 동시에 판독되어, 데이터 재생 전송 처리가 인터럽트되지 않고 수행된다.
각각의 데이터 전송 처리들(79, 80, 81, 82)에 따라 지정된 순서로 버퍼 메모리들(141L1, 141R1, 141L2, 141R2)이 비워지면, 데이터(D8, D9, D10, D11)는 빈 버퍼 메모리들(141L1, 141R1, 141L2, 141R2)에 연속적으로 기록된다.
이러한 방식으로, 데이터는 다수의 채널들에서 전송될 수 있다.
도 15는 본 발명의 다른 실시예에 따른 참조 태그 포맷의 멀티-채널 데이터 전송 처리를 도시한다. 도 15에 도시된 멀티-채널 데이터 전송 처리에 있어서, 도 14에 도시된 데이터(D0 내지 D12)와 유사한 데이터가 참조 태그(50B)를 사용하여 전송된다. 참조 태그 포맷에 있어서, 채널들(L1, R1, L2, R2)의 각각 256워드의 순차 데이터(D0, D4, D8, D12, D1, D5, D9, D13, D2, D6, D10, D14, D3)를 포함하는 데이터(Dβα)는 미리 선두 메모리 어드레스들(A1 내지 A13)에 기록되어 있고, 데이터가 판독되는 순서가 참조 태그(50B)에 미리 기록되어 있다.
도 15에 있어서, 참조 태그(50B)의 제 1 내지 제 4 어드레스들(A1, A5, A9, A13)이 참조되어, 데이터 전송 처리들(91, 92, 93, 94)에 따라 버퍼 메모리들(141L1, 141R1, 141L2, 141R2)에 데이터(D0, D1, D2, D3)가 연속적으로 기록된다.
그후, 데이터(D0, D1, D2, D3)는 버퍼 메모리들(141L1, 141R1, 141L2, 141R2)로부터 동시에 판독되어 재생된다.
데이터(D0, D1, D2, D3)의 재생이 종료되기 전에, 참조 태그(50B)의 제 5 내지 제 8 어드레스들(A2, A6, A10, A14)이 참조되어, 데이터 전송 처리들(95, 96, 97, 98)에 따라 버퍼 메모리들(142L1, 142R1, 142L2, 142R2)에 데이터(D4, D5, D6, D7)가 연속적으로 기록된다.
버퍼 메모리들(141L1, 141R1, 141L2, 141R2)로부터 데이터(D0, D1, D2, D3)가 동시에 판독되는 것이 종료되면, 데이터(D4, D5, D6, D7)가 버퍼 메모리들(142L1, 142R1, 142L2, 142R2)로부터 동시에 판독되기 시작한다. 동시에, 참조 태그(50B)의 제 9 내지 제 12 어드레스들이 참조되어, 데이터(D8, D9, D10, D11)가 버퍼 메모리들(141L1, 141R1, 141L2, 141R2)에 연속적으로 기록되기 시작한다.
이러한 방식으로, 참조 태그(50B)를 사용하여, 데이터는 다수의 채널들에서 전송되어 재생될 수 있다.
도 1 및 도 11에 도시된 데이터 기록 및 재생 장치(10, 10B)와 관련하여, 버퍼 메모리(40)와 스피커(28)로 메인 메모리(16)로부터 연속적으로 데이터를 재생하는 처리가 설명되었다. 데이터 기록 및 재생 장치(10, 10B)에 있어서, 음악 사운드가 사운드 입력 장치와 같은 마이크로폰(32) 등으로부터 입력되거나, 음악 사운드 데이터가 사운드 프로세서(24)에 의해 생성되면, 256워드의 음악 사운드 데이터는 버퍼 메모리(41)에 기록될 수도 있고, 데이터는 256워드의 음악 사운드 데이터 가 자동 DMA 전송 처리에 따라 버퍼 메모리(41)에 기록되는 것보다 더 빠르게 버퍼 메모리(42)로부터 전송될 수도 있다.
사운드 음악 프로세서와 같은 사운드 프로세서(24)로부터 호스트 CPU(14)로의 데이터 전송이 이하 더 상세히 설명될 것이다. 도 1에 있어서, 버퍼 메모리들(41, 42) 중 하나의 버퍼 메모리, 예를 들어, 버퍼 메모리(41)에의 데이터 기록이 종료되기 전에, 사운드 프로세서(24)는 다른 버퍼 메모리(42)로부터 데이터의 판독을 완료하여, 호스트 프로세서인 호스트 CPU(14)로 판독된 데이터를 전송한다. 버퍼 메모리(41)에의 데이터 기록이 종료되면, 사운드 프로세서(24)는 이제 비어 있는 다른 버퍼 메모리(42)에 데이터 기록을 시작한다. 따라서, 사운드 프로세서(24)로부터 버퍼 메모리(40), 즉, 버퍼 메모리(41) 또는 버퍼 메모리(42)로의 데이터 전송 또는 데이터 입력은 인터럽트되지 않는다.
데이터가 사운드 프로세서(24)로부터 호스트 CPU(14)로 전송될 때, 버퍼 메모리(40)로의 데이터 전송은 주로 사운드 프로세서(24)에 의해 제어되기 때문에, 전송 처리를 위해 호스트 CPU(14)에 부과되는 부담은 매우 작다.
실제로, 도 17에 도시된 것과 같이, 각각 256워드의 저장 용량을 갖는 버퍼 메모리들(41, 42)을 각각 포함하는 14개의 이중-버퍼 메모리들(40)에 대응하는 음악 사운드 데이터를 저장할 수 있는 메모리 영역(100)(즉, 512워드 × 14 = 7168워드에 대한 메모리 영역(100))을 이용할 수 있다.
사운드 프로세서(24)로부터 호스트 CPU(14)로 데이터를 전송하기 위한 자동 DMA 전송 처리에 따르면, 예를 들어, 이중-버퍼 메모리들(40)의 모든 14개의 버퍼 메모리들이 사운드 프로세서(24)에 의해 생성된 음악 사운드 데이터로 완전히 채워질 때, 사운드 프로세서(24)는 다른 14개의 버퍼 메모리들(42)에 데이터를 연속적으로 기록하기 위해 DMAC(44)에 데이터 전송 요청을 보낸다.
데이터 전송 요청이 수신될 때마다, DMAC(44)는 버퍼 메모리들(40)의 전체 메모리 영역(100)에 있는 데이터를 메인 메모리(16)로 전송한다. 따라서, 사운드 프로세서(24)에 의해 버퍼 메모리들(42)에 기록되는 데이터는 동시에 메인 메모리(16)로 전송되기 때문에, 데이터 전송 요청이 발생될 때 사운드 프로세서(24)는 기록된 데이터로 이미 완전히 채워져 있는 버퍼 메모리들(41)의 선두 어드레스들을 지정하고, 각 지정된 선두 어드레스에 대해 인터럽트 신호를 DMAC(44)로 발송한다.
이러한 방식으로, 사운드 프로세서(24)에 의해 생성된 데이터는 최소수의 인터럽트들로 메인 메모리(16)로 전송될 수 있다.
본 발명에 따르면, 상기 설명된 것과 같이, 데이터 전송 데스티네이션 프로세서는 데이터를 판독 및 기록하기 위한 버퍼 메모리들을 교대로 전환하기 때문에, 데이터 전송 소스 프로세서로 발송된 인터럽트들의 수는 데이터 전송 소스 프로세서에 대한 부담을 줄이도록 감소될 수 있다.
또한, 음악 사운드 프로세서는 데이터를 판독 및 기록하기 위한 버퍼 메모리들을 교대로 전환하기 때문에, 호스트 프로세서로 발송된 인터럽트들의 수는 호스트 프로세서에 대한 부담을 줄이도록 감소될 수 있다.
또한, 데이터는 음악 사운드 프로세서로부터 호스트 프로세서로 최소수의 인 터럽트들로 전송될 수 있다.
본 발명의 특정 바람직한 실시예들이 도시되고 상세히 설명되었지만, 첨부된 청구범위의 범위를 벗어나지 않고 다양한 변형들 및 수정들이 이루어질 수도 있다는 것이 이해되어야 한다.

Claims (14)

  1. 데이터를 전송하기 위한 장치로서:
    데이터 전송 소스 프로세서(14);
    기록 메모리와 판독 메모리 사이에서 교대로 전환될 수 있는 실질적으로 2개의 버퍼 메모리들(41, 42); 및
    데이터 전송 데스티네이션 프로세서(24)를 포함하며;
    상기 데이터 전송 소스 프로세서가 데이터 전송을 시작하기 위한 명령을 상기 데이터 전송 데스티네이션 프로세서로 송신할 때, 상기 데이터 전송 데스티네이션 프로세서는 상기 2개의 버퍼 메모리들 중 하나의 버퍼 메모리를 상기 기록 메모리로 전환하고 상기 2개의 버퍼 메모리들 중 다른 버퍼 메모리를 상기 판독 메모리로 전환하며, 상기 2개의 버퍼 메모리들로부터의 데이터 판독 및 상기 2개의 버퍼 메모리들로의 데이터 기록을 제어하도록 배열되는, 데이터 전송 장치.
  2. 제 1 항에 있어서,
    상기 데이터 전송 데스티네이션 프로세서(24)는, 데이터 전송을 시작하기 위한 상기 명령이 상기 데이터 전송 소스 프로세서로부터 송신될 때, 상기 버퍼 메모리들 중 상기 판독 메모리가 아닌 하나의 버퍼 메모리를 상기 기록 메모리로서 지정하고 상기 데이터 전송 소스 프로세서(14)에 데이터 전송 요청을 송신하고; 상기 데이터가 상기 데이터 전송 소스 프로세서로부터 전송될 때, 상기 기록 메모리로서 지정된 상기 버퍼 메모리가 완전히 채워질 때까지 상기 버퍼 메모리에 데이터를 기록하고, 그후 상기 판독 메모리로서 지정된 상기 버퍼 메모리가 비워질 때까지 대기하고; 상기 판독 메모리로서 지정된 상기 버퍼 메모리가 비워질 때, 상기 데이터 전송 소스 프로세서에 데이터 전송 요청을 송신하고, 상기 버퍼 메모리들을 상기 판독 메모리와 기록 메모리 사이에서 전환하고, 상기 버퍼 메모리들로부터의 데이터 판독과 상기 버퍼 메모리들로의 데이터 기록을 제어하며; 또한 상기 전송된 데이터의 전체 크기가 기록될 때까지 상기 버퍼 메모리들로부터의 데이터 판독과 상기 버퍼 메모리들로의 데이터 기록을 연속적으로 제어하는 수단을 포함하는, 데이터 전송 장치.
  3. 제 1 항에 있어서,
    상기 데이터 전송 데스티네이션 프로세서(24)는, 데이터 전송을 시작하기 위한 상기 명령이 상기 데이터 전송 소스 프로세서로부터 송신될 때, 상기 버퍼 메모리들 중 상기 판독 메모리가 아닌 하나의 버퍼 메모리를 상기 기록 메모리로서 지정하고 상기 데이터 전송 소스 프로세서(14)로 데이터 전송 요청을 송신하고; 미리 결정된 크기의 데이터가 상기 데이터 전송 소스 프로세서로부터 전송될 때 상기 기록 메모리로서 지정된 상기 버퍼 메모리에 상기 미리 결정된 크기의 데이터를 기록하고, 그후 상기 판독 메모리로서 지정된 상기 버퍼 메모리가 비워질 때까지 대기하고; 상기 판독 메모리로서 지정된 상기 버퍼 메모리가 비워질 때, 상기 데이터 전송 소스 프로세서에 데이터 전송 요청을 송신하고, 상기 버퍼 메모리들을 상기 판독 메모리와 기록 메모리 사이에서 전환하고, 상기 버퍼 메모리들로부터의 데이터 판독과 상기 버퍼 메모리들로의 데이터 기록을 제어하며; 또한 상기 전송된 데이터의 전체 크기가 기록될 때까지 상기 버퍼 메모리들로부터의 데이터 판독과 상기 버퍼 메모리들로의 데이터 기록을 연속적으로 제어하는 수단을 포함하는, 데이터 전송 장치.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 2개의 버퍼 메모리들 각각은 복수의 버퍼 메모리들(41L, 41R, 42L, 42R)을 포함하는, 데이터 전송 장치.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 데이터 전송 데스티네이션 프로세서(24)는 음악 사운드 프로세서(24)를 포함하고, 상기 전송된 데이터는 음악 사운드 데이터를 포함하는, 데이터 전송 장치.
  6. 데이터 전송 시스템으로서:
    버스(12);
    상기 버스에 접속된 호스트 프로세서(14);
    상기 버스에 접속된 음악 사운드 프로세서(24); 및
    기록 메모리와 판독 메모리 사이에서 교대로 전환될 수 있고, 상기 음악 사운드 프로세서에 접속되는 실질적으로 2개의 버퍼 메모리들(41, 42)을 포함하며,
    상기 버스와 상기 음악 사운드 프로세서를 통해 상기 호스트 프로세서로부터 상기 버퍼 메모리들로 음악 사운드 데이터가 전송되도록 배열되고,
    상기 호스트 프로세서가 데이터 전송을 시작하기 위한 명령을 상기 음악 사운드 프로세서로 전송할 때, 상기 음악 사운드 프로세서는, 상기 2개의 버퍼 메모리들 중 하나의 버퍼 메모리를 상기 기록 메모리로 전환하고, 상기 2개의 버퍼 메모리들 중 다른 버퍼 메모리를 상기 판독 메모리로 전환하고, 상기 2개의 버퍼 메모리들로부터의 데이터 판독과 상기 2개의 버퍼 메모리들로의 데이터 기록을 제어하기 위한 수단을 포함하는, 데이터 전송 시스템.
  7. 제 6 항에 있어서,
    상기 음악 사운드 프로세서(24)는, 데이터 전송을 시작하기 위한 상기 명령이 상기 호스트 프로세서로부터 송신될 때, 상기 버퍼 메모리들 중 상기 판독 메모리가 아닌 하나의 버퍼 메모리를 상기 기록 메모리로서 지정하고 상기 호스트 프로세서에 데이터 전송 요청을 송신하고; 상기 데이터가 상기 호스트 프로세서로부터 전송될 때, 상기 기록 메모리로서 지정된 상기 버퍼 메모리가 완전히 채워질때까지 상기 버퍼 메모리에 데이터를 기록하고, 그후 상기 판독 메모리로서 지정된 상기 버퍼 메모리가 비워질 때까지 대기하고; 상기 판독 메모리로서 지정된 상기 버퍼 메모리가 비워질 때, 상기 호스트 프로세서에 데이터 전송 요청을 송신하고, 상기 버퍼 메모리들을 상기 판독 메모리와 기록 메모리 사이에서 전환하고, 상기 버퍼 메모리들로부터의 데이터 판독과 상기 버퍼 메모리들로의 데이터 기록을 제어하며; 또한 상기 전송된 데이터의 전체 크기가 기록될 때까지 상기 버퍼 메모리들로부터의 데이터 판독과 상기 버퍼 메모리들로의 데이터 기록을 연속적으로 제어하는 수단을 포함하는, 데이터 전송 시스템.
  8. 제 6 항에 있어서,
    상기 음악 사운드 프로세서(24)는, 데이터 전송을 시작하기 위한 상기 명령이 상기 호스트 프로세서로부터 송신될 때, 상기 버퍼 메모리들 중 상기 판독 메모리가 아닌 하나의 버퍼 메모리를 상기 기록 메모리로서 지정하고 상기 호스트 프로세서(14)에 데이터 전송 요청을 송신하고; 미리 결정된 크기의 데이터가 상기 호스트 프로세서로부터 전송될 때, 상기 기록 메모리로서 지정된 상기 버퍼 메모리에 상기 미리 결정된 크기의 데이터를 기록하고, 그후 상기 판독 메모리로서 지정된 상기 버퍼 메모리가 비워질 때까지 대기하고; 상기 판독 메모리로서 지정된 상기 버퍼 메모리가 비워질 때, 상기 호스트 프로세서에 데이터 전송 요청을 송신하고, 상기 버퍼 메모리들을 상기 판독 메모리와 기록 메모리 사이에서 전환하고, 상기 버퍼 메모리들로부터의 데이터 판독과 상기 버퍼 메모리들로의 데이터 기록을 제어하며; 또한 상기 전송된 데이터의 전체 크기가 기록될 때까지 상기 버퍼 메모리들로부터의 데이터 판독과 상기 버퍼 메모리들로의 데이터 기록을 연속적으로 제어하는 수단을 포함하는, 데이터 전송 시스템.
  9. 제 6 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 2개의 버퍼 메모리들 각각은 복수의 버퍼 메모리들(41L, 41R, 42L, 42R)을 포함하는, 데이터 전송 시스템.
  10. 제 9 항에 있어서,
    상기 복수의 버퍼 메모리들은 좌·우 스테레오 음악 사운드 데이터를 저장하는, 데이터 전송 시스템.
  11. 데이터 전송 시스템으로서:
    버스(12);
    상기 버스에 접속된 호스트 프로세서(14);
    상기 버스에 접속된 음악 사운드 프로세서(24); 및
    기록 메모리와 판독 메모리 사이에서 교대로 전환될 수 있고, 상기 음악 사운드 프로세서에 접속되는 실질적으로 2개의 버퍼 메모리들(41, 42)을 포함하며,
    상기 버스를 통해 상기 음악 사운드 프로세서로부터 상기 호스트 프로세서로 음악 사운드 데이터가 전송되도록 배열되고,
    상기 호스트 프로세서로 데이터가 전송될 때, 상기 음악 사운드 프로세서는, 상기 2개의 버퍼 메모리들 중 하나의 버퍼 메모리를 상기 기록 메모리로 전환하고, 상기 2개의 버퍼 메모리들 중 다른 버퍼 메모리를 상기 판독 메모리로 전환하고, 상기 2개의 버퍼 메모리들로부터의 데이터 판독과 상기 2개의 버퍼 메모리들로의 데이터 기록을 제어하는 수단을 포함하는, 데이터 전송 시스템.
  12. 제 11 항에 있어서,
    상기 음악 사운드 프로세서(24)는, 상기 버퍼 메모리들 중 하나의 버퍼 메모리에 대한 데이터 기록이 종료되기 전에, 다른 버퍼 메모리로부터의 데이터 판독을 완료하고 상기 판독된 데이터를 상기 호스트 프로세서로 전송하고, 상기 버퍼 메모리들 중 상기 하나의 버퍼 메모리에 대한 데이터 기록이 종료될 때 비어있는 상기 다른 버퍼 메모리에 데이터 기록을 시작하기 위한 수단을 포함하는, 데이터 전송 시스템.
  13. 버스(12), 상기 버스에 접속된 호스트 프로세서(14), 상기 버스에 접속된 출력 프로세서(24), 실질적으로 2개의 버퍼 메모리들(41, 42) 및 상기 출력 프로세서에 접속된 출력 디바이스(28)를 갖는 데이터 전송 시스템의 데이터 전송 방법으로서:
    상기 버퍼 메모리들 중 하나의 버퍼 메모리가 상기 데이터로 완전히 채워질 때까지 상기 호스트 프로세서로부터 상기 출력 프로세서로 데이터를 전송하는 단계;
    그후, 상기 데이터의 전송을 일시적으로 중지하는 단계;
    상기 출력 프로세서로 상기 버퍼 메모리들 중 다른 버퍼 메모리로부터의 데이터를 판독하여, 상기 판독된 데이터를 상기 출력 프로세서로부터 상기 출력 디바이스로 출력하는 단계;
    상기 다른 버퍼 메모리가 비워질 때, 상기 다른 버퍼 메모리를 전송 데스티네이션 메모리로서 설정하고, 데이터 전송의 상기 일시 중지를 취소하는 단계; 및
    상기 호스트 프로세서로부터 상기 다른 버퍼 메모리로의 데이터 전송을 재개하는 단계를 포함하는, 데이터 전송 방법.
  14. 제 13 항에 있어서,
    상기 데이터는 음악 사운드 데이터를 포함하는, 데이터 전송 방법.
KR1020017016162A 1999-06-16 2000-06-15 이중 버퍼링을 사용하는 데이터 전송 장치, 데이터 전송시스템, 및 데이터 전송 방법 KR100653569B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP17032599A JP3671120B2 (ja) 1999-06-16 1999-06-16 データ転送装置、データ転送システムおよびデータ転送方法
JPJP-P-1999-00170325 1999-06-16

Publications (2)

Publication Number Publication Date
KR20020015349A KR20020015349A (ko) 2002-02-27
KR100653569B1 true KR100653569B1 (ko) 2006-12-05

Family

ID=15902869

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017016162A KR100653569B1 (ko) 1999-06-16 2000-06-15 이중 버퍼링을 사용하는 데이터 전송 장치, 데이터 전송시스템, 및 데이터 전송 방법

Country Status (11)

Country Link
EP (1) EP1188162B1 (ko)
JP (1) JP3671120B2 (ko)
KR (1) KR100653569B1 (ko)
CN (1) CN1165046C (ko)
AU (1) AU5248300A (ko)
BR (1) BR0011668A (ko)
CA (1) CA2374984A1 (ko)
MX (1) MXPA01012837A (ko)
RU (1) RU2001133097A (ko)
TW (1) TW522307B (ko)
WO (1) WO2000077786A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100499388B1 (ko) * 2003-06-16 2005-07-04 엘지전자 주식회사 멀티 보코더의 메모리 구조 및 메모리 관리 방법
JP2006048378A (ja) * 2004-08-04 2006-02-16 Sanyo Electric Co Ltd メモリ制御装置及びこれを具えた電子機器
CN100378696C (zh) * 2005-12-22 2008-04-02 北京中星微电子有限公司 音频处理器及其控制方法
US20090319933A1 (en) * 2008-06-21 2009-12-24 Microsoft Corporation Transacted double buffering for graphical user interface rendering
CN101751961B (zh) * 2008-12-10 2011-12-07 联阳半导体股份有限公司 多媒体播放方法及其播放装置
CN101515314A (zh) * 2009-03-26 2009-08-26 北京中星微电子有限公司 一种播放主控制器侧多媒体文件的方法及移动终端
CN103119548A (zh) * 2010-09-23 2013-05-22 马维尔以色列(M.I.S.L.)有限公司 低等待时间先进先出(fifo)缓存
JP5971550B2 (ja) * 2011-03-28 2016-08-17 ヤマハ株式会社 オーディオデータ入力装置および出力装置
CN103593148B (zh) * 2013-11-08 2017-10-27 大唐移动通信设备有限公司 一种cdf侧离线话单数据快速存取的方法及装置
US10444761B2 (en) * 2017-06-14 2019-10-15 Trifo, Inc. Monocular modes for autonomous platform guidance systems with auxiliary sensors
US10191871B2 (en) 2017-06-20 2019-01-29 Infineon Technologies Ag Safe double buffering using DMA safe linked lists
CN108920093B (zh) * 2018-05-30 2022-02-18 北京三快在线科技有限公司 数据读写方法、装置、电子设备及可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4378594A (en) * 1980-10-24 1983-03-29 Ncr Corporation High speed to low speed data buffering means
JPH079590B2 (ja) * 1986-10-16 1995-02-01 株式会社河合楽器製作所 電子楽器
DE69128161T2 (de) * 1990-03-19 1998-04-09 Canon Kk Standbild-Wiedergabegerät
JP3307807B2 (ja) * 1995-09-29 2002-07-24 三洋電機株式会社 映像信号処理装置
JP3378710B2 (ja) * 1995-10-16 2003-02-17 三洋電機株式会社 縮小画像の書き込み/読み出し方法及び縮小画像処理回路
US5854910A (en) * 1996-10-21 1998-12-29 Advanced Micro Devices, Inc. Method for accessing control and status registers across a peer-peer bus

Also Published As

Publication number Publication date
CN1355920A (zh) 2002-06-26
JP3671120B2 (ja) 2005-07-13
KR20020015349A (ko) 2002-02-27
WO2000077786A1 (en) 2000-12-21
TW522307B (en) 2003-03-01
JP2000357150A (ja) 2000-12-26
CN1165046C (zh) 2004-09-01
AU5248300A (en) 2001-01-02
MXPA01012837A (es) 2002-07-30
CA2374984A1 (en) 2000-12-21
RU2001133097A (ru) 2007-01-27
EP1188162A1 (en) 2002-03-20
EP1188162B1 (en) 2012-07-04
BR0011668A (pt) 2002-04-02

Similar Documents

Publication Publication Date Title
KR101198981B1 (ko) 메모리 제어기
KR100653569B1 (ko) 이중 버퍼링을 사용하는 데이터 전송 장치, 데이터 전송시스템, 및 데이터 전송 방법
JPH08292842A (ja) ビデオサーバ装置
EP1245027B1 (en) USAGE OF AN SDRAM AS STORAGE FOR CORRECTION AND TRACK BUFFERING IN FRONTEND ICs OF OPTICAL RECORDING OR REPRODUCTION DEVICES
JP3024686B2 (ja) 記憶サブシステム
JP4023332B2 (ja) 記録再生装置
KR100647446B1 (ko) 데이터 스트림 인터리빙 회로 및 방법
JPH10164544A (ja) データ集中管理型音・動画再生システム
JP4106938B2 (ja) データ転送制御装置
JPH09219064A (ja) ディスク再生装置
JPH1185672A (ja) データ伝送装置
JPH10210447A (ja) データ集中管理型音・動画再生システム
JPH10164516A (ja) データ集中管理型音・動画再生システム
JP2000215605A (ja) デ―タ記録再生装置
JP2000050231A (ja) 映像音声情報提供システム
JPH07200178A (ja) 情報記憶媒体利用システム
JP2000148399A (ja) 記録装置
JP2000322824A (ja) データ記録再生装置及びデータ記録再生方法
JPH11232168A (ja) マルチ・チャネル記憶装置
JPH10172232A (ja) 情報再生装置
JPH0490248A (ja) 音声ファイル記憶装置
JPH07203346A (ja) データ記録再生装置
JP2004220695A (ja) 記録再生装置及び記録再生方法
JPH04144357A (ja) 静止画再生装置
JP2000047828A (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: 20121114

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131031

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141103

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151102

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee