|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Общие принципы работы компьютераАрхитектура компьютера. Компьютер представляет собой машину для автоматической обработки информации. В процессе обработки информацию необходимо сохранять, поэтому в состав компьютера входят устройства хранения данных, называемые также запоминающими устройствами. Для обмена информацией с пользователем используются компьютерные устройства ввода-вывода. Непосредственно обработкой информации занимается центральный процессор компьютера. Для передачи информации от устройства к устройству используются специальные линии связи, называемые информационными магистралями или шинами. Архитектура компьютера - это описание его конструкции и принципов работы на логическом уровне, то есть без подробностей физической реализации компьютерных устройств. На рисунке приведена общая схема работы компьютера. Проект программируемой механической вычислительной машины с запоминающим устройством и устройством обработки данных был предложен еще в XIX веке английским математиком Чарльзом Бэббиджем. К сожалению, проект Бэббиджа остался незавершенным, и первый компьютер был создан лишь в 1946 году в США. С сороковых годов прошлого века сменилось несколько поколений электронных вычислительных машин, они стали в миллионы раз производительнее, дешевле и миниатюрнее, но основные принципы их архитектуры остались неизменными. Вот эти принципы: 1. в состав компьютера входят устройства ввода-вывода, хранения информации и центральный процессор; 2. информация в компьютере представляется в цифровой (дискретной) форме; 3. в компьютере используется двоичная система счисления; 4. компьютер работает под управлением программы, состоящей из отдельных поочередно выполняемых команд; 5. программа хранится в памяти компьютера. Два последних принципа были сформулированы в процессе работ по созданию первых ЭВМ американским математиком Джоном фон Нейманом, поэтому архитектура компьютеров, основанная на этих принципах, называется фон-неймановской. Большинство современных компьютеров имеют фон-неймановскую архитектуру. Представление целых чисел Целые числа представляются в памяти компьютера в двоичном виде. Значения двоичных разрядов целого неотрицательного числа хранятся в двоичных разрядах ячеек памяти, отведенных под число. Пример. Пусть ячейка для хранения числа состоит из 16-ти разрядов (2 байта памяти). Тогда число 150010 = 1024+256+128+64+16+8+4 = 210+28+27+26+24+23+22 =101110111002 будет храниться в памяти в следующем виде:
Снизу указаны номера разрядов, обратите внимание, что нумерация начинается с нуля. В числе было 11 разрядов, а в ячейке – 16. “Лишние” 5 разрядов слева заполняются нулями. Такой способ представления неотрицательных целых чисел называется прямым кодом. Прямой код позволяет представлять числа в диапазоне от 0 до 2N-1, где N — количество разрядов памяти, отведенных для хранения числа. Действительно, максимальное число, которое можно представить в N-разрядном прямом коде, состоит из N единиц (в двоичной записи). 111…1112 = 1000…0002 – 1 = 2N –1 N единиц N нулей Во многих вычислениях используются только неотрицательные целые числа (так называемые “числа без знака”), однако для решения огромного количества задач требуется универсальный формат компьютерной записи чисел, позволяющий хранить “целые числа со знаком”, то есть, как положительные, так и отрицательные числа. Один из способов представления “целых чисел со знаком” состоит в выделении отдельного двоичного разряда (обычно крайнего левого) для хранения знака числа, закодировав, например, минус единицей, а плюс – нулем. При этом остальные отведенные для числа разряды будут использоваться для хранения абсолютной величины этого числа. Такой способ компьютерного представления чисел называется способом представления величиной и знаком. Именно так обычно записываются десятичные числа на бумаге. Пример. Число 9, представленное величиной и знаком в восьмиразрядном формате (левый разряд – знаковый):
910 = 8+1= 23+20=10012 Число –9, представленное величиной и знаком в восьмиразрядном формате (левый 7 разряд – знаковый):
—9 = — (8+1)= — (23+20) = — 10012 Более эффективен с вычислительной точки зрения другой способ хранения “целых чисел со знаком”. Он отличается от предыдущего тем, что отрицательные числа хранятся в так называемом обратном коде. Его получают, выполняя поразрядную инверсию абсолютной величины двоичного числа. Поразрядная инверсия – это операция замены содержимого каждого разряда на противоположное по значению (все единицы становятся нулями, а все нули - единицами). При этом значение левого (знакового) разряда равно 0 для положительных чисел и 1 для отрицательных. Пример. Пусть для хранения двоичного числа выделено 8 двоичных разрядов (1 байт), тогда для хранения абсолютной величины числа остается 7 двоичных разрядов. В таком случае числа 9 и -9 будут представлены в следующем виде:
Такой способ представления чисел имеет недостаток: две формы представления нуля. В компьютере, использующем такой способ представления чисел, потребовались бы дополнительные логические схемы для работы с обеими разновидностями нуля. Во избежание этого практически во всех современных компьютерах отрицательные числа представлены несколько иначе, а именно в дополнительном коде. Этот код получается, если к содержимому младшего разряда обратного кода прибавить 1. Пример. Число -9 в дополнительном коде имеет следующий вид:
Чтобы определить абсолютную величину числа, записанного в дополнительном коде, следует выполнить его поразрядную инверсию и затем прибавить 1. Пример. Абсолютное значение отрицательного числа —9 получается следующим образом:
Таким же способом может быть получено абсолютное значение для любого отрицательного числа, записанного в дополнительном коде. Преобразование чисел из такого компьютерного представления в обычную десятичную форму записи следует начинать с анализа значения левого (знакового) разряда. Если это значение равно нулю, то число – положительное, и его можно непосредственно переводить в десятичную форму из прямого двоичного кода. Если же это значение равно 1, то число - отрицательное, поэтому к нему следует сначала применить поразрядную инверсию, затем прибавить 1 и затем результат преобразовать в десятичную форму, снабдив его знаком "минус". Пример:
При таком способе представления чисел вычитание эквивалентно сложению уменьшаемого с вычитаемым, предварительно записанном как отрицательное число в дополнительном коде. В компьютере перевод числа в дополнительный код выполняется очень быстро. Поэтому это действие с последующим сложением используют вместо выполнения вычитания. Пример. Рассмотрим вычитание 910 из 2410 при записи этих чисел в восьмиразрядном двоичном коде:
Вычитаемое, представленное как отрицательное число в дополнительном коде, имеет вид 111101112. Поэтому операция может быть записана в виде:
Поскольку используется представление чисел восемью двоичными цифрами, цифра крайнего слева разряда результата должна быть отброшена. Таким образом, правильным ответом является 000011112 = 1·20+ 1·21+1·22+1·23 = 1+2+4+8 =1510. C помощью дополнительного кода в N разрядах памяти можно представить целые числа в диапазоне от –2N–1 до 2N–1 –1 включительно. В 8 разрядах памяти можно представить целые числа в диапазоне от –27 до 27 –1 включительно, т.е. от -128 до 127. Представление вещественных чисел Вещественные числа обычно хранятся в компьютере в экспоненциальной форме. В экспоненциальной форме число представляется значениями своей мантиссы и порядка при заданном основании системы счисления. Любое вещественное число R может быть представлено в виде R = m·qp, где m – мантисса числа, q – основание системы счисления, p – порядок числа. Основание системы счисления q должно быть целым числом, большим единицы, порядок p должен быть целым числом. Если число R не равно нулю, то его мантисса числа должна быть правильной дробью с ненулевой цифрой после запятой, т.е. 1/q <= |m| < 1. Если R равно нулю, то в компьютерном представлении считается, что m и p равны нулю. Пример 1: Пусть R = -310000; q = 10, тогда m = -0,31; p = 6 Экспоненциальная запись числа -310000 в десятичной системе: R = -0,31·106 Пример 2: Пусть R = 0,12510; q = 2; 0,125 = 1/8 = 1·2-3= 0,0012 = 0,12 ·2-3 = 0,12· 10-112, следовательно, m = 0,12; p = -112 Экспоненциальная запись числа 0,12510 в двоичной системе: R = 0,1· 10-11 В экспоненциальной записи мантисса содержит значащие цифры числа, а порядок задает величину масштабирующего множителя. При хранении вещественных чисел в памяти компьютера часть двоичных разрядов отводится на хранение мантиссы, оставшаяся часть – на хранение порядка. И мантисса, и порядок записываются в двоичном виде со знаком. На представление их знаков расходуется по одному разряду (0 соответствует ‘+’, 1 соответствует ‘–‘). Если значащих двоичных цифр больше, чем разрядов, отведенных для представления абсолютной величины мантиссы, то младшие разряды мантиссы отбрасываются, поэтому вещественные числа в компьютере представляются приближенно. Чем больше разрядов отводится под мантиссу, тем больше значащих цифр числа можно представить, тем выше точность представления чисел. Чем больше разрядов отведено под порядок, тем больше диапазон представления абсолютной величины числа. Достоинство экспоненциального представления заключается в том, что оно позволяет хранить только значащие цифры числа и его порядок. Это обеспечивает представление с достаточной для решения многих задач точностью; как очень маленьких, так и очень больших вещественных чисел при экономном расходовании дисковой памяти. В большинстве компьютеров для представления вещественных чисел отводится 32, 64 или 128 разрядов. Основные характеристики компьютерного представления вещественных и целых чисел
“Фиксированная” и “плавающая” запятая в записи чисел Использовавшиеся в различные времена на разных типах компьютеров способы представления вещественных чисел можно разделить на две группы. К первой группе относятся форматы записи, в которых зафиксировано количество разрядов для целой и для дробной части числа. Такой способ представления числа называется представлением с фиксированной запятой(“фиксированной точкой”). Существенным недостатком представления вещественных чисел с фиксированной запятой является узкий диапазон представления для абсолютного значения числа и неэффективное использование разрядов для представления дробной части. Так, например, если под дробную часть отведено K разрядов, а под целую – N разрядов, то числа, равные 2-(K+1) и 2N+1, в формате с фиксированной запятой представить нельзя. Эти же числа легко представляются в экспоненциальном формате, если под порядок числа отведено не менее max(K+2, N+2) разрядов. Примечание. Запись max(x, y) означает “большее из двух чисел: x и y” Действительно, при экспоненциальном представлении положение запятой-разделителя не фиксируется, а определяется для каждого числа значением его порядка. Иногда говорят, что представление целых чисел в компьютере – это представление с фиксированной запятой. Такая терминология сложилась исторически и основана на том, что представление целых чисел можно рассматривать как частный случай представления вещественных чисел с фиксированной запятой, когда количество разрядов, отведенных под дробную часть, равно нулю.
Представление текста в памяти компьютера Тексты в памяти компьютера представляют собой последовательности символов, закодированные целыми числами – их номерами в таблице, называемой таблицей кодировки. Номер символа в таблице кодировки является его кодом. Существуют десятки таблиц кодировки, содержащих различные символы в разном порядке, но у подавляющего большинства из них символы с номерами 0 – 127 совпадают. В эти первые 128 символов входят прописные и строчные латинские буквы, цифры, знаки препинания, разделители слов (пробел и табуляция), неотображаемые управляющие символы (конец строки, конец файла и другие). Набор из этих 128 символов сложился исторически. В компьютерах первых поколений запоминающие устройства стоили очень дорого и при их использовании стремились экономить каждый бит, поэтому изначально для представления текстов использовался семибитный набор (27 = 128) наиболее необходимых символов. Чаще всего применялся семибитный набор символов ASCII (American Standard Code For Information Interchange – Американский стандартный код обмена информацией). Со временем получили распространение восьмибитные (однобайтовые) кодовые таблицы из 256 символов (28 = 256). В них первые 128 символов из соображений совместимости делали совпадающими с семибитным кодом ASCII, а символы с кодами 128-255 использовались в различных кодировках по-разному: для представления букв нелатинских алфавитов, для хранения математических и других специальных научно-технических символов. Пример: ASCII-код буквы Y: 8910=5916 = 010110012 буквы e: 10110=6516 = 011001012 буквы s: 11510=7316 = 011100112 восклицательного знака: 3310=2116 = 001000012, поэтому слово Yes! в восьмибитной кодировке будет занимать в памяти компьютера четыре последовательных байта:
При этом, если, например, текст в математической восьмибитной кодировке просматривался на компьютере, программы которого были настроены на русскоязычную восьмибитную кодировку, то вместо символов равносильности или следования изображались русские буквы с соответствующими кодами, и текст выглядел бессмыслицей. В настоящее время наиболее распространены следующие основанные на коде ASCII восьмибитные кодировки, содержащие русские буквы: KOИ-8, CP1251, CP866, Mac, ISO. Кодировка KOИ-8 наиболее часто используется в русифицированных версиях операционной системы Unix, CP1251 - в Windows, CP866 - в MS-DOS, а Mac – в операционных системах семейства MacOS для компьютеров Apple Macintosh. Русские буквы в них закодированы по-разному, что приводит к появлению на экране непонятного текста при просмотре web-страниц, электронных писем или других документов на русском языке в кодировке, отличной от используемой по умолчанию на данном компьютере. Но большинство современных программ обработки текстов позволяют настроить текущую кодировку для изображения документа. В начале 90-х годов прошлого века стала активно использоваться 16-разрядная (двухбайтовая) кодировка Unicode. Использование двух байтов для представления одного символа позволяет закодировать 216 = 65536 различных символов, этого достаточно для представления символов национальных алфавитов всех народов мира и наиболее часто используемых научных и технических символов. Основные устройства компьютера Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.013 сек.) |