Sự khác biệt giữa Von Neumann và Harvard Architecture

Có hai loại kiến ​​trúc máy tính kỹ thuật số mô tả chức năng và việc thực hiện các hệ thống máy tính. Một là kiến ​​trúc Von Neumann được thiết kế bởi nhà vật lý và toán học nổi tiếng John Von Neumann vào cuối những năm 1940, và một kiến ​​trúc khác là kiến ​​trúc Harvard dựa trên máy tính chuyển tiếp Harvard Mark I ban đầu sử dụng các hệ thống bộ nhớ riêng để lưu trữ dữ liệu và hướng dẫn.

Kiến trúc nguyên bản của Harvard được sử dụng để lưu trữ các hướng dẫn về băng đục lỗ và dữ liệu trong các quầy cơ điện. Kiến trúc Von Neumann tạo thành nền tảng của điện toán hiện đại và dễ thực hiện hơn. Bài viết này xem xét hai kiến ​​trúc máy tính riêng biệt và giải thích sự khác biệt giữa hai.

Kiến trúc Von Neumann là gì?

Đây là một thiết kế lý thuyết dựa trên khái niệm máy tính được lưu trữ trong đó dữ liệu chương trình và dữ liệu hướng dẫn được lưu trữ trong cùng một bộ nhớ.

Kiến trúc được thiết kế bởi nhà toán học và vật lý học nổi tiếng John Von Neumann vào năm 1945. Cho đến khi khái niệm thiết kế máy tính của Von Neumann, các máy tính được thiết kế cho một mục đích định trước duy nhất sẽ thiếu tinh tế do việc nối lại mạch bằng tay.

Ý tưởng đằng sau các kiến ​​trúc Von Neumann là khả năng lưu trữ các hướng dẫn trong bộ nhớ cùng với dữ liệu mà các hướng dẫn hoạt động. Nói tóm lại, kiến ​​trúc Von Neumann đề cập đến một khung chung mà phần cứng, lập trình và dữ liệu của máy tính phải tuân theo.

Kiến trúc Von Neumann bao gồm ba thành phần riêng biệt: một đơn vị xử lý trung tâm (CPU), đơn vị bộ nhớ và giao diện đầu vào / đầu ra (I / O). CPU là trái tim của hệ thống máy tính bao gồm ba thành phần chính: Đơn vị số học và logic (ALU), đơn vị điều khiển (CU) và các thanh ghi.

ALU chịu trách nhiệm thực hiện tất cả các hoạt động số học và logic trên dữ liệu, trong khi đơn vị điều khiển xác định thứ tự dòng lệnh cần được thực hiện trong các chương trình bằng cách phát tín hiệu điều khiển đến phần cứng.

Các thanh ghi về cơ bản là các vị trí lưu trữ tạm thời lưu trữ các địa chỉ của các hướng dẫn cần được thực thi. Đơn vị bộ nhớ bao gồm RAM, là bộ nhớ chính được sử dụng để lưu trữ dữ liệu và hướng dẫn chương trình. Giao diện I / O cho phép người dùng giao tiếp với thế giới bên ngoài như thiết bị lưu trữ.

Kiến trúc Harvard là gì?

Nó là một kiến ​​trúc máy tính với các đường dẫn lưu trữ và tín hiệu riêng biệt cho dữ liệu và hướng dẫn chương trình. Không giống như kiến ​​trúc Von Neumann sử dụng một bus duy nhất để tìm nạp các lệnh từ bộ nhớ và truyền dữ liệu từ một phần của máy tính sang phần khác, kiến ​​trúc Harvard có không gian bộ nhớ riêng cho dữ liệu và hướng dẫn.

Cả hai khái niệm đều giống nhau ngoại trừ cách chúng truy cập vào ký ức. Ý tưởng đằng sau kiến ​​trúc Harvard là chia bộ nhớ thành hai phần - một phần dành cho dữ liệu và phần khác dành cho các chương trình. Các điều khoản được dựa trên máy tính chuyển tiếp Harvard Mark I ban đầu sử dụng một hệ thống cho phép cả dữ liệu và chuyển giao và tìm nạp lệnh được thực hiện cùng một lúc.

