Эх, юность моя! Умели ведь делать,а? :)

 
1 2 3 4 5
+
-
edit
 

Anika

координатор
★★☆
Wyvern-2> Или там совершенства идеал :F
Нет, конечно. Я задачи такой не ставил.
Но и лишнего старался не писать.
Когда говорит масло - пушки молчат. А голос пушек - это голос Муз. (c)Ю.Шерман  

hcube

старожил
★★
Вообще-то, есть процессоры, наследующие Z80, если уж на то пошло. Можно прямо заменить аппаратуру в лоб.

А, да - контроллер с которым сейчас работаем - AT91SAM7X256. Еще будем пробовать TI. Кстати, вопрос. Нужен арм, у которого есть внешняя шина нормальной ширины и разрядности (у TI - 19/16 или 24/8), на этой шине есть аппаратное ожидание готовности, и у контроллера есть 2 или больше CAN. Близок Philips LPC2292/4, но там нету аппаратного ожидания при доступе во внешнюю память, только программируемая задержка.
Убей в себе зомби!  
Это сообщение редактировалось 24.03.2007 в 15:44
US Сергей-4030 #24.03.2007 17:20  @Wyvern-2#24.03.2007 13:24
+
-
edit
 

Сергей-4030

исключающий третье
★★
Wyvern-2> АБСОЛЮТНЫЙ МИНИМУМ - раз 10-15 - зависит от близости системы команд. Но тогда придеться програмировать на ассемблере и из зо всех сил оптимизировать двумя руками перед зеркалом from dusk till dawn.

А Волга, случайно, не в Каспийское море впадает? :) Ты расскажи, а то кто ж знает? Кстати, спасибо, что научил слову "ассемблер" - я раньше такого не знал, теперь буду перед девушками выделываться.

Wyvern-2>А вот если разница в 100-200 раз можно уже расслабиться и писать на нормальном языке высокого уровня.

Ты ж говорил - на 2-3 порядка, т.е. разница до тысячи раз. Для "полноценной эмуляции". А про языки высокого уровня - не говорил. Кстати, дай примерчик, когда какой-нибудь вменяемый компилятор C++ для эмуляции какой команды нарисует тыщу машинных команд.
 
US Mishka #24.03.2007 23:43  @Сергей-4030#24.03.2007 04:52
+
-
edit
 

Mishka

модератор
★★★
Сергей-4030> Сумлеваюсь я. Скажем, у нашей цельнотянутой PDP-11 под имене CM-4 редкая смена проходила "без единого сбоя". Разве что в каникулы, когда студентов в терминалке было по 1-2 человека.

Не, мериканские работали хорошо — был у меня доступ. Как и IBM 360-370 — что у синоптиков, что у нефтянников в Москве — работали по многу месяцев без перезагрузки. Да и СМ-4 (1420 — что у нас была), после того, как инженеры потанцуют вокруг неё три-четыре месяца начинала работать по долгу — у нас по месяцу бывало, хотя задачи не тривиальные — тащили компилятор с Алгола 68 на неё.
 
US Mishka #24.03.2007 23:53  @Сергей-4030#24.03.2007 05:33
+
-
edit
 

Mishka

модератор
★★★
Anika>> Согласен. Полтора-два порядка в самый раз.
Сергей-4030> Так полтора-два или два-три? :)
Сергей-4030> PS То есть, грубо говоря, тысячу нативных команд в одну эмулируемую. А какие именно примеры данного ? Исключая ввод-вывод, естественно. C вашими полтора-два порядка (скажем, 20-100 команд) - легко согласиться можно. А два-три порядка где?

Там самое неприятное то, что средний mix 7 команд линейных на 1 перехода не пашёт. Значит все предсказания по водопроводу идут нафиг. Его приходится разгонять заново гораздо чаще — большинсто команд будут эмулированы в 3-5 команды (и подготовка — ещё 30-50 команд) — взять из памяти, сделать операцию, запомнить в память — на CISC архитектуре это можно будет уложить именно так. А потом возврат из подпрограммы эммуляции команды.
Т.е. типично будет так
Взять код операции
Case по коду (сброс водопровода)
взять первый операнд
Case по операнду (сброс водопровода)
Загрузить операнд
Взять второй операнд
Case по операнду (сброс водопровода)
Вызвать эммуляцию (сброс водопровода)
эммулляция команды
возврат (сброс водопровода)

Поскольку водопровод важная часть ускорения — это может добавить времени на эммуляцию достаточно много.

Большой плюс, что весь эммулятор войдёт в кэш команд первого уровня и проц не будет ждать.
 
US Сергей-4030 #25.03.2007 00:06
+
-
edit
 

Сергей-4030

исключающий третье
★★
Не, погодите, какие предсказания у PDP-11? Чего у нас там -16-битный процессор, 6 регистров, SP, IP, переключения контекста через PSW, правильно? Вроде как даже никаких строковых операций нет, только с операндами не больше двух. То есть, большинство операций будет выполняться за одну машинную команду (за исключением работы по выбору следующей инструкции и подготовки операндов). В смысле, Миша, я не сомневаюсь в твоих словах, но в данном случае просто не в курсе - что, правда на PDP были какие-то предсказания переходов?

PS Понятно, что имеется в виду сброс на эмулирующем процессоре, но все равно вряд ли будет особые потери - у PDP, получается, после каждой команды "сброс".
 
US Mishka #25.03.2007 00:36  @Сергей-4030#25.03.2007 00:06
+
-
edit
 

Mishka

модератор
★★★
Сергей-4030> Не, погодите, какие предсказания у PDP-11? Чего у нас там -16-битный процессор, 6 регистров, SP, IP, переключения контекста через PSW, правильно?

Не у PDP-11, а у современных. Поскольку оно перестаёт работать, то это примерно 15% производительности, если я не ошибаюсь.

Сергей-4030> Вроде как даже никаких строковых операций нет, только с операндами не больше двух.

Там есть очень забавные операции с автоинкрементом и автодекрементом. А также отображение регистров на специальные адреса памяти. И очень дивная косвенная адресация.

Сергей-4030> То есть, большинство операций будет выполняться за одну машинную команду (за исключением работы по выбору следующей инструкции и подготовки операндов). В смысле, Миша, я не сомневаюсь в твоих словах, но в данном случае просто не в курсе - что, правда на PDP были какие-то предсказания переходов?

Не, не было вроде, но это важно для эммулируещего проца.

Сергей-4030> PS Понятно, что имеется в виду сброс на эмулирующем процессоре, но все равно вряд ли будет особые потери - у PDP, получается, после каждой команды "сброс".

У него не было разгона и, поэтому, не входило в расчёты быстродействия.
 
MD Wyvern-2 #25.03.2007 00:44  @Сергей-4030#24.03.2007 17:20
+
-
edit
 

Wyvern-2

координатор
★★★★★
Wyvern-2>> АБСОЛЮТНЫЙ МИНИМУМ - раз 10-15 - зависит от близости системы команд. Но тогда придеться програмировать на ассемблере и из зо всех сил оптимизировать двумя руками перед зеркалом from dusk till dawn.
Сергей-4030> А Волга, случайно, не в Каспийское море впадает? :)

Сергей не спорь - не позорься :) Я программер-любитель, а ты вообще собственно ни ухом ни рылом в системном програмированнии ;)
Здесь на А_Базе много людей из этой сферы - пусть хоть один скажет, что можно сэмулировать одну систему команд под другой при разнице в производительности меньше, чем на порядок...

Ник
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  
US Сергей-4030 #25.03.2007 01:27  @Wyvern-2#25.03.2007 00:44
+
-
edit
 

Сергей-4030

исключающий третье
★★
Wyvern-2> Сергей не спорь - не позорься :) Я программер-любитель, а ты вообще собственно ни ухом ни рылом в системном програмированнии ;)

Видишь ли, мнение о тебе у меня давно сложилось - ты вообще ни в чем не ухом ни рылом, одна твоя дремучая безапеляционность чего стоит. Конечно, я не могу проверить все твои загибы, скажем, от медицины я далек и судить не могу. Но поскольку во всех областях, о которых я судить могу ты постоянно гонишь херню - о медицине и прочем тоже, наверное, у тебя небольшое понятие. Извини уж.

А в чем я ухом и рылом - тебе, по причине твоего общего дилетантизма не понять.

Wyvern-2> Здесь на А_Базе много людей из этой сферы - пусть хоть один скажет, что можно сэмулировать одну систему команд под другой при разнице в производительности меньше, чем на порядок...

Ага, а вот и еще одна твоя приятная черта - задним числом менять свои утверждения. Ты не про порядок разницы говорил. Ты про три порядка для "полноценного эмулирования" распинался. Программер-любитель, блин. :lol:
 
US Сергей-4030 #25.03.2007 01:29  @Mishka#25.03.2007 00:36
+
-
edit
 

Сергей-4030

исключающий третье
★★
Mishka> Там есть очень забавные операции с автоинкрементом и автодекрементом. А также отображение регистров на специальные адреса памяти. И очень дивная косвенная адресация.

Кстати, да, косвенная адресация была очень удобная. И вообще, приятный ассемблер. :) Когда нас заставили ЕС-овский ассемблер учить, это после PDPшного был просто мрак какой-то. Хотя, конечно, везде есть плюсы и минусы.
 
MD Wyvern-2 #25.03.2007 01:38  @Сергей-4030#25.03.2007 01:27
+
-
edit
 

Wyvern-2

координатор
★★★★★
Сергей-4030> Видишь ли, мнение о тебе у меня давно сложилось - ты вообще ни в чем не ухом ни рылом, одна твоя дремучая безапеляционность чего стоит. Конечно, я не могу проверить все твои загибы, скажем, от медицины я далек и судить не могу. Но поскольку во всех областях, о которых я судить могу ты постоянно гонишь херню - о медицине и прочем тоже, наверное, у тебя небольшое понятие. Извини уж.
Сергей-4030> А в чем я ухом и рылом - тебе, по причине твоего общего дилетантизма не понять.

Ты в США живешь? А я в бедной Молдове.
Так, что пусть я остаюсь "ламером во всем и навсегда" - это оказывается лучше оплачивается и больше людям нравиться :lol:

Ник
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  
+
-
edit
 

Mishka

модератор
★★★
Wyvern-2> Сергей не спорь - не позорься :) Я программер-любитель, а ты вообще собственно ни ухом ни рылом в системном програмированнии ;)

Ник, написание эммуляторов не есть системное программирование.

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

Абсолютно необходимые команды:
1. Выборка кода команды. Одна команда с автоинкрементом при условии, что КОП одинакового размера. Скажем, для х86 это не правда. Без автоинкремента — две.
2. Её дешифрация. Самый быстрый через косвенную инексацию в массиве. это переход-вызов по адресу. 1 команда.
3. Выборка операнда для операндной команды. Одна команда.
4. Дешифрация — тут уже не ободёшься массивом — длина и тип разные, регистры, адресация. Минимум 8 команд.
5. Выборка второго операнда. Одна команда.
6. Дешифрация. 8 команд.
7. Эммуляция — минимум 2 команды (эммуляция и возврат). Это считаем, что всё передается на регистрах. Если регистров не хватает — увы, надо делать stack frame — это ещё несколько команд. В том числе и на доступ к параметрам. Эммуляция идёт через память. Если через регистры,

Итого.
Для 0 операндной команды — 4.
Для 1 операндной команды — 13.
Для 2 операндной команды — 22.



Wyvern-2> Здесь на А_Базе много людей из этой сферы - пусть хоть один скажет, что можно сэмулировать одну систему команд под другой при разнице в производительности меньше, чем на порядок...

