Загрузка Linux на гарвардской архитектуре
Я работал на Pandaboard, когда эта проблема пришла мне в голову. Pandaboard использует OMAP 4430, архитектуру на основе Гарварда. Плата имеет 1 ГБ памяти (оперативная память DDR2). Но гарвардская архитектура требует двух воспоминаний, верно?
Вот что я понимаю, образ ядра Linux хранится на карте MMC/SD и затем выгружается загрузчиком в память. Теперь, откуда запускается загрузчик (это 1 Гб оперативной памяти?). Откуда загрузчик выгружает образ ядра?(Опять же, это 1 Гб оперативной памяти?)
1 ответ
Архитектуру ARM часто называют " модифицированным Гарвардом". Он имеет одно линейное (4 ГБ) пространство памяти, но использует разные шины (и кеши) для кода и данных. Это позволяет ему читать код или выполнять данные, как в x86.
Обратите внимание, что это не относится ко всем чипам ARM. Некоторые из них (например, ядра Cortex-M0) используют одну шину для кода и данных, поэтому они на самом деле фон Неймана.