ПОЗНАЙ ИНТУИТ, Лекция, Постоянна памет
Firmware автомати на ROM
Микропрограмираните автомати представляват следващата стъпка в увеличаването на сложността на интелигентността на цифровите схеми. На базата на микропрограмни автомати е възможно да се изградят устройства, които работят по доста сложни алгоритми, изпълняват различни функции, определени от входни сигнали, и издават сложни последователности от изходни сигнали. В същото време алгоритъмът на работа на микропрограмната машина може лесно да се промени чрез замяна на фърмуера на ROM.
За разлика от разгледаните по-рано устройства, базирани на "твърда" логика, чийто принцип на работа се определя еднозначно от използваните елементи и начина на тяхното свързване, микропрограмните автомати, използващи една и съща схема, могат да изпълняват различни функции. Тоест, те са много по-гъвкави от "твърдите" логически схеми. В допълнение, проектирането на микропрограмни автомати от гледна точка на схемите е доста просто. Недостатъкът на всеки микропрограмен автомат в сравнение с "твърдите" логически схеми е по-ниската максимална скорост и необходимостта от картографиране на ROM фърмуера с фърмуера, често доста сложен.
Най-често срещаната структура на микропрограмен автомат (фиг. 11.15) включва само три елемента: ROM, регистър, задействан от край, и тактов генератор.

Възможностите на такава проста схема са много големи. Например, микропрограмируема машина може да издава последователности от изходни сигнали в отговор на определена промяна във входните сигнали. Може също така временно да спре да произвежда изходни сигнали, преди да пристигнат входните сигнали. Той може да анализира продължителността на входния сигнал и в зависимост от него да генерира определени изходни сигнали. Той може да прави и много други неща.
Нека формулираме няколко елементарни функции, които могат да формират алгоритмите на микропрограмния автомат (фиг. 11.16):
Като пример, разгледайте изпълнението на някои елементарни функции от микропрограмен автомат, показан на фиг. 11.17.

ROM има организация 64x8 (може да бъде два чипа PE3 или един чип RT18), броят на регистровите битове е десет (може да бъде два чипа IR27). Веригата има два входа и четири изхода. Такава организация на микропрограмна машина е добра, защото нейният фърмуер (т.е. ROM фърмуерна карта) е много визуален, лесен за съставяне и четене.
FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF |
FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF |
FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF |
FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF |
единадесет | 22 | 33 | 44 | 55 | 66 | 77 | 88 | 99 | АА | BB | CC | DD | ЕЕ | FF | 00 |
единадесет | 22 | 33 | 44 | 55 | 66 | 77 | 88 | 99 | 55 | BB | CC | DD | ЕЕ | FF | 00 |
10 | 21 | 32 | 43 | 54 | 65 | 76 | 87 | 98 | A9 | BA | CB | DC | ЕД | F.E. | 0F |
10 | 20 | тридесет | 40 | 50 | 60 | 70 | 80 | 90 | A0 | B0 | C0 | D0 | E0 | F0 | 00 |