Uploaded by Phuong Vu

NGUYÊN-LÍ-LÀM-VIỆC-CỦA-MÁY-TÍNH (3)

advertisement
NGUYÊN LÍ LÀM VIỆC CỦA MÁY TÍNH.
1. Bộ xử lí
- bộ xử lí (CPU) có chức năng điều khiển máy tính và xử lý thông tin theo chương
trình đã được lưu trữ trong bộ nhớ. CPU gồm các thành phần:
+ Đồng hồ (clock) tạo các xung điện áp chính xác, đều đặn để sinh ra các tín hiệu
cơ bản để điều chế thông tin và đồng bộ hoá các thành phần của máy tính.
+ Khối điều khiển (CU: control unit) là khối chức năng điều khiển sự hoạt động
của MTĐT theo chương trình định sẵn.
+ Khối số học và logic (ALU: arithmetic and logic unit) là khối chức năng thực
hiện các phép toán cơ sở của máy như các phép toán số học, các phép toán logic,
phép tạo mã v. v. Khối số học và logic bao gồm những mạch chức năng để thực
hiện các phép toán đó.
+ Các thanh ghi được CPU dùng như bộ nhớ nhanh, có thể tương tác trực tiếp với
các mạnh xử lý trong khi đang thực hiện các lệnh như địa chỉ lệnh sắp thực hiện,
dữ liệu, kết quả xử lý, lệnh đang thực hiện...
2. Quá trình thực hiện lệnh và nguyên lí Von Neumann
2.1 Cấu trúc lệnh và quá trình thực hiện lệnh.
- Mỗi lệnh máy là một yêu cầu bộ số học và logic thực hiện một phép xử lý cơ sở
như cộng, nhân, nhân logic, cộng logic, chọn lệnh cần thực hiện tiếp theo v.v. Các
lệnh này phải chỉ ra đầy đủ các thông tin sau:
+ Phép xử lý cần thực hiện. Trong lệnh máy nó cho bằng một số bit gọi là mã
lệnh.
+ Nơi đặt dữ liệu của lệnh. Thông tin này có thể là địa chỉ trong Bộ nhớ trong.
Nếu dữ liệu đặt ở thanh ghi thì chính mã lệnh sẽ quyết định ALU chọn dữ liệu từ
thanh ghi mà không phải tải về từ Bộ nhớ trong.
+ Nơi đặt kết quả xử lý. Nếu kết quả xử lý đặt tại Bộ nhớ trong thì thông tin về
địa chỉ cũng phải đặt vào lệnh và sau khi thực hiện kết quả được trả về Bộ nhớ
trong. Mặc định, các máy tính đều có một thanh ghi để kết quả thực hiện của các
lệnh.
 Như vậy một lệnh có cấu trúc như sau:
Mã lệnh
các thành phần địa chỉ
- Quá trình thực hiện một chương trình là một quá trình thực hiện liên tiếp từng
lệnh. Để quản lý thứ tự thực hiện các lệnh, CU sử dụng một thanh ghi gọi là thanh
đếmđịa chỉ (Program Counter - PC) ghi địa chỉ của lệnh sẽ thực hiện tiếp theo. Giá
trị khởi tạo của PC là địa chỉ lệnh đầu tiên chương trình.
- MTĐT được điều khiển bởi các lệnh của chương trình. Chu kỳ thực hiện một lệnh
bao gồm các bước sau:
+ Đọc lệnh. Trong chu kì đọc lệnh, CU gửi nội dung PC vào bộ giải mã địa chỉ để
đọc byte đầu tiên của lệnh lên một thanh ghi khác là thanh ghi lệnh. PC sẽ tăng
lên một đơn vị để CU đọc byte tiếp theo. Độ dài các lệnh có thể khác nhau nhưng
byte đầu tiên thường là nơi chứa mã lệnh.
+ Giải mã lệnh. CU căn cứ vào mã lệnh để đọc nốt các thông tin địa chỉ của lệnh và
hoàn thành việc đọc lệnh, PC tiếp tục tăng theo số lượng byte đã đọc vào.
+ Đọc dữ liệu. Các địa chỉ dữ liệu được gửi vào bộ giải mã địa chỉ để đọc nội dung
các đối tượng của lệnh gọi là các tóan hạng (operand) vào các thanh ghi dũ liệu.
+ Thực hiện lệnh. Phát tín hiệu điều khiển cho mạch chức năng của ALU thực hiện
phép toán mà mã lệnh xác định. Sau đó quay lại chu kì đọc lệnh với nội dung mới
của PC. Chú ý rằng nếu lệnh thực hiện là lệnh điều khiển thì giai đoạn thực hiện
này sẽ đặt địa chỉ lệnh sẽ thực hiện tiếp theo vào PC.
Như vậy để thực hiện một lệnh nói chung phải đọc/ghi bộ nhớ nhiều lần.
Có hai phương pháp tổ chức điều khiển:
+ Phương pháp điều khiển cứng. Ứng với mỗi lệnh máy có một mạch địên thực hiện
lệnh đã cho theo các tín hiệu điều khiển.
+ Phương pháp điều khiển vi chương trình. Mỗi lệnh được thực hiện thông qua các
lệnh sơ cấp hơn gọi là các vi lệnh. Khi đó người ta chỉ phải thiết kế phần cứng ở
mức vi lệnh. Ví dụ, phép đọc một byte trong bộ nhớ có thể lấy làm một vi lệnh.
Như vậy, một phép tính có thể thực hiện bằng cách thi hành một dãy vi lệnh gọi là
vi chương trình. Do đó, khi thay đổi lệnh chỉ cần thay đổi vi chương trình tương
ứng mà không cần thay đổi cấu trúc vật lí của MTĐT
2.2 nguyên lý Von Neumann
- Nguyên lý điều khiển bằng trương trình:
+ máy tính thực hiện một công việc theo trương trình được đưa vào bộ nhớ
+ nguyên lý này đảm bảo khả năng thực hiện tự động để giải quyết một bài toán
của máy tính điện tử
- Nguyên lý truy cập qua địa chỉ
+ dữ liệu trong trương trình không chỉ định bằng giá trị mà thông qua địa chỉ trong
bộ nhớ
+ nguyên lí đảm bảo tính mềm dẻo của chương trình, có thể thể hiện thuật toán
không phụ thuộc vào các giá trị phát sinh trong trương trình.
Một số cải tiến giúp cho việc xử lý lệnh CPU được song song hóa
- PIPELINE:
+ Trong máy tính hiện đại, CPU được tổ chức để song song hóa nhiều công đoạn
trong một chu kỳ xử lý lệnh.
+ Khối thanh ghi được tổ chức phân cấp và có dung lượng lớn ( gọi là cache) để
giảm số lần truy cập bộ nhớ.
- Kiến trúc siêu vô hướng:
+ Lệnh này phụ thuộc dữ liệu vào lệnh kia nếu nó dùng kết quả của lệnh kia.
+ Trong kiến trúc siêu vô hướng: chia việc xử lý một lệnh thành nhiều công đoạn,
CPU sẽ tiến hành nhiều công đoạn/ nhiều lệnh một cách đồng thời.
- Cơ chế dự đoán rẽ nhánh:
+ Lệnh rẽ nhánh có thể dẫn tới phải nạp lại cache
+ Cơ chế dự đoán rẽ nhánh cho phép dự báo rẽ nhánh giúp giảm thiểu việc truy
xuất từ bộ nhớ lên cache.
Download