30.09.2012, 00:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от tempora
|
как происходит считывание байта и последующая его запись по другому адресу за один такт?
|
А может, разными фронтами? Ну, типа, по переднему читаем, задним сносим...
Какое-то у нас гадание приключилось. Что, действительно никто не прочитает нам авторитетную лекцию? Надо ехать на семинар? (где там их читают в Европе? В Индии?).
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
30.09.2012, 00:33
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: FAQ по STM8
правильные вопросы пошли.
Сообщение от tempora
|
как происходит считывание байта и последующая его запись по другому адресу за один такт?
|
Дык идеология такая. Вся память работает как РОН. Хотя в тех же AVR РОН находятся в пространстве памяти данных и чтение/запись между регистрами и памятью никого не удивляет. В PICах многие операции тоже можно производить прямо в RAM, и тоже ничего. Одно "но" - все эти возможности не требуют второй системы выборки, кроме регистров, естественно. Но одно дело иметь систему шин на пару-тройку десятков ячеек, а другое - дополнительно адресовать всё поле памяти.
Отсюда автоматом вырастает DMA.
|
|
|
Сказали "Спасибо" omercury
|
|
|
30.09.2012, 00:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от ut1wpr
|
по переднему читаем, задним сносим...
|
Так это и есть разделение по времени, которое снижает требования к аппаратной части. И насколько я помню, упоминания о таком разделении мне попадались уже довольно давно. Если в этом ядре этот приём использован, то возникает вопрос, о котором я писал раньше - почему он не применён в операциях выборки?
Omercury, спасибо за ответ, но сейчас уже не думается ни в какую - завтра буду переваривать.
__________________
There's always more than one way to skin a cat.
|
|
|
|
30.09.2012, 01:36
|
|
Заблокирован
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от tempora
|
как происходит считывание байта и последующая его запись по другому адресу за один такт?
|
Если имеется ввиду операция типа MOV longmem, longmem, то считывание байта из источника происходит на этапе декодирования команды, а запись - на этапе выполнения. То есть в разные такты. Конвейерный этап выполнения занимает 1 такт, и можно говорить о пересылке байта за 1 такт.
Но ежели выполнять подобные операции непосредственно друг за другом, то будет задержка, так как выборка кода производится по 4 байта, а длина команды 5 байтов. Соответственно и выполнение на выходе конвейера будет не каждый такт, а с задержкой. И уже нельзя будет утверждать, что подобная команда пересылки байта производится за один тик.
|
|
|
|
30.09.2012, 02:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от Yurkin2007
|
Если имеется ввиду операция типа MOV longmem, longmem, то считывание байта из источника происходит на этапе декодирования команды, а запись - на этапе выполнения.
|
А теперь сравните вот с этим:
Сообщение от tempora
|
... что если на стадии декодирования и вычисления адресов читается байт по указателю16 и к фазе execution задача сводится к "mov longmem,immediate"? (Так сказать, повторное использование микрокода. ) Почему нет? Читает же он именно в этой фазе адрес из памяти в indirect-режиме, причем, бывает, что несколько раз читает ("The number of cycles during which the CPU is stalled depends on the pointer size (short, long or extended addressing mode).")...
|
Вам достоверно известно, что это происходит именно так, или это только предположение?
__________________
There's always more than one way to skin a cat.
|
|
|
|
30.09.2012, 02:40
|
|
Заблокирован
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
|
Re: FAQ по STM8
Так утверждает Programming manual (PM0044) на стр.20 Figure 5, стр 21 Figure 6
Последний раз редактировалось Yurkin2007; 30.09.2012 в 02:43.
|
|
|
|
30.09.2012, 14:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от Yurkin2007
|
Programming manual (PM0044) на стр.20 Figure 5, стр 21 Figure 6
|
Увы, это не то. Там же не сказано напрямую, что именно читается - почему Вы думаете, что речь идет о чтении байта данных?
Там же, на стр.22, сказано, что на этой фазе читается из памяти указатель:
Цитата:
|
Indirect addressing
For indirect addressing, the CPU is stalled in this stage to read the pointer from the data
memory (i.e. RAM). The number of cycles during which the CPU is stalled depends on the
pointer size (short, long or extended addressing mode).
|
И это логично - к окончанию фазы все адреса должны быть определены. Но о чтении байта данных на стадии decoding/addressing это не свидетельствует. Я бы и рад считать, что ответ найден, но оснований-то пока нет.
В общем, пока это остается предположением.
__________________
There's always more than one way to skin a cat.
Последний раз редактировалось tempora; 30.09.2012 в 14:05.
|
|
|
|
01.10.2012, 09:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: FAQ по STM8
Вот тут,вроде, все даже показывают ))
|
|
|
|
01.10.2012, 13:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: FAQ по STM8
А что, кроме расстановки fetch-, decode-, execute-, stall- и flush-стадий Вы можете сказать по этим таблицам? Поделитесь, плиз - я всего неделю назад подержал в руках этот камушек и открыл первые доки и мне совершенно непонятно, что в этих таблицах указывает Вам на то, когда загружается этот самый байт.
__________________
There's always more than one way to skin a cat.
|
|
|
|
08.10.2012, 18:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: FAQ по STM8
Кто подскажет, каким боком и откуда можно присобачить 64-бит арифметику к STM8 (IAR)? Может, у кого из коллег есть опыт?
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:25.
|
|