Перейти к содержанию
    

Atmega88 - выжита по максимому

Это у i8080 делилась на 12, 0.8 MIPS, помнится, в результате было. А у Z80 простое тактирование и частота 4-6.5MHz, а у следующих еще больше, так что 1MIPS и даже несколько больше вполне получалось.
У i8080 частота кварца предварительно делится на 9 внешней ИМС тактового генератора. А из полученного значения считаются такты от 4 до 12 (или 13 не помню) на команду. В среднем получается существенно меньше чем 0.8 MIPS.

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


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

Если на один пиксель один такт минимум 18мГц частота должна быть.

Один пиксель на один такт. Длительность развертки - 32uS, при частоте кварца 20MHz - 640 пикселей, ровно. При 16 - 512. С обратным ходом, естественно, хоть он у мониторов довольно мал. Но таки обратие внимание на мои слова "примерно" и "около".

 

В реальности так не получится, да и частота повыше - есть ещё зоны обратного хода луча...

В реальности так и получается.

 

 

Нет ну тут Огурцов имел ввиду по видимому с внешним контроллером видио. Ну и, соответственно с внешней памятью. На чём нибудь типа m8515.

Нет, Огурцов имел ввиду похожую же поделку на меге, на _одном_ проце, без каких либо дополнительных чипов. Но, естественно, с видеоусилителями (на транзисторах).

 

 

В среднем получается существенно меньше чем 0.8 MIPS.

 

Не понимаю, как считать "в среднем" ? Я беру корткую команду и считаю для нее. А для меги "в среднем" тоже не один мипс на мегагерц получается, так ведь ?

 

Выполнение каждой команды производится микропроцессором в строго определенной последовательности действий, которая определяется кодом команды и синхронизируется сигналами Ф1 и Ф2 тактового генератора. Цикл команды - это время выполнения команды. За это время: команда выбирается из памяти, дешифрируется код команды, формируются управляющие сигналы для выполнения команды, завершается воздействие управляющих сигналов. Цикл команды разбивается на машинные циклы - это время, требуемое для обращения к памяти или к устройствам ввода - вывода. Цикл команды состоит из стольких машинных циклов, сколько обращений к памяти или к УВВ потребуется для выполнения этой команды. Команды этого микропроцессора могут содержать от 1 до 5 машинных циклов. В свою очередь каждый машинный цикл состоит из тактов - наименьший промежуток времени, необходимый для выполнения одного элементарного действия в микропроцессоре. Такт равен 1 периоду тактовых импульсов тактового генератора. Машинный цикл может состоять от 3 до 5 тактов. Первые три такта требуются для организации обмена с памятью, а второй и третий такты - для выполнения внутренних операций в микропроцессоре. Отсчет тактов ведется от положительных фронтов импульсной последовательности Ф1. При выполнении любой команды сначала считывается первый байт команды из памяти. Простые команды выполняются за один машинный цикл; сложные команды - за 5 машинных циклов с восемнадцатью тактами.

©

На 2.5MHz, один цикл и три такта - 0.833, четыре такта - 0.625 и т.д.

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


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

Один пиксель на один такт. Длительность развертки - 32uS, при частоте кварца 20MHz - 640 пикселей, ровно. При 16 - 512. С обратным ходом, естественно, хоть он у мониторов довольно мал. Но таки обратие внимание на мои слова "примерно" и "около".
Не согласен с утверждением "Один пиксель на один такт". Кроме загрузки из памяти в регистр, ещё нужен цикл и инкремент указателя...

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


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

Кроме загрузки из памяти в регистр, ещё нужен цикл и инкремент указателя...

Так люди разные - кому-то еще си для того же самого потребуется. А в результате задачка не будет решена и на 200MHz ARMе.

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


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

Чтоб зазря не спорить, предлагаю соц. соревнование: кто больше буквовков разных на экране написать сможет. Чтобы какая-то практическая ценность была - пусть это будет терминал.

То есть кидаем в УАРТ строки символов (допустим, на 9600) и видим их на экране. Можно ещё клаву подцепить PS/2 и тогда полноценный терминал получается.

 

Что скажете?

 

PS: (по поводу арм/линукс/тфт и прочая)

вспомнил разговор двух начальников секторов. Один заведовал отображением радиолокационной информации на экране монитора. Вроде ничего особенного - по чёрному экрану кругами гуляет луч, из-под него выскакивают обнаруженные цели, на них там буковки/циферки, при подведении курсора более подробная информация. Ну и попутно менюшки, панельки и прочая лабуда.

 

И вот другой начальник этому говорит: а помнишь, мол, денди? 8 бит, считанные мегагерцы, памяти никакой, программы по нескольку килобайт, а вон какую красоту рисовали. А ты типа имеешь 486 процессор, много всяких ресурсов, линукс какой-то ещё туда суёшь и всё мало...

 

А второй знаете что ответил? Зато, говорит, я один раз сейчас разработаю систему, а потом буду просто рюшечки править. И не зависеть от программистов, которые каждые 2 года меняются. И не разрабатывать всё заново каждый раз.

 

