Giáo trình Kiến trúc Máy tính PC và CPU: Cấu trúc, Bộ nhớ & I/O

Giáo trình kiến trúc máy tính toàn diện. Tìm hiểu cấu trúc PC, CPU, bộ nhớ, và kỹ thuật vào/ra dữ liệu. Tài liệu hữu ích cho sinh viên CNTT.

Chuyên ngành

Kiến Trúc Máy Tính

Người đăng

Ẩn danh

Thể loại

Giáo trình
96
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

1. CHƯƠNG 1: Kiến trúc máy vi tính PC và đơn vị xử lý trung tâm

1.1. Các thành phần cơ bản của máy tính số

1.2. Biểu diễn thông tin trong máy tính số

1.3. Kiến trúc cơ bản máy vi tính PC

1.4. Đơn vị xử lý trung tâm CPU (Central Processing Unit)

1.4.1. Cấu hình bên ngoài

1.4.2. Cấu hình bên trong

1.5. Quản lý bộ nhớ trong chế độ thực và các thanh ghi đoạn

1.6. Quản lý bộ nhớ trong chế độ bảo vệ

1.7. Các chế độ xác định địa chỉ toán hạng

1.8. Kỹ thuật đường ống và kỹ thuật xử lý song song mức lệnh

1.8.1. Kỹ thuật xử lý lệnh kiểu đường ống (Pipeline)

1.8.2. Kỹ thuật ILP (xử lý song song mức lệnh)

1.9. Tổ chức bộ nhớ trong máy vi tính PC

1.9.1. Tổ chức bộ nhớ theo phân cấp

1.9.2. Tổ chức cache

1.9.2.1. Trường hợp mỗi khối chứa một từ (hoặc 1 byte) dữ liệu
1.9.2.2. Trường hợp mỗi khối chứa nhiều từ dữ liệu
1.9.2.3. Kỹ thuật tập liên hợp

1.9.3. Tổ chức bộ nhớ máy vi tính PC

1.9.3.1. Cơ chế quản lý bộ nhớ theo phân trang
1.9.3.2. Cơ chế truy nhập bộ nhớ theo trang

1.10. Các phương pháp vào ra dữ liệu trong máy vi tính

1.10.1. Cấu trúc phần cứng của hệ thống vào/ra dữ liệu

1.10.2. Các phương pháp vào/ra dữ liệu

1.10.2.1. Phương pháp vào/ra dữ liệu theo định trình
1.10.2.2. Phương pháp vào/ra dữ liệu theo kiểu thăm dò
1.10.2.3. Phương pháp vào/ra dữ liệu theo ngắt cứng
1.10.2.4. Phương pháp vào/ra dữ liệu theo kiểu DMA (truy nhập trực tiếp bộ nhớ - Direct Memory Access)

1.11. Các thiết bị vào ra

1.11.1. Các thiết bị giao diện và điều khiển vào/ra dữ liệu

1.11.1.1. Ngắt và bộ điều khiển ngắt PIC 8259
1.11.1.2. Truy nhập trực tiếp bộ nhớ và bộ điều khiển DMAC 8237
1.11.1.3. Vào-ra nối tiếp và thiết bị giao diện vào-ra nối tiếp UART 8250/16450
1.11.1.4. Thiết bị giao diện song song

1.11.2. Các thiết bị ngoại vi

Tóm tắt

I. Tổng Quan Kiến Trúc Máy Tính Nền Tảng Của Mọi Hệ Thống Số

Kiến trúc máy tính là một lĩnh vực nghiên cứu cốt lõi, cung cấp cái nhìn sâu sắc về cách các hệ thống máy tính được thiết kế và vận hành. Từ những ngày đầu phát triển, máy tính số đã khẳng định vị thế vượt trội so với máy tính tương tự nhờ khả năng xử lý dữ liệu rời rạc hiệu quả. Nền tảng của một máy tính số hiện đại bao gồm các thành phần cơ bản liên kết chặt chẽ, từ Bộ xử lý trung tâm (CPU) đảm nhiệm vai trò điều khiển và tính toán, đến Bộ nhớ máy tính lưu trữ thông tin, Hệ thống I/O (Input/Output) giúp giao tiếp với thế giới bên ngoài, và Bus hệ thống làm cầu nối truyền tải dữ liệu. Mỗi thành phần này đều có nguyên lý hoạt động máy tính riêng biệt nhưng lại phối hợp nhịp nhàng để tạo nên một cỗ máy hoạt động trơn tru.

Sự hiểu biết về kiến trúc máy tính không chỉ dừng lại ở các thành phần vật lý. Nó còn bao gồm cách thông tin được biểu diễn và thao tác bên trong máy. Hệ đếm nhị phân, với các bit 0 và 1, là ngôn ngữ cơ bản của mọi máy tính số. Các khái niệm như Boolean logic, biểu diễn số nguyên không dấu, có dấu, hay số thực theo chuẩn IEEE 754, và các phép toán đối với các số nhị phân như cộng, trừ, nhân, chia, đều là những trụ cột để máy tính có thể xử lý mọi loại dữ liệu phức tạp. Từ những tín hiệu điện áp đơn giản, kiến trúc máy tính cho phép xây dựng nên các hệ thống có khả năng xử lý văn bản, hình ảnh, âm thanh, và nhiều dạng thông tin khác thông qua các bảng mã như ASCII hay Unicode.

Một giáo trình kiến trúc máy tính toàn diện cần đề cập đến chi tiết từng khối chức năng, từ cách CPU đọc và giải mã tập lệnh (Instruction Set Architecture - ISA), cơ chế quản lý phân cấp bộ nhớ với sự hiện diện của bộ đệm (Cache Memory) tốc độ cao, cho đến cách Hệ thống I/O tương tác với các thiết bị ngoại vi. Mục tiêu cuối cùng là tối ưu hóa hiệu năng máy tính thông qua các kỹ thuật tiên tiến như Pipelining và Xử lý song song mức lệnh. Việc nắm vững những nguyên lý hoạt động máy tính này là chìa khóa để thiết kế, phát triển và tối ưu hóa các hệ thống máy tính hiệu quả, đáp ứng yêu cầu ngày càng cao của công nghệ hiện đại.

Tầm quan trọng của Kiến trúc máy tính còn thể hiện ở việc nó là nền tảng cho nhiều lĩnh vực khác như hệ điều hành, lập trình hệ thống, và hệ thống nhúng. Mỗi quyết định trong thiết kế vi kiến trúc (Microarchitecture) có thể ảnh hưởng sâu rộng đến khả năng vận hành và bảo mật kiến trúc máy tính. Do đó, một cái nhìn tổng quan và toàn diện về kiến trúc máy tính là không thể thiếu đối với bất kỳ ai muốn làm chủ công nghệ máy tính.

1.1. Khái Niệm Cơ Bản và Các Thành Phần Cốt Lõi Của Máy Tính Số

Máy tính số hiện đại, là đối tượng chính của kiến trúc máy tính, được cấu thành từ nhiều thành phần cơ bản thiết yếu. Theo tài liệu gốc, máy tính số chiếm ưu thế vượt trội so với máy tính tương tự, hoạt động trên các loại số liệu rời rạc bằng mạch điện tử số. Trung tâm của mọi hoạt động là Đơn vị xử lý trung tâm (CPU), một mạch vi điện tử tích hợp cao, chịu trách nhiệm đọc mã lệnh, giải mã và tạo xung điều khiển. CPU bao gồm các ghi thanh ghi (Registers) để lưu trữ tạm thời dữ liệu và địa chỉ lệnh, cùng với Đơn vị số học logic (ALU) thực hiện các phép toán và Bộ điều khiển (Control Unit) giải mã lệnh.

