GPU – Sức Mạnh Của Chip Đồ Họa Trong Kiến Trúc Máy Tính

Chuyên khảo phân tích Học phần kiến trúc máy tính đề tài gpu sức mạnh của chip đồ họa, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo.

Người đăng

Ẩn danh
55
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. GPU là gì Khám phá sức mạnh của bộ xử lý đồ họa

GPU, viết tắt của Graphics Processing Unit, là một bộ xử lý đồ họa chuyên dụng được thiết kế để tăng tốc việc xử lý và kết xuất đồ họa. Trong kiến trúc máy tính hiện đại, GPU đóng vai trò như một bộ đồng xử lý, hoạt động song song với CPU (Central Processing Unit) để giải quyết các tác vụ tính toán phức tạp liên quan đến hình ảnh, video và hoạt ảnh. Ban đầu, chức năng chính của GPU chỉ giới hạn ở việc xử lý các phép toán hình học và pixel, giúp giải phóng CPU khỏi gánh nặng đồ họa. Tuy nhiên, với sự phát triển của công nghệ, kiến trúc của GPU đã được cải tiến vượt bậc. Nó sở hữu hàng ngàn lõi xử lý nhỏ hơn, cho phép thực hiện đồng thời hàng ngàn phép tính. Khả năng xử lý song song vượt trội này không chỉ làm thay đổi ngành công nghiệp game mà còn mở ra những ứng dụng đột phá trong nhiều lĩnh vực khác. Ngày nay, một chiếc card đồ họa mạnh mẽ không chỉ quyết định hiệu năng gaming mà còn là nền tảng cho các công nghệ tiên tiến như trí tuệ nhân tạo và khoa học dữ liệu. Sự khác biệt cơ bản giữa CPU và GPU nằm ở kiến trúc: CPU có một vài lõi xử lý mạnh mẽ, tối ưu cho các tác vụ tuần tự và phức tạp, trong khi GPU có hàng ngàn lõi đơn giản hơn, được tối ưu cho việc xử lý song song hàng loạt tác vụ đơn giản. Sự kết hợp giữa hai bộ xử lý này tạo nên sức mạnh tính toán toàn diện cho các hệ thống máy tính ngày nay.

1.1. Lịch sử hình thành và vai trò của các loại card màn hình

Lịch sử của card màn hình bắt đầu từ những bo mạch đơn giản chỉ có khả năng hiển thị văn bản. Vào cuối những năm 1990, sự ra đời của GeForce 256 từ NVIDIA đã đánh dấu một cột mốc quan trọng, lần đầu tiên định nghĩa thuật ngữ GPU. Thiết bị này tích hợp các công cụ biến đổi, chiếu sáng và kết xuất trên cùng một con chip, giảm tải đáng kể cho CPU. Kể từ đó, cuộc đua giữa các nhà sản xuất lớn như NVIDIAAMD (trước đây là ATI) đã thúc đẩy những bước tiến nhảy vọt về công nghệ. Vai trò của card đồ họa đã mở rộng từ việc chỉ tăng tốc đồ họa 2D sang xử lý 3D phức tạp, mô phỏng vật lý và giờ đây là tính toán cho mục đích chung (GPGPU). Sự phát triển này đã biến GPU từ một thành phần phụ trợ thành một trong những linh kiện quan trọng nhất, quyết định hiệu năng tổng thể của một hệ thống máy tính hiện đại.

1.2. So sánh GPU và CPU Hai trụ cột trong kiến trúc máy tính

Việc so sánh GPU và CPU cho thấy sự chuyên môn hóa trong kiến trúc máy tính. CPU được coi là “bộ não” của máy tính, được thiết kế với một vài lõi xử lý hiệu suất cao để thực hiện các tác vụ tuần tự một cách nhanh chóng. Nó xuất sắc trong việc quản lý hệ thống và xử lý các lệnh phức tạp đòi hỏi độ trễ thấp. Ngược lại, GPU là một “đội quân” hùng hậu với hàng nghìn lõi xử lý nhỏ hơn. Mỗi lõi không mạnh bằng lõi CPU, nhưng khi kết hợp lại, chúng có thể xử lý đồng thời hàng nghìn luồng dữ liệu. Kiến trúc này lý tưởng cho các tác vụ có thể chia nhỏ, như xử lý từng pixel trên màn hình hoặc thực hiện các phép toán ma trận trong AI và machine learning. CPU và GPU không thay thế cho nhau mà bổ sung cho nhau. CPU ra quyết định và phân công nhiệm vụ, trong khi GPU thực thi các tác vụ tính toán song song quy mô lớn.

