Author |
Message |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Джентельмены, где бы посмотреть внутреннюю растактовку 6502 (или 65С02) согласно его полной блок-схеме, которую поклонники 6502 считают самой правильной? Не такую простую диаграмму, как есть у нас здесь на форуме: http://www.nedopc.org/forum/viewtopic.php?p=138016#p138016А более подробную, типа " по переднему фронту Ф1 код операции заносится..." ну и т.д. Мне казалось, 6502 подробно " разжеван" его поклонниками... но растактовку уже сутки найти не могу... ![sad :osad:](./images/smilies/icon_sad.gif)
_________________ iLavr
|
19 Oct 2017 04:39 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Так, судя по совпадению названий регистров с блок-схемой, 6502 пилят-пилят, но никак не допилят: 6502_Breaking NES
_________________ iLavr
|
19 Oct 2017 06:40 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Эх и странные мануалы aka даташиты у MOS Technology на свои продукты... http://6502.org/documents/datasheets/mos/Может быть они думали:" Еще мы вам за $25 мануалы писать будем..." Рядом с ними мануалы на i8080 от Intel и даже описание К580ВМ80А от Кобылинского - так просто подробнейшие сказки братьев Гримм и баснописца Крылова! P.S. Ну хоть в даташите от Synertek некоторые растактовки есть, хотя не так подробно, как хотелось бы:http://datasheets.chipdb.org/Synertek/6502.pdfХочу вобще потактово посмотреть, как в 6502 используют АЛУ для относительной адресации...
_________________ iLavr
|
19 Oct 2017 09:31 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Как говорится, " я фигею, дорогая редакция"! ![:o](./images/smilies/icon_eek.gif) Эти знающие 6502 и сами задаются таким вопросом: Branch Relative uses ALU?Некоторый скудный материал по этому вопросу есть вот здесь: Microprocessor Design - Program CounterНо пока никакой ясности, как же это конкретно делается в 6502... P.S. Самое непонятное - откуда взялась эта подробная схема 6502 в старте топика. Все её хвалят, везде на неё ссылаются, но где ж документ из которого её выдернули! P.P.S. Ну да, много где упоминается, что эта подробная схема 6502 взята из статьи некоего Donald F. Hanson-а "A VHDL Conversion Tool for Logic Equations with Embedded D Latches". Но откуда её сам этот Donald F. Hanson взял... ![:-?](./images/smilies/icon_confused.gif)
_________________ iLavr
|
19 Oct 2017 16:03 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А сам этот Donald F. Hanson взял эту подробную схему 6502 ( вместе с какими-то другими тайными лицами) у MOS Technology! ![:o](./images/smilies/icon_eek.gif) А сама MOS Technology никогда нигде и никому ничего не рассказывает про эту блок-схему 6502. И во всех даташитах использует упрощенную схему. Очень познавательно... ![:-?](./images/smilies/icon_confused.gif)
_________________ iLavr
|
19 Oct 2017 17:43 |
|
![](./styles/getaway/theme/images/spacer.gif) |
IgorR76
Senior
Joined: 27 Jul 2015 15:20 Posts: 101
|
А это не то? 6502 simulatorИ вроде на этом ресурсе всё до транзисторов разобрано и посчитано...
|
19 Oct 2017 17:54 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А что у них является источником информации о 6502? Показываю, прямо по Вашей ссылке: - Фотографии кристалла; - Эта самая диаграмма Hanson-а из начала этого топика; - Последняя ссылка больше нигде не доступна - но это тоже материалы самодеятельного вскрывателя микросхем. Где хоть один официальный документ от MOS Technology? Неофициальный сайт http://www.visual6502.org/JSSim/index.html считают самым надёжным источником информации о 6502 даже на http://6502.org/... Хотя, казалось бы, должно бы быть наоборот... ![wink :ewink:](./images/smilies/icon_e_wink.gif)
_________________ iLavr
|
19 Oct 2017 18:18 |
|
![](./styles/getaway/theme/images/spacer.gif) |
IgorR76
Senior
Joined: 27 Jul 2015 15:20 Posts: 101
|
Фотографии кристалла, потранзисторная схема и основанный на ней эмулятор надежнее официального документа от MOS. "Вам шашечки или ехать?"(с)
|
19 Oct 2017 18:24 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Мне, конечно же, ехать... но тогда объясните мне согласно вот этой блок-схеме: ![Image](http://www.nedopc.org/nedopc/upload/6502full.gif) Как делается проброс PCH и PCL сквозь АЛУ каждого за 1 такт: ![Image](http://www.nedopc.org/forum/download/file.php?id=2533) Если 1 такт выглядит вот так: ![Image](http://www.nedopc.org/nedopc/upload/6502ReadWrite.gif) У меня что-то "шашечки с ехать" не складываются... P.S. Ссылку на http://visual6502.org/ мы тут видели с 23 июня 2012 года, а может и раньше... Но к пониманию вопроса в старте топика это пока не приблизило...
_________________ iLavr
|
19 Oct 2017 18:40 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
В следующем документе - все растактовки команд 6502 : Правда, насколько я понял, никакой привязки к limited form of pipelining в документе нет. Вероятно, следует руководствоваться следующими соображениями:
_________________ iLavr
|
04 Jul 2018 11:08 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
This limited form of pipelining, как ни странно, поясняется на примере в следующем мануале на стр. 54: http://users.telenet.be/kim1-6502/6502/proman.html --- это описание для KIM-1 & MCS6500 MICROCOMPUTER FAMILY PROGRAMMING MANUAL"Как ни странно" - потому как у меня этот документ давно есть, но про pipelining почитать не приходилось... P.S. И, кстати говоря, все растактовки команд 6502 есть и в этом документе, также, как: Приложение А. http://users.telenet.be/kim1-6502/6502/hwman.html#AA
_________________ iLavr
|
05 Jul 2018 04:46 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я подумал, что надо бы уже и разобраться с этими Ф0, Ф1 и Ф2... В общем, согласно всем мануалам и даташитам идея вырисовывается следующая: То, что для Intel8080 делает задающий генератор 8224 снаружи - двухтактную последовательность непересекающихся импульсов, в микропроцессоре 6502 делается внутри, в результате чего получается, что внутри он работает как бы на удвоенной частоте. Временн Ые интервалы должны быть примерно следующие (по мануалу MCS6500 MICROCOMPUTER FAMILY): Параметр TD - от 0 ( не пересекаются), в большую сторону не нормирован. И исследователи 6502, разбирая его потранзисторную структуру, пришли к следующей схеме формирования Ф1 и Ф2 внутри микропроцессора: Но мне думается, что она переусложнена для повторения на дискретных микросхемах. Продолжу ниже...
_________________ iLavr
|
13 Jul 2018 03:03 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Если проанализировать тактовую диаграмму (я взял эту картинку на 6502.org), то логические соотношения, необходимые для формирования Ф1 и Ф2 довольно неплохо видны: То есть, нам необходима задержанная на некоторый интервал времени последовательность импульсов, и из неё и входной последовательности импульсов можно сформировать Ф1 и Ф2, используя логические элементы, избирательно реагирующие на совпадение лог."0" и лог."1". Я смоделировал это в Proteus следующим образом: 4 элемента 7400 - это даже слишком большая задержка, но сделал так, чтобы хорошо было видно на виртуальном осциллографе. В результате получились следующие осциллограммы сигналов:
_________________ iLavr
|
13 Jul 2018 03:17 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А мысль совершенно правильная, и не один я к такой мысли пришел... Вот, смотрю я в проекте TTL 6502 - yet another project практически идентичное решение: Есть сигнал CLK из него сформирован сигнал DELAYED CLK, из них аналогично формируют PH2.
_________________ iLavr
|
22 Jul 2018 06:37 |
|
![](./styles/getaway/theme/images/spacer.gif) |
org
Junior
Joined: 16 Jan 2022 14:49 Posts: 1
|
Привет! Мы тут смастерили симулятор 6502: https://github.com/emu-russia/breaks/releases/tag/breaks-debug-14Он умеет генерировать Markdown с веселыми картинками: https://github.com/emu-russia/breaks/blob/master/BreakingNESWiki/6502/ops/A2.mdДумаю это сполна удовлетворит ваше любопытство Хотя нижняя часть ещё не очень хорошо понимает что говорит верхняя, но для анализа этого достаточно, т.к. все команды для нижней части генерируются как следует. По поводу PHI1/PHI2. Всё уже раскопано, тут: https://github.com/emu-russia/breaks/blob/master/BreakingNESWiki/6502/clock.mdPHI1/PHI2 сделаны таким образом, чтобы не налезать друг на друга. Знатоки говорят что это был распространенный приём во времена винтажных чипов, как один из приемов "стабилизации" схемы. То есть в её работе были маленькие промежутки, когда не было ни PHI1, ни PHI2.
|
16 Jan 2022 15:07 |
|
|