Bộ nhớ máy tính được phân thành nhiều loại: Bộ nhớ chính (RAM và ROM) với tốc độ truy cập nhanh nhưng dung lượng hạn chế, chứa các chương trình và dữ liệu đang hoạt động; Bộ nhớ khối (ổ đĩa cứng, đĩa mềm) có dung lượng lớn hơn nhưng tốc độ chậm hơn; và Bộ đệm (Cache Memory) tốc độ cao, đặt giữa CPU và bộ nhớ chính để tăng tốc độ truy cập. Hệ thống I/O (Input/Output), bao gồm các thiết bị vào (bàn phím, chuột) và thiết bị ra (màn hình, máy in), cùng với các thiết bị giao diện, cho phép máy tính tương tác với thế giới bên ngoài. Cuối cùng, Bus hệ thống đóng vai trò là đường truyền thông tin, kết nối tất cả các khối cơ bản, bao gồm Bus dữ liệu, Bus địa chỉ và Bus điều khiển, đảm bảo nguyên lý hoạt động máy tính diễn ra nhịp nhàng.

1.2. Biểu Diễn Thông Tin Trong Kiến Trúc Máy Tính Từ Bit Đến Ký Tự

Việc biểu diễn thông tin là nền tảng của mọi kiến trúc máy tính. Máy tính số sử dụng hệ đếm nhị phân (binary), dựa trên hai trạng thái 0 và 1 tương ứng với trạng thái đóng/mở của mạch điện. Theo tài liệu, "bit (là số 0 hoặc 1) là đơn vị nhỏ nhất biểu diễn dữ liệu (đơn vị nhỏ nhất mang thông tin) trong máy tính." Các hệ đếm khác như thập phân, bát phân, và thập lục phân cũng được sử dụng để tương tác với máy tính và thường xuyên phải chuyển đổi qua lại.

Bên cạnh biểu diễn số học, kiến trúc máy tính còn xử lý các phép toán đối với các số nhị phân cơ bản như cộng, trừ, nhân, chia, với các nguyên tắc riêng biệt nhưng tương tự như hệ thập phân. Đối với số nguyên, có thể biểu diễn không dấu hoặc có dấu (sử dụng bit dấu và mã bù 2). Số thực được biểu diễn dưới dạng dấu chấm cố định hoặc dấu chấm động theo chuẩn IEEE 754 (dạng đơn giản 32 bit và độ chính xác gấp đôi 64 bit), giúp xử lý các giá trị rất lớn hoặc rất nhỏ một cách hiệu quả. Các ký tự được mã hóa bằng các bảng mã như ASCII (1 byte) hoặc Unicode (2 byte), cho phép máy tính xử lý văn bản đa ngôn ngữ, khắc phục hạn chế của ASCII. Hình ảnh và âm thanh cũng được biểu diễn bằng các tập hợp bit theo các định dạng cụ thể, mã hóa các điểm ảnh hoặc tần số âm thanh, cho thấy sự linh hoạt của kiến trúc máy tính trong việc xử lý đa dạng thông tin.

II. Bộ Xử Lý Trung Tâm CPU Trái Tim Phức Tạp Trong Kiến Trúc Máy Tính

Bộ xử lý trung tâm (CPU) là thành phần cốt lõi và phức tạp nhất của mọi kiến trúc máy tính, đóng vai trò như "bộ não" điều khiển và thực hiện mọi thao tác. Sự phát triển của CPU từ những vi xử lý 16 bit như Intel 80286 đến các kiến trúc hiện đại đã định hình cách chúng ta tương tác với máy tính ngày nay. Về cấu hình vật lý, CPU có các chân tín hiệu quan trọng như CLK (xung nhịp), RST (khởi động), các chân Bus địa chỉ (A23-A0) để định vị bộ nhớ máy tính và Hệ thống I/O, cùng các chân Bus dữ liệu (D15-D0) để truyền tải thông tin. Các tín hiệu điều khiển như INT (yêu cầu ngắt), NMI (ngắt không che), HOLD (yêu cầu CPU "thả nổi" bus) đảm bảo CPU có thể phối hợp nhịp nhàng với các thành phần khác.

Bên trong, CPU 80286 được cấu thành từ bốn đơn vị chính, phản ánh vi kiến trúc (Microarchitecture) tinh vi: Đơn vị BUS (BU) quản lý giao diện bus và nhập lệnh; Đơn vị lệnh (IU) giải mã các tập lệnh (Instruction Set Architecture - ISA); Đơn vị thực hiện (EU) thi hành các lệnh đã giải mã, bao gồm Bộ điều khiển (Control Unit), ghi thanh ghi (Registers) và Đơn vị số học logic (ALU). ALU chịu trách nhiệm các phép toán số học và logic, trong khi CU tạo ra các tín hiệu điều khiển toàn bộ hệ thống, thực hiện các vi thao tác theo nhịp xung đồng hồ. Cuối cùng, Đơn vị địa chỉ (AU) quản lý bộ nhớ máy tính trong cả chế độ thực và chế độ bảo vệ, sử dụng các thanh ghi đoạn và cơ chế tạo địa chỉ vật lý từ địa chỉ logic.

Các thanh ghi bên trong CPU là các đơn vị lưu trữ tốc độ cao, được phân thành nhiều nhóm: thanh ghi đa năng (AX, BX, CX, DX) cho các toán hạng và kết quả; thanh ghi địa chỉ (BP, SI, DI, SP) hỗ trợ định vị dữ liệu, đặc biệt trong các thao tác chuỗi ký tự và ngăn xếp; và thanh ghi đoạn (CS, DS, SS, ES) quan trọng trong cơ chế quản lý phân đoạn bộ nhớ. Ngoài ra, thanh ghi cờ FLAGS (Carry Flag, Zero Flag, Interrupt Flag, v.v.) phản ánh trạng thái kết quả phép tính và ảnh hưởng đến nguyên lý hoạt động máy tính của CPU, bao gồm cả hiệu năng máy tính và khả năng phản ứng với ngắt.

Kiến trúc máy tính hiện đại tiếp tục phát triển CPU theo hướng phức tạp hơn với các kỹ thuật xử lý song song và bảo mật kiến trúc máy tính nâng cao. Việc hiểu rõ cấu trúc và nguyên lý hoạt động của CPU là chìa khóa để phân tích và tối ưu hóa bất kỳ hệ thống máy tính nào, từ máy tính cá nhân đến hệ thống nhúng chuyên biệt.

2.1. Cấu Trúc và Chức Năng Của Đơn Vị Xử Lý Trung Tâm CPU

Đơn vị xử lý trung tâm (CPU) là trái tim của kiến trúc máy tính, nơi mọi lệnh được thực thi. Cấu trúc CPU bao gồm các thành phần ngoại vi như các chân tín hiệu (CLK, RST, A0-A23, D0-D15, Vcc, GND) cùng các tín hiệu điều khiển (INT, NMI, HOLD) cho phép nó giao tiếp với các bộ phận khác. Về cấu hình bên trong, CPU 80286 được tổ chức thành bốn đơn vị chính: Đơn vị BUS (BU) chịu trách nhiệm giao diện với Bus hệ thống, nhập lệnh vào hàng đợi; Đơn vị lệnh (IU) thực hiện giải mã các tập lệnh (Instruction Set Architecture - ISA); Đơn vị thực hiện (EU) chứa Bộ điều khiển (Control Unit), các ghi thanh ghi (Registers) và Đơn vị số học logic (ALU).

ALU thực hiện các phép toán số học và logic (như cộng, trừ, Boolean logic), trong khi CU là phần phức tạp nhất, giải mã lệnh và tạo các xung điều khiển để điều phối hoạt động của toàn bộ kiến trúc máy tính. Các ghi thanh ghi được sử dụng để lưu trữ tạm thời các toán hạng, kết quả tính toán, và trạng thái hệ thống, như thanh ghi con trỏ lệnh (IP) hay bộ đếm chương trình (PC). Cuối cùng, Đơn vị địa chỉ (AU) quản lý việc định vị bộ nhớ máy tính trong các chế độ hoạt động khác nhau. Sự phối hợp của các đơn vị này tạo nên vi kiến trúc (Microarchitecture) của CPU, đảm bảo nguyên lý hoạt động máy tính được thực hiện một cách hiệu quả.

2.2. Phương Pháp Quản Lý Bộ Nhớ Chế Độ Thực và Bảo Vệ Trong Kiến Trúc CPU

CPU quản lý bộ nhớ máy tính thông qua hai chế độ chính: chế độ thực và chế độ bảo vệ. Trong chế độ thực, bộ nhớ được quản lý theo cơ chế phân đoạn bộ nhớ (segmentation). Mỗi chương trình được chia thành các modul (mã lệnh, dữ liệu, ngăn xếp) và đặt trong các thanh ghi đoạn (CS, DS, SS, ES). Địa chỉ vật lý được tính bằng cách kết hợp địa chỉ đoạn (dịch trái 4 bit) và địa chỉ offset. "Địa chỉ vật lý = Địa chỉ đoạn *10 + Địa chỉ offset (tính trong hệ hexa)". Cơ chế này cho phép các đoạn gối đầu nhau, một địa chỉ vật lý có thể ứng với nhiều địa chỉ logic khác nhau.

Chế độ bảo vệ, được thiết kế cho các CPU từ 80286 trở đi, tập trung vào việc hỗ trợ hệ điều hành đa nhiệm và tăng cường bảo mật kiến trúc máy tính. Chế độ này giới thiệu khái niệm mức đặc quyền (Privilege Level) (PL0 đến PL3) cho mỗi đoạn nhớ, cách ly các chương trình ứng dụng khỏi hệ điều hành và khỏi nhau. Việc truy cập bộ nhớ dựa trên luật về quyền truy nhập, kiểm tra mức đặc quyền của mã lệnh hiện hành (CPL) và đoạn dữ liệu/lệnh đích (DPL). Các bộ mô tả đoạn (Segment Descriptor), chứa thông tin chi tiết về đoạn (địa chỉ nền, giới hạn, quyền truy nhập), được lưu trữ trong các bảng như Bảng mô tả toàn cục (GDT) và Bảng mô tả cục bộ (LDT), được truy cập thông qua Bộ chọn đoạn (Segment Selector) trong các ghi thanh ghi đoạn. Cơ chế này cũng hỗ trợ bộ nhớ ảo (Virtual Memory) và chuyển nhiệm vụ (task switching) hiệu quả.

2.3. Các Chế Độ Xác Định Địa Chỉ Toán Hạng Tối Ưu Truy Cập Dữ Liệu

Để CPU thực hiện các tập lệnh (Instruction Set Architecture - ISA), việc xác định nơi chứa toán hạng là rất quan trọng. Các phương pháp xác định địa chỉ toán hạng, hay còn gọi là định vị toán hạng, giúp CPU tìm kiếm dữ liệu hiệu quả. Các toán hạng có thể nằm ngay trong lệnh (định vị tức thời), trong các ghi thanh ghi (Registers) của CPU (định vị thanh ghi), hoặc trong bộ nhớ máy tính (định vị bộ nhớ).

Định vị tức thời là khi giá trị toán hạng được nhúng trực tiếp trong lệnh, ví dụ: "MOV AX, 0F000h". Định vị thanh ghi cho phép CPU truy cập dữ liệu trực tiếp từ các ghi thanh ghi đa năng hoặc địa chỉ, ví dụ: "MOV AX, BX". Đối với định vị bộ nhớ, CPU cần xác định địa chỉ offset của ô nhớ trong đoạn dữ liệu mặc định. Các phương pháp định vị bộ nhớ bao gồm: định vị trực tiếp (địa chỉ offset trong lệnh, ví dụ: "MOV AX, [1000h]"); định vị gián tiếp (sử dụng các ghi thanh ghi địa chỉ như BX, BP, SI, DI để chứa địa chỉ offset, ví dụ: "MOV AX, [BX]"); định vị cơ sở (BX + giá trị dịch); định vị chỉ số (SI/DI + giá trị dịch); định vị cơ sở chỉ số (BX + SI); và định vị đầy đủ (thanh ghi cơ sở + thanh ghi chỉ số + khoảng dịch) cho các cấu trúc dữ liệu phức tạp. Những kỹ thuật này tối ưu hóa khả năng truy cập dữ liệu và đóng góp vào hiệu năng máy tính tổng thể.

III. Tối Ưu Hóa Bộ Nhớ Máy Tính Bí Quyết Với Phân Cấp và Cache Hiệu Quả

Việc tối ưu hóa bộ nhớ máy tính là một yếu tố then chốt để đạt được hiệu năng máy tính cao, đặc biệt khi tốc độ CPU ngày càng tăng nhanh hơn nhiều so với tốc độ truy cập bộ nhớ chính. Phân cấp bộ nhớ (Memory Hierarchy) là giải pháp kiến trúc máy tính được áp dụng rộng rãi nhằm khắc phục chênh lệch này. Hệ thống bộ nhớ được tổ chức thành nhiều cấp, từ các ghi thanh ghi (Registers) cực nhanh bên trong CPU, đến bộ đệm (Cache Memory) tốc độ cao (SRAM), bộ nhớ chính (DRAM) có dung lượng lớn hơn, và cuối cùng là bộ nhớ ngoài (ổ đĩa cứng) với dung lượng khổng lồ nhưng tốc độ chậm nhất. "Ý tưởng chính trong việc sử dụng hệ thống bộ nhớ có phân cấp là: Tại một thời khoảng thì các lệnh và dữ liệu được sử dụng thường đều nằm ở một khu vực tương đối nhỏ trong bộ nhớ chính."

Vai trò của bộ đệm (Cache Memory) trở nên cực kỳ quan trọng trong kiến trúc máy tính hiện đại. Cache hoạt động như một vùng nhớ đệm tốc độ cao, lưu trữ các lệnh và dữ liệu mà CPU có khả năng truy cập thường xuyên nhất. Nguyên lý quy chiếu phân vùng (Locality of Reference) là cơ sở cho hoạt động của cache: nếu dữ liệu không có trong ghi thanh ghi, CPU sẽ tìm trong cache. Nếu vẫn không có (cache miss), dữ liệu sẽ được nạp từ RAM vào cache và sau đó vào ghi thanh ghi. Kỹ thuật này giảm thiểu thời gian chờ đợi của CPU, cải thiện đáng kể hiệu năng máy tính. Các phương pháp tổ chức cache như ánh xạ trực tiếp, tập liên hợp, cùng với các kỹ thuật ghi dữ liệu (ghi xuyên, sao lưu), đều được thiết kế để tối đa hóa tỷ lệ "trúng" (cache hit) và giảm thiểu "trượt" (cache miss).

Ngoài cache, cơ chế quản lý bộ nhớ ảo (Virtual Memory) thông qua phân trang (Paging) cũng là một thành phần không thể thiếu trong kiến trúc máy tính để quản lý bộ nhớ máy tính hiệu quả. Phân trang cho phép hệ điều hành cung cấp một không gian địa chỉ tuyến tính lớn cho các chương trình, vượt quá dung lượng vật lý thực tế của RAM. Chương trình được chia thành các "trang" cố định, và các trang này được nạp vào các "khung trang" trong bộ nhớ vật lý khi cần thiết. Thư mục trang (Page Directory) và bảng trang (Page Table) đóng vai trò quan trọng trong việc ánh xạ địa chỉ tuyến tính thành địa chỉ vật lý, hỗ trợ hệ điều hành đa nhiệm và bảo mật kiến trúc máy tính bằng cách cô lập không gian nhớ giữa các ứng dụng. Sự kết hợp giữa phân cấp bộ nhớ với cache và bộ nhớ ảo đã tạo nên một hệ thống quản lý bộ nhớ linh hoạt và mạnh mẽ, tối ưu hóa mọi khía cạnh của kiến trúc máy tính.

3.1. Phân Cấp Bộ Nhớ và Vai Trò Của Bộ Đệm Cache Memory

