Функционирование конвейераОдной из причин, обуславливающей большое быстродействие микроконтроллеров AVR, является использование двухуровневого конвейера при выполнении программы. Работа этого конвейера показана на Рис. 6.2. Рис. 6.2. Последовательность выполнения команд в конвейере Во время первого машинного цикла происходит выборка команды из памяти программ и ее декодирование. Во время второго цикла эта команда выполняется, а параллельно происходит выборка и декодирование второй команды и т. д. В результате фактическое время выполнения каждой команды получается равным одному машинному циклу. Рис. 6.3. Функционирование АЛУ Благодаря подключению АЛУ непосредственно к регистровому файлу, оно выполняет одну команду (чтение содержимого двух регистров, выполнение операции и запись результата в регистр-приемник) за один такт (машинный цикл), как показано на Рис. 6.3.
|