Архитектура компьютера
Книга Эндрю Таненбаума, всемирно известного специалиста в области информационных технологий, писателя и преподавателя, выходящая уже в шестом издании, посвящена структурной организации компьютера. В ее основе лежит идея иерархической структуры, в которой каждый уровень выполняет вполне определенную функцию. В рамках этого нетрадиционного подхода подробно описываются цифровой логический уровень, уровень архитектуры команд, уровень операционной системы и уровень языка ассемблера. В шестое издание внесены многочисленные изменения, которые приводят книгу в соответствие со стремительным развитием компьютерной отрасли. В частности, была обновлена информация о машинах, представленных в качестве примеров: Intel Core i7, Texas Instrument OMAP4430 и Atmel ATmegal68. Книга рассчитана на широкий круг читателей: как на студентов, изучающих компьютерные технологии, так и на тех, кто самостоятельно знакомится с архитектурой компьютера.
Произведение было опубликовано в 2015 году издательством Питер. На нашем сайте можно скачать книгу «Архитектура компьютера» в формате pdf или читать онлайн. Здесь так же можно перед прочтением обратиться к отзывам читателей, уже знакомых с книгой, и узнать их мнение. В интернет-магазине нашего партнера вы можете купить и прочитать книгу в бумажном варианте.
Современные операционные системы, Таненбаум Э., Бос X., 2015
Современные операционные системы, Таненбаум Э., Бос X., 2015.
Эндрю Таненбаум представляет новое издание своего всемирного бестселлера, необходимое для понимания функционирования современных операционных систем. Оно существенно отличается от предыдущего и включает в себя сведения о последних достижениях в области информационных технологий. Например, глава о Windows Vista теперь заменена подробным рассмотрением Windows 8.1 как самой актуальной версии на момент написания книги. Появился объемный раздел, посвященный операционной системе Android. Был обновлен материал, касающийся Unix и Linux, а также RAID-систем. Гораздо больше внимания уделено мультиядерным и многоядерным системам, важность которых в последние несколько лет постоянно возрастает. Появилась совершенно новая глава о виртуализации и облачных вычислениях. Добавился большой объем нового материала об использовании ошибок кода, о вредоносных программах и соответствующих мерах защиты. В книге в ясной и увлекательной форме приводится множество важных подробностей, которых нет ни в одном другом издании.
Почему книга Эндрю Таненбаума «Архитектура компьютера» вредна для образования
Сегодня взял в руки книжку Эндрю Таненбаума «Архитектура компьютера» (последнее издание на русском языке вышло в 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-летней давности наверное рассосалась. Или нет?
UPD: Мне написали в комментариях «вы не раскрыли тему пользы учебника по компьютерной архитектуре не для электронщиков, а для программистов». Согласен и дополняю:
К сожалению, в этом месте Таненбаум тоже не фонтан. Возьмем например его главу про кэши. Он не показывает в своей главе (по крайней мере в 4 издании) куски программ для иллюстрации различных случаев временной и пространственной локальности. Такой кусок есть в Харрис и Харрис, а в принстонском курсе есть вот такая полезная картинка:
Вот страница из Таненбаума. Где такая картинка или куски кода?
Для сравнения — вот из Дэвид Харрис и Сара Харрис Цифровая схемотехника и архитектура компьютера:
Вообще по поводу Таненбаума, как указали в комментариях, напрашивается цитата из Фейнмана по поводу физики в Бразилии. Там цитировать можно все, например вот небольшой кусочек:
Я обнаружил кое-что еще, — продолжал я. — Hаугад листая страницы и останавливаясь в любом произвольно выбранном месте, я могу показать вам, почему это не наука, а заучивание во всех случаях, без исключения. Я рискну прямо сейчас, в этой аудитории перелистать страницы, остановиться в произвольном месте, прочитать и показать вам.
Так я и сделал. Тррррр-ап — мой палец остановился на какой-то странице, и я начал читать: «Триболюминесценция. Триболюминесценция — это излучение света раздробленными кристаллами. «.
Я сказал: «Вот, пожалуйста. Есть здесь наука? Hет! Здесь есть только толкование одного слова при помощи других слов. Здесь ни слова не сказано о природе: какие кристаллы испускают свет, если их раздробить? Почему они испускают свет? Вы можете представить, чтобы хоть один студент пошел домой и попробовал это проверить? Они не могут. Hо если бы вместо этого вы написали: «Если взять кусок сахара и в темноте расколоть его щипцами, вы увидите голубоватую вспышку. То же самое происходит и с некоторыми другими кристаллами. Hикто не знает, почему. Это явление называется триболюминесценцией. Тогда кто-нибудь проделал бы это дома, и это было бы изучением природы». Я использовал для доказательства этот пример, но мог взять и любой другой, — вся книга была такая.
Бесплатная электронная библиотека. Скачать книги бесплатно!
Скачать бесплатно » Книги » Компьютерное железо » Архитектура компьютера. 6-е изд.
Наша электронная библиотека Bookskeeper.ru — это интернет-витрина, где любой посетитель может публиковать электронные варианты книг, журналов, газет, комиксов, в общем, любой литературы со ссылками для медленного, но бесплатного скачивания с файлообменников.
В нашем книжном хранилище Вы всегда найдете литературу на любой вкус человека любого возраста — от детских комиксов и расскрасок до серьезной научной литературы.
Архитектура компьютера и операционные системы учебник
ISBN: | 978-5-496-00337-7, 978-0132916523 |
Год издания: | 2013 |
Издательство: | Питер |
Язык: | Русский |
Книга Эндрю Таненбаума, всемирно известного специалиста в области информационных технологий, писателя и преподавателя, выходящая уже в шестом издании, посвящена структурной организации компьютера. В ее основе лежит идея иерархической структуры, в которой каждый уровень выполняет вполне определенную функцию. В рамках этого нетрадиционного подхода подробно описываются цифровой логический уровень, уровень архитектуры команд, уровень операционной системы и уровень языка ассемблера. В шестое издание внесены многочисленные изменения, которые приводят книгу в соответствие со стремительным развитием компьютерной отрасли. В частности, была обновлена…
ISBN: | 0132916525, 978-0132916523 |
Год издания: | 2012 |
Издательство: | Pearson |
Язык: | Английский |
Structured Computer Organization, specifically written for undergraduate students, is a best-selling guide that provides an accessible introduction to computer hardware and architecture. This text will also serve as a useful resource for all computer professionals and engineers who need an overview or introduction to computer architecture. This book takes a modern structured, layered approach to understanding computer systems. It’s highly accessible — and it’s been thoroughly updated to reflect today’s most critical new technologies and the latest developments in computer organization and architecture. Tanenbaum’s renowned writing style…
ISBN: | 5-469-01274-3, 0-13-148521-0 |
Год издания: | 2007 |
Издательство: | Питер |
Язык: | Русский |
Книга Эндрю Таненбаума, всемирно известного специалиста в области информационных технологий, писателя и преподавателя, выходящая уже в пятом издании, посвящена структурной организации компьютера. В ее основе лежит идея иерархической структуры, в которой каждый уровень выполняет вполне определенную функцию. В рамках этого нетрадиционного подхода подробно описываются цифровой логический уровень, уровень архитектуры команд, уровень операционной системы и уровень языка ассемблера. Книга рассчитана на широкий круг читателей: как на студентов, изучающих компьютерные технологии, так и на тех, кто самостоятельно знакомится с архитектурой…
ISBN: | 5-318-00298-6 |
Год издания: | 2006 |
Издательство: | Питер |
Язык: | Русский |
Компьютер не знает иного языка, кроме машинного, состоящего из довольно примитивного набора команд, которые придумывают разработчики процессора. Именно этими командами приходилось пользоваться первым программистам, чтобы заставить компьютер что-то выполнить. Этот машинный язык сохранился и в наши дни, но теперь между ядром компьютера и приложениями возникли многочисленные посредники в виде микропрограмм, операционных систем и языков программирования высокого уровня. Независимо от конкретных типов процессора и операционной системы, современный компьютер можно рассматривать как абстрактную многоуровневую иерархическую систему, каждый уровень…
ISBN: | 0131485210, 9780131485211 |
Год издания: | 2005 |
Издательство: | Prentice Hall |
Язык: | Английский |
This book takes a modern structured, layered approach to understanding computer systems. It’s highly accessible — and it’s been thoroughly updated to reflect today’s most critical new technologies and the latest developments in computer organization and architecture. Tanenbaum’s renowned writing style and painstaking research make this one of the most accessible and accurate books available, maintaining the author’s popular method of presentinga computer as a series of layers, each one built upon the ones below it, and understandable as a separate entity. A CD-ROM for assembly language programmers is available for teachers. For all computer…
ISBN: | 0130959901, 9780130959904 |
Год издания: | 1998 |
Издательство: | Prentice Hall |
Язык: | Английский |
This book takes a modern structured, layered approach to understanding computer systems. It’s highly accessible — and it’s been thoroughly updated to reflect today’s most critical new technologies, including Pentium II and UltraSPARC microprocessors, Windows NT and Java Virtual Machines.Tanenbaum and Goodman present a computer as a series of layers, each one built upon the ones below it, and understandable as a separate entity. The book includes detailed coverage at the digital logic and micro-architecture levels, instruction set level, and operating system machine level, and contains a completely rewritten and updated chapter on parallel…
Программирование на С++ (4-е издание) (2004, Уолтер Савич)
Книга содержит исчерпывающую информацию о языке программирования C++. Помимо «стандартных» тем, таких как объявление переменных, операторы выбора, циклы, массивы, функции и др., подробно рассматривается также работа с векторами, динамические многомерные массивы, обработка исключений, указатели и перегрузка операторов. Примеры и задания дл .