두 대의 GPU 제조업체가 여기저기서 약간의 성능 향상이있는 업데이트 된 드라이버를 지속적으로 출시하는 것처럼 보입니다. 그들이 같은 게임을 할 때 시간이 지남에 따라 더해질 것입니다.
이를 염두에두고 AMD 나 인텔이 특정 앱이나 Windows 버전 등의 CPU 드라이버 조정에 대해 들어 본 적이없는 이유는 무엇입니까?
두 대의 GPU 제조업체가 여기저기서 약간의 성능 향상이있는 업데이트 된 드라이버를 지속적으로 출시하는 것처럼 보입니다. 그들이 같은 게임을 할 때 시간이 지남에 따라 더해질 것입니다.
이를 염두에두고 AMD 나 인텔이 특정 앱이나 Windows 버전 등의 CPU 드라이버 조정에 대해 들어 본 적이없는 이유는 무엇입니까?
답변:
첫째, 때로는 특정 CPU에 대해 성능을 향상 시키거나 효율성을 높일 수있는 드라이버 패치가 출시되는 경우가 있습니다. 그러나 분명히이 질문은 그다지 흔한 것이 아니기 때문에 묻는 것입니다. 그러나 CPU 드라이버 최적화는 개념 상 유사합니다.
GPU는 매우 복잡한 회로입니다. CPU에서 시간이 오래 걸리는 특정 작업을 오프로드하기 위해 존재합니다. 데이터 세트와이 데이터로 수행 할 작업에 대한 지침을받습니다. GPU는 관리 가능한 방식으로 데이터를 주문하고 지시 사항을 해석하여 수행 할 작업을 지시 할 수 있어야합니다. 그런 다음 데이터에 대해 일련의 수학 연산을 수행해야합니다. 그런 다음 데이터를 다시 정렬하고 결과가 완료되면 운영 체제로 결과를 다시 보내야합니다. 이것은 컴퓨터 그래픽스 파이프 라인에 대한 매우 간단한 설명입니다 . 데이터가 프로그램에 준비되기 전에 수행해야하는 여러 단계가 있습니다.
이제 GPU는 일련의 명령어를 수용하고 하드웨어에서 매우 복잡한 수학 연산을 구현해야하므로이 파이프 라인을 통해 더 빠르거나 느리게 실행되는 것으로 알려진 것들이 있습니다. 장치의 드라이버를 작성하는 과정에서 장치로 전송되는 데이터와 명령을 해석하여 장치가 이해할 수 있도록 번역합니다. 드라이버가이 작업을 수행 할 때 작업에 가장 짧은 시간이 걸리도록 장치로 데이터를 보내는 방법을 결정할 수 있습니다. 그러나 드라이버는 일반적으로 서비스를 제공하는 프로그램에 대한 정보가 많지 않습니다. 프로그램에서받는 모든 것은 API 호출입니다 ( "선 그리기", "점을 채색", "삼각형 음영"등). 따라서 가정 할 수있는 가정은 그리 좋지 않습니다.
AMD 또는 nVidia가 특정 게임에 대한 성능 개선 사항이 포함 된 드라이버 업데이트를 출시하면 드라이버가 그래픽 하드웨어를 호출하는 게임을 감지하고 게임 방식에 대해 알려진 일련의 하드 코딩 가정이 있음을 의미합니다. 구현되었습니다. 게임에 많은 텍스처 이미지가있어 메모리 안팎으로 빠르게 교체해야하거나 특정 조명 효과를 내기 위해 즉석에서 많은 색상을 블렌딩해야 할 수도 있습니다. 일반적으로 게임은 이러한 계산을 수행하는 방법을 설명하는 작은 프로그램 ( "셰이더"라고 함)을 구현하고 실행을 위해 GPU로 전송됩니다. 운전자가 게임에서 하드웨어를 사용하는 방법을 알고 있으면 데이터를 구성하고 처리량과 효율성을 높이는 방식으로 원하는 작업을 수행하는 명령 세트를 선택할 수 있습니다.
그러나 때로는 제품이 배송 된 후 GPU의 일부에 버그가있을 수 있습니다. 칩을 설계 할 때 유효성 검사에서 놓쳐 버릴 정도로 불분명 할 수 있지만 특정 게임에서 버그가 발생하거나 바람직하지 않은 동작 (또는 충돌)이 발생하는 것을 알 수 있습니다. 이 경우 드라이버는이 버그가있는 상태를 감지하여 CPU 측으로 계산을 오프로드하거나 GPU에 데이터를 공급하는 방식을 변경하여이 상태로 들어 가지 않도록하여 버그를 해결합니다. 이것들은 다시 드라이버 업데이트 형태로 출시 될 것입니다.
따라서 기본적으로 하드웨어 자체의 성능을 변경하지 않고 하드웨어 사용 방식을 변경하여 동일한 데이터 세트에서보다 효율적이고 빠르게 작동 할 수 있습니다.
"CPU 드라이버"는 거의 존재하지 않으며로드 가능한 모듈로는 없습니다. 멀티 코어 제어 또는 인터럽트 처리의 일부 변형에는 가끔 "CPU 드라이버"가 필요합니다 (예 : AMD 듀얼 코어는 전체 활용을 위해 WinXP 드라이버가 필요했습니다). 그렇지 않으면 대부분의 OS가 CPU에 직접 액세스하도록 구성 및 구축됩니다. 문제가 나타나고 심각하면 커널 코드가 패치되고 커널 업데이트가 릴리스됩니다.
GPU는 더 이상 주변 장치가 아닙니다. 그들은 보조 프로세서로 진화했습니다. "GPU 드라이버"는 장치 액세스를 제공 할뿐만 아니라 드라이버에 패키지 된 GPU에 대한 처리 알고리즘 (예 : 그래픽 서브 프로그램)을 포함합니다. 이 "드라이버"의 크기는 공짜 / 단서입니다. 개선되고있는 것은 이러한 알고리즘 / 서브 프로그램입니다.
그것은 드라이버뿐만 아니라 GPU 자체입니다. GPU는 다양한 유형의 계산 (예 : FFT) 및 메모리 조작에 특화되어 있습니다. 대부분의 주어진 작업에서 병렬로 작동하여 범용 CPU보다 효과적입니다.
실행중인 프로그램에 대한 지식이 풍부하면이 프로그램의 메모리 조작 또는 계산 프로세스를 최적화 할 수 있습니다. GPU는 계산을 수행하고 메모리 조작을 수행하는 방법에 매우 다양하므로 완벽한 펌웨어 또는 드라이버를 작성해야합니다. ;) 개선의 여지가 충분합니다.
대부분의 다른 장치는 그 용도가 다양하지 않습니다. PC의 대부분의 하드웨어는 사양에 따라 실행하고 프로토콜을 따라야하므로 드라이버를 최적화 할 필요가 없습니다.
A, CPU를 잊어 버렸습니다. > _ <CPU를 최적화 할 수 있습니다. 대부분의 새로운 CPU 모델에는 프로그래밍 가능한 펌웨어가 있지만 성능 향상은 그만한 가치가 없습니다. 하드웨어 빌드 프로세스에서 오류를 수정하는 데만 사용됩니다.