История PowerPC начинается с прототипа микросхемы 801, созданного в IBM в конце 1970-х на основе идей Джона Кока о RISC-архитектуре. Далее она была продолжена 16-регистровым дизайном IBM RT-PC в 1980-х годах, который в дальнейшем развился в архитектуру POWER, представленную RS/6000 в начале 1990-х. Дизайн POWER был основан на архитектуре предшествующих RISC-процессоров, таких как IBM 801, и архитектуре MIPS. Настоящий микропроцессор POWER, одно из первых суперскалярных воплощений архитектуры RISC, был высокопроизводительным и многоядерным. В IBM скоро поняли, что им требуется одночиповый дизайн, в котором не были бы воплощены некоторые инструкции POWER, чтобы линия процессоров RS/6000 включала решения всех уровней производительности, и работа над одночиповым микропроцессором POWER началась.
IBM предложила Apple сотрудничество в разработке семейства одночиповых процессоров, основанных на архитектуре POWER. Вскоре после этого Apple, как один из крупнейших заказчиков микропроцессоров класса настольных систем Motorola,[1] попросила Motorola присоединиться к этому сотрудничеству. Apple считала, что Motorola, с её длинной историей работы с Apple, будет способна производить большее количество микропроцессоров, чем IBM. Этот тройственный союз стал известен как AIM, по первым буквам Apple, IBM, Motorola.
Для Motorola вступление в этот союз было чрезвычайно выгодным. Это позволяло им продавать хорошо протестированный и мощный RISC-процессор, не тратя денег на его разработку. У них также был крупный покупатель этих процессоров — Apple, и ещё один — потенциальный — в лице IBM, которая могла бы не производить свои младшие версии POWER, а покупать их у Motorola.
У Motorola уже был собственный RISC-процессор, 88000[en], продававшийся чрезвычайно плохо. Одной из причин его провала была плохая совместимость с предыдущей версией, популярной серией 68000, также использовавшейся в компьютерах Apple Macintosh. Основной же причиной была задержка вывода на рынок из-за проблем с разработкой и изготовлением, из-за чего Motorola упустила возможность успешно конкурировать с другими производителями.
Тем не менее, производство 88000 уже началось, и Data General продавал компьютеры на основе 88k. У Apple уже был работающий прототип компьютера с 88k. Было решено сделать новый одночиповый POWER-процессор совместимым по шине с 88000, что позволило бы Apple и Motorola начать продавать машины намного быстрее, не занимаясь переделкой материнских плат.
В результате сочетания всех этих требований появилась спецификация PowerPC (Performance Computing). В выигрыше были все:
IBM практически бесплатно получила желанный одночиповый процессор;
Apple получила один из самых мощных RISC-процессоров на рынке, а заодно бесплатную рекламу в виде имени IBM в публикациях;
Motorola бесплатно получила современный чип RISC, помощь в дизайне которого оказывала ей IBM, и возможность продавать его множеству компаний — включая Apple и IBM.
PowerPC спроектирован в соответствии с принципами RISC, в рамках концепции возможна суперскалярная реализация. Существуют версии дизайна как для 32-, так и для 64-разрядных вариантов. Помимо базовых спецификаций POWER, PowerPC обладает:
возможностью, отсутствующей в PowerPC G5, работать в двух режимах — big-endian и little-endian, переключаясь между режимами во время вычислений;
однопроходными формами некоторых инструкций для вычислений с плавающей запятой, в добавление к двухпроходным;
дополнительными инструкциями для вычислений с плавающей запятой, разработанными Кейтом Дифендорфом из Apple;
обратной совместимостью с 32-разрядным режимом в 64-разрядных версиях;
отсутствием некоторых особо специфических команд POWER, некоторые из которых могут эмулироваться операционной системой, если понадобятся.
В процессорах PowerPC внутренняя шина выведена на поверхность чипа и соединена с мостом, который транслирует команды на другие шины, соединяющиеся с оперативной памятью, шиной PCI и так далее.