Categories
Phần cứng

Bo mạch đồ họa AGP hoạt động như thế nào?

Computer trivia: What high-tech upgrade did the New York Times dub “$90 Worth of Duct Tape” in 1998?
Answer: Windows 98.

Bạn trỏ, nhấn. Bạn kéo, thả. Bạn đóng, mở tập tin ở các cửa sổ khác nhau. Bạn xem phim và chơi trò chơi máy tính ở chế độ toàn màn hình, đắm chìm trong thế giới huyền ảo của hình đồ họa 3 chiều. Đây là những thứ mà chúng ta thường thấy trên máy tính.

Mọi thứ bắt đầu vào năm1973, khi hãng Xerox trình làng Alto, máy vi tính đầu tiên trên thế giới sử dụng giao diện người dùng đồ họa (GUI). Và chính sự cách tân này đã thay đổi hoàn toàn cách thức mà chúng ta làm việc với máy tính.

Ngày nay, tất cả mọi lĩnh vực sử dụng máy tính, từ việc tạo các ảnh động đến các tác vụ cơ bản như xử lý văn bản, thư điện tử… đều sử dụng hình ảnh để tạo ra môi trường làm việc trực quan hơn cho người sử dụng. Thiết bị phần cứng hỗ trợ các hình ảnh đồ họa này được gọi là bo mạch đồ họa. Cách thức mà bo mạch này kết nối với máy vi tính lại là điểm then chốt trong khả năng dựng hình của máy tính. Vì vậy chúng ta hãy làm quen với khái niệm AGP hay Accelerated Graphics Port, cổng kết nối cao tốc dành riêng cho bo mạch đồ họa.

"Vứt bỏ" tuyến (bus)

Năm 1996, Intel giới thiệu AGP như là một cách gia tăng hiệu năng của máy tính để phát các luồng video và dựng hình 3 chiều thời gian thực. Và kể từ đó, AGP trở thành một chuẩn vô cùng phổ biến. Trước đây, chúng ta sử dụng tuyến PCI – Peripheral Component Interconnect để gửi thông tin từ bo mạch đồ họa đến CPU. Con đường này cho phép nhiều gói thông tin từ nhiều nguồn khác nhau có thể di chuyển cùng lúc trên nó. Vì vậy, thông tin từ bo mạch đồ họa sẽ song hành cùng các thông tin khác đến từ các thiết bị cũng được kết nối với tuyến PCI. Khi toàn bộ luồng thông tin này đến CPU, chúng sẽ phải xếp hàng đợi trước khi được "gặp" CPU. Và một hệ thống như vậy đã làm tốt công việc của nó trong nhiều năm. Nhưng khi Internet cũng như hầu hết các phần mềm ngày nay đều được thiết kế hướng đến giao diện đồ họa đa dạng và phức tạp, thì đường thông tin của bo mạch đồ họa cần được ưu tiên hơn so các thiết bị PCI khác.

Thực chất, AGP được thiết kế dựa trên nền tảng của tuyến PCI, nhưng không giống như một tuyến, nó cung cấp kết nối điểm-điểm chuyên biệt từ bo mạch đồ họa đến thẳng CPU. Nhờ vậy, AGP giúp máy tính của chúng ta cải thiện đáng kể hiệu năng truy suất thông tin cần thiết nhằm phục vụ cho việc dựng hình phức tạp.

AGP được xây dựng từ ý tưởng cải tiến cách thức mà tuyến PCI truyền dữ liệu đến CPU. Intel đã làm được điều này bằng cách đánh địa chỉ tất cả các vùng, nơi tuyến PCI truyền tải dữ liệu gặp phải hiện tượng "thắt cổ chai" trong hệ thống. Bằng cách tháo gỡ nút kẹt của dữ liệu, AGP đã giúp gia tăng tốc độ truyền tải cho phép máy tính của chúng ta có thể vừa dựng hình, vừa sử dụng các nguồn tài nguyên một cách hiệu quả hơn, nhằm giảm thiểu sự "kéo lê" chung cho cả hệ thống. Đây là phương thức mà AGP dùng để cải thiện tốc độ truyền:

Dedicated port – Phương thức sử dụng đường truyền riêng biệt. Từ nay, thông tin đến và ra bo mạch đồ họa sẽ được lưu thông trên một tuyến "huyết mạch" đến thẳng CPU. Ngoài bo mạch đồ họa ra, không có bất cứ thiết bị nào nối với AGP. Nhờ vậy, bo mạch đồ họa luôn luôn hoạt động với khả năng nối kết cao nhất.

Pipelining – Đây là phương thức tổ chức dữ liệu cho phép bo mạch đồ họa nhận và hồi đáp nhiều gói dữ liệu chỉ với một yêu cầu duy nhất. Bạn hãy xem ví dụ đơn giản của phương thức này:

Với AGP, bo mạch đồ họa có thể nhận một yêu cầu duy nhất về toàn bộ thông tin cần thiết để dựng một hình riêng biệt, rồi gửi nó ra ngoài cùng 1 lúc. Với PCI, bo mạch đồ họa sẽ nhận thông tin độ cao của ảnh và đợi… sau đó đến chiều dài của ảnh, đợi… rồi đến chiều rộng của ảnh và đợi… sau đó kết hợp các dữ liệu lại với nhau rồi mới gửi ra ngoài.

Sideband addressing – Giống như việc gửi một lá thư. Tất cả các yêu cầu và thông tin được gửi từ bộ phận này đến bộ phận khác trong máy tính phải có một địa chỉ chứa "Đến" và "Từ" trong một gói dữ liệu. Điều này tương đương với việc cho một thẻ địa chỉ vào bì thư khi bạn gửi một lá thư đến bạn của bạn. Lúc này, bưu điện sẽ phải mở bì thư, lấy thẻ địa chỉ ra để tìm địa chỉ mà bạn muốn gửi. Việc làm này tốn khá nhiều thời gian của bưu điện. Đó là chưa kể, thẻ địa chỉ còn chiếm không gian trong bì thư. Dẫn đến hạn chế về mặt số lượng nếu bạn muốn gửi kèm thêm một vài thứ linh tinh khác.

Với Sideband addresing, AGP đưa ra thêm 8 đường cho gói dữ liệu, chỉ để đánh địa chỉ. Việc làm này giống như việc đặt thẻ địa chỉ ra ngoài bì thư giúp giải phóng băng thông của đường dữ liệu. Thêm vào đó, nó không lấy mất tài nguyên hệ thống chỉ dùng cho việc: mở gói dữ liệu để đọc địa chỉ.

PCI: "ngốn" RAM

Tốc độ không chỉ là lợi điểm duy nhất mà AGP có thể mang lại so với người tiền nhiệm của nó – PCI. AGP tổ chức tốt hơn quá trình dựng hình bằng cách sử dụng bộ nhớ hệ thống hiệu quả hơn.

Bất cứ hình ảnh 3 chiều nào mà bạn thấy trên máy tính đều được xây dựng bởi các biểu đồ vân. Các biểu đồ vân cũng giống như việc bọc giấy. Máy tính của bạn lấy các hình ảnh 2 chiều, phẳng rồi gói xung quanh nó một tập hợp các thông số được cung cấp bởi bo mạch đồ họa để tạo nên "diện mạo" của một hình 3 chiều. Hãy nghĩ quá trình này như việc gói một cái hộp vô hình bằng tờ giấy gói để cho thấy kích thước của cái hộp. Hiểu được điều này khá quan trọng bởi việc tạo và lưu giữ các bản đồ vân là những công việc chính làm tiêu hao bộ nhớ của bo mạch đồ họa và hệ thống máy tính của chúng ta.

Với một bo mạch đồ họa PCI, một bản đồ vân sẽ được lưu 2 lần. Đầu tiên, bản đồ vân được nạp từ đĩa cứng vào bộ nhớ hệ thống (RAM) cho đến khi nó được sử dụng. Ngay khi được yêu cầu, nó sẽ được đẩy ra khỏi bộ nhớ và đưa đến CPU để xử lý. Khi CPU xử lý xong, nó được gửi qua tuyến PCI đến bo mạch đồ họa, nơi nó được lưu một lần nữa vào framebuffer của bo mạch. Framebuffer là nơi bo mạch đồ họa lưu giữ hình ảnh khi dựng hình. Nhờ vậy, hình ảnh có thể dễ dàng được làm tươi mỗi khi cần đến. Tất cả việc lưu trữ và gửi dữ liệu giữa hệ thống và bo mạch đồ họa đều ảnh hưởng đáng kể đến tốc độ chung của cả hệ thống.

AGP: tiết kiệm RAM

AGP cải tiến quá trình lưu bản đồ vân bằng cách cho phép HĐH trực tiếp chỉ định lượng RAM sử dụng bởi bo mạch đồ họa. Loại bộ nhớ này được gọi là bộ nhớ AGP (AGP Memory) hay bộ nhớ video không cục bộ. Bằng cách tận dùng lượng RAM nhanh và phong phú được sử dụng bởi HĐH để lưu các bản đồ vân, AGP giảm số lượng bản đồ phải được lưu vào bộ nhớ của bo mạch đồ họa. Thêm vào đó, kích cỡ bản đồ vân mà máy tính có khả năng xử lý không còn bị giới hạn bởi lượng bộ nhớ của bo mạch đồ họa.

Một cách khác giúp AGP tiết kiệm RAM là nó chỉ lưu bản đồ vân một lần. Nó làm việc này bằng cách sử dụng một "mánh" nhỏ là sử dụng Bảng Ánh Xạ Lại Địa Chỉ Đồ Họa – Graphics Address Remapping Table (GART). GART lấy phần bộ nhớ hệ thống mà AGP mượn, để lưu các bản đồ vân cho bo mạch đồ hoạ và đánh lại địa chỉ cho nó. Địa chỉ mới được cung cấp bởi GART sẽ khiến CPU nghĩ là bản đồ vân đang được lưu trên framebuffer của bo mạch đồ họa. GART có thể đặt các bit thông tin và các mẩu bản đồ ở khắp nơi trên bộ nhớ hệ thống, nhưng khi CPU cần đến, miễn là nó có liên quan đến bản đồ vân thì các thông tin này sẽ "có mặt ngay".

(st)

Bo mạch đồ họa AGP hoạt động như thế nào?’]