Как компьютер складывает числа


IT News

Дата Категория: it

Все компьютерные вычисления производятся в дво­ичной системе с использованием базовых электрон­ных элементов - разнообразных видов переключате­лей. Некоторые из этих переключателей - AND(и), OR(или), XOR(исключающее или) - называются логическими элементами, потому что каждый из них дает логический предустановленный результат при использовании двоичного кода.

Поскольку они ра­ботают и на проведении и на сопротивлении элект­рического тока: нет напряжения - означает 0, есть напряжение - означает 1, логические элементы ина­че называются воротами.

Все эти «ворота» похожи между собой тем, что каждый из них имеет больше одного ввода, но всего один вывод. Логический элемент AND(и) дает 1 на выводе, только если все его вводы соответствуют единице. Точно так же «ворота» OR(или) дают ноль на выводе, если все его вводы равны 0. «Ворота» XOR(исключающее или), напротив, дают 1 на выво­де, если на вводе один 0 и одна 1, и производят 0, когда на вводе два ноля и две единицы. Всего на трех элементах, подобных этим, компьютерщики разра­ботали компьютерные схемы (нижняя диаграмма справа), такие как сумматорная схема, которая вы­полняет сложение.

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

Сумматоры справляются с любыми арифметичес­кими задачами, поскольку сложение является основ­ным арифметическим действием: умножение - это повторное сложение, вычитание - это прибавление отрицательного числа, деление - это повторное вы­читание.

Логическая схема ввода/вывода

«Ворота» AND(и) выпустят 1, если на обоих вводах окажется 1. Любая другая комбинация на вводе произведет 0 на выводе.

«Ворота» OR(или) выпустят ноль, если на обоих вводах окажется ноль. Если хотя бы на одном из вводов появится единица, то следует ожидать единицу и на выводе. 

«Ворота» XOR(исключающее или) выпустят 0, если оба ввода впустят по нулю или по единице. Если на вводе 1 и 0, на выводе будет 1.

Как работает полусумматор

Наверху представлена схема сложения двух одноцифровых двоичных чисел, состоящая из схемы XOR(сверху) и схемы AND(внизу). При слбжении двух единиц напряжение верхнего сумматорного канала проходит через ворота XORи дает 0 на выходе. Ворота ANDпреобразовывают две единицы на вводе в одну 1 на выводе. Результат 10 (читается как один-ноль) двоичной системы соответствует числу 2 десятичной системы.

 

Полный сумматор

В комбинации полусумматор (сверху) и полный сумматор (снизу) могут выполнять операции с большими числами, требующими переноса. Чтобы сложить 2 и 3 или 10 и 11 в двоичном исчисле­нии, полусумматор начинает работу с ворот XORи производит 1. Ворота ANDгенерируют 0, который переносится в полный сумматор. В свою очередь, полный сумматор проводит напряжение числа 11 через пять ворот, подбирает перенос из полусумматора и выводит 1 и 0. Когда эти цифры комбинируются с 1 из полусумматора, получается результат 101, или 5 в десятичном исчислении. Для сложения больших чисел используется больше полусумматоров, один для каждой цифры двоично­го кода.

Information-Technology.ru

О компьютерах.

Previous Entry | Next Entry

peresmeshnikЯ вот тут смотрю, все кому ни попадя пишут почем зря, кто о чем. И многие на всякие рабоче-просветительские темы. А я что, рыжий? Я не рыжий, см. фотографию.В общем, решил и я написать научно-популярно о своём. Компьютерном. Облагодетельствовать так называемое человечество. Потому как, честно говоря, многие люди вообще не понимают, что такое компьютер, а оттого не секут, что многочисленнее компьютеров разве что насекомые. Да и то временно.

1. Тезис номер раз: компьютеры вездесущи.

Как правило именно это утверждение приводит некомпьютерщика (а порой и компьютерщика, ахтунг!) в ступор и паралич. Надолго. Многие так и не верят. Если вы думаете, что компьютер это то, что ставят на стол - три ха-ха вам на шею. Компьютер - это то, что ставят под стол. :-) На стол ставят, как правило, монитор и клавиатуру. Но это тривиальный случай. Тривиальный. Обычно в любой квартире есть минимум 1-2 компьютера. Давайте-ка я перечислю наиболее распространенные виды:телевизор (ф топку чудовисче!), мобильный телефон, двд плеер, коробка кабельного/спутникового телевидения, стиральная/сушильная машина, магнитофон (если с каким-нибудь дисплеем - 100 процентов компьютер), микроволновка, холодильник. Дальше всякие мелочи: дисковые плееры, радиоприемники, и пр. Если что-то имеет дисплей - это компьютер. Если что-то имеет не механические кнопочки в количестве одной и более штук, то это, с большОй вероятностью, компьютер.Так что, компьютеры теперь везде. Скоро ваш чайник будет подключаться к интернету, и слать вам сообщения на мобилу: Я вскипел! Ай! Мне горячо! Заберите меня отсюда! Думаете, я шучу? Хрена. Я серьёзен донельзя. Я серьёзен.

2. Тезис номер два: компьютер состоит из 3 частей.

В компьютере, по сути, есть 3 части, делающие его компьютером. Без этих частей он и не компьютер вовсе. И вот они каковы:А. Процессор. Он считает.Б. Память. Она запоминает.В. Ввод и вывод. То, что информацию получает и выплевывает обратно. Ввода может не быть.На самом деле, ввод и вывод не обязателены. Однако, если я еще могу представить компьютер без ввода, то на кой хрен нужен компьютер без вывода? Совершенно бесполезная штука, как булыжник. Потому компьютеров без ввода-вывода не бывает. Если кто-то сможет найти компьютер без вывода - с студию!Если убрать память, то компьютер перестает быть компьютером. И превращается в электронное устройство наподобие электрического стула: ручку дернул - ток пошел. Компьютер же, в отличие от электрического стула, совершает некие действия, которые невозможно совершить без памяти. Например, складывает числа. Причем, неважно сколько чисел, два или сто.Впрочем, насчет памяти вопрос довольно спорный. Со мной могут и не согласиться. Однако я считаю, что память несокращаемый атрибут.Все остальное, что человек обыкновенный принимает за компьютер, как то клавиатура, дисплей, мышь, динамики, устройство для чтения DVD, или, скажем для продвинутых пользователей, звуковая карта, видеокарта, SCSI адаптер, являются не более чем устройствами для ввода и вывода информации.В современном компьютерном мире все не так одназначно, как прежде. Например, стоящий у вас дома компьютер имеет не одну память. Даже если вы самолично память меняли, и вместо двух полосок памяти вставили одну. Внутри практически любого современного процессора есть вшитая в него память, работающая гораздо быстрее, чем та память, которую все нынче время от времени докупают. Не буду полоскать бедный моск четатиля поэмой о современных электронных монстрах, ибо и сам я только одним глазом заглядываю в эту пропасть, куда отважно и каждодневно спускаются обмотанные проводами электронщики, но уверяю, что современный компьютер содержит внутри себя туеву хучу всяких вещей, о которых никто и не догадывается.

Тезис номер три: компьютер умеет складывать.

И на этом все его умения заканчиваются. Да-да, именно так. Что бы вы там себе не думали, компьютер (вы помните предыдущий пункт? Считает процессор, не забыли?) умеет только складывать. Умножение производится путем сложения. Ну, это не новость :-). Вычитание тоже производится путем сложения. Ага. Грубо говоря, если нужно из 10 вычесть 2, то компьютер (процессор) к 10 прибавляет -2. Это звучит тавтологией и ахинеей, но так уж оно. Не хочу углубляться в тему представления данных внутри самого компьютера, благо каждый сегодня знает, что компьюютер оперирует единичками и нулями, однако вы уж поверьте, поверьте.

Особо вдумчивые смогут найти в интернете множество литературы по теме. Например вот.

Осталось осветить еще одно важное действие: деление. Так вот, деление - это вуду. Деление - это целая наука. Мало того, что компьютер не умеет делить, он еще и приспособлен для целочисленной арифметики. То есть, с дробями у компьютера совсем кирдык. Поэтому в какой-то момент (и момент этот я еще помню) вдобавок к основному процессору появился еще сопроцессор специально для работы с дробями. В наше-то время все содержится в одном устройстве, в процессоре, а раньше было два раздельных процессора. Такие дела.Все, что вы делаете на компьютере - обрабатываете фотографию, пишите документ, разговариваете с кем-то по skype, или играете в интернет-казино, - все это происходит при помощи одного только сложения.Продолжение, может быть, последует. Если оно кому-нибудь нужно.
Метки:

peresmeshnik.livejournal.com

IT News

Дата Категория: it

Архитектура современных компьютеров была разработана еще в 1945 году. При таком методе команды и данные хранятся вместе в памяти компьютера. Набор команд, называемый программой, и данные загружаются в память. Память разделена на индивидуальные ячейки, так что и команды и данные в любой момент могут быть найдены.

Центральный процессор (ЦПУ) содержит программный счетчик, обеспечивающий порядок команд. После каждой операции программный счетчик продвигается на один шаг.Другие компоненты ЦПУ, включают контрольный модуль, который руководит пошаговыми операциями по обработке данных; арифметический логический модуль (АЛМ), осуществляющий операции со сложением, вычитанием и сравнением.

Справа изображены шаги, объясняющие, как компьютер оперирует командами и данными, чтобы выполнить простое задание «сложение». Программа поручает компьютеру сложить два числа и запомнить их сумму - как приказано в третьей строке на экране (внизу), что читается как «30 С = А+Б». Для выполнения этой задачи требуется пройти много шагов, но каждый из них занимает всего тридцать биллионных секунды, и вычисления производятся очень быстро. Хотя внутри компьютера все числа записаны в двоичной системе исчисления, здесь они представлены в десятичной системе для облегчения чтения.

Инструктирование компьютераОператор записал короткую программу на компьютерном языке БЕЙСИК. Первые две строки под номерами 10 и 20 (слева) приказывают компьютеру извлечь цифры из клавиатуры. На диаграммах справа показано, как компьютер выполняет третью команду. Эта команда «С = А+Б» приказывает компьютеру сложить числа А и Б, а в четвертой строке содержится приказ запомнить результат. Строка 50 завершает программу. В данном случае А находится в ячейке 86, Б в ячейке 87, а С будет определено в ячейку 88.

1. Первые инструкции. Контрольный модуль получает команды из ячеек 78 и 79. После декодирования команд он знает, что должен доставить данные из ячейки 86.

2. Передвижение первого числа. Контрольный модуль копирует А - число «3» из ячейки 86, и помещает его в один из регистров - временное хранилище для небольшого количества данных.

3. Считывание команды «Сложение». Контрольный модуль получает следующую команду - команду «сложение» - из ячеек 80 и 81 и декодирует эти команды.

4. Считывание данных. Следуя командам, контрольный модуль копирует значение В, равное 2 из ячейки 87, и помещает его в АЛМ.

5. Сложение данных. Первое число берется из ЗУ центрального процессора и направляется в АЛМ, где осуществляются математические операции. Компьютер может сложить два числа.

6. Временное хранение. Сумма сложения временно хранится в регистре ЦПУ, пока в контрольный модуль не поступит дальнейших распоряжений от пользователя.

7. Суммирование. Контрольный модуль добывает из ячейки 82 команду сохранить данные в памяти в позиции 88, где они будут легко доступны для последующих вычислений

8. Хранение. Контрольный модуль помещает сумму, число «5», в ячейку 88 в соответствии с командой, завершив восемь операций, необходимых для выполнения одной стооки тоогоаммы.

Information-Technology.ru


Смотрите также