Tải bản đầy đủ (.pdf) (20 trang)

Bài giảng Kiến trúc máy tính và hợp ngữ - Chương 5: Bộ xử lý trung tâm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.5 MB, 20 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

CH

ƯƠ

NG 5: B  x  lý trung tâm 

ộ ử



(CPU)



Ki N TR C MÁY TÍNH VÀ 



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

CPU



2


5.2.1. Cấu trúc cơ bản của CPU


5.2.2. Tập lệnh



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

5.2.1. C u trúc c  b n c a CPU

ơ ả



3


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

1. Đ n v  đi u khi n (CU)

ơ

ị ề



4


Chức năng:



 Điều khiển nhận lệnh từ bộ nhớ đưa vào


thanh ghi lệnh (IR) và tăng nội dung của PC
để trỏ sang lệnh kế tiếp.


 Giải mã lệnh nằm trong thanh ghi lệnh để


xác định thao tác cần thực hiện và phát ra


tín hiệu điều khiển thực hiện lệnh đó.


 Nhận tín hiệu u cầu từ bus hệ thống và


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

Đ n v  đi u khi n (ti p)

ơ

ị ề

ế



5


Mơ hình kết nối của đơn vị điều khiển:



</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

Đ n v  đi u khi n – Control Unit(ti p)

ơ

ị ề

ế



6


Các tín hiệu đưa đến Control Unit:



 Mã lệnh từ thanh ghi lệnh đưa đến để giải




 Các cờ từ thanh ghi cờ cho biết trạng thái


của CPU


 Xung clock từ bộ tạo xung bên ngoài cung


cấp cho đơn vị điều khiển làm việc


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

Đ n v  đi u khi n Control Unit (ti p)

ơ

ị ề

ế




7


Các tín hiệu phát ra từ đơn vị điều khiển:



 Các tín hiệu điều khiển bên trong CPU:


 Điều khiển các thanh ghi


 Điều khiển hoạt động của ALU


 Các tín hiệu điều khiển bên ngồi CPU:


 Điều khiển bộ nhớ chính


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

2. Đ n v  s  h c và logic (ALU) 

ơ

ị ố ọ



8


Chức năng: Thực hiện các phép toán số



học và các phép toán logic.



 Số học: cộng, trừ, nhân, chia, tăng, giảm,


đảo dấu, …


 Logic: AND, OR, XOR, NOT, các phép dịch


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

Đ n v  s  h c và logic (ti p) 

ơ

ị ố ọ

ế




9


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

Mơ hình k t n i c a ALU 4 bit

ế ố ủ



</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

Mơ hình k t n i c a ALU 16 bit

ế ố ủ



</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

3. T p thanh ghi (RF)



12


a. Chức năng và phân loại



</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

a. Ch c năng và phân lo i



13


Chức năng:



 Là tập hợp các thanh ghi nằm trong CPU


 Chứa các thông tin tạm thời phục vụ cho


hoạt động hiện tại của CPU.


Phân loại tập thanh ghi



 Phân loại theo khả năng can thiệp của


người lập trình:



 Các thanh ghi khơng lập trình được: người lập


trình khơng can thiệp được


 Các thanh ghi lập trình được: người lập trình


can thiệp được


 Phân loại theo chức năng:


 Thanh ghi địa chỉ: quản lý địa chỉ của ngăn nhớ


hay cổng vào-ra


 Thanh ghi dữ liệu: chứa các dữ liệu tạm thời


hoặc kết quả trung gian phục vụ cho việc xử lý
dữ liệu của CPU


 Thanh ghi điều khiển và trạng thái: chứa các


thông tin điều khiển và trạng thái của CPU


 Thanh ghi lệnh: chứa lệnh đang được thực hiện
 Thanh ghi đa năng: có thể chứa địa chỉ hoặc dữ


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

b. M t s  thanh ghi đi n hình

ộ ố



14



Các thanh ghi địa chỉ



 Bộ đếm chương trình (Program Counter –


PC)


 Con trỏ dữ liệu (Data Pointer – DP)


 Con trỏ ngăn xếp (Stack Pointer – SP)


 Thanh ghi cơ sở và thanh ghi chỉ số (Base


Register & Index Register)


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

Các vùng nh  c  b n c a CT

ớ ơ ả



15


Chương trình đang thực hiện phải nằm



trong bộ nhớ chính và nó chiếm 3 vùng


nhớ cơ bản sau:



 Vùng nhớ lệnh (Code): chứa các lệnh của


chương trình.


 Vùng dữ liệu (Data): chứa dữ liệu của


chương trình. Thực chất đây là nơi cấp phát


các ngăn nhớ cho các biến nhớ.


 Vùng ngăn xếp (Stack): là vùng nhớ có cấu


trúc LIFO (Last In First Out) dùng để cất giữ
thơng tin và sau đó có thể khơi phục lại.


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

Ví d  minh h a th c thi m t ch

ươ

ng trình 



</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

B  đ m ch

ộ ế

ươ

ng trình (PC)



17


Cịn gọi là con trỏ lệnh (Instruction



Pointer - IP)



 Là thanh ghi chứa địa chỉ của lệnh tiếp theo


sẽ được nhận vào.


 Sau khi một lệnh được nhận vào thì nội


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

Minh h a ho t đ ng c a PC

ạ ộ



</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

Thanh ghi con tr  d  li u (DP)

ỏ ữ ệ



19


Chứa địa chỉ của ngăn nhớ dữ liệu mà




CPU muốn truy cập.



Thường có một số thanh ghi con trỏ dữ



</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

Minh h a ho t đ ng c a DP

ạ ộ



</div>

<!--links-->

×