Почему книга Эндрю Таненбаума «Архитектура компьютера» вредна для образования

Сегодня взял в руки книжку Эндрю Таненбаума «Архитектура компьютера» (последнее издание на русском языке вышло в 2018 году). Я ее пролистывал лет 10 назад, но сегодня решил пролистать снова, чтобы быть абсолютно уверенным в том что я напишу ниже. А именно: это книжка была вредна для образования. Она плодила не инженеров-проектировщиков, а потенциальных игроков для телевикторины «Что-Где-Когда?» и спорщиков-всезнаек на форумах интернета, которые могли рассуждать часами о микрокоде и джава-процессорах, нагибая собеседников своей эрудицией про очереди микроопераций (стр 291 4-го издания 2003-го года) и защелках в трактах данных (стр. 286), но при этом ничего не могли сделать своими руками.

Потому что (сначала мелкие придирки):

1. Микрокод в том виде в котором его описывал Эндрю Таненбаум был популярен в 1970-х, но уже в 1980-х процессоры были hard-wired для удобства конвейеризации. Причем сам Эндрю Таненбаум об этом знал (стр. 29), но все равно учил с микрокодом, показывая его не как особый случай, а как мейнстрим.

2. Термин «защелка» означает «level-sensitive D-latch» и такие конструкции не используются для хранения результатов в конвейере, и не использовались, когда писалась эта книга (в 90-е, хотя последнее русское издание вышло в 2018). Для регистров в конвейере используются переключаемые по фронту D-flip-flop / D-триггеры. Хотя и для них могут использовать слово latch, но только в качестве глагола «to latch a values into».

Вообще защелки используются в сто-тысячу раз реже чем D-триггеры и как правило присутствуют в блоках для clock-gating. Еще более редкое использование — в latch array и time borrowing, но это не имеет отношение к книжке Таненбаума.

3. В книге не было вообще никакой информации, даже намека на нее, как реализуется упомянутая очередь, никаких read/write pointers в fifo. Очередь — это был просто магический объект в контексте книги, соломенный пропеллер соломенного самолета.

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

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

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

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

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

К счастью в России выпустили книгу Харрис & Харрис, вышло еще много материалов и эта проблема 10-летней давности наверное рассосалась. Или нет?

812ef712ca52646a34a8dd9969622ddc.jpeg
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Что вы ожидаете от книги на русском языке с заглавием Архитектура компьютера?

40.91% Что она поможет читателю стать архитектором компьютера или микроархитектором процессора 27

15.15% Поможет гасить всех своей эрудицией про микрокод и джава-процессоры в интернет-форумах 10

25.76% Научпопное чтение в самолете о непонятном, типа книги Хокинда о черных дырах 17

34.85% Я думаю России не дано спроектировать процессор класса Apple или Intel, поэтому практичные книги все-равно не нужны и рассказы от Таненбаума пойдут 23

Проголосовали 66 пользователей.

Воздержались 35 пользователей.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

А что вы думаете о других книгах Таненбаума?

28.21% По операционным системам он хорош, так как это его специализация 11

30.77% По операционным системам — так же аморфно, как и про архитектуру компьютера 12

41.03% А я счетаю, что Таненбаум прекрасен и в компьютерной архитектуре. Добавить бы к нему Хоровица-Хилла — и больше книг не надо! 16

Проголосовали 39 пользователей.

Воздержались 50 пользователей.

© Habrahabr.ru