Encoding x86 Instructions
x86 инструкции действительно заслуживают название Complex Instruction Set Computer (CISC) из-за своей чрезвычайно сложной структуры. Инструкции могут достигать 15 байт в длину, включая префиксные байты, которые изменяют поведение существующих команд, а не расширяют opcode. Процессор поддерживает два основных типа opcode: стандартный 1-байтовый и расширенный 2-байтовый с префиксом 0Fh, что теоретически позволяет до 512 различных классов инструкций. Бит направления (d) в opcode определяет направление передачи данных, а бит размера (s) указывает на 8-битные (s=0) или 16/32-битные (s=1) операнды.
Ключевым элементом является MOD-REG-R/M байт, который определяет операнды и режимы адресации. Поле MOD указывает на режим адресации (00-11), REG определяет регистр (от AL до EDI в зависимости от размера данных), а R/M совместно с MOD указывает второй операнд или единственный операнд для команд вроде NOT. Общие регистры (EAX, EBX, ECX и др.) обеспечивают быстрый доступ к данным, так как процессор работает с ними значительно быстрее, чем с памятью. 32-битные регистры содержат в себе свои 16-битные и 8-битные аналоги, что позволяет гибко работать с данными разных размеров.
Комментарии (27)
- Обсуждение началось с размышлений о сложности кодирования инструкций в x86 и ARM64, где последний оказался значительно проще в этом плане.
- Участники обменялись ссылками и инструментами, включая вики-страницу "x86 is an octal machine" и репозиторий Paul Hsieh's.
- Была затронута тема эволюции процессора: сравнение 8086 и современных чипов, а также затрагивающая влияние на эффективность кода.
- Обсуждались трудности с кодированием инструкций в x86, включая непредсказуемость длины кода и сложность дешифрации.
- В итоге, участники сошлись на том, что эволюция процессора и архитектуры влияет на эффективность кода, и что важно адаптироваться к изменениям.
A history of ARM, part 1: Building the first chip (2022)
В 1983 году успешная британская компания Acorn Computers столкнулась с кризисом: рынок 8-битных компьютеров насыщался, а американские IBM PC и Apple Macintosh предлагали новую мощь. Разработчики BBC Micro Софи Уилсон и Стив Фёрбер искали 16-битный процессор для слота «Tube», но существующие варианты — Intel 80286, National Semiconductor 32016 и Motorola 68000 — их не устраивали из-за низкой эффективности использования памяти и сложности программирования.
Визит в National Semiconductor показал, что создание собственного чипа требует огромных ресурсов, но посещение скромного Western Design Center, где на Apple II проектировали 65C618, доказало: маленькая команда может сделать процессор. Это вдохновило Acorn на рискованный шаг — силами всего 10 инженеров они начали разработку архитектуры, которая позже стала ARM и изменила мир мобильных устройств.
Комментарии (12)
- Представлены дополнительные материалы по истории ARM до 1997 года и интервью с первым CEO компании.
- Обсуждаются технические аспекты архитектуры: низкое энергопотребление как ключевое преимущество, использование микрокода и различия между RISC и CISC.
- Упоминается фильм "Micro Men" о британской компьютерной индустрии и эпохе Acorn.
- Отмечается современная бизнес-стратегия ARM как причина для критики.
- Предлагается передача исторического оборудования (чипы RISC OS 2) в музей вычислительной техники.