Các kết quả chính dự kiến sẽ đạt được và ứng dụng: -Từ việc tìm hiểu về kiến trúc và tổ chức máy tính đem lại một số kết quả và tính ứng dụng : Hiểu rõ về các thành phần cơ bản của một
QUAN VỀ TỔ CHỨC VÀ KIẾN TRÚC MÁY TÍNH
Kiến trúc máy tính
- Kiến trúc máy tính bao gồm cấu trúc phần cứng và các thành phần cơ bản của hệ thống máy tính, bao gồm bộ điều khiển, bộ xử lý tín hiệu, bộ nhớ, CPU và các cổng kết nối với các thiết bị ngoại vi Ngoài ra, nó bao gồm các nguyên lý và quy tắc xây dựng hệ thống để tạo ra một môi trường cho phép các chương trình máy tính được thực hiện và điều khiển.
- Kiến trúc máy tính xác định cách các phần cứng tương tác với nhau, xử lý dữ liệu, truyền dữ liệu và thực hiện các chức năng cơ bản như:
Tổ chức máy tính
- Tổ chức máy tính đề cập đến cách các thành phần cụ thể của hệ thống máy tính được liên kết và sắp xếp Nó bao gồm cách phần cứng được tổ chức và cấu trúc, các đơn vị chức năng và cách chúng tương tác với nhau để hệ thống hoạt động như một hệ thống hoàn chỉnh.
- Tổ chức máy tính mô tả sự kết hợp của các thành phần cơ bản của một máy tính
Những thành phần này bao gồm CPU, bộ nhớ, thiết bị nhập/xuất và các kết nối giữa chúng Nó liên quan đến cách các thành phần này được kết nối và sắp xếp với nhau để tạo ra một hệ thống hoạt động.
- Một cách tổ chức tốt có thể giúp hệ thống máy tính hoạt động tốt hơn, hỗ trợ tối ưu hóa sự tương tác giữa các thành phần và tạo cơ sở cho việc phát triển và thực thi chương trình.
Cấu trúc máy tính
- Cấu trúc máy tính: là các thành phần và liên kết giữa chúng Máy tính ở mức cao nhất được tạo thành từ bốn thành phần:
Bộ xử lý : điều khiển và xử lý số liệu.
Bộ nhớ : chứa chương trình và dữ liệu.
Hệ thống vào ra : trao đổi thông tingiữa máy tính với bên ngoài.
Liên kết giữa các hệ thống : liên kết các thành phần của máy tính lại với nhau
Von Neumann
- Chương trình xử lý dữ liệu cũng được gọi là dữ liệu và được lưu trữ trong bộ nhớ Chương trình lưu trữ cũng được gọi là chương trình lưu trữ.
Bộ nhớ máy tính được chia thành các ô (cell), mỗi ô có một địa chỉ duy nhất dùng để xác định ô cụ thể trong quá trình đọc ghi dữ liệu Việc đánh số thứ tự để xác định địa chỉ ô nhớ giúp quản lý và truy cập dữ liệu hiệu quả, cho phép bộ xử lý truy xuất chính xác đến từng ô nhớ mong muốn.
- - Thanh ghi lệnh, một bộ đếm chương trình trong đơn vị xử lý, thực hiện các lệnh theo tuần tự.
1.4.3 Sơ đồ máy tính Von Neumann
HỆ ĐẾM TRONG KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH
Hệ thập phân (Decimal)
- Hệ thập phân (còn được gọi là hệ số 10) là một hệ thống đếm cơ bản dựa trên cơ số 10, rất phổ biến trong toán học và cuộc sống hàng ngày Các giá trị trong hệ thập phân được hiển thị bằng mười ký hiệu số từ 0 đến 9.là một tập hợp các phần tử tương tự…
Ví dụ: Được biểu diễn dạng [tập hợp].
Số 1250 thì sử dụng bốn số đó là {1;2;5;0}
Số 2020 thì sử dụng bốn số {2;0;2;0}
- Cơ sở 10: Hệ thập phân sử dụng 10 ký hiệu số cơ bản: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
- Giá trị vị trí: Mỗi chữ số trong hệ thập phân có giá trị dựa trên vị trí của nó trong số Ví dụ, số 3546 có chữ số 6 ở hàng đơn vị (10^0), chữ số 4 ở hàng chục (10^1), chữ số 5 ở hàng trăm (10^2), và chữ số 3 ở hàng nghìn (10^3).
Quy tắc cơ bản khi định vị số trong hệ thập phân: Di chuyển sang phải một vị trí, giá trị của số tăng gấp 10 lần Di chuyển sang trái một vị trí, giá trị giảm đi một phần 10 Nguyên tắc này đóng vai trò nền tảng giúp biểu diễn các số nguyên, số thập phân và số thực trong hệ thập phân, tạo điều kiện thuận lợi cho các phép tính số học và phục vụ tốt cho các ứng dụng khoa học và kỹ thuật.
- Ứng dụng rộng rãi: Hệ thập phân được sử dụng trong giao dịch tài chính, tính toán hàng ngày, khoa học, kỹ thuật, và trong hầu hết các lĩnh vực của đời sống.
Hệ nhị phân (Binary)
2.2.1 Khái niệm Hệ nhị phân là một hệ thống đếm sử dụng cơ số 2, với hai ký hiệu số cơ bản là 0 và 1 Đây là cơ sở của các máy tính hiện đại vì các thiết bị điện tử hoạt động dựa trên hai trạng thái cơ bản: đóng hoặc mở, tương ứng với 0 và 1 trong hệ nhị phân.
- Cơ sở 2: Hệ nhị phân sử dụng hai ký hiệu số cơ bản: 0 và 1 Mỗi chữ số trong hệ nhị phân được gọi là bit (binary digit).
- Giá trị vị trí: Mỗi bit trong hệ nhị phân có giá trị dựa trên vị trí của nó trong số Ví dụ, số nhị phân 1011 có chữ số 1 ở hàng đơn vị (2^0), 1 ở hàng số 2 (2^1), 0 ở hàng số 4 (2^2) và 1 ở hàng số 8 (2^3).
- Quy tắc cơ bản: Khi di chuyển sang phải một vị trí, giá trị của số tăng gấp đôi; khi di chuyển sang trái một vị trí, giá trị giảm đi một nửa
- Ứng dụng trong máy tính: Mọi thông tin trong máy tính được biểu diễn bằng hệ nhị phân Dữ liệu, lệnh và địa chỉ bộ nhớ đều được biểu diễn dưới dạng các chuỗi bit.
2.2.3 Cách giải mã số nhị phân Để có thể chuyển đổi hệ số nhị phân sang thập phân ta có thể thực hiện theo các bước như sau:
Bước 1: Viết các dãy số nhị phân với các ký tự 0 và 1.
Bước 2: Sau đó theo thứ tự từ phải qua trái, viết lũy thừa của 2 tương ứng với mỗi con số Trong đó số mũ sẽ được biểu thị là số thứ tự thứ tự bắt đầu sẽ là 2 cho đến hết.
Bước 3: Sau khi đã xác định được các lũy thừa của 2 tương ứng với dãy số thì ta bắt đầu tính các giá trị lũy thừa của 2 vừa lập.
Bước 4: Sau khi đã tính ra được các giá trị lũy thừa thì ta sẽ bỏ các vị trí có giá trị 0 đi, chỉ lấy các vị trí có giá trị 1.
Bước 5: Cộng các giá trị vừa tính được ở bước 4 vừa tìm được khi đã lại bỏ các vị trí có giá trị 0, cộng lại với nhau ta sẽ giải mã được hệ nhị phân trên sang hệ thập lục phân.
Ví dụ: Tác có dãy số nhị phân như sau: 1001101 Áp dụng các bước trên ta sẽ tính toán như sau:
- Hệ nhị phân là ngôn ngữ của máy tính Tất cả dữ liệu và lệnh đều được biểu diễn bằng chuỗi bit 0 và 1.
- Các máy tính hiện đại thực hiện tất cả phép toán, lưu trữ và xử lý dữ liệu dưới dạng nhị phân.
- Hệ nhị phân cung cấp một cơ sở rất hiệu quả để biểu diễn dữ liệu trong máy tính và là nền tảng cơ bản cho toàn bộ ngành công nghiệp máy tính và kỹ thuật điện tử.
Hệ bát phân (Octal)
-Hệ bát phân, còn được gọi là hệ cơ số 8, là một hệ thống đếm sử dụng cơ số 8 Trong hệ bát phân, chúng ta sử dụng tám ký hiệu số cơ bản từ 0 đến 7.
- Cơ sở 8: Hệ bát phân sử dụng tám ký hiệu số cơ bản: 0, 1, 2, 3, 4, 5, 6, 7.
- Giá trị vị trí: Mỗi chữ số trong hệ bát phân có giá trị dựa trên vị trí của nó trong số Ví dụ, số bát phân 736 có chữ số 6 ở hàng đơn vị (8^0), 3 ở hàng số 8 (8^1), và 7 ở hàng số 64 (8^2).
- Quy tắc chuyển đổi: Một chữ số bát phân tương ứng với một chuỗi ba bit trong hệ nhị phân Ví dụ, số bát phân 7 tương đương với 111 trong hệ nhị phân.
Hệ bát phân được sử dụng trong một số lĩnh vực cụ thể như điện tử và lưu trữ thông tin.
2.3.2 Cách giải mã hệ bát phân
-Ví dụ: Chuyển từ hệ bát phân sang hệ nhị phân với ví dụ số 1456 Bước 1:
-Chuyển từng chữ số bát phân thành nhị phân 1 (bát phân) = 001 (nhị phân)
4 (bát phân) = 100 (nhị phân) 5 (bát phân) = 101 (nhị phân) 6 (bát phân) = 110 (nhị phân) Bước 2:
- Ghép các con số nhị phân để tạo dãy số nhị phân tương ứng 1456 (bát phân) = 001100101110 (nhị phân)
-Như vậy, dãy số bát phân 1456 chuyển sang hệ nhị phân sẽ là 001100101110 Đây là cách cụ thể để chuyển từ hệ bát phân sang hệ nhị phân, mà mỗi chữ số bát phân được biểu diễn dưới dạng nhị phân và sau đó ghép lại để tạo thành dãy số nhị phân tương ứng.
Hệ thập lục phân (Hexadecimal)
-Hệ thập lục phân (hay hệ số 16) là một hệ thống đếm cơ số 16 được sử dụng rộng rãi trong lĩnh vực máy tính và toán học Nó sử dụng 16 ký hiệu số để biểu diễn các giá trị từ 0 đến 15, bao gồm các chữ số từ 0 đến 9 và các ký hiệu chữ cái từ A đến F.
- 16 ký hiệu số: Bao gồm các chữ số từ 0 đến 9 và các ký hiệu chữ cái từ A đến F Ví dụ, 10 được biểu diễn bằng "A", 15 được biểu diễn bằng "F".
- Giá trị vị trí: Mỗi chữ số trong hệ thập lục phân có giá trị dựa trên vị trí của nó trong số Chẳng hạn, trong số thập lục phân 2A3, chữ số "3" đại diện cho 3 đơn vị (16^0), "A" đại diện cho 10 (16^1), và "2" đại diện cho 2 lần 16 (16^2).
- Quy tắc chuyển đổi: Mỗi chữ số thập lục phân tương ứng với một chuỗi bốn bit (nibble) trong hệ nhị phân.
2.4.1 Cách giải mã hệ thập lục phân Để chuyển đổi một số thập phân thành hex, hãy làm theo các bước dưới đây:
Đầu tiên, chia số thập phân cho 16, coi số đó là số nguyên.
Để phần còn lại sang một bên.
Một lần nữa chia thương số cho 16 và lặp lại cho đến khi bạn nhận được giá trị thương số bằng 0.
Bây giờ lấy các giá trị của phần dư còn lại theo thứ tự ngược lại để có được các số thập lục phân.
TÌM HIỂU VỀ CPU
CPU là gì ?
- Bộ xử lý trung tâm (CPU) là thành phần phần cứng đóng vai trò là đơn vị điện toán cốt lõi trong máy chủ Máy chủ và các thiết bị thông minh khác chuyển đổi dữ liệu thành tín hiệu số và thực hiện các phép toán trên đó CPU là thành phần chính xử lý các tín hiệu và giúp hoạt động điện toán trở nên khả thi CPU hoạt động như bộ não của bất kỳ thiết bị máy tính nào CPU tìm nạp hướng dẫn từ bộ nhớ, thực hiện các tác vụ cần thiết và gửi kết quả trở lại bộ nhớ CPU xử lý tất cả các tác vụ điện toán cần thiết để chạy hệ điều hành và các ứng dụng.
-Bộ xử lý trung tâm CPU gồm có 3 bộ phận chính:
Bộ điều khiển (CU) đóng vai trò xử lý các lệnh của chương trình và giải thích những lệnh đó Bên cạnh đó, nó cũng điều khiển hoạt động xử lý hệ thống Hoạt động xử lý này được hệ thống xung nhịp đồng hồ điều chỉnh một cách chính xác.
Khối tính toán ALU (Arithmetic Logic Unit): Có chức năng thực hiện các lệnh của đơn vị điều khiển và xử lý tín hiệu
Các thanh ghi (Registers): ó nhiệm vụ ghi mã lệnh trước khi xử lý và ghi kết quả sau khi xử lý.
-CPU hiện nay có nhiều kiến trúc khác nhau, nhưng phổ biến và chuẩn mực vẫn là 32-bit và 64-bit Có 2 loại CPU phổ biến đó chính là AMD và Intel
CÔNG NGHỆ CPU
- Các bộ vi xử lý kết hợp toàn bộ CPU trên một chip IC duy nhất, giúp con người dễ tiếp cận với máy tính hơn và dẫn đến sự phát triển của máy tính cá nhân Ban đầu, CPU có thể xử lý 16 đến 32 bit dữ liệu cùng một lúc Vào đầu những năm 2000, CPU 64 bit xuất hiện, cho phép địa chỉ hóa bộ nhớ lớn hơn và hỗ trợ xử lý dữ liệu chuyên sâu hơn.
- Khi mật độ bóng bán dẫn tăng lên, việc nâng cao hiệu năng CPU lõi đơn trở nên khó khăn hơn Thay vào đó, các nhà sản xuất CPU bắt đầu sử dụng kiến trúc bộ xử lý đa lõi để tích hợp nhiều lõi vào một chip duy nhất.
3.2.3 Bộ xử lý hiện đại
- Với sự gia tăng của các thiết bị di động, hiệu quả sử dụng năng lượng dần trở nên quan trọng Các nhà sản xuất CPU hiện đang phát triển CPU tiết kiệm năng lượng và tiêu thụ ít năng lượng cho các thiết bị di động hiện đại như điện thoại thông minh và máy tính bảng.
- Khi trí tuệ nhân tạo (AI) và các tác vụ yêu cầu cao về đồ họa trở nên phổ biến hơn, các CPU chuyên dụng như bộ xử lý đồ họa (GPU) và bộ tăng tốc AI hiện được đưa vào sử dụng để xử lý khối lượng công việc.
- Hoạt động nghiên cứu và phát triển không ngừng trong công nghệ nano và khoa học vật liệu đã mở đường cho các bóng bán dẫn siêu nhỏ và CPU mạnh hơn Công nghệ điện toán lượng tử và các công nghệ mới nổi khác cũng chứa nhiều tiềm năng để phát triển hơn nữa công nghệ xử lý máy tính.
NHỮNG THÀNH PHẦN CỦA CPU
-Bộ điều khiển quản lý hoạt động xử lý lệnh và điều phối luồng dữ liệu trong CPU và giữa các thành phần máy tính khác Bộ phận này có một thành phần giải mã lệnh có nhiệm vụ diễn giải các lệnh được tìm nạp từ bộ nhớ và chuyển đổi chúng thành các hoạt động vi mô mà CPU có thể chạy Bộ điều khiển chỉ đạo các thành phần CPU khác để thực hiện các hoạt động cần thiết.
Thanh ghi là bộ nhớ tốc độ cao, kích thước nhỏ nằm trong CPU, lưu trữ dữ liệu đang được xử lý và cho phép truy cập nhanh chóng vào dữ liệu Chúng có nhiều loại khác nhau, bao gồm:
Thanh ghi thông dụng chứa dữ liệu hoạt động
Thanh ghi lệnh chứa lệnh hiện tại đang được xử lý
Một bộ đếm chương trình chứa địa chỉ bộ nhớ của lệnh tiếp theo sẽ được tìm nạp
-Thanh ghi cung cấp thời gian truy cập nhanh hơn các mức bộ nhớ khác như RAM hoặc bộ nhớ đệm.
- Thanh ALU trong CPU thực hiện một loạt các phép tính số học và logic cơ bản ALU (Arithmetic Logic Unit) có nhiệm vụ thực hiện các phép tính như cộng, trừ, nhân, chia cũng như các phép toán logic như AND, OR, NOT.
- Nó là một phần quan trọng của CPU và được sử dụng để thực hiện các phép tính theo yêu cầu của chương trình Kết quả của các phép tính này được trả về cho bộ điều khiển hoặc bộ nhớ để được sử dụng trong các phần khác của hệ thống.
- Thanh ALU thường được thiết kế để thực hiện một số lượng giới hạn các phép toán, tùy thuộc vào kiến trúc cụ thể của CPU Đôi khi, ALU có thể được mở rộng hoặc cải tiến để hỗ trợ nhiều phép toán hoặc tối ưu hiệu suất.
3.3.4 Đơn vị quản lý bộ nhớ
- Tùy thuộc vào kiến trúc CPU, có thể có một đơn vị giao diện bus riêng biệt hoặc đơn vị quản lý bộ nhớ Các thành phần này xử lý các tác vụ liên quan đến bộ nhớ, chẳng hạn như quản lý tương tác giữa CPU và RAM Đơn vị này cũng xử lý bộ nhớ đệm – một đơn vị bộ nhớ nhỏ tốc độ cao nằm trong CPU – và bộ nhớ ảo mà CPU yêu cầu để xử lý dữ liệu.
CPU hoạt động dựa trên tín hiệu từ đồng hồ để đồng bộ hóa các hoạt động bên trong Đồng hồ này phát ra xung nhịp ổn định với tần số nhất định, giúp phối hợp các tác vụ của CPU Tốc độ xung nhịp đo bằng hertz (Hz), cho biết số lệnh CPU có thể thực hiện trong một giây CPU hiện đại sở hữu tốc độ xung nhịp linh hoạt, tự điều chỉnh dựa trên khối lượng công việc để cân bằng hiệu suất và tiết kiệm điện năng.
- Bộ điều khiển (Control Unit - CU) trong CPU chịu trách nhiệm chủ yếu về việc xử lý các lệnh từ chương trình và điều khiển hoạt động của các phần khác trong CPU Nó cũng đảm bảo rằng các hoạt động này diễn ra theo thứ tự chính xác được định bởi xung nhịp đồng hồ hệ thống.
- Công việc chính của CU bao gồm:
Lấy lệnh: Nhận lệnh từ bộ nhớ (RAM) hoặc bộ nhớ cache.
Dịch lệnh: Phiên dịch lệnh thành các tín hiệu và hoạt động cụ thể mà các phần còn lại của CPU có thể hiểu và thực hiện.
Thực hiện điều khiển: Chỉ đạo các phần khác của CPU (bao gồm ALU, bộ nhớ, các bộ ghi/đọc dữ liệu) để thực hiện các hoạt động cần thiết theo lệnh đã được xử lý.
Đồng bộ hóa đóng vai trò quan trọng trong xử lý dữ liệu bằng cách đảm bảo các hoạt động diễn ra theo đúng thứ tự, tránh xung đột và lỗi Điều chỉnh cũng đóng góp không kém bằng cách đảm bảo rằng các hoạt động diễn ra hài hòa với xung nhịp của hệ thống, cho phép xử lý trơn tru và hiệu quả.
CÁCH HOẠT ĐỘNG CỦA CPU
- Bộ xử lý máy tính làm việc với các thành phần phần cứng và chương trình phần mềm khác để xử lý dữ liệu và quản lý luồng thông tin trong các thiết bị điện tử
Chúng thường hoạt động theo chu trình, với mỗi chu trình lệnh tương ứng với ba bước chính.
3.4.1 Chu trình bộ xử lý lõi a) Tìm nạp lệnh
+)CPU tìm nạp các lệnh từ bộ nhớ Các lệnh ở dạng mã nhị phân tương ứng với các tác vụ hoặc thao tác cụ thể cho CPU Bộ phận điều khiển diễn giải các lệnh và xác định thao tác sẽ được thực hiện Bộ phận này cũng xác định các thành phần CPU cụ thể cần thiết cho tác vụ. b) Xử lý lệnh
CPU thực hiện thao tác cụ thể trên dữ liệu đã được tìm nạp CPU thực hiện các phép tính toán học, so sánh logic, thao tác dữ liệu hoặc truyền dữ liệu giữa các thanh ghi hoặc vị trí bộ nhớ. c) Lưu trữ kết quả
Sau khi thực hiện các lệnh, CPU có thể cần lưu trữ kết quả trong bộ nhớ hoặc cập nhật dữ liệu mới vào các thanh ghi cụ thể Bộ đếm chương trình (PC) được cập nhật để trỏ đến địa chỉ của lệnh sẽ được tìm nạp tiếp theo CPU lặp lại chu trình và tìm nạp, giải mã và thực hiện các lệnh một cách tuần tự.
3.4.2 Các chức năng bộ xử lý bổ sung
- CPU cũng có thể xử lý các lệnh luồng điều khiển như nhảy, rẽ nhánh và ngắt, tín hiệu được các thiết bị bên ngoài tạo ra hoặc các sự kiện đòi hỏi sự chú ý ngay lập tức Khi có một lệnh ngắt, CPU tạm thời đình chỉ tác vụ hiện tại, lưu trạng thái tác vụ và nhảy sang một quy trình dịch vụ ngắt Sau khi xử lý xong lệnh ngắt, CPU sẽ tiếp tục tác vụ trước đó.
- Các CPU hiện đại thường sử dụng các kỹ thuật như tính song song và tạo quy trình lệnh để nâng cao hiệu năng Nhiều lệnh có thể cùng lúc nằm trong các giai đoạn chu trình khác nhau, điều này cho phép sử dụng tài nguyên CPU một cách hiệu quả hơn.
TRÌNH HỢP NGỮ EMU 8086
Giới thiệu về hợp ngữ
- Hợp ngữ (Assembly) là một ngôn ngữ lập trình cấp thấp, thực tế là nó là một dạng kí hiệu hoặc gợi nhớ của ngôn ngữ máy
Để giúp viết code dễ hiểu hơn, các nhà thiết kế đã tạo ra bộ lệnh hợp ngữ gần gũi với ngôn ngữ tự nhiên hơn Mặc dù vậy, lệnh ngôn ngữ máy vẫn là chuỗi số 0 và 1, khiến việc đọc hiểu chúng trở nên khó khăn Lập trình hợp ngữ giúp kết nối chặt chẽ với phần cứng máy tính, từ đó hỗ trợ chúng ta hiểu rõ hơn về cấu trúc và cách hoạt động của hệ thống.
Ngoài ra, tìm hiểu và lập trình trên hợp ngữ cho phép chúng ta thấy rõ ràng mối quan hệ giữa các thành phần chức năng bên trong máy tính và hệ điều hành Ngược lại, quá trình này giúp chúng ta hiểu sâu hơn về kiến trúc máy tính, cách thức tổ chức hoạt động bên trong máy tính và hệ điều hành.
-Trong giới hạn của tài liệu này chúng ta chỉ tìm hiểu tập lệnh hợp ngữ của các vi xử lý họ Intel 8088/8086, để lập trình chạy trên các máy IBM-PC: Sử dụng họ vi xử lý này và hoạt động trong sự phối hợp với hệ điều hành MS_DOS.
- Một trong những đặc điểm của hợp ngữ là chương trình viết trên nó có kích thước nhỏ hơn và tốc độ nạp thực hiện chương trình nhanh hơn so với viết (chương trình cùng chức năng) trên các ngôn ngữ lập trình bậc cao
-Ngoài ra, hầu hết các ngôn ngữ lập trình bậc cao hiện nay đều cho phép viết (