По-моему, он прав.

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


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

Так люди разные - кому-то еще си для того же самого потребуется. А в результате задачка не будет решена и на 200MHz ARMе.
Можно и Си. Нынче компиляторы достаточно хорошо оптимизируют. Вообще предлагаю не развивать тут тему Си vs. ASM.

ARM всетаки не CISC, потому сомневаюсь, что у него есть команда загрузки в порт данных размещённых по адресу в регистре с инкрементом этого регистра выполняющаяся за 1 такт. Но даже если и есть - необходим фреймбуфер - 640*480 = 307200. Или 300кБ. А его нет.

Если делать текстовый режим - то дополнительные вычисления обязательно потребуются.

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


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

Можно ещё клаву подцепить PS/2

И мышь ?

Вот, порылся в мусоре, это про что я говорю p91400032ow0.th.jpgthpix.gif

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


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

На 2.5MHz, один цикл и три такта - 0.833, четыре такта - 0.625 и т.д.

:bb-offtopic:

Берём Алексенко.

"В настоящее время партия и правительство уделяют..." :)

Итак

КР580ИК80 - макс 2МГц, ИК80А - 2.5МГц.

Минимальная команда 4 такта (регистр в регистр) - максимальная 18.

2.5/4 = 0.625 Мипс пиковая.

 

Утверждение с делителем на 9 обоснованное. Так как редко применялся данный МП без тактового генератора i8024. Причина в том, что там вормировалось 2 фазы с разным сдвигом и размахом 12V. i8024 (КР580ГФ24) предусматривал подключение кварца и делил его на 9.

 

2.5*9 = 22.5. Никогда не встречал. Найболее распространённым был кварц 18.432 который при делении на 9 давал 2.048 при этом и получалось 0.5 мипса пиковых.

 

Появление первой i8051 с её 1 мипсом произвело, как помню в наших рядах настоящий фурор. :)

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


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

По-моему, он прав.

Правильно. Меги сегодня уже, похоже, умерли - 32-битники делают их во все щели. А покупка атмела микрочипом, если произойдет - будет последний гвоздь в крышку гроба.

За сим славное поколение эмбеддеров будет мутировать в сторону линуксов/микрософтов. И ничего не будет "не выжимать". Ну если только опять из спортивного интереса )))

 

 

Минимальная команда 4 такта

Хорошо, если Вы уверены, что минимальная не 3 а 4 такта, как я привел в цитате выше, то я спорить не буду - практически уже ничего нет из той литературы, а точную растактовку на пямять я сейчас не скажу даже под пыткой.

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


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

Кажется уже многие забыли что такое текстовый режим.

Для вывода на экран текста в 640*480 не нужен буфер в 300кбайт. Достаточно 2-3кб + знакогенератор во флэш. Да и даже некоторую графику можно без буфера рисовать. На лету.

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


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

Кажется уже многие забыли что такое текстовый режим.

Скорее, еще не знают )

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


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

Чтоб зазря не спорить, предлагаю соц. соревнование: кто больше буквовков разных на экране написать сможет. Чтобы какая-то практическая ценность была - пусть это будет терминал.

То есть кидаем в УАРТ строки символов (допустим, на 9600) и видим их на экране. Можно ещё клаву подцепить PS/2 и тогда полноценный терминал получается.

 

Что скажете?

Такая штука уже есть http://www.serasidis.gr/circuits/AVR_VGA/avr_vga.htm

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


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

Такая штука уже есть http://www.serasidis.gr/circuits/AVR_VGA/avr_vga.htm

Это я видал

Video terminal: Quantity of symbols: 20 lines by 38 characters.

The resolution of an individual character matrix: 8x12 points

Вопрос - кто больше?

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


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

1к озу, 8к флэш - парень выдает на экран Множество Джулио!

http://www.linusakesson.net/scene/craft/index.php

в приложении исходники, по ссылке еще и видео!

Просто шокирует!

Боян! :) Хотя, меня когда-то если не шокировало, то удивило.

Правда не стоит забывать, что у спектрума вывод на экран был сделан аппаратно... Тут же по видимому вывод на экран через перерывание таймера, из буфера.

Аппаратно, но через известное место: сам экран (256х192) разбит на 3 части по 64 строки, каждая строка в которой чередуется через 7 других строк. И для вывода цветного изображения надо было выбирать два цвета на знакоместо (8х8) из палитры в 16 цветов.

Спектрумы были разные. В моем (точнее в одном из, который был дольше всего) было 4MHz, при 16MHz тактовой.

Для большей совместимости там должен стоять кварц на 14 МГц, а на CPU через делитель подается 3,5 МГц.

P.S. Кажется, в форуме иногда появляется Кирилл Фролов (а может, и другие спектрумисты), он знает практически все об архитектуре спектрума.

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

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


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

Это я видал

Черно-белый, как первый телевизор )

 

Вопрос - кто больше?

Не вопрос - этот человек - я(с) )))

На 16MHz получилось 32 символа на 20 строк, знакоместо - 13 на 20 линий

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...