Architecture
We now introduce eight great ideas that computer architects have been invented in the last 60 years of computer design. These ideas are so powerful they have lasted long after the first computer that used them, with newer architects demonstrating their admiration by imitating their predecessors. These great ideas are themes that we will weave through this and subsequent chapters as examples arise. To point out their influence, in this section we introduce icons and highlighted terms that represent the great ideas and we use them to identify the nearly 100 sections of the book that feature use of the great ideas.
Design for Moore’s Law
The one constant for computer designers is rapid change, which is driven largely by
Moore’s Law. It states that integrated circuit resources double every 18–24 months.
Moore’s Law resulted from a 1965 prediction of such growth in IC capacity made by Gordon Moore, one of the founders of Intel. As computer designs can take years, the resources available per chip can easily double or quadruple between the start and finish of the project. Like a skeet shooter, computer architects must anticipate where the technology will be when the design fi nishes rather than design for where it starts. We use an “up and to the right” Moore’s Law graph to represent designing for rapid change.
Use Abstraction to Simplify Design
Both computer architects and programmers had to invent techniques to make themselves more productive, for otherwise design time would lengthen as dramatically as resources grew by Moore’s Law. A major productivity technique for hardware and soft ware is to use abstractions to represent the design at different levels of representation; lower-level details are hidden to off er a simpler model at higher levels. We’ll use the abstract painting icon to represent this second great idea.
Make the Common Case Fast
Making the common case fast will tend to enhance performance better than optimizing the rare case. Ironically, the common case is oft en simpler than the rare case and hence is oft en easier to enhance. Th is common sense advice implies that you know what the common case is, which is only possible with careful experimentation and measurement (see Section 1.6). We use a sports car as the icon for making the common case fast, as the most common trip has one or two passengers, and it’s surely easier to make a fast sports car than a fast minivan!
Performance via Parallelism
Since the dawn of computing, computer architects have off ered designs that get more performance by performing operations in parallel. We’ll see many examples of parallelism in this book. We use multiple jet engines of a plane as our icon for parallel performance.
Performance via Pipelining
A particular pattern of parallelism is so prevalent in computer architecture that it merits its own name: pipelining. For example, before fi re engines, a “bucket brigade” would respond to a fi re, which many cowboy movies show in response to a dastardly act by the villain. Th e townsfolk form a human chain to carry a water source to fi re, as they could much more quickly move buckets up the chain instead of individuals running back and forth. Our pipeline icon is a sequence of pipes, with each section representing one stage of the pipeline.
Performance via Prediction
Following the saying that it can be better to ask for forgiveness than to ask for permission, the fi nal great idea is prediction. In some cases it can be faster on average to guess and start working rather than wait until you know for sure, assuming that the mechanism to recover from a misprediction is not too expensive and your prediction is relatively accurate. We use the fortune-teller’s crystal ball as our prediction icon.
Hierarchy of Memories
Programmers want memory to be fast, large, and cheap, as memory speed oft en shapes performance, capacity limits the size of problems that can be solved, and the cost of memory today is oft en the majority of computer cost. Architects have found that they can address these confl icting demands with a hierarchy of memories, with the fastest, smallest, and most expensive memory per bit at the top of the hierarchy and the slowest, largest, and cheapest per bit at the bottom. As we shall see in Chapter 5, caches give the programmer the illusion that main memory is nearly as fast as the top of the hierarchy and nearly as big and cheap as the bottom of the hierarchy. We use a layered triangle icon to represent the memory hierarchy. The shape indicates speed, cost, and size: the closer to the top, the faster and more expensive per bit the memory; the wider the base of the layer, the bigger the memory.
Dependability via Redundancy
Computers not only need to be fast; they need to be dependable. Since any physical
device can fail, we make systems dependable by including redundant components that
can take over when a failure occurs and to help detect failures. We use the tractor-traile
Kiến trúcBây giờ chúng tôi giới thiệu 8 ý tưởng tuyệt vời mà kiến trúc sư máy tính đã được phát minh ra trong 60 năm qua thiết kế máy tính. Những ý tưởng mạnh mẽ như vậy họ đã kéo dài lâu sau khi máy tính đầu tiên sử dụng chúng, với kiến trúc sư mới thể hiện sự ngưỡng mộ của họ bằng cách bắt chước những người tiền nhiệm của họ. Những ý tưởng tuyệt vời là chủ đề mà chúng ta sẽ đi len lỏi qua điều này và chương tiếp theo như ví dụ phát sinh. Để chỉ ra ảnh hưởng của họ, trong phần này chúng tôi giới thiệu các biểu tượng và điều kiện được đánh dấu là đại diện cho những ý tưởng tuyệt vời và chúng tôi sử dụng chúng để xác định các phần gần 100 cuốn sách sử dụng tính năng của những ý tưởng tuyệt vời.Thiết kế cho định luật MooreHằng số một cho các nhà thiết kế máy tính là thay đổi nhanh chóng, đó là lái xe chủ yếu bởiĐịnh luật Moore. Các quốc gia đó mạch nguồn lực tăng gấp đôi mỗi 18-24 tháng.Định luật Moore đã dẫn đến từ một dự báo năm 1965 của tăng trưởng như vậy IC công suất được thực hiện bởi Gordon Moore, một trong những người sáng lập của Intel. Như thiết kế máy tính có thể mất nhiều năm, nguồn lực sẵn có cho một con chip có thể dễ dàng tăng gấp đôi hoặc bốn giữa bắt đầu và kết thúc của dự án. Giống như một game bắn súng skeet, kiến trúc sư tính phải dự đoán nơi mà công nghệ sẽ là khi thiết kế fi nishes chứ không phải là các thiết kế cho nơi mà nó bắt đầu. Chúng tôi sử dụng một "lập và ở bên phải" Moore luật biểu đồ để đại diện cho các thiết kế cho sự thay đổi nhanh chóng.Sử dụng trừu tượng để đơn giản hóa thiết kếCả hai máy tính kiến trúc sư và lập trình viên đã phát minh ra kỹ thuật để làm cho họ hiệu quả hơn, thiết kế không thời gian sẽ kéo dài như đáng kể nguồn tài nguyên lớn bởi định luật Moore. Một kỹ thuật sản xuất lớn cho phần cứng và ware mềm là sử dụng abstractions để đại diện cho thiết kế tại các cấp độ khác nhau của các đại diện; cấp thấp hơn chi tiết ẩn để tắt er một mô hình đơn giản hơn ở cấp độ cao hơn. Chúng tôi sẽ sử dụng biểu tượng bức tranh trừu tượng để đại diện cho ý tưởng tuyệt vời thứ hai này.Làm cho trường hợp nhanh phổ biếnLàm cho trường hợp phổ biến nhanh chóng sẽ có xu hướng tăng cường hiệu suất tốt hơn so với việc tối ưu hóa các trường hợp hiếm. Trớ trêu thay, là trường hợp phổ biến là oft en đơn giản hơn là trường hợp hiếm và do đó thường là en dễ dàng hơn để nâng cao. Th là tư vấn thông thường ngụ ý rằng bạn biết những gì là trường hợp phổ biến, mà chỉ có thể với cẩn thận thử nghiệm và đo lường (xem phần 1.6). Chúng tôi sử dụng một chiếc xe thể thao như là biểu tượng để làm cho trường hợp nhanh phổ biến, như chuyến đi phổ biến nhất có một hoặc hai hành khách, và đó là chắc chắn dễ dàng hơn để làm cho một chiếc xe thể thao nhanh hơn một minivan nhanh!Hiệu suất thông qua xử lý song songKể từ khi bình minh của máy tính, kiến trúc sư máy tính đã ra mẫu thiết kế của ered nhận được nhiều hơn hiệu suất bằng cách thực hiện các hoạt động song song. Chúng ta sẽ thấy nhiều ví dụ của xử lý song song trong cuốn sách này. Chúng tôi sử dụng nhiều động cơ phản lực của một máy bay như là biểu tượng của chúng tôi để thực hiện song song.Hiệu suất via PipeliningMột mô hình cụ thể của xử lý song song là rất phổ biến trong kiến trúc máy tính nó tích tên riêng của mình: pipelining. Ví dụ: trước khi fi tái động cơ, một lữ đoàn Xô"" sẽ đáp ứng một fi re, mà nhiều bộ phim cao bồi Hiển thị để đáp ứng với một hành động dastardly bằng các vai phản diện. Th e townsfolk tạo thành một chuỗi con người để thực hiện một nguồn nước Fi re, khi họ có thể di chuyển nhanh hơn nhiều thùng lên chuỗi thay vì cá nhân chạy trở lại và ra. Biểu tượng đường ống dẫn của chúng tôi là một chuỗi các đường ống, với mỗi phần đại diện cho một giai đoạn của đường ống.Hiệu suất via dự đoánSau khi nói rằng nó có thể tốt hơn để yêu cầu cho sự tha thứ hơn để xin phép, fi nal ý tưởng tuyệt vời này là dự đoán. Trong một số trường hợp, nó có thể nhanh hơn trung bình để đoán và bắt đầu làm việc chứ không phải đợi cho đến khi bạn biết chắc chắn, giả định rằng các cơ chế để phục hồi từ một misprediction không phải là quá đắt và dự đoán của bạn là tương đối chính xác. Chúng tôi sử dụng tài sản-teller bóng tinh thể như là biểu tượng của chúng tôi dự đoán.Hệ thống phân cấp của ký ứcLập trình viên muốn nhớ được nhanh chóng, lớn và giá rẻ, như bộ nhớ tốc độ Microsoft en hình hiệu suất, năng lực hạn chế kích thước của các vấn đề có thể giải quyết và chi phí bộ nhớ hôm nay là Microsoft en phần lớn máy tính chi phí. Kiến trúc sư đã tìm thấy rằng họ có thể địa chỉ các nhu cầu icting confl với một hệ thống phân cấp của ký ức, với bộ nhớ nhanh nhất, nhỏ nhất và đắt nhất mỗi chút ở đầu của hàng giáo phẩm và chậm nhất, lớn nhất, và rẻ nhất cho một chút ở phía dưới. Như chúng ta sẽ thấy trong chương 5, lưu trữ cho các lập trình viên ảo tưởng rằng bộ nhớ chính là gần như nhanh như hàng đầu của hệ thống phân cấp và gần như là lớn và giá rẻ như dưới cùng của hệ thống phân cấp. Chúng tôi sử dụng một biểu tượng tam giác lớp để đại diện cho hệ thống phân cấp của bộ nhớ. Hình chỉ ra tốc độ, chi phí và kích thước: gần gũi hơn với phía trên, nhanh hơn và đắt tiền hơn cho mỗi bit bộ nhớ; rộng hơn với các cơ sở của lớp, lớn hơn bộ nhớ.Độ tin cậy thông qua sự thừaMáy tính không chỉ cần phải được nhanh chóng; họ cần phải được tin cậy. Kể từ khi bất kỳ vật lýthiết bị có thể thất bại, chúng tôi làm cho hệ thống đáng tin cậy bằng cách bao gồm cả phần dự phòng đócó thể mất hơn khi một lỗi xảy ra và để giúp phát hiện thất bại. Chúng tôi sử dụng kéo-traile
đang được dịch, vui lòng đợi..
