Khối Các Thanh Ghi : Là Phần Tử Nhớ Tạm Thời Trong Bộ Xử Lý Trung Tâm, Dùng Để Lưu Dữ Liệu Và Địa Chỉ Nhớ Trong Máy Khi Đang Thực Hiện Tác Vụ Với

dạng hợp ngữ (phụ thuộc kiến trúc phần mềm). Một chương trình dịch hợp ngữ (Assembler) chuyển đổi một chương trình viết bằng hợp ngữ (Assembly Language) sang ngôn ngữ máy để máy tính có thể thực hiện được chương trình đó .

Hình 2 15 Mô tả quá trình chuyển đổi từ ngôn ngữ cấp cao sang ngôn ngữ máy 1

Hình 2. 15. Mô tả quá trình chuyển đổi từ ngôn ngữ cấp cao sang ngôn ngữ máy Trước đây, kỹ thuật chế tạo các bộ xử lý còn kém, việc quyết định một kiến trúc

phần mềm nào đó cho một bộ xử lý nhằm giúp ích cho lập trình bằng hợp ngữ. Người ta đã cố gắng tách kiến trúc phần mềm của bộ xử lý ra khỏi việc thực hiện các chương trình dịch hữu hiệu. Nhưng dần dần, với sự tiến bộ trong công nghệ chế tạo máy tính, người ta bắt đầu nghĩ tới thiết kế các kiến trúc phần mềm làm giảm nhẹ các công việc của chương trình dịch của những ngôn ngữ cấp cao. Trong những năm 1970, người ta đã cố gắng giảm bớt chi phí phát triển phần mềm bằng cách thiết kế các kiến trúc bộ xử lý có những chức năng mà những bộ xử lý trước đó phải dùng một phần mềm để thực hiện. Do vậy các kiến trúc phần mềm mạnh như kiến trúc phần mềm của máy VAX, đã được thực hiện. Máy VAX có nhiều kiểu định vị và một tập lệnh phong phú có thể sử dụng nhiều kiểu dữ liệu. Tuy nhiên, vào đầu những năm 1980, với sự tiến bộ của công nghệ viết các chương trình dịch, người ta đã xem xét lại các kiến trúc phần mềm phức tạp và có chuyển hướng chế tạo các kiến trúc phần mềm đơn giản và hữu hiệu. Chính vì vậy mà các máy tính dùng bộ xử lý kiểu RISC (Reduced Instruction Set Computer) đã ra đời. Với những tiến bộ không ngừng của công nghệ chế tạo máy tính, của công nghệ viết chương trình dịch và của công nghệ lập trình, người ta đang tiến tới chế tạo các kiến trúc phần mềm hấp dẫn hơn trong tương lai.

CÂU HỎI ÔN TẬP CHƯƠNG 2

Câu 1:

Trình bày ưu và nhược điểm của các kiểu kiến trúc ngăn xếp, thanh ghi tích lũy, thanh ghi đa dụng.

Câu 2:

Trong các lệnh hợp ngữ, vị trí toán hạng có những kiểu cơ bản nào? Nêu đặc điểm chính của kiểu kiến trúc thanh ghi đa dụng.

Câu 3:

Có thể bạn quan tâm!

Xem toàn bộ 233 trang tài liệu này.

Nêu cú pháptổng quát của lệnh hợp ngữ. Giải thích các thành phần trong lệnh hợp ngữ và cho ví dụ minh họa.

Câu 4:

Trình bày các kiểu định vị của một bộ xử lý có kiến trúc phần mềm kiểu thanh ghi đa dụng.

Câu 5:

Nêu các tính chất, ưu và nhược điểm của kiến trúc RISC.

Câu 6:

Nêu đặc điểm của ngôn ngữ cấp cao và mô tả quá trình chuyển đổi từ ngôn ngữ cấp cao sang ngôn ngữ máy.

Câu 7:

Cho các lệnh sau:

Add R1,R2 Add R1, @ (R2)

Add R1, (1011) Add R4, #5

Add R4, (R1) Add R4, 200(R1) Add R1, 200(R2)[R3] M[R2+200+d*R3]

