Tại sao CPU đôi khi được gọi là BCM2708, đôi khi BCM2835?


49

Tôi đã thấy Hệ thống trên Chip của Raspberry Pi thường được gọi là "BCM2835" (ví dụ trên Wikipedia ), nhưng đôi khi là "BCM2708" (ví dụ: các nguồn cho trình điều khiển SPI Linux có trong bcm2708.c hoặc trong các nhận xét cho câu hỏi khác của tôi ).

Cái nào đúng, hoặc cả hai - tại sao? Đặc biệt, nếu có sự không nhất quán trong datasheets cho cả hai, điều này sẽ được hiểu là "quan trọng hơn"?

Câu trả lời:


13

Trên thực tế, sự khác biệt là do sự chỉ định của silicon và gói chip. Ban đầu có cái chết silicon được gọi là BCM2708, tất cả sự phát triển ban đầu đã được thực hiện xung quanh việc này.

Trong gói 9x9 xếp chồng với 256 MB DRAM, sau đó được gọi là BCM2763. (Xếp chồng là khi bạn liên kết silicon DRAM trên đầu bộ xử lý và đặt dây liên kết xuống đế)

Nhưng khi bộ nhớ là POP (gói trên gói, gói DRAM được gắn vào đầu gói bộ xử lý) thì nó được gọi là BCM2835, đây là thiết bị đã kích hoạt ARM.

Các phiên bản sau này của chip theo cùng một sơ đồ, hiện có ba miếng silicon, BCM2708, BCM2709 và BCM2710 và ba gói BCM2835, BCM2836 và BCM2837.


20

Ngoài câu trả lời của Steve, có một cuộc thảo luận ở đây về nhật ký sự cố trung tâm git cho các trình điều khiển linux thảo luận về cách các trình điều khiển nên được dán nhãn. Các bài viết thích hợp là:

bỏng ngô:

Về mặt kỹ thuật 2708 là gia đình và 2835 là một triển khai cụ thể. Bây giờ chúng ta biết rằng 2835 là triển khai duy nhất trong gia đình có thể chạy linux, (và sẽ không có các mô hình mới của gia đình này), vì vậy có lẽ không có vấn đề gì được sử dụng cho mô hình nào, mặc dù nó phải phù hợp.

lp0:

Vì vậy, sẽ hợp lý khi đặt tên cho tất cả các trình điều khiển 2708 nhưng tập tin cây thiết bị cụ thể 2835? (giả sử rằng nếu có một mô hình khác của gia đình đó có thể chạy linux thì nó sẽ cần một danh sách các thiết bị khác)


Một nhận xét khác cho thấy có thể "BCM2708 là thành phần CPU là một phần của BCM2835". Một số liên kết đến bằng chứng trực tiếp sẽ rất hay ... (ngoài ra, tôi đã đăng câu hỏi này vì tôi muốn một cái gì đó nhiều hơn những gì tôi đã tìm thấy trong kết quả đầu tiên của Google)
akavel

1
Tôi đã cố gắng để tìm thấy một số. Bảng dữ liệu broadcom được liên kết tại đây: raspberrypi.org/wp-content/uploads/2012/02/ . Tuy nhiên, nó không tham chiếu số BCM2708. Theo như tôi có thể thấy nơi duy nhất hai số đó xuất hiện cùng nhau là trên các bài đăng hỏi loại câu hỏi này.
Jon Egerton

14

Về mặt kỹ thuật 2708 là tên của họ chip và 2835 là chip cụ thể trong Pi. Đối với bảng dữ liệu nào thay thế cho bảng dữ liệu khác, tôi sẽ chọn BCM2835 (cụ thể) so với BCM2708 (gia đình).


1
Cần trích dẫn cứng . Một poster khác cho thấy có lẽ "BCM2708 là thành phần CPU là một phần của BCM2835". Xin lỗi, nhưng tại sao tôi lại tin em chứ không phải anh?
akavel

1
Là "poster khác" - tôi muốn nói rằng đó là suy đoán dựa trên các nguồn kernel. Tôi cũng không có bằng chứng cứng ... và chúng tôi thực sự nên có một số câu trả lời nguồn chính tắc (tốt nhất là Broadcomm).
Maria Zverina

1
@MariaZverina Trong trường hợp cụ thể này, một nguồn chính tắc như vậy có thể không có sẵn từ bất kỳ ai - vì ngay cả khi nhận được đầy đủ thông tin chi tiết về chip cũng cần có NDA. Kết quả là một cách tiếp cận thực tế hơn có thể được yêu cầu. Hãy để tôi hỏi một câu hỏi như là phương tiện để có được bối cảnh cho câu hỏi. Bạn đang cố gắng làm gì mà bạn không thể là kết quả của câu hỏi đặt tên này?
Steve Robillard

@MariaZverina và akavel Tôi vừa xem video này trên YouTube youtube.com/watch?v=5jEVBK7P1GA của Geert van Leuw nói về con chip trong Pi và anh ấy gọi nó là 2835. Là một nguồn thông tin trên phần cứng Pi Tôi nghĩ bạn sẽ đồng ý rằng nó sẽ không tốt hơn nhiều.
Steve Robillard

4

Điều đáng nhận ra là lõi ARM không phải là một phần chính của SoC, mà là một lõi phụ bị kẹt ở bên cạnh, đằng sau một MMU hệ thống. Bộ xử lý chính (boot) là VideoCore, thực hiện khởi tạo sớm, thiết lập MMU hệ thống và khởi động lõi ARM.

Nhiều khả năng bcm2708 đề cập đến phần chính của SoC chứa bộ xử lý và các thiết bị ngoại vi VideoCore (xem bảng VideoCore SoCs của wikipedia , lưu ý rằng không có phần bcm27xx nào có lõi ARM).

Dựa trên bản phát hành mã nguồn trình điều khiển của Broadcom, tôi thực sự có ấn tượng rằng tất cả các SoC của VC4 đều dựa trên bcm2708, trong khi VC3 là bcm2707. Có ít nhất ba phiên bản bcm2708 (a0, b0, c0) và a0 khác nhau đủ để có #ifdefs ở khắp mọi nơi và khá nhiều tiêu đề của riêng nó. Ngoài ra còn có một ngoại lệ cho "hòn đảo lớn VC4" không bao gồm tiêu đề chính, nhưng tôi thực sự không thể tìm thấy nhiều về nó, mặc dù nhận xét này là một điều thú vị.

Vì vậy, nó có ý nghĩa cho các trình điều khiển được đề cập đến 2708 (đặc biệt là nếu chúng được phát triển bởi broadcom).

Tôi không chắc chắn nên làm gì với báo cáo rpi2 bcm2709 ... có rất nhiều tuyên bố rằng các SoC bcm2835 và bcm2836 chỉ khác nhau trong hệ thống con ARM và địa chỉ cơ sở ngoại vi (nghĩa là cấu hình MMU hệ thống hơi khác nhau), vì vậy nó có vẻ rất cao thực tế nó cũng dựa trên bcm2708, nhưng thông tin có sẵn thì khá hạn chế. Tôi tự hỏi liệu có ai đó đã vượt qua con số để xử lý mã giả định bcm2708 ngụ ý lõi ARM11 (trong khi thực tế nó không ngụ ý bất kỳ lõi ARM nào).

Chỉnh sửa: Tài liệu quad-A7 bcm2836 mới phát hành xác nhận nó cũng dựa trên bcm2708.


Tôi tin rằng BCM2709 là ARMv8. ARMv8 là AArch64 (ARM-64) và điều đó có nghĩa là phần cứng có các phần mở rộng như crc32, pmull, aes, sha1 và sha2 .
18 giờ 34 phút

Ehm, bạn đã đọc câu trả lời của tôi chưa? BCM2708 chỉ đề cập đến phần chính của SoC (thiết bị ngoại vi VideoCore 4 +), không có ARM. Xem ví dụ phát hành tiêu đề của broadcom để có ý tưởng về những gì nó bao gồm. BCM2835 / 6/7 (và nhiều bộ phận khác) sau đó đã được chế tạo bằng cách dán một hệ thống con ARM arm11 / quad-a7 / quad-a53 (tương ứng) vào bên cạnh nó. Tuy nhiên, điều này không liên quan nhiều đến phần còn lại của SoC.
Matthijs

0

Tìm kiếm của tôi cho câu hỏi này đã được nhắc nhở bởi trang này

Lưu ý phản hồi từ lệnh cat / Proc / cpuinfo

...

Phần cứng: BCM2708

Sửa đổi: 1000002


Hừm, thú vị quá! Mặc dù, theo các câu trả lời khác, tôi tin rằng nó vẫn không giải quyết được tình huống đủ - nó vẫn có thể là cả tên gia đình, hoặc tên thực hiện cụ thể, hoặc một cái gì đó khác ...
akavel
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.