Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
3,61 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN BÁO CÁO CUỐI KÌ BỘ MƠN KIẾN TRÚC MÁY TÍNH ĐỀ TÀI : TÌM HIỂU VỀ NHỮNG CƠNG NGHỆ MỚI CĨ TRÊN MAINBOARD VÀ NGƠN NGỮ LẬP TRÌNH ASSEMBLY Nhóm sinh viên thực : Tên sinh viên CHÂU BINH NGUYỄN VĂN QUÝ VƯƠNG QUỐC KHÁNH Đà nẵng, tháng năm 2021 TRẦN MINH VŨ Lớp 20CE 20CE 20IT10 20IT10 0|Page ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG VIỆT - HÀN BÁO CÁO CUỐI KÌ BỘ MƠN KIẾN TRÚC MÁY TÍNH ĐỀ TÀI : TÌM HIỂU VỀ CÔNG NGHỆ MAINBOARD MỚI NHẤT VÀ NGÔN NGỮ LẬP TRÌNH ASSEMBLY 1|Page Đà nẵng, tháng năm 2021 2|Page NHẬN XÉT …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… Ký tên 3|Page MỤC LỤC Trang Phần : Tìm hiểu mainboard………………………………………………04 1.1 Mainboard ? ………………………………………………… 04 1.2 Chức mainboard………………………………………04 1.3 Mainboard hoạt động nào…………………………………….06 1.4 Các phận có mainboard……………….…………… 07 Phần : Cơng nghệ mainboard có ROG Maximus XII hero-Z590 14 2.1 Cấu hình chi tiết………………………………………………………14 2.2 Cơng nghệ có sản phẩm…………………………………… 19 Phần : Tìm hiểu ngơn ngữ lập trình assembly 3.1 Các khái niệm…………………………………………………………25 3.1.1 Trình hợp dịch………………………………………………… 25 3.1.2 Hợp ngữ…………………………………………………………27 3.1.3 Ngôn ngữ máy………………………………………………… 28 3.2 Ứng dụng…………………………………………………………… 30 3.2.1 Trong khứ………………………………………………… 30 3.2.2 Hiện nay………………………………………………………….31 3.2.3 Các ứng dụng điển hình………………………………………….31 3.3 Một số ví dụ chương trình Assembly bản……………………….32 3.3.1 Tổng hai số………………………………………………… 32 3.3.2 Giai thừa số…………………………………………… 33 3.3.3 Trung bình cộng hai số………………………………………34 3.3.4 Hiệu hai số………………………………………………… 35 Phần : Tài liệu tham khảo…………………………………………………… 36 4|Page Phần : TÌM HIỂU VỀ MAINBOARD 1.1 Mainboard ? Bo mạch chủ hay gọi mainboard/ Motherboard (hay gọi tắt Mobo Main) bảng mạch in đóng vai trị liên kết thiết bị thơng qua đầu cắm dây dẫn phù hợp Trong ngành cơng nghiệp máy tính, thuật ngữ sử dụng phổ biến từ danh riêng. Mặc dù khác nhiều sản phẩm có mạch gọi “bo mạch chủ”, để tránh nhầm lẫn người ta thường gọi chúng bo mạch chủ máy tính/ main máy tính, PC;… dễ dàng phân biệt 1.2 Chức mainboard Mainboard một bản mạch liên kết tất linh kiện thiết bị ngoại vi thành máy thống Mainboard điều khiển tốc độ và đường đi của luồng liệu thiết bị Điều khiển, phân phối điện áp cung cấp cho linh kiện gắn Mainboard Ngồi Mainboard cịn linh kiện định đến “tuổi thọ” nguyên máy có có “em nó” biết “mình” nâng cấp lên tới mức 5|Page Sơ đồ khối Mainboard linh kiện liên quan Sơ đồ khối nhiều loại Mainboard khác nhau, nhiên giống nguyên lý hoạt động cấu trúc rẽ nhánh, liên lạc phân phối nguồn, tín hiệu tương tự Và theo sơ đồ khối ta thấy: Socket CPU, CPU liên lạc với tất thành phần cịn lại thơng qua Chip cầu Bắc 6|Page Chíp cầu Bắc: Trực tiếp quản lý VGA (Kể onboard khe cắm rời như AGP, PCIx) và RAM Chip cầu Nam: Quản lý hầu hết thiết bị lại như: ATA (giao tiếp ổ cứng), chip LAN, chip Audio, cổng USB, khe PCI, chip SIO, chip BIOS… Chip SIO: Quản lý thiết bị như: Keyboard, mouse, FDD (ổ mềm), LPT (cổng máy in), Serial (cổng nối tiếp)… Chip BIOS: Chứa đoạn chương trình CMOS SETUP, POST… 1.3 Mainboard hoạt động ? Giữa thiết bị thơng thường có tốc độ truyền tải khác nhau, gọi tốc độ Bus Mainboard có Chipset quan trọng Chipset cầu bắc Chipset cầu nam, chúng có nhiệm vụ nối thành phần cắm vào Mainboard CPU RAM, CPU VGA Card, … Do tốc độ Bus linh kiện khác nên chúng đưa qua North Bridge South Bridge để xử lý lại tốc độ Bus, mà máy tính hoạt động cách thống Lưu ý: Các bạn lưu ý điều tốc độ Bus CPU phải lớn tốc độ Bus RAM, có CPU nhận hết RAM, tốc độ Bus CPU lại nhỏ RAM, bạn lãng phí không tận dụng mạnh máy tính 7|Page 1.4 Các thành phần có mainboard 1.Bộ chipset Chipset phận quan trọng làm cầu nối cho tất thành phần mainboard Mainboard dùng CPU hãng Intel: 8|Page Chipset gồm hai loại chipset cầu bắc chipset cầu nam Chip cầu bắc phận kết nối với CPU từ kết nối với nhớ , kênh truyền đến chip cầu nam Chip cầu nam: có trách nhiệm dẫn truyền tín hiệu đến chip cầu bắc ngược lại Chip cầu nam chip lớn thứ hai mianboard Đối với dòng mainboard intel từ phiên I trở sau chip cầu bắc tích hợp với CPU nên ta không thấy diện chi tiết Mainboard dùng CPU hãng AMD: 9|Page Kết nối mạng hiệu cao: WiFi 6E (802.11ax) tích hợp, Ethernet kép Intel® 2.5 Gb ASUS LANGaurd ROG Maximus XIII Hero trang bị Intel® Wi-Fi 6E AX210 hỗ trợ lên đến 6GHz kênh 160MHz rộng hơn, cho tốc độ không dây lên đến 2,4Gbps Hỗ trợ công nghệ PCIe 4.0: PCIe 4.0, bốn M.2, đầu nối USB 3.2 Gen 2x2, cổng USB Type-C® kép với Thunderbolt™ USB-C® 23 | P a g e Các bo mạch chủ ASUS ROG Maximus XIII Hero Z590 có khe cắm M.2 PCIe số hỗ trợ PCIe 4.0 Các khe cắm M.2 bo mạch chủ bao gồm M.2 để có hiệu suất làm mát tốt Âm chơi game dẫn đầu ngành: ROG SupremeFX ALC4082 với ESS® ES9018Q2C DAC cho âm trung thực cao Độc đáo cá tính riêng: Hệ thống chiếu sáng RGB Aura Sync độc quyền ASUS, bao gồm đầu cắm RGB ba đầu cắm RGB addressable Gen Thiết kế DIY tự ráp thân thiện: Tấm ốp che I/O gắn sẵn, BIOS FlashBack™, Q-Code, FlexKey, Q-Connector, SafeSlot giá đỡ card đồ họa 24 | P a g e Phần mềm tiếng: Tặng kèm gói đăng ký AIDA64 Extreme sử dụng năm bảng điều khiển trực quan UEFI BIOS có MemTest86 tích hợp 25 | P a g e Phần : TÌM HIỂU VỀ NGƠN NGỮ LẬP TRÌNH ASSEMBLY 3.1 Các khái niệm 3.1.1 Trình hợp dịch (Assembler) Thơng thường, trình hợp dịch đại tạo ra mã đối tượng (object code) cách phiên dịch các lệnh hợp ngữ thành mã thực thi (opcodes) phân tích các biểu danh (symbolic names) ứng với vùng nhớ thực thể khác.[9] Việc dùng các biểu danh để tham chiếu tính then chốt các trình hợp dịch, tiết kiệm khối lượng lớn cơng việc tính tốn sửa đổi thủ công sau lần cải tiến ứng dụng Hầu hết trình hợp dịch hỗ trợ macro nhằm giúp cho việc thay nhóm lệnh định danh ngắn gọn Trong q trình dịch, nhóm lệnh tương ứng chèn trực tiếp vào vị trí macro thay lời gọi hàm (subroutine) Một số trình hợp dịch thực số loại tối ưu hóa cụ thể theo tập lệnh Một ví dụ cụ thể điều trình hợp dịch x86 phổ biến từ nhà cung cấp khác Hầu hết số chúng thực thay lệnh nhảy (nhảy dài thay nhảy ngắn tương đối) số lần vượt qua, theo u cầu Những trình hợp dịch khác chí thực xếp lại đơn giản chèn lệnh, chẳng hạn số trình hợp dịch cho kiến trúc RISC có thể giúp tối ưu hóa lịch trình tập lệnh hợp lý để khai thác kênh chuyền liệu (pipeline) của CPU một cách hiệu Giống ngơn ngữ lập trình ban đầu như Fortran, Algol, Cobol và Lisp, trình hợp dịch có sẵn từ năm 1950 hệ giao diện máy tính dựa văn Tuy nhiên, trình hợp dịch xuất chúng đơn giản nhiều so với trình biên dịch cho các ngơn ngữ bậc cao Điều mnemonic với chế độ địa toán hạng lệnh dịch trực tiếp thành biểu diễn số lệnh đó, mà khơng có nhiều bối cảnh phân tích Cũng có số lớp dịch giả trình tạo mã bán tự động có thuộc tính tương tự hợp ngữ ngơn ngữ bậc cao, với Speedcode có lẽ ví dụ biết đến nhiều Có thể có số trình biên dịch với cú pháp khác cho cấu trúc CPU tập lệnh cụ thể Chẳng hạn, lệnh để thêm liệu nhớ vào ghi xử lý họ x86 là add eax,[ebx], cú pháp gốc của Intel, điều viết là addl (%ebx),%eax trong cú pháp của AT&T được dùng trong GNU Assembler Mặc dù xuất khác nhau, hình thức cú pháp khác thường tạo mã máy 26 | P a g e Xem bên Một trình biên dịch đơn có chế độ khác để hỗ trợ biến thể hình thức cú pháp diễn giải ngữ nghĩa xác chúng (như cú pháp FASM, cú pháp TASM, chế độ lý tưởng, v.v., trường hợp đặc biệt lập trình hợp ngữ x86) Các trình hợp dịch nói chung dễ tạo so với chương trình dịch cho ngơn ngữ cấp cao Những trình hợp ngữ xuất từ những thập niên 1950, buổi đầu sơ khai của máy tính đã tạo bước ngoặt lớn những lập trình viên vốn mệt mỏi việc lập trình ngơn ngữ máy Các trình hợp dịch đại ngày nay, đặc biệt cho dòng chip RISC như MIPS, Sun SPARC và HP PA-RISC, thường tối ưu việc xếp đồng thị lệnh (instruction scheduling) để tận dụng các kênh chuyền liệu (pipeline) của CPU một cách hiệu Số lần Có hai loại trình hợp dịch dựa số lần truyền qua nguồn cần thiết (số lần trình biên dịch đọc nguồn) để tạo tệp đối tượng Trình hợp dịch lần đi qua mã nguồn lần Bất kỳ ký hiệu sử dụng trước xác định yêu cầu "errata" cuối mã đối tượng (hoặc, nhất, không sớm điểm mà biểu tượng xác định) báo cho trình liên kết trình tải "quay lại" ghi đè lên giữ chỗ để lại nơi sử dụng biểu tượng chưa xác định Trình hợp dịch nhiều lần tạo bảng có tất ký hiệu giá trị chúng lượt đầu tiên, sau sử dụng bảng lần truyền sau để tạo mã Trong hai trường hợp, trình biên dịch phải có khả xác định kích thước lệnh đường chuyền ban đầu để tính địa ký hiệu Điều có nghĩa kích thước hoạt động đề cập đến toán hạng xác định sau phụ thuộc vào loại khoảng cách tốn hạng, trình biên dịch đưa ước tính bi quan lần gặp thao tác cần, đệm nhiều lệnh "no-operation" lần vượt qua errata Trong trình biên dịch với tối ưu hóa lỗ nhìn trộm, địa tính tốn lại lần chuyển phép thay mã bi quan mã điều chỉnh theo khoảng cách xác từ mục tiêu Lý ban đầu cho việc sử dụng hợp dịch lần tốc độ hợp dịch thường lần thứ hai yêu cầu tua lại đọc lại nguồn chương trình trên băng hoặc đọc lại chuỗi bìa đục lỗ Các máy tính sau có nhớ lớn nhiều (đặc biệt lưu trữ đĩa), có khơng gian để thực tất xử lý cần thiết mà không cần đọc lại Ưu điểm trình hợp dịch nhiều lượt việc khơng có errata làm cho q trình liên kết (hoặc tải chương trình trình biên dịch trực tiếp tạo mã thực thi) nhanh hơn.r.[10] 27 | P a g e Ví dụ: trong đoạn mã sau, trình hợp dịch lần xác định địa của BKWD tham chiếu ngược hợp dịch câu lệnh S2, xác định địa FWD tham chiếu chuyển tiếp hợp dịch câu lệnh nhánh S1; thật vậy, FWD khơng xác định Trình hợp dịch hai lần xác định hai địa lần 1, chúng biết tạo mã lần S1 B FWD FWD EQU * BKWD EQU * S2 B BKWD Trình hợp dịch bậc cao Nhiều trình hợp dịch bậc cao cịn hỗ trợ khả ngôn ngữ trừu tượng như: Khai báo thủ tục/hàm bậc cao Các cấu trúc điều khiển nâng cao (IF/THEN/ELSE, SWITCH) Các khai báo hàm cấp cao Các kiểu liệu trừu tượng bậc cao bao gồm cấu trúc/bản ghi, unions, lớp, sets Xử lý macro phức tạp (mặc dù có sẵn trình hợp dịch từ thập niên 1950 cho IBM 700 series và từ thập niên 1960 cho IBM/360, nhiều thiết bị khác) Các tính năng lập trình hướng đối tượng như các lớp, đối tượng, trừu tượng hóa, đa hình và kế thừa.[11] Tham khảo phần Thiết kế ngôn ngữ bên để rõ 3.1.2 Hợp ngữ (Assembly language) Một chương trình viết hợp ngữ bao gồm chuỗi lệnh (instructions) dễ nhớ tương ứng với luồng thị khả thi (executable) mà dịch một trình hợp dịch, chúng có khả nạp vào nhớ đồng thời thực thi Ví dụ, vi xử lý x86/IA32 có thể thực thị nhị phân sau (thể dạng ngôn ngữ máy): 10110000 01100001 (thập lục phân: 0xb061) Lệnh tương đương với thị hợp ngữ dễ nhớ sau: mov al, 061h Chỉ thị lệnh có nghĩa là: gán giá trị thập lục phân 61 (97 dạng thập phân) cho ghi vi xử lý có tên "al" Thuật từ "mov" mã 28 | P a g e thực thi (operation code / opcode), người thiết kế tập lệnh đặt tên thay cho từ "move", đối/ tham số lệnh theo sau ngăn cách với opcode dấu phảy "," Trình hợp dịch thực chuyển đổi hợp ngữ sang ngơn ngữ máy và trình phân dịch (disassembler) thực q trình ngược lại Khơng giống ngơn ngữ bậc cao, thị hợp ngữ thường có mối liên hệ tương ứng 1-1 với thị ngôn ngữ máy Tuy nhiên số trường hợp, trình hợp dịch bổ sung các lệnh giả (pseudo-instructions) vào tập lệnh ngôn ngữ máy nhằm cung cấp chức dùng thường xuyên Hầu hết trình hợp dịch đa chức cung cấp thêm tập macro phong phú để nhà sản xuất thiết bị và lập trình viên có thể tạo mã lệnh dãy dữ liệu phức tạp Mỗi kiến trúc máy tính đều có ngơn ngữ máy riêng có hợp ngữ riêng, chúng phân biệt với số lượng kiểu lệnh mà chúng hỗ trợ Chúng khác số lượng kích cỡ các thanh ghi cũng cách thể kiểu liệu lưu trữ (bộ nhớ) Hầu hết máy tính cơng dụng chung có khả thực chức cách mà chúng thực khác nhau, điều phản ánh khác hợp ngữ tương ứng với kiểu máy tính 3.1.3 Ngơn ngữ máy (Machine language) Ngơn ngữ máy xây dựng từ thị lệnh rời rạc, tùy vào kiến trúc xử lý mà tập lệnh xác lập đặc thù riêng: Các ghi dùng cho tính tốn số học Cách bố trí bộ nhớ và tính địa Cách điều khiển rẽ nhánh Các kiểu đánh địa đặc thù dùng để giải toán hạng Nhiều lệnh phức hợp tạo dựng cách kết hợp nhiều thị đơn giản với nhau, thị tuân theo nguyên lý máy tính Von Neumann, tức thực thi rẽ nhánh theo lệnh phân luồng Một số lệnh điển hình có mặt hầu hết tập lệnh gồm có: o o o o Lệnh gán Gán cho ghi (một vùng nhớ tạm thời trong CPU) giá trị số xác định Chuyển liệu từ vùng nhớ sang ghi ngược lại Thao tác dùng để chuẩn bị liệu cho tính tốn sau để lưu kết tính tốn trước Đọc /ghi liệu từ/vào thiết bị phần cứng Lệnh cho tính tốn Cộng, trừ, nhân chia giá trị chứa ghi lưu kết vào ghi 29 | P a g e o o o o o Thực phép thao tác bit "và"/"hoặc" (AND/OR) cặp ghi, phép phủ định bit ghi So sánh nhỏ hơn/lớn hơn/ hai giá trị lưu hai ghi Lệnh điều khiển rẽ nhánh Nhảy tới vị trí chương trình thực thi lệnh Nhảy tới vị trí khác điều kiện định thỏa mãn Nhảy tới vị trí lưu lại vị trí lệnh để làm điểm nhảy trở (thường lời gọi hàm) Một số máy tính bao gồm thị lệnh phức hợp tập lệnh chúng Một lệnh phức hợp thường thực tác vụ cần nhiều thị lệnh nhiều máy khác nhau, chúng thực nhiều bước, điều khiển nhiều đơn vị chức Danh sách minh họa số lệnh phức hợp: Lưu lại nhiều ghi ngăn xếp lần Di chuyển khối vùng nhớ lớn Các phép toán dấu phảy động phức tạp (sine, cosine, square root, etc.) Các lệnh ALU liên kết với toán hạng từ nhớ thay với ghi Một kiểu lệnh phức hợp dùng phổ biến ngày phép tốn SIMD hay lệnh vector (vector instruction) có khả thực phép toán số học nhiều phần liệu thời điểm Các lệnh SIMD (single instruction multile data) cho phép thực song song nhiều thuật toán liên quan đến xử lý âm thanh, hình ảnh video cách dễ dàng Nhiều tập lệnh thực thi SIMD tích hợp CPU thương mại hóa thương hiệu như MMX và SSE, SSE2, SSE3, SSE4 (Intel), 3DNow! (AMD), AltiVec (IBM), tm3260 và tm5250 (Nexper ia - Philips) … 30 | P a g e 3.2 Ứng dụng 3.2.1Trong khứ Về mặt lịch sử, có số lượng lớn chương trình viết hoàn toàn hợp ngữ Trước xuất ngôn ngữ C vào năm 1970 đầu thập niên 1980, hệ điều hành độc quyền viết hợp ngữ Nhiều ứng dụng thương mại viết hợp ngữ, bao gồm khối lượng lớn phần mềm cho máy tính lớn của IBM được tập đồn lớn viết Cuối ngơn ngữ COBOL và FORTRAN đã thay hợp ngữ nhiều tổ chức giữ lại kiến trúc ứng dụng kiểu hợp ngữ suốt thập niên 1980 Hầu hết các máy vi tính (micro-computer) buổi đầu chủ yếu vận hành hợp ngữ, bao gồm hệ điều hành ứng dụng lớn Lý hệ thống bị hạn chế tài nguyên, thiết bị, nhớ kiến trúc hiển thị dịch vụ hệ thống dễ lỗi Lý quan trọng hơn, có lẽ thiếu hụt trình biên dịch bậc cao tiên tiến vốn thích hợp cho hệ thống vi tính Các ứng dụng lớn viết hợp ngữ điển hệ điều hành CP/M và MS-DOS, bảng tính spreadsheet và Lotus-123 trong máy IBM-PC đời đầu, nhiều trò chơi phổ biến cho máy Commodore 64 Thậm chí tới năm 1990, nhiều trị chơi video giải trí viết hợp ngữ, bao gồm trị chơi cho máy Mega Drive/Genesis và Super Nintendo Entertainment System Ngồi cịn dạng "ứng dụng" khơng khuyến khích là virus máy tính Trong năm '80 đầu năm '90 hầu hết virus máy tính viết hợp ngữ, lý giảm thiểu kích thước virus khả can thiệp sâu vào hệ thống hợp ngữ 3.2.2 Hiện Đã có nhiều tranh luận tiện dụng hiệu hợp ngữ so với ngôn ngữ bậc cao, ngày người ta ý tới điều Hợp ngữ đóng vai trị quan trọng số nhu cầu cần thiết Nói chung, trình biên dịch đại ngày có khả biên dịch ngơn ngữ bậc cao thành mã mà thực thi nhanh hợp ngữ Độ phức tạp vi xử lý đại cho phép tối ưu mã cách hiệu quả, nữa, phần lớn thời gian hoạt động CPU rơi vào trạng thái rỗi phải đợi kết từ cá tính tốn "thắt cổ chai" thao tác I/O truy xuất nhớ Vì tốc độ thực thi mã thơ (raw code) trở thành vấn đề quan trọng hầu hết lập trình viên, xuất ngôn ngữ thông dịch (interpreted language) ngày nhiều minh chứng cho điều Ngày có số tình mà chuyên gia thực muốn dùng hợp ngữ cho công việc họ là: 31 | P a g e Khi thiết bị hoạt động độc lập mà không cần tài nguyên hay thư viện liên kết với ngôn ngữ bậc cao Đây có lẽ trường hợp phổ biến Khi cần giao tiếp trực tiếp với phần cứng trình điều khiển thiết bị, muốn dùng thị vi xử lý mà trình biên dịch không tận dụng Khi cần tối ưu khắt khe thuật tốn có dùng vịng lặp tiêu tốn nhiều lực xử lý Khi hệ thống cần phải viết mã thủ công để tận dụng nguồn tài nguyên hạn hẹp Ngày điều không phổ biến giá CPU giảm đồng thời hiệu hoạt động CPU cải thiện đáng kể Khi ngôn ngữ bậc cao áp dụng CPU CPU chuyên dụng Ngày lập trình viên chọn ngơn ngữ cấp thấp như C để viết ứng dụng cần hiệu cao, điều khơng dễ dàng ứng dụng viết C không hiểu ứng dụng viết hợp ngữ Ngoài ra, hợp ngữ giảng dạy hầu hết chương trình Khoa học máy tính, khái niệm tảng có ý nghĩa quan trọng Chẳng hạn như số học nhị phân, cấp phát nhớ, xử lý ngăn xếp, mã hóa tập ký tự, xử lý ngắt và thiết kế trình dịch vẫn nghiên cứu để hiểu khái niệm sở cách tốt nghiên cứu hợp ngữ May thay, máy tính đại có tập lệnh tương tự nhau, nắm hợp ngữ có đủ để hiểu khái niệm hợp ngữ hệ thống khác 3.2.3 Các ứng dụng điển hình Hợp ngữ mã cấp thấp thường dùng cho BIOS lưu trong ROM của hệ thống để khởi tạo kiểm tra phần cứng hệ thống trước khởi tạo hệ điều hành Khi khởi tạo phần cứng hoàn thành, quyền điều khiển hệ thống chuyển qua cho phần mã thự thi khác (thường viết ngôn ngữ bậc cao) Điều cho hầu hết các trình khởi động (boot loader) Nhiều trình biên dịch chuyển đổi ngơn ngữ bậc cao thành hợp ngữ trước biên dịch thực sự, điều cho phép kiểm tra mã phục vụ mục đích gỡ rối tối ưu Các ngơn ngữ cấp thấp C thường cung cấp các cú pháp đặc biệt cho phép nhúng trực tiếp hợp ngữ vào mã nguồn Các chương trình tận dụng tính như Nhân Linux có thể tạo tầng trừu tượng để sử dụng nhiều kiến trúc phần cứng khác Hợp ngữ có giá trị trong kỹ thuật dịch ngược (reverse engineering) Các chương trình lớn vốn phân phối dạng mã máy, chúng thường dễ dàng dịch ngược thành hợp ngữ để kiểm tra khó dịch ngược mã ngôn ngữ bậc cao 32 | P a g e 3.3 Một số ví dụ chương trình Assembly 3.3.1 Tổng hai số 33 | P a g e 3.3.2 Giai thừa số 34 | P a g e 3.3.3 Trung bình cộng hai số 35 | P a g e 3.3.4 Chuyển đổi số thành dạng nhị phân 36 | P a g e Phần : TÀI LIỆU THAM KHẢO Công nghệ mainboard https://www.asus.com/vn/motherboards-components/motherboards/allseries/maximus-viii-hero/ Assembly https://vi.wikipedia.org/wiki/H%E1%BB%A3p_ng%E1%BB%AF https://www.tinhoccoban.net/2017/03/tap-lenh-assembly-cua-intel80868088.html?fbclid=IwAR05-cUa3ONnj1nFJC-74L06Wp8sPElzG5K9UJi6yMnMuJWLrgIbn6mqf0 37 | P a g e ... Sơ đồ khối Mainboard linh kiện liên quan Sơ đồ khối nhiều loại Mainboard khác nhau, nhiên giống nguyên lý hoạt động cấu trúc rẽ nhánh, liên lạc phân phối nguồn, tín hiệu tương tự Và theo sơ đồ. .. dùng cho tính tốn số học Cách bố trí bộ nhớ và tính địa Cách điều khiển rẽ nhánh Các kiểu đánh địa đặc thù dùng để giải toán hạng Nhiều lệnh phức hợp tạo dựng cách kết hợp nhiều thị đơn giản... nguyên lý máy tính Von Neumann, tức thực thi rẽ nhánh theo lệnh phân luồng Một số lệnh điển hình có mặt hầu hết tập lệnh gồm có: o o o o Lệnh gán Gán cho ghi (một vùng nhớ tạm thời trong CPU)