KR20010110651A - 전송영역으로 반복하는 복수의 데이터를 전송하는 시스템 - Google Patents

전송영역으로 반복하는 복수의 데이터를 전송하는 시스템 Download PDF

Info

Publication number
KR20010110651A
KR20010110651A KR1020010030748A KR20010030748A KR20010110651A KR 20010110651 A KR20010110651 A KR 20010110651A KR 1020010030748 A KR1020010030748 A KR 1020010030748A KR 20010030748 A KR20010030748 A KR 20010030748A KR 20010110651 A KR20010110651 A KR 20010110651A
Authority
KR
South Korea
Prior art keywords
transfer
data
address
transmission
register
Prior art date
Application number
KR1020010030748A
Other languages
English (en)
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 KR20010110651A publication Critical patent/KR20010110651A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

복수의 데이터 전송영역을 주기적으로 이용하는 데이터 전송에 필요한 CPU의 제어 부담을 경감시키는 데이터 전송제어장치가 제공된다. 전송제어장치를 구성하는 DMAC(3)는, CPU(2)에 의해 전송원 또는 전송처의 전송개시 어드레스가 초기설정되고, 전송개시 어드레스를 기점으로 전송원에서의 전송요구에 응답하는 데이터 전송이 소정의 데이터량에 달할 때마다 CPU에 인터럽트(110, 111, 104)를 요구하고, 인터럽트를 소정의 복수회 요구할 때마다 전송원 또는 전송처의 어드레스를 전송개시 어드레스로 초기화한다. CPU는 일단 DMAC에 데이터 전송조건을 설정한 후에는, 유한개의 메모리 영역(MA, MB)을 반복하여 이용하고 음성 데이터를 수신하기 위한 데이터 전송제어를 위해 어떠한 재설정 처리도 행하지 않고 데이터 처리를 계속할 수 있다.

Description

