2013-05-15 3 views
1

"멀티 코어"프로세서 개념과 혼동 스럽습니다.멀티 코어 프로세서 간의 차이점

일부 멀티 코어 프로세서, ARM A9/x86을 연결하면 linux/windows와 같은 uni-OS가 실행됩니다. 모든 핵심 요소가 잘 작동합니다.

다른 사람은 TI의 C6678을 링크하고 핵심 pac0에서 Linux를 실행하고 다른 모든 핵심 PAC에서 sys/bios를 실행하면 syslink를 통해 통신합니다.

이러한 멀티 코어 프로세서의 아키텍처 차이점은 무엇입니까?

답변

7

여기서 볼 수있는 것은 AMPSMP 시스템의 주된 차이점입니다.

X86은 일반적으로 SMP 시스템이며 모든 코어는 동일하며 동일한 주변 장치에 액세스 할 수 있으며 서로 다른 메모리와 캐시에 액세스 할 수 있습니다. 캐시는 코어간에 일관된 상태로 유지되므로 모든 코어는 항상 동일한 메모리 뷰를가집니다. 코어 (해당 코어에서 실행중인 프로세스) 간의 통신은 일반적으로 세마포 및 뮤텍스와 같은 메모리 구조로 수행됩니다. 이 작업을하기 위해 칩 설계자는 많은 로직을 통합해야합니다.

AMP는 전혀 다른 짐승입니다. 코어는 대개 자체 "보기"메모리를 가지고 있습니다. 즉, 캐시가 코어간에 동기화되지 않습니다. 이것은 칩 설계를 단순화 시키지만, 메모리를 통한 통신은 문제가된다. 따라서 모든 코어는 자체 프로세스를 실행하고, 일부는 전체 OS를 실행하고, 일부는 베어 메탈 시스템 만 실행하고, 시스템의 일부는 Linux를 실행하고 다른 부분은 VXWorks 또는 다른 것을 실행하는 구성을 찾습니다.

AMP는 작업을 아주 잘 분할 할 수있는 경우 일반적으로 사용됩니다. 예를 들어 작은 PBX와 iptv 셋톱 박스를 작동시키는 라우터를 선택하십시오. 하나의 코어는 방화벽으로 리눅스를 운영 할 수 있습니다. 다음 코어는 vxworks와 PBX 애플리케이션을 실행하고 세 번째 코어는 TV 스트림을 디코딩하여 전송합니다. 라우팅 코어는 두 개의 다른 코어와 lan간에 들어오는 데이터를 배포해야하지만 모든 상호 작용에 관한 정보는 분배해야합니다.

일반적으로 SMP에서 제공하는 기능은 무료로 제공되지 않습니다. 첫째, 그들은 제품의 가격을 올릴 것입니다. 둘째, 캐시 동기화는주기면에서 매우 비쌉니다.

결국 결국 당신은 당신의 필요에 맞는 아키텍처를 사용해야 할 것입니다.

+0

우수! 대답 해 주셔서 감사합니다! –

+0

또 다른 질문입니다. AMP에서 OS를 이식하고 모든 코어를 제어 할 수 있습니까? –

관련 문제