Hệ thống bộ nhớ máy tính hiện đại được tổ chức theo phân cấp bộ nhớ (Memory Hierarchy) nhằm cân bằng giữa tốc độ, dung lượng và chi phí. Cấp cao nhất là các ghi thanh ghi (Registers) bên trong CPU, có tốc độ truy cập nhanh nhất nhưng dung lượng nhỏ nhất, dùng để chứa các toán hạng của lệnh. Cấp tiếp theo là bộ đệm (Cache Memory), được chế tạo từ SRAM tốc độ cao, nằm giữa CPU và bộ nhớ chính. Cache lưu trữ các lệnh và dữ liệu thường xuyên được CPU sử dụng, giảm thiểu thời gian chờ đợi.

Bộ nhớ chính (RAM - DRAM) có dung lượng lớn hơn cache nhưng tốc độ chậm hơn, chứa mã lệnh và dữ liệu của các chương trình đang chạy. Cuối cùng, bộ nhớ ngoài (ổ đĩa cứng, SSD) có dung lượng lớn nhất và thông tin vẫn được lưu trữ khi mất điện, dùng để chứa hệ điều hành và các chương trình ứng dụng. Theo nguyên lý quy chiếu phân vùng, dữ liệu thường được sử dụng có xu hướng tập trung ở một vùng nhỏ trong bộ nhớ, cho phép cache hoạt động hiệu quả. Khi CPU cần dữ liệu, nó sẽ tìm kiếm từ cấp nhanh nhất (ghi thanh ghi) xuống cấp chậm nhất (bộ nhớ ngoài), và dữ liệu sẽ được nạp lên các cấp cao hơn để tối ưu hóa hiệu năng máy tính.

3.2. Tổ Chức Cache Kỹ Thuật Ánh Xạ và Ghi Dữ Liệu Hiệu Quả

Bộ đệm (Cache Memory) được tổ chức theo nhiều kỹ thuật khác nhau để tối ưu hóa việc truy cập dữ liệu trong kiến trúc máy tính. Phương pháp ánh xạ trực tiếp (Direct Mapped Cache) là một trong những cách đơn giản nhất để quy chiếu địa chỉ từ bộ nhớ chính vào cache. Trong kỹ thuật này, mỗi khối dữ liệu từ bộ nhớ chính chỉ có thể được lưu trữ ở một vị trí cụ thể trong cache. Khi CPU đọc dữ liệu, bộ điều khiển cache kiểm tra số hiệu thẻ và bit cờ để xác định "trúng" (cache hit) hay "trượt" (cache miss).

Đối với thao tác ghi dữ liệu, có hai kỹ thuật chính: ghi xuyên (write through) và sao lưu (copy back). Kỹ thuật ghi xuyên đồng thời ghi dữ liệu vào cả cache và bộ nhớ chính, đảm bảo tính nhất quán nhưng có thể làm chậm quá trình ghi. Ngược lại, kỹ thuật sao lưu chỉ ghi dữ liệu vào cache và đánh dấu bằng bit cờ (F=1). Dữ liệu chỉ được ghi ngược lại bộ nhớ chính khi khối cache đó cần được thay thế, giúp tăng tốc độ ghi dữ liệu ban đầu. Ngoài ra, kỹ thuật tập liên hợp (Set-Associative Cache) cho phép nhiều khối nhớ từ các địa chỉ khác nhau cùng được lưu trữ tại một vị trí logic trong cache, giúp tăng tỷ lệ trúng và cải thiện hiệu năng máy tính bằng cách giải quyết vấn đề xung đột địa chỉ thường gặp trong ánh xạ trực tiếp.

3.3. Cơ Chế Quản Lý Bộ Nhớ Theo Phân Trang và Ứng Dụng Bộ Nhớ Ảo

Cơ chế quản lý bộ nhớ máy tính theo phân trang (Paging) là một phần quan trọng của bộ nhớ ảo (Virtual Memory) trong kiến trúc máy tính hiện đại. Nó cho phép hệ điều hành cung cấp một không gian địa chỉ tuyến tính (virtual address space) lớn cho các chương trình, độc lập với bộ nhớ vật lý thực tế. Chương trình được chia thành các khúc nhỏ có kích thước cố định gọi là "trang" (Page), mỗi trang có kích thước 4Kbyte. Các trang này được nạp vào các "khung trang" (Page Frame) trong bộ nhớ vật lý khi cần thiết.

Quá trình chuyển đổi từ địa chỉ tuyến tính sang địa chỉ vật lý được thực hiện thông qua Thư mục trang (Page Directory) và bảng trang (Page Table). "Thư mục trang chứa tới 1024 Lối vào thư mục trang PDE (Page Directory Entry). Mỗi PDE chứa 20 bít địa chỉ nền bảng trang (trỏ đến nền bảng trang)." Tương tự, mỗi bảng trang chứa 1024 Lối vào bảng trang PTE (Page Table Entry), mỗi PTE trỏ đến địa chỉ nền của một trang 4Kbyte trong bộ nhớ vật lý. Cơ chế này không chỉ mở rộng dung lượng bộ nhớ khả dụng mà còn hỗ trợ bảo mật kiến trúc máy tính bằng cách cô lập không gian địa chỉ của các chương trình, ngăn chặn việc truy cập trái phép. Việc kết hợp phân đoạn và phân trang trong các CPU 32-bit tạo nên một hệ thống quản lý bộ nhớ linh hoạt và mạnh mẽ cho hệ điều hành đa nhiệm.

IV. Nâng Cao Hiệu Năng Kiến Trúc Pipelining và Xử Lý Song Song Tối Đa

Để đáp ứng nhu cầu ngày càng tăng về tốc độ xử lý trong kiến trúc máy tính, các kỹ thuật nâng cao hiệu năng máy tính như Pipelining và Xử lý song song đã trở thành tiêu chuẩn. Trước đây, mỗi lệnh trong tập lệnh (Instruction Set Architecture - ISA) được CPU thực hiện tuần tự qua nhiều giai đoạn (tạo địa chỉ toán hạng, nhập toán hạng, thực hiện lệnh, v.v.). Điều này làm giảm hiệu năng máy tính tổng thể vì CPU phải chờ hoàn thành một lệnh trước khi bắt đầu lệnh tiếp theo.

Kỹ thuật đường ống (Pipelining) đã cách mạng hóa cách CPU xử lý lệnh. Tương tự như một dây chuyền sản xuất, Pipelining chia quá trình thực hiện lệnh thành các giai đoạn nhỏ hơn và cho phép nhiều lệnh ở các giai đoạn khác nhau được xử lý đồng thời. Ví dụ, trong một đường ống 5 giai đoạn, khi lệnh đầu tiên hoàn thành giai đoạn 1, nó chuyển sang giai đoạn 2, và lệnh thứ hai có thể bắt đầu giai đoạn 1. "Với một đường ống 5-giai đoạn, tại mỗi chu kỳ máy có 5 bộ dữ liệu thuộc 5 giai đoạn xử lý được gửi vào đường ống và 5 thao tác được thực hiện đồng thời, nhờ vậy nếu tính từ khi thực thi xong lệnh đầu tiên thì cứ sau mỗi chu kỳ máy lại có một lệnh được hoàn thành." Kỹ thuật này giúp tăng tốc độ thực hiện lệnh lên gấp nhiều lần. Tuy nhiên, Pipelining cũng có nhược điểm, đặc biệt là khi gặp các lệnh phụ thuộc nhau (data dependencies) hoặc các lệnh rẽ nhánh (control hazards), có thể gây ra hiện tượng "stall" hoặc "flush" đường ống, làm giảm hiệu năng máy tính. Để giảm thiểu vấn đề này, các kiến trúc vi mô (Microarchitecture) hiện đại tích hợp bộ tiên đoán nhánh (Branch Prediction Unit - BPU) để dự đoán luồng thực thi lệnh và sắp xếp chúng một cách tối ưu.

