CSG 65CE02: 8/16-битный микропроцессор Commodore, улучшенная версия MOS Technology 6502. CMOS-технология, снижение энергопотребления, ускоренное выполнение команд.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
CSG 65CE02 – 8/16-битный микропроцессор, разработанный компанией Commodore Semiconductor Group в 1988 году. Он принадлежит к семейству MOS Technology 6502 и был разработан на основе CMOS WDC 65C02, выпущенного Western Design Center в 1983 году. Как и 65C02, 65CE02 был изготовлен по 2 мкм CMOS-технологии, в отличие от 8 мкм NMOS-технологии оригинального 6502, что позволило уменьшить размеры чипа (и, следовательно, его стоимость), а также значительно снизить энергопотребление. Помимо изменений, внесенных в 65C02, в 65CE02 были реализованы улучшения конвейера процессора, позволяющие однобайтовым инструкциям выполняться за 1 цикл, в то время как для 6502 (и большинства его вариантов) требовалось минимум 2 цикла. Также были устранены задержки в 1 цикл при переходе через границы страниц памяти. Эти изменения повысили производительность до 25% при той же тактовой частоте. Другие изменения включали добавление третьего индексного регистра Z, а также добавление и модификацию ряда инструкций для работы с этим регистром. Нулевая страница – первые 256 байт памяти, использовавшиеся как псевдорегистры – теперь могла быть перемещена на любую страницу основной памяти с помощью регистров базовой страницы B. Регистр стека был расширен с 8 до 16 бит с использованием аналогичного регистр страницы SPH (stack pointer high), что позволило переместить стек с первой страницы и увеличить его размер. 65CE02 стал основой для системы на кристалле CSG 4510, разработанной для так и не вышедшего Commodore 65. Позже 65CE02 был использован в карте последовательного порта A2232 для компьютера Amiga. Судя по всему, больше он нигде не применялся.
The CSG 65CE02 is an 8/16 bit microprocessor developed by Commodore Semiconductor Group in 1988. It is a member of the MOS Technology 6502 family, developed from the CMOS WDC 65C02 released by the Western Design Center in 1983. Like the 65C02, the 65CE02 was built on a 2 µm CMOS process instead of the original 6502's 8 µm NMOS technology, making the chip smaller (and thus less expensive) as well as using much less power. In addition to changes made in the 65C02, the 65CE02 also included improvements to the processor pipeline to allow one byte instructions to complete in 1 cycle, rather than the 6502's (and most variants) minimum of 2 cycles. It also removed 1 cycle delays when crossing page boundaries. These changes improved performance as much as 25% at the same clock speed. Other changes included the addition of a third index register, Z, along with the addition and modification of a number of instructions to use this register. The zero page, the first 256 bytes of memory that were used as pseudo registers, could now be moved to any page in main memory using the B(ase page) register. The stack register was widened from 8 to 16 bits using a similar page register, SPH (stack pointer high), allowing the stack to be moved out of page one and to grow to larger sizes. The 65CE02 was the basis for the system on a chip CSG 4510 that was developed for the unreleased Commodore 65. The 65CE02 was later used for the A2232 serial port card for the Amiga computer. It appears to have seen no other use.
Предыстория
К концу 1970-х годов первоначальная команда MOS Technology, разработавшая 6502, распалась. Билл Менш переехал в Аризону и основал Western Design Center (WDC) для предоставления услуг по проектированию на базе 6502. Около 1981 года основные лицензиаты дизайна 6502 – Rockwell Semiconductor, GTE и Signetics – начали работу по перепроектированию совместно с Меншем, что привело к созданию WDC 65C02. Это была, главным образом, КМОП-реализация оригинального НМОП 6502, потреблявшая в 10–20 раз меньше энергии, но также включавшая ряд новых инструкций для повышения плотности кода в определенных приложениях. Новые инструкции включали INA/DEA для инкремента и декремента аккумулятора, STZ для записи нуля в ячейку памяти и BRA – переход с однобайтовым относительным адресом, реализованным как ветвление. 65C02 также исправил ряд незначительных ошибок в оригинальной конструкции 6502. Оригинальный 6502 был разработан в эпоху, предшествующую появлению микрокомпьютеров, когда микропроцессоры использовались в качестве основы для более простых систем, таких как интеллектуальные терминалы, настольные калькуляторы и различные промышленные системы управления. Это также была эпоха, когда устройства памяти обычно основывались на статической оперативной памяти (RAM), которая была очень дорогой и имела низкую плотность. По этим двум причинам необходимость в обработке "больших" объемов памяти не была актуальной, и многие процессоры имели режимы работы, оперирующие небольшими участками большого адресного пространства для обеспечения более высокой производительности. Так было и с 6502, который использовал первую страницу памяти, или "нулевую страницу", для более быстрого доступа, а вторую страницу, "первую страницу", – для хранения стека размером 256 байт. К 1980-м годам эти предположения устарели: многие машины на базе этих процессоров теперь поставлялись с максимальными 64 КБ памяти, адресуемой 6502, используя гораздо более дешевую и плотную динамическую RAM. Преимущества скорости режима адресации нулевой страницы сохранились, но теперь они действовали в значительно большем адресном пространстве. Соответственно, стек вызовов, занимавший одну страницу, стал незначительным объемом по сравнению с общей памятью, и языки программирования высокого уровня, активно использующие пространство стека, не могли легко выполняться на 6502.
By the late 1970s, the original MOS Technology team that designed the 6502 had broken up. Bill Mensch had moved to Arizona and set up the Western Design Center (WDC) to provide 6502 based design services. Around 1981, the main licensees of the 6502 design, Rockwell Semiconductor, GTE and Signetics, began a redesign effort with Mensch that led to the WDC 65C02. This was mainly a CMOS implementation of the original NMOS 6502 that used 10 to 20 times less power, but it also included a number of new instructions to help improve the code density in certain applications. New instructions included INA/DEA to increment and decrement the accumulator, STZ to write a zero to a memory location, and BRA which was a jump with a branch style 1 byte relative address. The 65C02 also fixed a number of minor bugs in the original 6502 design. The original 6502 was designed in the era before microcomputers existed, when microprocessors were used as the basis for simpler systems like smart terminals, desktop calculators and many different industrial controller systems. This was also an era when memory devices were generally based on static RAM, which was very expensive and had low memory density. For both of these reasons, the ability to handle "large" amounts of memory was not required, and many processors had operating modes that worked with small portions of a larger address space in order to offer higher performance. Such was the case in the 6502, which used the first memory page, or "zero page", to provide faster access, and the second page, "page one", to hold a 256 byte stack. By the 1980s, these assumptions were no longer valid, many machines based on these processors now shipped with the maximum 64 kB that the 6502 could address, using the far less expensive and denser dynamic RAM. The speed advantages of the zero page addressing mode remained, but now existing within a memory space that was dramatically larger. Likewise, the single page call stack was now a pittance within the overall memory, and high level languages that made prodigious use of stack space could not easily run on the 6502.
Новые функции
65CE02 – это дальнейшее улучшение процессора 65C02, расширяющее модель памяти для повышения его пригодности к использованию в системах с большим объемом оперативной памяти. Для этого в него добавлены следующие новые функции:
The 65CE02 is a further improved version of the 65C02 which expands the memory model to make it more suitable for a system with large amounts of main memory. To do this, it adds the following new features:
65CE02 включает 8-битный регистр B, предназначенный для базовой страницы, который позволяет смещать нулевую страницу в любую область памяти. При включении питания или сбросе регистр B устанавливается в ноль, поэтому 65CE02 изначально работает идентично 6502. При записи значения в регистр B с помощью инструкции TAB (Transfer A to B) нулевая страница перемещается в новое местоположение. Важным применением этой функции является возможность использования нулевой адресации (теперь известной как базовая адресация страницы) для небольших подпрограмм, умещающихся в пределах 256 байт страницы. Это позволяет уменьшить размер кода, поскольку адреса больше не требуют второго байта, а также повысить скорость выполнения кода, так как второй байт не нужно извлекать из памяти. Благодаря этим улучшениям 65CE02 способен выполнять код до 25% быстрее, чем предыдущие модели 65xx.
The 65CE02 adds an 8 bit B register, for Base Page, that offsets the zero page to any location in memory. B is set to zero on power up or reset, so the 65CE02 initially works exactly like the 6502. If a value is placed into the B register using TAB (Transfer A to B) the zero page then moves to the new location. A significant use of this feature is to allow small routines that can fit within the 256 bytes of a page to use zero page addressing (now known as base page addressing) which makes the code smaller because addresses no longer have a second byte, which also makes the code run faster because the second byte does not have to be fetched from memory. These improvements allow the 65CE02 to execute code up to 25% faster than previous 65xx models.
CSG 4510
4510 – это вариант 65CE02, выполненный в виде системы в корпусе (SiP), включающий два контроллера портов ввода-вывода 6526 CIA и специализированный MMU для расширения адресного пространства до 20 бит (1 мегабайт). Он заключен в корпус PLCC с 84 выводами. 4510 использовался в невыпущенном домашнем компьютере Commodore 65 и в удешевленной версии невыпущенной приставки Commodore CDTV.
The 4510 is a system in package (SiP) variant of the 65CE02 that includes two 6526 CIA I/O port controllers and a custom MMU to expand the address space to 20 bit (1 megabyte). It is housed in an 84 pin PLCC. The 4510 was used in the unreleased Commodore 65 home computer and the unreleased Commodore CDTV cost reduced revision.
Приложения
65CE02 использовался в карте последовательного порта Commodore A2232 для компьютера Amiga.
The 65CE02 was used in the Commodore A2232 serial port card for the Amiga computer.