Извините что немного про "устаревшую" технику В старых советских "микропроцессорных наборах", где процессоры буквально собирались из частей, нужная разрядность собиралась из "процессорных элементов" нужного количества. И такой вопрос - каким образом пишутся микропрограммы для согласованного управления отдельными частями? То, как написать микропрорамму для одного элемента, можно понять из спецификации. Скажем, мне нужно сэмулировать FPU (сопроцессор для работы с числами с плав. точкой), где числа представлены в 64-битном формате. В таком случае я соединяю 16 4-х арзрядных процессорных блоков - все РОНы "становятся" 64-разрядными. Но в регистре - несколько бит - мантисса, несколько - порядок, один бит знака. Следовательно массовая операция вроде "одна команда для всех блоков" не подходит. Единственное что приходит в голову - делать громадную микрокоманду, включающую в себя микрооперации для каждого из блоков. А вообще как делалось подобное правильно "в те времена"? Кто-нибудь сталкивался?
Серии К589, К1800, К1802, К1804, ещё какие-то... Если не все, почти все скоммунизжены у буржуев. Например, К1804 "в девичестве" выпускалась фирмой AMD, точную модель смотреть лень. Что же касается микропрограммного управления, то формат микрокоманды зависит, как ни странно, от устройства процессора Она может быть громадной, а может быть коротенькой. Например, у наших СМ-1600 и СМ-1420 микрокоманда центрального процессора имела длину 48 бит, а ёмкость микропрограммной памяти составляла 512 48-разрядных слов. Если в эти же процессоры вставлялся процессор с плавающей запятой (ещё три печатные платы, содержащие АЛУ и прочее железо), то добавлялось ещё 512 слов, но уже 96-разрядных: 48 разрядов управляли работой аппаратуры центрального процессора (он же не без дела стоит, когда выполняются вычисления с плавающей запятой, его оборудование тоже участвует) и ещё 48 управляли собственно ППЗ. А вот в ЕС-1035 (она собрана вообще на "рассыпухе" -- ЭСЛ логике серии К500, в процессоре и памяти более 10 тыщ микросхем было) микрокоманда имеет длину всего 32 бита, но зато имеется несколько форматов микрокоманд, в каждом из которых можно управлять лишь частью оборудования. Ёмкость управляющей памяти (так она здесь называлась) составяла 32 или 48 Кбайт, но не вся она была занята микропрограммой: в ней же хранились рабочие данные каналов ввода-вывода (сама память была сделана на микросхемах статического ОЗУ; перед началом работы машины микропрограмма загружалась со специального пультового накопителя на магнитной ленте или дискетке). Длину микрокоманды в ЕС-1130 (последняя из серийных ЕСок, выпущенных в СССР незадолго до развала; основой являются ЭСЛ-серии К1800, К500 и ещё пару экзотических) я не помню, но зато помню, что там было два АЛУ: 64-разрядное для основных вычислений (сама машина 32-разрядная, но числа с плавающей запятой могут иметь длину 32, 64 и 128 бит -- вот и сделали длинное АЛУ, чтобы 32- и 64-разрядные быстро обрабатывать) и однобайтовое для операций над порядком чисел с плавающей запятой. Естественно, они управлялись разными полями микрокоманды. Кстати, это была первая машина в моей практике, которая выполняла по одной основной команде за один такт: имелся неплохой (для того времени и тех технологий) конвейер.
SII А набор К1804, вы с ним не сталкивались? Насколько я понял, на нем "плавающие операции" делались объединением большого количества "процессорных элементов" (4-х разрядных АЛУ+РОН) до получения нужной разрядности. Тогда микропрограммы пишутся в виде длинной "параллельной" команды всем этим АЛУ (где отдельные поля соответствуют отдельным секциям), соединенным в один процессорный блок?
С ним главным образом и имел дело. СМ-1420 на нём построена, например. Точней, на К1804ВС1 -- другие там не используются. А управление всех секций в параллели обычно общее. Либо делают два АЛУ со своими регистрами: одно широкое, для обработки мантиссы, и другое узкое, для обработки порядка. Управление у каждого АЛУ, есно, будет своё, но у всех секций в пределах одного АЛУ -- общее. Ну или у почти всех -- тут уж от специфики зависит.
Советую выкинуть. Закон Мура страшная вещь. Кстати "наши" 286 тоже были составными. Проц. правда украли, а вот чипсет делали на двух платах. Но он перегревался и стало проще у поляков покупать IBM Compatible, сделанных то ли в Корее, то ли в Тайване. Веселое было время. Наши соц-друзья брали кредиты на западе и продавали нам супер-технику. А мы все пытались достроить коммунизъм... и кто-то мечтал, что ЕС-1089 сможет его просчитать.