Chương VI: ĐIỀU KHOẢN THI HÀNH
Điều 78. Hiệu lực thi hành
III. KỸ THUẬT SẮP XẾP (SORTING)
1. Máy tính và kiến trúc máy tính
2.1. Liên kết các khối khối chức năng
Nói đến máy tính tức là bàn luận về sự phối hợp giữa thực hiện xử lý
(processing) dữ liệu và đưa ra kết luận (making decisions). Việc xử lý và đưa ra kết luận được thực hiện bởi Đơn vị xử lý trung tâm hay còn gọi là CPU của máy tính. Vậy thì “bộ não” của máy tính chính là CPU. CPU không phải là một bộ phận chức năng biết suy nghĩ và biết thực hiện công việc, song nó có khả năng thực hiện những ý đồ và công việc của người sử dụng thông qua các lệnh.
Những ý tưởng của người sử dụng được thể hiện qua chương trình. Chương trình là tập hợp các lệnh được chọn lọc và sắp xếp theo một tuần tự chặt chẽ thông qua nguyên tắc xử lý, giải quyết một vấn đề cụ thể (hay còn gọi là thuật giải). Chương trình và dữ liệu tương ứng được lưu giữ trong bộ nhớ của máy tính. Bộ nhớ được chia ra thành 2 phần:
Phần lưu giữ chương trình được gọi là bộ nhớ chương trình hay Program Memory.
Phần lưu giữ dữ liệu (dữ liệu để xử lý và dữ liệu kết quả) được gọi là bộ nhớ dữ liệu hay Data Memory.
Hình 5. Hai thành phần bộ nhớ
Như vậy, CPU cần có bộ nhớ để lưu giữ chương trình và dữ liệu. Theo hình vẽ, thấy rằng CPU chỉ đọc chương trình, song với dữ liệu, nó phải đọc ra để xử lý
và phải ghi lại kết quả, tương ứng với các mũi tên một chiều và mũi tên hai chiều trên hình.
2.1.2. CPU, bộ nhớ và thiết bị vào/ra
CPU liên lạc với các thiết bị bên ngoài (hay còn gọi là thiết bị ngoại vi –
peripherals) để đọc dữ liệu, lệnh và đưa ra kết quả đã được xử lý, ví dụ như bàn phím, máy in, màn hình... Chức năng của các thiết bị này là giao diện giữa người sử dụng và máy tính. Các thiết bị này được gọi chung là thiết bị vào/ra, hay thiết bị nhập/xuất, (I/O device). Một máy tính có thể có rất nhiều thiết bị vào/ra.
Hình II.6. CPU trong liên kết với bộ nhớ, thiết bị vào/ra và khả năng truy cập trực tiếp bộ nhớ
Thông thường, các thiết bị vào/ra không tương thích được với CPU về mặt mức tín hiệu (điện áp thể hiện mức logic “0” hoặc “1”) và tốc độ v.v…, do đó ta cần phải bổ sung vào giữa chúng các khối phối ghép (hay còn gọi là giao diện – I/O interface).
2.1.3. CPU, bộ nhớ, thiết bị vào ra và khả năng truy cập trực tiếp bộ nhớ Rõ ràng, việc trao đổi dữ liệu giữa bộ nhớ và thiết bị ngoại vi đều phải thông qua CPU. Mặc dù có lúc nào đó CPU không có yêu cầu dữ liệu, nhưng nó điều khiển quá trình trao đổi dữ liệu của mọi thành phần trong máy tính.
Điều đó làm cho CPU tham gia vào mọi hoạt động và tốc độ xử lý của CPU chậm đi rất nhiều.
Để giải quyết vấn đề này, kiến trúc máy tính đưa ra giải pháp thiết bị vào/ra được phép truy cập trực tiếp bộ nhớ (DMA-Direct Memory Access). Để thay thế CPU trong việc truy cập trực tiếp vào bộ nhớ, thiết bị vào/ra được ghép thêm đơn vị điều khiển truy cập trực tiếp bộ nhớ DMAC (DMA Controler). Cơ chế này thực sự mang lại hiệu quả lớn trong các hệ thống máy tính thu thập và xử lý những khối dữ liệu phức tạp và được thực hiện như sau:
Khi thiết bị vào ra yêu cầu truy cập vào bộ nhớ, thay vì CPU tham gia vào toàn bộ quá trình này, thiết bị vào/ra đưa ra yêu cầu thực hiện truy cập trực tiếp bộ
nhớ tới CPU thông qua DMA Request Line.
CPU nhận yêu cầu, thực hiện việc trao quyền sử dụng đường truyền dẫn dữ liệu cho thiết bị vào/ra (tức là treo dường truyền dẫn dữ liệu giữa bộ nhớ, thiết bị vào/ra và CPU), sau đó gửi thông báo nhận biết và đồng ý cho thiết bị vào/ra qua DMA Acknowledge Line). Những tín hiệu trao đổi này được gọi là tín hiệu bắt tay (Handshaking)
Thiết bị vào/ra thực hiện việc Ghi hoặc Đọc bộ nhớ trực tiếp qua đường truyền dẫn dữ liệu không thông qua CPU. Như vậy CPU có thể tiếp tục thực hiện các thao tác xử lý khác.
Hình 7. CPU, bộ nhớ, thiết bị vào ra và khả năng sử dụng ngắt
2.1.4. CPU, bộ nhớ, thiết bị vào ra và khả năng sử dụng ngắt
Khối chức năng tiếp theo thực hiện việc đáp ứng yêu cầu phục vụ của CPU đối với các thiết bị vào/ra là thiết bị điều khiển ngắt (Interrupt Controller).
Để hiểu ngắt cần thiết như thế nào, ta xét những khả năng sau:
- Thiết bị vào/ra chỉ cần đến CPU khi có sự trao đổi dữ liệu giữa CPU với thiết bị vào/ra.
-Một số thiết bị vào/ra hoạt động rất chậm so với khả năng xử lý của CPU, do vậy, việc CPU phải chờ đợi để trao đổi dữ liệu làm mất rất nhiều thời gian.
Dựa trên thực tế này, kiến trúc máy tính đề nghị một giải pháp hữu hiệu nhằm làm tăng hiệu suất hoạt động xử lý dữ liệu của CPU cũng như của máy tính nói chung. Giải pháp dựa trên quy trình sau:
-Thiết bị ngoại vi muốn làm việc với CPU phải gửi yêu cầu ngắt đến CPU thông qua tín hiệu yêu cầu ngắt (Interrupt Request Signal).
CPU tạm dừng tiến trình đang thực hiện, gửi tín hiệu chấp nhận phục vụ ngắt cho thiết bị vào/ra.
CPU tiến hành phục vụ thiết bị vào/ra thực chất là thực hiện việc trao đổi dữ liệu, khi thực hiện xong thì quay về tiếp tục công việc đang bỏ dở.
2.1.5. Khối xung nhịp (Clock) và khối điều khiển (Control)
Đã có thể nhìn thấy rằng, chỉ cần thêm vào 2 khối cơ bản nữa là ta có một cấu trúc máy tính hoàn chỉnh: Khối xung nhịp (Clock) và khối điều khiển (Control).
Có thể nói khối điều khiển là sợi chỉ xuyên suốt, chỉ đạo mọi hoạt động của tất cả các khối chức năng nhằm đảm bảo hoạt động ổn định cho một máy tính, không bao giờ xẩy ra bất cứ sự tranh chấp nào. Khối tạo nhịp Clock thực hiện việc định thời cho mọi hoạt động trong máy tính được đồng bộ hoá.