Tiến xa hơn Pipelining, kỹ thuật Xử lý song song mức lệnh (Instruction Level Parallelism - ILP) cho phép CPU thực hiện nhiều lệnh hoàn toàn song song trong cùng một chu kỳ máy. Kỹ thuật Superscalar, một dạng của ILP, là ví dụ điển hình, nơi CPU có nhiều đường ống thực hiện lệnh độc lập. "Pentium là loại đơn vị xử lý trung tâm được thiết kế theo kỹ thuật superscalar, trong đó hai lệnh được nhập và giải mã đồng thời." Các CPU Superscalar có thể thực hiện song song nhiều phép tính số nguyên, số lẻ, thao tác bộ nhớ hay lệnh nhảy, đòi hỏi phần cứng phức tạp để quản lý các quan hệ giữa dữ liệu và chọn các lệnh có thể thi hành cùng lúc. Sự phát triển của ILP đã đóng góp đáng kể vào việc nâng cao hiệu năng máy tính của các kiến trúc máy tính hiện đại, là yếu tố then chốt cho sự phát triển của các hệ điều hành và ứng dụng phức tạp.

4.1. Kỹ Thuật Pipelining Đường Ống Xử Lý Lệnh Tăng Tốc Độ Máy Tính

Kỹ thuật đường ống (Pipelining) là một phương pháp quan trọng để nâng cao hiệu năng máy tính trong kiến trúc máy tính. Thay vì thực hiện từng lệnh một cách tuần tự từ đầu đến cuối, Pipelining chia quá trình thực hiện một tập lệnh (Instruction Set Architecture - ISA) thành nhiều giai đoạn nhỏ độc lập. Ví dụ, các giai đoạn có thể bao gồm tạo địa chỉ toán hạng (GOA), nhập toán hạng (FO), thực hiện lệnh (EI), v.v. Khi một lệnh hoàn thành một giai đoạn, nó sẽ chuyển sang giai đoạn tiếp theo, và một lệnh mới có thể bắt đầu giai đoạn đầu tiên.

Kỹ thuật này cho phép nhiều lệnh được xử lý đồng thời ở các giai đoạn khác nhau trong CPU, giống như một dây chuyền lắp ráp. Điều này giúp giảm đáng kể thời gian trung bình để hoàn thành một lệnh. Tài liệu chỉ ra rằng "xử lý lệnh theo kỹ thuật ống dẫn thực hiện 5 lậnh chỉ trong 9 chu kỳ xung nhịp", trong khi kiểu xử lý tuần tự mất 25 chu kỳ. Tuy nhiên, Pipelining gặp phải "những lệnh phụ thuộc", nơi kết quả của một lệnh cần thiết cho lệnh tiếp theo, hoặc các lệnh rẽ nhánh. Khi đó, đường ống có thể phải "thải" các lệnh đang xử lý và nạp lại, gây lãng phí thời gian và làm giảm hiệu năng máy tính. Các kiến trúc vi mô (Microarchitecture) hiện đại sử dụng bộ tiên đoán nhánh (BPU) để giảm thiểu những nguy cơ này, tối ưu hóa luồng lệnh và duy trì hiệu quả của đường ống.

4.2. Xử Lý Song Song Mức Lệnh ILP Cách Các CPU Hiện Đại Vận Hành

Xử lý song song mức lệnh (Instruction Level Parallelism - ILP) là một kỹ thuật tiên tiến trong kiến trúc máy tính nhằm tăng hiệu năng máy tính bằng cách cho phép CPU thực hiện nhiều lệnh trong cùng một chu kỳ máy. Kỹ thuật này đòi hỏi thiết kế đơn vị xử lý trung tâm (CPU) và chương trình dịch phải phối hợp để nhận diện và khai thác sự song song tiềm ẩn giữa các lệnh. Một dạng phổ biến của ILP là kiến trúc Superscalar.

Trong kiến trúc Superscalar, CPU được trang bị nhiều đơn vị thực hiện (Execution Units) độc lập, ví dụ như nhiều Đơn vị số học logic (ALU), bộ tính toán số lẻ, đơn vị nạp/lưu dữ liệu. Điều này cho phép nhiều lệnh khác nhau (ví dụ: một lệnh số nguyên, một lệnh số lẻ, một lệnh bộ nhớ) được nạp và thực hiện đồng thời trên các đường ống khác nhau. Tài liệu minh họa rằng "Pentium là loại đơn vị xử lý trung tâm được thiết kế theo kỹ thuật superscalar, trong đó hai lệnh được nhập và giải mã đồng thời." Để đạt được điều này, phần cứng CPU phải có khả năng quản lý các quan hệ dữ liệu giữa các lệnh và chọn ra các lệnh có thể được thi hành song song. Mặc dù làm tăng độ phức tạp của phần cứng, ILP đã đóng góp to lớn vào việc nâng cao đáng kể hiệu năng máy tính của các CPU hiện đại, đặc biệt là trong các hệ thống máy tính đa nhân và đa luồng.

V. Hệ Thống Vào Ra I O Cách Máy Tính Giao Tiếp Với Thế Giới Bên Ngoài

Hệ thống I/O (Input/Output) là một thành phần không thể thiếu trong kiến trúc máy tính, cho phép máy tính trao đổi thông tin với các thiết bị ngoại vi và môi trường bên ngoài. Việc giao tiếp này được thực hiện thông qua các thiết bị giao diện chuyên biệt, đóng vai trò cầu nối giữa đơn vị xử lý trung tâm (CPU) và thế giới bên ngoài. Mỗi thiết bị giao diện là một thiết bị khả trình, có cấu trúc bao gồm ba loại ghi thanh ghi: thanh ghi điều khiển (control register) để thiết lập chế độ làm việc; thanh ghi trạng thái (status register) để phản ánh trạng thái hoạt động; và thanh ghi dữ liệu (data register) làm bộ đệm tạm thời cho dữ liệu vào/ra. Mỗi ghi thanh ghi này được gán một địa chỉ cổng xác định, cho phép CPU truy cập và điều khiển.

Thách thức lớn trong Hệ thống I/O là sự chênh lệch đáng kể về tốc độ làm việc giữa CPU và các thiết bị ngoại vi. CPU hoạt động ở tốc độ rất cao, trong khi các thiết bị như bàn phím, chuột, ổ đĩa lại chậm hơn nhiều. Để đảm bảo quá trình trao đổi thông tin diễn ra đáng tin cậy và hiệu quả, kiến trúc máy tính đã phát triển nhiều phương pháp vào ra dữ liệu khác nhau. Các phương pháp này được chia thành hai nhóm chính: vào/ra do CPU chủ động (như định trình và thăm dò) và vào/ra do thiết bị chủ động (như ngắt cứng và truy nhập trực tiếp bộ nhớ - DMA).

Phương pháp vào/ra theo định trình là cơ bản nhất, trong đó CPU thực hiện các lệnh IN/OUT theo một chu kỳ xác định mà không kiểm tra trạng thái thiết bị, phù hợp cho các quá trình vào/ra có chu kỳ cố định. Phương pháp thăm dò (polling) đòi hỏi CPU liên tục kiểm tra thanh ghi trạng thái của thiết bị giao diện để biết khi nào dữ liệu sẵn sàng hoặc thiết bị sẵn sàng nhận dữ liệu. Mặc dù đơn giản, cả hai phương pháp này đều tiêu tốn nhiều thời gian CPU, ảnh hưởng đến hiệu năng máy tính tổng thể.

Để nâng cao hiệu năng máy tính, các phương pháp tiên tiến hơn được sử dụng. Phương pháp ngắt cứng (hardware interrupt) cho phép thiết bị ngoại vi chủ động báo hiệu cho CPU khi có sự kiện xảy ra (ví dụ: dữ liệu sẵn sàng). CPU sẽ tạm dừng công việc hiện tại, phục vụ yêu cầu ngắt và sau đó tiếp tục công việc đang dang dở. Điều này giúp CPU không phải chờ đợi hoặc thăm dò liên tục. Tuy nhiên, việc xử lý ngắt vẫn đòi hỏi CPU phải tham gia vào quá trình truyền dữ liệu. Giải pháp tối ưu nhất cho việc truyền khối lượng lớn dữ liệu là truy nhập trực tiếp bộ nhớ (Direct Memory Access - DMA), trong đó bộ điều khiển DMAC đảm nhận việc truyền dữ liệu trực tiếp giữa thiết bị ngoại vi và bộ nhớ máy tính mà không cần sự can thiệp của CPU, giải phóng CPU để thực hiện các tác vụ khác và tối đa hóa hiệu năng máy tính.

5.1. Cấu Trúc Phần Cứng I O và Vai Trò Thiết Bị Giao Diện

Trong kiến trúc máy tính, Hệ thống I/O (Input/Output) là cầu nối giữa CPU và thế giới bên ngoài. Thiết bị giao diện là thành phần phần cứng quan trọng, giúp CPU trao đổi thông tin với các thiết bị ngoại vi (bàn phím, màn hình, ổ đĩa). Các thiết bị giao diện này giải quyết sự khác biệt lớn về dạng thức truyền tải và tốc độ xử lý giữa CPU và ngoại vi. Mỗi thiết bị giao diện có ba loại ghi thanh ghi cốt lõi: thanh ghi điều khiển (Control Register) để cấu hình thiết bị; thanh ghi trạng thái (Status Register) để CPU đọc thông tin về tình trạng hoạt động của thiết bị; và thanh ghi dữ liệu (Data Register) dùng làm bộ đệm tạm thời cho dữ liệu được truyền đi hoặc đến.

Mỗi ghi thanh ghi này được gán một địa chỉ cổng duy nhất, cho phép CPU truy cập chúng thông qua các lệnh IN (đọc) và OUT (ghi). Ví dụ, lệnh "OUT port 378, AL" đưa nội dung thanh ghi AL ra cổng máy in. Các mạch chức năng như Bộ điều khiển ngắt PIC 8259, Bộ điều khiển DMA DMAC 8237, Thiết bị giao diện bàn phím KC 8042, Thiết bị giao diện màn hình CRTC, UART 8250 cho giao diện nối tiếp, và PPI cho giao diện song song, đều là các thiết bị giao diện thiết yếu. Trong các PC hiện đại, nhiều mạch chức năng này được tích hợp vào các chip set để tối ưu hóa cấu trúc máy tính.

5.2. Các Phương Pháp Vào Ra Dữ Liệu Tối Ưu Truyền Thông Với Ngoại Vi

Để đảm bảo CPU có thể trao đổi thông tin đáng tin cậy với thiết bị ngoại vi, kiến trúc máy tính sử dụng các phương pháp vào ra dữ liệu khác nhau.

  1. Vào/ra theo định trình (Programmed I/O - Polling): Đây là phương pháp đơn giản nhất, trong đó CPU thực hiện các lệnh IN/OUT theo một chu kỳ xác định mà không kiểm tra trạng thái của thiết bị giao diện. Phương pháp này phù hợp cho các quá trình I/O có chu kỳ cố định, nhưng có thể không đáng tin cậy và lãng phí chu kỳ CPU.
  2. Vào/ra theo kiểu thăm dò (Polling I/O): CPU liên tục kiểm tra thanh ghi trạng thái của thiết bị giao diện để biết thiết bị đã sẵn sàng hay chưa. Mặc dù đáng tin cậy hơn định trình, nhưng nó vẫn chiếm dụng CPU và làm giảm hiệu năng máy tính.
  3. Vào/ra theo ngắt cứng (Interrupt-Driven I/O): Thiết bị ngoại vi chủ động gửi tín hiệu ngắt (interrupt) đến CPU khi chúng cần được phục vụ. Bộ điều khiển ngắt PIC 8259 quản lý các yêu cầu ngắt này, giúp CPU phản ứng tức thời mà không cần thăm dò liên tục, cải thiện hiệu năng máy tính. CPU sẽ tạm dừng công việc hiện tại để xử lý ngắt, sau đó quay lại.
  4. Vào/ra theo kiểu DMA (Direct Memory Access): Đây là phương pháp hiệu quả nhất để truyền khối lượng lớn dữ liệu. Bộ điều khiển DMAC 8237 điều khiển việc truyền dữ liệu trực tiếp giữa bộ nhớ máy tính và thiết bị ngoại vi mà không cần sự can thiệp của CPU. Điều này giải phóng CPU để thực hiện các tác vụ khác, tối đa hóa hiệu năng máy tính và là một kỹ thuật then chốt trong Hệ thống I/O hiện đại.

VI. Kiến Trúc Máy Tính Tóm Lược và Tầm Nhìn Phát Triển Trong Tương Lai

Kiến trúc máy tính là một lĩnh vực nghiên cứu nền tảng, cung cấp cái nhìn sâu sắc về cách hệ thống máy tính được xây dựng và hoạt động. Từ việc hiểu rõ cấu trúc máy tính với các thành phần cơ bản như Bộ xử lý trung tâm (CPU), Bộ nhớ máy tính, Hệ thống I/O (Input/Output), đến việc nắm bắt nguyên lý hoạt động máy tính phức tạp, tất cả đều tạo nên bức tranh toàn diện về công nghệ này. Chúng ta đã thấy cách thông tin được biểu diễn dưới dạng nhị phân, các phép toán cơ bản, và cách các dạng dữ liệu phức tạp như số thực hay ký tự được mã hóa. Những yếu tố này là nền tảng cho mọi tương tác và xử lý dữ liệu trong máy tính.

Sự tiến bộ trong kiến trúc máy tính được thúc đẩy bởi nhu cầu không ngừng về hiệu năng máy tính cao hơn. Các kỹ thuật như Pipelining và Xử lý song song mức lệnh (ILP), đặc biệt là kiến trúc Superscalar, đã cho phép CPU thực hiện nhiều lệnh đồng thời, vượt xa giới hạn của việc xử lý tuần tự. Cùng với đó, việc tối ưu hóa bộ nhớ máy tính thông qua phân cấp bộ nhớ (Memory Hierarchy) và sự ra đời của bộ đệm (Cache Memory) đa cấp đã giảm thiểu đáng kể thời gian truy cập dữ liệu, giúp CPU hoạt động gần với tốc độ tối đa của nó. Cơ chế quản lý bộ nhớ theo phân trang và bộ nhớ ảo (Virtual Memory) không chỉ mở rộng khả năng lưu trữ mà còn tăng cường bảo mật kiến trúc máy tính và hỗ trợ hệ điều hành đa nhiệm hiệu quả.

Hệ thống I/O (Input/Output), với các phương pháp vào ra dữ liệu đa dạng từ định trình đến DMA (Direct Memory Access), đã cải thiện đáng kể khả năng giao tiếp của máy tính với các thiết bị ngoại vi. Việc giải phóng CPU khỏi các tác vụ truyền dữ liệu lặp đi lặp lại thông qua DMA là một bước tiến quan trọng trong việc tối ưu hóa tài nguyên hệ thống.

Nhìn về tương lai, kiến trúc máy tính tiếp tục phát triển với nhiều xu hướng và thách thức mới. Sự chuyển dịch từ kiến trúc CISC sang kiến trúc RISC (như ARM và MIPS) trong nhiều lĩnh vực, đặc biệt là hệ thống nhúng và thiết bị di động, cho thấy ưu thế của các bộ tập lệnh (Instruction Set Architecture - ISA) đơn giản hơn và hiệu quả hơn về năng lượng. Sự phát triển của xử lý song song với các GPU (Graphics Processing Unit) cho các tác vụ tính toán chuyên sâu (ví dụ: AI, Machine Learning) và các kiến trúc chuyên biệt cho điện toán đám mây đang định hình lại cảnh quan tính toán. Các thách thức về bảo mật kiến trúc máy tính trước các mối đe dọa ngày càng tinh vi cũng đòi hỏi những đổi mới liên tục trong thiết kế phần cứng. Kiến trúc máy tính vẫn sẽ là một lĩnh vực năng động, không ngừng tìm kiếm các giải pháp sáng tạo để nâng cao hiệu năng máy tính, hiệu quả năng lượng và tính linh hoạt của hệ thống máy tính trong tương lai.

6.1. Tóm Lược Các Nguyên Lý Cơ Bản Của Kiến Trúc Máy Tính

Kiến trúc máy tính là khoa học về việc tổ chức và thiết kế các thành phần tạo nên một hệ thống máy tính. Các nguyên lý hoạt động máy tính cốt lõi xoay quanh năm thành phần cơ bản: Đơn vị xử lý trung tâm (CPU), Bộ nhớ máy tính, Hệ thống I/O (Input/Output), Bus hệ thống, và Thiết bị giao diện. CPU là bộ não, thực hiện các tập lệnh (Instruction Set Architecture - ISA), bao gồm Đơn vị số học logic (ALU) và Bộ điều khiển (Control Unit), cùng các ghi thanh ghi (Registers).

Bộ nhớ máy tính được tổ chức theo phân cấp bộ nhớ (Memory Hierarchy), với bộ đệm (Cache Memory) đóng vai trò quan trọng trong việc tăng tốc độ truy cập dữ liệu, hỗ trợ bởi cơ chế bộ nhớ ảo (Virtual Memory) và phân trang. Hệ thống I/O đảm bảo giao tiếp với bên ngoài thông qua các phương pháp vào ra dữ liệu như ngắt và DMA (Direct Memory Access). Hiệu năng máy tính được cải thiện đáng kể nhờ các kỹ thuật như Pipelining và Xử lý song song. Sự hiểu biết về những cấu trúc máy tính và nguyên lý hoạt động máy tính này là nền tảng để thiết kế và tối ưu hóa các hệ thống máy tính hiệu quả.

6.2. Xu Hướng và Thách Thức Trong Thiết Kế Kiến Trúc Máy Tính Hiện Đại

Kiến trúc máy tính hiện đại đang chứng kiến nhiều xu hướng phát triển và thách thức. Một trong những xu hướng nổi bật là sự phổ biến của kiến trúc RISC (Reduced Instruction Set Computer) như ARM và MIPS, đặc biệt trong hệ thống nhúng và thiết bị di động, nhờ hiệu quả năng lượng và thiết kế đơn giản hơn so với kiến trúc CISC (Complex Instruction Set Computer) như x86. Xử lý song song tiếp tục là trọng tâm, với sự phát triển mạnh mẽ của các GPU (Graphics Processing Unit) không chỉ cho đồ họa mà còn cho tính toán khoa học và trí tuệ nhân tạo (AI).

Thách thức về hiệu năng máy tính không chỉ còn là tốc độ xung nhịp mà còn là khả năng mở rộng xử lý song song và hiệu quả năng lượng. Bảo mật kiến trúc máy tính trở nên tối quan trọng, với các mối đe dọa tấn công cấp phần cứng ngày càng tinh vi, đòi hỏi các giải pháp bảo vệ được tích hợp sâu vào vi kiến trúc (Microarchitecture). Nhu cầu về điện toán đám mây và xử lý dữ liệu lớn cũng thúc đẩy sự phát triển của các kiến trúc máy tính phân tán và chuyên biệt. Tương lai của kiến trúc máy tính sẽ là sự kết hợp giữa các kiến trúc linh hoạt, hiệu quả năng lượng và khả năng bảo mật cao, liên tục đổi mới để đáp ứng các yêu cầu của các ứng dụng mới nổi.

30/09/2025

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

MỤC LỤC Chương1. 3 Kiến trúc máy vi tính PC và đơn vị xử lý trung tâm. Các thành phần cơ bản của máy tính số. Biểu diễn thông tin trong máy tính số.3 Kiến trúc cơ bản máy vi tính PC.

Đơn vị xử lý trung tâm CPU (Central Processing Unit). Cấu hình bên ngoài. Cấu hình bên trong. Quản lý bộ nhớ trong chế độ thực và các thanh ghi đoạn .5 Quản lý bộ nhớ trong chế độ bảo vệ .7 Các chế độ xác định địa chỉ toán hạng.

Kỹ thuật đường ống và kỹ thuật xử lý song song mức lệnh. Kỹ thuật xử lý lệnh kiểu đường ống (Pipeline). Kỹ thuật ILP (xử lý song song mức lệnh). 41 Tổ chức bộ nhớ trong máy vi tính PC.

Tổ chức bộ nhớ theo phân cấp. Tổ chức cache. Trường hợp mỗi khối chứa một từ (hoặc 1 byte) dữ liệu. Trường hợp mỗi khối chứa nhiều từ dữ liệu.

Kỹ thuật tập liên hợp .3 Tổ chức bộ nhớ máy vi tính PC. Cơ chế quản lý bộ nhớ theo phân trang .2 Cơ chế truy nhập bộ nhớ theo trang. 49 Các phương pháp vào ra dữ liệu trong máy vi tính. Cấu trúc phần cứng của hệ thống vào/ra dữ liệu.

Các phương pháp vào/ra dữ liệu .2 Phương pháp vào/ra dữ liệu theo định trình .3 Phương pháp vào/ra dữ liệu theo kiểu thăm dò .4 Phương pháp vào/ra dữ liệu theo ngắt cứng .5 Phương pháp vào/ra dữ liệu theo kiểu DMA (truy nhập trực tiếp bộ nhớ - Direct Memory Access). 56 Các thiết bị vào ra .1 Các thiết bị giao diện và điều khiển vào/ra dữ liệu .1 Ngắt và bộ điều khiển ngắt PIC 8259 .2 Truy nhập trực tiếp bộ nhớ và bộ điều khiển DMAC 8237 .3 Vào-ra nối tiếp và thiết bị giao diện vào-ra nối tiếp UART 8250/16450 .4 Thiết bị giao diện song song. Các thiết bị ngoại vi .90 2 Chương1 Kiến trúc máy vi tính PC và đơn vị xử lý trung tâm 1. Các thành phần cơ bản của máy tính số Trong lịch sử, máy tính điện tử được phát triển theo 2 hướng kỹ thuật tách biệt, từ đó sinh ra 2 loại máy tính là Máy tính tương tự (analog computer) và máy tính số (digital computer).

Máy tính tương tự hoạt động trên các loại số liệu liên tục với các mạch điện tử tương tự, còn máy tính số hoạt động trên các loại số liệu rời rạc với các mạch điện tử số. Hiện nay các máy tính số chiếm ưu thế vượt trội nên khi nói đến máy tính người ta cũng thường hiểu ngầm là máy tính số. Máy tính số gồm các thành phần cơ bản như sau: - Đơn vị xử lý trung tâm (CPU): được chế tạo bởi một mạch vi điện tử có độ tích hợp rất cao, nó có nhiệm vụ đọc mã lệnh là các bit thông tin 0 hoặc 1 từ bộ nhớ chính, giải mã các lệnh này thành một chuỗi các xung điều khiển để điều khiển các khối khác thực hiện từng bước các thao tác trong lệnh. Để làm được điều này bên trong vi xử lí có các thanh ghi (registers) để chứa địa chỉ của các lệnh sắp thực hiện (lệnh kế tiếp) như thanh ghi con trỏ lệnh IP (Instruction Pointer) hay còn gọi là bộ đếm chương trình PC (Program Counter) và các thanh ghi khác dùng để lưu trữ dữ liệu tạm thời hoặc các trạng thái của hệ thống.

Các thanh ghi này cùng với bộ tính số học và logic ALU (Arithmetical and Logic Unit) cho phép thực hiện các thao tác với dữ liệu. Trong vi xử lí thì đơn vị điều khiển CU (Control Unit) là phần phức tạp nhất vì nó có chức năng giải mã lệnh và tạo các xung điều khiển toàn hệ thống. CPU thực hiện các chức năng chính sau: - Điều khiển ghi/đọc thông tin lên bộ nhớ -Hiểu và thực hiện 1 tập hữu hạn các chỉ thị được thể hiện dưới dạng mã số -Nhập tuần tự các chỉ thị từ bộ nhớ và thực thi các chỉ thị này (chức năng thực hiện chương trình đang có trong bộ nhớ). -Điều khiển quá trình nhập thông tin từ thiết bị đầu vào và điều khiển quá trình xuất thông tin qua thiết bị đầu ra.

