Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17




НазваниеСодержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17
страница3/78
Дата конвертации11.12.2012
Размер5.58 Mb.
ТипРеферат
1   2   3   4   5   6   7   8   9   ...   78

ВВЕДЕНИЕ


Вычислительная техника (computer science) является научной дисциплиной, призванной дать научное обоснование таким вопросам, как проектирование ЭВМ, программирование на компьютере, обработка информации, алгоритмические решения задач и алгоритмические процессы. Она обеспечивает основание для применения компьютера сегодня и в будущем. Широта предмета означает, что невозможно быть хорошо осведомленным в вычислительной технике, изучив только несколько разделов как изолированные друг от друга предметы или просто разобравшись, как использовать современное компьютерное оборудование. Чтобы понять вычислительную технику, нужно освоить множество разделов этой науки в их развитии.

Цель данной книги — предоставить эти сведения. Она являет собой полный вводный курс вычислительной техники. Следовательно, может служить пособием для студентов, начинающих изучать вычислительную технику, или источником материала для студентов, ищущих информацию о современном состоянии науки.

Изучение алгоритмов

Мы начинаем с наиболее фундаментального понятия вычислительной техники, а именно с понятия алгоритма (algorithm). Неформально, алгоритм — это набор шагов, которые определяют выполнение какой-либо задачи1. Например, существует алгоритм для построения модели самолета (выраженный в форме инструкции), для управления стиральной машиной (обычно изображен на лицевой стороне машины), для исполнения музыки (последовательность нот в нотной записи) и для выполнения фокусов.

Перед тем как машина сможет выполнить какую-либо задачу, необходимо разработать алгоритм и представить его в форме, совместимой с машиной. Представление алгоритма, совместимое с машиной, называется программой (program). Программы и алгоритмы, которые они представляют, называются программным обеспечением (software), в отличие от самой ЭВМ, которая называется аппаратным обеспечением (hardware).

Более точно, алгоритм — это упорядоченный набор однозначных, выполнимых шагов, которые определяют конечный процесс.

АЛГОРИТМ ФОКУСА

Эффект: Фокусник достает несколько карт из обычной колоды игральных карт и кладет их на стол изображением вниз, тщательно перемешивает их, распределяя по столу. Затем, когда зрители просят показать или черную, или красную карту, фокусник переворачивает карту нужного цвета.

Секрет и последовательность действий:

Шаг 1. Из обычной колоды карт возьмите десять красных и десять черных карт. Распределите их на столе по цвету в две колонки изображениями вверх.

Шаг 2. Объявите, что вы вытащили несколько красных и несколько черных карт.

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

Шаг 4. Соберите черные карты. Способом, описанным в шаге 3, придайте картам слегка выпуклую форму. Затем верните эти карты на стол изображением вниз со словами: «А в этой стопке черные карты».

Шаг 5. Сразу после того, как вы положите черные карты на стол, двумя руками перемешайте карты, распределяя их по поверхности стола. Объясните зрителям, что вы тщательно перемешиваете карты.

Шаг 6. Пока на столе остаются карты, расположенные изображением вниз, выполняйте следующие шаги:

6.1. Попросите зрителей назвать красную или черную карту.

6.2. Если назван красный цвет и на столе есть карта, лежащая изображением вниз, с вогнутой формой, переверните такую карту со словами «Вот красная карта».

6.3. Если назван черный цвет, и на столе есть карта, лежащая изображением вниз, с выпуклой формой, переверните такую карту со словами: «Вот черная карта».

6.4. В противном случае скажите зрителям, что больше нет карт нужного цвета, и в доказательство переверните оставшиеся карты.

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

АЛГОРИТМ ЕВКЛИДА

Описание: Этот алгоритм предполагает наличие на входе двух положительных целых чисел и вычисляет их наибольший общий делитель.

Последовательность действий:

Шаг 1. Присвоить переменным М и N значения большего и меньшего числа соответственно. Шаг 2. Разделить М на N и значение остатка присвоить переменной R.

Шаг 3. Если R не равно 0, тогда присвоить М значение N, присвоить N значение R и возвратиться к шагу 2; в противном случае наибольшим общим делителем является значение, присвоенное N.

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

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

Таким образом, разработка алгоритмов является главной задачей в области вычислительной техники и, следовательно, значительная часть данной науки занимается проблемами, связанными с этой задачей. В свою очередь, мы можем обрести понимание вычислительной техники, рассмотрев некоторые из этих проблем. На первом месте находится вопрос, как разрабатывается алгоритм — вопрос, который тесно связан с проблемой решения задач вообще. Найти алгоритм решения задачи — это, в сущности, обнаружить ее решение. Значит, исследования в этой области вычислительной техники происходят из таких областей психологии, как решение задач человеком и теория обучения. Мы рассмотрим некоторые из этих идей в главе 4.

Когда найден алгоритм для решения задачи, следующий шаг (— представить алгоритм так, чтобы он мог быть передан машине или другим людям. Это означает, что мы должны трансформировать понятийный алгоритм в набор однозначных инструкций. Исследования, возникшие из этой необходимости, исходили из наших знаний языка и грамматики и привели к большому количеству систем представления алгоритмов, называемых языками программирования (programming language), в основе которых лежит многообразие подходов к процессу программирования, называемых парадигмами программирования. Мы рассмотрим некоторые из этих языков и парадигм, лежащих в их основании, в главе 5.

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

Другая важная область вычислительной техники занимается проектированием и конструированием аппаратов для выполнения алгоритмов. Эту тему мы будем рассматривать в главах 1 и 2. Хотя изучение архитектуры ЭВМ включает в себя обсуждение современных технологий, нашей целью не является овладение всеми деталями того, как современная архитектура ЭВМ реализуется в электрической схеме. Это завело бы нас слишком далеко в область электротехники. Кроме того, как вчерашние механические вычисляющие устройства уступили дорогу электрическим устройствам, так и современная электроника скоро может быть заменена другими технологиями, среди которых первым кандидатом является оптика. Наша цель — получить достаточное представление о современных технологиях, для того чтобы понять их применение в современных машинах и их влияние на развитие вычислительной техники.

Мы бы хотели, чтобы архитектура ЭВМ была следствием только наших знаний об алгоритмических процессах и не была ограничена возможностями технологий. То есть вместо того, чтобы позволять технологиям определять проектирование ЭВМ и, следовательно, способ представления алгоритма, мы бы хотели, чтобы наши знания были движущей силой, определяющей строение машины. С развитием технологий эта мечта приближается к реальности. Сегодня возможно построить машину, которая позволяет представить алгоритм в виде сложных последовательностей инструкций, выполняемых одновременно, или в виде системы соединений между многочисленными элементами, подобно тому как наш мозг представляет информацию в форме связей между нейронами (глава 10).

Мы изучаем архитектуру ЭВМ также в контексте хранения и получения данных. В этом случае внешние характеристики машины часто отражают ее внутренние свойства. Мы рассматриваем эти свойства и способы избежать их нежелательного эффекта в главах 1, 7, 8 и 9.

С конструированием вычислительных машин тесно связана разработка связи машины с внешним миром. Например, как поместить алгоритм в машину или сообщить ей, какой алгоритм выполнять? Решение таких проблем при условии, что от машины ожидается выполнение большого количества задач, требует решения многих проблем, связанных с согласованием действий и распределением ресурсов. Мы исследуем некоторые из таких решений при обсуждении операционных систем в главе 3.

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

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

Осознание того, что существуют задачи, не имеющие алгоритмического решения, появилось как отдельный предмет исследования в математике с публикацией теоремы о неполноте Курта Геделя в 30-х годах XX века. Эта теорема утверждает, что в любой математической теории, заключающей в себе традиционную систему арифметики, существуют утверждения, которые не могут быть ни доказаны, ни опровергнуты. Короче говоря, любое полное знание нашей системы арифметики выходит за пределы возможностей алгоритмических процессов.

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

Происхождение вычислительных машин

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

Одним из первых вычислительных механизмов были счеты. Их история уходит корнями в античную Грецию и Рим. Это устройство очень просто, оно состоит из шариков, нанизанных на стержни, которые в свою очередь крепятся на прямоугольной рамке. Шарики двигаются вправо и влево на стержне, и их местоположение определяет хранящееся значение. Именно при помощи расположения шариков этот «компьютер» представляет и хранит данные. Контролирует выполнение алгоритма человек. Таким образом, счеты сами по себе являются просто системой хранения данных, которая должна быть объединена с человеком, чтобы стать полноценной вычислительной машиной.

Не так давно вычислительные машины были механическими. В число их изобретателей входят француз Блез Паскаль (1623-1662), немец Готфрид Вильгельм Лейбниц (1646-1716) и англичанин Чарльз Бэббидж (1792-1871). В этих машинах данные были представлены различными положениями регистров, причем ввод данных осуществлялся механическим установлением регистров в нужное положение. Выходные данные на машинах Паскаля и Лейбница можно было получить, наблюдая за конечным положением регистров, так же как мы читаем числа на счетчике пройденных километров автомобиля. В отличие от них Бэббидж работал над машиной (названной им Аналитической), которая бы распечатывала полученные значения на бумаге, так чтобы была исключена возможность ошибки при расшифровке результата.

Что касается способности следовать алгоритму, мы можем заметить возрастание гибкости в этих машинах. Машина Паскаля выполняла только операцию сложения. Следовательно, соответствующая последовательность шагов была включена в структуру машины. Подобным же образом в машине Лейбница алгоритмы были заключены в архитектуре машины, хотя она и предлагала разнообразные арифметические операции, из которых оператор мог выбирать. Разностная машина Бэббиджа (только одна демонстрационная модель этой машины была построена) подвергалась изменению для выполнения различных расчетов, а его Аналитическая машина (на постройку которой он не получил субсидий) должна была получать указания в виде отверстий на бумажных картах. Таким образом, Аналитическая машина Бэббиджа была бы программируемой. А его сторонник Августа Ада Байрон считается сегодня первым в мире программистом.

АВГУСТА АДА БАЙРОН

С тех пор как Министерство обороны Соединенных штатов назвало язык программирования в ее честь, Августа Ада Байрон, графиня Лавлейс, является предметом обсуждения в компьютерном сообществе. Ада Байрон прожила в некоторой степени трагическую жизнь, она умерла, когда ей не было и 37 лет (1815-1852). Ее жизнь осложняло слабое здоровье и тот факт, что она была диссидентом в обществе, которое ограничивало профессиональную деятельность женщины. Она была очарована машинами Чарльза Бэббиджа, когда стала свидетельницей демонстрации прототипа его Разностной машины в 1833 году. Ее вклад в развитие вычислительной техники состоит в переводе с французского языка на английский работ, обсуждавших проекты Аналитической машины. Бэббидж поддерживал ее начинания, побуждая дополнить эти переводы данными, описывающими применение машины, и примерами того, как можно программировать машину для выполнения различных задач. Энтузиазм Бэббиджа по отношению к работе Ады Байрон (он внес много предложений и, по-видимому, несколько примеров) объяснялся его надеждами на то, что ее публикация принесет субсидии для конструирования Аналитической машины (поскольку Ада Байрон была дочерью лорда Байрона, она занимала высокое положение в обществе и имела важные финансовые связи). Эти субсидии никогда не были получены, но работа Ады Байрон сохранилась. Считается, что она содержит примеры первых компьютерных программ. Таким образом, Ада Байрон признается сегодня первым в мире программистом.

Идея передачи алгоритма машине при помощи отверстий на бумаге не принадлежит Бэббиджу. Он заимствовал ее у Жозефа Жаккарда (1752-1834), построившего в 1801 году ткацкий станок, в котором шаги, которые должны быть выполнены во время ткацкого процесса, определялись расположением отверстий на бумажных картах (рис. 0.1). Алгоритм, которому следовал ткацкий станок, мог быть легко изменен для производства различных узоров на ткани. Другим исследователем, использовавшим идею Жаккарда, был Герман Холлерит (1860-1929), который применил этот способ кодирования информации в виде отверстий на бумажных картах для ускорения процесса составления таблиц во время переписи населения в Америке в 1890 году (именно эта работа Холлерита привела к созданию IBM). Впоследствии такие карты стали называться перфокартами и оставались распространенным способом управления машиной до 70-х годов XX века. На самом деле этот способ живет и сейчас, как показали проблемы, возникшие в 2000 году во время президентских выборов.

Технологии того времени не позволяли производить сложные механические машины, спроектированные Паскалем, Лейбницем и Бэббиджем, они требовали больших материальных затрат. Но с успехами в области электроники в начале XX века этот барьер был преодолен. Примером этого прогресса являются электромеханическая машина Джорджа Стибица, построенная в 1940 году компанией Bell Laboratories, и машина Mark I, собранная Говардом Эйкеном и группой инженеров IBM в 1944 году в Гарвардском университете (рис. 0.2). Эти машины были созданы с использованием электромеханических реле. Они устарели почти сразу же, как только были построены, потому что другие исследователи применяли технологию электронных ламп, чтобы создать полностью электронную машину. По-видимому, первой такой машиной была машина Атанасова-Берри, построенная в период с 1937 по 1941 год в колледже штата Айова (сейчас университет) Джоном Атанасовым и его ассистентом Клиффордом Берри. Другая машина, названная Colossus, была собрана под руководством Томми Флаверса в Англии для дешифровки кодов, которыми пользовались немецкие войска в конце второй мировой войны (на самом деле таких машин было построено около десяти, но условия военной секретности не позволили стать факту их существования частью «родословного дерева» компьютеров). Скоро последовали другие, более гибкие машины, такие как ENIAC (electronic numerical integrator and calculator - электронно-цифровой интегратор и вычислитель), разработанная Джоном Моучли и Проспером Эккертом в Электротехнической школе Мура университета штата Пенсильвания.

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

РАЗНОСТНАЯ МАШИНА БЭББИДЖА

Проекты машины Чарльза Бэббиджа были поистине предвестниками современных компьютеров. Если бы технологии позволяли построить его машину при небольших материальных затратах и если бы необходимость обработки данных торговли и правительства была такой же большой, как сегодня, то идеи Бэббиджа привели бы к компьютерной революции в начале XX века. Однако при его жизни была построена только демонстрационная модель его Разностной машины. Эта машина определяла числовые значения, вычисляя «последовательные разности». Рассмотрим этот метод на примере вычисления квадратов целых чисел. Мы начинаем, зная, что квадрат 0 равен 0, квадрат 1 равен 1, квадрат 2 равен 4 и квадрат 3 равен 9. Зная это, мы можем определить квадрат 4 следующим образом. Сначала мы вычисляем разности квадратов, значения которых мы уже знаем: 12 - О2 = 1, 22 - 12 = 3 и З2 - 22 = 5. Затем вычисляем разности этих разностей: 3- 1 =2и5-3 = 2. Заметьте, что результат в том и в другом случае равен 2. Предполагая, что эта закономерность сохраняется и дальше (можно доказать математически, что это так), мы делаем вывод, что и разность между выражениями (42 - З2) и (З2 - 22) должна быть также равна 2. Следовательно, (42 - З2) должно быть на 2 больше, чем (З2 - 22), значит, 42 - З2 = 7 и 42 = З2 + 7 = 16. Теперь, когда мы знаем квадрат4, мы можем вычислить квадрат 5, опираясь на значения 12, 22, З2 и 42. (Хотя более подробное обсуждение последовательных разностей выходит за рамки нашего курса, возможно, студентам, изучающим дифференциальное исчисление, будет интересно узнать, что приведенный выше пример является следствием того факта, что вторая производная функции у = х2 постоянна и равна 2.)

Происхождение этих небольших машин восходит к тем любителям, которые начали экспериментировать с самодельными компьютерами сразу после разработки больших исследовательских машин в 40-х годах. Именно в этом «подполье» Стив Джобе и Стефан Возняк создали в 1976 году коммерчески жизнеспособный домашний компьютер и основали компанию Apple Computer для его производства и продажи. Хотя продукция Apple была популярна, она не пользовалась большим спросом в деловых кругах, которые продолжали рассчитывать на уже привычную компанию IBM в большинстве своих компьютерных потребностей.

В 1981 году IBM представила свой первый настольный компьютер, названный персональным компьютером (сокращенно ПК), программное обеспечение для которого было разработано молодой развивающейся компанией Microsoft. Этот компьютер имел немедленный успех и закрепил ПК в сознании деловых людей как предмет торговли. Сегодня термин ПК используется по отношению ко всем машинам различных производителей, конструкция которых произошла от первого персонального компьютера IBM и многие из которых продолжают поставляться вместе с программным обеспечением компании Microsoft.

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

Наука об алгоритмах

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

Именно в это время теоретические работы математиков начали приносить плоды. В результате появления теоремы о неполноте Геделя математики обратились к исследованию вопросов, касающихся алгоритмических процессов, что способствовало развитию технологий. Этот процесс подготовил возникновение новой дисциплины науки, называемой вычислительной техникой.

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

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

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

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

♦ Какие задачи имеют алгоритмическое решение?

♦ Как можно облегчить поиск алгоритма?

♦ Как можно усовершенствовать технику представления и передачи алгоритма?

♦ Как можно применить наши знания об алгоритмах и технологиях для создания лучших машин?

♦ Как можно проанализировать и сравнить характеристики различных алгоритмов?

Всеми этими вопросами занимается наука об алгоритмах (рис. 0.3).

Роль абстракции

Понятие абстракции так прочно входит в предмет вычислительной техники и проектирование вычислительных систем, что нам следует обратиться к нему в этой вводной главе. Термин «абстракция» относится к различию между внешними свойствами объекта и элементами его внутреннего строения. Именно абстракция позволяет нам игнорировать внутренние элементы сложного механизма, такого как компьютер, автомобиль или микроволновая печь, и использовать его как целостный объект. Кроме того, именно про помощи абстракции и разрабатываются такие сложные системы. Например, автомобиль проектируется иерархическим способом. На самом верхнем уровне его представляют как состоящий из больших компонентов, таких как мотор, подвеска и трансмиссия, не рассматривая внутренние элементы каждого из этих компонентов. В свою очередь каждый из этих элементов также состоит из своих элементов.

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

Рис. 0.4. Иерархия абстракций в аппаратном обеспечении стандартного персонального компьютера

Мы видим, что абстракция позволяет нам конструировать, анализировать и управлять большими и сложными вычислительными системами, которые были бы ошеломляющими, если их рассматривать целиком на детальном уровне. Применяя абстракцию, мы можем подходить к таким системам на разном уровне детализации. На каждом уровне мы рассматриваем систему с точки зрения ее составляющих, которые называются абстрактными инструментами (abstract tool) и чью внутреннюю структуру мы игнорируем. Это позволяет нам сосредоточиться на том, как каждый элемент взаимодействует с другим элементом на одном уровне и как они вместе формируют элемент более высокого уровня. Следовательно, мы можем выделить часть системы, которая является существенной для решения задачи, и не потеряемся в море деталей. В этом и состоит достоинство абстракции.

Следует заметить, что абстракция применима не только к науке и технике. Она является важным способом упрощения, при помощи которого наше общество создало определенный образ жизни, который иначе был бы невозможен.

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

В этой книге абстракция применяется по отношению к главам (и даже к разделам внутри глав), которые необычайно независимы. Вопросы, которые обсуждаются в ранних главах, выступают как абстрактные инструменты в следующих. Таким образом, для понимания последующих глав вовсе не обязательно детальное изучение предыдущих. Например, вы можете начать изучение книги с главы 10 («Искусственный интеллект») и все же понять большую часть материала. (Просто используйте алфавитный указатель, чтобы найти значения терминов, которые вы пропустили.) Иерархическая структура этой книги (рис. 0.5) состоит из четырех частей, каждая из которых может изучаться отдельно. Каждая часть включает в себя главы и разделы, которые являются меньшими единицами абстракции. Это строение не просто представляет содержание книги, оно отражает структуру науки. И на самом деле вычислительная техника состоит из многочисленных самостоятельных, однако связанных между собой разделов.

Влияние на общество

Научный и технологический прогресс подрывает основания, на которых базировались общественные решения в прошлом, и даже бросает вызов многим общественным принципам. В чем различие между наличием интеллектуального поведения и наличием самого интеллекта? Когда начинается жизнь? Когда она заканчивается? Чем различаются растение и животное? Есть ли жизнь в других солнечных системах? Такие вопросы заставляют человека пересмотреть свои убеждения и часто — изменить их.

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

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

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




1   2   3   4   5   6   7   8   9   ...   78

Похожие:

Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconОсновы работы с Sharepoint в какое место веб-страницы разрешается вставить новую веб-часть (в браузере)?
В какое представление веб-страницы будут вноситься изменения, если выбрать команду Настроить эту страницу?
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconВведение в физику и технологию элементной базы ЭВМ и компьютеров
Введение   8
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconСодержание
Содержание размещают после титульного листа отчёта (как правило, на стр. 2). Слово «Содержание» рас­полагают посередине страницы...
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconСоздание веб-страницы в простом текстовом редакторе
Давайте создадим  веб-страницу. Для этого нужно напечатать ее исходный код в простом текстовом редакторе  блокнот
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconЗагрузка uploading теория
После того как набор html страниц веб-сайта создан. Все они связаны между собой с помощью ссылок. Страницы наполнены контентом. Таким...
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconЛитература 153 Алфавитный указатель 155 Предисловие редактора русского издания Глубокоуважаемые коллеги! Содержа­ние этой книги значительно шире и глуб­же, нежели заявлено в ее названии. Я бы назвала ее «Лечение и реставрация молочных зубов»
Предисловие редактора русского издания 6 Введение 9 Предисловие 11 Благодарности 13
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 icon        Информатика  Системы счисления и  арифметические основы эвм  
Введение   
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconЯндекс - поисковая машина, способная по вашему запросу найти в русскоязычной части интернета наиболее подходящие веб-страницы, новости, картинки, статьи
Яндекс — поисковая машина, способная по вашему запросу найти в русскоязычной части интернета наиболее подходящие веб-страницы, новости,...
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconВзаимодействие веб-сайтов по культуре с пользователем. 
Предисловие к русскому изданию   4 
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconВзаимодействие веб-сайтов по культуре с пользователем. 
Предисловие к русскому изданию   4 
Разместите кнопку на своём сайте:
kak.znate.ru


База данных защищена авторским правом ©kak.znate.ru 2012
обратиться к администрации
KakZnate
Главная страница