Hãy chỉ ra kiểu định vị của các câu lệnh trên và giải thích các câu lệnh.

Câu 8:

Hãy giải thích chuỗi lệnh sau:

1. CMP R4, R1, R2

2. BGT R4, +2

3. ADD R3, R0, R2

4. BRA +1

5. ADD R3, R0, R1

Câu 9:

Cho chuỗi lệnh sau:

1. CMP R4, R1, R2

2. BGT R4, +2

3. ADD R3, R0, R2

4. BRA +1

5. ADD R3, R0, R1

6. Lệnh kế

Cho biết chuỗi lệnh trên thực hiện công việc gì? Nêu nhược điểm khi thực hiện chuỗi lệnh này. Sau đó, sử dụng lệnh di chuyển có điều kiện để viết lại chuỗi lệnh trên. Câu 10:

a) Cho biết các lệnh bộ nhớ.

b) Cho biết các chuỗi lệnh sau thực hiện công việc gì?

ADDI R30, R30, 4


LOAD R31,


R30

STORE R31,

JMPL Ri

R30

SUBI R30, R30, 4

JMP R31

Câu 11:

a) Nêu các lệnh tính toán số học và các lệnh logic.

b) Cho cáclệnh sau đây: Add R3, (R1 + R2) Add R1, 100(R2)[R3] Add R1, (R2)+

Hãy chỉ ra kiểu định vị của các lệnh trên và giải thích các lệnh.

Câu 12:

Hãy viết lệnh thực hiện công việc ghi dữ liệu vào ngăn xếp PUSH và lệnh lấy ra khỏi ngăn xếp POP trong các bộ xử lý thông thường và trong các bộ xử lý RISC.

CHƯƠNG 3: TỔ CHỨC BỘ XỬ LÝ TRUNG TÂM CPU

3.1. Cấu trúc và hoạt động của CPU

3.1.1. Cấu trúc của CPU

CPU (Central Processing Unit): đơn vị xử lí trung tâm hay bộ xử lý trung tâm, là một mạch mạch tích hợp phức tạp gồm hàng triệu transistor có nhiệm vụ xử lý dữ liệu theo chương trình được thiết lập trước. CPU có thể được xem như não bộ, một trong những phần tử cốt lòi nhất của máy vi tính.

CPU liên hệ với các thiết bị khác qua Mainboard và hệ thống cáp của thiết bị. CPU giao tiếp trực tiếp với bộ nhớ RAM và ROM, còn các thiết bị khác được thông qua một vùng nhớ (địa chỉ vào/ ra) và một ngắt thường gọi chung là cổng.

Hai nhà sản xuất CPU lớn hiện nay là Intel và AMD.

Hình 3 1 Hình ảnh CPU của hãng Intel và hãng AMD Intel là một trong các hãng sản 2Hình 3 1 Hình ảnh CPU của hãng Intel và hãng AMD Intel là một trong các hãng sản 3

Hình 3. 1. Hình ảnh CPU của hãng Intel và hãng AMD

Intel là một trong các hãng sản suất CPU lớn nhất trên thế giới. Sự ra đời và phát triển của CPU từ năm 1971 cho đến nay hãng Intel: CPU 4004, CPU 8088, CPU 80286, CPU 80386, CPU 80486, CPU 80586,..... Core i3, i5, i7 tương ứng với công nghệ và chiến lược phát triển kinh doanh của hãng. Tóm tắt qua sơ đồ mô tả:

Hình 3 2 Lịch sử phát triển của CPU của Intel Cấu tạo của CPU CPU có các 4

Hình 3. 2. Lịch sử phát triển của CPU của Intel

Cấu tạo của CPU

CPU có các khối chính là:

Khối các thanh ghi (Registers): Nơi chứa các lệnh và dữ liệu tạm thời trong quá trình CPU xử lý.

Khối điều khiển CU (Control Unit): Khối này chuyên tạo ra các lệnh điều khiển như điều khiển ghi hay đọc ...

Khối số học và logic ALU (Arithmetic Logic Unit): Khối này thực hiện các phép tính số học và logic cơ bản trên cơ sở các dữ liệu.

Sau đây, chúng ta sẽ tìm hiểu chi tiết các khối chính trong CPU.

Hình 3 3 Cấu tạo của CPU 1 Khối các thanh ghi là phần tử nhớ tạm thời 5

Hình 3. 3. Cấu tạo của CPU

1. Khối các thanh ghi: là phần tử nhớ tạm thời trong bộ xử lý trung tâm, dùng để lưu dữ liệu và địa chỉ nhớ trong máy khi đang thực hiện tác vụ với chúng. Đặc điểm chính của các thanh ghi:

- Lưu trữ tạm thời lệnh và dữ liệu cho CPU xử lý.

- Dung lượng nhỏ, số lượng ít.

- Tốc độ rất cao (bằng tốc độ CPU).

- Các loại thanh ghi chính bao gồm:

IR: (Instruction Register): Thanh ghi lệnh. PC: (Program Counter): Bộ đếm chương trình.

MAR: (Memory Address Register): Thanh ghi địa chỉ bộ nhớ. MBR: (Memory Buffer Register): Thanh ghi nhớ đệm.

A: (Accumulator Register): Thanh ghi tích lũy. Y, Z: (Temporary Register): Thanh ghi tạm thời. FR: (Flag Register): Thanh ghi cờ.

Các CPU thế hệ cũ (80x86) có 16–32 thanh ghi.

CPU thế hệ mới (Intel Pentium IV, Core2 Duo…) có hàng trăm thanh ghi Kích thước thanh ghi phụ thuộc vào thiết kế CPU: 8, 16, 32, 64, 128 và 256 bit

+ 8086 và 80286: 8 và 16 bit

+ 80386, Pentium II: 16 – 32 bit

+ Pentium IV, Core Duo: 32, 64 và 128 bit


64 bit.

Thanh ghi tích lũy A

- Là một trong những thanh ghi quan trọng nhất của CPU có chức năng sau:

+ Lưu trữ các toán hạng đầu vào

+ Lưu kết quả đầu ra

- Kích thước của thanh ghi A tương ứng với độ dài từ xử lý của CPU: 8, 16, 32,


- Thanh ghi A cũng được sử dụng để trao đổi dữ liệu với các thiết bị vào ra

- Ví dụ: thực hiện phép tính x + y -> s

+ Toán hạng x được đưa vào thanh ghi A

+ Toán hạng y được đưa vào thanh ghi Y

+ ALU thực hiện phép cộng A+Y , kết quả được lưu vào Z

+ Kết quả sau đó lại đươc đưa vào A

Bộ đếm chương trình PC

- PC (Program Counter hay Instruction Pointer) lưu địa chỉ bộ nhớ của lệnh tiếp theo.

- PC chứa địa chỉ ô nhớ chứa lệnh đầu tiên của chương trình khi nó được kích

hoạt và được tải vào bộ nhớ.

- Sau khi CPU chạy xong 1 lệnh, địa chỉ ô nhớ chứa lệnh tiếp theo được tải vào PC.

- Kích thước của PC phụ thuộc vào thiết kế CPU: 8, 16, 32, 64 bit.

Thanh ghi trạng thái FR

- Mỗi bit của thanh ghi cờ lưu trữ trạng thái kết quả phép tính được ALU thực hiện.

- Có 2 kiểu cờ:

+ Cờ trạng thái: CF, OF, AF, ZF, PF, SF

+ Cờ điều khiển: IF, TF, DF

- Các bit cờ thường được dùng là các điều kiện rẽ nhánh lệnh tạo logic chương trình.

- Kích thước FR phụ thuộc thiết kế CPU

- CPU Registers - FR:

Hình 3 4 Các cờ trong thanh ghi FR Trong đó ZF Zero Flag ZF 1 nếu kết quả 0 6

Hình 3. 4. Các cờ trong thanh ghi FR

Trong đó:

+ ZF: Zero Flag, ZF= 1 nếu kết quả = 0 và ZF= 0 nếu kết quả <>0.

+ SF: Sign Flag, SF=1 nếu kết quả âm và SF=0 nếu kết quả dương.

+ CF: Carry Flag, CF=1 nếu có nhớ/ mượn ở bit trái nhất.

