Главная страница
Навигация по странице:

  • Чарльз Петцольд Эту книгу хорошо дополняют: Неизбежно

  • Невероятные приключения Лавлейс и Бэббиджа

  • Петцольд, Чарльз

  • кр гаряев. Чарльз Петцольд - Код_ тайный язык информатики-Манн, Иванов и Фе. Книга принадлежит Контакты владельца Культовая книга талантливого преподавателя стала для многих первым уверенным шагом в программировании


    Скачать 6.11 Mb.
    НазваниеКнига принадлежит Контакты владельца Культовая книга талантливого преподавателя стала для многих первым уверенным шагом в программировании
    Анкоркр гаряев
    Дата19.10.2022
    Размер6.11 Mb.
    Формат файлаpdf
    Имя файлаЧарльз Петцольд - Код_ тайный язык информатики-Манн, Иванов и Фе.pdf
    ТипКнига
    #743064
    страница1 из 28
      1   2   3   4   5   6   7   8   9   ...   28

    Эта книга принадлежит
    Контакты владельца
    Культовая книга талантливого преподавателя стала
    для многих первым уверенным шагом в программировании.
    От кодов до азбуки Морзе и шрифта Брайля, от устройства фонариков до телеграфов и реле... Автор заглянул в XIX век и на примере простейших электрических компонентов объяснил устройство компьютера.
    «Хотя в настоящее время компьютеры сложнее, чем четверть или полвека назад, они не изменились фундаментально. Вот почему изучать историю техники так здорово: чем сильнее углубляешься в прошлое, тем проще становятся технологии. Поэтому легко добраться до точки, где понятно решительно все... Хочу, чтобы с помощью „Кода“ вы научились разбираться во всех этих вещах настолько, чтобы смогли потягаться с электротехниками и программистами».
    Чарльз Петцольд

    Эту книгу хорошо дополняют:
    Неизбежно
    12 технологических трендов, которые определяют наше будущее
    Кевин Келли
    Верховный алгоритм
    Как машинное обучение изменит наш мир
    Педро Домингос
    Кому нужна математика?
    Понятная книга о том, как устроен цифровой мир
    Нелли Литвак и Андрей Райгородский
    Невероятные приключения Лавлейс и Бэббиджа
    (Почти) правдивая история первого компьютера
    Сидни Падуа

    Charles Petzold
    Code
    The Hidden Language of
    Computer Hardware and Software
    MICROSOFT PRESS
    2000

    Чарльз Петцольд
    Код
    Тайный язык информатики
    Перевод с английского Олега Сивченко
    Москва
    «Манн, Иванов и Фербер»
    2019

    УДК 681.3
    ББК 32.973
    П31
    Научные редакторы Ва лерий Артюх ин, Азат Гизат улин
    Издано с разрешения Pearson Education, Inc.
    Книга рекомендована к изданию Дмитрием Воротилиным, Юрием Коровкиным,
    Александром Самохваловым, Ольгой Соминой
    Петцольд, Чарльз
    П31 Код. Тайный язык информатики / Чарльз Петцольд ; пер. с англ. О. Сивченко ; [науч. ред. В. Артюхин, А. Гизатулин]. — М. : Манн, Иванов и Фербер, 2019. — 448 с.
    ISBN 978-5-00117-545-2
    Книга «Код» представляет собой увлекательное путешествие в прошлое — мир электрических устройств и телеграфных машин. Знакомство с прообразами первых компьютеров позволит читателю с любым уровнем технической подготовки узнать о том, как работают современные электронные устройства.
    УДК 681.3
    ББК 32.973
    Все права защищены.
    Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
    © Authorized translation from the English language edition, entitled
    Code: The Hidden Language of Computer Hardware and software, 1st
    Edition; ISBN: 0735611319; by Petzold, Charles; published by Pearson, representing Microsoft Press
    © 2000 by Charles Petzold. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc.
    Russian language edition published by Mann, Ivanov, and Ferber
    Publishers. Copyright © 2019.
    All rights reserved.
    © Перевод на русский язык, издание на русском языке, оформление.
    ООО «Манн, Иванов и Фербер», 2019
    ISBN 978-5-00117-545-2

    Оглавление
    Предисловие к оригинальному изданию
    9
    Глава 1. Лучшие друзья
    12
    Глава 2. Коды и комбинации
    18
    Глава 3. Брайль и двоичные коды
    23
    Глава 4. Устройство фонарика
    30
    Глава 5. Заглядывая за угол
    41
    Глава 6. Телеграфы и реле
    50
    Глава 7. Наши десять цифр
    57
    Глава 8. Альтернативы десятке
    64
    Глава 9. За битом бит
    80
    Глава 10. Логика и переключатели
    98
    Глава 11. Логические вентили
    117
    Глава 12. Двоичный сумматор
    147
    Глава 13. А как насчет вычитания?
    160
    Глава 14. Обратная связь и триггеры
    174
    Глава 15. Байты и шестнадцатеричные числа
    202
    Глава 16. Сборка памяти
    213
    Глава 17. Автоматизация
    231
    Глава 18. От счетов к микросхемам
    268
    Глава 19. Два классических микропроцессора
    294
    Глава 20. Набор символов ASCII
    326
    Глава 21. Шины
    345
    Глава 22. Операционная система
    368
    Глава 23. Фиксированная точка, плавающая точка
    387
    Глава 24. Языки высокого и низкого уровня
    403
    Глава 25. Графическая революция
    421
    Благодарности
    444
    Об авторе
    445

    9
    Предисловие к оригинальному изданию
    Замысел «Кода» я вынашивал лет десять. И тогда, и во время работы над рукопи- сью, и даже когда книга вышла из типографии многие спрашивали: «О чем она?»
    Я всегда отвечал уклончиво, бормотал что-нибудь в духе: «Необычная экскурсия по истории цифровых технологий, сформировавших современную эпоху» — в надежде, что этого будет достаточно. Но в какой-то момент мне пришлось признать: «Код» — это книга о том, как устроены компьютеры.
    Как я и опасался, отклики были неблагожелательными. На возражение в духе: «А-а, у меня уже есть такая книга» — я немедленно парировал: «От- нюдь, такой — нет». И по-прежнему так считаю. «Код» не похож на прочие книги «о компьютерах». В нем нет больших цветных иллюстраций с дисково- дами, где стрелками показано, как данные поступают в компьютер, нет рисун- ков, где паровозик в товарных вагончиках везет нули и единички. Метафоры и сравнения чудесны в своей буквальности, но они ни на что не годны, лишь затмевают красоту технологий.
    Мне говорили: «А кому интересно, как работают компьютеры?» Верное замечание. Мне, например, нравится вникать в устройство приборов, но я хочу сам решать, когда это делать. Так, описать, как работает мой холодильник, я смогу лишь под пыткой.
    Однако окружающие часто задают вопросы, свидетельствующие об их интересе к внутреннему устройству компьютера. Типичный пример: «Чем от- личается оперативная память от дисковой?» Естественно, это важный вопрос.
    Такие понятия составляют основу маркетинга ПК. Даже начинающему поль- зователю требуется знать, сколько мегов одного и гигов другого потребуется для конкретного приложения. Кроме того, новичок должен представлять, что такое файл, как он загружается с диска в память, а затем сохраняется там.
    На вопрос о дисковой и оперативной памяти принято отвечать: «Память похожа на столешницу, а диск — на ящики стола». В принципе неплохой ответ, но мне он кажется неудовлетворительным. Создается впечатление, будто архи- тектура компьютера разрабатывалась по образу и подобию бюро. На самом деле

    10
    Код разница между оперативной и дисковой памятью — искусственная и обуслов- лена отсутствием единого энергонезависимого и при этом быстро работающего носителя. Так называемая архитектура фон Неймана, доминирующая в компью- терной индустрии уже более 50 лет, возникла в результате этого технического изъяна. Когда меня спрашивали, как запускать программы для Macintosh под
    Windows, я впадал в ступор, осознавая, что для ответа придется затронуть мас- су технических тонкостей, которые собеседник явно сразу не поймет.
    Хочу, чтобы с помощью «Кода» вы научились разбираться во всех этих ве- щах настолько, чтобы смогли потягаться с электротехниками и программистами.
    Надеюсь, вы оцените, каким достижением является компьютер среди технологий
    XX века, и прочувствуете его красоту саму по себе, без метафор и сравнений.
    По сути, компьютеры иерархичны: на самом нижнем уровне располага- ются транзисторы, а венчает все информация, которая выводится на монитор.
    В книге мы будем придерживаться этой иерархии. В принципе, книга и струк- турирована от уровня к уровню. И этот путь не столь сложен, как может по- казаться. Да, в современном компьютере происходит масса всякой всячины, но это самые обычные и простые операции.
    Хотя в настоящее время компьютеры сложнее, чем четверть или полвека назад, они не изменились фундаментально. Вот почему изучать историю техники так здорово: чем сильнее углубляешься в прошлое, тем проще становятся техно- логии. Именно поэтому легко добраться до точки, где понятно решительно все.
    В книге «Код» я заглянул настолько далеко в прошлое, насколько смог.
    Сам поразился, что удалось добраться до XIX века и на примере первых теле- графных машин объяснить устройство компьютера. Теоретически все, о чем говорится в первых 17 главах, легко собирается из простейших электрических компонентов, которые в ходу уже более века.
    Думаю, благодаря всей этой винтажной технике при чтении вы испытаете некоторую ностальгию. Книгу «Код» невозможно было бы озаглавить «Еще бы- стрее, еще технологичнее» или «Сверхскоростной бизнес на цифровых нейро- нах»: определение бита дается лишь на 79-й странице
    ,
    байта — на 199-й. Тран- зисторы впервые упоминаются на 156-й странице, и то вскользь.
    Итак, пусть «Код» и весьма основательно объясняет устройство компью- тера (найдется немного других книг, где описано, например, как именно рабо- тает процессор), стиль книги вполне развлекательный. Несмотря на глубину темы, я старался устроить читателю максимально комфортную прогулку. Без всяких вагончиков с нулями и единицами.
    Чарльз Петцольд
    16 августа 2000 года

    Предисловие к оригинальному изданию
    [Код]
    3а. Система сигналов для представления букв и цифр при передаче сообще- ний.
    b. Система символов, букв или слов, которым присваиваются некоторые про- извольно подобранные значения. Используется для передачи сообщений в случаях, когда требуется добиться конфиденциальности или краткости.
    4. Система символов, применяемая для представления компьютерных ко- манд…
    Словарь английского языка американского наследия

    12
    Глава 1
    Лучшие друзья
    Вам десять лет. Ваш лучший друг живет на другой стороне улицы, напротив.
    Даже окна ваших спален обращены друг к другу. Каждый вечер родители объ- являют отбой в безбожно ранний час, а вам еще хочется пообщаться, поде- литься мыслями, наблюдениями, секретами, сплетнями, шутками и мечтами.
    Никто не вправе вас за это упрекнуть. В конце концов, стремление к комму- никации — одно из наиболее характерных человеческих качеств.
    Пока в спальнях горит свет, можно помахать друг другу из окон и, по- лагаясь на примитивный язык тела, жестикулируя, обменяться парой мыс- лей. Однако передавать таким образом сложную информацию вряд ли удаст- ся. И как только родители скомандуют: «Погаси свет!» — ситуация кажется безнадежной.
    Как общаться? Может, по телефону? А был ли у вас в комнате телефон, ког- да вам было десять? Даже если так, то, где бы он ни находился, вас подслушают.
    Если ваш домашний компьютер подключен к телефонной линии, возможно, че- рез него удастся поболтать бесшумно, но, опять же, компьютера в комнате нет.
    Однако у вас с другом есть карманные фонарики. Все знают, что такой фонарик изобрели специально для чтения книжки под одеялом, но он отлич- но подходит для ночной коммуникации. Такая связь практически бесшумна, а луч света бьет прицельно, и, пожалуй, его не заметишь в щель под дверью.
    Бдительные домашние ничего не заподозрят.
    Можно ли общаться при помощи вспышек? Попробовать точно стоит.
    В первом классе вы учились писать на бумаге слова и буквы, поэтому кажется уместным экстраполировать эти знания на обмен сигналами. Просто встаньте у окна и попытайтесь рисовать буквы светом. Чтобы написать О, включите фо- нарик, опишите им круг в воздухе, а потом выключайте. I — это вертикальная палочка. Но, как вы вскоре убедитесь, этот метод просто не работает. Наблю- дая за фонариком друга, которым тот выводит в воздухе буквы, вы поймете, как сложно мысленно скомпоновать эти штрихи во что-то цельное. Завитуш- ки и мазки света не слишком точны.

    Глава 1. Лучшие друзья
    13
    Наверняка вы видели в фильмах, как два морехода сигнализировали друг другу над водой мерцающими фонариками, один шпион покачивал зеркальцем, направляя свет сообщнику в другую комнату. Кажется, вот решение.
    Сначала разработаем простой метод. Каждая буква алфавита соответству- ет последовательности бликов. Таким образом, один блик будет означать А, два — Б, три — В и т. д. Для Я уже понадобятся 33 блика. Слово «ГДЕ» — 4 бли- ка + 5 бликов + 6 бликов, которые передаются с небольшими паузами, чтобы не перепутать эту серию с 15 бликами, то есть с Н. Паузы-пробелы между сло- вами должны быть чуть длиннее.
    Но вот что скажу: махать фонариком в воздухе больше не понадобит- ся. Достаточно направить его куда нужно и нажимать на кнопочку. Но здесь возникает другая проблема: одно из первых сообщений, которое вы решите отправить («Как дела?»), растянется на 44 вспышки! Более того, придется за- быть о пунктуации, ведь неизвестно, сколько бликов соответствуют вопроси- тельному знаку.
    Однако вы уже у цели. Вы предполагаете, что кто-то уже сталкивался с та- кой проблемой. Рано утром вы отправляетесь в библиотеку на поиски и узнаё- те о чудесном изобретении под названием «азбука Морзе». Вот то, что нужно, пусть даже теперь придется переучиваться, как пишутся все буквы алфавита.
    В чем разница: в изобретенной вами системе каждой букве алфавита со- ответствует определенное количество бликов, от 1 для А до 33 для Я. В азбуке
    Морзе два вида бликов: краткие и долгие. Разумеется, при этом код Морзе по- лучается сложнее, но на практике оказывается гораздо эффективнее. Теперь словосочетание «Как дела?» состоит всего из 24 бликов, а не из 44, причем
    с учетом кода вопросительного знака.
    Обсуждая принцип работы азбуки Морзе, принято говорить не о долгих и крат- ких бликах, а о точках и тире, поскольку при помощи этих знаков удобно изобра- жать код на печатной странице. В азбуке Морзе каждой букве алфавита соответ- ствует краткая серия точек и тире, показанная в таблице на следующей странице.
    Пусть азбука Морзе и не связана с компьютером, она помогает познать суть кода, а это важная предпосылка для глубокого понимания тайных языков и внутреннего устройства компьютерного харда и софта.
    В этой книге слово «код» обычно означает систему передачи информации между людьми и машинами. Иными словами, код обеспечивает коммуника- цию. Иногда покажется, что код — это шифр, но большинство кодов таковы- ми не являются, хотя и должны быть понятными, поскольку лежат в основе человеческого общения.
    В начале романа «Сто лет одиночества» Габриэль Гарсия Маркес вспоми- нает времена, когда «мир был еще таким новым, что многие вещи не имели

    14
    Код названия, и на них приходилось показывать пальцем». Создается впечатление, что лексемы присваиваются понятиям совершенно произвольно. Сложно по- нять, почему собаку называют собакой, а кошку — кошкой. Можно сказать, что словарь — это своеобразный код.
    A
    • —
    B
    — • • •
    C
    — • — •
    D
    — • •
    E

    F
    • • — •
    G
    — — •
    H
    • • • •
    I
    • •
    J
    • — — —
    K
    — • —
    L
    • — • •
    M
    — —
    N
    — •
    O
    — — —
    P
    • — — •
    Q
    — — • —
    R
    • — •
    S
    • • •
    T

    U
    • • —
    V
    • • • —
    W
    • — —
    X
    — • • —
    Y
    — • — —
    Z
    — — • •
    А
    • —
    Б
    — • • •
    В
    • — —
    Г
    — — •
    Д
    — • •
    Е

    Ё

    Ж
    • • • —
    З
    — — • •
    И
    • •
    Й
    • — — —
    К
    — • —
    Л
    • — • •
    М
    — —
    Н
    — •
    О
    — — —
    П
    • — — •
    Р
    • — •
    С
    • • •
    Т

    У
    • • —
    Ф
    • • — •
    Х
    • • • •
    Ц
    — • — •
    Ч
    — — — •
    Ш
    — — — —
    Щ
    — — • —
    Ъ
    — — • — —
    Ы
    — • — —
    Ь
    — • • —
    Э
    • • — • •
    Ю
    • • — —
    Я
    • — • —
    Звуки, которые мы произносим и складываем в слова, — код, понятный любому, кто слышит наш голос и понимает язык, на котором мы говорим. Этот код называется говорением, или речью. Существуют и другие коды для запи- си слов на бумаге (камне, дереве, в воздухе, например когда самолет выводит рекламные надписи в небе). Такой код — это и рукописные и печатные сим- волы, которые мы видим в книгах, журналах или газетах. Мы называем его письменной речью, текстом. Во многих языках речь и текст согласуются друг с другом. Например, в английском буквы и буквосочетания (в большей или меньшей степени) соответствуют произносимым звукам.
    Для глухих или немых был разработан иной код, облегчающий межлич- ностное общение, — язык жестов, состоящий из движений рук, передающих отдельные буквы, слова или целые концепции. Для слепых письменный текст заменяется азбукой Брайля — системой выпуклых точек, соответствующих буквам, буквосочетаниям или целым словам. Когда приходится быстро запи- сывать речь, удобно пользоваться стенографией или сокращениями.
    При общении мы пользуемся различными кодами, поскольку одна коди- ровка удобнее других. Например, устную речь невозможно хранить на бумаге,

    Глава 1. Лучшие друзья
    15
    и ее заменяет письмо. Тихо передавать информацию на расстоянии невозмож- но ни при помощи речи, ни на бумаге. Удобная альтернатива — азбука Мор- зе. Далее мы увидим, что в компьютерах применяются различные типы кодов для передачи чисел, звуков, музыки, изображений и видео. Компьютер не мо- жет работать непосредственно с человеческими кодами: машина не в состоя- нии сымитировать работу человеческих глаз, ушей, рта и пальцев. Недавно * в компьютерной технике наметилась такая тенденция: настольные ПК соби- рают и хранят различные виды информации, используемой при человеческом общении, и имеют возможность манипулировать такой информацией и ее отображениями. Это визуальная (текст, картинки) и акустическая (речь, зву- ки, музыка) информация, их комбинация (анимация или кино). Для всех этих типов требуются собственные коды, точно так же как при разговоре использу- ются одни органы (рот и уши), а при письме и чтении — другие (руки и глаза).
    Даже сама таблица с азбукой Морзе (с. 14) — в некотором роде код. В таб- лице каждая буква представлена последовательностью точек и тире. Но как передать точки и тире? Получается, они соответствуют бликам. Для обозна- чения точки мы быстро перещелкиваем кнопку фонарика (короткий блик), тире — задерживаем фонарик включенным чуть дольше. Так, чтобы передать А, мы быстро перещелкиваем фонарик, а потом включаем и выключаем его бо- лее медленно. Перед отправкой следующего символа делаем небольшую пау- зу. Принято, что тире должно быть примерно втрое длиннее точки. Так, если точка длится одну секунду, то тире — три (на самом деле азбука Морзе транс- лируется гораздо быстрее). Адресат видит короткий сигнал, затем длинный и понимает, что это А.
    Паузы между точками и тире в азбуке Морзе критически важны. Так, при передаче А фонарик должен быть выключен между точкой и тире в течение периода, по длительности примерно равного одной точке. (Если точка длит- ся одну секунду, то промежуток между точкой и тире также длится секун- ду.) Между буквами в слове выдерживаются более долгие паузы, сравнимые по длительности с тире (в данном случае по три секунды). Например, вот так на азбуке Морзе будет «привет» (обратите внимание на паузы между буквами).
      1   2   3   4   5   6   7   8   9   ...   28


    написать администратору сайта