Do dòng ARM 7 dùng kiến trúc Von Neumann, nên tôi muốn xem qua về kiến trúc này , wiki tiếng việt ko có nên tôi viết ở đây, mục đích là để nhưng bác nào quan tâm thì mình cùng trao đổi.
Biên dịch từ:
Bản quyền thuộc về dientuvietnam.net, vui lòng ghi rõ nguồn khi trích dẫn
Von Neumann là một kiểu kiến trúc phần cứng máy tính. Mặc dù ngày nay đã có những kiến trúc khác được đưa ra, nhưng kiến trúc Von Neumann vẫn là phổ biến trong các máy PC (và ARM 7 nữa ).
Von Neumann là một nhà toán học (vật lí, ...đủ nghề...) người Mỹ, gốc Do Thái, là người đã đưa ra kiến trúc này.
Năm 1944, Von Neumann làm cố vấn cho dự án chế tạo máy tính ENIAC, để phục vụ cho các mục đích quân sự của Mỹ. Năm 1945, Sau khi dự án ENIAC hoàn thành, Von Neumann cùng nhóm một vài thành viên trong nhóm làm việc của ông lại tiến hành một dự án mới, là xây dựng một máy tính hiện đại hơn, với tên gọi là EDVAC.
Năm 1945, Von Neumann đã viết một bài báo có tính bước ngoặc 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 "), chứa đựng những ý tưởng về cầu trúc cơ bản mà một máy tính cần có . Bài báo này được Von Neumann trao đổi giới hạn với các thành viên trong nhóm làm việc, tuy nhiên, sau đó đã được phổ biến rộng rãi và ảnh hưởng mạnh đến sự phát triển của máy tính ở Mỹ và thế giới.
Von Neumann đã mườn tượng ra cấu trúc của máy tính là sự kết hợp của các thành phần sau:
1. arithmetic-logic unit (ALU)
2. Memory (RAM)
3. Von Neumann Control Unit
4. input and output devices
Một điểm đáng chú ý nhất trong kiến trúc Von Neumann là khái niệm "Chương trình được lưu trữ" (stored-program). Khái niệm này chỉ ra rằng: 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.
Ý tưởng này ngược với cấu trúc của các máy tính trước đó như máy ENIAC.
Do dữ liệu và các lệnh được lưu trong cùng một vùng nhớ (vùng nhớ ở đây là RAM), nên cần thiết phải phân biệt chúng. Do giá trị trên vùng nhớ chỉ là các số nhị phân 0,1 , do đó máy tính cần phải xác định được phần nào là dữ liệu, phần nào là lệnh, khối điều khiển Von Neumann - Von Neumann Control Unit (khối số 3 ở trên ) sẽ thực hiện nhiệm vụ này.
Khi khối điều khiển Von Neumann bắt đầu gọi một lệnh để xử lí, nó gọi tới bộ đếm chương trình (program counter) để trỏ tới địa chỉ của lệnh trong bộ nhớ, rồi thì lệnh này sẽ được nạp và thực thi bởi vi xử lí. Địa chỉ của dữ liệu cần xử lí được chứa trong chính lệnh cần thực thi.
Đang lúc 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. Quá trình này là tuần tự, nghĩa là các lệnh được thực thi một cách tuần tự, tại mỗi thời điểm chỉ có một lệnh được thực thi (nguyên văn: one instruction at a time). Đây là đặc điểm tiêu biểu của kiến trúc Von Neumann.
Để ý: khi máy tính (ở đây là CPU) tìm nạp lệnh từ bộ nhớ (fetching an instruction) hay xử lí dữ liệu trên bộ nhớ (tức thực thi lệnh) thì cũng điều xem là one instruction. Điều này có nghĩa là: Khi CPU tìm nạp lệnh từ bộ nhớ (read memory) thì nó ko thể xử lí dữ liệu (read/write memory), ngược lại, khi xử lí dữ liệu trên bộ nhớ thì nó ko thể tìm nạp lệnh. Hai thao tác trên ko thể nào thực hiện đồng thời .??? mấy bác cho ý kiến chỗ này nhé.
Tóm lại, đặc điểm chính của kiến trúc Von Neumann là:
1. Máy tính là sự kết hợp các các thành phần: ALU, khối điều khiển Von Neumann control unit, input/output, và một bộ nhớ có thể chứa cả lệnh và dữ liệu.
2. Các lệnh được thực hiện một cách tuần tự, mỗi thời điểm chỉ thực hiện được một lệnh.
Chính kiến trúc này, như Von Neumann đã tự thừa nhận là làm giới hạn tốc độ thực thi của chương trình do tại mỗi thời điểm chỉ thực thi được một lệnh. Tình trạng này được John Backus, một người tiên phong trong lĩnh vực máy tính gọi là tình trạng "Thắt cổ chai von Neumann" (von Neumann bottleneck). Tình trạng "Thắt cổ chai von Neumann" chỉ ra rằng, tốc độ hệ thống bị giới hạn do tốc độ thực thi của CPU nhanh hơn tốc độ cung cấp thông tin cho CPU từ bộ nhớ (tốc độ truy xuất bộ nhớ).
Ngày nay, có nhiều kỹ thuật nhằm giúp hạn chế tình trạng Thắt cổ chai von Neumann , như tăng độ rộng bus dữ liệu, kỹ thuật dùng bộ nhớ cache, ...cùng các kỹ thuật tiên tiến khác, tuy nhiên, bất chấp những cải tiến trên, kiến trúc dựa trên kiến trúc von Neumann vẫn là kiến trúc máy tính phổ biến nhất hiện nay.
(bác nào rãnh xin bổ sung tiếp nhé , phần sau chủ yếu là sự khác biệt của kiến trúc Von Neumann và kiến trúc havvard)
Biên dịch từ:
Code:
http://www.bookrags.com/research/von-neumann-architecture-wcs/
Von Neumann là một kiểu kiến trúc phần cứng máy tính. Mặc dù ngày nay đã có những kiến trúc khác được đưa ra, nhưng kiến trúc Von Neumann vẫn là phổ biến trong các máy PC (và ARM 7 nữa ).
Von Neumann là một nhà toán học (vật lí, ...đủ nghề...) người Mỹ, gốc Do Thái, là người đã đưa ra kiến trúc này.
Năm 1944, Von Neumann làm cố vấn cho dự án chế tạo máy tính ENIAC, để phục vụ cho các mục đích quân sự của Mỹ. Năm 1945, Sau khi dự án ENIAC hoàn thành, Von Neumann cùng nhóm một vài thành viên trong nhóm làm việc của ông lại tiến hành một dự án mới, là xây dựng một máy tính hiện đại hơn, với tên gọi là EDVAC.
Năm 1945, Von Neumann đã viết một bài báo có tính bước ngoặc 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 "), chứa đựng những ý tưởng về cầu trúc cơ bản mà một máy tính cần có . Bài báo này được Von Neumann trao đổi giới hạn với các thành viên trong nhóm làm việc, tuy nhiên, sau đó đã được phổ biến rộng rãi và ảnh hưởng mạnh đến sự phát triển của máy tính ở Mỹ và thế giới.
Von Neumann đã mườn tượng ra cấu trúc của máy tính là sự kết hợp của các thành phần sau:
1. arithmetic-logic unit (ALU)
2. Memory (RAM)
3. Von Neumann Control Unit
4. input and output devices
Một điểm đáng chú ý nhất trong kiến trúc Von Neumann là khái niệm "Chương trình được lưu trữ" (stored-program). Khái niệm này chỉ ra rằng: 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.
Ý tưởng này ngược với cấu trúc của các máy tính trước đó như máy ENIAC.
Do dữ liệu và các lệnh được lưu trong cùng một vùng nhớ (vùng nhớ ở đây là RAM), nên cần thiết phải phân biệt chúng. Do giá trị trên vùng nhớ chỉ là các số nhị phân 0,1 , do đó máy tính cần phải xác định được phần nào là dữ liệu, phần nào là lệnh, khối điều khiển Von Neumann - Von Neumann Control Unit (khối số 3 ở trên ) sẽ thực hiện nhiệm vụ này.
Khi khối điều khiển Von Neumann bắt đầu gọi một lệnh để xử lí, nó gọi tới bộ đếm chương trình (program counter) để trỏ tới địa chỉ của lệnh trong bộ nhớ, rồi thì lệnh này sẽ được nạp và thực thi bởi vi xử lí. Địa chỉ của dữ liệu cần xử lí được chứa trong chính lệnh cần thực thi.
Đang lúc 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. Quá trình này là tuần tự, nghĩa là các lệnh được thực thi một cách tuần tự, tại mỗi thời điểm chỉ có một lệnh được thực thi (nguyên văn: one instruction at a time). Đây là đặc điểm tiêu biểu của kiến trúc Von Neumann.
Để ý: khi máy tính (ở đây là CPU) tìm nạp lệnh từ bộ nhớ (fetching an instruction) hay xử lí dữ liệu trên bộ nhớ (tức thực thi lệnh) thì cũng điều xem là one instruction. Điều này có nghĩa là: Khi CPU tìm nạp lệnh từ bộ nhớ (read memory) thì nó ko thể xử lí dữ liệu (read/write memory), ngược lại, khi xử lí dữ liệu trên bộ nhớ thì nó ko thể tìm nạp lệnh. Hai thao tác trên ko thể nào thực hiện đồng thời .??? mấy bác cho ý kiến chỗ này nhé.
Tóm lại, đặc điểm chính của kiến trúc Von Neumann là:
1. Máy tính là sự kết hợp các các thành phần: ALU, khối điều khiển Von Neumann control unit, input/output, và một bộ nhớ có thể chứa cả lệnh và dữ liệu.
2. Các lệnh được thực hiện một cách tuần tự, mỗi thời điểm chỉ thực hiện được một lệnh.
Chính kiến trúc này, như Von Neumann đã tự thừa nhận là làm giới hạn tốc độ thực thi của chương trình do tại mỗi thời điểm chỉ thực thi được một lệnh. Tình trạng này được John Backus, một người tiên phong trong lĩnh vực máy tính gọi là tình trạng "Thắt cổ chai von Neumann" (von Neumann bottleneck). Tình trạng "Thắt cổ chai von Neumann" chỉ ra rằng, tốc độ hệ thống bị giới hạn do tốc độ thực thi của CPU nhanh hơn tốc độ cung cấp thông tin cho CPU từ bộ nhớ (tốc độ truy xuất bộ nhớ).
Ngày nay, có nhiều kỹ thuật nhằm giúp hạn chế tình trạng Thắt cổ chai von Neumann , như tăng độ rộng bus dữ liệu, kỹ thuật dùng bộ nhớ cache, ...cùng các kỹ thuật tiên tiến khác, tuy nhiên, bất chấp những cải tiến trên, kiến trúc dựa trên kiến trúc von Neumann vẫn là kiến trúc máy tính phổ biến nhất hiện nay.
(bác nào rãnh xin bổ sung tiếp nhé , phần sau chủ yếu là sự khác biệt của kiến trúc Von Neumann và kiến trúc havvard)
Comment