Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Рациональные и вещественные числа, как и целые числа, могут быть представлены только из ограниченного диапазона и соответственно только с ограниченной точностью. Для их представления используются числа с плавающей точкой. Эти числа соответствуют так называемому полулогарифмическому представлению чисел. Число с плавающей точкой состоит из знака числа, экспоненты (или порядка) и мантиссы. Для представления знака требуется 1 бит, для порядка - n битов, и для мантиссы - m битов. Таким образом, число с плавающей точкой представляется двоичным b словом длины n + m + 1:
B = <Bo bi... Bn Bn+i.. Bn+ni>
знак порядок мантисса
При этом порядки чисел будет выбираться так (в случае, если представляемое число не есть 0), чтобы мантисса имела двоичную цифру L непосредственно перед двоичной точкой. Тогда эта цифра, естественно, не требует фактического изображения (и хранения). Число, представленное двоичным словом
, определяется следующим образом. Сначала вычисляется следующие значения для порядка ехр и мантиссы man. которые образуют основу для вычисления представленного числа. Числа E и V являются вспомогательными значениями:

При этом имеет место
и
Положим
, так что справедливо 
man = 1 + v, так что справедливо 1 < man < 2.
Интерпретация двоичного слова
как двоичного представления числа с плавающей точкой устанавливается с помощью частичной функции

Различаются следующие случаи.
(1) Нормальный случай: нормализованное представление. Если справедливо выражение
так что справедливо е
0 и
, то значение wt(b, n, m) представленного числа специфицируется следующим образом: ![]()
(2) Представление нуля: нуль представляется минимальным представимым числом. Если е = 0 и v = 0, то определяется значение представленного числа как 0: е=0^v=0 => wt(b, n, m) = 0.
(3) Исчезновение: если имеет место e=0^v
0, то говорится об исчезновении арифметики с плавающей точкой. Если таким получается результат арифметической операции, то эта ситуация квалифицируется как ошибка.
(4) Переполнение: если
^ v=0, то говориться о переполнении. Представленное число соответствует символическому представлению бесконечности. Если это есть результат арифметической операции, то эта ситуация разрешается процедурой обработки ошибки. Ошибкой и разрешается процедура обработки ошибки.
(5) Ошибочный случай; если
^ v
0, то говорится об ошибочном случае. Значение wt(b, n, m,) не определено.
В случаях (3)-(5) двоичное слово не может рассматриваться как допустимое представление числа с плавающей точкой. Появление таких двоичных слов в качестве изображений чисел при выполнении алгоритмов является поводом для включения в работу процедуры обработки ошибок.
Команды представляются в машине также двоичными словами. Двоичное слово, представляющее команду, как правило, подразделяется на операционную и адресную части. Программа состоит из последовательности двоичных слов. Для ее исполнения машиной программа помещается в память. Счетчик команд содержит адрес в памяти очередной подлежащей выполнению команды. Слово, представляющее команду, считывается из памяти и фиксируется в соответствующем регистре.
Двоичное представление чрезвычайно трудно для чтения. Поэтому слово часто записывается с помощью восьмеричных цифр, когда тройка битов записывается одной такой цифрой. В приведенной ниже таблице указано соответствие между тройками битов и восьмеричными цифрами.
Однако еще более наглядная и краткая форма записи команды получается при использовании шестнадцатеричных цифр (на профессиональном жаргоне говорят в этом случае о хексакоде). В данном случае группа из 4 битов записывается одной шестнадцатеричной цифрой. Точнее, говорится о позиционной системе счисления с основанием 16, т. е. о шестнадцатеричной системе счисления. Шестнадцатеричные цифры и изображаемые ими значения приведены в той же уже упомянутой таблице.
000 | 0 |
OOL | 1 |
OLO | 2 |
OLL | 3 |
LOO | 4 |
LOL | 5 |
Таблица 1. восьмеричных цифр
Шестнадцатеричная цифра | Десятичное значение | Битовый образец |
0 | 0 | 0000 |
1 | 1 | OOOL |
… | … | … |
9 | 9 | LOOL |
А | 10 | LOLO |
B | 11 | LOLL |
С | 12 | LLOO |
D | 13 | LLOL |
Е | 14 | LLLO |
F | 15 | LLLL |
Таблица 2. шестнадцатеричных цифр
Шестнадцатеричные цифры часто используются для задания более длинных двоичных образцов, поскольку такая форма записи короче и нагляднее. Благодаря переходу от двоичных слов к шестнадцатеричным словам значительно сокращается запись и повышается читаемость.
Пример (двоичное, шестнадцатеричное и десятичное представление чисел).
LOOLLLLOLOLOOOLL - двоичный образец.
9 Е А 3 - хексакод,
9*163 + 14*162 +10*16' + 3*16° =40611 - десятичное значение.
При программировании на машинно-ориентированном языке часто приходится работать с различными способами представления чисел:
· двоичное представление с помощью слов из {L, О}*,
· десятичное представление с помощью слов из {О, 1, ..., 9}*,
· шестнадцатеричное представление с помощью слов из {О, 1, ..., 9, А, ..., F}.
Использование наряду друг с другом различных способов изображения чисел легко может привести к ошибочной интерпретации записи. Поэтому во всех местах, где могут возникнуть сомнения в используемой системе счисления, ее следует указывать в явном виде.
Для машинных команд не очень удобна их запись даже в виде последовательности восьмеричных или шестнадцатеричных цифр, поскольку такая запись мало указывает на структуру команды, ибо здесь и адреса, и отдельные составные части команды представляются однообразно, в виде последовательности восьмеричных или шестнадцатеричных цифр. Поэтому для записи команд или отдельных их частей еще удобнее использовать просто буквы или последовательности букв в качестве сокращений (например, последовательность букв MOVE для обозначения операции "передача"). Например: MOVE 1000, 2000 для команды "Прочитать содержимое первой из указанных ячеек памяти и записать его во вторую из указанных ячеек". Впрочем, в машине команды всегда представляются в виде двоичных слов.
Программа получается достаточно простой, если каждая команда хранится в одной ячейке памяти или в фиксированном числе ячеек. Это приводит к представлению команд двоичными словами одинаковой, фиксированной длины. Таким образом, получается жесткий формат команд, и существует лишь небольшая гибкость в отношении числа операндов команды и требуемого места в команде для задания информации об адресах.
Поэтому во многих машинах команды в их двоичном или шестнадцатеричном представлении не имеют единой длины, а эта длина может варьироваться в зависимости от числа операндов и величины операндов. Технически это означает, что команда состоит из некоторой последовательности байтов. Первый байт содержит информацию о подлежащей выполнению операции и количестве операндов, а последующие байты специфицируют операнды. Каждая спецификация операнда начинается байтом, который устанавливает вид адресации и задает число байтов, принадлежащих спецификации операнда. Остальные байты спецификации операнда представляют константу (значение операнда) или адрес. Такой формат команды обеспечивает гибкость машинного языка, так как длина двоичных слов, представляющих команды, жестко не фиксируется. Соответственно этому команда может размещаться не только в одной ячейке, но и в последовательности ячеек памяти.
Команда делится на операционную часть и операндную (адресную) часть. Операционная часть содержит (в двоичной форме) информацию для устройства управления выполнением операций, т. е. для выработки требуемых управляющих сигналов для АУ. При этом используются следующие технологии.
· Функциональное битовое управление. Биты операционной части непосредственно используются в качестве управляющих сигналов.
· Закодированное управление. Операционная часть декодируется и преобразуется декторатором в управляющие сигналы.
· Микропрограммное управление. Операционная часть служит для прямой или косвенной адресации специальных подпрограмм (микропрограмм), которые содержат требуемые управляющие сигналы.
Техника микропрограммного управления позволяет, в частности, добиться гибкости в командном репертуаре машины. Это ведет к технике микропрограммирования. Микропрограмма состоит из (обычно короткой) последовательности микро указаний (микрокоманд), которые определяют последовательность управляющих сигналов для выполнения команды. Микропрограммы могут рассматриваться как часть вычислительного узла и храниться в специальной памяти микропрограммы типа ROM (англ. read only memory - память только для чтения, или ПЗУ - постоянное запоминающее устройство), или типа EPROM (англ. erasible programmable ROM), т. е. стираемое (программируемое) ПЗУ. Содержимое памяти микропрограмм в машине обычно можно только читать, но не перезаписывать (односторонняя память). Перезапись содержимого этой памяти может быть достигнута только с помощью внешнего воздействия и обычно требует специальных действий. Вообще говоря, микропрограммирование можно трактовать как генератор тактов для переключательных цепей. С точки зрения микропрограмм стирается четкое различие между аппаратурой и программами: говорится о Firmware - программном оборудовании. Техника микропрограммирования позволяет определять набор команд машины очень индивидуально, наиболее подходящим образом для профиля использования машины. Можно, например, с помощью соответствующего выбора микропрограммных команд моделировать старую машинную архитектуру на новой, чтобы можно было и на новой машине использовать старые программы. В этом случае говорят об эмуляции.
Новейшие разработки оборудования, однако, частично отходят от концепции микропрограммирования и пропагандируют использование только очень ограниченного набора простейших машинных команд. Это позволяет достигнуть более быстрых вычислительных операций и более короткого такта выполнения команды. Тогда говорится о RISC-архитектуре компьютера (англ. reduced instruction set computer), RISC-процессорах. Благодаря этому надеются сократить время выполнения отдельных команд. Так что даже при реализации более сложных шагов обработки путем композиции отдельных команд может быть достигнуто сокращение общего времени по сравнению с подходящей для такой обработки машиной.
Понятие: Спецификация операндов и вычисление адресов. Такт выполнения команды.
Комментарий: Команда в своей адресной части содержит в общем случае информацию о ячейках памяти или регистрах, содержимое которых должно использоваться или должно быть изменено при выполнении команды. Эти ячейки памяти или регистры называются операндами. Указания в команде для определения операндов называются спецификациями операндов. Итак, операнд обозначает определенную ячейку оперативной памяти или регистр процессора.
В машинных командах операнды или их адреса задаются, как правило, не непосредственно. Чтобы достичь большей гибкости программ, задаются определенные спецификации, с помощью которых затем получаются адреса и операнды в такте выполнения команды. Соответственно этому указанное в адресной части двоичное число не всегда непосредственно ("абсолютно") интерпретируется как адрес. Гораздо чаще сначала над числом, заданным в адресной части команды, выполняются определенные операции для того, чтобы получить абсолютный адрес.
Из двоичных чисел, содержащихся в адресной части, адреса могут вычисляться различными способами (в зависимости от индикаторной части команды). При использовании двоичного слова в качестве представления числа n для обозначения n-й ячейки памяти говорится об абсолютной адресации.
Различаются следующие способы адресации в командах:
· Прямая адресация: в адресной части непосредственно указывается абсолютный адрес.
· Непосредственное задание значения операнда в команде: в команде прямо задается значение операнда в виде двоичного, шестнадцатеричного или десятичного числа.
· Относительная адресация: к адресной части всегда прибавляется фиксированное значение (база), например содержимое некоторого регистра; в этом случае адресуемая область памяти может гибко перемещаться в памяти.
· Косвенная адресация и замена адреса: ячейка памяти, определяемая адресной частью, содержит не само значение операнда, а снова некоторый адрес, на который должен быть заменен первоначально определенный адрес. Такая замена адресов может итерироваться (то есть производиться многократно).
· Индексация: к адресной части прибавляется изменяющееся (в процессе вычислений) значение; при этом одна и та же последовательность команд будет выполняться со все новыми адресами и соответствующими им значениями операндов.
Спецификация операндов состоит из данных, необходимых для вычисления операндов.
Для выполнения операции (команды) машина всегда осуществляет жестко фиксированную схему (последовательность) отдельных шагов, которые служат для выборки подлежащей выполнению команды, ее операндов и выполнения заданной в команде операции. Эту схему называют тактом команды (тактом работы машины). Такт машины можно описать соответствующей программой, которая работает с регистрами машины и ячейками памяти. При выполнении команд изменяются определенные значения в регистрах машины. Команда задается в основном операционной частью, которая определяет:
· выполняемую операцию,
· количество операндов,
· должен ли результат быть запомнен.
Отсюда следует, что команда содержит требуемые спецификации операндов.
Интерпретация двоичных слов, задаваемых операндами, зависит от выполняемой операции. Машина может оперировать с целыми числами, представленными в дополнительном двоичном коде. Числа с плавающей точкой могут быть заданы с обычной (признак F) и двойной (признак D) точностью.
Такт делится на подготовку кода очередной команды, подготовку операндов, непосредственное выполнение операции в случае необходимости, запоминание результата.
То, какая форма задания операндов имеет место, устанавливается типом адресации. Спецификация операндов в команде в соответствии с типом адресации представляется одним байтом, а в случае необходимости и дополнительной информацией, например заданием константы. Определенные биты, задающие способ адресации, определяют регистр, используемый при адресации.
Регистры используются при любом способе адресации. Один из операндов всегда определяется содержимым некоторого регистра. С помощью соответствующей функции определяется соответствующий регистр по способу адресации. При этом следует заметить, что для вычисления адресов следующие частные случаи требуют особой обработки.
· Индексирование: к адресу, заданному в тексте программы, прибавляется значение некоторого регистра.
· Косвенная адресация: двоичное слово, находящееся в ячейке с вычисленным адресом, интерпретируется как адрес операнда. (Здесь и далее синонимом "двоичное слово" может подменяться термин "число". При этом двоичные числа будут интерпретировать как числа в прямом двоичном коде.)
Дополнительно может быть указано, что значение регистра, который содержит адрес, увеличивается или уменьшается на (говорится об инкременте и соответственно о декременте регистра.) То, какая форма вычисления адреса должна быть выбрана, снова определяется байтом, который задает способ адресации. Вид адресации задается в машине одним байтом. Содержимое, каких регистров ячеек памяти изменяет команда, определяется через вычисление адресов. Наряду с изменением определенных регистров и ячеек памяти каждая команда изменяет регистр состояния процессора, благодаря этому после выполнения команды из регистра состояния процессора можно получить определенные данные о только что вычисленном результате.
Определенные биты регистра состояния процессора имеют особое значение для выполнения команд. Эти биты, в частности, используются при выполнении команд условного перехода.
Понятие: Процессоры и обрабатывающие элементы компьютеров.
Комментарий: Процессоры и обрабатывающие элементы – это как раз та самая часть компьютерно - сетевой техники, которая превращает ее и создаваемые на ее базе ИС в продуктивный инструмент развития и регулирования информсреды. В зависимости от производительности используемых процессоров компьютеры можно классифицировать следующим образом.
· Микропроцессоры и микрокомпьютеры. Они охватывают большинство встроенных в какие-либо устройства вычислительных машин (например в устройства управления стиральных машин и автомобилей), а также карманных калькуляторов, карманных компьютеров и небольших свободно - программируемых домашних и персональных компьютеров (англ. personal computer).
· Минипроцессоры и минимашины. Они отличаются от микропроцессоров, прежде всего большим объемом памяти и более высоким быстродействием; они находят применение на рабочем месте вычислителя и в небольших системах с несколькими рабочими местами.
· Большие машины (англ. mainframe) и высокопроизводительные машины. Они устанавливаются в больших вычислительных центрах, могут работать с большим числом терминалов, а также могут иметь несколько процессоров (многопроцессорные архитектуры).
Деление компьютеров на эти классы, конечно, не является строгим. Так, например, в персональных компьютерах, в серверных решениях, в графических станциях и т. п. вполне могут использоваться двухпроцессорные архитектуры. Другая возможность как-то упорядочить компьютеры этих классов состоит в задании их быстродействия, емкости памяти и длины слов, используемых в процессоре, как это сделано в приведенной ниже таблице.
Микро ЭВМ | Мини ЭВМ | Большие ЭВМ | |
Быстродействие (операции в секунду) | 105-l06 | l06 – 108 | |
Емкость памяти (байтов в оперативной памяти) | 103-106 | 105-107 | 107-108 |
Длина слова (бит) | 4-16 | 12-32 | 32-64 |
Таблица 3. Типы компьютеров и их характеристики
Впрочем, эти значения из-за быстрого технического прогресса в области аппаратуры постоянно меняются, так что данная классификация весьма приблизительна и уже устаревает (здесь приводится из весьма авторитетного источника – фундаментальных трудов Броя по информатике). Различия особенно сглаживаются вследствие чрезвычайно быстрого продвижения в направлении высокой интеграции элементов и убыстряющегося наращивания быстродействия и емкости памяти.
Поэтому кажется, достаточно целесообразным классифицировать вычислительные машины по роду их применений.
· Большие машины - это обычно высокопроизводительные машины, эксплуатируемые в вычислительных центрах. Большие машины устанавливаются или для того, чтобы решать на них сложные задачи, требующие большого объема памяти и машинного времени, например задачи моделирования, численного анализа или задачи из области банков данных, или для того, чтобы параллельно обслуживать большое число терминалов, с помощью которых до ста и даже более, пользователей, могут одновременно получить доступ к машине Обычно к большим машинам дополнительно подключаются различные специальные виды внешней памяти и устройства ввода/вывода (память на лентах и дисках, принтеры, графопостроители, устройства для далекой передачи данных и т. д.).
· Минимашины - это небольшие машины, которые могут использоваться рабочими группами в качестве их собственных машин. Обычно минимашины устанавливаются для решения задач, не требующих большого объема вычислений и памяти. Они также могут обслуживать одновременно некоторое число (около 30) удаленных терминалов, с помощью которых пользователи одновременно получают доступ к машине. К минимашинам обычно также дополнительно подключаются специальные внешние устройства. При решении сложных задач минимашина может обслуживать только одного пользователя.
· Микрокомпьютеры очень часто подходящие только для одного пользователя или одного вида применений. Говорится в таком случае о системе с одним рабочим местом, то есть о персональном компьютере или же о рабочем месте вычислителя, рабочей станции (англ. work station). Их производительность колеблется от маленьких бытовых компьютеров до комфортабельных рабочих мест с производительностью, не уступающей производительности минимашин. Как правило, персональные компьютеры также снабжаются дисплеем с экраном и. клавиатурой, а также двумя устройствами для работы с дискетами - дисководами (англ. floppy disk) и принтером. В большинстве случаев они также снабжены и памятью на жестком диске - винчестере. В настоящее время персональные компьютеры часто объединяются в единую сеть, а также используются в качестве терминалов более мощных машин. В этом качестве, а именно в режиме терминального удаленного доступа, используются также носимые и карманные микрокомпьютеры (PDA), работающие на различных платформах, совместимых с Wintel, в том числе под ОС Windows CE.
Понятие: Запоминающие устройства.
Комментарий: Запоминание (хранение) данных имеет в вычислительных машинах важнейшее значение, определяющее, в сущности, возможные объемы данных, находящихся под управлением ИС в информсреде. Именно техническая возможность хранить большое количество данных и затем целенаправленно иметь доступ к ним является решающей для ряда применений компьютеров. Различные возможности технической реализации запоминания влекут за собой различные свойства хранения данных и доступа к ним. Это включает в себя емкость памяти, время доступа и возможные управления (возможности доступа) хранимыми данными (то есть организация памяти). Для практики, конечно, имеет значение и стоимость устройств хранения памяти, тем более что в персональных компьютерах на устройства хранения памяти может приходиться до половины и более всей стоимости компьютера.
Для классификации запоминающих устройств особенно важен способ доступа. Различают следующие концепции доступа.
· Свободный выбор, или прямой доступ, разрешает доступ к каждой запомненной единице информации (с помощью адреса) примерно за одинаковое время (англ. random access memory, RAM). Типичным примером структуры данных с такой концепцией прямого доступа является массив.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 |


