The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Linux запущен на Intel 4004, первом коммерческом микропроцессоре

21.09.2024 09:36

Продемонстрирован успешный запуск ядра Linux с rootfs-окружением из Debian на разработанном в 1971 году 4-разрядном процессоре Intel 4004, который считается первым коммерчески выпускаемым микропроцессором на одном кристалле. Процессор содержит всего 2300 транзисторов, поддерживает 46 инструкций и обеспечивает производительность на уровне 60 тысяч операций в секунду.

Так как архитектура Intel 4004 имеет серьёзные ограничения и может адресовать лишь 4 КБ постоянной памяти, вместо прямого запуска Linux была использована идея написания эмулятора процессора MIPS R3000, на котором может работать Linux. Работу усложняло то, что для Intel 4004 не существует и не может быть создано компиляторов для языка Си, поэтому эмулятор пришлось создавать на ассемблере. Таким образом, работа была организована так, что непосредственно на чипе Intel 4004 запускался эмулятор, который в свою очередь выполнял окружение на базе ядра Linux.

MIPS выбран как оптимальный вариант для эмуляции, укладывающийся в ограничения Intel 4004 и размер доступной памяти. Например, созданию эмулятора ARM мешал возникающий сдвиг операндов, RISCV - запутанные режимы адресации, x86 - большой расход памяти на декодирование инструкций, PPC - общая усложнённость эмуляции при небольшом размере памяти.

Для запуска программ на реальной системе Intel 4004 вначале была сформирована простейшая плата, состоящая из микропроцессора Intel 4004, тактового генератора Intel 4201, чипа оперативной памяти Intel 4002-1, размером 20 байтов, контроллера постоянной памяти Intel 4289 и микроконтроллера ATMEGA48, симулирующего постоянную память. В процессе развития проекта была подготовлена более сложная плата, дополнительно включающая память для размещения запускаемого в эмуляторе Linux-окружения и поддерживающая симуляцию постоянной памяти, используя SD-карту. Кроме того, для проведения экспериментов и упрощения разработки на современных системах был написан эмулятор чипа Intel 4004.

Из-за малой производительности Intel 4004 эмулятор получился очень медленным - обработка каждой виртуальной секунды в эмулируемом окружении требовала почти 4 часов вычислений на реальной системе с процессором Intel 4004. Например, выполнение тестового приложения для отрисовки множества Мандельброта с разрешением 13 x 40 при использовании вычислений с плавающей запятой заняло 30 дней, а при использованием целочисленной арифметики - 9 часов.

После внесения оптимизаций загрузка Linux в подготовленной конфигурации заняла более 8 дней. При записи полного видео загрузки использовалось ускорение в 120 раз (одна секунда на видео соответствует 2 минутам работы эмулируемого процессора MIPS). Для желающих повторить эксперимент опубликованы спецификация и схема платы, образ Linux-системы, а также код сопутствующего инструментария, эмуляторов MIPS R3000 и Intel 4004, загрузчиков и анализатора шины MCS-04.



  1. Главная ссылка к новости (https://dmitry.gr/?r=05.Projec...)
  2. OpenNews: Ubuntu Linux удалось запустить на 8-битном микроконтроллере
  3. OpenNews: Эмулятор RISC-V в форме пиксельного шейдера, позволивший запустить Linux в VRChat
  4. OpenNews: Ядро Linux портировано для калькуляторов TI-Nspire
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61904-linux
Ключевые слова: linux, emulation, intel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аниним (?), 10:01, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Археологично
     
     
  • 2.16, pic (?), 11:10, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    На Z80 на было запускать, новость не была бы ископаемой.
     
     
  • 3.34, mfa (?), 12:31, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    "...Zilog Z80 CPU is being discontinued after nearly 50 years..." April 19, 2024
     
     
  • 4.39, pic (?), 12:49, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не имеет значения, производится много аналогов в разных странах, и на складах ещё полно.
     
  • 2.37, crypt (ok), 12:38, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    "добавлена поддержка нового оборудования"
     

  • 1.2, Аноним (2), 10:06, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Вот кому-то заняться нечем. Ну пусть занимаются, но тратить месяцы на запуск программ...
     
     
  • 2.3, Аноним (3), 10:11, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну да, лучше бы в доту их спустить)
     
     
  • 3.5, Аноним (5), 10:14, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну эмулятор — это действительно не интересно, я было подумал, реально линукс к 4004 адаптировали.
     
     
  • 4.10, n00by (ok), 10:49, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно посмотреть на эмулятор от Анонима.
     

  • 1.4, Аноним (4), 10:14, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    >на уровне 60 тысяч операций в секунду

    Надо разгонять!
    https://videocardz.com/newz/intel-core-i9-14900k-breaks-9-04-ghz-cpu-frequency

     
     
  • 2.7, Аноним (7), 10:36, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ага следующая новость разгон на азоте 4004.
     
     
  • 3.9, Анониматор (?), 10:43, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    не, сначала надо скальпировать чип. в данном случае шкуркой нулевкой
     

  • 1.6, Гордон Мур (?), 10:28, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А в чем достижение то? Ассемблер 4004 влезает на одну страничку A4. А эмулятор который эмулирует можно транслировать с помощью техник кроссассемблеров. Пусть это будет и не оптимально если писать руками.
     
     
  • 2.8, Аноним (7), 10:37, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +8 +/
    А том что у них заработала, а ты просто рассуждаешь.
     
     
  • 3.36, Ученый (?), 12:32, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Те́зис Чёрча — Тью́ринга — логико-математический принцип, устанавливающий эквивалентность между интуитивным понятием алгоритмической вычислимости.

    Так в чем новость? то что любую программу можно запустить на любом процессоре? Ребята опоздали почти на 100 лет.

     

  • 1.11, Гнутый (?), 10:54, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > загрузка Linux в подготовленной конфигурации заняла более 8 дней.
    > Для желающих повторить эксперимент опубликованы спецификация и схема платы

    Спасибо, дураков нет.

     

  • 1.12, This Misaka (?), 10:59, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И вот опять эмулятор MIPS
     
  • 1.13, Афроним (?), 11:01, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А что,где консолька с буквами и Дум? Не,ну, это несерьёзно. Хотеть скрины с обоями!
     
     
  • 2.20, Афроним (?), 11:40, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Оказалось, что целый видосик есть. Хм, ничего не понятно, но очень интересно.
     
     
  • 3.28, Аноним (28), 12:20, 21/09/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.31, Афроним (?), 12:30, 21/09/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     

     ....ответы скрыты (3)

  • 1.15, Аноним (15), 11:05, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Если я правильно понимаю, по сути современные процессоры примерно так же и работают, в "железе" реализована одна архитектура, а поверх неё уже на микрокоде сделан "эмулятор" целевой архитектуры.
     
  • 1.17, Аноним (17), 11:12, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отлично Дмитрий! Вот бы увидеть подобное на других процессорах: Motorola MC 6800; Zilog Z80...
     
  • 1.18, ник (??), 11:12, 21/09/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.19, X86 (ok), 11:14, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем они этим всем занимаются? Лучше бы сделали кассовый аппарат как советский, где чек вылетает с одним щелчком, а не вот это вот принтерное медленное как сейчас
     
  • 1.22, Songo (ok), 12:00, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Можно узнать, ЗАЧЕМ?
     
     
  • 2.27, Аноним (7), 12:18, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Можно поинтересоваться почему нет?
     

  • 1.23, Аноним (23), 12:02, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Галкин бы оценил.
     
  • 1.24, Аноним (24), 12:08, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Разрабам бы такое железо, чтобы поняли, для чего голова нужна.
     
  • 1.25, zeecape (ok), 12:13, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Теперь нужно запустить Linux на ламповом компе!
     
  • 1.26, Аноним (7), 12:17, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И мог ли кто-то подумать что такая новость выйдет на слухах что квалком хочет купить Интел. Не один процессор, а всю компанию! Скоро все что от компании останется это эти 4004 погремушки.
     
     
  • 2.29, Аноним (28), 12:25, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Скоро все что от компании останется это эти 4004 погремушки.

    Ну нет, целеронов на 775 сокете у местных знаете сколько заначено? Так победим.

     
     
  • 3.33, pic (?), 12:30, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Неа, из-за RoHS припой в труху превращается.
     
  • 2.30, pic (?), 12:27, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Сомнительно, заводы им не нужны, там капитальные затраты большие. Рынок серверов и ЦОД им интересен, для ПК у них свои наработки.

    Вряд ли Интел согласится на такое, максимум на слияние без заводов.

     

  • 1.32, Аноним (32), 12:30, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ля ноут зачётный, у меня такой же где-то на чердаке гниёт.
     
  • 1.35, sqrt (?), 12:31, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ждем портов на 2-битные и 1-битные чипы.
     
  • 1.38, Pahanivo пробегал (?), 12:39, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Господа, простите, а нафига это делать?
     
     
  • 2.40, Афроним (?), 12:52, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Есть у гиков такая дисциплина - пердолинг. Удивлялся запуску игр с Плойки на Ч/Б ящике из 60-х, но сегодня вот такой прогресс.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру