Мда…….Вот я думаю стоит вам читать сейчас лекцию или нет? Я по призванию микроэлектронщик-програмист и достаточно долго занимался различного рода эмуляторами!
Что такое SSE мне уже давнооооо известно. Вот было бы забавно, если бы я проучившись до 22 лет этого не знал…..!??? Хе-хе-хе-хм.
Вообще интересно слышать такие заявления в свой адресс. Чувствуется, что народ хоть что-то знает, но плохо понимает о чём говорит. А слова о том, что необходимо отблагодарить разрабов за их детище, которым многие из нас сейчас пользуются, настоящий бред!
И так слушайте, если вы до сих пор этого не знали!
Фирма Sony в 2003 году, собственнолично пообещала награду в размере 1 миллион $, за разработку эмулятора PS 2, который отвечал бы всем её требованиям. Конечно, были и определённые ограничения, касающиеся зарегестрированной марки самой фирмы, но про это рассказывать я не буду.
Думаю, что и рассказывать о том, что я входил в число тех энтузиастов, которые собирались сделать эмуль по второй соньке, тоже не целесообразно, ибо команда наша распалась, хотя кое-какие вещи я, всё-таки, могу вам поведать.
Вы наверное думали, что разрабы так, от не хер делать тратят своё драгоценное время на отладку и разработку эмуля приставки, которой уже 8-мь с половиной лет стукнуло? Хе-хе-хе. Смешно!
Перед ними стоят две цели:
1) Привлечь внимание к своей разработке, и по её окончанию (когда эмулятор будет полностью удовлетворять их требованиям) сделать его платным, оставив себе при этом право, как разработчикам, на использование его в комерческих целях!
Хотя это уже не актуально, но изначально всё сводилось именно к этому.
2) Срубить денег с фирмы-заказчика. Т.е получить свои кровные за проделанную работу.
Мы же с вами являемся, просто неофициальными псевдотестерами данного проекта. И благодарить мы их не обязаны, хотя и стоило. Но не за то, что они занялись этим не благодарным делом, а за то что у них хватило терпения продолжать заниматься этим делом, и не закрыть свой проект на пол пути.
Теперь я немного углублюсь в програмную часть самого эмуля и устрою вам ЛИКБЕЗ!
Я очень сильно сомневаюсь, что кто-нибудь из вас может представить себе одну 128-ми битную инструкцию описанную 32-х битной. Те кто, пытались создать своими руками эмуль, должны меня ХОРОШО понять, ибо только одна такая 128 битная инструкция описывается более чем сотней
строчек програмного кода, а таких инструкций у второй сони….."мама не горюй!" Всё это потому что процы компов по большей своей части состоят из 16-битных инструкций; На четверть из 32-х битных и всё что осталось из 64-х битных.
Это сейчас процы наполовину забивают под 64-х битные инструкции, а так в основном доменируют 32-х битные. Вот думайте теперь как сделать быстродействие такого эмуля выше! К сведению: у второй сони практически все инструкции проца 128-битные! Но это ещё ничего, по сравнению с тем, что пропускная способность видюхи приставки составляет 48 Гбит\сек и это при 4 Метрах памяти и графическом ядре работающем на частоте 147Мгц, при этом скорость обмена с памятью 3.2 Гб в секунду!
Теперь представляете себе каким должен быть проц, что бы работал этот эмулятор?
На данном этапе развития компьютерной индустрии, мне известен только один вид процессора, который вплотную приблизился к тому, что бы достичь необходимой скорости в обработке информации такого эмулятора, а именно Проц фирмы AMD -Phenom (славу богу, что не интел). Пусть даже в размере кэша он и проигрывает, но для эмуля это не определяющий фактор! То что нам нужно это пропускная частота шины процессора, а именно 1800 Мгц! Если вы думаете, что скорость обработки информации в большей степени зависит от частоты самого процессора, то сильно заблуждаетесь! Процессор компьютера можно сравнить с песочными часами, при этом количество песка в колбе это частота процессора, а отверстие через которое высыпается песок из колбы пропускная способность шины процессора. Теперь вы понимаете что, будь у вас процессор с частотой хоть в 100000Ггц и пропускной способностью шины в 100Мгц -он будет работать хуже, чем проц с 3 Ггц и частотой шины в 1Ггц.
Поэтому, то ни один проц до недавнего времени и близко не мог сравниться по производительности с PS 2 у которой пропускная способность шины 2Ггц при частоте проца 299 Мгц! Весело не прада?
В общем, к чему я всё это писал? Да к тому что, разработчики эмуля, пытаются не оптимизировать програмный код своего эмуля, путём уменьшения различных вычислений при переходе от 128 -битных инструкций к 32-х битным, а идут по более простому пути, подгоняя свой эмуль под новые виды инструкций современных процессоров (SSSE3; SSE4 и т.д.), тем самым, увеличивая предел быстродействия.
Одним словом: Халявщики! Подогнать эмуль под новый проц можно всегда, а вот увеличить производительность за счёт оптимизации (уменьшения колличества операций) програмного кода эмулятора, они не в состоянии. Если и дальше так будет продолжаться, то об этом эмуле вообще можно забыть! Нормально он уже не будет работать потому, как с увеличением быстродействия, они не добьются одинаковой совместимости эмулятора со всеми выпущенными к этому моменту играми. А от количества производимых операций напрямую зависит данная совместимость и выражается она в системе прерываний, определяющей исправление ошибок и отправку команд по нужным адресам, что в системе самой консоли PS2 является основопологающим моментом в работе с информацией находящейся на диске формата PS2!