The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)

Noam Nisan, Shimon Schocken

買這商品的人也買了...

商品描述

In the early days of computer science, the interactions of hardware, software, compilers, and operating system were simple enough to allow students to see an overall picture of how computers worked. With the increasing complexity of computer technology and the resulting specialization of knowledge, such clarity is often lost. Unlike other texts that cover only one aspect of the field, The Elements of Computing Systems gives students an integrated and rigorous picture of applied computer science, as its comes to play in the construction of a simple yet powerful computer system.

Indeed, the best way to understand how computers work is to build one from scratch, and this textbook leads students through twelve chapters and projects that gradually build a basic hardware platform and a modern software hierarchy from the ground up. In the process, the students gain hands-on knowledge of hardware architecture, operating systems, programming languages, compilers, data structures, algorithms, and software engineering. Using this constructive approach, the book exposes a significant body of computer science knowledge and demonstrates how theoretical and applied techniques taught in other courses fit into the overall picture.

Designed to support one- or two-semester courses, the book is based on an abstraction-implementation paradigm; each chapter presents a key hardware or software abstraction, a proposed implementation that makes it concrete, and an actual project. The emerging computer system can be built by following the chapters, although this is only one option, since the projects are self-contained and can be done or skipped in any order. All the computer science knowledge necessary for completing the projects is embedded in the book, the only pre-requisite being a programming experience.

The book's web site provides all tools and materials necessary to build all the hardware and software systems described in the text, including two hundred test programs for the twelve projects. The projects and systems can be modified to meet various teaching needs, and all the supplied software is open-source.

商品描述(中文翻譯)

在計算機科學的早期,硬體、軟體、編譯器和作業系統之間的互動足夠簡單,讓學生能夠全面了解計算機的運作方式。隨著計算機技術的日益複雜和知識的專業化,這種清晰度往往會失去。與其他只涵蓋領域中一個方面的教材不同,《計算機系統的要素》為學生提供了應用計算機科學的整合和嚴謹的圖像,以在構建一個簡單而強大的計算機系統中發揮作用。

事實上,理解計算機運作方式的最佳方法是從頭開始構建一個,這本教科書通過十二個章節和項目逐步引導學生從頭開始構建一個基本的硬體平台和現代軟體層次結構。在這個過程中,學生們獲得了有關硬體架構、作業系統、程式語言、編譯器、資料結構、演算法和軟體工程的實踐知識。通過這種建設性的方法,本書揭示了大量的計算機科學知識,並展示了在其他課程中教授的理論和應用技術如何融入整體圖像。

本書旨在支持一學期或兩學期的課程,基於抽象實現範式;每個章節都介紹了一個關鍵的硬體或軟體抽象,一個具體的實現方案,以及一個實際的項目。這個新興的計算機系統可以通過按照章節的順序來構建,但這只是一個選項,因為這些項目是獨立的,可以按任意順序完成或跳過。完成這些項目所需的所有計算機科學知識都嵌入在本書中,唯一的先決條件是具備程式編寫經驗。

本書的網站提供了構建教材中描述的所有硬體和軟體系統所需的所有工具和材料,包括十二個項目的兩百個測試程式。這些項目和系統可以根據不同的教學需求進行修改,並且所有提供的軟體都是開源的。