데이터가 논리 게이트를 통해 물리적으로 어떻게 전송되는지 궁금합니다. 예를 들어, 684 픽셀 아래쪽과 327 픽셀 오른쪽에있는 모니터의 픽셀은 해당 픽셀을 올바른 색으로 채우는 데에만 신경을 쓰는 GPU에 특정 세트 또는 트랜지스터 경로가 있습니까? 아니면 더 무작위입니까?IC상의 로직 게이트 배치?
답변
다음은 특정 파운드리 용 칩을 빌드 할 때 사용되는 en.wikipedia.org/wiki/Standard_cell 라이브러리입니다. 컴파일 할 때 사용되는 명령어 세트와 같습니다. ARM의 기계어 코드는 x86과 다르지만 동일한 코드가 둘 중 하나에 대해 컴파일 될 수 있습니다 (물론 각 언어에 대한 컴파일러가있는 경우). 따라서 표준 함수 목록 (및/또는 기타 더 복잡한 것들)을 사용하여 Verilog/vhdl을 컴파일 할 수 있습니다. 특정 셀이 고정 배선되어 있습니다. 셀 라이브러리와 파운드리 및 사용 된 프로세스 (28nm, 22nm, 14nm 등) 사이에는 친밀한 관계가 있습니다. 기본적으로 사진처럼 프로세스를 사용하여 한 번에 하나의 얇은 칩을 만들 필요가 있습니다. 특정 반도체에 대한 특정 반도체 및 기타 요소는 다른 것과 다를 수 있으므로 28nm 기술은 14nm와 다를 수 있으므로 필요할 수 있습니다. 다르게 다른 셀 라이브러리 AND 게이트를 구성 할 수 있습니다. 그리고 그것은 특정 파운드리에서 특정 공정을위한 오직 하나의 AND 게이트 셀이 있다는 것을 의미하지는 않는다. 하나 이상의 AND 게이트 셀이 개발되었다는 것을 의미한다.
까지 픽셀과 비디오의 작동 방식은 일반적으로 비디오 카드 자체의 어딘가에 있습니다. 화면 크기, 색상 수 등에 따라 메모리를 다르게 구성 할 수 있습니다. 또한 플리커를 방지하고 더 높은 프레임 속도를 제공하는 데 사용되는 여러 프레임이있을 수 있습니다. 따라서이 메모리의 0x000000 주소에 하나의 화면 이미지가있을 수 있습니다. 비디오 카드는이 주소에서 시작하는 픽셀 데이터를 추출하고, 소프트웨어는 0x100000에서 다음 프레임을 생성합니다.
프레임 속도에 따라 프레임을 전환 할 때 로직은 0x100000을 사용하여 이미지를 표시하는 것으로 전환 할 수 있으며 소프트웨어는 0x000000을 수정합니다. 따라서 특정 비디오 모드의 경우, 알려진 오프셋의 메모리에서 처음 3 바이트는 0,0 좌표 픽셀의 픽셀 데이터, 다음 1,0은 1,0 등의 픽셀 데이터가 될 수 있습니다. 684와 같은 숫자의 경우 오프셋 684 * 3에서 두 번째 줄을 시작할 수 있지만 0x400에서 두 번째 줄을 시작할 수 있습니다.
어떤 모드에 대해서도 모드 설정이 변경되지 않는 한 비디오 메모리 프레임의 오프셋은 특정 픽셀에 대해 동일합니다. 사용 된 인터페이스의 규칙 (예 : vga, hdmi 또는 전화 LCD와 관련된 인터페이스)으로 인해 비디오 카드는 해당 메모리를 읽고 각 픽셀에 적합한 펄스 또는 아날로그 레벨 신호를 생성하는 논리를가집니다.
또한 트랜지스터 기능이 고정되어 있습니까? 즉, AND 논리 게이트에 대한 입력에 사용되는 트랜지스터는 항상 그 논리 게이트에 대한 입력 일까? – PFost