CPU가 때때로 BCM2708, 때로는 BCM2835라고 불리는 이유는 무엇입니까?


49

Raspberry Pi의 시스템 온 칩은 보통 "BCM2835"(예 : Wikipedia ), 때로는 "BCM2708"(예 : Linux SPI 드라이버 소스는 bcm2708.c 또는 다른 질문에 대한 의견)이라고합니다. ).

어느 것이 옳습니까, 아니면 둘 다입니까-왜? 특히 데이터 시트에 불일치가있는 경우 "더 중요한"것으로 이해되는 것은 무엇입니까?

답변:


13

실제로 불일치는 실리콘과 칩 패키지의 지정으로 인한 것입니다. 원래 BCM2708로 알려진 실리콘 다이가 있었으며, 모든 초기 개발이이 주변에서 이루어졌습니다.

256MB DRAM의 스택 9x9 패키지에서 BCM2763이라고합니다. (Stacked는 문자 그대로 프로세서 위에 DRAM 실리콘을 본딩하고 본드 와이어를 기판에 내려 놓을 때입니다)

그러나 메모리가 POP (패키지 온 패키지, DRAM 패키지가 프로세서 패키지의 상단에 부착되어 있음) 인 경우 BCM2835로 알려져 있으며 이는 ARM을 활성화 한 장치입니다.

최신 버전의 칩은 동일한 방식을 따르고 이제 3 개의 실리콘, BCM2708, BCM2709 및 BCM2710과 3 개의 패키지 BCM2835, BCM2836 및 BCM2837이 있습니다.


20

Steve의 답변 외에도 Linux 드라이버git hub 이슈 로그에 드라이버 레이블을 지정하는 방법에 대한 토론이 있습니다. 관련 게시물은 다음과 같습니다

팝콘 믹스 :

기술적으로 2708은 제품군이고 2835는 특정 구현입니다. 우리는 이제 2835가 리눅스에서 실행할 수있는 유일한 구현체라는 것을 알고 있습니다. (그리고이 패밀리의 새로운 모델은 없을 것입니다.) 일관성이 있어야하지만 어떤 모델이 사용되는지는 중요하지 않을 것입니다.

lp0 :

따라서 모든 드라이버 (2708)를 지정하지만 특정 장치 트리 파일 (2835)의 이름을 지정하는 것이 합리적입니까? (리눅스를 실행할 수있는 다른 제품군이 있다고 가정하면 다른 장치 목록이 필요할 것입니다)


또 다른 의견은 아마도 "BCM2708은 BCM2835의 일부인 CPU 구성 요소"라고 제안 합니다. 일부 링크는 직접적인 증거가 좋을 것이다하는 ... (이미 첫 번째 구글 결과에서 발견 한 것을 나는보다 더 많은 일을하고 싶습니다 때문에 또한, 나는이 질문을 게시)
akavel

1
나는 일부를 찾으려고 노력했다. Broadcom 데이터 시트는 raspberrypi.org/wp-content/uploads/2012/02/…에 링크되어 있습니다 . 그러나 BCM2708 번호를 참조하지 않습니다. 내가 알 수있는 한,이 두 숫자가 함께 나타나는 유일한 장소는 이런 종류의 질문을하는 게시물에 있습니다.
Jon Egerton 2016 년

14

기술적으로 2708은 칩 제품군의 이름이고 2835는 Pi의 특정 칩입니다. 어떤 데이터 시트가 다른 데이터 시트를 대체하는지에 대해서는 BCM2708 (패밀리)보다 BCM2835 (특정)를 선택했습니다.


1
어려운 인용이 필요했습니다 . 또 다른 포스터는 아마도 "BCM2708은 BCM2835의 일부인 CPU 구성 요소"라고 제안 합니다. 실례 합니다만 왜 내가 그를 믿어야합니까?
akavel

1
"다른 포스터"로서-나는 그것이 커널 소스를 기반으로 한 추측이라고 말하고 싶습니다. 나는 확실한 증거도 없다 ... 그리고 우리는 정식 (바람직하게는 Broadcomm) 소스 답변을 가져야한다.
Maria Zverina 2016 년

