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: Алан Кокс представил Unix-подобную ОС Fuzix, ядро которой потребляет около 40 Кб ОЗУ
  4. OpenNews: Проект по производству открытого процессора, совместимого с Z80
  5. OpenNews: Эмулятор RISC-V в форме пиксельного шейдера, позволивший запустить Linux в VRChat
  6. OpenNews: Ядро Linux портировано для калькуляторов TI-Nspire
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61904-linux
Ключевые слова: linux, emulation, intel
При перепечатке указание ссылки на opennet.ru обязательно


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

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

  • 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 [^] [^^] [^^^] [ответить]  
  • +11 +/
    А том что у них заработала, а ты просто рассуждаешь.
     
     
  • 3.36, Ученый (?), 12:32, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Те́зис Чёрча — Тью́ринга — логико-математический принцип, устанавливающий эквивалентность между интуитивным понятием алгоритмической вычислимости.

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

     
     
  • 4.44, Аноним (44), 12:59, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > то что любую программу можно запустить на любом процессоре?

    на любом процессоре (аппаратном), можно запустить программую эмуляцию любого другого процессора, на котором уже можно запустить любую программу.

     
  • 4.50, Аноним (7), 13:16, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Тебе ещё раз говорю дорогой мочёный. Новость что Линукс таки запустился.
     

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

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

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

  • 1.15, Аноним (15), 11:05, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Если я правильно понимаю, по сути современные процессоры примерно так же и работают, в "железе" реализована одна архитектура, а поверх неё уже на микрокоде сделан "эмулятор" целевой архитектуры.
     
     
  • 2.47, Аноним (47), 13:09, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    aka Transmeta
     

  • 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 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем они этим всем занимаются? Лучше бы сделали кассовый аппарат как советский, где чек вылетает с одним щелчком, а не вот это вот принтерное медленное как сейчас
     
     
  • 2.45, Аноним (44), 13:02, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > а не вот это вот принтерное медленное как сейчас

    пока печатает принтер, вы думаете, чтобы еще купить, игра на логике потребителя.

     

  • 1.22, Songo (ok), 12:00, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Можно узнать, ЗАЧЕМ?
     
     
  • 2.27, Аноним (7), 12:18, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Можно поинтересоваться почему нет?
     
  • 2.48, Аноним (44), 13:11, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    эксперимент иной раз доказывает, что не нужны ваши эти ОС общего назначения!
     
  • 2.80, Аноним (69), 15:15, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Just for fun.
     

  • 1.24, Аноним (24), 12:08, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Разрабам бы такое железо, чтобы поняли, для чего голова нужна.
     
     
  • 2.42, Uasia (?), 12:58, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Им сначала бы голову, и только потом уже железо
     
  • 2.46, Аноним (44), 13:03, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    и кучу митигейшенов на уровне ядра ОС :)
     

  • 1.25, zeecape (ok), 12:13, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Теперь нужно запустить Linux на ламповом компе!
     
     
  • 2.58, Songo (ok), 13:35, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    На ламповом телевизоре.
     

  • 1.26, Аноним (7), 12:17, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И мог ли кто-то подумать что такая новость выйдет на слухах что квалком хочет купить Интел. Не один процессор, а всю компанию! Скоро все что от компании останется это эти 4004 погремушки.
     
     
  • 2.29, Аноним (29), 12:25, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Скоро все что от компании останется это эти 4004 погремушки.

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

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

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

     
     
  • 3.53, Аноним (7), 13:18, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как ты так говоришь за квалком если они сами предложили купить Интел. Раз предложили значит нужно. И патенты нужны и заводы и лицензии.  Это последняя возможность продать интел за дорого потом только банкротство.
     
     
  • 4.55, pic (?), 13:28, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Даже Келлер предлагал производить процессоры на tsmc, а Черепенников уже много раз высказывался за разделение компании.
     
  • 4.57, pic (?), 13:31, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Давай подождём ответа Intel.
     

  • 1.32, Аноним (32), 12:30, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ля ноут зачётный, у меня такой же где-то на чердаке гниёт.
     
  • 1.35, sqrt (?), 12:31, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ждем портов на 2-битные и 1-битные чипы.
     
     
  • 2.76, Аноним (76), 15:10, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Про однобитные знаю, но разве есть двухбитные?
     

  • 1.38, Pahanivo пробегал (?), 12:39, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Господа, простите, а нафига это делать?
     
     
  • 2.40, Афроним (?), 12:52, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Есть у гиков такая дисциплина - пердолинг. Удивлялся запуску игр с Плойки на Ч/Б ящике из 60-х, но сегодня вот такой прогресс.
     
     
  • 3.49, Аноним (44), 13:13, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    алё, прогресс, вы CS2 на 32 гига видели? которое на UHD ни в какую не пашет. Квака со своей графикой летала, Карл.
     
     
  • 4.52, Афроним (?), 13:17, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вау,жду батл в Контрач на пылесосе.
     
     
  • 5.78, mos87 (ok), 15:11, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    скоро пылеос с холодильнегом будут баттлить

    мясные мешки давно будут отдыхать

     
     
  • 6.84, Аноним (69), 15:30, 21/09/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.41, beck (??), 12:58, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Например, выполнение тестового приложения для отрисовки множества Мандельброта с разрешением 13 x 40 при использовании вычислений с плавающей запятой заняло 30 дней, а при использованием целочисленной арифметики - 9 часов.

    Юрий Никулин: «Вот сейчас в цирке у нас артист готовит номер: гигантские черепахи!» Наступает гробовая тишина, и даже собаки замолкают. Никулин продолжает: «Он выходит в белом жабо, бьет кнутом, и на манеж выползают восемь огромных черепах. Они делают полный круг. Артист говорит: «Ап!» – и они все встают на задние лапы...»

    Через большую паузу Никулин добавляет: «Восемь часов идет номер!»

     
  • 1.54, Аноним (54), 13:20, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ждём новости о запуске линукса на эмуляторе машины Тьюринга
     
     
  • 2.75, Аноним (69), 15:03, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше на аналитической машине Чарльза Бэббиджа.
     
     
  • 3.79, mos87 (ok), 15:12, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Там MMU неть.
     
     
  • 4.81, Аноним (69), 15:21, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так на 4004 тоже неть
     
  • 2.82, Аноним (69), 15:23, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо, что вы не гостья из прошлого. Повезло ядру.
     

  • 1.61, Аноним (61), 13:58, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    надо всех пограммистов пугать, что надо обеспечить работу их по на таком железе заказчика :)
     
     
  • 2.64, Аноним (7), 14:15, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Некоторых программистов пугают что их программа должна работать на клоне Z80 быть написана на Модула-2 и работать на спутнике в космосе.
     
     
  • 3.73, Аноним (69), 14:58, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы преуменьшаете успехи отечественной микроэлектроники. Таки для спутников существует с начала 1990-х микропроцессорный комплект Л1839 : 32 бита, 10 МГц. А ближе к 2000-м и MIPS-оклоны появились (КОМДИВы).
     
  • 2.72, Аноним (69), 14:48, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема заказчика. Пусть тогда многопроцессорный (на 4004) комплекс для эмуляции городит, если ему, видите ли, медленно.
     

  • 1.63, Аноним (63), 14:14, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    То что они сделали это их способ развлечения, к ним вопросов нет, пусть хоть в дотку играют.
    А вот зачем эту новость опубликовали на опеннете - это уже вопрос к автору новости.
     
     
  • 2.65, Аноним (7), 14:16, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я тебе поясню они не мигалку диодами на асме написали, а свободный Линукс запустили. Главное тут слово Линукс.
     

  • 1.67, Вы забыли заполнить поле Name (?), 14:30, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Выдать бы такое железно современным «веб-разработчикам», глядишь жизнь бы улучшилась.
     
  • 1.70, Аноним (69), 14:44, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну ребяты, теперь я понял, как мы наш Эльбрус производить будем.
     
  • 1.71, Аноним (71), 14:46, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну теперь осталось только написать эмулятор 4004 на Brainf*ck, чтобы на нем запустить эмулятор R3000, чтобы на нем запустить GNU/Linux ;-)
     
  • 1.74, Аноним (74), 15:02, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Работу усложняло то, что для Intel 4004 не существует и не может быть создано компиляторов для языка Си

    Ну в принципе можно было бы написать бэкэнд дляя LLVM... куда полезнее было бы, чем сабж.

     
     
  • 2.83, Аноним (69), 15:25, 21/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Apple бы не оценило.
     

  • 1.77, mos87 (ok), 15:10, 21/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    это настолько бессмысленно, что даже тонко.
     

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



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

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