Sơ đồ Thanh ghi Đoạn
Sơ đồ Thanh ghi Đoạn

Tổ chức Register của 8086

Register là các khối lưu trữ tạm thời trong bộ vi xử lý. Chúng lưu trữ thông tin quan trọng trong khi bộ vi xử lý xử lý nó. Có thể hình dung register như những chiếc hộp nhỏ nơi bộ vi xử lý lưu giữ những thứ cần sử dụng ngay lập tức.

Bộ vi xử lý 8086 có các register được phân loại thành bốn loại sau:

  • Thanh ghi đa năng (General Purpose Registers)
  • Thanh ghi đoạn (Segment Registers)
  • Thanh ghi mục đích đặc biệt (Special Purpose Registers)
  • Thanh ghi cờ (Flag Registers)

Thanh ghi đa năng

Các thanh ghi đa năng nằm trong đơn vị thực thi của bộ vi xử lý 8086. Đây là những thanh ghi linh hoạt có thể được sử dụng cho nhiều tác vụ khác nhau, chẳng hạn như lưu trữ số để tính toán hoặc giữ địa chỉ bộ nhớ để truy cập dữ liệu. Mỗi thanh ghi phục vụ một mục đích cụ thể, hỗ trợ bộ vi xử lý trong các loại tác vụ khác nhau.

Một thanh ghi đa năng chứa tám thanh ghi là AH, AL, BH, BL, CH, CL, DH, DL, mỗi thanh ghi mang dữ liệu 8 bit. Nó được sử dụng để lưu trữ tạm thời. Khi cần lưu trữ dữ liệu lớn hơn 8 bit, các thanh ghi này được sử dụng theo cặp là AX, BX, CX, DX, do đó tăng gấp đôi khả năng lưu trữ của chúng. Các cặp thanh ghi này có thể chứa tối đa 16 bit dữ liệu.

Chức năng của từng thanh ghi đa năng được nêu dưới đây:

  • Thanh ghi tích lũy (AX): Khi ALU thực hiện các phép toán số học và logic, thanh ghi tích lũy lưu trữ các toán hạng của các phép toán đó.
  • Thanh ghi cơ sở (BX): Thanh ghi cơ sở được sử dụng để giữ địa chỉ cơ sở của vị trí bộ nhớ để đọc và ghi dữ liệu vào bộ nhớ.
  • Thanh ghi đếm (CX): Thanh ghi đếm được sử dụng để giữ dữ liệu 8 bit trong các lệnh xoay và dịch chuyển. Nó cũng được sử dụng để lưu trữ bộ đếm vòng lặp trong các lệnh vòng lặp.
  • Thanh ghi dữ liệu (DX): Trong các phép nhân và chia, nếu kết quả là 32 bit, thì 16 bit từ MSB được lưu trữ trong thanh ghi DX và các bit từ LSB được lưu trữ trong thanh ghi AX. Thanh ghi này cũng được sử dụng để giữ địa chỉ và lệnh cho I/O.

Thanh ghi đoạn

Đơn vị giao diện bus (BIU) của bộ vi xử lý 8086 sử dụng thanh ghi đoạn. Các thanh ghi đoạn chịu trách nhiệm quản lý truy cập bộ nhớ. Vì bộ nhớ máy tính được phân đoạn, các thanh ghi đoạn theo dõi vị trí bộ nhớ của từng đoạn. Các thanh ghi đoạn chứa bốn thanh ghi 16 bit là: Đoạn mã (CS), Đoạn dữ liệu (DS), Đoạn ngăn xếp (SS) và Đoạn mở rộng (ES). Các thanh ghi này được sử dụng để giữ 16 bit của địa chỉ bắt đầu. Mỗi thanh ghi đoạn giữ địa chỉ bắt đầu của đoạn bộ nhớ tương ứng, cho phép bộ vi xử lý nhanh chóng định vị và truy cập dữ liệu cần thiết trong quá trình thực thi chương trình.

Chức năng của từng thanh ghi đoạn được nêu dưới đây:

  • Đoạn mã (CS): Thanh ghi này được sử dụng để lưu trữ địa chỉ của bộ nhớ trong đó chương trình sẽ được thực thi được lưu trữ.
  • Đoạn dữ liệu (DS): Nó được sử dụng để lưu trữ dữ liệu mà chương trình thường xuyên sử dụng. Nó cũng lưu trữ địa chỉ offset hoặc dữ liệu của thanh ghi chứa địa chỉ offset.
  • Đoạn ngăn xếp (SS): Nó được sử dụng để lưu trữ địa chỉ cũng như dữ liệu trong bộ nhớ trong khi chương trình con đang thực thi.
  • Đoạn mở rộng (ES): Thanh ghi này được sử dụng để giữ dữ liệu bổ sung bằng cách cung cấp đoạn dữ liệu bổ sung trong bộ nhớ.

Thanh ghi mục đích đặc biệt

Các thanh ghi chỉ mục và con trỏ được gọi chung là thanh ghi mục đích đặc biệt. Đây là các thanh ghi 16 bit được sử dụng làm con trỏ bộ nhớ và các thanh ghi này tạo ra địa chỉ vật lý 20 bit. Có năm thanh ghi mục đích đặc biệt 16 bit là: Con trỏ ngăn xếp (SP), Con trỏ cơ sở (BP), Chỉ mục nguồn (SI), Chỉ mục đích (DI) và Con trỏ lệnh (IP).

Chức năng của từng thanh ghi mục đích đặc biệt được nêu dưới đây:

  • Con trỏ ngăn xếp (SP): Thanh ghi Con trỏ ngăn xếp được sử dụng để giữ địa chỉ trên cùng của bộ nhớ ngăn xếp, tức là nó lưu trữ địa chỉ của vị trí bộ nhớ mà dữ liệu được lưu trữ gần đây nhất.
  • Con trỏ cơ sở (BP): Nó được sử dụng để lưu trữ địa chỉ cơ sở của bộ nhớ.
  • Chỉ mục nguồn (SI): Nó là một con trỏ bộ nhớ được sử dụng để lưu trữ địa chỉ offset của nguồn.
  • Chỉ mục đích (DI): Nó là một con trỏ bộ nhớ được sử dụng để lưu trữ địa chỉ offset của đích.
  • Con trỏ lệnh (IP): Thanh ghi này được sử dụng để giữ địa chỉ của lệnh tiếp theo sẽ được thực thi.

Thanh ghi cờ

Thanh ghi cờ còn được gọi là thanh ghi trạng thái. Nó là một thanh ghi 16 bit là một tập hợp các flip-flop. Có chín cờ trong thanh ghi này.

Thanh ghi cờ được phân loại thành hai loại: cờ điều kiện và cờ điều khiển. Cờ điều kiện lưu giữ kết quả của các phép toán số học và logic, bao gồm cờ nhớ (CF), cờ nhớ phụ (AF), cờ chẵn lẻ (PF), cờ zero (ZF), cờ dấu (SF) và cờ tràn (OF). Cờ điều khiển được sử dụng để điều khiển các hoạt động cụ thể của bộ xử lý, bao gồm cờ bẫy (TF), cờ ngắt (IF) và cờ hướng (DF). Mỗi cờ này có một chức năng riêng biệt trong việc phản ánh trạng thái của bộ xử lý và điều khiển luồng thực thi chương trình.

Comments

No comments yet. Why don’t you start the discussion?

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *