Song song hoá trong máy tính tuần tự

Một phần của tài liệu Nghiên cứu một số thuật toán song song ứng dụng trong GIS (Trang 29)

a. Đa đơn vị chức năng:

- Các máy tính truyền thống chỉ có một đơn vị số học và logic (ALU) trong BXL. Ở mỗi thời điểm nó chỉ có thể thực hiện một chức năng.

- Máy tính song song có nhiều đơn vị xử lý(PE). Những đơn vị này có thể cùng nhau thực hiện song song. Ví dụ: máy CDC6600(1964) có 10 PE được tổ chức trong một BXL. Những đơn vị chức năng này độc lập với nhau và có thể thực hiện đồng thời.

- Xây dựng bộ lập lịch tối ưu để phân chia các câu lệnh thực hiện sao cho tận dụng được tối đa các đơn vị xử lý cũng như các tài nguyên của máy tính.

b. Xử lý theo nguyên lý hình ống trong CPU Các câu lệnh đƣợc chia thành các giai đoạn:

- Tại một thời điểm có thể nhiều lệnh được tải vào và được thực hiện trong các bước khác nhau.

- Các giai đoạn thực hiện khác nhau của mỗi câu lệnh có thể được thực hiện gối đầu nhau.

- Đầu ra của giai đoạn này có thể là đầu vào của giai đoạn tiếp theo.

- Thực hiện theo nguyên lý hình ống sẽ hiệu quả hơn vì không cần dùng vùng đệm dữ liệu.

26

Hình 1.13 Mô tả nguyên lý hình ống

c. Sự gối đầu CPU và các thao tác vào/ra (I/O)

- Các phép vào/ra có thể thực hiện đồng thời đối với nhiều nhiệm vụ tính toán khác nhau bằng cách sử dụng những bộ điều khiển vào/ra, các kênh hay những BXL vào/ra khác nhau.

- Nhiều máy tính hiện nay có nhiều bộ điều khiển thiết bị vào/ra, cho phép đa xử lý vào/ra làm tăng được tốc độ trao đổi dữ liệu giữa các thiết bị ngoài với CPU. d. Các hệ thống bộ nhớ phân cấp

- Do tốc độ thực hiện các phép toán trong BXL nhanh hơn rất nhiều việc đọc dữ liệu vào bộ nhớ trong.

- Các thanh ghi được sử dụng trực tiếp cho ALU nên bộ nhớ cache được xem như vùng đệm giữa BXL và bộ nhớ chính.

- Khi dữ liệu được chuyển từ bộ nhớ cache vào bộ nhớ chính thì đồng thời có thể chuyển dữ liệu từ cache vào cho CPU xử lý.

27

Hình 1.14 Sự gối đầu CPU và các thao tác vào/ra (I/O)

e. Đa chƣơng trình và chia sẻ thời gian

Thực hiện song song dựa vào hệ điều hành đa nhiệm, phần mềm đa luồng, đa tiến trình.

Hệ điều hành đa nhiệm thƣờng giải quyết các trƣờng hợp:

- Trong cùng một khoảng thời gian, có nhiều tiến trình cùng truy cập vào dữ liệu từ thiết bị vào/ra chung.

- Một tiến trình tính toán với cường độ cao có thể tạm thời chiếm dụng CPU để làm việc, trong khi một tiến trình khác trước đó không đòi hỏi phải kết thúc công việc sớm phải ngưng lại.

- Bộ lập lịchchia sẻ thời gian làm nhiệm vụ phân chia CPU cho mỗi tiến trình một khoảng thời gian cố định.

- Tạo các BXL ảo: mỗi tiến trình được cung cấp một môi trường được xem như một BXL để thực hiện riêng cho tiến trình đó.

Một phần của tài liệu Nghiên cứu một số thuật toán song song ứng dụng trong GIS (Trang 29)