Tìm hiểu về mainboard
Mainboard là gì ?
Bo mạch chủ, hay còn gọi là mainboard, motherboard, Mobo hoặc Main, là một bảng mạch in có chức năng kết nối các thiết bị thông qua các đầu cắm và dây dẫn phù hợp.
Trong ngành công nghiệp máy tính, "bo mạch chủ" là một thuật ngữ phổ biến, thường được coi là một từ danh riêng Mặc dù nhiều sản phẩm có bản mạch chính cũng được gọi là "bo mạch chủ", để tránh nhầm lẫn, người ta thường sử dụng các cụm từ như "bo mạch chủ máy tính", "main máy tính" hay "PC" để dễ dàng phân biệt.
Chức năng chính của mainboard
Mainboard là một bản mạch liên kết tất cả các linh kiện và thiết bị ngoại vi thành một bộ máy thống nhất
Mainboard chịu trách nhiệm điều khiển tốc độ và hướng đi của luồng dữ liệu giữa các thiết bị, đồng thời phân phối điện áp cung cấp cho các linh kiện được gắn trên nó.
Mainboard là linh kiện quan trọng quyết định tuổi thọ của toàn bộ máy tính, vì nó xác định khả năng nâng cấp của hệ thống.
TIEU LUAN MOI download : skknchat@gmail.com
Sơ đồ khối của Mainboard và các linh kiện liên quan
Sơ đồ khối của các loại Mainboard có thể khác nhau, nhưng chúng đều tương đồng về nguyên lý hoạt động và cấu trúc phân nhánh, liên lạc cũng như phân phối nguồn và tín hiệu Qua sơ đồ khối, chúng ta có thể nhận thấy những điểm chung này.
Socket CPU, CPU liên lạc với tất cả các thành phần còn lại thông qua Chip cầu Bắc.
TIEU LUAN MOI download : skknchat@gmail.com
Chíp cầu Bắc: Trực tiếp quản lý VGA (Kể cả onboard hoặc khe cắm rời như AGP, PCIx) và RAM.
Chip cầu Nam quản lý nhiều thiết bị quan trọng trong máy tính, bao gồm ATA để giao tiếp với ổ cứng, chip LAN cho kết nối mạng, chip Audio cho âm thanh, các cổng USB, khe PCI, chip SIO và chip BIOS.
Chip SIO: Quản lý các 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…
Mainboard hoạt động như thế nào
Giữa các thiết bị thông thường có tốc độ truyền tải rất khác nhau, còn gọi là tốc độ Bus.
Mainboard bao gồm hai chipset quan trọng: chipset cầu bắc và chipset cầu nam Chúng có vai trò kết nối các thành phần gắn liền với mainboard, như giữa CPU và RAM, cũng như giữa CPU và card đồ họa VGA.
Tốc độ Bus giữa các linh kiện khác nhau được xử lý qua North Bridge và South Bridge, giúp máy tính hoạt động một cách thống nhất.
Lưu ý rằng tốc độ Bus của CPU cần phải bằng hoặc lớn hơn tốc độ Bus của RAM để CPU có thể nhận hết dung lượng RAM Nếu tốc độ Bus của CPU thấp hơn RAM, bạn sẽ lãng phí và không tận dụng được tối đa sức mạnh của máy tính.
TIEU LUAN MOI download : skknchat@gmail.com
1.4 Các thành phần có trên mainboard
Chipset là bộ phận quan trọng làm cầu nối cho tất cả thành phần trên mainboard
Mainboard dùng CPU của hãng Intel:
TIEU LUAN MOI download : skknchat@gmail.com
Chipset gồm hai loại chính là chipset cầu bắc và chipset cầu nam
Chip cầu bắc là bộ phận kết nối với CPU từ đó kết nối với bộ nhớ chính , và kênh truyền đến chip cầu nam
Chip cầu nam có vai trò quan trọng trong việc dẫn truyền tín hiệu đến chip cầu bắc và ngược lại Đây là chip lớn thứ hai trên mainboard, đặc biệt trong dòng mainboard Intel từ phiên bản I trở về sau, chip cầu bắc đã được tích hợp vào CPU, dẫn đến việc chúng ta không còn thấy sự hiện diện của chi tiết này.
Mainboard dùng CPU của hãng AMD:
TIEU LUAN MOI download : skknchat@gmail.com
Cấu trúc bo mạch chủ của bộ xử lý ADM tương tự như của Intel, nhưng điểm khác biệt nằm ở khả năng giao tiếp của CPU với RAM Chipset sẽ kết nối với các thành phần khác, dẫn đến việc chỉ cần một hoặc hai chip.
Chip loại hai tương tự như chipset dành cho CPU Intel, trong khi chip loại một thực hiện chức năng giống như chip nam và chip bắc Ngoài hai nhà sản xuất chipset chính, còn có các hãng khác như Ati, Uli và Via.
Mainboard là thành phần quan trọng trong việc truyền dẫn thông tin giữa vi xử lý và các thiết bị khác Tốc độ truyền thông tin của mỗi mainboard có thể khác nhau, thường là 100MHz, 133MHz, 300MHz, và được phân chia thành 4 nhóm bus cơ bản.
Bus hệ thống : Truyền dữ liệu từ CPU đến bộ nhớ trên mainboard
Bus tuyến trước : tiếp nhận và truyền dữ liệu từ chip cầu bắc đến vi sử lý và ngược lại
Black side bus : là đường truyền dữ liệu giữa cache L2 và vi sử lý
Expansion bus : cho phép các thiết bị ngoại vi , các card mở rộng truy cập vào bộ nhớ một cách độc lập
CPU giao tiếp với Mainboard thông qua socket và slot tạo thành Front Side Bus
Slot: Cổng giao tiếp CPU dạng khe cắm.
TIEU LUAN MOI download : skknchat@gmail.com
Socket: là loại đế vuông hoặc chữ nhật có xăm lỗ tương ứng với các điểm chân của CPU.
Cổng cắm RAM là thành phần quan trọng giúp kết nối mainboard với RAM, và kích thước cũng như hình dạng của cổng cắm phụ thuộc vào loại RAM mà bạn sử dụng Có nhiều loại module cổng cắm khác nhau, mỗi loại tương thích với các loại RAM khác nhau.
Chuẩn SIMM : là dạng cổng cắm RAM dùng cho mainboard đời cũ hiện nay không còn được sử dụng
Chuẩn RIMM là dạng cổng cắm có hai hàng chân chỉ dùng cho
Chuẩn DIMM là dạng cổng cắm có hai hàng chân dùng phổ biến hiện nay
Chuẩn SoDIMM là dạng cổng cắm chỉ xài cho laptop
Cổng cắm mở rộng dùng để cắm các card mở rộng
TIEU LUAN MOI download : skknchat@gmail.com
Cổng cắm ISA là giao diện dùng để kết nối các loại card mạng và card âm thanh Tuy nhiên, đây là một cổng cũ với tốc độ truyền dữ liệu chậm và chiếm nhiều không gian trên mainboard, vì vậy ít được sử dụng trong các hệ thống hiện đại.
Cổng PCI : Dùng phổ biến để cắm các loại card mạng , card âm thanh ,…
Cổng AGP : Chỉ dùng cho card màn hình
Cổng PCIe : là cổng truyền tốc độ cao được sử dụng nhiều nhất hiện nay
Kết nối nguồn là một phần thiết yếu cung cấp năng lượng cho mainboard và các linh kiện khác trong máy tính Các loại kết nối nguồn bao gồm nguồn chính, nguồn phụ và nguồn cho quạt CPU, đảm bảo hệ thống hoạt động ổn định và hiệu quả.
7.Cổng kết nối thiết bị lưu trữ
Giao tiếp IDE : giao tiếp IDE/ATA là chuẩn kết nối CD/DVD ,HDD với mạch điều khiển IDE trên mainboard,gồm 40 chân đầu cắm
Giao tiếp FDD là chuẩn kết nối ổ đĩa mềm trên mainboard, thường được đặt gần cổng IDE Đầu cắm FDD có kích thước nhỏ hơn so với IDE, với 35 chân cắm.
Giao tiếp SATA : là đầu cắm 7 chân trên mainboard để cắm các loại ổ cắm CD/DVD
Kết nối SCSI : là chuẩn cao cấp chuyên dùng cho server Có tốc độ rất cao từ 10000 vòng / phút số chân 50 hoặc 68 chân 8.ROM BIOS và Pin CMOS
ROM BIOS : là bộ nhớ máy tính là bộ nhớ máy tính chứa lệnh nhập xuất cơ bản để kiểm tra phần cứng , nạp hệ điều hành ,…
PIN CMOS : cung cấp năng lượng cho board mạch CMOS hoạt động ổn định để có thể lưu lại cấu hình , thời gian chính xác của hệ thống
TIEU LUAN MOI download : skknchat@gmail.com
Jumper là các miếng plastic nhỏ trong chất dẫn điện, có chức năng kết nối và làm kín mạch hở trên main board, giúp thực hiện các nhiệm vụ quan trọng như lưu trữ mật khẩu CMOS.
10.Bảng kết nối các thiết bị
Bảng kết nối là công cụ quan trọng để truyền tín hiệu và điều khiển đến mainboard Trên mainboard, các chân cắm được sắp xếp theo thứ tự và có ký hiệu rõ ràng, giúp người dùng dễ dàng gắn đúng dây cho từng thiết bị.
Front Panel : kết nối với các công tắt mở/tắt máy khởi động lại máy , đèn tín hiệu nguồn và ổ cứng
Front USB : kết nối với cổng USB ở mặt trước
Front Audio : kết nối với cổng loa và cổng micro ở mặt trước
TIEU LUAN MOI download : skknchat@gmail.com
11.Các cổng giao tiếp ngoài :
Có tác dụng kết nối mainboard với các thiết bị bên ngoài có nhiều cổng với chức năng khác nhau như ps/2 COM , HDMI,cổng mạng LAN ,…
TIEU LUAN MOI download : skknchat@gmail.com
Các bộ phận cơ bản có trên mainboard
Tên gọi ASUS Z590 ROG MAXIMUS XIII HERO
CPU hỗ trợ Intel® Socket LGA1200 for 11th Gen Intel® Core™ processors & 10th Gen Intel® Core™, Pentium®
4 x DIMM, Max 128GB, DDR4 5333(OC)/ 5133(OC)/ 5000(OC)/ 4800(OC)/ 4700(OC)/ 4600(OC)/ 4
Bộ nhớ (RAM) 4133(OC)/ 4000(OC)/ 3866(OC)/ 3733(OC)/ 3600(OC)/ 3466(OC)/ 3400(OC)/ 3333(OC)/ 3200/ 3000
Công nghệ mainboard mới có trên ROG Maximus XII hero-Z590
Cấu hình chi tiết
Tên gọi ASUS Z590 ROG MAXIMUS XIII HERO
CPU hỗ trợ Intel® Socket LGA1200 for 11th Gen Intel® Core™ processors & 10th Gen Intel® Core™, Pentium®
4 x DIMM, Max 128GB, DDR4 5333(OC)/ 5133(OC)/ 5000(OC)/ 4800(OC)/ 4700(OC)/ 4600(OC)/ 4
Bộ nhớ (RAM) 4133(OC)/ 4000(OC)/ 3866(OC)/ 3733(OC)/ 3600(OC)/ 3466(OC)/ 3400(OC)/ 3333(OC)/ 3200/ 3000
TIEU LUAN MOI download : skknchat@gmail.com
Dual Channel Memory Architecture Supports Intel® Extreme Memory Profile (XMP) OptiMem III
Công nghệ đa GPU NVIDIA 2-Way SLI® Technology
Intel® 11th &10th Gen Processors
- Intel® 11th Core™ processors support PCIe 4.0 x16 or x8/x8 or x8/x4 mode(s)
Khe cắm mở rộng - Intel® 10th Core™ processors support PCIe 3.0 x16 or x8/x8 or x8/x4 mode(s)
ASUS LANGuard ROG SupremeFX 7.1 Surround Sound High Definition Audio CODEC ALC4082
- Impedance sense for front and rear headphone outputs
- Supports: Jack-detection, Multi-streaming, Front Panel Jack-retasking
- High quality 120 dB SNR stereo playback output and 113 dB SNR recording input
- Supports up to 32-Bit/384 kHz playback
- Rear optical S/PDIF out port
Cổng kết nối Fan and Cooling related
(Internal) 1 x 4-pin CPU Fan header(s)
1 x 4-pin CPU OPT Fan header(s)
TIEU LUAN MOI download : skknchat@gmail.com
1 x USB 3.2 Gen 2x2 connector (support(s) USB Type-C®)
2 x USB 3.2 Gen 1 header(s) support(s) additional 4 USB 3.2 Gen 1 ports
2 x USB 2.0 header(s) support(s) additional 4 USB 2.0 ports
1 x Front Panel Audio header (AAFP)
TIEU LUAN MOI download : skknchat@gmail.com
Cổng kết nối (Back 1 x ASUS Wi-Fi Module
Công nghệ độc Extreme OC Kit quyền - FlexKey button
- Start button Extreme Engine Digi+
- MicroFine Alloy Choke ASUS Q-Design
- Q-LED (CPU [red], DRAM [yellow], VGA [white], Boot Device [yellow green])
TIEU LUAN MOI download : skknchat@gmail.com
- Addressable Gen 2 RGB header(s) Cables
1 x ASUS Wi-Fi moving antennas
1 x ROG thank you card Installation Media
TIEU LUAN MOI download : skknchat@gmail.com
Chuẩn kích cỡ ATX Form Factor
Công nghệ mới có trên sản phẩm
The Intel® Z590 ATX gaming motherboard features a robust 14+2 power phase design, PCIe 4.0 support, and integrated WiFi 6E (802.11ax) for enhanced connectivity It includes dual Intel® 2.5 Gb Ethernet ports, four M.2 heatsinks, and a protective cover, ensuring optimal thermal performance Additionally, the motherboard is equipped with dual Thunderbolt 4 ports, front USB 3.2 Gen 2x2 connectivity, and customizable RGB Aura Sync lighting for an immersive gaming experience.
Socket LGA 1200 của Intel hỗ trợ bộ vi xử lý Intel Core thế hệ 11 và các bộ vi xử lý Intel Core, Pentium Gold, Celeron thế hệ 10 Phần mềm và firmware độc quyền của ASUS giúp đơn giản hóa quá trình thiết lập và tối ưu hóa hiệu suất Công nghệ ép xung bằng trí tuệ nhân tạo AI của ASUS mang đến khả năng điều chỉnh nhanh chóng và thông minh hơn bao giờ hết.
Tải luận văn mới tại: skknchat@gmail.com, nghiên cứu cấu hình CPU và hệ thống làm mát để dự đoán cấu hình tối ưu, giúp tối đa hóa hiệu suất và kéo dài tuổi thọ cho từng hệ thống hoạt động ở mức giới hạn.
Làm mát bằng trí tuệ nhân tạo AI của ASUS giúp cân bằng nhiệt độ và âm thanh cho mọi dàn máy chỉ với một cú nhấp chuột Thuật toán độc quyền này theo dõi nhiệt độ CPU và tự động điều chỉnh tốc độ quạt, giảm thiểu tiếng ồn hệ thống không cần thiết, mang lại hiệu suất tối ưu cho người dùng.
GameFirst VI sử dụng trí tuệ nhân tạo AI để tối ưu hóa hiệu suất kết nối mạng, phân bổ băng thông trong thời gian thực Công nghệ này dựa trên lịch sử mở các ứng dụng và áp dụng các thuật toán học máy tương ứng, giúp cải thiện trải nghiệm người dùng một cách hiệu quả.
TIEU LUAN MOI download : skknchat@gmail.com
Tính năng khử ồn hai chiều chủ động thông minh AI sử dụng cơ sở dữ liệu deep-learning lớn, giúp giảm hơn 500 triệu loại tiếng ồn xung quanh từ âm thanh đầu vào và đầu ra Điều này đảm bảo giao tiếp rõ ràng trong các trò chơi và cuộc gọi.
Giải pháp năng lượng mạnh mẽ với tụ nguồn 14+2, tiêu thụ điện 90 Amps, được trang bị đầu cắm ProCool II, cuộn cảm hợp kim MicroFine và tụ điện kim loại đen 10K chất lượng Nhật Bản.
Thiết kế tối ưu làm mát: Tản nhiệt VRM mở rộng cộng với tấm che I/
Tấm tản nhiệt tích hợp bằng nhôm có khả năng dẫn nhiệt cao, đi kèm với bốn tản nhiệt M.2 và tấm ốp bảo vệ, cùng với khu vực điều khiển tản nhiệt nước ROG Water-Cooling Zone.
TIEU LUAN MOI download : skknchat@gmail.com
Kết nối mạng hiệu năng cao: WiFi 6E (802.11ax) tích hợp,
Ethernet kép Intel® 2.5 Gb và ASUS LANGaurd.
ROG Maximus XIII Hero được trang bị Intel® Wi-Fi 6E AX210, hỗ trợ băng tần lên đến 6GHz và các kênh rộng 160MHz, mang lại tốc độ không dây tối đa 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™ 4 USB-C ®
TIEU LUAN MOI download : skknchat@gmail.com
Bo mạch chủ ASUS ROG Maximus XIII Hero Z590 được trang bị 4 khe cắm M.2 PCIe, trong đó 2 khe hỗ trợ chuẩn PCIe 4.0, giúp nâng cao hiệu suất truyền tải dữ liệu Tất cả các khe cắm M.2 đều đi kèm với tấm nền M.2, đảm bảo hiệu suất làm mát tối ưu cho các linh kiện Đặc biệt, âm thanh chơi game của bo mạch chủ này được nâng cấp với công nghệ ROG SupremeFX, mang đến trải nghiệm âm thanh vượt trội cho game thủ.
ALC4082 kết hợp với DAC ESS ® ES9018Q2C mang đến âm thanh trung thực và sống động Đặc biệt, hệ thống chiếu sáng RGB Aura Sync độc quyền của ASUS, với một đầu cắm RGB và ba đầu cắm, tạo nên phong cách cá tính và độc đáo cho sản phẩm.
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 và giá đỡ card đồ họa
TIEU LUAN MOI download : skknchat@gmail.com
Phần mềm nổi tiếng: Tặng kèm gói đăng ký AIDA64 Extreme sử dụng 1 năm và bảng điều khiển trực quan UEFI BIOS có
TIEU LUAN MOI download : skknchat@gmail.com
Tìm hiểu về ngôn ngữ lập trình assembly
Các khái niệm
Trình hợp dịch hiện đại chuyển đổi lệnh hợp ngữ thành mã thực thi và phân tích các biểu danh liên quan đến vùng nhớ và thực thể khác Việc sử dụng biểu danh là tính năng quan trọng, giúp giảm thiểu công sức tính toán và sửa đổi thủ công sau mỗi lần nâng cấp ứng dụng Hầu hết trình hợp dịch hỗ trợ macro, cho phép thay thế nhóm lệnh bằng định danh ngắn gọn, với nhóm lệnh tương ứng được chèn trực tiếp vào vị trí macro thay vì gọi hàm.
Một số trình hợp dịch có khả năng tối ưu hóa theo tập lệnh, như trình hợp dịch x86 từ nhiều nhà cung cấp Chúng có thể thay thế lệnh nhảy dài bằng nhảy ngắn hoặc tương đối trong nhiều lần vượt qua Ngoài ra, một số trình hợp dịch cho kiến trúc RISC có thể thực hiện sắp xếp lại lệnh hoặc chèn lệnh, nhằm tối ưu hóa lịch trình tập lệnh và khai thác hiệu quả kênh chuyền dữ liệu (pipeline) của CPU.
Từ những năm 1950, các trình hợp dịch đã xuất hiện cùng với các ngôn ngữ lập trình đầu tiên như Fortran, Algol, Cobol và Lisp Chúng đơn giản hơn nhiều so với trình biên dịch cho các ngôn ngữ bậc cao, vì mỗi mnemonic cùng với chế độ địa chỉ và toán hạng của một lệnh được dịch trực tiếp thành các biểu diễn số mà không cần nhiều bối cảnh hay phân tích Ngoài ra, còn có một số lớp dịch giả và trình tạo mã bán tự động có đặc điểm tương tự như hợp ngữ và ngôn ngữ bậc cao, trong đó Speedcode là một ví dụ nổi bật.
Có nhiều trình biên dịch sử dụng cú pháp khác nhau cho các cấu trúc CPU hoặc tập lệnh cụ thể Ví dụ, lệnh thêm dữ liệu từ bộ nhớ vào thanh ghi trong bộ xử lý x86 có thể được viết là add eax,[ebx] theo cú pháp Intel, trong khi cú pháp AT&T trong GNU Assembler sẽ là addl (%ebx),%eax Mặc dù cú pháp khác nhau, nhưng các hình thức này thường tạo ra cùng một mã máy.
TIEU LUAN MOI download : skknchat@gmail.com
Một trình biên dịch đơn có thể hỗ trợ nhiều chế độ khác nhau để xử lý các biến thể trong cú pháp và diễn giải ngữ nghĩa chính xác, như cú pháp FASM, cú pháp TASM và chế độ lý tưởng, đặc biệt trong lập trình hợp ngữ x86.
Các trình hợp dịch dễ tạo hơn so với chương trình dịch ngôn ngữ cấp cao và đã xuất hiện từ những năm 1950, mang lại bước ngoặt cho lập trình viên khi họ phải làm việc với ngôn ngữ máy Hiện nay, trình hợp dịch hiện đại, đặc biệt cho các dòng chip RISC như MIPS, Sun SPARC và HP PA-RISC, tối ưu hóa việc sắp xếp và đồng bộ các chỉ thị lệnh để tận dụng hiệu quả kênh chuyền dữ liệu của CPU.
Có hai loại trình hợp dịch dựa trên 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 thực hiện việc xử lý mã nguồn một lần duy nhất Mọi ký hiệu được sử dụng trước khi được xác định sẽ cần có phần "errata" ở cuối mã đối tượng, hoặc ít nhất là không sớm hơn thời điểm ký hiệu được xác định Điều này sẽ thông báo cho trình liên kết hoặc trình tải "quay lại" để ghi đè lên các vị trí đã để lại cho các ký hiệu chưa xác định.
Trình hợp dịch nhiều lần tạo ra một bảng chứa tất cả các ký hiệu và giá trị tương ứng trong các lượt đầu tiên, sau đó sử dụng bảng này để tạo mã trong các lượt truyền tiếp theo.
Trong quá trình biên dịch, trình biên dịch cần xác định kích thước của từng lệnh để tính toán địa chỉ cho các ký hiệu tiếp theo Điều này có nghĩa là nếu kích thước của một hoạt động phụ thuộc vào loại hoặc khoảng cách của toán hạng, trình biên dịch sẽ ước tính bi quan và có thể thêm các lệnh "no-operation" để điều chỉnh Đối với trình biên dịch có tối ưu hóa lỗ nhìn trộm, các địa chỉ có thể được tính toán lại giữa các lần chuyển, cho phép thay thế mã bi quan bằng mã chính xác hơn theo khoảng cách từ mục tiêu.
Lý do ban đầu cho việc sử dụng bộ hợp dịch một lần là tốc độ nhanh chóng trong quá trình hợp dịch, bởi vì lần thứ hai thường yêu cầu phải tua lại nguồn chương trình Tuy nhiên, với sự phát triển của các máy tính có bộ nhớ lớn hơn, đặc biệt là lưu trữ đĩa, việc thực hiện tất cả các xử lý cần thiết mà không cần đọc lại đã trở nên khả thi Một trong những ưu điểm của trình hợp dịch nhiều lượt là việc không có sai sót, giúp quá trình liên kết hoặc tải chương trình diễn ra nhanh hơn.
TIEU LUAN MOI download : skknchat@gmail.com
Trong đoạn mã này, trình hợp dịch một lần chỉ xác định địa chỉ của BKWD khi hợp dịch câu lệnh S2, trong khi địa chỉ của FWD không thể xác định khi hợp dịch câu lệnh nhánh S1 Ngược lại, trình hợp dịch hai lần sẽ xác định cả hai địa chỉ trong lần đầu, do đó chúng sẽ được biết khi tạo mã trong lần thứ hai.
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ả năng 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 dữ liệu trừu tượng bậc cao bao gồm các cấu trúc/bản ghi, unions, lớp, và sets
Xử lý macro phức tạp đã có mặt từ những năm 1950 với các trình hợp dịch cho dòng máy IBM 700 và từ thập niên 1960 cho IBM/360, cùng với 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 dưới để rõ hơn.
Một chương trình viết bằng hợp ngữ bao gồm một chuỗi các lệnh
(instructions) dễ nhớ tương ứng với một luồng các chỉ thị khả thi
Executable là các tệp tin có thể được nạp vào bộ nhớ và thực thi khi được dịch bởi trình hợp dịch Ví dụ, bộ vi xử lý x86/IA-32 có khả năng thực hiện các chỉ thị nhị phân được biểu diễn dưới dạng ngôn ngữ máy.
Lệnh trên tương đương với một chỉ thị hợp ngữ dễ nhớ hơn sau: mov al, 061h
Chỉ thị lệnh "mov" gán giá trị thập lục phân 61 (tương đương 97 trong hệ thập phân) cho thanh ghi "al" trong bộ vi xử lý.
TIEU LUAN MOI download: skknchat@gmail.com Mã thực thi (opcode) là thuật ngữ được người thiết kế tập lệnh sử dụng thay cho từ "move" Các đối/ tham số của lệnh được liệt kê theo sau opcode và được ngăn cách bởi dấu phẩy ",".
Ứng dụng
Trong lịch sử, nhiều chương trình đã được phát triển hoàn toàn bằng hợp ngữ Sự ra đời của ngôn ngữ C vào những năm sau đã đánh dấu một bước chuyển biến quan trọng trong lập trình.
Trong giai đoạn 1970 và đầu thập niên 1980, các hệ điều hành độc quyền chủ yếu được viết bằng hợp ngữ, cùng với nhiều ứng dụng thương mại cho máy tính lớn của IBM Mặc dù ngôn ngữ COBOL và FORTRAN đã dần thay thế hợp ngữ, nhiều tổ chức vẫn duy trì kiến trúc ứng dụng kiểu hợp ngữ trong thập niên 1980 Các máy vi tính đầu tiên cũng chủ yếu vận hành bằng hợp ngữ do hạn chế về tài nguyên, thiết bị và bộ nhớ, cũng như sự thiếu hụt các trình biên dịch bậc cao Một số ứng dụng lớn tiêu biểu bao gồm hệ điều hành CP/M, MS-DOS, bảng tính Lotus 1-2-3 trên máy IBM-PC đời đầu, và nhiều trò chơi nổi tiếng cho máy Commodore.
64 Thậm chí tới những năm 1990, nhiều các trò chơi video giải trí vẫn được viết bằng hợp ngữ, bao gồm các trò chơi cho máy Mega Drive/Genesis và Super Nintendo Entertainment System.
Một dạng "ứng dụng" không được khuyến khích là virus máy tính Trong những năm 1980 và đầu những năm 1990, hầu hết virus máy tính được lập trình bằng hợp ngữ, vì ngôn ngữ này giúp giảm kích thước virus và cho phép can thiệp sâu vào hệ thống.
3.2.2 Hiện nay Đã từng có nhiều tranh luận về tiện dụng và hiệu năng của hợp ngữ so với các ngôn ngữ bậc cao, tuy ngày nay người ta ít chú ý tới điều đó nữa Hợp ngữ vẫn đóng vai trò quan trọng trong một số nhu cầu cần thiết Nói chung, các trình biên dịch hiện đại ngày nay đều có khả năng biên dịch các ngôn ngữ bậc cao thành mã mà có thể thực thi nhanh ít nhất bằng hợp ngữ Độ phức tạp của các bộ vi xử lý hiện đại cho phép tối ưu mã một cách hiệu quả, hơn nữa, phần lớn thời gian hoạt động của CPU rơi vào trạng thái rỗi bởi nó phải đợi kết quả từ cá các tính toán "thắt cổ chai" như các thao tác I/
Tốc độ thực thi mã thô trở nên ít quan trọng đối với hầu hết lập trình viên, do sự gia tăng sử dụng các ngôn ngữ thông dịch Điều này cho thấy rằng việc tối ưu hóa bộ nhớ và truy xuất dữ liệu đang được chú trọng hơn trong phát triển phần mềm.
Ngày nay có một số ít tình huống mà các chuyên gia thực sự muốn dùng hợp ngữ cho công việc của họ là:
TIEU LUAN MOI download : skknchat@gmail.com
Khi các thiết bị hoạt động độc lập mà không cần tài nguyên hoặc thư viện liên kết với ngôn ngữ bậc cao, đây là tình huống phổ biến nhất trong công nghệ hiện nay.
Khi cần giao tiếp trực tiếp với phần cứng, như trình điều khiển thiết bị, hoặc khi muốn sử dụng các chỉ thị vi xử lý mà trình biên dịch không khai thác được, việc can thiệp vào mã nguồn là cần thiết.
Khi cần tối ưu khắt khe như các thuật toán có dùng vòng lặp tiêu tốn nhiều năng lực xử lý
Trong bối cảnh hiện nay, việc viết mã thủ công để tối ưu hóa tài nguyên hạn chế đã trở nên ít phổ biến hơn Nguyên nhân chính là do giá CPU đã giảm và hiệu suất hoạt động của chúng đã được cải thiện đáng kể.
Khi các ngôn ngữ bậc cao không thể áp dụng được trên một
CPU mới hoặc CPU chuyên dụng.
Ngày nay, lập trình viên có thể lựa chọn ngôn ngữ lập trình cấp thấp như C để phát triển các ứng dụng yêu cầu hiệu suất cao Tuy nhiên, việc viết ứng dụng bằng C không hẳn mang lại hiệu quả tốt hơn so với việc sử dụng ngôn ngữ hợp ngữ.
Hợp ngữ vẫn được giảng dạy trong nhiều chương trình Khoa học máy tính vì các khái niệm nền tảng như số học nhị phân, cấp phát bộ 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 có ý nghĩa quan trọng Nghiên cứu hợp ngữ giúp sinh viên hiểu rõ hơn về những khái niệm cơ sở này Thêm vào đó, hầu hết các máy tính hiện đại đều sử dụng các tập lệnh tương tự nhau, vì vậy việc nắm vững một hợp ngữ có thể giúp hiểu các khái niệm cơ bản của các hợp ngữ trên 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 được sử dụng cho BIOS lưu trong ROM, nhằm khởi tạo và kiểm tra phần cứng hệ thống trước khi khởi động hệ điều hành Sau khi quá trình khởi tạo phần cứng hoàn tất, quyền điều khiển hệ thống sẽ được chuyển giao cho các phần mã thực thi khác, thường được viết bằng ngôn ngữ bậc cao Điều này cũng áp dụng 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 sang hợp ngữ trước khi thực hiện biên dịch, giúp kiểm tra mã để gỡ rối và tối ưu Các ngôn ngữ cấp thấp như C cung cấp cú pháp đặc biệt cho phép nhúng hợp ngữ trực tiếp vào mã nguồn Chương trình như Nhân Linux tận dụng tính năng này để tạo ra các tầng trừu tượng, hỗ trợ sử dụng trên nhiều kiến trúc phần cứng khác nhau.
Hợp ngữ đóng vai trò quan trọng trong kỹ thuật dịch ngược, đặc biệt với các chương trình lớn thường chỉ được phát hành dưới dạng mã máy Việc dịch ngược mã máy thành hợp ngữ tương đối dễ dàng, nhưng việc chuyển đổi trở lại thành mã ngôn ngữ bậc cao lại gặp nhiều khó khăn.
TIEU LUAN MOI download : skknchat@gmail.com
Một số ví dụ về chương trình Assembly cơ bản
TIEU LUAN MOI download : skknchat@gmail.com
3.3.2 Giai thừa của một số
TIEU LUAN MOI download : skknchat@gmail.com
3.3.3 Trung bình cộng của hai số
TIEU LUAN MOI download : skknchat@gmail.com
3.3.4 Chuyển đổi một số thành dạng nhị phân
TIEU LUAN MOI download : skknchat@gmail.com