장치 컨트롤러란 무엇입니까? 커널과 장치 사이의 어디에 위치합니까?

장치 컨트롤러란 무엇입니까? 커널과 장치 사이의 어디에 위치합니까?

누군가 장치 컨트롤러(하드 드라이브 컨트롤러, NEC PD765 호환 컨트롤러 등)의 개념을 설명해 주시겠습니까?


다음은 통역 시 필요할 수 있는 몇 가지 주요 용어에 대한 정의입니다. 용어를 동기화하기 위해 :)

핵심- 하드웨어 장치 액세스를 위한 추상화를 제공하는 소프트웨어

운전사- 커널 모듈로 로드되고 커널에 장치 제어 방법에 대한 지식을 제공하는 하드웨어 제조업체가 작성한 하위 수준 프로그램

펌웨어- 하드웨어의 내부 논리를 정의하는 하드웨어 관련 프로그램입니다. 커널은 부팅할 때마다 장치에 펌웨어를 업로드하는 경우를 제외하고는 일반적으로 이들과 아무 관련이 없습니다. 이 경우 커널이 업로드를 수행합니다.


장치 컨트롤러는 어디에 설치되어 있나요? 장치 자체에 있습니까, 아니면 마더보드에 있습니까?

드라이버가 장치 자체에 직접 연결하는 대신 커널에 컨트롤러 방향 인터페이스를 제공합니까?

컨트롤러가 동일한 드라이버를 사용하여 다른 제조업체의 장치를 제어할 수 있다는 아이디어가 있습니까?

답변1

컨트롤러가 동일한 드라이버를 사용하여 다른 제조업체의 장치를 제어할 수 있다는 아이디어가 있습니까?

아니요. 주요 목적은 장치와 프로세서 간의 인터페이스 일부를 제공하는 것입니다. 컨트롤러에는 연결된 장치에 필요한 드라이버 외에 자체 드라이버가 있습니다.

프로세서는 고도로 전문화되어 있기 때문에 인터페이스가 필요합니다. 컨트롤러는 프로세서의 특수 영역을 장치의 다양한 영역으로 변환하는 역할을 합니다. 프로세서에는 외부 세계에 대한 물리적 데이터 연결이 하나만 있습니다(버스), 실제로 다양성은 아니지만 일반적으로 컨트롤러와 프로세서 사이의 중개자는다리프로세서를 마더보드에 연결합니다. 그런 다음 장치 컨트롤러는 마더보드에 연결되고 브리지를 통해 통신합니다. 따라서 체인에는 프로세서->브리지->컨트롤러->장치라는 4개의 개별 물리적 개체가 있습니다.모두여기에는 자체 소프트웨어 드라이버(프로세서용 드라이버, 브리지 칩셋용 드라이버, 각 컨트롤러용 드라이버, 각 장치용 드라이버)가 포함됩니다.

아래 사진을 보시면이 위키피디아 기사, 하단의 파란색 상자는 장치 컨트롤러를 나타냅니다.

여기에 이미지 설명을 입력하세요.

[저자: Alexander Taubenkorb, 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0]

답변2

장치 컨트롤러는 일반적으로 버스 중재자입니다. 일반적으로 특정 버스의 장치와 직접 통신하지 않고 컨트롤러와 통신합니다. 그런 다음 컨트롤러는 컨트롤러를 통해 요청한 내용에 따라 버스의 장치에 명령을 보내는 시기와 방법을 결정합니다.

Wikipedia에는 ​​이 주제에 대해 다음과 같은 내용이 있습니다.http://simple.wikipedia.org/wiki/Device_controller.

발췌

장치 컨트롤러는 연결된 장치로부터 데이터를 수신하고 이를 컨트롤러 내의 일부 전용 레지스터(예: 로컬 버퍼)에 임시 저장합니다. 그런 다음 장치 드라이버와 데이터를 통신합니다. 각 장치 컨트롤러에는 장치 컨트롤러가 인터럽트를 통해 운영 체제와 통신하는 표준 인터페이스인 동등한 장치 드라이버가 있습니다. 장치 컨트롤러는 하드웨어이고 장치 드라이버는 소프트웨어입니다.

답변3

일반 컴퓨터 시스템에는 다음이 포함됩니다.CPU그리고다중 장치 컨트롤러연결을 통해공공 버스.

각 장치 컨트롤러는 특정 유형의 장치를 담당합니다.

장비 컨트롤러 유지 관리:

  1. 로컬 캐시
  2. 특수 목적 레지스터 세트

각 장치 컨트롤러에는 해당 장치 드라이버도 있습니다.대개

이것장치 드라이버장치 컨트롤러를 이해하고선물통합 인터페이스장치에서 운영 체제의 나머지 부분까지.

관련 정보