+ AF: Auxiliary Flag, AF=1 nếu có nhớ ở bit trái nhất của nibble.

+ OF: Overflow Flag, OF=1 nếu có tràn, ngược lại OF= 0.

+ PF: Parity Flag, PF=1 nếu tổng số bit 1 trong kết quả là số lẻ, ngược lại PF=0.

+ IF: Interrupt Flag, IF=1: ngắt được phép, IF=0: cấm ngắt.

Hình 3 5 Ví dụ thanh ghi trạng thái của 8086 Con trỏ ngăn xếp SP Ngăn xếp là 7

Hình 3. 5. Ví dụ thanh ghi trạng thái của 8086

Con trỏ ngăn xếp SP

- Ngăn xếp là một đoạn bộ nhớ đặc biệt hoạt động theo nguyên tắc vào sau ra trước (LIFO).

- Con trỏ ngăn xếp là thanh ghi luôn trỏ tới đỉnh của ngăn xếp. Có 2 thao tác với ngăn xếp:

+ Push: đẩy dữ liệu vào ngăn xếp. SP SP+ 1

{SP} Data

+ Pop: lấy dữ liệu ra khỏi ngăn xếp Register {SP}

SP SP -1 Hình 3. 6. Ngăn xếp

Các thanh ghi đa dụng (đa năng)

- Có thể sử dụng cho nhiều mục đích như:

+ Lưu các toán hạng đầu vào.

+ Lưu các kết quả đầu ra.

- Ví dụ: CPU 8086 có 4 thanh ghi đa dụng sau:

+ AX: Accumulator Register.

+ BX: Base Register.

+ CX: Counter Register.

+ DX: Data Register.

Thanh ghi lệnh IR

- Lưu trữ lệnh đang được xử lý.

Hình 3. 7. Thanh ghi IR

- IR lấy lệnh từ MBR và chuyển nó tới CU để giải mã lệnh.

Thanh ghi MBR và MAR

- MAR: thanh ghi địa chỉ bộ nhớ.

+ Giao tiếp trung gian giữa CPU và bus địa chỉ.

+ Nhận địa chỉ bộ nhớ của lệnh tiếp theo từ PC và chuyển nó tới bus địa chỉ.

- MBR: thanh ghi đệm bộ nhớ.

+ Giao tiếp trung gian giữa CPU và bus dữ liệu.

+ Nhận lệnh từ bus dữ liệu và chuyển nó tới IR.

Các thanh ghi tạm thời

CPU thường sử dụng một số thanh ghi tạm thời để:

+ Lưu trữ các toán hạng đầu vào.

+ Lưu các kết quả đầu ra.

+ Hỗ trợ xử lý song song (tại một thời điểm chạy nhiều hơn 1 lệnh).

+ Hỗ trợ thực hiện lệnh theo cơ chế thực hiện tiên tiến kiểu không trật tự (OOO

– Out Of Order execution)

2. Khối điều khiển CU

Hình 3 8 Mô hình kết nối CU CU là các vi xử lí có nhiệm vụ thông dịch các 8

Hình 3. 8. Mô hình kết nối CU

CU là các vi xử lí có nhiệm vụ thông dịch các lệnh của chương trình và điều khiển hoạt động xử lí, được điều tiết chính xác bởi xung nhịp đồng hồ hệ thống. Mạch xung nhịp đồng hồ hệ thống dùng để đồng bộ các thao tác xử lí trong và ngoài CPU theo các khoảng thời gian không đổi. Khoảng thời gian chờ giữa hai xung gọi là chu kỳ xung nhịp. Tốc độ theo đó xung nhịp hệ thống tạo ra các xung tín hiệu chuẩn thời gian gọi là tốc độ xung nhịp - tốc độ đồng hồ tính bằng triệu đơn vị mỗi giây - Mhz.

Hình 3 9 Tín hiệu xung nhịp T o là chu kỳ của xung nhịp Mỗi thao tác của bộ 9

Hình 3. 9. Tín hiệu xung nhịp To là chu kỳ của xung nhịp

Mỗi thao tác của bộ xử lý cần k.To xung nhịp ( k N )

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 29/06/2022