Читаем Электроника шаг за шагом [Практическая энциклопедия юного радиолюбителя] полностью

Теперь введем в машину команды, им отводятся последние четыре ячейки памяти — Я6, Я7, Я8, Я9. (Конечно же, в нашем примере все чрезвычайно упрощено, много важных подробностей опущено, все решение задачи показано очень схематично.) В ячейку Я1 вводим первую команду К1 —«Число из ячейки Я1 (то есть 1) разделить на число из ячейки Я2 (то есть на n; пока у нас n = 1; получаем первый член ряда: 1/1); результат направить в Я4; перейти к команде К2». Все эти указания извлекаются из Я6, где записана команда К1, и поступают в АЛУ — арифметико-логическое устройство, которое по указанным адресам извлекает из нужных ячеек числа и производит с ними заданные операции (на нашей схеме и это показано очень упрощенно). Кроме того, АЛУ посылает результат в заданную ячейку и включает следующую команду, предписанную программой. В действительности всю эту работу выполняет процессор и, главным образом, его устройство управления. Но для простоты весь процессор представлен на рисунке Р-167 его вычисляющим блоком АЛУ.

Команда К1, сделав свое дело, передает эстафету команде К2, которая должна прибавить вновь появившийся член ряда (ячейка Я4) к сумме всех предыдущих членов ряда, а она находится в ячейке Я5. У нас пока в этой ячейке пусто, наше 1/1 пока единственное слагаемое ряда. Поэтому по команде К2 оно в одиночестве попадает в Я5 и будет ждать там следующих членов ряда. Потом к 1/1 прибавится 1/2, к их сумме 1/1 + 1/2 = 3/2 прибавится 1/3, к новой сумме 3/2 + 1/3 = 11/6 прибавится 1/4 и так далее. Но это будет потом, а пока, выполнив команду К2, программа действует дальше.

После К2 программа начинает формировать следующий член ряда 1/(n + 1).

Прежде всего команда КЗ формирует новый знаменатель, выполняя операцию: «Сложить число из ячейки Я2 (то есть n) с числом из ячейки Я1 (то есть с 1; получится n + 1, на первый раз это 1 + 1 = 2), результат направить снова в Я2, стерев предыдущее число (n = 1)». Последняя часть команды — обычная экономия: число n = 1 уже не нужно, оно уже побывало знаменателем (1/1, команда К1), и, чтобы не занимать лишнюю ячейку памяти, 1 убираем из Я2 и помещаем туда 2; это к тому же упростит последующие действия, а именно выполнение последующей команды: она найдет нужное ей новое число по знакомому старому адресу Я2.

Теперь можно было бы начать все сначала, с команды К1: найти член ряда 1/2 и прибавить его к предыдущей сумме. Однако до этого нужно проверить, не пора ли кончать вычисления. Поэтому после КЗ следует команда К4: «Сравнить число из ячейки Я2 (то есть n = 2) с числом из ячейки ЯЗ (то есть с числом 10), если n =< 10, продолжить вычисления и перейти к команде К1 (в этом случае как раз и начнется новый цикл вычислений); если n > 10 (это случится сразу же при n = 11), прекратить вычисления, результат из ячейки Я5 (там находится последняя сумма всех предыдущих членов ряда, включая 1/10) направить в устройство вывода информации.

На Р-167 показаны первые три цикла вычислений и самый последний цикл, когда знаменатель дроби, постепенно увеличиваясь, достигает 11. Как видите, порядок действий машины очень прост: выполняя деление, она находит очередной член ряда 1/n прибавляет его к сумме всех предыдущих членов ряда, затем находит новый знаменатель n + 1, затем опять находит новый член 1/(n + 1), опять прибавляет его к предыдущей сумме, опять вычисляет новый знаменатель (n + 1) + 1 и т. д. И всякий раз машина проверяет, а не стало ли очередное n больше 10, дальше которого считать не велено.

Найти сумму ряда до n = 10 несложно, буквально за несколько минут это можно сделать и «вручную». Но вот досчитать сумму ряда до n = 100 или тем более до n = 1000 не так-то просто, на это понадобились бы уже не минуты, а часы. А для машины посчитать наш ряд, например до n = 1000, просто пустяк.

Решая такую простейшую задачу, машина сама по заданной программе проведет довольно большой объем работ, проделав в общей сложности 4000 основных операций (1000 делений, 2000 сложений, 1000 сравнений) и массу вспомогательных. И на все это даже у очень небольшой современной ЭВМ ушли бы какие-то доли секунды. Вот что такое автоматизация вычислений, путь к которой открыли нам электронные схемы — сумматор и другие схемы процессора, быстродействующие коммутаторы, дешифраторы, устройства памяти.

Перейти на страницу:

Похожие книги

PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника
Электроника для начинающих
Электроника для начинающих

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

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника