• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Гостевая статья Управляющий компьютер Apollo 11 (AGC) и зарядные устройства USB-C

Управляющий компьютер Apollo 11 (AGC) и зарядные устройства USB-C

Я думаю, что было бы полезно сравнить исторические и современные вычисления. Давайте посмотрим, как процессоры, содержащиеся в современных настенных зарядных устройствах USB-C, сравниваются с мощностью компьютера Apollo 11 (AGC). Космический аппарат Apollo 11 доставил 3 человека на Луну и обратно в 1969 году.

устройствоGoogle Pixel 18W ChargerHuawei 40W SuperChargeAnker PowerPort Atom PD 2Аполлон-11 Лунно-посадочный компьютер (AGC)
функцияЗаряжает телефонЗаряжает телефон или ноутбукЗаряжает 2 телефона или ноутбуки
  • Летите по большей части на Луну ( CSM )
  • Земля на Луне ( ЛЕМ )
  • Взлет с луны ( ЛЕМ )
  • Лететь обратно на Землю ( CSM )
Микрочип (ы)Weltrend WT6630PRichtek RT7205Кипарис CYPD4225Дискретные компоненты
Тактовая частота10 МГц22,7 МГц48 МГц1,024 МГц
ОЗУ512 байт"0.75kB"8KB2048 15-битных слов / 4 КБ, если вы включите бит четности в каждое слово
Место для хранения программы8KB24 КБ (маска ПЗУ + ОТП)128 КБ Flash36 864 15-битных слов / 72 КБ, если вы включите бит четности в каждое слово
Набор инструкцийIntel 8051 (8 бит)неизвестныйARM Cortex-M0 32-битная реализация ARMv6-M16-разрядный аккумулятор
источники

Интерпретация
Самый мощный процессор в таблице от Anker PowerPort Atom PD 2 (CYPD4225). По сравнению с навигатором Apollo 11 он работает в ~ 48 раз быстрее. Очень заманчиво утверждать, что Anker PowerPort Atom PD 2 может доставить меня на Луну. Но нам нужно больше анализа. Что делать, если компьютер управления Apollo 11 содержит специальное оборудование, которое отсутствует в CYPD4225 и не может быть скопировано в программном обеспечении? Давайте сравним CYPD4225 с навигационным компьютером Apollo 11. Я буду использовать отличную

Скорость
Управляющий компьютер Apollo 11 имеет тактовую частоту 1,024 МГц. Инструкции должны иметь по крайней мере 12 циклов (11,72 мкс). Он работает с использованием арифметики. Там нет плавающей запятой. Существует один регистр аккумулятора для выполнения арифметики.

В Anker PowerPort Atom PD 2 используется CYPD4225, содержащий процессор ARM Cortex-M0. К счастью для этого анализа, и управляющий компьютер Apollo 11, и процессоры Cortex-M0 очень предсказуемы по сравнению с более сложными современными процессорами. У них нет кеша и доступ к памяти происходит с постоянной скоростью. Инструкции выполняем по порядку. У них нет аппаратной плавающей запятой. У них нет векторного/матричного оборудования (например, AVX, SSE или NEON). Поэтому мы можем многому научиться, просто сравнивая циклы примерно эквивалентных инструкций.

инструкция
15-битное сложение и вычитание24 (2 * 12)1
31-битное сложение и вычитание36 (3 * 12)1
Умножение36 (3 * 12)1 -
Делить72 (6 * 12)Нет в наличии
Ветвь, если ноль24 (2 * 12)1-4 без CMP, 2-5 с CMP
CCS (Count Compare Skip) / CMP24 (2 * 12)1
Хранить аккумулятор / зарегистрироваться в памяти (XHC / STR)24 (2 * 12)2
Загрузить память в аккумулятор / регистр (XHC / LD)24 (2 * 12)2

Из таблицы мы видим, что инструкции обычно представляют собой пропорциональное количество низких тактовых циклов. Большую часть времени каждая инструкция Управляющего компьютера Apollo 11 занимает в 12 раз больше тактов, чем Cortex-M0. Учитывая, что Cortex-M0 работает на 46,9-кратной тактовой частоте и что они в других отношениях сопоставимы (без кэш-памяти, без векторов), я утверждаю, что для большинства приложений:

Настенное зарядное устройство USB-C Anker PowerPort Atom PD 2 в 563 раза быстрее компьютер управления Apollo 11.

563 = (12 инструкций Cortex-M0 на 1 инструкцию компьютерного руководства Apollo 11) * (48 МГц Cortex-M0) / (1,024 МГц компьютер управления Apollo 11).
После просмотра набора инструкций Apollo 11 Guidance Computer единственной важной отсутствующей инструкцией Cortex-M0 является разделение. Но каждое деление на компьютере управления Apollo 11 занимает 72 цикла * (1 / 1,024 МГц) = 70,3 мкс. В 70.3uS CYPD4225 может выполнять 70.3uS * 48 МГц = 3374 арифметических команд. Филиалы не слишком дороги (3 цикла). Надеюсь, этого достаточно для реализации программного подразделения.

Память
Место для хранения программы
Это стоит посмотреть. Программисты Apollo написали виртуальную машину/интерпретатор для Guidance Computer, потому что они боролись с программным пространством. Это имело значение для них, чтобы обменять скорость на увеличенное хранение.

Управляющий компьютер Apollo 11 хранит 36 864 15-битных слов. CYPD4225 хранит 128 КБ во флэш-памяти. Нетрудно подсчитать, что CYPD4225 может хранить в 1,9 раза больше информации, чем компьютер управления Apollo 11.

Но есть ли у одного компьютера преимущество в кодировании инструкций? Инструкции Apollo 11 Guidance Computer - это 15-битные инструкции фиксированной ширины. Cortex-M0 реализует который имеет 16-битные инструкции и 32-битные инструкции. 16-битные инструкции охватывают наиболее распространенные операции, такие как арифметика, ветвление, загрузка / сохранение. Таким образом, большинство программ могут быть закодированы в основном 16-битными инструкциями. Сколько инструкций может хранить CYPD4225? 128 КБ / 16 бит = 65 536 инструкций. Управляющий компьютер Apollo 11 может хранить 36 864 инструкции. На самом деле, Anker PowerPort Atom PD2 может хранить не более 1,78 раза больше инструкций, чем компьютер управления Apollo 11.

Возможно, не все используемые инструкции будут 16-разрядными. Давайте немного скажем, что половина инструкций будет 32-битной, а половина инструкций будет 16-битной. Используя следующие уравнения, где x = 16-битные инструкции и y = 32-битные инструкции:


Мы получаем 21 845 32-битных и 16-битных инструкций, что в сумме составляет 43 690 инструкций, что в 1,19 раза больше, чем у компьютерного руководства Apollo 11.

Набор команд THUMB2, используемый Cortex-M0, спроектирован как компактный. Cortex-M0 имеет 12 регистров общего назначения, которые могут хранить арифметические результаты по сравнению с одним аккумулятором на компьютере управления Apollo 11. Управляющий компьютер Apollo 11 обладает тем преимуществом, что он может выполнять арифметические действия и сохранять результат непосредственно в ячейке памяти, тогда как Cortex-M0 требует отдельной инструкции сохранения. Преимущество Cortex-M0 заключается в том, что память проще и не требует переключения банков. Но переключение банков означает, что большее количество адресов памяти может быть закодировано непосредственно в арифметических инструкциях. Это не просто сравнить. Тем не менее, учитывая, что CYPD4225 может содержать инструкции в 1.19x - 1.78x, я утверждаю, что CYPD4225 должен поддерживать эквивалентную программу Apollo 11 Guidance Computer.

Обратите внимание, что другие зарядные устройства USB-C имеют меньшую программную емкость, чем компьютер управления Apollo 11. Переход на Луну на 8KB звучит сложно. Навигационный компьютер Apollo 11 изначально проектировался с меньшим пространством для хранения программ, но его пришлось увеличить - условия были не очень удобными. Поэтому я не буду рассматривать другие процессоры зарядного устройства USB-C в качестве кандидатов для того, чтобы доставить меня на Луну.

Оперативная память
Управляющий компьютер Apollo 11 может хранить 2048 15-битных слов. CYPD4225 имеет 8 КБ оперативной памяти. Anker PowerPort Atom PD2 имеет чуть более чем в два раза больше оперативной памяти навигационного компьютера Apollo 11. Одно предостережение заключается в том, что компьютер управления Apollo 11 в основном вычисляется в терминах 15-битных слов. Эквивалентные вычисления Cortex-M0 выполняются в 16-битных словах. Таким образом, с точки зрения эквивалентных вычислительных единиц, CYPD4225 имеет 4096 16-битных слов по сравнению с 2048 15-битными словами компьютера-гида Apollo 11. Так точно в два раза больше слов.

На Луну и обратно
У нас есть наши ракеты, наши модули, несколько и наш Anker PowerPort Atom PD2 - мы собираемся на Луну или как?
что космический корабль Apollo 11 содержит 4 компьютера:
  • 2x Apollo 11 Guidance Computers (рассмотрено выше). Один в LEM и один в CSM.
  • 1x Цифровой компьютер ракеты-носителя Saturn (LVDC)
  • 1x система наведения на прерывание (AGS)
СвойствоApollo 11 Guidance Computer (AGC) ( ) ( )
Тактовая частота1.024MHz2.048MHz
ОЗУ2048 15-битных слов4 096 13-битных слов2 048 18-битных слов
Хранение программ36 864 15-битных слов32 768 13-битных слов2 048 18-битных слов
ДОБАВИТЬ Длительность Инструкции23.4uS82.0uS
МНОГОКРАТНАЯ Длительность Инструкции35uS420uS? «MPH требует пяти компьютерных циклов»70US

Возможно ли заменить несколько компьютеров одним CYPD4225? Я так не думаю, потому что 4 компьютера были в отдельных частях космического корабля. Таким образом, мы предположим, что нам нужно 4 компьютера для запуска Apollo 11 без существенного изменения дизайна.

Все компьютеры на Apollo 11 менее мощные и имеют меньше памяти, чем Anker PowerPort Atom PD 2. Я собираюсь предположить, что LVDC и AGS не используют каких-либо захватывающих инструкций, которые было бы трудно выполнить Cortex-M0 - кроме деления. Я откажусь от этого, сказав, что деление, вероятно, занимает больше времени, чем умножение. И я перечислил времена умножения выше. CYPD4225 может комфортно выполнять тысячи арифметических инструкций за время, которое требуется любому компьютеру Apollo 11 для выполнения одного умножения.

Я утверждаю, что нам потребуются только вычислительные мощности 4-х зарядных устройств USB-C Anker PowerPort Atom PD 2, чтобы добраться до Луны со следующими оговорками:
  • CYPD4225 определенно не рассчитан на пространство. Я понятия не имею, будет ли это работать в космосе.
  • Я не исследовал периферийные устройства, используемые компьютерами Apollo 11. CYPD4225 имеет 30 сигналов GPIO и поддерживает UART, I2C и SPI. Тем не менее, сколько периферийных устройств поддерживает Аполлон-11? 100? 10? Нужно больше гуглить. И, вероятно, уровни напряжения 1960-х годов слишком высоки для подключения к CYPD4225.
  • Рон Бёрки, Оуэн Смит и другие отмечают, что LVDC содержит трижды избыточную логику. Логика дает 3 ответа, а механизм голосования выбирает победителя. Таким образом, было бы справедливо утверждать, что вам действительно нужно 3 зарядных устройства USB-C для сравнения с LVDC. Тем не менее, я думаю, что избыточность была для надежности, и я полностью игнорировал надежность. И на самом деле, я думаю, что любая попытка эмулировать эту схему голосования с помощью 3-х микроконтроллеров с 4-м числом голосов не сделает систему более надежной. Но это оказывается спорным, и вскоре он может получить свой собственный полный параграф, обобщающий различные точки зрения!
Что это означает?
Я отвечал за общую прошивку для . Он использовал обнаружение USB-зарядного устройства, присутствовавшего в то время на большинстве USB-зарядных устройств - некоторую сеть резисторов между сигналами USB D + / D-. Там не было цифровой связи. Часть прошивки была реализована Эваном Флетчером, и я думаю, что он сообщил, что это было легко сделать. Это был 2012-2013 гг. Теперь в 2020 году USB-C здесь. Многие зарядные устройства USB имеют микроконтроллер с процессором. Некоторые из них менее способны, чем компьютер управления Apollo 11. Некоторые из них более способны, чем компьютер управления Apollo 11. Большинство из них с тактовой частотой не менее чем в 10 раз выше. USB-C Power Delivery решает проблемы и дает нам новые возможности. Но это еще один шаг к усложнению. Это еще одна прошивка и чип для обработки в процессе производства. У меня нет альтернативного предложения по доставке электроэнергии, которое:
  • Использует 1 провод в кабеле
  • Позволяет зарядным устройствам USB-C отображать произвольный зарядный ток и напряжение
Источник:
 

Zer0must2b

Green Team
23.06.2019
306
140
BIT
0
Да, пожалуй что никак
Но статья изобилует тех.терминами по тематике программирования,и довольно актуальна,в формате ресеча.Думал подойдёт, извините если это не так
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!