Re: Илон Маск
Добавлено: Вс мар 26, 2017 5:12 am
Вообще-то, регистры не управляются командами, в них хранятся операнды и результаты действия, т.к. АЛУ комбинационная схема (вход поменялся=>поменялся и выход), чтобы операнд присутствовал на входе необходимое время, а результат не пропадал, их и помещают в регистр. Тут он аккумулятор, значит сам является вторым операндом в команде. Регистр это пачка триггеров, которые держат на выходе тот сигнал, что был на входе при смене уровня тактового сигнала (когда естественно была разрешена в него запись). Управляет регистром, точнее сигналами вроде Write Enable и Reset, управляющее устройство.Eprinter писал(а):И тут же говорится, что все вычисления производились всего в четырёх двухбайтовых регистрах, а оперативная память для выполнения всех операций составляла 2 килобайта. При этом длина блока ПЗУ, в котором по идее должны находиться все алгоритмы, могущие выполняться на данном компьютере, составляла всего 32 килобайта.
Кто хоть немного знаком с принципами работы вычислительной техники и программированием низкого уровня, наверняка согласится со мной, что вряд ли в мире найдётся умелец, умеющий написать на Ассемблере программу управления 16-ю двигателями ориентации и маршевым двигателем для взлёта с Луны, которая умещалась бы в 32 килобайтах. Я подчёркиваю – на таком Ассемблере, в котором используются только команды управления четырьмя регистрами для вычислений и считывания-ввода данных из адресного пространства оперативной памяти и ПЗУ, ведь никакого транслятора или интерпретатора там нет! Если она даже там уместится, то куда девать все остальные программы, которых для управления разными этапами стыковок, расстыковок, манёвров в космосе и различных сервисных операций по самым скромным подсчётам нужно не менее нескольких десятков?
В том компьютере не 4 регистра, а было 4 доступных программисту регистра. Их более чем достаточно, например, в стековых машинах можно вообще обойтись без регистров.
Были операции загрузки/сохранения, изменения знака, сложения, вычитания, И, целочисленного умножения, деления, безусловный переход, условный переход, индексная адресация - более чем достаточно, все что нужно, ничем не хуже какого-нибудь PIC16F84. И они выполнялись в одном регистре A, аналоге пиковского W. Все остальное нужно при переходах (Z,Q) и вспомогательные (LP).
Я не знаю какой был протокол управления двигателями, если включил/выключил исполнительное устройство, то достаточно обновлять 16 битный выходной регистр порта, коих у него было четыре.
Объем ОЗУ вполне нормальный, объем ПЗУ зависит от того что там были за программы, побольше чем у иных более поздних МК (где-то в 32 раза больше чем у того же PIC и всего в 8 раз меньше чем у современного TM4C123 на Cortex-M4).