Чому процесор іноді називають BCM2708, іноді BCM2835?


49

Я бачив Систему на чіпі Raspberry Pi, яку зазвичай називають "BCM2835" (наприклад, у Вікіпедії ), але іноді як "BCM2708" (наприклад, джерела для драйвера SPI для Linux є в bcm2708.c , або в коментарях до мого іншого питання ).

Що правильно, або обидва - чому? Зокрема, якщо в таблицях даних є невідповідності для обох, що слід розуміти як "важливіше"?

Відповіді:


13

Насправді невідповідність пояснюється позначенням кремнію та мікросхеми. Спочатку була кремнієва матриця, яка відома як BCM2708, усе початкове розвиток було зроблено навколо цього.

У складеному 9x9 пакеті з 256 МБ DRAM він тоді відомий як BCM2763. (Укладається коли ви буквально скріплюєте кремній DRAM поверх процесора і кладете дроти зв'язку на підкладку)

Але коли пам'ять POP'd (пакет у пакеті, пакет DRAM приєднується до верхньої частини процесорного пакета), тоді він був відомий як BCM2835, це пристрій, у якому тоді було включено ARM.

Пізніші версії мікросхеми відповідають тій же схемі, зараз є три штуки кремнію, BCM2708, BCM2709 і BCM2710 та три пакети BCM2835, BCM2836 та BCM2837.


20

Надалі відповідь Стіва, тут йде дискусія у журналі видачі git hub для драйверів Linux, який обговорює, як драйвери повинні бути марковані. Відповідні посади:

попкорнмікс:

Технічно 2708 - це сім'я, а 2835 - конкретна реалізація. Зараз ми знаємо, що 2835 є єдиною реалізацією в сім'ї, яка може запускати linux (і нових моделей цього сімейства не буде), тому, мабуть, не має значення, яка модель використовується, хоча вона повинна бути послідовною.

lp0:

Тож було б розумно назвати всі драйвери 2708, але конкретний файл дерева пристрою 2835? (якщо припустити, що якщо ще є якась інша модель цього сімейства, яка може запускати Linux, знадобиться інший список пристроїв)


Інший коментар говорить про те, що, можливо, "BCM2708 є компонентом процесора, який є частиною BCM2835". Деякі посилання на докази з перших рук були б непоганими ... (також я опублікував це питання, тому що мені хотілося б чогось більшого, ніж те, що я вже знайшов у першому результаті Google)
akavel

1
Я спробував їх знайти. Лист Broadcom даних пов'язаний тут: raspberrypi.org/wp-content/uploads/2012/02 / ... . Однак він не посилається на номер BCM2708. Наскільки я бачу єдине місце, де ці два числа з’являються разом, - це повідомлення, які задають подібне питання.
Джон Егертон

14

Технічно 2708 - це назва для сімейства чіпів, а 2835 - специфічний чіп у Pi. Що стосується того, який лист даних замінює інший, я вибрав би BCM2835 (конкретний) над BCM2708 (сімейство).


1
Потрібне жорстке цитування . Інший плакат говорить про те, що, можливо, "BCM2708 - це компонент процесора, який є частиною BCM2835". Вибачте, але чому я повинен вірити вам, а не йому?
akavel

1
Як "інший плакат" - я хотів би сказати, що це була спекуляція на основі джерел ядра. У мене немає жодних вагомих доказів ... і ми справді повинні мати якусь канонічну (бажано, Broadcomm) джерельну відповідь.
Марія Зверина

1
@MariaZverina У цьому конкретному випадку таке канонічне джерело може бути недоступним нікому - оскільки навіть отримання повних деталей на мікросхемі вимагає NDA. Як результат, може бути застосований більш прагматичний підхід. Дозвольте мені задати питання як засіб для отримання контексту для питання. Що ви намагаєтесь зробити, що не можете в результаті цього питання про іменування?
Стів Робіллард

@MariaZverina та akavel Я щойно натрапив на це відео на YouTube youtube.com/watch?v=5jEVBK7P1GA від Geert van Leuw, який розповідає про мікросхему в Pi, і він посилається на нього як на 2835. Як джерело інформації про апаратне забезпечення Pi Я думаю, ви погодитесь, що це не стає набагато кращим.
Стів Робільярд

4

Варто усвідомити, що ядро ​​ARM - це не первинна частина SoC, а допоміжне ядро, що застрягло збоку, позаду системного MMU. Основним (завантажувальним) процесором є VideoCore, який здійснює ранню ініціалізацію, налаштовує систему MMU та завантажує ядро ​​ARM.

Швидше за все, bcm2708 стосується основної частини SoC, що містить процесор VideoCore та периферійні пристрої (дивіться у таблиці Вікіпедії VideoCore SoCs , зверніть увагу, як жодна частина bcm27xx не має ядра ARM).

На основі випуску вихідного коду драйвера broadcom я фактично складаю враження, що всі VC4 SoC засновані на bcm2708, а VC3 - bcm2707. Існує щонайменше три редакції bcm2708 (a0, b0, c0), хоча a0 відрізняється достатньою мірою, щоб мати #ifdefs в усьому місці та досить багато власних заголовків. Є також виняток для "великого острова VC4", основний заголовок якого не включений, але я не можу дуже багато про нього знайти, хоча це зауваження цікаве.

Тож має сенс водії посилатися на 2708 (особливо, якщо вони були розроблені broadcom).

Я не впевнений, що робити із звітом про rpi2 bcm2709 ... Є численні твердження про те, що соціали bcm2835 та bcm2836 відрізняються лише підсистемою ARM та периферійною базовою адресою (тобто дещо інша конфігурація системи MMU), тому здається, що це дуже ймовірно, це насправді також засновано на bcm2708, але доступна інформація досить обмежена. Мені цікаво, чи хтось просто натрапив на номер для роботи з кодом, який передбачає, що bcm2708 має на увазі ядро ​​ARM11 (хоча насправді це зовсім не передбачає жодного ядра ARM).

Редагувати: нещодавно випущений bcm2836 quad-A7 doc підтверджує, що він також заснований на bcm2708.


Я вважаю, що BCM2709 - це ARMv8. ARMv8 є AArch64 (ARM-64), і це означає, що апаратне забезпечення має розширення, такі як crc32, pmull, aes, sha1 і sha2 .
jww

Ем, ти взагалі читав мою відповідь? BCM2708 якраз посилається на основну частину SoC (VideoCore 4 + периферія), без ARM. Дивіться, наприклад, реліз заголовка broadcom, щоб отримати уявлення про те, що він включає. Потім BCM2835 / 6/7 (та багато інших частин) були побудовані шляхом наклеювання на свою сторону підсистеми ARM arm11 / quad-a7 / quad-a53 ARM (відповідно). Однак це не має великого відношення до решти SoC.
Matthijs

0

Мій пошук цього питання запропонував цю сторінку

Зверніть увагу на відповідь команди cat / proc / cpuinfo

...

Обладнання: BCM2708

Редакція: 1000002


Гм, цікаво! Хоча, зважаючи на інші відповіді, я вважаю, що це все ще недостатньо вирішує ситуацію - це все одно може бути і прізвище, або конкретне ім'я реалізації, або щось інше ...
akavel
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.