Body #3F#
26 апреля 2003
  ZX vs PC  

PC vs ZX - все сводится к обсиранию враждебной платформы и возвышению своей.

(c) freeman.psycho .............................................

                           PC vs ZX.

Читая  ZX (а также и PC) прессу, порой сталкиваешься с какими-то
странными  параллелями,  проводимыми авторами статей между этими
платформами.  А  все сводится к обсиранию враждебной платформы и
возвышению  своей. На мой взгляд, это абсолютно недопустимо, так
как  авторы  либо  не  осведомлены  в  возможностях той или иной
платформы,  либо  знают лишь свою платформу, нифига не понимая в
другой.  Я  имею  в  виду  аппаратную  ее часть. Вот, к примеру,
излюбленная  фраза спектрумистов: писюк маздай, потому что... да
потому,  что на писюке программы пишут не на ассемблере, а на СИ
и  т.п. В итоге, программы работают медленнее из-за 'ламерности'
писишных  программистов. Хм. Позвольте мне тут кое-что пояснить.
Да,  программа,  написанная  на  СИ  для  ZX действительно будет
работать  медленнее. Но! Что подходит для ZX не всегда правильно
для  PC! Допустим, какому-то супермозгатому железячнику удасться
разогнать  ZX  до  300  Mhz.  Я понимаю, что это невозможно, но-
допустим!  И вы полагаете, что аналогичная программа, запущенная
на  этом  ZX'e будет работать с такой же скоростью на PC Celeron
300  Mhz  ?  Смешно!  На PC она будет работать в 5 раз быстрее и
даже  в  8  раз,  если на PC будет запущен СИ-вариант программы!
Почему?  Объясняю.  Структура процессора PC _В КОРНЕ_ отличается
от  структуры  процессора  ZX.  Дело  даже  не  в  том,  что  PC
процессор  работает  с регистрами 8...64 бит и имеет в среднем в
6  раз  больший  набор  инструкций  (новые процессоры снабжаются
дополнительными   инструкциями   примерно  раз  в  год,  поэтому
нецелесообразно  вообще  приводить  эту  цифру).  Но  в  чем  же
различие? Приведем пример:

asm ZX:
  ld a,20             
  ld de,40000
  
asm PC:
  mov al,20
  mov dx,4000

Это   аналогичные   программы   для   PC  и  ZX,  написанные  на
ассемблере.  Вернее,  не  программы,  а элементы программ. Итак,
какова  скорость  работы  программ? ZX = 15 тактов. PC = 1 такт!
Странно?  Отнюдь. На PC две инструкции, не связанные между собой
никоим  образом  выполняются  за  один  такт!  При компиляции СИ
можно  заставить скомпилировать программу таким образом, чтобы в
конечном  результате  команды  были расположены именно так - для
увеличения  быстродействия.  А  представьте  себе  программиста,
пишущего  на  PC,  который,  в  процессе  написания ассемблерной
программы,   кроме   обдумывания   алгоритма   программы  еще  и
параллельно  занимается  расставлением комманд! Тупо? Еще бы! Не
проще  ли все это засунуть в СИ и пускай этот процесс происходит
автоматически?  Но  ведь PC - масдай! Признаться, в первое время
прихода  на  PC  я  тоже  упорно,  со спектромувским убеждением,
пробывал  писать  проги  на ассемблере. И что в итоге? Медленные
программы!  А  вы  ожидали  другого?  Но  ведь  это  только одна
сторона  проблемы.  Ведь на PC существует такая вещь, как кэш. В
устоявшемся   понимании   настоящего   спектрумиста  кэш  -  это
дополнительное  ПЗУ.  Хм. А в понимании писишника кэш - это ОЗУ,
доступ  к  которому  сравним  со  скоростью  доступа к регистрам
процессора   -   самой   быстродействующей   памяти   компьютера
(справедливо  как  для  PC,  так  и для ZX). То есть, в процессе
работы  проц  загружает  'в  себя'  часть программы (к примеру -
спрайт)   и   работает   с   ним   как   с  регистром.  Максимум
быстродействия!   Так  вот  на  PC,  разумеется,  размер  кэша  
ограничен.  Представляю себе программиста, пишущего программу на
ассемблере  и  параллельно считающего на калькуляторе, когда же 
закончится  этот  самый  кэш  и  когда  надо дать (!) процессору
инструкцию  загрузить данные в кэш из другого адреса! А не проще
ли  пускай  СИ  сама  просчитает, когда закончится кэш? Конечно,
это  неправильно!  Ведь АСМ - рулез! Так что, ребята, прекратите
вы  все  эти  бредни  о  крутости  платформ и запомните - в мире
больше  не  выпускаются  процессоры  с  архитектурой  ZX - самое
минимальное,   что  есть  -  это  RISK  процессоры  -  следующее
поколение  процессоров  после  ZX.  А  даже в стиральных машинах
стоят  сейчас  процессоры,  круче ZX по крайней мере в 2 раза. И
не  потому,  что  так  надо. Или необходимо. А просто 'ламповые'
процессоры гораздо дороже!




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Раскрутка - прохождение игры "Navy Moves-2".
Necronomicon - Почему писатель Г.Ф.Лавкрафт утверждал, что ему принадлежит авторство "Некрономикона"?
Scene - Шшшшш - БУМ! это где это я? аха на CAFe'2003.

В этот день...   20 сентября