II. Vì sao CPU yếu thế Thách thức trong việc xử lý song song

Mặc dù là bộ xử lý trung tâm, CPU lại bộc lộ những hạn chế rõ rệt khi đối mặt với các tác vụ yêu cầu tính toán song song quy mô lớn. Nguyên nhân cốt lõi nằm ở kiến trúc thiết kế. CPU được tối ưu hóa cho tốc độ xử lý tuần tự và giảm thiểu độ trễ cho một luồng tác vụ duy nhất. Nó có các lõi xử lý phức tạp, bộ nhớ đệm (cache) lớn và các đơn vị điều khiển tinh vi để dự đoán và tăng tốc các lệnh. Tuy nhiên, kiến trúc này trở thành một nút thắt cổ chai khi phải xử lý hàng triệu phép toán đơn giản cùng một lúc, điển hình như trong đồ họa máy tính. Ví dụ, để kết xuất một khung hình game ở độ phân giải cao, hệ thống phải tính toán màu sắc, ánh sáng và vị trí cho hàng triệu pixel. Nếu giao nhiệm vụ này cho CPU, nó sẽ phải xử lý tuần tự hoặc chia cho một số ít lõi, dẫn đến thời gian chờ đợi rất lâu và không thể đạt được tốc độ khung hình mượt mà. Đây chính là thách thức mà bộ xử lý đồ họa được sinh ra để giải quyết. Nhu cầu về hiệu năng gaming ngày càng cao, các kỹ xảo render video phức tạp và sự bùng nổ của AI và machine learning đã đẩy giới hạn của CPU đến cực điểm, đòi hỏi một giải pháp chuyên biệt cho xử lý song song.

2.1. Giới hạn của bộ xử lý trung tâm với đồ họa 3D phức tạp

Đồ họa 3D hiện đại đòi hỏi một khối lượng tính toán khổng lồ. Mỗi đối tượng trong một cảnh game hay một bản thiết kế được tạo thành từ hàng ngàn, thậm chí hàng triệu đa giác. Hệ thống phải liên tục thực hiện các phép biến đổi hình học, tính toán đổ bóng, áp vật liệu (texture) và xử lý ánh sáng cho toàn bộ cảnh. CPU, với số lượng lõi hạn chế, không thể xử lý hiệu quả khối lượng công việc này. Việc cố gắng thực hiện các tác vụ này trên CPU sẽ dẫn đến hiện tượng “thắt cổ chai”, làm giảm đáng kể tốc độ khung hình và trải nghiệm người dùng. Đây là lý do tại sao một card đồ họa chuyên dụng là bắt buộc đối với bất kỳ hệ thống nào dùng cho game hoặc thiết kế 3D chuyên nghiệp.

2.2. Nhu cầu tính toán cho hiệu năng gaming và render video

Trong lĩnh vực giải trí, yêu cầu về chất lượng hình ảnh ngày càng tăng. Game thủ mong muốn trải nghiệm các tựa game ở độ phân giải 4K với hiệu ứng đồ họa chân thực như Ray Tracing. Tương tự, các chuyên gia sáng tạo cần render video độ phân giải cao với nhiều hiệu ứng phức tạp một cách nhanh chóng. Cả hai tác vụ này đều có điểm chung là yêu cầu xử lý một lượng lớn dữ liệu song song. Một chiếc GPU mạnh mẽ có thể xử lý các tác vụ này nhanh hơn CPU hàng chục, thậm chí hàng trăm lần. Việc thiếu một GPU đủ mạnh sẽ khiến quá trình render video kéo dài hàng giờ và hiệu năng gaming trở nên không thể chấp nhận được.

III. Cách GPU hoạt động Sức mạnh từ hàng ngàn nhân xử lý

Nguyên lý hoạt động cốt lõi của GPU dựa trên kiến trúc xử lý song song (Parallel Processing). Thay vì sở hữu một vài lõi mạnh mẽ như CPU, GPU được trang bị hàng trăm đến hàng chục ngàn lõi xử lý nhỏ hơn, được gọi là nhân CUDA (trên card NVIDIA) hoặc Stream Processor (trên card AMD). Các lõi này được thiết kế để thực hiện các phép toán đơn giản một cách cực kỳ hiệu quả. Khi nhận một tác vụ lớn, chẳng hạn như kết xuất một khung hình, trình điều khiển (driver) của GPU sẽ chia nhỏ tác vụ đó thành hàng ngàn luồng (threads) độc lập. Mỗi luồng này sẽ được giao cho một lõi xử lý. Tất cả các lõi hoạt động đồng thời, xử lý các phần dữ liệu khác nhau của cùng một tác vụ. Quá trình này được hỗ trợ bởi bộ nhớ tốc độ cao chuyên dụng gọi là VRAM (Video RAM), giúp cung cấp dữ liệu cho các lõi xử lý mà không bị nghẽn. Bằng cách này, GPU có thể hoàn thành các tác vụ tính toán đồ sộ trong một khoảng thời gian rất ngắn. Mô hình kiến trúc này, được gọi là SIMD (Single Instruction, Multiple Data), cho phép một lệnh duy nhất được thực thi trên nhiều điểm dữ liệu cùng một lúc, tạo nên hiệu suất vượt trội của bộ xử lý đồ họa trong các ứng dụng chuyên biệt.

3.1. Tìm hiểu kiến trúc xử lý song song độc đáo của GPU

Kiến trúc xử lý song song của GPU được tổ chức thành nhiều cụm xử lý (Streaming Multiprocessors - SMs). Mỗi SM chứa một số lượng lớn các lõi xử lý, bộ nhớ đệm và thanh ghi riêng. Khi một tác vụ được gửi đến GPU, nó sẽ được phân chia cho các SM này. Bên trong mỗi SM, các luồng được nhóm lại thành các nhóm nhỏ hơn gọi là "warp" (trên NVIDIA) hoặc "wavefront" (trên AMD). Các luồng trong cùng một warp sẽ thực thi cùng một lệnh tại cùng một thời điểm. Cấu trúc phân cấp này cho phép GPU quản lý và thực thi hiệu quả hàng ngàn luồng đồng thời, tối đa hóa thông lượng tính toán và khai thác triệt để sức mạnh của phần cứng.

3.2. Vai trò của VRAM và nhân CUDA trong hiệu năng card đồ họa

Hiệu năng của một card đồ họa phụ thuộc vào hai yếu tố chính: số lượng và tốc độ của các nhân xử lý, cùng với dung lượng và băng thông của bộ nhớ VRAM. Nhân CUDA (hoặc Stream Processor) là đơn vị thực hiện tính toán. Càng nhiều nhân, GPU càng có khả năng xử lý nhiều tác vụ song song hơn, dẫn đến hiệu suất cao hơn. Trong khi đó, VRAM là bộ nhớ truy cập ngẫu nhiên video, hoạt động như một bộ đệm khung hình và lưu trữ các tài sản đồ họa nhưテクスチャ (textures), mô hình 3D. Dung lượng VRAM lớn và băng thông cao đảm bảo các nhân xử lý luôn có đủ dữ liệu để làm việc, tránh tình trạng nghẽn cổ chai và đảm bảo trải nghiệm mượt mà, đặc biệt khi chơi game ở độ phân giải cao hoặc làm việc với các file đồ họa lớn.

IV. Top công nghệ đột phá định hình sức mạnh card đồ họa

Ngành công nghiệp card đồ họa không ngừng phát triển với sự ra đời của các công nghệ đột phá, giúp nâng cao chất lượng hình ảnh và hiệu suất lên một tầm cao mới. Các nhà sản xuất hàng đầu như NVIDIA, AMD và gần đây là Intel Arc liên tục cạnh tranh để tích hợp những tính năng tiên tiến nhất vào sản phẩm của mình. Một trong những công nghệ nổi bật nhất là Ray Tracing thời gian thực, một kỹ thuật mô phỏng đường đi của ánh sáng để tạo ra các hiệu ứng phản chiếu, đổ bóng và chiếu sáng chân thực một cách đáng kinh ngạc. Tuy nhiên, Ray Tracing đòi hỏi sức mạnh tính toán cực lớn. Để giải quyết vấn đề này, các công nghệ nâng cấp hình ảnh dựa trên AI đã ra đời. DLSS (Deep Learning Super Sampling) của NVIDIA và FSR (FidelityFX Super Resolution) của AMD sử dụng các thuật toán thông minh để kết xuất hình ảnh ở độ phân giải thấp hơn, sau đó tái tạo lại ở độ phân giải cao, giúp tăng tốc độ khung hình đáng kể mà không làm giảm nhiều chất lượng hình ảnh. Những công nghệ này không chỉ cải thiện hiệu năng gaming mà còn định hình lại cách các nhà phát triển tạo ra thế giới ảo, mang đến những trải nghiệm ngày càng sống động và chân thực.

4.1. Công nghệ Ray Tracing Tái tạo ánh sáng siêu thực trong game

