Motorola 680x0: различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
смешанная разрядность
Строка 29:
 
== Архитектура ==
Язык ассемблера M68k схож с ассемблером [[PDP-11]] и [[VAX]]. Несмотря на исключение в виде разделения регистров общего назначения на специализированные регистры адресов и регистры данных, архитектура 68000 во многом — 32-битная версия PDP-11. Несмотря на то, что система команд с самого начала описывает 32-битную машину, но первое поколение процессоров (до 68020) имело 16-битное АЛУ из-за чего иногда процессор описывается как имеющий смешанную битность 16/32. При этом 32-битные команды с данными выполнялись в несколько действий с 16-битным АЛУ, но блок адресации сразу был 32-битным, поэтому индексация памяти и вычисления адресов не страдали по быстродействию с самого начала. Когда в 68020 АЛУ сделали 32-битным, то ничего не надо было делать с уже существующим кодом чтобы он начал работать "на полной скорости 32 бит".
 
[[Система команд|Набор инструкций]] значительно более «ортогонален», чем у многих процессоров, появившихся как ранее (как [[i8080]]), так и после (как семейство [[x86]]) (на самом деле архитектура x86 появилась за год до выхода первого процессора M68000). На практике это означает, что возможно свободно комбинировать операции и операнды, со всем богатством режимов адресации, не задумываясь об ограничениях совместимости конкретной операции и набора операндов. Эта особенность существенно облегчает программирование на ассемблере 68k, в определённой степени приближая его к языкам высокого уровня, а также существенно облегчает создание кода компиляторами.
Строка 50:
* Первое поколение
[[Файл:Motorola MC68000FN8.jpg|thumb|250px]]
** [[MC68000|Motorola 68000]] — 32-разрядная архитектура, но 16-разрядное ядроАЛУ; 68000 транзисторов; 16-битная шина данных/24-битная шина адресов; частота 8-16 МГц; 64 или 68 контактов.
*** [[DIP]] версии
**** [[MC68000L|Motorola 68000L]]
Строка 70:
**** [[MC68EC000FN16|Motorola 68EC000FN16]]
**** [[MC68HC000FN16|Motorola 68HC000FN16]]
** [[MC68008|Motorola 68008]] — 32-разрядная архитектура, но 16-разрядное ядроАЛУ; 70000 транзисторов; 8-битная шина данных/20-битная шина адресов; частота 8-10 МГц; 48 контактов.
** [[MC68010|Motorola 68010]] — 32-разрядная архитектура, но 16-разрядное ядроАЛУ; усовершенствование MC68000; 84000 транзисторов; 16-битная шина данных/24-битная шина адресов; частота 8-12 МГц; 64 или 68 контактов.
** [[MC68012|Motorola 68012]]
* Второе поколение (полностью 32-разрядные шины доступа кразрядное даннымядро)
[[Файл:68020-16.jpg|thumb|120px|Motorola 68020]]
** [[MC68020|Motorola 68020]]