-1

В последнее время я пишу (или пытаюсь) эмулятор для процессора 6502 NES.

Я многому учусь, некоторые из них меня действительно удивляют, и мне было интересно, чем это объясняется, в частности, две вещи пришли мне на ум

  1. Существование ошибок, в частности 6502, похоже, имеет ошибку в режиме косвенной адресации, по крайней мере, для первых процессоров (это влияет на тот, который используется в NES)
  2. Неофициальные коды операций: Опять же, действительно удивительно, что существуют коды, которые еще не являются официальными, но некоторые из них кажутся совершенно бесполезными (например, DOP и TOP, которые являются вариациями NOP), а некоторые из них представляют собой композицию других кодов операций ( такой SAX или DCP).

Вопрос в том, как это возможно, что при изготовлении миллионов этих процессоров они приводили к ошибкам (такой как режим косвенной адресации), а также, с какой стати вы, как производитель, включили неофициальные коды операций, которые могут быть удалены в следующих версиях ? Это происходит также с более новыми процессорами?

2 ответа2

1

Вопрос в том, как это возможно, что при изготовлении миллионов этих процессоров они приводили к ошибкам (такой как режим косвенной адресации), а также, с какой стати вы, как производитель, включили неофициальные коды операций, которые могут быть удалены в следующих версиях ?

Почему процессоры отличаются от программного обеспечения? Компании тратят миллионы долларов на разработку программного обеспечения, производство и маркетинг. Зачем тогда испорченный продукт потерять?

Я имею в виду, что Apple - крупная компания, занимающаяся компьютерами и данными, не так ли? Как тогда можно объяснить, как такая крупная компания, например, выпустит iPhone 4 с неисправными антеннами? Или, черт возьми, выпустить несколько секунд белого шума в качестве песни Тейлор Свифт в Канаде?

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

В случае неофициальных кодов операций это может быть легко объяснено поспешной разработкой или подготовкой кода для дальнейшей разработки. Если будет создан новый процессор, у инженеров, скорее всего, будет огромный список желаемых функций. Некоторые будут сделаны. Некоторые не будут. А некоторые будут сделаны, но было бы нецелесообразно официально ставить отметку «Да, это работает, использует это».

Это причина, например, почему почти каждый процессор имеет ревизии. И почему в многопроцессорных системах - с несколькими физическими процессорами - часто важно, чтобы все процессоры соответствовали одному и тому же производственному пакету.

1

Как это возможно, что при производстве миллионов этих процессоров, они оказались с ошибками

  • Это действительно очень сложно спроектировать процессоры, не говоря уже о процессорах, которые полностью без ошибок.

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

  • Конкуренция играет огромную роль. Прежде всего, важно выйти на рынок или, по крайней мере, своевременно, иначе вы потеряете бизнес для конкурентов и в конечном итоге обанкротитесь. Это давление по сравнению с давлением для создания качества, поэтому вы часто получаете то, что достаточно хорошо.

  • По какой-то причине, особенно в мире информационных технологий, спрос на новые и улучшенные продукты значительно превышает спрос на обновленные и усовершенствованные. Это твоя вина так же, как и моя. Например, если бы Intel постоянно совершенствовала процессор 80486, я полагаю, что сейчас он будет практически безошибочным. Но что вы могли бы сделать с 80486 в эти дни, правда? Я, конечно, не буду покупать его сегодня, как и вы.

с какой стати вы как производитель включили неофициальные коды операций, которые могут быть удалены в следующих версиях?

Неофициальные коды операций существуют по ряду причин:

  • У некоторых обнаружены ошибки или побочные эффекты в момент разработки, когда их исправление или удаление будет слишком дорогим и / или трудоемким.

  • Некоторые из них являются результатом временных ограничений, когда они не могут быть достаточно тщательно протестированы, и недостаточно уверенности в том, что они будут работать правильно.

  • Некоторые из них представлены в качестве подтверждения концепции или прототипа на будущее и могут быть приняты в последующих ревизиях / поколениях ЦП.

  • Некоторые существуют только для внутреннего тестирования.

  • И без сомнения некоторые помещены туда только для забавы, иначе пасхальные яйца

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .