Сейчас читаю книгу "код: тайный язык информатики" и пытаюсь реализовывать оттуда все примеры. В 17 главе проектируется калькулятор, который выполняет 3-х байтовые команды(размер одной ячейки памяти 1 байт). Первый байт содержит код команды, второй байт содержит старшую часть адреса, в котором лежит значение, третий байт содержит младшую часть адреса. Команды лежат в памяти последовательно. Там сказано, что команда выполняется за три такта, но я никак не могу понять, как это реализовать, ведь за первый такт код команды загружается в защелку, за второй загружается старшая часть адреса, а за третий такт, получается, должна загрузится младшая часть адреса, сформированный 2-ух байтовый адрес должен достать значение и с этим значение должно что-то произойти. Возможно ли это реализовать? И как это лучше сделать? Спасибо за ответ.
адрес должен достать значение и с этим значение должно что-то произойти. Возможно ли это реализовать?
Возможно, если времена двойного чтения из памяти и расчёта в АЛУ не превоссходят период тактового сигнала. Приблизительно - так.
Но это неявно подразумевает, что есть сигналы с временами/периодами меньше, чем у тактового сигнала.