Найти в Дзене
Physics.Math.Code

Рецензия на книгу «Цифровая схемотехника и архитектура компьютера. Дополнение по архитектуре ARM»

"Данное издание является дополнением к книге "Цифровая схемотехника и архитектура компьютера" с описанием отличий архитектуры ARM (Advanced RISC Machine) от MIPS, описанной в первой книге. Оно состоит из глав, посвященных архитектуре процессоров ARM, их микроархитектуре, описанию подсистемы памяти и системы ввода-вывода.

MIPS (Microprocessor without Interlocked Pipeline Stages) — микропроцессор, разработанный компанией MIPS Computer Systems (в настоящее время MIPS Technologies) в соответствии с концепцией проектирования процессоров RISC (то есть для процессоров с упрощенным набором команд). Ранние модели процессора имели 32-битную структуру, позднее появились его 64-битные версии.
Архитектуру MIPS часто изучают в программе курса «Компьютерная архитектура» в университетах и технических лицеях. Эти процессоры значительно повлияли на более поздние RISC-архитектуры, в частности на Alpha.

Оба ядра MIPS32 и ARM Сortex-M имеют 32-разрядную шину данных и сокращенный набор команд RISC. Однако на этом их сходство кончается. Изначально компания MIPS Technologies занималась разработкой высокопроизводительных рабочих станций и серверов, в то время как ARMначинала как разработчик процессоров для мобильных аппаратов начального уровня.

По сравнению с семействами ARM Сortex-M процессоры M4K имеют более высокое быстродействие. Частично это обусловлено более эффективной структурой набора команд (ISA — instruction set architecture) и оптимизированными программными средствами, но в большей степени это достигается за счет самой архитектуры MIPS. Перечислим основные различия между ядрами.

1. Процессоры MIPS имеют 32 встроенных регистра общего назначения, ARM — только 16.
2. В процессорах MIPS предусмотрены «теневые» регистры, позволяющие ускорить функции сохранения и восстановления при обработке прерываний. Соответственно, на контекстное переключение уходит меньше циклов.
3. В архитектуре MIPS большая часть команд содержит только одну операцию, а инструкции
ARM выполняют несколько операций перед записью в регистр (смена операнда, проверка бита состояния и др.). За счет этого MIPS имеет более высокую тактовую частоту.
4. В MIPS более простая система адресов, за счет чего также повышается рабочая частота.
5. В процессорах
ARM широко используются предсказатели ответвлений, что усложняет логические схемы и замедляет работу. В архитектуре MIPS они не требуются, поскольку конвейер содержит 5 уровней, а не 3, как в ARM.
6. В отличие от MIPS, в
ARM не предусмотрена отложенная передача управления, поэтому при меньшей глубине конвейера обеспечивается более высокая эффективность.
7. Архитектура MIPS реализована как в 32-, так и в 64-разрядном варианте, что обеспечивает полную совместимость устройств с предыдущими поколениями.

Книга «Цифровая схемотехника и архитектура компьютера. Дополнение по архитектуре ARM» идеально дополняет предыдущую книгу авторов. Глава 1 и Глава 2 содержат обзор архитектуры и микроархитектуры ARM с разных сторон. ARM является архитектурой, которая идеально подходит для изучения, поскольку она является реальной архитектурой, поставляемой в составе миллионов продуктов ежегодно. Несмотря на это, она рациональна и проста в освоении. Из-за её популярности в коммерческом и любительском сегменте существует много средств разработки и эмуляции для архитектуры ARM. Также в первой главе в качестве стороннего примера рассматривается архитектура процессоров Intel x86.

Глава 2 содержит обзор современных высокопроизводительных микроархитектур: с предсказанием переходов, суперскалярной, с внеочередным выполнением команд, многопоточной и многоядерной. Материал изложен настолько доступно, что даже неопытным учащимся первых курсов будет понятно как улучшить и расширить микроархитектуры, описанные в книге, для получения современного процессора.

Глава 3 посвящена производительности микроархитектуры и подсистемы, а также большое внимание уделено работе кэша и виртуальной памяти.

Глава 4 описывает периферийные устройства в контексте одноплатного компьютера Raspberry Pi, который является популярной платформой на базе ARM. Показано много примеров из реальных микросхем, которые широко используются в ПК и бытовой электронике.

Так как книга написана в стиле предыдущей книги по MIPS, в «Дополнении по архитектуре ARM» в конце каждой главы также имеются упражнения и вопросы для проверки и собеседований. Первая глава книги плавно знакомит с языком ассемблера в контексте архитектуры ARM. Причем нельзя не отметить тот положительный факт, что примеры на языке ассемблера сопровождаются аналогичным примерами с кодом на языке высокого уровня (в данном случае Си), что быстрее помогает понять как именно можно работать с архитектурой ARM. Примеры располагаются от простого к сложному. Также в приложении приведена система команд ARM. Книгу рекомендуется использовать совместно с первым (основным) изданием по архитектуре MIPS.

Также хочется отметить высокое качество бумаги, печати, обложки и перевода от издательства ДМК Пресс. Данная книга будет полезна инженерам, физикам, математикам, программистам, радиолюбителям и всем интересующимся современной и актуальной схемотехникой.

Дополнением к книге «Цифровая схемотехника и архитектура компьютера. Дополнение по архитектуре ARM» посоветовал бы следующие книги издательства ДМК Пресс:

1. "Электроника шаг за шагом", Рудольф Сворень
2. «Схемотехника аналоговых и аналогово-цифровых устройств. Четвертое издание», Волович Г.И."