FPGA (Xilinx Virtex 5/7)의 실행 스레드는 무엇이며 이론적으로 얼마나 많은 수 (최소 및 최대)가 될 수 있습니까?FPGA의 스레드 (자일링스 버텍스 5/7)는 무엇이며 얼마나 많은 수를 가질 수 있는가?
2
A
답변
3
FPGA는 재 프로그래밍 가능한 회로이며, 이들 회로의 구성 요소는 항상 병렬로 실행됩니다. 소프트웨어 개발 및 멀티 스레드 프로세서의 스레드 개념은 FPGA의 하드웨어 설계에는 적용되지 않습니다.
다른 단위에서 병렬로 작동 할 수있는 연산 단위로 "스레드"를 정의하면 논리 게이트 및 지원할 수있는 플립 플롭의 양에 따라 FPGA에 수천 또는 수백만 개의 스레드가 있다고 말할 수 있습니다 .
스레드를 소프트웨어 스레드로 정의하면 실제로 FPGA에 무엇을 적용 하느냐에 달려 있습니다. 단일 프로세서를 포함하도록 FPGA를 프로그래밍 할 수 있습니다. 운영 체제 또는 다른 저수준 임베디드 설정이 없으면 단일 스레드 만 지원합니다. OS를 실행하면 OS와 스레드 라이브러리가 지원할 수있는만큼의 소프트웨어 스레드를 확보하게됩니다.
물론 FPGA에 두 개 이상의 프로세서를 넣을 수도 있습니다. 그런 다음 멀티 코어 프로세서와 마찬가지로 실제로 하드웨어에서 병렬로 실행되는 소프트웨어 스레드를 가질 수 있습니다. 특정 FPGA에 장착 할 수있는 프로세서의 수는 프로세서 크기, FPGA에서 사용 가능한 로직 게이트 및 메모리, 그리고이를 모두 연결하고 타이밍을 충족시키는 기능에 의해 제한됩니다. Virtex 클래스 FPGA에 수십 개의 작은 8 비트 프로세서를 장착 할 수 있습니다. 각 FPGA는 독립적 인 소프트웨어를 실행할 수 있습니다.
고마워요! 예를 들어, OS Xilkernel에서 최대 10 개, 1000 개, 1000000 개의 스레드를 사용할 수 있습니까? – Alex
@Alex-xilkernel은 프로세서에 충분한 리소스가있는 경우 10s 스레드를 실행할 수 있습니다. 비록 좋은 FPGA의 낭비처럼 보인다 :) –