Rusik05

Програмирование Ассемблер

55 сообщений в этой теме

Alexeyslav    633

а зачем 4 на 4 умножаем? 4мкс это уже и есть длительность машинного такта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Rusik05    0

4мкс да это длительность машинного такта для PICов. А умноженое на 4 потому что PICу требуется четыре такта на выполнение одной команды

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    633

Машинный цикл и есть выполнение ОДНОЙ команды. Благодаря конвееру, пока выполняется одна команда подготавливается выполнение второй, таким образом за один машинный цикл выполняется две команды. а машинный цикл - это 4 такта на тактовом входе контроллера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Rusik05    0

Да действителино вы праы. Я просто запутался. Поднял литературу по PICам там написано что команды выполняются за один цикл, кроме команд переходов (2 цикла). И что один цикл состовляет четыре периода тактового генератора, как Вы и говорили. Но в AVR один цикл состовляет один период тактового генератора. Получается что я считал правильно? или приблизительно правильно.

Большое спасибо за помошь, с вашей помошью разобрался с этим вопросам гораздо быстрее, чем разобралсябы самостоятельно Темболее больше мне нескем советоватся кроме как с участниками форума.

(в последнем алгоритме была ошибка, вместо числа 100 было 10. На десять я заменил чтобы получить большую частоту, и зыбыл всстановить в 100. При 100 F=0,2Гц)

Изменено пользователем Rusik05

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

Alexeyslav    633

У AVR тоже не так все просто, если внимательно почитать и сравнить даташиты этих контроллеров то производительность у них получится одинаковая.

Вобщем, если посмотреть внимательно -

1) выбирается первая команда

2) выбирается вторая команда, выполняется первая

3) выбирается третья команда, выполняеься вторая

и т.д.

т.е. получается что 1 команда за один такт. Но это благодаря тому что "внутренние" узлы работают с фронтами тактовой частоты и их уровнями, что предполагает высокую чувствительность к их длительности - любая помеха по тактовому входу вызовет сбой внутренних узлов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас