Автор Тема: Многозадачный ли 6502  (Прочитано 4896 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ajak

  • Пользователь
  • Сообщений: 235
  • Пол: Мужской
    • Просмотр профиля
Многозадачный ли 6502
« : 07 Декабрь 2007, 15:21:23 »
Философский у меня вопрос товариши. Сейчас кодю эмулятор 6502 - прикольно, нравится. А на днях так задумался. Ведь мы видим и динамическую картинку и музыку слышим и ещё жмём на клавиши. И всё это в реальном времени. Так я подумал -процик то старый. Как это всё реалиется  в нём, подскажите плиз. Заранее благодарен.

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7561
    • Просмотр профиля
Re: Многозадачный ли 6502
« Ответ #1 : 07 Декабрь 2007, 17:40:40 »
Ну, скажем так, х86 тоже не многозадачен. Многозадачны только многоядерные процы. Многозадачность в текущих ОСях только программная. Просто у х86 начиная с 3 поколения есть некоторое "аппаратное ускорение" многозадачности в виде модели памяти защищенного режима и таблиц дескрипторов сегментов. Перезагрузил таблицы - переключил задачу. А по поводу 6502 - это просто хорошо продуманный и оптимизированный код, ну и поддержка прерываний. При DOSе тоже игры работали со звуком и графой - и ниче ведь. ;)

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24742
    • Просмотр профиля
Re: Многозадачный ли 6502
« Ответ #2 : 07 Декабрь 2007, 23:04:18 »
В философском плане с многозадачностью всё не так просто. Вообще-то это фишка маркетологов Интела, которые расхваливают свои процы. Процессор сам по себе - тупая железяка, что скажут, то и делает. И многоядерный проц может выполнять одну единственную задачу, просто с разделением потоков данных. Многое зависит от самой программы. (Тут сбегаются маркетологи МикроСофта и начинают вопить про свои многозадачные ОС  :D) Можно считать, допустим, игру одной задачей, и тогда всё однозадачное. А можно считать задачей каждый процесс в ней, идущий параллельно с другими, и тогда уже всё многозадачное.
6502 достаточно интересный процессор. Я бы сказал, что где-то, в глубине души, он RISC. ( :) поймите правильно). Невысокая тактовая, но небольшой набор команд, выполняемых достаточно быстро. Чего не скажешь о его интеловском собрате.
По опыту работы с Apple 2 могу сказать, что это действительно производит некоторое впечатление.  Кроме графики процессор обрабатывает и звук, причем в несколько голосов, хотя ни каких звуковых чипов во втором Эппле нет.


Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7561
    • Просмотр профиля
Re: Многозадачный ли 6502
« Ответ #3 : 07 Декабрь 2007, 23:48:35 »
Ну я же сказал, что х86 не многозадачный. Просто есть заточка под прогу, которая и организует эту самую многозадачность. Z80 в Спекке тоже неплохо гудел в спикер и при этом достаточно динамично выводил картинку и реагировал на действия пользователя.
А 6502... 6502 интересный проц. Очень. Делов том, что его внешняя шина ВСЕГДА активна. Т.е. он всегда вырабатывает набор сигналов обращения к шине и строб данных, даже если сами данные им не используются (они просто никуда не перенаправляются, но читаются внешним буфером данных). Каждый машинный цикл. Так же интересно, что его память делится (условно) на страницы в 256 байт (кратные блоку). Так вот страница #0 используется как быстрое ОЗУ. Всмысле, ОЗУ с быстрым доступом. Ведь, регистров то у 6502 мало. А индексные регистры X и Y позволяют использовать первые 256 ячеек памяти как операнды для вычислений, что эквивалентно 256 регистрам. Страница #1 используется стэком. Т.е. глубина стэка всего 256 байт, причем стэк закольцован. И никаких методов отслеживания переполнения. Я вот 6502 изучал уже после М68К. И все время думал, ну как на нем писали такие комплексные игры?? Это же фактически арифмометр. И тем не менее, факт остается фактом. Да и возраст у него уже почетный.
Вот мои мысли о 6502. Может много воды, но все же.

Оффлайн sergi

  • Пользователь
  • Сообщений: 1651
    • ВКонтакте
    • Просмотр профиля
Re: Многозадачный ли 6502
« Ответ #4 : 07 Декабрь 2007, 23:52:45 »
Интересно можно ли тогда Atari Jaguar  с его 5 процессорами считать многозадачным?

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24742
    • Просмотр профиля
Re: Многозадачный ли 6502
« Ответ #5 : 08 Декабрь 2007, 00:06:03 »
HardWareMan, не углубляйся в железо. Вопрос-то философский. Я попытался обсудить "многозадачность" как таковую. Дело не в байтах
sergi, ну при чем здесь КОЛИЧЕСТВО? Множество процессоров Ягуара просто позволили маркетологам объявить его 32-битным.

Оффлайн sergi

  • Пользователь
  • Сообщений: 1651
    • ВКонтакте
    • Просмотр профиля
Re: Многозадачный ли 6502
« Ответ #6 : 08 Декабрь 2007, 00:12:38 »
Он 64 битный
А то что 32 бита это и так ясно


Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24742
    • Просмотр профиля
Re: Многозадачный ли 6502
« Ответ #7 : 08 Декабрь 2007, 00:59:39 »
Извини, немнго ошибся в цифрах (по памяти) :) :) Но суть то не в этом

Добавлено позже:
Цитата: HardWareMan
Z80 в Спекке тоже неплохо гудел в спикер
Так вот тот же Эппл "гудел" в спикер много круче. При более низкой тактовой

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7561
    • Просмотр профиля
Re: Многозадачный ли 6502
« Ответ #8 : 08 Декабрь 2007, 09:23:30 »
Извини, немнго ошибся в цифрах (по памяти) :) :) Но суть то не в этом

Добавлено позже:
 Так вот тот же Эппл "гудел" в спикер много круче. При более низкой тактовой
Ну, у него наверно экран был попроще? Не 256х192х16.