Ray Tracing là một bước nhảy vọt so với kỹ thuật rasterization truyền thống. Thay vì chiếu các đối tượng 3D lên một mặt phẳng 2D, Ray Tracing hoạt động bằng cách dò theo đường đi của từng tia sáng từ camera ảo đến các vật thể trong cảnh. Quá trình này cho phép mô phỏng chính xác cách ánh sáng tương tác với các bề mặt, tạo ra hiệu ứng phản chiếu trên mặt nước, bóng đổ mềm mại và ánh sáng toàn cục (global illumination) một cách tự nhiên. Kết quả là một thế giới ảo có chiều sâu và độ chân thực chưa từng có. Các GPU hiện đại được trang bị các lõi phần cứng chuyên dụng (RT Cores trên card NVIDIA) để tăng tốc các phép tính Ray Tracing, giúp công nghệ này trở nên khả thi trong thời gian thực.

4.2. Khám phá DLSS và FSR Tối ưu hiệu năng gaming bằng AI

DLSSFSR là hai giải pháp thông minh để giải quyết bài toán cân bằng giữa chất lượng hình ảnh và hiệu suất. DLSS của NVIDIA sử dụng các lõi Tensor chuyên dụng và mạng nơ-ron sâu để phân tích các khung hình ở độ phân giải thấp và tái tạo chúng ở độ phân giải cao hơn. Công nghệ này có khả năng tạo ra hình ảnh sắc nét, đôi khi còn chi tiết hơn cả độ phân giải gốc. Trong khi đó, FSR của AMD là một giải pháp không gian mở, không yêu cầu phần cứng chuyên dụng và có thể hoạt động trên nhiều loại GPU khác nhau. Cả hai công nghệ đều có chung mục tiêu là tăng tốc độ khung hình, cho phép game thủ bật các cài đặt đồ họa cao hơn, bao gồm cả Ray Tracing, mà vẫn duy trì được trải nghiệm chơi game mượt mà.

V. Hướng dẫn ứng dụng GPU trong AI và Machine Learning

Ngoài lĩnh vực đồ họa, kiến trúc xử lý song song của GPU đã trở thành nền tảng cho cuộc cách mạng AI và machine learning. Các mô hình học máy, đặc biệt là mạng nơ-ron sâu (deep neural networks), đòi hỏi thực hiện một khối lượng khổng lồ các phép toán ma trận và vector. Đây chính là loại tác vụ mà GPU được thiết kế để thực hiện một cách tối ưu. Việc sử dụng GPU có thể tăng tốc quá trình huấn luyện mô hình AI từ vài tuần hoặc vài tháng (nếu dùng CPU) xuống chỉ còn vài ngày hoặc vài giờ. Các thư viện học sâu phổ biến như TensorFlow, PyTorch và CUDA của NVIDIA đã được tối ưu hóa để khai thác triệt để sức mạnh của GPU. Nhờ đó, các nhà khoa học dữ liệu và kỹ sư AI có thể xây dựng và huấn luyện các mô hình phức tạp hơn, xử lý các bộ dữ liệu lớn hơn và thúc đẩy các đột phá trong nhận dạng hình ảnh, xử lý ngôn ngữ tự nhiên và xe tự lái. GPU không còn chỉ là một linh kiện cho game thủ mà đã trở thành một công cụ không thể thiếu trong nghiên cứu khoa học và phát triển công nghệ tiên tiến, đặc biệt là trong việc render video cho các hệ thống phân tích hình ảnh và thiết kế đồ họa chuyên nghiệp.

5.1. Tăng tốc render video và các phần mềm thiết kế đồ họa

Trong ngành công nghiệp sáng tạo, thời gian là tiền bạc. Các phần mềm chỉnh sửa video như Adobe Premiere Pro, DaVinci Resolve và các công cụ thiết kế 3D như Blender, Autodesk 3ds Max đều hỗ trợ tăng tốc phần cứng bằng GPU. Khi bật tính năng này, các tác vụ nặng như áp dụng hiệu ứng, mã hóa và render video sẽ được chuyển từ CPU sang GPU. Kết quả là thời gian xử lý được rút ngắn đáng kể, cho phép các nhà sáng tạo làm việc hiệu quả hơn, xem trước các thay đổi trong thời gian thực và tăng năng suất công việc. Một card đồ họa mạnh mẽ có thể giảm thời gian render từ hàng giờ xuống chỉ còn vài phút.

5.2. GPU Nền tảng không thể thiếu cho AI và Machine Learning

Sức mạnh tính toán của GPU là động lực chính đằng sau sự bùng nổ của AI và machine learning. Việc huấn luyện một mô hình AI đòi hỏi hàng tỷ phép tính lặp đi lặp lại trên các bộ dữ liệu khổng lồ. Kiến trúc xử lý song song của GPU cho phép thực hiện các phép toán này một cách đồng thời, giúp rút ngắn đáng kể thời gian huấn luyện. Các dòng GPU chuyên dụng cho trung tâm dữ liệu, như A100 và H100 của NVIDIA, được trang bị hàng chục nghìn nhân CUDA và bộ nhớ băng thông cực cao, trở thành tiêu chuẩn vàng cho các ứng dụng AI quy mô lớn, từ nghiên cứu khoa học đến các hệ thống thương mại.

VI. Bí quyết tối ưu GPU Tản nhiệt Overclocking và Benchmark

Để khai thác tối đa sức mạnh của bộ xử lý đồ họa, việc tối ưu hóa hiệu suất là vô cùng quan trọng. Một trong những yếu tố then chốt là quản lý nhiệt độ. Khi hoạt động ở cường độ cao, GPU tỏa ra một lượng nhiệt lớn. Nếu không được làm mát hiệu quả, nó sẽ tự động giảm xung nhịp để bảo vệ các linh kiện, dẫn đến sụt giảm hiệu năng. Do đó, việc đảm bảo một hệ thống tản nhiệt GPU tốt là điều cần thiết. Đối với những người dùng chuyên sâu muốn đẩy hiệu suất lên cao hơn nữa, overclocking GPU là một phương pháp phổ biến. Quá trình này bao gồm việc tăng xung nhịp của nhân và bộ nhớ vượt qua mức mặc định của nhà sản xuất. Tuy nhiên, overclocking đòi hỏi kiến thức và sự cẩn trọng để tránh gây hỏng hóc. Để đo lường và so sánh hiệu suất, các công cụ benchmark GPU như 3DMark hay FurMark được sử dụng rộng rãi. Chúng giúp người dùng đánh giá sức mạnh của card đồ họa, kiểm tra độ ổn định sau khi overclock và so sánh hiệu năng với các sản phẩm khác trên thị trường, từ NVIDIA đến AMDIntel Arc.

6.1. Hướng dẫn tản nhiệt GPU và phương pháp Overclocking an toàn

Một hệ thống tản nhiệt GPU hiệu quả là nền tảng cho hiệu suất ổn định. Điều này bao gồm việc đảm bảo luồng không khí trong thùng máy tốt, thường xuyên vệ sinh bụi bẩn khỏi quạt và khe tản nhiệt. Đối với overclocking GPU, người dùng nên sử dụng các phần mềm chuyên dụng như MSI Afterburner. Nguyên tắc cơ bản là tăng dần xung nhịp và điện áp từng chút một, sau đó chạy các bài kiểm tra benchmark để đảm bảo hệ thống hoạt động ổn định. Việc theo dõi nhiệt độ chặt chẽ trong suốt quá trình là bắt buộc. Overclocking không đúng cách có thể làm giảm tuổi thọ của GPU hoặc gây ra hư hỏng vĩnh viễn, vì vậy cần tiến hành một cách cẩn thận.

6.2. Xu hướng tương lai và tầm quan trọng của việc benchmark GPU

Tương lai của GPU hứa hẹn sẽ còn mạnh mẽ và thông minh hơn. Xu hướng chính là tích hợp sâu hơn các phần cứng chuyên dụng cho AI, cải thiện hiệu quả năng lượng và phát triển các kiến trúc mới để đẩy nhanh hơn nữa tốc độ xử lý song song. Cuộc cạnh tranh giữa NVIDIA, AMD, và sự trỗi dậy của Intel Arc sẽ tiếp tục thúc đẩy sự đổi mới. Trong bối cảnh đó, việc benchmark GPU ngày càng trở nên quan trọng. Nó không chỉ giúp người tiêu dùng lựa chọn sản phẩm phù hợp với nhu cầu mà còn là công cụ để các nhà phát triển game và phần mềm tối ưu hóa sản phẩm của mình, đảm bảo chúng hoạt động tốt trên nhiều cấu hình phần cứng khác nhau.

10/07/2025
Học phần kiến trúc máy tính đề tài gpu sức mạnh của chip đồ họa

Trích đoạn nội dung tài liệu

