Bài tìm hiểu về kiến trúc tập lệnh IA-32

IA-32 (Intel Architecture, 32 bit) còn được gọi là x86, x86-32 hay i386 là một kiến trúc tập lệnh của intel ứng dụng rất thành công trong mảng vi xử lý. Kiến trúc này xuất hiện đầu tiên trong vi xử lý nổi tiếng của Intel, 80386, giờ đây kiến trúc này được thiết lập cho hầu hết các họ vi xử lý trên thế giới.

docx22 trang | Chia sẻ: vietpd | Lượt xem: 3490 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Bài tìm hiểu về kiến trúc tập lệnh IA-32, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Báo cáo nhóm 2 – Lớp D08CNTT1 Thành viên : Đỗ Mạnh Cường Nguyễn Văn An Lê Sỹ Tuấn Nguyễn Ngọc Tuấn A - Bài tìm hiểu về kiến trúc tập lệnh IA-32 1, Giới thiệu: IA-32 (Intel Architecture, 32 bit) còn được gọi là x86, x86-32 hay i386 là một kiến trúc tập lệnh của intel ứng dụng rất thành công trong mảng vi xử lý. Kiến trúc này xuất hiện đầu tiên trong vi xử lý nổi tiếng của Intel, 80386, giờ đây kiến trúc này được thiết lập cho hầu hết các họ vi xử lý trên thế giới. IA-32 có khả năng tương thích ngược đầy đủ và hỗ trợ (mở rộng) những xử lý 64 bit, được gọi là Intel 64 của Intel hay AMD64 của AMD (còn được gọi là x86-64 và không liên quan gì đến kiến trúc IA-64 được áp dụng trong những dòng Itanium ( vi xử lý cho máy chủ của Intel)). Chính do tính tương thích ngược rất tốt và sự hỗ trợ mở rộng xử lý 64 bit mà kiến trúc IA-32 vẫn được duy trì và sử dụng rộng rãi. 2, Thiết kế cơ bản Vi xử lý trung tâm (CPU) là nơi xử lý mọi hoạt động tính toán logic và số học, nó chứa một số lượng giới hạn các thanh ghi (registers), một xung đồng hồ cao tần làm việc (high-frequency clock), một bộ điều khiển (CU) và một bộ tính toán logic số học (ALU). Chức năng của từng đơn vị: Xung đồng hồ đồng bộ hóa các quá trình làm việc của CPU và các thành phần hệ thống khác (ram, các khe cắm mở rộng…) Bộ điền khiển điều phối các trình tự thực hiện lệnh liên quan đến thực thi mã máy. Bộ tính toán số học thực hiện các phép tính số học như phép cộng, trừ…. Và các tính toán logic như AND, OR, NOT 3, Các thanh ghi (register) Kiến trúc IA-32 có 8 thanh ghi đa năng 32 bit có thể truy cập. dưới đây là các thanh ghi và ứng dụng của chúng. %eax Thanh ghi tích lũy. %ebx (đôi khi trỏ đến dữ liệu) %ecx Thanh ghi đếm %edx Thanh ghi phụ %edi Nguồn của chuỗi các phép toán %esi Đích của chuỗi các phép toán %ebp Con trỏ chính, trỏ đến điểm đầu của ngăn xếp. %esp Con trỏ ngăn xếp, trỏ đến ngăn xếp trên cùng %eip Bộ đếm lệnh, thanh ghi này không thể truy cập. %eflags Con trỏ đánh dấu (cờ), có thể truy cập thông qua các lệnh đặc biệt. 4, Một lệnh của IA-32 Dưới đây là thứ tự thực hiện một lệnh của kiến trúc IA-32, thứ tự này không phải là cố định, chẳng có quy chuẩn bắt buộc nào cả, nhưng nếu có các bước này, phải thực hiện theo đúng trình tự. Opcode: xác định công việc ModR/M: đánh dấu phương thức sử dụng bộ nhớ/ thanh ghi SIB: đánh giá/ đong đếm (scale) – Lập chỉ mục (Index) – Thiết đặt cơ sở (Base) Hoán đổi (nếu có) Thực thi (nếu có) 5, Các nhóm lệnh tiêu biểu 5.1,Nhóm lệnh dịch chuyển dữ liệu Nhóm lệnh này đảm nhận việc chuyển dữ liệu qua lại giữa các thành phần nhớ và các thành phần xử lý của máy tính. 5.2,Nhóm lệnh tính toán số học Thực hiện các phép toán số học như cộng, trừ, nhân, chia, thêm bớt trong ngăn xếp 5.3,Nhóm lệnh tính toán logic Thực hiện các phép toán logic như AND, OR, XOR 5.4,Nhóm lệnh điều khiển tuần tự Bao gồm các câu lệnh thực hiện việc điều khiển sự dịch chuyển, lặp, gọi chương trình con 5.5,Nhóm lệnh vào ra Các câu lệnh vào, ra để nhập, xuất dữ liệu có và không điều kiện 6, Phân tích các lệnh cơ bản của từng nhóm 6.1,Nhóm lệnh dịch chuyển dữ liệu Lệnh Mã gợi nhớ Cách thức Miêu tả mov NGUỒN, ĐÍCH ĐÍCH = NGUỒN dịch chuyển/sao chép xchg NGUỒN, ĐÍCH ĐÍCH = NGUỒN, NGUỒN = ĐÍCH đổi chỗ push NGUỒN (%esp) = NGUỒN; %esp -= 4; đưa vào ngăn xếp pop ĐÍCH ĐÍCH = (%esp); %esp += 4; lấy ra khỏi ngăn xếp 6..1.1, Lệnh MOV : -Dạng lệnh : MOV reg,reg MOV reg,immed MOV mem,reg MOV mem,immed MOV reg,mem MOV mem16,segreg MOV reg16,segreg MOV segreg,mem16 MOV segreg,reg16 - Giải thích : ĐÍCH ← NGUỒN - Chép toán hạng nguồn vào toán hạng đích. - Ví dụ : MOV AX,CX ; AX ← CX MOV [SI+1000h],BP ; [SI+1001h, SI+1000h] ← BP 6.1.2, Lệnh XCHG : -Dạng lệnh : XCHG reg,reg XCHG mem,reg XCHG accum,reg16 XCHG reg,mem - Giải thích : ĐÍCH ↔ NGUỒN - Trao đổi nội dung hai toán hạng cho nhau. - Ví dụ : XCHG AX,CX ; AX ↔ CX XCHG [1000h],DX ; [1001h,1000h] ↔ DX 6.1.3, Lệnh PUSH : -Dạng lệnh : PUSH reg16 PUSH segreg PUSH mem16 - Giải thích : SP ← SP-2 [SS:SP+1,SS:SP] ← NGUỒN - Đẩy toán hạng nguồn 16 bit vào chồng (địa chỉ đỉnh chồng là SS:SP). - Ví dụ : PUSH DI ; [SS:SP+1,SS:SP] ← DI PUSH [SI] ; [SS:SP+1,SS:SP] ← [SI+1,SI] 6.1.4, Lệnh POP : -Dạng lệnh : POP reg16 POP segreg POP mem16 - Giải thích : ĐÍCH ← [SS:SP+1,SS:SP] SP ← SP+2 - Lấy dữ liệu từ đỉnh chồng vào toán hạng đích. - Ví dụ : POP AX ; AX ← [SS:SP+1,SS:SP] POP [BX+1] ; [BX+2,BX+1]← [SS:SP+1,SS:SP] 6.2,Nhóm lệnh tính toán logic Lệnh Mã gợi nhớ Cách thức Miêu tả XOR NGUỒN, ĐÍCH ĐÍCH = ĐÍCH ^ NGUỒN lệnh XOR OR NGUỒN, ĐÍCH ĐÍCH = ĐÍCH | NGUỒN lệnh OR AND NGUỒN, ĐÍCH ĐÍCH = ĐÍCH & NGUỒN lệnh AND NOT NGUỒN, ĐÍCH ĐÍCH = -NGUỒN lệnh NOT 6.2.1, Lệnh XOR : -Dạng lệnh : XOR reg,reg XOR reg,immed XOR mem,reg XOR mem,immed XOR reg,mem XOR accum,immed - Giải thích : ĐÍCH ← ĐÍCH XOR NGUỒN. - Ví dụ : XOR DL,80h ; đảo bit 7 XOR [2000h],AL ; [2000h] ← [2000h] XOR AL 6.2.2, Lệnh OR : -Dạng lệnh : OR reg,reg OR reg,immed OR mem,reg OR mem,immed OR reg,mem OR accum,immed - Giải thích : ĐÍCH ← ĐÍCH OR NGUỒN. - Ví dụ : OR DL,CH 6.2.3, Lệnh AND : -Dạng lệnh : AND reg,reg AND reg,immed AND mem,reg AND mem,immed AND reg,mem AND accum,immed - Giải thích : ĐÍCH ← ĐÍCH AND NGUỒN. - Ví dụ : AND CH,AH 6.2.4, Lệnh NOT : -Dạng lệnh : NOT reg NOT mem - Giải thích : ĐÍCH ← bù 1 của ĐÍCH - Đảo hay lấy bù 1. - Ví dụ : NOT AL 6.3,Nhóm lệnh tính toán số học Lệnh Mã gợi nhớ Cách thức Miêu tả inc ĐÍCH ĐÍCH++ Thêm 1 phần tử dec ĐÍCH ĐÍCH- Bớt 1 phần tử add NGUỒN, ĐÍCH ĐÍCH = ĐÍCH + NGUỒN cộng sub NGUỒN, ĐÍCH ĐÍCH = ĐÍCH - NGUỒN trừ mul NGUỒN %edx:%eax = %eax * NGUỒN Nhân không dấu imul NGUỒN %edx:%eax = %eax * NGUỒN Nhân có dấu div NGUỒN %edx = %eax MOD NGUỒN; %eax = %eax / NGUỒN; chia có dấu idiv NGUỒN %edx = %eax MOD NGUỒN; %eax = %eax / NGUỒN; chia ko dấu 6.3.1, Lệnh INC : -Dạng lệnh : INC reg INC mem - Giải thích : ĐÍCH ← ĐÍCH + 1 - Tăng tức là cộng 1 vào toán hạng đích nhưng không ảnh hưởng cờ nhớ. - Ví dụ : INC CH 6.3.2, Lệnh DEC : -Dạng lệnh : DEC reg DEC mem - Giải thích : ĐÍCH ← ĐÍCH - 1 - Giảm tức là trừ 1 vào toán hạng đích nhưng không ảnh hưởng cờ nhớ. -Ví dụ : DEC AX 6.3.3, Lệnh ADD : -Dạng lệnh : ADD reg,reg ADD reg,immed ADD mem,reg ADD mem,immed ADD reg,mem ADD accum,immed - Giải thích : ĐÍCH ← ĐÍCH + NGUỒN - Cộng toán hạng nguồn vào toán hạng đích. Kết quả cất vào toán hạng đích. - Ví dụ : ADD CX,SI ; CX ← CX + SI ADD [1000h],BX ; [1001h,1000h] ← [1001h,1000h] + BX 6.3.4, Lệnh SUB : -Dạng lệnh : SUB reg,reg SUB reg,immed SUB mem,reg SUB mem,immed SUB reg,mem SUB accum,immed - Giải thích : ĐÍCH ← ĐÍCH - NGUỒN - Trừ toán hạng đích cho toán hạng nguồn. Kết quả cất vào toán hạng đích. - Ví dụ : SUB DL,AL ; DL ← DL - AL SUB BP,4 ; BP ← BP - 4 6.3.5, Lệnh MUL : -Dạng lệnh : MUL reg MUL mem - Giải thích : Toán hạng nguồn 8 bit thì : AX ← AL * NGUỒN8 Toán hạng nguồn 16 bit thì : DX AX ← AX * NGUỒN16 - Nhân hai số không dấu 8 bit hay 16 bit. Số bit thực hiện được xác định bằng chiều dài của toán hạng nguồn. +Phép nhân 8 bit : thực hiện nhân AL với toán hạng nguồn, kết quả 16 bit cất trong thanh ghi AX. +Phép nhân 16 bit : thực hiện nhân AX với toán hạng nguồn, kết quả 32 bit cất trong 2 thanh ghi DX và AX. DX giữ 16 bit cao, AX giữ 16 bit thấp. - Ví dụ : Nếu AL=5, CH=4, sau khi thực hiện lệnh MUL CH ta có AX = AL*CH = 0014h. Nếu AX=500h, [1001h,1000h]=401h, sau khi thực hiện lệnh MUL WORD PT [1000h] ta có DXAX = AX * [1001h,1000h] = 500h * 401h = 00140500h Nghĩa là DX=0014h và AX=0500h. 6.3.6, Lệnh IMUL : -Dạng lệnh : IMUL reg IMUL mem - Nhân hai số có dấu. Thực hiện giống hệt như lệnh MUL, chỉ có kết quả được xem là số có dấu. 6.3.7, Lệnh DIV : -Dạng lệnh : DIV reg DIV mem - Giải thích : Toán hạng nguồn 8 bit thì : AL ← (AX / NGUỒN8) AH ← số dư của (AX / NGUỒN8) Toán hạng nguồn 16 bit thì : AX ← (DXAX / NGUỒN16) DX ← số dư của (DXAX / NGUỒN16) - Chia hai số không dấu. - Nếu toán hạng nguồn là thanh ghi hay bộ nhớ 8 bit, thực hiện chia số 16 bit trong thanh ghi AX cho toán hạng nguồn 8 bit. Kết quả 8 bit cất trong thanh ghi AL. Số dư 8 bit cất trong thanh ghi AH. - Nếu toán hạng nguồn là thanh ghi hay bộ nhớ 16 bit, thực hiện chia số 32 bit trong 2 thanh ghi DXAX cho toán hạng nguồn 16 bit. Kết quả 16 bit cất trong thanh ghi AX. Số dư 16 bit cất trong thanh ghi DX. - Ví dụ : Nếu AX=0024h, [2000h]=05 thì sau khi thực hiện lệnh DIV BYTE PTR [2000h] ta có AL=07 và AH=01. 6.3.8, Lệnh IDIV : -Dạng lệnh : IDIV reg IDIV mem - Chia hai số có dấu. Thực hiện giống như lệnh DIV nhưng kết quả coi là số có dấu. 6.4,Nhóm lệnh điều khiển tuần tự Lệnh Mã gợi nhớ Cách thức Miêu tả jmp NHÃN dịch chuyển vô điều kiện je NHÃN dịch chuyển nếu ngang bằng jne NHÃN dịch chuyển nếu không bằng jg NHÃN dịch chuyển nếu lớn hơn jge NHÃN dịch chuyển nếu lớn hơn hoặc bằng jl NHÃN dịch chuyển nếu nhỏ hơn jle NHÃN dịch chuyển nếu nhỏ hơn hoặc bằng call NHÃN gọi chương trình con loop NHÃN %ecx- dec %ecx, dịch chuyển đến nhãn nếu không là ZERO loope NHÃN if -%ecx != 0 && ZERO flag: %eip = NHÃN loopz NHÃN if -%ecx != 0 && ZERO flag: %eip = NHÃN loopnz NHÃN 6.4.1, Lệnh JMP : shortlabel : IP ← IP + độ dời (mở rộng dấu 16 bit) nearlabel : IP ← địa chỉ farlabel : CS ← địa chỉ segment IP ← địa chỉ offset reg16 : IP ← reg16 mem16 : IP ← [địa chỉ +1,địa chỉ] mem32 : CS ← [địa chỉ +3,địa chỉ+2] IP ← [địa chỉ +1,địa chỉ] - Nhảy không điều kiện. Lệnh nhảy không điều kiện thực hiện giống như lệnh gọi nhưng không có bước lưu lại địa chỉ trở về. - Lệnh nhảy đến nhãn ngắn shortlabel là lệnh nhảy tương đối. Nơi đến phải nằm trong phạm vi từ -128 đến +127 so với vị trí của lệnh nhảy. Toán hạng nguồn trong lệnh chỉ là byte độ dời để cộng thêm vào thanh ghi IP. Byte độ dời này được mở rộng dấu trước khi cộng vào thanh ghi IP. - Ví dụ : JMP SHORT 18h JMP 0F008h 6.4.2, Lệnh CALL : -Dạng lệnh : CALL nearlabel CALL mem16 CALL farlabel CALL mem32 CALL reg16 - Giải thích : nearlabel : PUSH IP IP ← địa chỉ lệnh kế + độ dời 2 byte farlabel : PUSH CS PUSH IP CS ← địa chỉ segment IP ← địa chỉ offset reg16 : PUSH IP IP ← reg16 mem16 : PUSH IP IP ← [địa chỉ +1,địa chỉ] mem32 : PUSH CS PUSH IP CS ← [địa chỉ +3,địa chỉ+2] IP ← [địa chỉ +1,địa chỉ] - Gọi chương trình con. Quá trình gọi chương trình con được thực hiện qua 2 bước : Cất địa chỉ trở về - chính là địa chỉ lệnh ngay sau lệnh CALL - vào chồng. Chuyển sự thi hành chương trình đến địa chỉ lệnh đầu tiên của chương trình con. - Địa chỉ trở về chính là nội dung hiện tại của cặp thanh ghi CS:IP. - Lệnh gọi trực tiếp đến nhãn nearlabel chỉ cất nội dung IP, và nạp giá trị offset mới vào IP (nội dung CS không đổi) nên chỉ có thể dùng để gọi bên trong một segment. Lệnh này còn được gọi là lệnh gọi gần hay gọi trong segment. Nhãn nearlabel còn được gọi là nhãn gần và có kích thước 2 byte. - Lệnh gọi trực tiếp đến nhãn farlabel cất nội dung IP lẫn CS, sau đó nạp giá trị offset mới vào IP, nạp giá trị segment mới vào CS nên có thể dùng để gọi đến bất kỳ vị trí bộ nhớ nào cũng được. Lệnh này còn được gọi là lệnh gọi xa hay gọi ngoài segment. Nhãn farlabel còn được gọi là nhãn xa và có kích thước 4 byte. Ví dụ : CALL 0F008h 6.4.3, Lệnh LOOP : Dạng lệnh 1 : LOOP shortlabel - Giải thích : giảm CX, lặp vòng (nhảy) nếu CX ≠ 0 IP ← địa chỉ lệnh kế + dộ dời (mở rộng dấu 16 bit) - Lập vòng không điều kiện. CX giữ số lần lặp. Rất tiện dụng trong việc tạo ra các vòng lặp. - Một trong những ứng dụng phổ biến của lệnh lặp vòng là tạo ra các vòng làm trễ. - Ví dụ :Nhan: MOV LOOP CX,10Nhan ; vòng lặp làm 10 lần lệnh LOOP 6.5,Nhóm lệnh vào ra Lệnh Mã gợi nhớ Cách thức Miêu tả Input In lấy dữ liệu từ thiết bị nhập đến bộ xử lý Output Out xuất dữ liệu từ bộ xử lý ra thiết bị 6.5.1, Lệnh IN : -Dạng lệnh : IN accum,immed8 IN accum,DX - Giải thích : btl ← [cổng IO] - Nhập dữ liệu từ cổng xuất nhập vào thanh ghi bộ tích lũy AL hay AX. Trường hợp AX sẽ nhập byte thấp trước, byte cao sau. -Dạng lệnh có immed8 dùng trong trường hợp địa chỉ cổng xuất nhập 8 bit. - Ví dụ : IN AL,61h IN AX,40h -Dạng lệnh có thanh ghi DX dùng cho trường hợp địa chỉ cổng 16 bit. Tuy nhiên dạng này vẫn có thể dùng cho cổng xuất nhập có địa chỉ 8 bit và có lợi khi sử dụng địa chỉ cổng để nhập nhiều lần. - Ví dụ : MOV DX,378h IN AL,DX 6.5.2, Lệnh OUT : -Dạng lệnh : OUT immed8,accum OUT DX,accum - Giải thích : [cổng IO] ← btl - Xuất dữ liệu từ thanh ghi bộ tích lũy AL hoặc AX ra cổng xuất nhập có địa chỉ 8 bit là số tức thời immed8 hay có địa chỉ 16 bit trong thanh ghi DX. - Ví dụ : OUT 20h,AL MOV DX,2F8h OUT DX,AL B - Tìm hiểu chipset cho CPU 1. Kiến trúc chipset 1.1 Khái niệm : chipset là một mạch tích hợp được thiết kế để làm việc cùng nhau như một sản phẩm độc lập.Trong máy tính, chipset thường dùng để nói đến các chip đặc biệt trên bo mạch chủ và card mở rộng. Phân loại : chipset chia ra thành 2 loại chip trên bo mạch chủ, đó là Chip cầu bắc ( NorthBrigde ) Chip cầu nam ( SouthBrigde ) H1.Cấu tạo Chipset Một số hãng sản xuất chipset cho bo mạch chủ máy PC là Intel, nVIDIA, SIS, ATI.... 1.2 Cấu tạo 1.2.1 Chip cầu bắc ( NorthBrigde ) Tên gọi khác là : Memmory Controller Hub ( MCH ), là một trong 2 chip trên bo mạch chủ. Chức năng : Chip cầu bắc đảm nhiệm việc liên lạc giữa các thiết bị CPU, RAM, AGP hoặc PCI Express, và chip cầu nam. Một vài loại còn chứa chương trình điều khiển video tích hợp, hay còn gọi là Graphics and Memory Controller Hub (GMCH). Vì các bộ xử lý và RAM khác nhau yêu cầu các tín hiệu khác nhau, một chip cầu bắc chỉ làm việc với một hoặc hai loại CPU và nói chung chỉ với một loại RAM. Có một vài loại chipset hỗ trợ hai loại RAM (những loại này thường được sử dụng khi có sự thay đổi về chuẩn). Ví dụ, chip cầu bắc của chipset NVIDIA nForce2 chỉ làm việc với bộ xử lý Duron,Athlon, và Athlon XP với DDR SDRAM, chipset Intel i875 chỉ làm việc với hệ thống sử dụng bộ xử lý Pentium 4 hoặcCeleron có tốc độ lớn hơn 1.3 GHz và sử dụng DDR SDRAM, chipset Intel i915g chỉ làm việc với Intel Pentium 4 và IntelCeleron, nhưng có thể sử dụng bộ nhớ DDR hoặc DDR2. Tầm quan trọng : là nhân tố quyết đinh số lượng, tốc độ và loại CPU cũng như dung lượng, tốc độ và loại RAM có thể sử dụng được. Ví dụ : Các máy tính với CPU Pentium thường chỉ quản lý được bộ nhớ tối đa là 128MB, trong khi với CPU Pentium IV, do sử dụng đến 36 bit địa chỉ, nên có thể quản lý được 64GB bộ nhớ. 1.2.2 Chip cầu nam ( SouthBrigde ) Tên gọi khác là : I/O Controller Hub ( ICH) Chức năng : đảm nhiệm việc giao tiếp với các thiết bị có tốc độ thấp hơn. Chip cầu nam không kết nối trực tiếp với CPU, mà kết nối CPU thông qua Chip cầu bắc.Và thường làm việc với một vài chíp cầu bắc khác, và mỗi cặp thường phải có thiết kế phù hợp mới có thể làm việc với nhau, giao tiếp giữa chúng là BUS PCI vì thế nó tạo nên hiệu ứng cổ chai. 2. Tìm hiểu chipset G31. 2.1Chipset G31 : được thiết kế cho máy tính để bàn, cung cấp cho những người có thu nhập trung bình.Vì vậy nó kết nối với các bộ xử lý Core 2 hoặc Pentium Dual Core Celeron hoặc tương tự kiến trúc Core 2. Cấu tạo : gồm chip cầu bắc là G31GMCH và chip cầu nam là ICH7 2.2 Kết nối các bộ phận H2: Mô hình Chipset G31 1333/1066/800 Mhz Systems Bus: hỗ trợ bộ xử lý Core 2 Duo và Core 2 Quad PCI Express* 1.1 Interface : cung cấp băng thông 8Gb/s cho xử lý đồ họa. Intel* Fast Memmory Access : Cập nhất GMCH hệ thống đường truyền chính giúp tăng hiệu suất của hệ thống bằng cách sử dụng tối ưu băng thông bộ nhớ có sẵn và giảm thiểu tối đa độ trễ của bộ nhớ truy cập. Dual – Channel DDR2 Memmory Support : Cung cấp lên đến 12.8GB/s của băng thông và 4GB bộ nhớ giúp cho hệ thống đáp ứng nhanh hơn và hỗ trợ tính toán 64-bit . Intel*Flex Memmory Techonology : nâng cấp dễ dàng hơn nhờ cho phép cắm nhiều bộ nhớ có kích thước khác nhau và phần còn lại trong phương thức kênh đôi . Intel* Graphics Media Accelerator 3100: Các chipset Intel G31 bao gồm GMA3100 của đơn vị đồ họa tích hợp, mà là dựa trên lõi GMA3000. Đây là cốt lõi đồ họa mà Intel đầu tiên triển khai trên các chipset family 965 (gọi là GMA X3000), và mặc dù G965 hỗ trợ mô hình Pixel Shader 3.0, các, G31 G33, G35 được giới hạn cho 2,0 SM, có nghĩa là khả năng DirectX 9.0c. Điều này là đủ cho tất cả các tính năng Aero trên Windows Vista. Intel* High Definition Audio : Tích hợp âm thanh hỗ trợ âm thanh cho phép bảo hiểm kỹ thuật số và cung cấp tính năng tiên tiến, như nhiều âm thanh và khe cắm re-tasking. Intel* Matrix Storage : thêm một trình điều khiển cứng thứ 2, giúp truy cập nhanh hơn với ảnh kỹ thuật số, video, và dữ liêu kiểu RAID 0,5,10 và bảo vệ dữ liệu tốt hơn với 1 ổ đĩa cứng khi xảy ra lỗi với RAID 1.5.10 LPC Interface Signals : bao gồm LPC Multiplexed Command, Address, Data LPC Frame LPC Serial DMA/Master Request Inputs 3. So sánh chipset G31 với chipset G33. Nhìn chung chipset G33 được thiết kế tiên tiến hơn so với chipset G31.Một số đặc điểm cải tiến của ở chipset G33 so với G31 như Dual-Channel DDR3 Support Memmorry : Cung cấp lên đến 17 GB / s của băng thông và bộ nhớ 8 Gb.Hỗ trợ DDR2 và DDR3. Intel ® TV Wizard : Cho phép cài đặt và cấu hình liền mạch với TV. Intel ® Quiet System Technology : Hệ thống thuật toán thông minh điều khiển tốc độ quạt, nhiệt độ dao động sử dụng hoạt động hiệu quả hơn để giảm tiếng ồn hệ thống nhận biết bằng cách giảm thiểu thay đổi tốc độ quạt. Hỗ trợ công nghệ Crossfile giúp chạy song song 2 card đồ họa làm tăng khả năng xử lý hình ảnh. Kết hợp với chíp cầu nam ICH9 hỗ trợ âm thanh vòm 7.1 và Lan gigabit. Hỗ trợ 4 cổng sata với tính năng RAID 0,1,0+1 và 5. C – Giới thiệu main board sử dụng chipset G31. Trong một hệ thống máy tính,có khoảng 10 thiết bị khác nhau và các thiết bị này có tốc độ chạy rất khác nhau (CPU: 2GHz, RAM 800MHz: ,Sound card:), ngoài ra các thiết bị có số bus(số đường mạch) khác nhau.Vì thế các thiết bị này không thể kết nối trực tiếp với nhau được.Mainboard là thiết bị trung gian làm nhiệm vụ kết nối các thiết bị lại thành 1 bộ máy thống nhất. Chức năng của Mainboard: Gắn kết các thành phần trên 1 hệ thống máy tính. Điều khiển tốc độ bus cho phù hợp với các thành phần khác nhau. Quản lý nguồn cấp cho các thành phần trên Main. Cung cấp xung nhịp chủ (xung clock) để đồng bộ hoạt động của toàn hệ thống. Mainboard gồm 3 thành phần chính là North Bridge, South Bridge và IC SIO (IC điều khiển các cổng) làm nhiệm vụ trung gian gắn kết các thiết bị lại với nhau Cấu tạo: Soket: đế cắm CPU – do North Bridge điều khiển North Bridge: Điều khiển các thiết bị có tốc độ cao như CPU, RAM, Card video Điều khiển tốc độ bus, điều khiển chuyển mạch cho phép từng luồng dữ liệu đi qua trong 1 thời gian nhất định để đảm bảo dữ liệu được thông suốt và khai thác hết được tốc độ CPU và bộ nhớ RAM. South Bridge: Điều khiển các thiết bị có tốc độ thấp như: card sound, card net, HDD, ổ đĩa CD, DVD... Rom BIOS: (Read only memory – Basic in out system) Là IC nhớ chỉ đọc , BIOS là chương trình nạp trong ROM do nhà sản xuất Main nạp vào. Chức năng: Khởi động máy tính, duy trì hoạt động của CPU. Kiểm tra lỗi của RAM và Card Video. Quản lý điều khiển cho North Bridge và South Bridge, IC SIO và card video on board IC SIO (Super In Out)- điều khiển các cổng ra vào Điều khiển các cổng parrallel như máy in, scaner, điều khiển các cổng Serial như COM, PS/2 Giám sát các bộ phận khác trên Main để cung cấp tín hiệu báo sự cố. Tích hợp mach điều khiển tắt mở nguồn, tạo tín hiệu Reset hệ thống. Clockgen(Clocking) – Mạch tạo xung clock Tạo xung nhịp cung cấp cho các thành phần trên Main hoạt động, đồng thời đồng bộ sự hoạt động của toàn hệ thống máy tính, nếu mạch Clock bị hỏng thì các thành phần trên Main không thể hoạt động. Mạch Clocking hoạt động đầu tiên sau khi Main có nguồn chính cung cấp. VRM(Vol Regu Module)- Modul ổn áp. Mạch điều khiển nguồn VCORE cấp cho