Intel의 HD 오디오 아키텍처

Intel 고화질 오디오 사양( Intel HD 오디오 웹 사이트 참조)은 Intel AC'97 코덱 및 컨트롤러 사양의 후속으로 개발 중인 오디오 하드웨어 아키텍처를 설명합니다. 운영 체제의 UAA 드라이버 구성 요소는 HD 오디오 레지스터 집합을 노출하고 하드웨어 공급업체의 솔루션별 드라이버를 요구하지 않고 시스템의 내부 버스에 연결하는 오디오 솔루션을 서비스할 수 있습니다.

HD 오디오 아키텍처는 디지털 오디오 컨트롤러를 위한 균일한 프로그래밍 인터페이스를 제공합니다. 일반적으로 오늘날의 오디오 코덱은 AC의 97 산업 표준을 준수하며 디지털 컨트롤러는 다른 산업 표준인 AC-Link를 통해 하나 이상의 AC'97 코덱에 연결합니다. 이러한 표준은 코덱과 링크가 일관되게 구현되도록 하는 데 도움이 되지만 현재 디지털 오디오 컨트롤러에 대한 인터페이스를 정의하는 표준은 없습니다. 공급업체는 시스템 통합 AC'97 디지털 오디오 컨트롤러에 대해 매우 유사한 솔루션을 사용하는 경향이 있지만 각 AC'97 솔루션은 별도의 드라이버가 필요할 정도로 다를 수 있습니다. HD 오디오 아키텍처는 모든 구현에서 균일한 기본 레지스터 집합을 지정하여 솔루션별 드라이버에 대한 요구 사항을 제거하기 위한 것입니다.

HD 오디오 아키텍처를 준수하는 버스 컨트롤러:

  • 컨트롤러 하드웨어 버전 정보를 제공합니다.

  • SDO(직렬 데이터 출력) 라인 및 DMA 엔진 수를 포함하여 하드웨어 구성 정보를 제공합니다.

  • HD Audio Link에서 사용할 수 있는 버스 대역폭의 양을 관리합니다.

  • 코덱에서 원치 않는 응답 및 모닝콜 이벤트를 수락합니다.

  • 별도의 링 버퍼에서 코덱 명령 및 코덱 응답을 큐에 추가합니다.

  • 분산/수집 전송을 수행하고 호스트 프로세서의 개입 없이 메모리의 코덱과 순환 버퍼 간에 데이터를 스트리밍할 수 있는 입력, 출력 및 양방향 DMA 엔진의 컬렉션을 제공합니다.

다음 그림에서는 Windows Vista의 HD 오디오 디바이스용 UAA 드라이버 아키텍처 다이어그램을 보여 줍니다. 그림에서 UAA HD 오디오 클래스 드라이버 및 HD Audio Bus 드라이버라는 레이블이 지정된 소프트웨어 구성 요소는 Microsoft에서 제공합니다. 모뎀 드라이버라는 레이블이 지정된 구성 요소는 독립 하드웨어 공급업체에서 제공합니다.

Windows Vista의 Intel HD Audio 디바이스에 대한 UAA 드라이버 아키텍처를 보여 주는 다이어그램

UAA HD 오디오 클래스 드라이버는 드라이버 위의 운영 체제 오디오 스택에 스트리밍 인터페이스를 제공합니다(이전 그림에 표시되지 않음).

HD 오디오 버스 드라이버는 HD 오디오 컨트롤러의 하드웨어 레지스터에 직접 액세스하고 UAA HD 오디오 클래스 드라이버 또는 모뎀 드라이버가 DMA 엔진을 관리하고 코덱에 명령을 보내는 데 사용하는 DDI를 제공합니다. HD 오디오 버스 드라이버는 HD 오디오 링크의 오디오 디바이스를 대신하여 모든 인터럽트, 플러그 앤 플레이 알림 및 전원 관리 이벤트를 처리합니다.

HD 오디오 컨트롤러는 명령 및 데이터를 HD 오디오 링크의 코덱으로 전송하는 데 사용되는 DMA 엔진 및 명령 버퍼를 제공합니다. 이전 그림의 코덱 레이블이 지정된 상자는 오디오 또는 모뎀 코덱일 수 있으며 외부 잭을 통해 이동식 주변 장치 또는 모바일 PC 스피커와 같은 고정 내부 주변 장치에 연결할 수 있습니다.