1
@MariaZverina이 특정한 경우에, 그러한 정식 소스는 누구도 구할 수 없을 것입니다. 칩에 대한 자세한 정보를 얻으려면 NDA가 필요하기 때문입니다. 결과적으로보다 실용적인 접근 방식이 요구 될 수 있습니다. 질문의 맥락을 파악하는 방법으로 질문을하겠습니다. 이 네이밍 질문의 결과로 할 수없는 것을 무엇을하려고합니까?
Steve Robillard 2016 년

@MariaZverina와 akavel 방금 YouTube에서이 비디오를 보았습니다. Geert van Leuw의 youtube.com/watch?v=5jEVBK7P1GA 에서 Pi의 칩에 대해 이야기하고 2835라고합니다. Pi 하드웨어에 대한 정보의 출처 나는 그것이 훨씬 나아지지 않는다는 데 동의 할 것이라고 생각합니다.
스티브로 빌라 드

4

ARM 코어는 SoC의 주요 부분이 아니라 시스템 MMU 뒤의 측면에 붙어있는 보조 코어입니다. 기본 (부팅) 프로세서는 VideoCore로 초기 초기화를 수행하고 시스템 MMU를 설정하고 ARM 코어를 부팅합니다.

대부분의 bcm2708은 VideoCore 프로세서 및 주변 장치를 포함하는 SoC의 주요 부분을 참조합니다 (wikipedia의 VideoCore SoC 표를 참조하십시오. bcm27xx 부분에 ARM 코어가 없는지 확인하십시오).

Broadcom의 드라이버 소스 코드 릴리스를 기반으로 실제로 모든 VC4 SoC가 bcm2708을 기반으로하는 반면 VC3은 bcm2707이라는 인상을받습니다. bcm2708 개정 (a0, b0, c0)이 3 개 이상 있지만 a0은 #ifdefs를 포함하고 그 자체로 꽤 많은 헤더를 가질만큼 충분히 다릅니다. 메인 헤더가 포함되어 있지 않은 "VC4 big island"에 대한 예외도 있지만, 이 말 은 흥미로운 것이지만 실제로는 찾을 수 없습니다 .

따라서 운전자가 2708 (특히 Broadcom에서 개발 한 경우)을 참조하는 것이 좋습니다.

rcm2보고 bcm2709를 어떻게 만들지 잘 모르겠습니다 .bcm2835와 bcm2836 SoC는 ARM 하위 시스템과 주변 장치 기본 주소 (예 : 약간 다른 시스템 MMU 구성)에서만 다르다는 많은 진술이 있으므로 매우 높은 것으로 보입니다. 아마도 그것은 또한 bcm2708 기반이지만 아마도 사용 가능한 정보는 다소 제한적입니다. 누군가가 bcm2708이 ARM11 코어를 암시한다고 가정하는 코드를 처리하기 위해 숫자를 충돌했는지 궁금합니다 (실제로 ARM 코어를 전혀 암시하지는 않습니다).

편집 : 새로 출시 된 bcm2836 quad-A7 문서는 bcm2708을 기반으로 함을 확인합니다.


BCM2709가 ARMv8이라고 생각합니다. ARMv8은 AArch64 (ARM-64)이며 하드웨어에 crc32, pmull, aes, sha1 및 sha2와 같은 확장이 있음을 의미합니다 .
jww

흠, 내 대답을 전혀 읽었 니? BCM2708은 SoC (VideoCore 4 + 주변 장치)의 주요 부분이며 ARM은 아닙니다. 포함 된 내용에 대한 아이디어를 얻으려면 Broadcom의 헤더 릴리스 를 참조하십시오 . 그런 다음 arm11 / quad-a7 / quad-a53 ARM 하위 시스템을 각각 측면에 부착하여 BCM2835 / 6 / 7 (및 기타 여러 부품)을 구성했습니다. 그러나 이것은 다른 SoC와 관련이 없습니다.
Matthijs

0

이 질문에 대한 내 검색 이이 페이지 에서 프롬프트되었습니다

cat / proc / cpuinfo 명령의 응답에 유의하십시오.

...

하드웨어 : BCM2708

개정 : 1000002


흠, 흥미로운! 다른 답변에 비추어 볼 때, 여전히 상황을 충분히 해결하지 못한다고 생각합니다. 여전히 가족 이름이나 특정 구현 이름 또는 다른 이름 일 수 있습니다.
akavel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.