Kiến trúc Neumann là kiểu kiến trúc máy tính do von Neumann đưa ra bao gồm các thành phần:
- Bộ số học/logic (ALU);
- Bộ nhớ (Memory Unit);
- Bộ điều khiển (CU);
- Thiết bị vào/ra (Input/Output Devices).
Bộ số học và bộ điều khiển là các cấu phần quan trọng nhất tạo thành bộ xử lý trung tâm (CPU) của các máy tính theo kiến trúc von Neumann, đặc biệt là các máy vi tính (xt. Bộ xử lý trung tâm)
Điểm đáng chú ý nhất trong kiến trúc Neumann là khái niệm "Chương trình được lưu trữ" (stored-program) xác định dữ liệu (data) cùng với lệnh (instruction) được dùng để xử lý dữ liệu đó có thể được lưu giữ trên cùng một vùng nhớ của máy tính. Đây là ý tưởng hoàn toàn khác biệt với cấu trúc của các máy tính ra đời trước đó như ENIAC (xt. ENIAC).
Do dữ liệu và các lệnh được lưu trong cùng một vùng nhớ (thực chất là RAM, xt. Bộ nhớ máy tính) nên cần thiết phải phân biệt chúng vì giá trị trên vùng nhớ chỉ là dãy các số nhị phân 0 và 1. Trong kiến trúc Neumann, bộ điều khiển đảm nhận việc phân biệt phần nào là dữ liệu, phần nào là lệnh được lưu trong bộ nhớ. Khi bắt đầu gọi một lệnh để xử lí, bộ điều khiển sẽ gọi tới bộ đếm chương trình (program counter) để trỏ tới địa chỉ của lệnh trong bộ nhớ, lệnh này sẽ được nạp và thực thi. Địa chỉ của dữ liệu cần xử lý được chứa trong chính lệnh cần thực thi, dữ liệu sẽ được nạp/ghi (read/write) theo yêu cầu của câu lệnh đó. Trong khi tìm nạp và thực thị lệnh, bộ đếm chương trình sẽ tăng lên để trỏ tới lệnh tiếp theo cần thực thi. Như vậy,việc thực thi các lệnh là một quá trình tuần tự, tại mỗi thời điểm chỉ có một lệnh được thực thi. Đây là đặc điểm tiêu biểu của kiến trúc Neumann.
Kiến trúc Neumann được đề cập lần đầu tiên vào năm 1945 trong một tài liệu có tính bước ngoặt với tựa đề: "Bản thảo đầu tiên về máy tính EDVAC" ("The First Draft of a Report on the EDVAC") được viết trong quá trình triển khai dự án chế tạo máy tính EDVAC hiện đại hơn so với máy tính ENIAC ra đời trước đó một năm. Tài liệu đó mô tả kiến trúc thiết kế cho một máy tính điện tử kỹ thuật số. Tài liệu này ban đầu được von Neumann trao đổi giới hạn với các thành viên trong nhóm tham gia dự án, tuy nhiên, sau đó nó đã được phổ biến rộng rãi, đem đến những ảnh hưởng hết sức to lớn tới sự phát triển của máy tính ở Hoa Kì và thế giới.
Khi bộ xử lý trung tâm tìm nạp lệnh từ bộ nhớ (fetching an instruction) thì nó không thể đọc/ghi dữ liệu (read/write memory). ngược lại, khi đọc/ghi dữ liệu trên bộ nhớ thì nó không thể tìm nạp lệnh do cả hai thao tác cùng sử dụng chung một đường truyền (bus). Nói cách khác, hai thao tác trên không thể nào thực hiện đồng thời. Điều này, dẫn tới tình trạng được gọi là tình trạng "Thắt cổ chai Von Neumann" (Von Neumann bottleneck) làm hạn chế tốc độ hệ thống do tốc độ thực thi của bộ xử lý trung tâm nhanh hơn tốc độ cung cấp thông tin cho bộ xử lý trung tâm từ bộ nhớ (tốc độ truy cập bộ nhớ). Ngày nay, có nhiều kỹ thuật đã được sử dụng như tăng độ rộng bus hay dùng bộ nhớ đệm nhằm giúp hạn chế tình trạng này.
Khác với kiến trúc Neumann, một kiến trúc máy tính khá phổ biến khác cũng ra đời trong giai đoạn những năm đầu 1940, kiến trúc Harvard cho phép thực hiện cả hai thao tác tìm nạp lệnh và xử lý dữ liệu (xt. Kiến trúc Harvard). Tuy nhiên, do các máy tính theo kiến trúc Harvard đều cồng kềnh và thiết kế phức tạp cho nên kiến trúc máy tính dựa trên KTNM vẫn là kiến trúc máy tính phổ biến nhất hiện nay. Phần lớn các máy tính hiện nay, đặc biệt là các máy tính cá nhân đều được thiết kế trên cơ sở KTNM (xt. Máy tính cá nhân).
Tài liệu tham khảo[sửa]
- Von Neumann, John (1945). First Draft of a Report on the EDVAC (PDF). retrieved August 24, 2011.
- Linda Null, Julia Lobbur. The Essentials of Computer Organization and Architecture. Jones & Bartlett Pub., 2003.
- Blaauw, Gerrit A., and Frederick P. Brooks Jr. Computer architecture: concepts and evolution. Addison-Wesley Longman Publishing Co., Inc., 1997.
- John L. Hennessy and David Patterson (2006). Computer Architecture: A Quantitative Approach (Fourth ed. ). Morgan Kaufmann. ISBN 978-0-12-370490-0.
- Bell, C. Gordon; and Newell, Allen (1971). Computer Structures: Readings and Examples, McGraw-Hill.
- Tanenbaum, Andrew S. (1979). Structured Computer Organization. Englewood Cliffs, New Jersey: Prentice-Hall. ISBN 0-13-148521-0.