Một máy tính lưu trữ chương trình của nó trong bộ nhớ và giữ riêng biệt với dữ liệu được gọi là gì?
Trong hầu hết các máy tính, các lệnh riêng lẻ được lưu trữ dưới dạng mã máy với mỗi lệnh được đưa ra một số duy nhất (mã thao tác hoặc viết tắt là opcode). Lệnh cộng hai số với nhau sẽ có một opcode; lệnh nhân chúng sẽ có một opcode khác, v.v. Các máy tính đơn giản nhất có thể thực hiện bất kỳ số ít lệnh khác nhau; các máy tính phức tạp hơn có vài trăm để lựa chọn, mỗi mã số duy nhất. Vì bộ nhớ của máy tính có thể lưu trữ các số, nó cũng có thể lưu trữ các mã lệnh. Điều này dẫn đến thực tế quan trọng là toàn bộ chương trình (chỉ là danh sách các lệnh này) có thể được biểu diễn dưới dạng danh sách các số và bản thân chúng có thể được thao tác bên trong máy tính theo cách tương tự như dữ liệu số. Khái niệm cơ bản về lưu trữ các chương trình trong bộ nhớ của máy tính cùng với dữ liệu chúng hoạt động là mấu chốt của kiến trúc von Neumann, hoặc chương trình được lưu trữ [cần dẫn nguồn]. Trong một số trường hợp, một máy tính có thể lưu trữ một số hoặc tất cả chương trình của nó trong bộ nhớ được giữ tách biệt với dữ liệu mà nó hoạt động. Điều này được gọi là kiến trúc Harvard theo máy tính Harvard Mark I. Máy tính von Neumann hiện đại hiển thị một số đặc điểm của kiến trúc Harvard trong thiết kế của chúng, chẳng hạn như trong bộ nhớ cache CPU.
kiến trúc Harvard