전송영역으로 반복하는 복수의 데이터를 전송하는 시스템{A System for Transferring Data of Reusing a Plurality of Data Transferring Area Cyclically}
본 발명은, DMAC(Direct Memory Access Controller) 등의 데이터 전송제어장치나 상기 데이터 전송제어장치를 내장한 마이크로 컴퓨터 등에 의한 데이터 전송 제어기술에 관한 것으로, 예를 들면 휴대전화기에서의 레이어 처리나 음성 부호화 복호 처리시에 데이터 버퍼링에 적용하는 유효한 기술에 관한 것이다.
종래의 DMAC는, 전송원 어드레스, 전송처 어드레스 및 전송어 수(전송회수) 등이 미리 연산제어장치에 의해 초기 설정되며, 전송요구가 있으면, 상기 초기설정조건에 따라 데이터 전송을 개시한다. 메모리와 메모리와의 사이에서의 데이터 전송과 같은 듀얼 어드레싱 모드에 의한 데이터 전송에서는, 데이터 전송할 때마다, 전송원 어드레스 및 전송처 어드레스를 각각 갱신하고, 지정된 전송어 수의 데이터 전송을 순차적으로 실행해 간다. 메모리와 주변회로와의 사이에서 데이터 전송과 같은 싱글 어드레싱 모드에 의한 데이터 전송에서는, 데이터 전송할 때마다, 전송원 어드레스 또는 전송처 어드레스를 갱신하고, 지정된 전송어 수의 데이터 전송을 순차적으로 실행해 간다.
상기 CPU 등의 연산제어장치는 상기 DMAC가 데이터 전송제어를 부담하고 있는 동안에, 다른 데이터 처리를 행할 수 있다. 예를 들면, GSM(Global System For Mobile Communication) 휴대전화의 음성 코덱(codec)(음성 부호화 복호화 처리)을 타겟으로 하는 데이터 프로세서에 있어서, 송신해야 할 음성 데이터를 DMAC가 데이터 버퍼에 축적되어 있을 때, 이것에 병행하여 CPU는, 이미 데이터 버퍼에 축적된 음성 데이터를 부호화하기 위한 처리를 행할 수 있다.
본 발명자는, GSM 등의 휴대전화에서의 음성코덱과 같은 처리와 관련하여, DMAC에 의한 데이터 전송제어에 대하여 검토하였다.
예를 들면, 음성 데이터는 8KHz로 샘플링되고, 순차적으로 데이터 프로세서로 전송되며, 데이터 프로세서는 그 데이터를 DMAC를 이용하여 메모리상에 저장한다. 그리고 음성 데이터 160 샘플분의 데이터를 하나의 덩어리로 하여, 음성 압축처리를 행한다. 이때 음성압축처리를 한창 행하고 있는 중에도 음성 데이터는 전송되어 오기 때문에, 압축을 행하고 있는 데이터를 지우지 않고 음성 데이터를 축적해 가지 않으면 안된다. 그 대책으로서, 음성 데이터의 저장장소를 2개소 준비하고, 160 샘플분의 데이터가 모일 때마다 DMAC의 데이터 전송제어조건을 변경함으로써, 2개소의 저장장소에 교대로 데이터를 버퍼링함으로써 처리할 수 있다.
그러나, 이 수법에서는, 데이터 프로세서의 CPU는, 음성압축처리 전에 매회 DMAC의 데이터 전송조건을 설정 변경하기 위한 처리를 행해야 하므로, CPU의 처리량이 그만큼 많아져버리는 것이 본 발명자에 의해 밝혀졌다.
이와 같이, 순차적으로 데이터를 수신하면서 메모리 등에 축적하고, 특정량의 데이터를 수신할 때마다, 데이터 축적처리와 병렬로 이미 축적되어 있는 데이터를 이용한 신호처리 등을 행할 때, 상기 특정량의 데이터를 한 덩어리로 하여 이용하는 처리에서는 그 데이터를 데이터 처리가 종료하기까지 유지하지 않으면 안되고, 적어도 2면 버퍼를 준비하여, 그 한 쪽에 축적되어 있는 데이터를 처리하고 있을 때는 다른 쪽을 이용하여 데이터의 축적을 계속해 갈 필요가 있다. 그러기 위해서는, 2개소의 저장 장소에 교대로 데이터를 버퍼링할 수 있도록, DMAC의 데이터 전송조건을 변경해 가는 것이 필요해진다.
이 때, 하나의 데이터 버퍼에 대하여 데이터 전송을 완료할 때마다 DMAC에 또 하나의 데이터 버퍼의 선두 어드레스를 설정하여, 버퍼 영역을 교대로 전환하여 제어하는 것도 가능하지만, 복수 영역에 대하여 연속으로 데이터 전송을 가능하게하면, 복수영역에 데이터 전송을 완료할 때마다, DMAC에 데이터 전송제어조건을 재설정하면 된다. 예를 들면 2면 버퍼를 이용할 경우, 2면의 버퍼에 데이터를 축적할 때마다 데이터 전송조건을 재설정하면 되고, 데이터 전송조건 설정을 위한 CPU의 부담은 반감한다. 이러한 복수 영역의 데이터 연속전송을 가능하게 한 DMAC에 대해서는 예를 들면 JP-A-5-20263(USP 5,325,489)에 기재되어 있다.
이 때, 하나의 버퍼에 데이터가 축적된 것을 CPU에 통지하여 신호처리 등을 개시시키는데는, DMAC는 하나의 버퍼에 데이터의 축적을 완료할 때마다 CPU에 인터럽트를 요구하면 된다. 그러한 인터럽트 수법과 유사한 기술로서, JP-A-1-216456에는, 자기디스크 장치에서 주기억장치로의 DMA 전송에 있어서 섹터분의 데이터를 전송할 때마다 CPU에 인터럽트 신호를 발생하고, 그 인터럽트에 응답하여 CPU에 데이터 처리를 실행시키는 발명의 기재가 있다.
그러나, 상술한 복수영역 연속 데이터가 전송 가능한 기술이라도 2면 버퍼의 경우에는 CPU에 의한 데이터 전송제어조건의 설정 부담이 반감하는데 지나지 않고, 다시 CPU의 부담을 경감하는데는 버퍼의 수를 증가시켜야 하며, 리소스의 유한성을 고려하면, 상기 공지 기술에서는 한계가 있는 것이 본 발명자에 의해 밝혀졌다.
본 발명의 목적은, 복수의 데이터 전송영역을 주기적으로 이용하여 행하는 데이터 전송에 필요한 제어 부담을 경감시킬 수 있는 데이터 전송제어장치를 제공하는데 있다.
본 발명의 다른 목적은, 순차적으로 데이터를 수신하면서 메모리 등에 축적하고, 특정량의 데이터를 축적할 때마다, 다음 데이터의 축적처리에 병렬하여 이미축적되어 있는 데이터를 이용한 일련의 처리에서의 CPU 등에 의한 데이터 전송제어조건의 설정처리 부담을 경감시킬 수 있는 데이터 프로세서를 제공하는데 있다.
본 발명의 그 이외의 다른 목적은, 순차적으로 데이터를 수신하면서 메모리 등에 축적하고, 특정량의 데이터를 축적할 때마다, 다음 데이터의 축적처리에 병렬하여 이미 축적되어 있는 데이터를 이용한 일련의 처리를 행하는 데이터 처리 시스템에서의 데이터 처리효율을 향상시키는데 있다.
본 발명의 상기 및 그 이외의 목적과 신규한 특징은 본 명세서의 기술 및 첨부도면에서 명백해질 것이다.
도 1은, 본 발명에 관한 데이터 프로세서의 일예를 나타내는 블록도,
도 2는, 전송원 어드레스를 고정으로 하고, 전송처 어드레스를 순차적으로 갱신하는 싱글 어드레싱 모드(single addressing mode)로 특화한 DMAC의 제1예를 나타내는 블록도,
도 3은, 전송회수와 2면 버퍼와의 관계를 나타내는 설명도,
도 4는, 도 2의 DMAC의 데이터 전송동작을 전체적으로 나타내는 동작 설명도,
도 5는, 데이터 프로세서를 적용한 GSM 방식 휴대전화 시스템의 일예를 나타내는 블록도,
도 6은, 도 5의 휴대전화 시스템에 있어서 A/D 변화기에서 출력되는 디지털 음성신호를 주변회로의 SCI를 통하여 메모리에 축적하면서, 그 디지털 음성신호를 부호화할 때의 동작을 예시하는 설명도,
도 7은, 싱글 어드레싱 모드로 특화하고 임의의 메모리 영역을 이용할 수 있는 제2예에 관한 DMAC를 나타내는 블록도,
도 8은, 도 7의 DMAC의 동작 설명도,
도 9는, 임의의 메모리 영역을 예시하는 설명도,
도 10은, 싱글 어드레싱 모드로 특화하고 전송원 또는 전송처 중 한 쪽을 2면버퍼로 선택 가능하게 한 제3예에 관한 DMAC를 나타내는 블록도,
도 11은, 싱글 어드레싱 모드로 특화한 DMAC의 제4예를 나타내는 블록도,
도 12는, 싱글 어드레싱 모드로 특화하고 3면 버퍼를 이용하여 데이터 전송제어가 가능한 제5예에 관한 DMAC를 나타내는 블록도,
도 13은, 도 12의 DMAC에 의한 데이터 전송동작을 예시하는 설명도,
도 14는, 3면 버퍼를 예시하는 설명도,
도 15는, 부호화 대상 데이터와 단기예측처리에 필요한 데이터와의 관계를 예시하는 설명도,
도 16은, 3면 버퍼를 이용하여 단기예측처리를 행하는 이점을 설명하는 설명도이다.
본원에서 개시되는 발명의 태양을 설명하면 하기와 같다.
[1] 데이터 전송제어장치는, 외부에서 전송원 또는 전송처의 전송개시 어드레스가 초기 설정되는 초기치 레지스터를 가지며, 제어수단은, 전송개시 어드레스를 기점으로 외부에서의 전송요구에 응답하는 데이터 전송이 소정의 데이터량에 달할 때마다 외부에 인터럽트를 요구하고, 상기 인터럽트를 소정의 복수회 요구할 때마다 전송원 또는 전송처의 어드레스를 상기 초기치 레지스터의 상기 전송개시 어드레스로 초기화한다.
상기 전송제어장치를 채용한 데이터 프로세서는 반도체 칩에 상기 전송제어장치와 함께 CPU와 같은 연산제어장치를 포함한다.
상기 전송제어장치를 채용한 데이터 처리 시스템은, 상기 전송제어장치와 함께, 연산제어장치와, 상기 연산제어장치 및 전송제어장치에 의해 액세스 가능한RAM과, 상기 전송제어장치에 전송요구를 발행하는 주변회로를 갖는다. 상기 전송제어장치는 연산제어장치에 의해 설정된 전송제어조건에서 나타나는 RAM상의 전송개시 어드레스를 기점으로 상기 주변회로에서의 전송요구에 응답하는 RAM으로의 데이터 전송이 소정의 데이터량에 달할때 마다 연산제어장치에 인터럽트를 요구하고, 상기 인터럽트를 소정의 복수회 요구할 때마다 전송처 또는 전송원의 어드레스를 상기 전송개시 어드레스로 초기화한다. 상기 연산제어장치는 전송제어장치에서의 인터럽트를 접수한 후에 당해 인터럽트가 요구되기까지 RAM에 전송된 데이터를 판독하여 데이터 처리를 행한다.
상기한 수단에 의하면, 일정량의 데이터 전송이 완료될 때마다 인터럽트를 출력한 후, CPU 등의 연산제어장치는 일정량의 데이터 전송이 완료된 데이터 영역에서 데이터를 판독하여 데이터 처리를 행할 수 있고, 이것에 병행하여 데이터 전송제어장치는 다음의 영역에 데이터를 축적하는 전송제어를 CPU 등의 연산제어장치의 제어를 필요로 하지 않고 계속할 수 있다.
또한, 인터럽트가 소정의 복수회 요구될 때마다 상기 초기치 레지스터의 전송원 또는 전송처의 어드레스를 상기 전송개시 어드레스로 초기화한 후, 유한개수의 데이터 영역을 주기적으로 이용하는 데이터 전송제어시에, CPU 등의 연산제어장치는 전송제어조건을 재설정하는 부담에서 해방된다. 다시 말하면, 연속하는 다수의 데이터 영역을 이용하지 않고, 한정된 리소스를 사용하는 것만으로도, CPU 등의 연산제어장치에 의한 전송제어조건의 재설정 조작의 부담을 경감하여, 끊임없이 데이터 전송과 데이터 처리를 병렬로 계속시키는 것이 가능해진다. 예를 들면 2면 버퍼를 이용하는 것만으로도 상기 효과를 얻을 수 있다.
또한, 상술한 바와 같이 복수의 데이터 영역의 전환과 주기적으로 전송조건을 설정하는 처리를 전송제어장치측에서 자동적으로 행하기 때문에, 데이터 전송제어의 처리 부담이 경감된 만큼 연산제어장치를 다른 처리로 할당하는 것이 가능해지며, 데이터 처리 시스템 전체로 하여 데이터 처리효율 향상에 기여한다.
[2] 본 발명의 구체적인 태양에 의한 데이터 전송제어장치는, 외부에서 전송제어 어드레스 정보가 설정 가능한 초기치 레지스터와, 전송원에서 전송처로의 데이터를 전송할 때마다 전송제어 어드레스 정보를 갱신하는 어드레스 계수수단과, 상기 초기치 레지스터로 설정된 전송제어 어드레스 정보가 셋트되며, 셋트된 전송제어 어드레스 정보가 상기 어드레스 계수수단에 의해 순차적으로 갱신되는 템포러리 어드레스 레지스터와, 전송원에서 전송처로의 데이터를 전송할 때마다 전송회수를 제1의 목적회수까지 계수하는 동작을 반복 가능한 전송회수 계수수단과, 상기 전송회수 계수수단에 의한 상기 제1의 목적회수까지 계수하는 동작의 반복회수를 제2의 목적회수까지 계수하는 동작을 반복 가능한 반복회수 계수수단과, 데이터 전송요구에 응답하여 전송원에서 전송처로의 데이터 전송동작을 개시시켜, 상기 전송회수 계수수단이 제1의 목적회수까지 계수할 때마다 인터럽트 신호를 출력하고, 상기 반복회수 계수수단이 제2의 목적회수까지 계수할 때마다 상기 초기치 레지스터에서 상기 템포러리 레지스터에 전송제어 어드레스 정보를 설정하는 제어수단을 포함한다.
상기 데이터 전송제어장치에서, 싱글 어드레싱 모드에서의 전송처 어드레스를 메모리 어드레스로 할 경우, 상기 템포러리 어드레스 레지스터는 전송처 어드레스를 보유하는 데스티네이션 어드레스 레지스터(destination address register)가 된다. 이때, 상기 초기치 레지스터는 전송처의 선두 어드레스가 설정되는 이니셜 어드레스 레지스터(initial address register)이다. 상기 제어수단은 데이터 전송요구에 응답하여 전송원 어드레스의 데이터를 상기 데스티네이션 어드레스 레지스터에 의해 나타나는 전송처 어드레스에 저장하는 데이터 전송제어를 개시한다. 데이터 전송회수가 제1의 목적회수에 도달할 때마다 인터럽트 신호를 출력하고, 상기 반복회수 계수수단이 제2의 목적회수까지 계수할 때마다 이니셜 어드레스 레지스터의 초기치가 데스티네이션 어드레스 레지스터로 로드된다. 이것에 의해, 이니셜 어드레스 레지스터에 초기치가 일단 설정되면, 그 후, 싱글 어드레싱 모드에서 복수의 데이터 영역으로 데이터를 전송하는 제어가 자동적으로 반복 가능해진다.
상기 전송제어장치에서, 싱글 어드레싱 모드에서의 전송원 어드레스를 메모리 어드레스로 할 경우, 상기 템포러리 어드레스 레지스터는 전송원 어드레스를 보유하는 소스 어드레스 레지스터가 된다. 상기 초기치 레지스터는 전송원의 선두 어드레스가 설정되는 이니셜 어드레스 레지스터이다. 상기 제어수단은 데이터 전송요구에 응답하여 상기 소스 어드레스 레지스터에 의해 지정되는 전송원 어드레스의 데이터를 전송처 어드레스에 저장하는 데이터 전송제어를 개시하고, 데이터 전송회수가 제1의 목적회수에 도달할 때마다 인터럽트 신호를 출력하고, 상기 반복회수 계수수단이 제2의 목적회수까지 계수할 때마다 인니셜 어드레스 레지스터의 초기치가 소스 어드레스 레지스터로 로드된다. 이것에 의해, 이니셜 어드레스 레지스터에초기치가 일단 설정되면, 그 후, 싱글 어드레싱 모드에서 복수의 데이터 영역으로 데이터를 전송하는 제어가 자동적으로 반복 가능해진다.
상기 데이터 전송제어장치에 있어서, 소스 어드레스 또는 데스티네이션 어드레스 중 어떤 것에 대해서도 싱글 어드레싱 모드에서 주기적인 데이터 전송제어를 선택 가능하게 하는데는, 소스 어드레스 레지스터 및 데스티네이션 어드레스 레지스터에 대하여, 제어수단은 상기 소스 어드레스 레지스터 또는 데스티네이션 어드레스 레지스터 중 어느 한쪽을 상기 뎀포러리 어드레스 레지스터로 선택 가능하게 하고, 템포러리 레지스터로 선택된 레지스터를 이용하여 데이터 전송요구에 응답하는 데이터 전송제어를 개시하면 된다.
상기 제1의 목적회수는 하나의 데이터 영역의 크기를 규정하게 되므로, 외부에서 제1의 목적회수가 설정 가능한 전송회수 지정 레지스터를 설치함으로써, 전송제어의 자유도가 증가한다.
상기 제2의 목적회수는 데이터 전송에 이용하는 데이터 영역의 총수에 대응되며, 2면 버퍼를 이용할 때 제2의 목적회수는 2회, 3면 버퍼를 이용할 때 제2의 목적회수는 3회이다. 특히 3면 버퍼를 이용하면, 하나의 데이터 영역에 데이터 전송을 행하고 있을 때, 이미 데이터 전송을 완료하고 있는 2면의 데이터 영역의 데이터를 이용하여 데이터 처리를 행할 수 있다. 예를 들면, 데이터 영역마다 음성 데이터를 부호화해 갈 때, 음성 데이터 부호화를 위한 계수를 구하는 단기예측처리에서는 1개 전에 부호화된 데이터 영역의 일부의 데이터도 필요로 하고, 이때, 이미 부호화 처리가 끝난 데이터의 데이터 영역도 포함된 2면의 데이터 영역의 데이터가 남아 있으면, 단기예측처리에 필요한 데이터의 확보가 용이하며 확실해진다.
[3] 불연속으로 어드레스 맵핑(address mapping)된 데이터 영역을 이용 가능하게 하는 것을 고려할 경우에는, 전송제어장치는, 상기 초기치 레지스터를 복수개 가지며, 상기 복수개의 초기치 레지스터가 보유하는 전송제어 어드레스 정보 중에서 1개를 선택 가능한 선택수단을 설치하고, 상기 선택수단으로 선택된 전송제어 어드레스 정보를 상기 템포러리 레지스터로 셋트하여, 상기 어드레스 계수수단에 의해 순차적으로 갱신 가능하게 한다. 그리고, 제어수단은, 데이터 전송요구에 응답하여 전송원에서 전송처로의 데이터 전송동작을 개시시키고, 상기 전송회수 계수수단이 제1의 목적회수까지 계수할 때마다, 인터럽트 신호를 출력하고, 상기 반복회수 계수수단에 의한 계수치에 따라 상기 선택수단에 의한 상기 초기치 레지스터의 선택상태를 전환시켜, 선택된 초기치 레지스터에서 상기 템포러리 레지스터로 전송제어 어드레스 정보를 셋트한다.
이것에 의해, 각각의 초기치 레지스터에 초기 설정되는 전송제어 어드레스 정보를 선두로 하는 복수의 불연속적인 데이터 영역을 순차적으로 전환하여 데이터 전송을 행하는 것이 가능해진다.
[4] 본 발명의 구체적인 태양에 의한 데이터 프로세서는, 상기 구체적인 태양의 데이터 전송제어장치를 연산제어장치와 함께 갖는다.
데이터 프로세서는, 상기 연산제어장치 및 전송제어장치에 의해 액세스 가능한 RAM을 가지며, 1개의 반도체칩으로 형성해도 된다. 또한 데이터 프로세서는, 상기 전송제어장치에 데이터 전송요구를 출력 가능한 것으로서, 상기 연산제어장치및 전송제어장치에 의해 액세스 가능한 주변 입출력 회로를 포함해도 된다.
상기 데이터 프로세서를 이용하는 데이터 처리장치는, 데이터 프로세서와 함께, 상기 데이터 프로세서의 주변 입출력 회로에 접속된 음성신호 입력회로를 가지며, 상기 데이터 프로세서는, 상기 연산제어장치의 동작 프로그램을 보유하고, 상기 동작 프로그램에 따라 상기 연산제어장치는 음성신호 입력회로에서 주변 입출력회로에 입력된 음성신호를 RAM으로 전송시키는 전송조건을 전송제어장치에 설정하고, 상기 전송제어장치는 주변 입출력회로에서 전송요구에 응답하여 음성신호를 RAM으로 전송 제어하고, 상기 연산제어장치는 상기 전송제어장치에서 인터럽트 신호를 입력했을 때, RAM에서 음성신호를 판독하여 처리한다.
이하 본 발명의 실시예를 첨부도면을 참조하여 상세히 설명한다.
도 1에는 본 발명에 관한 데이터 프로세서의 일예가 나타난다. 동도에 나타나는 데이터 프로세서(1)는, 버스 마스터 모듈(bus master module)로서 연산제어장치(2) 및 다이렉트 메모리 액세스 컨트롤러(DMAC)(3)를 가지며, 그것들은 어드레스 버스(4), 데이터 버스(5) 및 커맨드 버스(6)를 공유하고, 버스권 조정은 버스의 상태제어를 행하는 버스 스테이트 컨트롤러(bus state controller)(7)가 행한다.
상기 연산제어장치(이하, 간단히 CPU라고도 칭한다)(2)는, 명령을 페치하여 해독하는 명령 제어부와 그것에 의해 동작이 제어되는 연산부를 갖는다. 연산부는, 특히 제한되지 않지만, 정수 연산기 및 범용 레지스터를 갖는 정수연산장치와, 적화 연산기 및 적화연산 레지스터를 갖는 디지털 신호처리장치(DSP)를 구비한다. 특히 도시하지는 않지만, CPU(2)는 특정의 신호처리연산 등으로 특화한액셀러레이터(accelerator)를 더 포함해도 된다.
또한, CPU(2)의 동작 프로그램은 데이터 프로세서(1)에 ROM을 내장하여 공급해도 된다. 혹은 데이터 프로세서(1)의 외부 프로그램 ROM을 설치해도 된다. 또한, 메모리(8)를 구성하는 RAM의 소정 영역을 어플리케이션 프로그램 영역으로 이용해도 된다.
SRAM(Static Random Access Memory) 또는 DRAM(Dynamic Random Access Memory)으로 이루어지는 메모리(8)는 정수연산장치 및 DSP에 의한 연산에 이용되고, 상기 버스(4, 5, 6)에 접속하는 액세스 포트와, 상기 CPU2의 DSP에 디지털 신호처리 전용버스(4A)로 접속되는 액세스 포트와의 듀얼 포트를 갖는다. 상기 듀얼 포트는 완전 병렬 액세스를 허용한다. 상기 디지털 신호처리 전용버스(4A)는, 어드레스, 데이터 및 제어신호의 신호선을 포함하고 있다.
데이터 프로세서(1)는 그 이외의 주변회로(9) 및 인터럽트 컨트롤러(10) 등을 갖는다. 주변회로는, 외부에서 공급되는 아날로그 신호를 디지털 신호로 변환하는 아날로그 디지털 컨버터(A/D)나 시리얼 커뮤티케이션 인터페이스 컨트롤러(SCI) 등을 총칭한다.
상기 DMAC(3)는, 특히 제한되지 않지만, 데이터 전송모드로서 싱글 어드레싱 모드를 가지며, 미리 CPU(2)에 의해 전송개시 어드레스 등의 전송제어조건이 설정되고, 주변회로(9)에서의 전송요구신호(100)에 의해 데이터 전송제어가 기동된다.
DMAC(3)는 데이터 전송요구신호(100)에 의해 데이터 전송요구를 받으면, BSC(7)에 대하여 버스권 요구신호(101)를 출력하여 버스권을 요구한다. BSC(7)는,DMAC(3)에서 버스권의 요구를 수신하면, CPU(2)에 의한 버스(4, 5, 6)의 사용상태를 감시하고, 버스(4, 5, 6)가 비어 있으면 버스권 승인신호(102)를 DMAC(3)로 출력하고, DMAC(3)에 버스권을 공급한다. 이 때, CPU(2)에는 버스 사용신호(103)에 의해 버스 사용중인 상태가 전달된다.
DMAC(3)는 버스권 승인신호(102)를 수신하면, 어드레스 버스(4)에 예를 들면 전송원의 어드레스(주변회로(9) 중의 레지스터의 어드레스 등)를 출력하고, 동시에 버스 커맨드 버스(6)에 리드 커맨드(read command)를 출력한다. 전송원 어드레스의 출력 대신에, 전송원의 주변회로를 선택하는 모듈선택신호를 전송원으로 출력해도 되는 것은 말할 필요도 없다.
주변회로(9)는, 상기 전송원 어드레스 및 리드 커맨드를 어드레스 버스(4) 및 버스 커맨드 버스(6)를 통하여 수신하면, 데이터 버스(5)에 데이터를 출력한다. 데이터 버스(5)상에서 리드 데이터를 확정하는 타이밍에 동기하여, 상기 DMAC(3)는, 예를 들면 전송처 메모리(8)의 어드레스를 어드레스 버스(4)로 출력하고, 병합하여 버스 커맨드 버스(6)에 기록처리를 나타내는 커맨드를 출력한다. 이것에 의해 메모리(8)는 어드레스 버스(4)에서 공급되는 어드레스에 의해 어드레싱되는 메모리 영역에 데이터 버스(5)상의 데이터를 저장한다. DMAC(3)는 1회 데이터 전송을 행할 때마다, 전송처 메모리 어드레스를 다음의 전송처 어드레스로 갱신한다.
DMAC(3)는 상술한 바와 같이 주변회로(9)에서의 전송요구가 있을 때마다 싱글 어드레싱 모드에서 주변회로(9)로부터 메모리(8)로 데이터 전송을 행한다. 상세한 부분에 대해서는 후술하지만, DMAC(3)는, 전송개시 어드레스를 기점으로 주변회로(9)에서의 전송요구에 응답하는 데이터 전송이 소정의 데이터량에 도달할 때마다 인터럽트 요구신호(110, 111)를 교대로 인터럽트 컨트롤러(10)로 출력하여, 인터럽트 컨트롤러(10)에서 CPU(2)에 인터럽트 신호(104)를 출력시키고, 상기 인터럽트 요구신호(110, 111)에 의해 인터럽트를 소정의 복수회, 예를 들면 2회 요구할 때마다 전송처의 메모리 어드레스를 전송개시 어드레스로 초기화한다.
또한, 상기 인터럽트 컨트롤러(10)는 주변회로(9)에서 다른 인터럽트 요구신호(105)도 공급되며, 인터럽트 요구가 경합하는 경우에는 인터럽트 우선순위 등에 따라 우선제어 혹은 인터럽트 네스트(nest)제어를 행하여, CPU(2)로의 인터럽트 요구를 조정한다. 또한, 초기설정되는 전송조건 차례에서는 상기 주변회로(9)가 전송처 디바이스가 되는 것도 당연하지만, 그 경우에는 전송원 어드레스가 순차적으로 갱신되는 점을 제외하고 DMAC(3)는 상기와 동일하게 기능하므로, 도 1의 예에서는 그 상세한 설명은 생략한다.
도 2에는 전송원 어드레스를 고정하고, 전송처 어드레스를 순차적으로 갱신하는 싱글 어드레싱 모드로 특화한 상기 DMAC(3)의 제1예가 나타난다.
도 2의 예에서는 DMAC(3)는, CPU(2)에 의해 데이터 버스(5)를 통하여 초기설정 가능한 레지스터로서, 소스 어드레스 레지스터(SAR)(11), 이니셜 어드레스 레지스터(IAR)(12) 및 전송회수 지정 레지스터(TCR)(13)를 갖는다.
상기 SAR(11)은 전송원 어드레스가 설정된다. 상기 IAR(12)은 전송처의 전송개시 어드레스가 설정된다. 상기 IAR(12)의 설정치는 셀렉터(14)에서 데스티네이션 어드레스 레지스터(DAR)(15)로 로드되고, 로드된 어드레스는 1회의 데이터 전송동작이 완료될 때마다 인크리멘터(INC)(16)에서 증가(+1)되고, 다음의 전송처 어드레스로서 셀렉터(14)에서 DAR(15)로 로드된다. 상기 셀렉터(14), DAR(15) 및 INC(16)의 루프는 전송처 어드레스 카운터를 구성한다.
상기 SAR(11)에서 출력되는 전송원 어드레스(17)는 전송원에 대한 액세스 타이밍에 동기하여 셀렉터(18)에서 어드레스 버스(4)로 출력되며, 상기 DAR(15)에서 출력되는 전송처 어드레스(19)는 전송처에 대한 액세스 타이밍에 동기하여 상기 셀렉터(18)에서 어드레스 버스(4)로 출력된다.
상기 TCR(13)은 제1의 목적회수로서의 전송회수가 초기설정된다. 초기설정된 전송회수는 셀렉터(20)를 통하여 회수 레지스터(TC)(21)에 로드되고, 로드된 회수치는 1회의 데이터 전송동작이 행해질 때마다 디크리멘터(DEC)(22)에서 감소(-1)되며, 남은 전송회수로서 셀렉터(20)에서 TC(21)로 로드된다.
상기 디크리멘터(22)는 감소 결과가 "0"이 될 때마다, 다시 말하면, 상기 제1의 목적회수의 데이터 전송이 행해질 때마다, 제로신호(23)를 "1"로 한다. 셀렉터(20)는 제로신호(23)가 "0" 상태에서 DEC(22)의 출력을 선택하고, 상기 셀렉터(20), TC(21) 및 DEC(22)의 루프는, 1회의 전송동작시에 감소를 행하는 전송 카운터로서 동작된다. 상기 전송 카운터로서 동작되고 있을 때, 제로신호(23)가 "1"이 되면, 상기 셀렉터(20)는 TCR(13)의 초기치를 선택하고, TC(21)의 값을 초기치로 되돌려, 초기치에서 전송 카운트 동작을 재개한다.
1비트 카운터(1bitC)(24)는 상기 제로신호(23)가 "1"이 되는 회수를 계수한다. 1비트 카운터(24)의 예에서는, 초기치가 "0"이며, 상기 제로신호(23)가 "1"이될 때마다 출력(25)을 교대로 "1", "0"으로 변화시킨다. 다시 말하면, 신호(25)의 초기상태(="0")에서 상기 제로신호(23)가 1회째에 "1"이 되면, 신호(25)가 "1"이 되고, 이 상태에서, 상기 제로신호(23)가 2회째에 "1"이 되면, 신호(25)가 "0"으로 초기화되므로, 신호(25)가 "1"로 되어 있는 상태에서 상기 제로신호(23)가 "1"이 되었을 때는 2회째의 "1"상태인 것을 알 수 있다.
상기 제로신호(23) 및 1비트 카운터(24)의 출력신호(25)를 받는 제어회로(26)는, 신호(25)가 "1"로 되어 있을 때, 신호(30)에서 셀렉터(14)로 IAR(12)의 값을 선택시켜 DAR(15)을 초기화한다. 따라서, 도 3에 예시되는 바와 같이, TCR(13)에 초기설정된 전송회수의 데이터 전송이 반복 2회 행해질 때마다 DAR(15)의 어드레스가 IAR(12)의 초기 설정치로 되돌아가, 결과적으로, IAR(12)의 초기 어드레스를 선두로, TCR(13)로 초기설정된 전송회수분의 전송 데이터가 각각 메모리 영역(MA), 메모리 영역(MB)에 연속하여 저장되게 된다.
제어회로(26)는, 상기 제로신호(23)가 "1"이 될 때마다(TCR(13)에 초기설정된 전송회수분의 데이터가 메모리(8)에 축적될 때마다) 인터럽트 요구를 내지만, 이때, 도 3의 메모리 영역(MA, MB)의 어떤 영역에 대한 데이터의 저장이 완료하였는지를 구별할 수 있도록, 제로신호(23)가 "1"로 되었을 때, 신호(25)가 "0"이면 인터럽트 요구신호(110)를 어서트(assert)하고, 신호(25)가 "1"이면 인터럽트 요구신호(111)를 어서트한다. 이것에 의해 CPU(2)는, 도 3의 메모리 영역(MA, MB)의 어느 쪽을 액세스하면 좋은가를 인식할 수 있다. 실제로는, 인터럽트 요구신호(110, 111)의 어느 쪽이 어서트되어 있는가에 따른 인터럽트 요인정보를 인터럽트 컨트롤러(10)가 CPU(2)에 공급함으로써 인식 가능해진다.
상기 제어회로(26)는, 상술한 바와 같이, 전송요구신호(100)를 통하여 전송요구가 있으면, 버스권 요구신호(101)로 버스권을 요구하고, 이것에 응답하는 버스권 승인신호(102)로 버스권을 획득하여, 데이터 전송제어동작을 개시한다. 데이터 전송제어에 있어서 상기 제어회로(26)는, 셀렉터(14)의 선택제어신호(30), DAR(15)의 래치제어신호(31), 셀렉터(18)의 선택제어신호(32), INC(16)의 증가동작 지시신호(33), TC(21)의 래치신호(34), DEC(22)의 감소동작 지시신호(35) 및 상기 인터럽트 신호(110, 111)를 생성한다. 증가동작 지시신호(33) 및 감소동작 지시신호(35)는 전송원에서 전송처로의 1회의 데이터 전송시에 동작이 지시되고, 그 연산동작 직후에 래치제어신호(31, 34)가 인에이블로 되어, 각각의 연산결과에서 DAR(15), TC(21)가 갱신되게 된다.
도 4에 의거하여 DMAC(3)의 데이터 전송동작을 전체적으로 설명한다.
DAR(15)의 값은 제어회로(26)가 전송요구신호(100)로 전송요구를 접수할 때마다 IAR(12)의 값에서 1씩 가산되어 간다. TC(21)의 값은 제어회로(26)가 전송요구신호(100)로 전송요구를 접수할 때마다 TCR(13)의 값에서 1씩 감산되어 간다. 그리고 DEC(22)의 제로신호(23)가 1이 되면, TC(21)는 TCR(13)의 값에 의해 초기화된다. 상기 1비트 카운터(24)는, 제로신호(23)를 수신할 때마다, "0"과 "1"을 교대로 반복하는 신호(25)를 출력한다. DAR(15)은, 1비트 카운터(24)의 출력(25)이 "1"일 때에 제로신호(23)가 "1"이 되면, 셀렉터(14)에 의해, IAR(12)의 값이 로드된다.
도 4에서 명백한 바와 같이, 1비트 카운터(24)의 값이 "0"일 때 TC(21)의 값이 "0"으로 감소되면(신호(23) = "1"), 인터럽트 신호(110)가 어서트된다. 1비트 카운터(24)의 값이 "1"일 때 TC(21)의 값이 "0"으로 감소되면(신호(23) = "1"), 인터럽트 신호(111)가 어서트되고, 또, DAR(15)의 값이 IAR(12)의 값으로 초기화된다.
이것에 의해, 도 3의 메모리 영역(MA,MB)의 하나에 데이터의 저장이 완료되면, 대응하는 인터럽트 요구신호(110, 111)가 어서트된다. CPU(2)는 어서트된 인터럽트 요구신호에 대응하는 메모리 영역에서 상기 디지털 신호처리 전용버스(10)를 통하여 데이터를 판독하고, DSP로 디지털 신호처리 등을 행할 수 있다. 이것에 병행하여, DMAC(3)는 주변회로(9)에서의 데이터 전송요구에 응답하여 다른 쪽의 메모리 영역으로 데이터 전송이 가능해진다.
그리고, 인터럽트 요구신호(110, 111)에 기인하는 인터럽트가 CPU(2)에 2회 요구될 때마다, 상기 IAR(12)의 전송개시 어드레스에서 DAR(15)이 초기화된 후, 2개의 데이터 영역(MA, MB)을 주기적으로 이용하는 데이터 전송제어시, CPU(2)는 전송제어 조건을 재설정할 부담에서 해방된다. 다시 말하면, 연속하는 다수의 데이터 영역을 이용하지 않고, 한정된 리소스를 사용하는 것만으로도, CPU(2)에 의한 전송제어조건 설정조작의 부담을 경감하여, 끊임없이 데이터 전송과 데이터 처리를 병열로 계속시키는 것이 가능해진다.
도 5에는 상기 데이터 프로세서(1)를 적용한 GSM 방식 휴대전화 시스템이 예시된다.
음성은 마이크로폰(41)에 의해 아날로그 음성신호로서 입력되고, A/D변환기(42)에 의해 디지털 음성신호로 변환되며, 데이터 프로세서(1)로 입력된다. 데이터 프로세서(1)는, 수신한 디지털 음성신호에 대한 음성 부호화 처리 및 레이어 처리로서의 채널 코덱처리 등을 행하고, 처리신호를 송신신호로 하여 출력한다. 상기 음성 부호화 처리 및 채털 코덱처리 등은, 특히 제한되지 않지만, DSP를 이용하여 행해진다. 특히 도시하지는 않지만, 데이터 프로세서(1)는, 상기 채널 코덱이나 음성 코덱을 위한 액셀러레이터를 내장하고 있어 좋다.
데이터 프로세서(1)에서 생성된 송신신호는 GMSK 변조회로(43)에 의해 변조되고, 다시 D/A 변환기(44)에 의해 아날로그 신호로 변환되며, 고주파 송신회로(45)에 의해 안테나(46)를 통하여 송신된다.
안테나(46)에서 수신된 수신신호는, 고주파 수신부(47)에 의해 수신되고, A/D 변환기(48)에서 디지털 신호로 변환되며, 데이터 프로세서(1)에 입력된다. 데이터 프로세서(1)는, 비터비(viterbi) 복호처리, 음성 복호처리 등을 행하고, 음성신호를 추출할 수 있어 출력한다. 비터비 복호처리, 음성 복호처리 등은 DSP 또는 도시를 생략하는 액셀러레이터에 의해 행해진다.
데이터 프로세서(1)에서 출력된 음성신호는 D/A 변조기(49)에 의해 아날로그 음성신호로 변환되어, 스피커(50)에서 음성으로서 출력된다.
도 5의 휴대전화 시스템에서 데이터 프로세서(1)에 내장된 DMAC(3)는, A/D 변환기(42)에서 출력되는 디지털 음성신호를 주변회로(9)의 SCI를 통하여 메모리(8)에 축적할 때, 그리고, A/D 변환기(48)에서 출력되는 수신 디지털 신호를 주변회로(9)의 SCI를 통하여 메모리(8)에 축적할 때에 이용할 수 있다.
특히 제한되지 않지만, 도 5의 휴대전화 시스템의 예에서는, 데이터 프로세서(1)는 음성 부호화 복호를 위한 음성 코덱처리, 레이어 처리로서의 채널 코덱처리 및 시스템 제어처리 등의 동작 프로그램을 갖는 ROM(1A)를 갖는다. DMAC(3)에 대한 전송제어조건의 설정처리는 상기 ROM(1A)에 저장된 동작 프로그램을 CPU(2)가 실행하여 행하도록 되어 있다.
도 6에는 도 5의 휴대전화 시스템에서 A/D 변환기(42)에서 출력되는 디지털 음성신호를 주변회로(9)의 SCI를 통하여 메모리(8)에 축적하면서, 그 디지털 음성신호를 부호화할 때의 동작이 나타난다. 도 5의 GMSK 방식의 휴대전화 시스템에서, 음성신호는 160 샘플의 데이터를 한 단위로 하여 처리한다. 우선, 초기의 음성(1)의 160 샘플분의 데이터는 상기 영역(MA)에 순차적으로 저장된다. 다음에 그 후의 160 샘플분의 음성(2)의 데이터는 메모리(8)의 메모리 영역(MB)에 저장된다.
메모리 영역(MB)에 음성(2)의 데이터가 순차적으로 저장되어 있을 때에, CPU(2)에서는 메모리 영역(MA)에 저장되어 있는 음성(1)의 데이터를 판독하여, 음성 부호화 처리를 행한다.
또한, 음성(3)의 데이터가 순차적으로 메모리 영역(MA)에 저장되어 있을 때, CPU(2)는 메모리 영역(MB) 음성(2)의 데이터에 대하여 부호화 처리를 행한다. 다음에, 음성(4)의 데이터가 메모리 영역(MB)에 저장되고, 이것에 병행하여, CPU(2)는 메모리 영역(MA)의 음성(3) 데이터를 판독하여 부호화 처리를 행한다.
이하 동일하게, 수신 음성데이터를 저장하는 메모리 영역과, 음성 부호화 대상으로 하는 메모리 영역을 교대로 전환하면서, 음성 데이터를 부호화해 감으로써,CPU(2)는, 일단 DMAC(3)의 데이터 전송조건을 설정한 후에는, 2개의 메모리 영역(MA, MB)을 반복 이용하여 음성 데이터를 수신하기 위한 데이터 전송제어를 위해 어떠한 재설정 처리도 행하지 않고 음성의 부호화를 계속할 수 있다.
이것에 의해, 데이터 프로세서(1)에 의한 음성 부호화 처리효율을 향상시킬 수 있다. 즉, DMAC(3)측에서 자동적으로 데이터 버퍼(메모리(8)상의 메모리 영역)를 전환하면서 데이터 전송을 행할 수 있으므로, CPU(2) 자체가 음성 데이터를 다른 버퍼영역으로 복제하거나, DMAC(3)의 재설정 처리를 행하지 않고 끝나, CPU의 처리효율을 향상시킬 수 있다. 다시 말하면, CPU(2)에 의한 데이터 처리량을 저감할 수 있다.
CPU(2)에 의한 데이터 처리량을 저감할 수 있으므로, CPU(2)의 동작 주파수를 낮게 하는것도 가능해지며, 저속동작되는 여유도 증가하므로, 휴대전화 시스템의 저소비전력에 기여할 수 있다.
도 7에는 전송원 어드레스를 고정으로 하고, 전송처 어드레스를 순차적으로 갱신하는 싱글 어드레싱 모드로 특화한 상기 DMAC(3)의 제2예가 나타난다. 도 2의 제1예에 대하여, 2개의 이니셜 어드레스 레지스터(IARa, IARb)(12a, 12b)를 설치하고, 셀렉터(14A)에 의해 IARa(12a)의 출력, IARb(12b)의 출력 또는 인크리멘터(16)의 출력을 선택하는 점이 다르다. 셀렉터(14A)는, 제어회로(26A)에서 생성되는 제어신호(30A)에 의해, 상기 제로신호(23)가 "0"인 동안에는 인크리멘터(16)의 출력을 선택하고, 상기 제로신호(23)가 "1"이 되었을 때는, 신호(25)가 "0"이면 IARa(12a)의 출력을, 신호(25)가 "1"이면 IARb(12b)의 출력을 선택한다.
이것에 의해, 제로신호(23)가 "1"이 될 때마다 IARa(12a), IARb(12b)의 값이 교대로 DAR(15)로 셋트된다. 이것에 의해, 도 8에 예시되는 바와 같이, IARa(12a)의 초기치를 선두로 한 TCR(13)의 초기치의 데이터 전송회분의 데이터 전송동작과, IARb(12b)의 초기치를 선두로 한 TCR(13)의 초기치의 데이터 전송회분의 데이터 전송동작이 교대로 가능해진다. 따라서, 도 9에 예시되는 바와 같이, 2개의 메모리 영역(MA, MB)을 각각 임의의 장소에 확보할 수 있고, 메모리(8)의 이용 영역에 대한 자유도를 높일 수 있다.
도 10에는 싱글 어드레싱 모드로 특화한 상기 DMAC(3)의 제3예로서, 전송원 또는 전송처 중 어느 한 쪽을 2면 버퍼로 선택 가능하게 한 구성이 나타난다. 도 2의 구성에 대하여 SAR(11A)의 입력을 셀렉터(14)의 출력에 접속하고, DAR(15)의 래치제어신호(31D)와 SAR(11A)의 래치제어신호(31S)를 각각 제어회로(26B)에서 생성한다.
제어회로(26B)는, 도 1과 마찬가지로 메모리 영역(MA, MB)을 전송처로 할 경우, 우선, CPU(2)에서 IAR(12)로 로드된 소스 어드레스를 제어신호(30B, 31S)를 통하여 SAR(11A)로 래치시킨다. 그 후에는, CPU(2)에서 IAR(12)로 초기 설정된 데스티네이션 어드레스를 제어신호(30B, 31D)를 통하여 DAR(15)에 래치시켜, 도 2와 동일한 데이터 전송이 가능해진다.
한편, 제어회로(26B)는, 메모리 영역(MA, MB)을 전송원으로 할 경우, 우선, CPU(2)에서 IAR(12)로 로드된 데스티네이션 어드레스를 제어신호(30B, 31S)를 통하여 DAR(15)로 래치시킨다. 그 후에는, CPU(2)에서 IAR(12)로 초기 설정된 소스 어드레스를 제어신호(30B, 31D)를 통하여 SAR(11A)로 래치시키고, 그 후에는, 1회 데이터를 전송할 때마다 SAR(11A)의 값을 증가하고, TCR(13)로 초기 설정된 전송회수의 데이터 전송이 2회 행해질 때마다, IAR(12)의 소스 어드레스 초기치를 SAR(11A)로 초기 설정하는 동작을 반복해가면 된다. 인터럽트 요구신호(110, 111)는 도 2의 경우와 마찬가지로, TCR(13)로 초기 설정된 전송회수의 데이터 전송이 완료될 때마다 어서트된다.
도 10의 구성에 의하면, 도 5의 GSM 휴대전화 시스템에서, 데이터 프로세서(1)의 내부에서 복호된 음성 데이터가 메모리(8)에 축적되어 있을 때, 그 음성 데이터를 메모리(8)에서 판독하여 주변회로(9)의 SCI로 데이터 전송하고, D/A 변환기(49)로 전달할 때, 혹은, 데이터 프로세서(1)에서 부호화되어 메모리(8)에 저장된 송신 데이터를 순차적으로 메모리(8)에서 판독하여 GMSK 변조회로(43)에 공급할 때에도, DMAC(3)를 이용할 수 있게 된다.
도 11에는 전송처 어드레스를 고정으로 하고, 전송원 어드레스를 순차적으로 갱신하는 싱글 어드레싱 모드로 특화한 상기 DMAC(3)의 제4예가 나타난다. 도 2의 구성에 대하여 SAR(11A)을 어드레스 카운터 루프에 배치하고, DAR(15A)을 CPU(2)에 의해 초기설정 가능한 레지스터로 구성한 점이 다르다. 이 구성은, 도 10의 구성에서 SAR(11A)을 어드레스 카운터 루프에 둔 경우와 동일하게 기능한다.
도 12에는 전송원 어드레스를 고정으로 하고, 전송처 어드레스를 순차적으로 갱신하는 싱글 어드레싱 모드로 특화하며, 3면 버퍼를 이용하여 데이터 전송 제어 가능한 DMAC(3)의 제5예가 나타난다.
도 12의 DMAC(3)는 도 2의 구성에 대하여, 1비트 카운터(24A) 대신에 3진 카운터(24A)를 채용하고, 제로신호(23)가 3회 "1"이 될 때마다 IAR(12)의 값으로 DAR(15)의 값을 초기화하고, 인터럽트 요구신호도(110, 111, 112) 3개로 한 점이 다르다. 인터럽트 요구신호(110)는, 3진 카운터(24A)의 값이 초기치 0일 때에 제로신호(23)가 "1"로 변화되면 어서트된다. 인터럽트 요구신호(111)는, 3진 카운터(24A)의 값이 1일 때에 제로신호(23)가 "1"로 변화되면 어서트된다. 인터럽트 요구신호(112)는, 3진 카운터(24A)의 값이 2일 때에 제로신호(23)가 "1"로 변화되면 어서트된다. 또한, 도 7의 구성에 대하여, 3면 버퍼를 실현하는데는, IARa(12a), IARb(12b)에 IAR을 1개 더 더하여 3개의 IAR을 셀렉터(14A)에서 순서대로 선택하면서 각각의 값을 순차 DAR(15)로 설정해가는 구성을 채용해도 된다.
도 13은 도 12의 DMAC에 의한 데이터 전송동작의 예를 나타낸다. TCR 초기치의 데이터 전송회수분의 데이터 전송동작시에, 순차적으로 인터럽트 요구신호(110, 111, 112)가 어서트되고, TCR 초기치의 데이터 전송회수분의 데이터 전송동작이 3회 반복되었을 때, DAR(15)의 데스티네이션 어드레스가 IAR의 설정치로 초기화된다.
이것에 의해, 도 14에 나타나는 바와 같이, TCR 초기치의 데이터 전송회수분의 데이터 영역을 1개의 데이터 영역으로 한 3면의 데이터 버퍼(3개 메모리 영역)(MA, MB, MC)를 이용한 데이터 전송동작이 가능해진다.
도 12의 DMAC의 구성에 의해 3면 버퍼(MA, MB, MC)를 이용할 수 있으면, 1개의 데이터 영역으로 데이터 전송을 행하고 있을 때, 이미 데이터 전송을 완료하고있는 2면의 데이터 영역의 데이터를 이용하여 데이터 처리를 행할 수 있다. 이것에 의한 이점은, 예를 들면, 데이터 영역마다 음성 데이터를 부호화해 갈 때, 음성 데이터 부호화를 위한 계수를 구하는 단기예측처리에서는 1개 전에 부호화된 데이터 영역 일부의 데이터도 필요로 하고, 이때, 이미 부호화 처리가 끝난 데이터의 데이터 영역도 포함된 2면의 데이터 영역의 데이터가 남아 있으면, 단기예측처리에 필요한 데이터의 확보가 확실해진다는 것이다.
상기 이점을 다시 상세하게 기술한다. GSM 음성 부호화 처리에서는, 도 15에 나타내는 바와 같이, 실제로 부호화되는 음성 데이터B(160 샘플=160W)의 부호화를 위한 계수를 구하는 단기예측처리라는 처리가 있으며, 이 단기예측처리에는 1개 전에 부호화 된 음성 데이터(A)의 최종 35 샘플(35W)분의 데이터를 필요로 한다.
이때 2면 버퍼를 이용하면, 음성 데이터(B)를 부호화하고자 할 때, 이미 부호화가 종료되어 있는 음성 데이터(A)의 메모리영역에는 다음의 음성 데이터(C)가 순차적으로 전송되어 온다. 음성 데이터(B)의 부호화를 위한 단기예측처리가 완료되기 전에 단기예측처리에 필요한 음성 데이터(A) 부분이 오버라이트(overwrite)되어버리면, 음성 데이터(B)의 부호화에 필요한 단기예측처리를 완료시키는 것은 이미 불가능하다.
상기 메모리 영역(MA, MB, MC)과 같은 3면 버퍼를 이용할 수 있으면, 도 16에 예시되는 바와 같이, 메모리 영역(MC)의 음성 데이터를 부호화할 때, DMAC(3)에서 데이터 전송을 받는 메모리 영역은 MA이며, 그 부호화를 위한 단기예측처리에 필요한 1개 전의 데이터는 메모리 영역(MB)상에 완전히 보존되어 있으므로, 새로운음성 데이터의 저장에 의한 오버라이트(overwrite)를 피할 수 있다.
이상 본 발명자에 의해 이루어진 발명을 실시예에 의거하여 구체적으로 설명하였지만, 본 발명은 그것에 한정되지 않고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능하다는 것은 말할 필요도 없다.
예를 들면, DMAC는 데이터 프로세서에 내장된 형태로 한정되지 않는다. DMAC 단체의 반도체 집적회로로도 실현할 수 있다. 또한, 그 경우에는, 버퍼 RAM으로서 메모리를 내장시켜도 되고, 또는, 버퍼 RAM으로서 메모리는 독립의 반도체 기판상에 구성하고, 데이터 프로세서와 메모리를 1개의 패키지에 밀봉하는 MCP(multi-chip package)로 해도 된다. 또한, DMAC를 내장한 데이터 프로세서는, 캐쉬 메모리, 메모리 메니지먼트 유닛, 그 이외의 주변회로 등을 내장해도 된다. 또한, 데이터 프로세서는 외부 메모리를 메인 메모리로 이용하는 것이어도 된다. DMAC에서 어드레스 카운터는 증가로 한정되지 않고 감소하는 구성이어도 된다. 역으로 전송 카운터는 감소로 한정되지 않고 증가하는 구성이어도 된다. 듀얼 어드레싱 모드에 대하여 특별히 설명하고 있지 않지만, DMAC가 듀얼 어드레싱 모드(dual addressing mode)를 가지고 있어 좋은 것은 말할 필요도 없다.
또한, 본 발명은 휴대전화 시스템에 적용하는 경우에 한정되지 않고, 그 이외의 음성처리 시스템, 멀티미디어 시스템, 동작 보상을 이용한 그래픽 시스템, 휴대정보 단말장치, 셋탑박스(STB) 등에 널리 적용할 수 있다. 특히 그래픽 시스템이나 셋탑박스에서의 동화상을 포함하는 화상처리로의 적용을 고려하면서, 버퍼로 사용하는 메모리 영역은 4면 이상이어도 된다. 그 경우 도 7의 이니셜 어드레스 레지스터(IARa, IARb)는 메모리 영역의 면수만큼 제공되고, 또는, 도 12의 3진 카운터(24A) 대신에, 메모리영역의 면수에 따른 카운터로서, 메모리 영역의 크기도 동화상 처리에 적합한 크기를 선택하면 된다. 또한, 음성처리용과 화상처리용에 각각 메모리 영역 및 본 발명에 관한 전송제어장치가 독립적으로 설치될 수 있는 것은 분명하다
본원에서 개시되는 발명 중 대표적인 것에 의해 얻어지는 효과를 간단하게 설명하면 하기와 같다.
즉, 복수의 데이터 전송영역을 주기적으로 이용하여 행하는 데이터 전송에 필요한 CPU 등의 제어 부담을 경감시킬 수 있다.
순차적으로 데이터를 수신하면서 메모리 등에 축적하고, 특정량의 데이터를 축적할 때마다, 다음 데이터의 축적처리에 병렬하여 이미 축적되어 있는 데이터를 이용하는 일련의 처리에서, 데이터 전송제어조건을 재설정하는 CPU의 부담을 경감할 수 있다.
순차적으로 데이터를 수신하면서 메모리 등에 축적하고, 특정량의 데이터를 축적할 때마다, 다음 데이터의 축적처리에 병렬하여 이미 축적되어 있는 데이터를 이용하는 일련의 처리를 행하는 데이터 처리 시스템의 데이터 처리효율을 향상시킬 수 있다.
전송제어장치측에서 자동적으로 데이터 영역을 전환하면서 데이터 전송을 행할 수 있으므로, CPU 등의 연산제어장치는 전송제어장치에 대할 때마다 중복되는재설정 처리를 행하지 않고 끝나, 연산제어장치에 의한 데이터 처리량을 저감할 수 있다.
연산제어장치에 의한 데이터 처리량을 저감할 수 있으므로, 연산제어장치의 동작 주파수를 저하시키는 것도 가능해지며, 데이터 처리 시스템의 저소비전력화에 기여할 수 있다.

Claims (15)

  1. 외부에서 전송원 또는 전송처의 전송개시 어드레스가 초기 설정되는 초기치 레지스터와,
    전송개시 어드레스를 기점으로 외부에서의 전송요구에 응답하는 데이터 전송이 소정의 데이터량에 달할 때마다 외부에 인터럽트를 요구하고, 상기 인터럽트를 소정의 복수회 요구할 때마다 전송원 또는 전송처의 어드레스를 상기 초기치 레지스터의 상기 전송개시 어드레스로 초기화하는 제어수단을 포함하는 데이터 전송제어장치.
  2. 반도체 칩에 연산제어장치 및 전송제어장치를 포함하고,
    상기 전송제어장치는, 상기 연산제어장치에 의해 전송원 또는 전송처의 전송개시 어드레스가 초기설정되며, 전송개시 어드레스를 기점으로 전송원에서의 전송요구에 응답하는 데이터 전송이 소정의 데이터량에 달할 때마다 상기 연산제어장치에 인터럽트를 요구하고, 상기 인터럽트를 소정의 복수회 요구할 때마다 전송원 또는 전송처의 어드레스를 상기 전송개시 어드레스로 초기화하는 데이터 프로세서.
  3. 연산제어장치와, 상기 연산제어장치에 의해 전송제어조건이 설정되는 전송제어장치와, 상기 연산제어장치 및 전송제어장치에 의해 액세스 가능한 RAM과, 상기 전송제어장치에 전송요구를 발행하는 주변회로를 가지며,
    상기 전송제어장치는 연산제어장치에 의해 설정된 전송제어조건으로 나타나는 RAM상의 전송개시 어드레스를 기점으로 상기 주변회로에서의 전송요구에 응답하는 RAM으로의 데이터 전송이 소정의 데이터량에 도달할 때마다 연산제어장치에 인터럽트를 요구하고, 상기 인터럽트를 소정의 복수회 요구할 때마다 전송처 또는 전송원의 어드레스를 상기 전송개시 어드레스로 초기화하고,
    상기 연산제어장치는 전송제어장치에서의 인터럽트 접수한 후에 당해 인터럽트가 요구되기까지 RAM에 전송된 데이터를 리드하여 데이터 처리를 행하는 데이터 처리 시스템.
  4. 외부에서 전송제어 어드레스 정보가 설정 가능한 초기치 레지스터와,
    전송원에서 전송처로의 데이터 전송시에 전송제어 어드레스 정보를 갱신하는 어드레스 계수수단과,
    상기 초기치 레지스터에 설정된 전송제어 어드레스 정보가 셋트되고, 셋트된 전송제어 어드레스 정보가 상기 어드레스 계수수단에 의해 순차적으로 갱신되는 템포러리 어드레스 레지스터와,
    전송원에서 전송처로의 데이터 전송시에 전송회수를 제1의 목적회수까지 계수하는 동작을 반복 가능한 전송회수 계수수단과,
    상기 전송회수 계수수단에 의한 상기 제1의 목적회수까지 계수하는 동작의 반복 회수를 제2의 목적회수까지 계수하는 동작을 반복 가능한 반복회수 계수수단과,
    데이터 전송요구에 응답하여 전송원에서 전송처로의 데이터 전송동작을 개시시켜, 상기 전송회수 계수수단이 제1의 목적회수까지 계수할 때마다 인터럽트 신호를 출력하고, 상기 반복회수 계수수단이 제2의 목적회수까지 계수할 때마다 상기 초기치 레지스터에서 상기 템포러리 레지스터로 전송제어 어드레스 정보를 설정하는 제어수단을 포함하는 전송제어장치.
  5. 제4항에 있어서,
    상기 템포러리 어드레스 레지스터는 전송처 어드레스를 보유하는 데스티네이션 어드레스 레지스터이고,
    상기 초기치 레지스터는 전송처의 선두 어드레스가 설정되는 이니셜 어드레스 레지스터이며,
    상기 제어수단은 데이터 전송요구에 응답하여 전송원 어드레스의 데이터를 상기 데스티네이션 어드레스 레지스터에 의해 나타나는 전송처 어드레스에 저장하는 데이터 전송제어를 개시 가능한 것을 특징으로 하는 전송제어장치.
  6. 제4항에 있어서,
    상기 템포러리 어드레스 레지스터는 전송원 어드레스를 보유하는 소스 어드레스 레지스터이고,
    상기 초기치 레지스터는 전송원의 선두 어드레스가 설정되는 이니셜 어드레스 레지스터이며,
    상기 제어수단은 데이터 전송요구에 응답하여 상기 소스 어드레스 레지스터에 의해 지정되는 전송원 어드레스의 데이터를 전송처 어드레스에 저장하는 데이터 전송제어를 개시 가능한 전송제어장치.
  7. 제4항에 있어서,
    전송원 어드레스를 보유하는 소스 어드레스 레지스터 및 전송처 어드레스를 보유하는 데스티네이션 어드레스 레지스터를 가지고,
    상기 제어수단은 상기 소스 어드레스 레지스터 또는 데스티네이션 어드레스 레지스터 중 어느 한 쪽을 상기 템포러리 어드레스 레지스터로 선택 가능하며, 템포러리 레지스터로 선택된 레지스터를 이용하여 데이터 전송요구에 응답하는 데이터 전송제어를 개시 가능한 전송제어장치.
  8. 제4항 내지 제7항 중 어느 한 항에 있어서,
    상기 제1의 목적회수가 외부에서 설정 가능해지는 전송회수 지정 레지스터를 가지고 이루어지는 전송제어장치.
  9. 제4항 내지 제7항 중 어느 한 항에 있어서,
    상기 제2의 목적회수는 3회인 전송제어장치.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 전송원 또는 전송처로서 이용 가능한 RAM을 가지고 이루어지는 전송제어장치.
  11. 외부에서 전송제어 어드레스 정보가 설정 가능한 복수개의 초기치 레지스터와,
    전송원에서 전송처로의 데이터 전송시에 전송제어 어드레스 정보를 갱신하는 어드레스 계수수단과,
    상기 복수개의 초기치 레지스터가 보유하는 전송제어 어드레스 정보 중에서 1개를 선택 가능한 선택수단과,
    상기 선택수단에서 선택된 전송제어 어드레스 정보가 셋트되고, 셋트된 전송제어 어드레스 정보가 상기 어드레스 계수수단에 의해 순차적으로 갱신되는 템포러리 어드레스 레지스터와,
    전송원에서 전송처로 데이터를 전송할 때마다 전송회수를 제1의 목적회수까지 계수하는 동작을 반복 가능한 전송회수 계수수단과,
    상기 전송회수 계수수단에 의한 상기 제1의 목적회수까지 계수하는 동작의 반복회수를 제2의 목적회수까지 계수하는 동작을 반복 가능한 반복회수 계수수단과,
    데이터 전송요구에 응답하여 전송원에서 전송처로의 데이터 전송동작을 개시시켜, 상기 전송회수 계수수단이 제1의 목적회수까지 계수할 때마다, 인터럽트 신호를 출력하고, 상기 반복회수 계수수단에 의한 계수치에 따라 상기 선택 수단으로상기 초기치 레지스터를 선택시켜, 선택된 초기치 레지스터에서 상기 템포러리 레지스터로 전송제어 어드레스 정보를 설정하는 제어수단을 포함하는 전송제어장치.
  12. 연산제어장치와 상기 연산제어장치에 의해 전송제어조건이 설정되는 전송제어장치를 포함하며, 상기 전송제어장치는,
    상기 연산제어장치에서 전송제어 어드레스 정보가 설정 가능한 초기치 레지스터와,
    전송원에서 전송처로 데이터를 전송할 때마다 전송제어 어드레스 정보를 갱신하는 어드레스 계수수단과,
    상기 초기치 레지스터로 설정된 전송제어 어드레스 정보가 셋트되고, 셋트된 전송제어 어드레스 정보가 상기 어드레스 계수수단에 의해 순차적으로 갱신되는 템포러리 어드레스 레지스터와,
    전송원에서 전송처로 데이터를 전송할 때마다 전송회수를 제1의 목적회수까지 계수하는 동작을 반복 가능한 전송회수 계수수단과,
    상기 전송회수 계수수단에 의한 상기 제1의 목적회수까지 계수하는 동작의 반복회수를 제2의 목적회수까지 계수하는 동작을 반복 가능한 반복회수 계수수단과,
    데이터 전송요구에 응답하여 전송원에서 전송처로의 데이터 전송동작을 개시시켜, 상기 전송회수 계수수단이 제1의 목적회수까지 계수할 때마다 인터럽트 신호를 출력하고, 상기 반복회수 계수수단이 제2의 목적회수까지 계수할 때마다 상기초기치 레지스터에서 상기 템포러리 레지스터에 전송제어 어드레스 정보를 설정하는 제어수단을 포함하는 데이터 프로세서.
  13. 제12항에 있어서,
    상기 연산제어장치 및 전송제어장치에 의해 액세스 가능한 RAM을 가지며, 1개의 반도체 칩에 형성된 데이터 프로세서.
  14. 제13항에 있어서,
    상기 전송제어장치에 데이터 전송요구를 출력 가능한 것으로서, 상기 연산제어장치 및 전송제어장치에 의해 액세스 가능한 주변 입출력 회로를 더 가져 이루어지는 데이터 프로세서.
  15. 제 14항의 데이터 프로세서와, 상기 데이터 프로세서의 주변 입출력 회로에 접속된 음성신호 입력회로를 가지며,
    상기 데이터 프로세서는, 상기 연산제어장치의 동작 프로그램을 보유하고, 상기 동작 프로그램에 따라서 상기 연산제어장치는 음성신호 입력회로에서 주변 입출력 회로에 입력된 음성신호를 RAM으로 전송시키는 전송조건을 전송제어장치에 설정하고,
    상기 전송제어장치는 주변 입출력 회로에서 전송 요구에 응답하여 음성신호를 RAM으로 전송 제어하고,
    상기 연산제어장치는 상기 전송제어장치에서 인터럽트 신호를 입력했을 때, RAM에서 음성신호를 판독하여 처리하는 데이터 처리 시스템.