Chương 1 - TỔNG QUAN VỀ GPU. Vài nét về GPU. Khái niệm - RISC-V (phát âm là "risk-năm") là một kiến trúc tập lệnh(ISA) phần cứng mã nguồn mở dựa trên kiến trúc tập lệnh máy tính với tập lệnh đơn giản hóa (RISC). Lịch sử hình thành và phát triểned - Giai đoạn 2010-2015.1  Ý tưởng về RISC-V bắt đầu từ những năm 2000, khi các nhà nghiên cứu tại Đại học California, Berkeley, bắt đầu suy nghĩ về cách tạo ra một kiến trúc tập lệnh linh hoạt và hiệu quả hơn.

Dự án chính thức được công bố vào năm 2010, và trong năm đầu tiên, nhóm đã phát hành phiên bản đầu tiên của kiến trúc RISC-V.1 - Giai đoạn 2010-2015: Khởi đầu của RISC-V.2  Năm 2015, Hiệp hội RISC-V (RISC-V Foundation) được thành lập để quản lý và thúc đẩy sự phát triển của kiến trúc RISC-V. Hiệp hội đóng vai trò quan trọng trong việc xây dựng tiêu chuẩn, cung cấp tài nguyên hỗ trợ và tạo điều kiện cho sự hợp tác trong cộng đồng RISC-V.2  Năm 2016: SoC thương mại đầu tiên dựa trên RISC-V được phát hành. SoC này được phát triển bởi SiFive, một công ty khởi nghiệp có trụ sở tại Hoa Kỳ.2 iv Khoa khoa học máy tính  RISC-V đã mở cửa cho cả cộng đồng nghiên cứu và doanh nghiệp. Sự linh hoạt và tính mở của nó đã thu hút sự quan tâm từ nhiều tổ chức lớn và những cá nhân có đam mê trong lĩnh vực kiến trúc máy tính.

Các công ty như NVIDIA, Western Digital, và Alibaba đã tham gia và ủng hộ sự phát triển của RISC-V.2 - Giai đoạn 2020-nay: Tiềm năng của RISC-V.2  Năm 2020, Tổ chức RISC-V đã phát hành phiên bản 2.0 của kiến trúc RISC- V. Phiên bản này bao gồm một số cải tiến về hiệu suất, bảo mật và mở rộng.2  Năm 2021, Intel đã công bố kế hoạch phát triển chip RISC-V cho các ứng dụng máy tính trung tâm. Đây là một bước ngoặt quan trọng cho RISC-V, vì nó cho thấy kiến trúc này có thể được sử dụng trong các ứng dụng đòi hỏi hiệu suất cao.2  Năm 2022, RISC-V đã được sử dụng trong một số sản phẩm thương mại quan trọng, bao gồm: SoC HiFive Unleashed của SiFive ,SoC Sipeed Maixduino của Sipeed ,. Cấu tạo và nguyên lý hoạt động.

Nguyên lý hoạt động.4 Kiến trúc máy tính RISC-V cũng được trang bị với các thành phần quan trọng nhằm tối ưu hóa hiệu suất xử lý. Nhưng thay vì đơn vị xử lý đồ họa như trong GPU, RISC-V tập trung vào nguyên tắc cơ bản của kiến trúc máy tính RISC (Reduced Instruction Set Computing).4 RISC-V duy trì kiến trúc Load-Store, trong đó tất cả các phép toán trên dữ liệu phải được thực hiện thông qua thanh ghi. Dữ liệu từ bộ nhớ được nạp vào thanh ghi trước khi thực hiện các phép toán, và kết quả có thể được ghi trở lại thanh ghi hoặc lưu trữ trong bộ nhớ.4 * Độ Dài Của Thanh Ghi:.4 * Tập Lệnh Cơ Bản:.4 v Khoa khoa học máy tính * Extension:.4 * Ứng Dụng Cụ Thể:.4 * Phiên Bản và Tiêu Chuẩn:. Sự khác nhau giữa CPU và GPU.

Ứng dụng thực tế.6  Lĩnh vực game.6  Một số lĩnh vực khác.6 Chương 2 - TỔNG QUAN VỀ ASSEMBLY.7 -Assembly là một loại ngôn ngữ lập trình cấp thấp được sử dụng cho bộ vi xử lý và các thiết bị có thể lập trình khác, được tạo ra bằng cách biên dịch mã nguồn từ một ngôn ngữ lập trình cấp cao. Assembly được thiết kế để giao tiếp trực tiếp với phần cứng máy tính. Cách thức hoạt động:. Thành phần của ngôn ngữ Assembly:.

Cấu trúc chương trình.9 Hầu hết các hệ điều hành máy tính hiện nay, đặc biệt là các hệ điều hành của Microsoft, đều hỗ trợ hai dạng cấu trúc tập tin thực thi có thể hoạt động trên nó, đó là tập tin cấu trúc dạng COM và tập tin cấu trúc dạng EXE.9 Có nhiều điểm khác nhau giữa hai cấu trúc chương trình này, nhưng điểm khác biệt lớn nhất là: Các chương trình cấu trúc dạng EXE gồm 3 đoạn: Mã lệnh (Code), dữ liệu (Data) và Ngăn xếp (Stack). Khi hoạt động, 3 đoạn này sẽ được nạp vào 3 đoạn (Segment) bộ nhớ tách biệt trên bộ nhớ. Các chương trình dạng COM thì ngược lại, nó chỉ có 1 đoạn mã lệnh, trong đó chứa cả mã lệnh, đoạn dữ liệu và ngăn xếp. Vì thế, khi được nạp vào bộ nhớ để hoạt động nó chỉ được cấp phát một đoạn bộ nhớ.9 Rõ ràng kích thước của một chương trình dạng COM không thể vượt quá giới hạn của một đoạn bộ nhớ (với Intel 8088/80286 và MSDOS, 1 Segment bộ nhớ = 64KB).

vi Khoa khoa học máy tính Trong khi đó một chương trình dạng EXE có thể lớn hơn 3 Segment bộ nhớ. Do đó, khi thiết kế các chương trình lớn, với chức năng phức tạp, trong đó có liên kết giữa các modun chương trình khác nhau thì ta phải thiết kế theo cấu trúc chương trình dạng EXE. 9 Hợp ngữ hỗ trợ thiết kế cả hai dạng cấu trúc chương trình EXE và COM, mỗi dạng phù hợp với một nhóm trình biên dịch nào đó. Muốn biên dịch một chương trình hợp ngữ sang dạng EXE thì ngoài việc nó phải được viết theo cấu trúc dạng EXE ta còn cần phải sử dụng một trình biên dịch phù hợp.

Điều này cũng tương tự với việc muốn có một chương trình thực thi dạng COM. Tệp tin dạng COM.9 Cấu trúc chương trình dạng COM:.Model <Chế độ bộ nhớ>.9 <Nhãn chính>:.9 JMP <Thủ tục chính>.9 <Khai báo dữ liệu đặt tại đây>.9 <Thủ tục chính> PROC.9 <Các lệnh của chương trình đặt tại đây>.9 <Thủ tục chính> Endp.9 <Các thủ tục khác đặt tại đây>.9 End <Nhãn chính>.9 Trong cấu trúc chương trình trên các từ khóa Model, Code, ORG, Proc, Endp, End là các hướng dẫn biên dịch. <Nhãn chính> là nhãn của lệnh Jmp.9 Cấu trúc này cho thấy rõ, một chương trình hợp ngữ dạng COM chỉ có 1 đoạn, đó chính là đoạn Code (đoạn mã lệnh), trong này bao gồm cả phần khai báo dữ liệu. Các khai báo dữ liệu trong chương trình dạng COM có thể đặt ở đầu hoặc ở cuối chương vii Khoa khoa học máy tính trình, nhưng với việc sử dụng định nghĩa đoạn đơn giản các khai báo dữ liệu phải đặt ở đầu chương trình.

9 Chỉ dẫn ORG 100h và lệnh JMP <Thủ tục chính> sẽ được đề cập trở lại ở các phần sau đây của tài liệu này. Tệp tin dạng EXE.9 Cấu trúc chương trình dạng EXE:.Model <Chế độ bộ nhớ>. 9 <Khai báo dữ liệu đặt tại đây>.9 <Thủ tục chính> PROC.9 <Các lệnh của chương trình đặt tại đây>.9 <Thủ tục chính> Endp.9 <Các thủ tục khác đặt tại đây>. 9 Trong cấu trúc chương trình trên các từ khóa Model, Code, Data, Stack, Proc, Endp, End là các hướng dẫn biên dịch.9 Cấu trúc này cho thấy rõ, một chương trình hợp ngữ dạng gồm 3 đoạn: đoạn Code, chứa toàn bộ mã lệnh của chương trình.

Đoạn Data, chứa phần khai báo dữ liệu của chương trình. Đoạn Stack, nơi chứa stack (ngăn xếp) của chương trình khi chương trình được nạp vào bộ nhớ để hoạt động.Stack đặt ở đầu chương trình với mục đích khai báo kích thước của Stack dùng cho chương trình sau này. Kích thước thường được chọn là 100h (256) byte.Model được đặt ở đầu cả cấu trúc chương trình dạng COM và EXE với mục đích khai báo chế độ bộ nhớ mà chương trình sử dụng.9 viii Khoa khoa học máy tính 2. Ví dụ về chương trình viết theo cấu trúc dạng COM và EXE.9 Đề bài: Hãy sử dụng hai chương trình hợp ngữ đơn giản, dạng COM và EXE để in ra màn hình 4 dòng văn bản như sau:.9 University of Da Nang.

9 Subject: Computer Architecture.9 Hai chương trình dưới đây chỉ có tác dụng minh họa cho việc sử dụng các hướng dẫn biên dịch định nghĩa đoạn đơn giản và giúp các bạn thấy được những điểm giống nhau, khác nhau giữa hai dạng cấu trúc chương trình dạng COM và EXE, vì vậy, á đây các bạn chưa cần quan tâm đến ý nghĩa của các lệnh và các hàm/ngắt trong nó. Phần lệnh hợp ngữ và các hàm/ngắt sẽ được trình bày ngay sau đây.9 Chương trình viết theo cấu trúc dạng COM:. 9 MyChildren DB ‘University of Da Nang’,0Ah,0Dh.9 DB ‘VKU - ICT’ ,0Ah,0Dh.9 DB ‘Subject: Computer Architecture’ ,0Ah,0Dh.9 ;------- in ra mot xau voi ham 09/21h -------.9 Lea Dx,MyChildren.9 ix Khoa khoa học máy tính Int 21h.9 ;-------ket thuc chuong trinh -------. 9 Chương trình này chọn chế độ bộ nhớ Small.

Tên thủ tục chính là Main (tên thủ tục chính là tùy ý). Nhãn chính của chương trình là Start (tên thủ tục chính là tùy ý), đó chính là nhãn của lệnh Jmp. Phần khai báo dữ liệu chỉ khai báo 1 biến, đó là MyChildren. 9 Chương trình này gọi ngắt 20h để kết thúc chương trình dạng COM.9 Chương trình viết theo cấu trúc dạng COM:.

9 MyChildren DB ‘University of Da Nang’,0Ah,0Dh.9 DB ‘VKU - ICT’ ,0Ah,0Dh.9 DB ‘Subject: Computer Architecture’ ,0Ah,0Dh.9 ;------- khoi tao DS -------.9 Mov Ax,@Data.9 Mov DS,Ax.9 ;------- in ra mot xau voi ham 09/21h -------.9 Lea Dx,MyChildren.9 x Khoa khoa học máy tính Ví dụ: địa chỉ COM1 = 378h mov dx,378h in al,dx 2. Lệnh OUT Cú pháp: OUT địa chỉ cổng,AL/AX Chức năng: đưa dữ liệu từ thanh ghi AL/AX ra cổng Chú ý:  Nếu địa chỉ cổng <256 thì số địa chỉ đứng trực tiếp trong lệnh OUT Ví dụ: địa chỉ cổng là 1fh OUT 1fh,AL ; đưa nội dung AL ra cổng 1fh  Nếu địa chỉ cổng 256 thì phải nhờ đến thanh ghi DX Ví dụ: địa chỉ COM1 = 378h mov dx,378h out dx,al Lệnh này không tác động đến cờ. Lệnh LEA (load Efective address) Cú pháp: lea reg16, mem Chức năng: lấy phần địa chỉ offset của biến đưa vào thanh ghi 16 bit Ví dụ: lea bx, Value hay mov bx, OFFSET Value Đích thường là các thanh ghi: BX, CX, DX, BP, SI, DI Nguồn là tên biến trong đoạn DS được chỉ rõ trong lệnh hay ô nhớ cụ thể. Lệnh LES (Load register and ES with words from memory) Cú pháp: les reg, mem Chức năng: chuyển giá trị của 1 từ(word) từ một vùng nhớ vào thanh ghi đích và giá trị của từ tiếp theo sau của vùng nhớ vào thanh ghi ES.

Trang 24 Trong đó:  Đích là một trong các thanh ghi AX, BX,CX, DX, SP, BP, SI, DI.  Gốc là ô nhớ trong đoạn DS được chỉ rõ trong lệnh 2. Lệnh LDS (Load resgister and DS with words from memory) Cú pháp: lds reg, mem Chức năng: Nạp một từ từ bộ nhớ vào thanh ghi cho trong lệnh và 1 từ tiếp theo vào DS. Các lệnh số học 2.

Lệnh ADD(addition) Cú pháp: ADD dest, source Chức năng: lấy toán hạng đích cộng với toán hạng nguồn rồi đưa vào toán hạng đích dest = dest + source Bảng 7. Lệnh ADD Tác động đến cờ: C, P, A, Z, S, O.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