Các thiết kế máy tính trong thế giới thực thực sự dựa trên kiến ​​trúc Harvard đã được sửa đổi và thường được sử dụng trong vi điều khiển và DSP (Xử lý tín hiệu số).

Sự khác biệt giữa Von Neumann và Harvard Architecture

Khái niệm cơ bản về kiến ​​trúc Von Neumann và Harvard

Kiến trúc Von Neumann là một thiết kế máy tính lý thuyết dựa trên khái niệm chương trình được lưu trữ trong đó các chương trình và dữ liệu được lưu trữ trong cùng một bộ nhớ. Khái niệm này được thiết kế bởi một nhà toán học John Von Neumann vào năm 1945 và hiện đang là cơ sở của hầu hết các máy tính hiện đại. Kiến trúc Harvard dựa trên mô hình máy tính dựa trên rơle Harvard Mark I ban đầu sử dụng các xe buýt riêng để lấy dữ liệu và hướng dẫn.

Hệ thống bộ nhớ của Von Neumann và Harvard Architecture

Kiến trúc Von Neumann chỉ có một bus được sử dụng cho cả tìm nạp lệnh và truyền dữ liệu, và các hoạt động phải được lên lịch vì chúng không thể được thực hiện cùng một lúc. Mặt khác, kiến ​​trúc Harvard có không gian bộ nhớ riêng cho các hướng dẫn và dữ liệu, giúp tách riêng các tín hiệu và lưu trữ vật lý cho mã và bộ nhớ dữ liệu, từ đó cho phép truy cập đồng thời từng hệ thống bộ nhớ.

Hướng dẫn xử lý kiến ​​trúc Von Neumann và Harvard

Trong kiến ​​trúc Von Neumann, đơn vị xử lý sẽ cần hai chu kỳ đồng hồ để hoàn thành một hướng dẫn. Bộ xử lý lấy lệnh từ bộ nhớ trong chu kỳ đầu tiên và giải mã nó, sau đó dữ liệu được lấy từ bộ nhớ trong chu kỳ thứ hai. Trong kiến ​​trúc Harvard, đơn vị xử lý có thể hoàn thành một hướng dẫn trong một chu kỳ nếu có các chiến lược đường ống phù hợp.

Chi phí của Von Neumann và Harvard Architecture

Vì các hướng dẫn và dữ liệu sử dụng cùng một hệ thống xe buýt trong kiến ​​trúc Von Neumann, nó đơn giản hóa việc thiết kế và phát triển bộ điều khiển, cuối cùng sẽ giảm chi phí sản xuất xuống mức tối thiểu. Phát triển đơn vị điều khiển trong kiến ​​trúc Harvard đắt hơn trước vì kiến ​​trúc phức tạp sử dụng hai xe buýt để được hướng dẫn và dữ liệu.

Sử dụng kiến ​​trúc Von Neumann và Harvard

Kiến trúc Von Neumann chủ yếu được sử dụng trong mọi máy bạn nhìn thấy từ máy tính để bàn và máy tính xách tay đến máy tính và máy trạm hiệu suất cao. Kiến trúc Harvard là một khái niệm khá mới được sử dụng chủ yếu trong vi điều khiển và xử lý tín hiệu số (DSP).

Von Neumann vs Harvard Architecture: Biểu đồ so sánh

Tóm tắt về Von Neumann so với Kiến trúc Harvard

Kiến trúc Von Neumann tương tự như kiến ​​trúc Harvard ngoại trừ nó sử dụng một chiếc xe buýt duy nhất để thực hiện cả việc tìm nạp lệnh và truyền dữ liệu, do đó các hoạt động phải được lên lịch. Mặt khác, kiến ​​trúc Harvard sử dụng hai địa chỉ bộ nhớ riêng cho dữ liệu và hướng dẫn, cho phép cung cấp dữ liệu vào cả hai bus cùng một lúc. Tuy nhiên, kiến ​​trúc phức tạp chỉ làm tăng thêm chi phí phát triển của đơn vị điều khiển so với chi phí phát triển thấp hơn của kiến ​​trúc Von Neumann ít phức tạp hơn, sử dụng một bộ đệm thống nhất duy nhất.