KR1020010030748A 2000-06-07 2001-06-01 전송영역으로 반복하는 복수의 데이터를 전송하는 시스템 KR20010110651A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000175536A JP2001350713A (ja) 2000-06-07 2000-06-07 転送制御装置
JP2000-175536 2000-06-07

Publications (1)

Publication Number Publication Date
KR20010110651A true KR20010110651A (ko) 2001-12-13

Family

ID=18677400

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010030748A KR20010110651A (ko) 2000-06-07 2001-06-01 전송영역으로 반복하는 복수의 데이터를 전송하는 시스템

Country Status (5)

Country Link
US (1) US20020026551A1 (ko)
EP (1) EP1162543A3 (ko)
JP (1) JP2001350713A (ko)
KR (1) KR20010110651A (ko)
TW (1) TW518469B (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9130954B2 (en) * 2000-09-26 2015-09-08 Brocade Communications Systems, Inc. Distributed health check for global server load balancing
US7657629B1 (en) * 2000-09-26 2010-02-02 Foundry Networks, Inc. Global server load balancing
US7454500B1 (en) * 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
US7086061B1 (en) 2002-08-01 2006-08-01 Foundry Networks, Inc. Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics
US7676576B1 (en) 2002-08-01 2010-03-09 Foundry Networks, Inc. Method and system to clear counters used for statistical tracking for global server load balancing
US7574508B1 (en) 2002-08-07 2009-08-11 Foundry Networks, Inc. Canonical name (CNAME) handling for global server load balancing
JP2004295701A (ja) 2003-03-28 2004-10-21 Renesas Technology Corp シリアル通信装置
ATE345532T1 (de) * 2003-09-19 2006-12-15 Harman Becker Automotive Sys Datenübertragungsschnittstelle
US9584360B2 (en) * 2003-09-29 2017-02-28 Foundry Networks, Llc Global server load balancing support for private VIP addresses
US7584301B1 (en) 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
US7496651B1 (en) 2004-05-06 2009-02-24 Foundry Networks, Inc. Configurable geographic prefixes for global server load balancing
US7423977B1 (en) * 2004-08-23 2008-09-09 Foundry Networks Inc. Smoothing algorithm for round trip time (RTT) measurements
US7904614B1 (en) * 2006-06-27 2011-03-08 Marvell International Ltd. Direct memory access controller with multiple transaction functionality
KR100889730B1 (ko) 2006-12-01 2009-03-24 한국전자통신연구원 직접 메모리 접근 제어 방법 및 장치
US8615008B2 (en) 2007-07-11 2013-12-24 Foundry Networks Llc Duplicating network traffic through transparent VLAN flooding
US8248928B1 (en) 2007-10-09 2012-08-21 Foundry Networks, Llc Monitoring server load balancing
JP2011060066A (ja) 2009-09-11 2011-03-24 Renesas Electronics Corp データ処理回路
US8549148B2 (en) 2010-10-15 2013-10-01 Brocade Communications Systems, Inc. Domain name system security extensions (DNSSEC) for global server load balancing
DE102013212842A1 (de) * 2013-07-02 2015-01-08 Robert Bosch Gmbh Verfahren zum Betreiben eines Steuergeräts sowie Steuergerät mit einer Modellberechnungseinheit
US9565138B2 (en) 2013-12-20 2017-02-07 Brocade Communications Systems, Inc. Rule-based network traffic interception and distribution scheme
JP6316593B2 (ja) * 2014-01-07 2018-04-25 ルネサスエレクトロニクス株式会社 半導体装置
US9648542B2 (en) 2014-01-28 2017-05-09 Brocade Communications Systems, Inc. Session-based packet routing for facilitating analytics
US10129088B2 (en) 2015-06-17 2018-11-13 Extreme Networks, Inc. Configuration of rules in a network visibility system
US10771475B2 (en) 2015-03-23 2020-09-08 Extreme Networks, Inc. Techniques for exchanging control and configuration information in a network visibility system
US10911353B2 (en) 2015-06-17 2021-02-02 Extreme Networks, Inc. Architecture for a network visibility system
US9866478B2 (en) 2015-03-23 2018-01-09 Extreme Networks, Inc. Techniques for user-defined tagging of traffic in a network visibility system
US10530688B2 (en) 2015-06-17 2020-01-07 Extreme Networks, Inc. Configuration of load-sharing components of a network visibility router in a network visibility system
US10057126B2 (en) 2015-06-17 2018-08-21 Extreme Networks, Inc. Configuration of a network visibility system
US10243813B2 (en) 2016-02-12 2019-03-26 Extreme Networks, Inc. Software-based packet broker
US10999200B2 (en) 2016-03-24 2021-05-04 Extreme Networks, Inc. Offline, intelligent load balancing of SCTP traffic
US10567259B2 (en) 2016-10-19 2020-02-18 Extreme Networks, Inc. Smart filter generator
KR102367359B1 (ko) * 2017-04-17 2022-02-25 에스케이하이닉스 주식회사 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6052468B2 (ja) * 1982-03-04 1985-11-19 株式会社東芝 Dmaバス負荷可変装置
US4821180A (en) * 1985-02-25 1989-04-11 Itt Corporation Device interface controller for intercepting communication between a microcomputer and peripheral devices to control data transfers
JP3055917B2 (ja) * 1990-05-22 2000-06-26 日本電気株式会社 データ転送制御装置
JPH0520263A (ja) * 1991-07-15 1993-01-29 Nec Corp データ転送制御装置
JPH05108548A (ja) * 1991-10-15 1993-04-30 Nec Ic Microcomput Syst Ltd Dmaコントローラ
US5412782A (en) * 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US5732279A (en) * 1994-11-10 1998-03-24 Brooktree Corporation System and method for command processing or emulation in a computer system using interrupts, such as emulation of DMA commands using burst mode data transfer for sound or the like
JPH08287003A (ja) * 1995-04-11 1996-11-01 Mitsubishi Electric Corp Dmaコントローラ
US5754884A (en) * 1996-05-20 1998-05-19 Advanced Micro Devices Method for improving the real-time functionality of a personal computer which employs an interrupt servicing DMA controller
DE69735614T2 (de) * 1996-10-18 2006-09-07 Matsushita Electric Industrial Co., Ltd., Kadoma Datenübertragungsgerät und Datenübertragungssystem zur Arbitrierung von mehreren E/A Ports in DMA

Also Published As

Publication number Publication date
JP2001350713A (ja) 2001-12-21
EP1162543A3 (en) 2004-11-17
EP1162543A2 (en) 2001-12-12
US20020026551A1 (en) 2002-02-28
TW518469B (en) 2003-01-21

Similar Documents

Publication Publication Date Title
KR20010110651A (ko) 전송영역으로 반복하는 복수의 데이터를 전송하는 시스템
US7565462B2 (en) Memory access engine having multi-level command structure
US7743220B2 (en) External memory controller node
US6981073B2 (en) Multiple channel data bus control for video processing
CN114556956A (zh) 使用旁路子流和经熵编码子流的低时延编码
JP2004503855A (ja) 無線携帯マルチメディア装置をサポートする統合型プロセッサプラットフォーム
US20010047456A1 (en) Processor
US20020013633A1 (en) Audio processor and audio data processing method
US11962795B2 (en) Video frame codec architectures
JP4279317B2 (ja) データ処理方法及びデータ処理装置
US7076627B2 (en) Memory control for multiple read requests
EP1894106A2 (en) Memory controller and method for coupling a network and a memory
US6785337B2 (en) MPEG picture processing apparatus and data transferring method using the apparatus
US7590295B2 (en) Semiconductor device and an image processor
Kurohmaru et al. A MPEG4 programmable codec DSP with an embedded pre/post-processing engine
US20090201989A1 (en) Systems and Methods to Optimize Entropy Decoding
US20220164130A1 (en) Method and system of standards-based audio function processing with reduced memory usage
US20080183904A1 (en) Digital signal processor using handshake interfacing and operating method thereof
KR100640820B1 (ko) 버퍼 제어 장치
EP1351514A2 (en) Memory acces engine having multi-level command structure
WO2004027630A1 (en) Computer system and method for accessing external peripheral devices in a computer system

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid