Nó có thể sai trong sinh học, nhưng trong khoa học máy tính, "ontogeny tóm tắt lại phylogeny" gần như vậy. Một tổng quan lịch sử về kiến trúc máy tính kể từ những máy tính đầu tiên là một cách tuyệt vời để hiểu chủ đề kiến trúc máy tính từ quan điểm của một lập trình viên; thiết kế máy tính là hầu hết tất cả các tinh chỉnh của thiết kế trước đó.
Đó là, tôi khuyên bạn nên nghiên cứu hoàn thành các thiết kế hệ thống cũ hơn, dựa trên những cuốn sách "kiến trúc máy tính" lý thuyết mà họ cung cấp cho bạn trong khoa học máy tính. Để thực sự hiểu thiết kế hệ thống, và thực hiện một công việc thực sự tuyệt vời khi viết phần mềm. Nắm bắt trực quan kiến trúc của hệ thống máy tính đòi hỏi phải nắm vững nhiều khái niệm. Tôi nghĩ rằng nếu bạn bắt đầu quay lại khi các kiến trúc máy tính dễ quản lý hơn về kích thước và phạm vi, bạn có thể khiến cha cùng mục tiêu viết mã tốt hơn.
(Nhân tiện, bộ sách "viết mã tuyệt vời" mà một người khác đã đề cập trông rất tuyệt, và tôi đã chỉnh sửa câu hỏi của mình để loại bỏ bất kỳ sự khao khát nào mà tôi đã thực hiện trước đây khi học từ một cuốn sách, bởi vì nó trông rất tuyệt! )
Một số điều dạy kiến trúc máy tính thực sự tốt:
Tôi thích chọn máy móc từ những năm 1980 làm nơi bắt đầu để giải thích và trình diễn mọi thứ với mọi người, vì đó là khi tôi bắt đầu sử dụng máy tính. Tôi đã sử dụng hướng dẫn tham khảo của lập trình viên 64 người, để cho mọi người thấy một nơi nhảy ra nơi kiến thức về lập trình và kiến thức về kiến trúc máy tính gặp nhau. Với một cuốn sách như vậy, và có lẽ là một trình giả lập hàng hóa 64 chạy trên PC của bạn để bạn có thể thử đồ, bạn sẽ tìm hiểu về cách các hệ thống máy tính trong kiến trúc máy tính cổ điển của thập niên 1980 được xây dựng. Theo quan điểm của tôi, một ví dụ cụ thể là một nơi tốt hơn để bắt đầu, hơn một tá mô hình lý thuyết đang thiếu các chi tiết trong thế giới thực làm cho mọi thứ hoạt động. Nếu bạn biết đăng ký là gì, ALU là gì, xe buýt là gì và đồng hồ là gì, và những hệ thống tín hiệu nào được sử dụng trong thiết kế cũ của những năm 1980, nó sẽ cung cấp cho bạn những nguyên tắc cơ bản mà bạn cần biết để hiểu một cái gì đó gần đây, như "kiến trúc cầu cát" của Intel. Trong lịch sử, hãy nhìn lại bản gốc, ví dụ tra cứu kiến trúc "Von neumann", trên wikipedia.
Tiến lên từ điểm đầu tiên của tôi một vài năm; Tìm hiểu về kiến trúc IBM PC gốc, ngôn ngữ lắp ráp 8086 và bus ISA. Từ điều này và những hạn chế của nó, sự hiểu biết về CPU "Intel COre i7" chứa gì, và các bus PCI và PCI-e làm gì và tại sao bạn cần chúng, có thể tiến hành tự nhiên hơn. Kiến trúc PC ngày nay vẫn còn một chút "nôn nao" từ thiết kế PC gốc của IBM. Cách tải chương trình ban đầu (hệ điều hành) (khởi động) trên PC 2011 vẫn còn nợ rất nhiều di sản của PC IBM gốc và BIOS ROM của nó và các cài đặt CMOS của nó trong PC gốc.
Sử dụng và sửa đổi bản dựng Linux được định cấu hình sẵn hoạt động trên một số thiết bị không phải PC được nhúng và bạn sẽ tìm hiểu rất nhiều về kiến trúc máy tính nhúng, không chỉ kiến trúc kỹ thuật, mà tại sao một số tính năng lại có ở đó. Một ví dụ đẹp có sẵn giá rẻ là TS-7200, có PC-104 đẹp (Bus Bus, như trong PC gốc). PC-104 (nhúng bus bus 16 bit tương thích với các máy tính IBM PC / AT 80286) là một cách tuyệt vời để một người không thiết kế bảng mạch xây dựng một hệ thống nhúng, vì các mô-đun có thể xếp chồng lên nhau. Bạn muốn thêm một số IO hoặc thiết bị ngoại vi? Chỉ cần xếp chồng lên một vài mô-đun. TS-7200 có lõi không x86 (cpu ARM9) có khả năng chạy cả endian lớn hoặc endian nhỏ. Nếu bạn chưa gặp phải "endianness" trong hành trình học kiến trúc của mình, thì đó là một nơi tốt để bắt gặp nó.