- Bộ nhớ chính (RAM+ROM): Được tạo bởi các vi mạch nhớ bán dẫn có tốc độ truy cập nhanh nhưng dung lượng hạn chế, nằm trên bản mạch chính được chia thành các ô nhớ và mỗi ô nhớ có một địa chỉ duy nhất xác định. Địa chỉ của các ô nhớ (xác định vị trí của ô đó trong bộ nhớ) bắt đầu từ 0 và tăng dần, mỗi ô nhớ dài 1 byte. ROM : ROM là bộ nhớ chỉ đọc. Dữ liệu trong ROM được duy trì ngay cả khi không có 3 nguồn điện nuôi.

ROM chứa các chương trình kiểm tra hệ thống, chương trình xác lập cấu hình hệ thống, chương trình đọc cung đĩa khởi động, các chương trình điều khiển các thiết bị vào-ra cơ bản của máy tính (BIOS-Basic Input/Output/Output System). RAM: RAM là bộ nhớ thao tác. Bộ nhớ RAM có chức năng chứa các phần mềm của hệ thống (hệ điều hành), phần mềm và dữ liệu của một hoặc nhiều chương trình đang hoạt động (chương trình ứng dụng). Nội dung RAM sẽ bị xóa khi mất điện Ngoài ra còn có: + Bộ nhớ khối (bộ nhớ ngoài): Lưu giữ tài nguyên phần mềm của máy tính bao gồm: HĐH, các chương trình và các dữ liệu.

Bộ nhớ ngoài được kết nối với hệ thống dưới dạng các thiết bị vào/ra. Nó có dung lượng lớn nhưng tốc độ truy cập chậm. Các loại bộ nhớ ngoài như: Đĩa cứng, đĩa mềm,… + Bộ nhớ cache: Là thành phần nhớ tốc độ nhanh được đặt đệm giữa CPU và bộ nhớ chính nhằm tăng tốc độ truy cập bộ nhớ của CPU. Dung lượng nhỏ hơn bộ nhớ chính.

Nó được sử dụng để lưu trữ các lệnh và dữ liệu thường được sử dụng nhiều trong quá trình thực hiện chương trình. -Thiết bị vào: Thực hiện chức năng nhập thông tin cho máy tính Ví dụ: Bàn phím, chuột,… -Thiết bị ra: Hiển thị các thông tin đưa ra từ máy tính ở dạng con người có thể hiểu được VD: Màn hình, máy in, thiết bị âm thanh,… - Phối ghép vào/ra (thiết bị giao diện): là các mạch điện tử thực hiện chức năng ghép nối, cho phép CPU thông tin được với các thiết bị ngoại vi như bàn phím, màn hình, ổ đĩa từ, chuột,…Các mạch điện tử này gọi là các cổng vào/ra (I/O port). Tùy theo yêu cầu mà chúng có chức năng hoặc là cổng vào nếu cho phép CPU nhận thông tin từ ngoài hoặc là cổng ra nếu cho phép CPU xuất thông tin ra ngoài hoặc cả hai. Sự có mặt của thiết bị giao diện là do có sự khác biệt rất lớn về dạng thức truyền tải và tốc độ xử lý thông tin giữa đơn vị xử lý trung tâm và các thiết bị ngoại vi.

Bên trong máy tính con số được sử dụng làm phương tiện truyền tải thông tin, thế giới bên ngoài máy tính thông tin được truyền tải dưới dạng ký tự, ánh sáng, âm thanh,.Đơn vị xử lý trung tâm xử lý thông tin với tốc độ rất cao, các thiết bị bên ngoài máy tính xử lý thông tin với tốc độ chậm hơn nhiều. - Hệ thống bus: Các khối cơ bản của máy tính được kết nối với nhau qua một tập đường dây truyền tín hiệu gọi là bus hệ thống: Là đường truyền thông tin trong máy tính.Về mặt vật lý Bus là tập hợp của các đường dây truyền tín hiệu điện, mỗi một đường dây truyền được một bit thông tin tại một thời điểm. Đơn vị xử lý trung tâm CPU thực hiện kết nối và trao đổi thông tin với các đơn vị chức năng khác thông qua hệ thống BUS. Bus hệ thống gồm 3 bus thành phần là: + Bus dữ liệu (2 chiều): để truyền tải dữ liệu.

+ Bus địa chỉ (1 chiều: chiều ra từ CPU) để CPU định vị, chọn ô nhớ hoặc chọn thiết bị ngoại vi cần liên lạc, là loại bus 1 chiều. 4 + Bus điều khiển(2 chiều): Do CPU hay thiết bị khác phát ra để điều khiển quá trình trao đổi dữ liệu như tín hiệu để phân biệt đơn vị được CPU truy nhập là thuộc bộ nhớ hay thiết bị vào/ra, thao tác truy nhập là đọc hay viết,… Để người sử dụng có thể làm việc được trên máy tính (như viết và cho chạy các chương trình ứng dụng của riêng họ) thì chỉ với các bộ phận phần cứng trên là không đủ, một phần mềm gọi là HĐH phải được cài đặt sẵn trong máy tính. Đó là 1 tập hợp các chương trình để sử dụng các chức năng cơ bản của các bộ phận phần cứng hay phần mềm trên hệ thống máy tính. Khác với chương trình ứng dụng, HĐH là một chương trình hệ thống đặc biệt chạy trong suốt thời gian hoạt động của máy tính.

Thực ra nó là một tập hợp các chương trình lo việc điều khiển hoạt động của máy tính cũng như cho phép các chương trình phần mềm khác chạy được. Nó điều khiển máy tính quyết định cho các chương trình nào chạy trong khoảng thời gian nào, quyết định nguồn tài nguyên nào (bộ nhớ, thiết bị vào/ra,…) đang được sử dụng,. Trong các lĩnh vực khoa học và đời sống, máy tính số có thể dùng trong lĩnh vực xử lý dữ liệu, sử dụng trong đo lường và điều khiển tự động hay được dùng như một bộ xử lí số… 1. Biểu diễn thông tin trong máy tính số 1.

Các hệ đếm liên quan tới máy tính - Trong cuộc sống hàng ngày ta thường dùng hệ đếm cơ số mười hay hệ thập phân là tổ hợp các chữ số từ 0 tới 9 để biểu diễn giá trị các số. Còn trong máy tính số thì hệ đếm nhị phân được sử dụng để biểu diễn giá trị các số. Bởi vì máy tính số được xây dựng trên cơ sở các mạch điện, mà các mạch điện ở từng thời điểm chỉ ở một trong hai trạng thái đóng hoặc mở; có hoặc không có dòng điện trong mạch; điện áp cao hoặc điện áp thấp. Trong hệ nhị phân thì bit (là số 0 hoặc 1) là đơn vị nhỏ nhất biểu diễn dữ liệu (đơn vị nhỏ nhất mang thông tin) trong máy tính.

- Để biểu giá trị của một số N bất kỳ ta dùng ký pháp vị trí như sau: ana n-1 ….a1a0a-1a-2 …a-(m-1)a -m=a n*bn+a n-1 *bn-1+…+a1 *b1+a0 *b0+a-1 *b-1+a-2 *b-2 +…+a-(m-1)*b- (m-1) +a-m*b-m Trong đó: b : là cơ số ; bn-1,…,b2,b1,b0,b-1,b-2,…,b-(m-1),b-m là các trọng số. an , an-1,an-2,…,a1,a0,a-1 ,a-2,…a-(m-1),a-m : là các số nằm ở vị trí tương ứng với trọng số. Khi cần phân biệt rõ hệ đếm thường viết thêm chỉ số dưới ký hiệu cơ số vào các số.

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