На порядок — никак. На три — нужно постараться. Обычно лежит в районе 20-120.
 
+
-
edit
 

Wyvern-2

координатор
★★★★★
Wyvern-2>> Здесь на А_Базе много людей из этой сферы - пусть хоть один скажет, что можно сэмулировать одну систему команд под другой при разнице в производительности меньше, чем на порядок...
Mishka> На порядок — никак. На три — нужно постараться. Обычно лежит в районе 20-120.

Ну, дык а я о чем? :) А от мощности в 1000 раз никто из програмистов не откажеться ;)
А Сергей "компетентно" хочет доказать, что можно обойтись намного меньшей производительностью.

Ты уж выбери что тебе важнее - правда или земляк? :F

Ник
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  
+
-
edit
 

Mishka

модератор
★★★
Wyvern-2>>> Здесь на А_Базе много людей из этой сферы - пусть хоть один скажет, что можно сэмулировать одну систему команд под другой при разнице в производительности меньше, чем на порядок...
Mishka>> На порядок — никак. На три — нужно постараться. Обычно лежит в районе 20-120.
Wyvern-2> Ну, дык а я о чем? :) А от мощности в 1000 раз никто из програмистов не откажеться ;)
Wyvern-2> А Сергей "компетентно" хочет доказать, что можно обойтись намного меньшей производительностью.
Wyvern-2> Ты уж выбери что тебе важнее - правда или земляк? :F
Wyvern-2> Ник

Ну, у нас и студенты в 1000 не делали. Даже на С. А, скажем, на Алголе 68 — те же 20-30. На Паскале — на Борландоском — не больше. Т.е. два порядка — за глаза. Один порядок — не возможен, ИМХО. Если только не эммулируется система из 5 команд.
 
RU Серокой #25.03.2007 03:36
+
-
edit
 

Серокой

координатор
★★★★
Читаю я вас... И у меня стойкое ощущение, что вы говорите о разном. ) В смысле, недопонимание у вас. Или это у меня непонимание - написанного вами? :-F
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
+
-
edit
 

Mishka

модератор
★★★
Так ты разъясни, что ты понимаешь. А то мы не телепаты. Спор о том, что для эммуляции можно уложится в 15-120 команд на одну эммулируемую. В зависимости от дизайна, близости архитектуры и т.д. Вот Ник процитировал 1000. Народу и мне это кажется очень большим числом.
 
+
-
edit
 

Wyvern-2

координатор
★★★★★
Mishka> Ну, у нас и студенты в 1000 не делали.
:F

Mishka> А, скажем, на Алголе 68 — те же 20-30. На Паскале — на Борландоском — не больше. Т.е. два порядка — за глаза. Один порядок — не возможен, ИМХО. Если только не эммулируется система из 5 команд.

Два порядка - это если кроме эмуляции тебе ничего не надо. А если ты хочешь ПиДиПи запустить как ОДНУ ИЗ задачЮ да в ворде пописать, да поиграть по ходу - 1000 будет как раз :)
Рекорд который я видел - эмуляция игровой приставки - 12 раз.
У трансметы, кстати, (правда эмулируется только проц) разница немного меньше 10 раз ;)

Ник
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  
RU Серокой #25.03.2007 03:43
+
-
edit
 

Серокой

координатор
★★★★
>Так ты разъясни, что ты понимаешь.
Я понимаю, что не понимаю логики, точнее, связи ответов Ника на твои вопросы и твоих ответов на то, что написал Ник. Как я могу разъяснить, что я понимаю, если я не понимаю? :)

>мне это кажется очень большим числом
И мне это кажется большим.
Но Ник утверждает, что такое большое число будет если писать на языке высокого уровня, реализовывая идею без оптимизации. А не вообще просто так.
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
MD Wyvern-2 #25.03.2007 03:55  @Серокой#25.03.2007 03:36
+
-
edit
 

Wyvern-2

координатор
★★★★★
Серокой> Читаю я вас... И у меня стойкое ощущение, что вы говорите о разном. ) В смысле, недопонимание у вас. Или это у меня непонимание - написанного вами? :-F

Да так и есть. Разговор о PDP-11 и прикладных аспектах тезиса Чёрча—Тьюринга свелся к манифестации комплекса неполноценности эмигранта :F
Теперь мне упорно пытаюся доказать, что поговорка "лучше быть богатым и здоровым, чем бедным и больным" - неправильна в корне :)

Ник
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  
+
-
edit
 

Anika

координатор
★★☆
Wyvern-2> У трансметы, кстати, (правда эмулируется только проц) разница немного меньше 10 раз ;)
Что за байда - трансмета?
Когда говорит масло - пушки молчат. А голос пушек - это голос Муз. (c)Ю.Шерман  
RU Полл #25.03.2007 03:57  @Wyvern-2#25.03.2007 03:55
+
-
edit
 

Полл

литератор
★★★★☆
☠☠
Серокой>> Читаю я вас... И у меня стойкое ощущение, что вы говорите о разном. ) В смысле, недопонимание у вас. Или это у меня непонимание - написанного вами? :-F
Wyvern-2> Да так и есть. Разговор о PDP-11 и прикладных аспектах тезиса Чёрча—Тьюринга свелся к манифестации комплекса неполноценности эмигранта :F
Wyvern-2> Теперь мне упорно пытаюся доказать, что поговорка "лучше быть богатым и здоровым, чем бедным и больным" - неправильна в корне :)
Wyvern-2> Ник
Ник, для драки нужно двое ;) .
 
US Сергей-4030 #25.03.2007 04:37  @Серокой#25.03.2007 03:43
+
-
edit
 

Сергей-4030

исключающий третье
★★
Серокой> Но Ник утверждает, что такое большое число будет если писать на языке высокого уровня, реализовывая идею без оптимизации. А не вообще просто так.

Ну нет, Ник утверждает, что это нужно для "полноценной" эмуляции, вот что он утверждает.
 
US Сергей-4030 #25.03.2007 05:05  @Wyvern-2#25.03.2007 03:55
+
-
edit
 

Сергей-4030

исключающий третье
★★
Wyvern-2> Да так и есть. Разговор о PDP-11 и прикладных аспектах тезиса Чёрча—Тьюринга свелся к манифестации комплекса неполноценности эмигранта :F

Мудак ты. Впрочем, неоригинально. Это как раз... эээ... мудацкая черта - о чем бы не говорили, окончится тем, что "американские предатели сюда пишут потому, что у них чувство вины и ностальгия". Мудак ты, Виверн, да к тому еще и однообразный. Скучно.
 
Balancer: Оскорбления собеседника, нецензурная лексика.; предупреждение (+1)
25.03.2007 05:13, Полл: -1: За мат.
US Сергей-4030 #25.03.2007 05:09  @Mishka#24.03.2007 23:43
+
-
edit
 

Сергей-4030

исключающий третье
★★
Mishka> у нас по месяцу бывало, хотя задачи не тривиальные — тащили компилятор с Алгола 68 на неё.

Впечатляет. У нас постоянно сбоила, особенно летом. А зимой - не заводилась. :) Очень было прикольно слушать, натурально как автомобиль, включают накопитель - будто стартер - уууууууу--уу!-клац - не завелась. :)
 
US Сергей-4030 #25.03.2007 05:11  @Сергей-4030#25.03.2007 04:37
+
-
edit
 

Сергей-4030

исключающий третье
★★
Серокой>> Но Ник утверждает, что такое большое число будет если писать на языке высокого уровня, реализовывая идею без оптимизации. А не вообще просто так.
Сергей-4030> Ну нет, Ник утверждает, что это нужно для "полноценной" эмуляции, вот что он утверждает. А уже потом, когда его поймают, начинает гнать про ЯВУ и то, что "полноценный" значит когда параллельно можно запустить Ворд, Эксел и пару мпег-плейеров.
 
1 2 3 4 5

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru