Архитектура компьютера

Расширение кода операций

В предыдущем подразделе мы увидели, что короткие адреса препятствуют удачной дискретности памяти. В этом разделе мы рассмотрим компромиссы, связанные с кодами операций и адресами. Рассмотрим команду размером п + k бит с кодом операции в k бит и одним адресом в п бит. Такая команда допускает 2k различных операций и 2п адресуемых ячеек памяти. В качестве альтернативы те же п + k бит можно разбить на код операции в k – 1 бит и адрес в /2+1 бит. При этом будет либо в два раза меньше команд, но в два раза больше памяти, либо то же количество памяти, но дискретность вдвое выше. Код операции в k + 1 бит и адрес в п – 1 бит дает большее количество операций, но ценой этого является либо меньшее количество ячеек памяти, либо не очень удачная дискретность при том же объеме памяти. Наряду с подобными простыми компромиссами между битами кода операции и битами адреса существуют и более сложные. Обсуждаемый здесь механизм называется расширением кода операций.

Понятие расширения кода операций можно пояснить на примере. Рассмотрим машину, в которой длина команд составляет 16 бит, а длина адресов — 4 бита, как показано на рис. 5.8. Это вполне разумно для машины, содержащей 16 регистров (а следовательно, 4-разрядный адрес регистра), с которыми совершаются все арифметические операции. Один из возможных вариантов — включение в каждую команду 4-разрядного кода операции и трех адресов, что дает 16 трехадресных команд.
Читать дальше »

Критерии разработки форматов команд

Если разработчикам нужно выбрать форматы команд для их машины, они должны принять во внимание ряд факторов. Нельзя недооценивать сложность этого

решения. Если компьютер с коммерческой точки зрения получается удачным, набор команд может существовать на протяжении 20 лет и более. Имеет огромное значение возможность на протяжении некоторого времени добавлять новые команды и другие элементы, но только в том случае, если архитектура (и компания, создавшая эту архитектуру) протянет достаточно долго.

Эффективность конкретной архитектуры команд зависит от технологии, которая применялась при разработке компьютера. За длительный период времени эта технология значительно изменится, и некоторые характеристики архитектуры команд окажутся (если оглянуться лет на 20 назад) неудачными. Например, если доступ к памяти осуществляется быстро, то подойдет стековая архитектура (как в IJVM), но если доступ к памяти медленный, тогда желательно иметь множество регистров (как в UltraSPARC III). Тем читателям, которые считают, что выбор сделать просто, мы предлагаем взять лист бумаги и записать следующие предположения:
Читать дальше »

Форматы команд

Команда состоит из кода операции и некоторой дополнительной информации, позволяющей узнать, например, откуда поступают операнды и куда должны отправляться результаты. Процесс определения, где находятся операнды (то есть их адреса), называется адресацией.

На рис. 5.6 показано несколько возможных форматов команд уровня архитектуры набора команд. Команды всегда содержат код операции. В команде могут присутствовать ни одного, один, два или три адреса.
Читать дальше »

Типы данных 8051

Количество типов данных в микросхеме 8051 строго ограничено. Разрядность всех регистров, а значит, целых чисел и символов, составляет 8 бит. По существу, единственным типом данных для выполнения арифметических операций, который поддерживается аппаратно, является 8-разрядный байт (табл. 5.4).


Читать дальше »

Типы данных машины UltraSPARC III

UltraSPARC III поддерживает множество форматов данных (табл. 5.3). Эта машина может обрабатывать 8-, 16-, 32- и 64-разрядные целочисленные операнды со знаком и без знака. Целые числа со знаком представлены в дополнительном коде. Кроме того, имеются операнды с плавающей точкой по 32, 64 и 128 бит, которые соответствуют стандарту IEEE 754 (для 32- и 64-разрядных чисел). Двоично-десятичные числа не поддерживаются. Все операнды должны быть выровнены в памяти.


Читать дальше »

Типы данных процессора Pentium 4

Pentium 4 поддерживает двоичные целые числа со знаком, целые числа без знака, числа двоично-десятичной системы счисления и числа с плавающей точкой по стандарту IEEE 754 (табл. 5.2). Эта машина является 8/16-разрядной и оперирует целыми числами такой же длины. Она поддерживает многочисленные арифметические команды, булевы операции и операции сравнения. Операнды не обязательно должны быть выровнены в памяти, но если адреса слов кратны значению 4 байта, имеет место более высокая производительность.
Читать дальше »

Нечисловые типы данных

Хотя самые первые компьютеры работали в основном с числами, современные машины часто используются для выполнения нечисловых приложений, например, для обработки текстов или управления базами данных. Для этих приложений нужны другие, нечисловые, типы данных. Они часто поддерживаются командами уровня архитектуры набора команд. Здесь очень важны символы, хотя не каждый компьютер обеспечивает аппаратную поддержку для них. Наиболее распространенными символьными кодами являются ASCII и UNICODE. Они поддерживают 7-разрядные и 16-разрядные символы соответственно. Эти коды обсуждались в главе 2.

На уровне архитектуры набора команд часто имеются особые команды, предназначенные для операций со строками. Эти строки иногда разграничиваются специальным символом в конце. Вместо терминального символа для определения конца строки может использоваться поле длины строки. Строковые команды позволяют выполнять копирование, поиск и редактирование строк, а также другие действия.
Читать дальше »

Числовые типы данных

Типы данных можно разделить на две категории: числовые и нечисловые. Среди числовых типов данных главными являются целые числа. Они бывают различной длины: обычно 8, 16, 32 и 64 бита. Целые числа применяются для подсчета различных предметов (например, позволяют узнать, сколько на складе отверток), для идентификации различных объектов (например, банковских счетов), а также для других целей. В большинстве современных компьютеров целые числа хранятся в двоичном виде, хотя в прошлом использовались и другие системы. Двоичные числа обсуждаются в приложении А.

Некоторые компьютеры поддерживают целые числа и со знаком, и без знака. В целом числе без знака нет знакового бита, и все биты содержат данные. Этот тип данных имеет преимущество: у него есть дополнительный бит, поэтому 32-разрядное слово может содержать целое число без знака от 0 до 232-1 включительно. Двоичное целое число со знаком, напротив, может содержать числа только до 231-1, но зато включает и отрицательные числа.
Читать дальше »

Типы данных

Всем компьютерам нужны данные. Для многих компьютерных систем основной задачей является обработка финансовых, промышленных, научных, технических и других данных. Внутри компьютера данные должны быть представлены в ка-

кой-либо особой форме. На уровне архитектуры набора команд используются различные типы данных. Они описаны в этом разделе.

Ключевым вопросом является вопрос о том, имеется ли аппаратная поддержка того или иного типа данных. Под аппаратной поддержкой подразумевается, что одна или несколько команд ожидают данные в определенном формате, и пользователь не может задействовать другой формат. Например, бухгалтеры привыкли писать знак «минус» у отрицательных чисел справа, а специалисты по вычислительной технике — слева. Предположим, что, пытаясь произвести впечатление на своего начальника, глава компьютерного центра в бухгалтерской фирме изменил все числа во всех компьютерах, чтобы знаковый бит был самым правым (а не самым левым). Несомненно, это произведет большое впечатление на начальника, поскольку все программное обеспечение откажется нормально функционировать. Аппаратное обеспечение требует определенного формата для целых чисел и не перестанет работать должным образом, если целые числа поступят в другом формате.
Читать дальше »

Обзор уровня архитектуры набора команд микросхемы 8051

В качестве третьего примера мы традиционно рассматриваем микросхему 8051. В отличие от процессоров Pentium 4 (которые в основном используются в настольных компьютерах и серверных фермах) и UltraSPARC III (которые по большей части устанавливаются в крупных серверных, особенно мультипроцессорных, системах), микросхемы 8051 обычно встраиваются в бытовые устройства (от уличных светофоров до будильников) для обработки сигналов от кнопок, световых индикаторов и других элементов пользовательского интерфейса. История этого процессора довольно проста. Когда в 1974 году компания Intel выпустила

микросхему 8080, успех был ошеломляющим. Производители принялись встраивать 8080 в электронные устройства, и с учетом этой тенденции через некоторое время было решено сконструировать микросхему, на которой можно было бы разместить не только процессор, но также модули памяти и контроллеры ввода-вывода. В результате появилась модель 8048, а за ней — 8051. Несмотря на почтенный возраст (а может быть, и благодаря ему), эта микросхема до сих пор пользуется обширным спросом, что объясняется в основном крайне низкой стоимостью, которая во встроенных системах является решающим фактором. В данном подразделе представлена краткая техническая характеристика 8051 и родственных микросхем.
Читать дальше »

 Страница 1 из 7  1  2  3  4  5  6  7 »
Архитектура ПК, персонального компьютера, ЭВМ