1. Trang chủ
  2. » Thể loại khác

Cấu trúc máy tính - BỘ XỬ LÝ TRUNG TÂM (CPU)

68 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bộ Xử Lý Trung Tâm (CPU)
Năm xuất bản 2024
Định dạng
Số trang 68
Dung lượng 464,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đơn vị điều khiển CU Chức năng  Điều khiển nhận lệnh từ bộ nhớ đưa vào thanh ghi lệnh  Tăng nội dung của PC để trỏ sang lệnh kế tiếp  Giải mã lệnh đã được nhận để xác định thao tác m

Trang 1

Cấu trúc máy tính

Chương 3

BỘ XỬ LÝ TRUNG TÂM (CPU)

Trang 2

Nội dung

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

3.2 Tập lệnh

3.3 Hoạt động của CPU

3.4 Các kỹ thuật tiên tiến của bộ xử lý

3.5 Kiến trúc Intel

Trang 3

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

CPU gồm 1 số bộ phận tách biệt :

Bộ điều khiển (Control Unit) lấy lệnh ra từ bộ nhớ và xác định kiểu lệnh.

Bộ luận lý và số học (ALU) thực hiện phép toán số học và logic

Các thanh ghi (Registers) : lưu kết quả tạm thời và các thông tin điều khiển CPU giao tiếp với các bộ phận khác trong máy tính thông qua các tuyến gọi là Bus

Tập các Thanh ghi (RF)

Đơn vị nối ghép bus (BIU)

Bus bên trong Chức năng : thực hiện chương trình lưu trong bộ nhớ chính bằng cách lấy lệnh ra - khảo sát

- thực hiện lần lượt các lệnh.

Trang 4

Đơn vị điều khiển (CU)

 Chức năng

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

 Tăng nội dung của PC để trỏ sang lệnh kế tiếp

 Giải mã lệnh đã được nhận để xác định thao tác mà lệnh yêu cầu

 Phát ra các tín hiệu điều khiển thực hiện lệnh

 Nhận các tín hiệu yêu cầu từ bus

hệ thống và đáp ứng với các yêu cầu đó.

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

Các tín hiệu điều khiển đến bus hệ thống

Trang 5

Đơn vị điều khiển (CU)

 Clock: tín hiệu nhịp từ mạch tạo dao động bên ngoài.

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

 Các cờ từ thanh ghi cờ cho biết trạng thái của CPU.

 Các tín hiệu yêu cầu từ bus đ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 ALU

 Các tín hiệu điều khiển bên ngoài CPU:

Bus điều khiển

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

Các tín hiệu điều khiển đến bus hệ thống

Trang 6

Đơn vị số học và logic

 Chức năng: Thực hiện các phép toán số học và 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, phép dịch bit

Đơn vị

số học và logic (ALU)

Trang 8

Cổng AND

 Dùng thực hiện hàm AND 2 hay nhiều biến

 Cổng AND có số ngã vào tùy thuộc số biến và một ngã ra Ngã ra của cổng là hàm AND của các biến ngã vào

Nhận xét: Ngã ra cổng AND chỉ ở mức cao khi tất cả ngã

vào lên cao

 Khi có một ngã vào = 0, ngã ra = 0 bất chấp các ngã vào còn lại.

 Khi có một ngã vào =1, ngã ra = AND của các ngã vào còn lại.

Trang 9

Cổng OR

 Dùng để thực hiện hàm OR 2 hay nhiều biến

 Cổng OR có số ngã vào tùy thuộc số biến và một ngã ra

Nhận xét: Ngã ra cổng OR chỉ ở mức thấp khi cả 2 ngã vào

xuống thấp

 Khi có một ngã vào =1, ngã ra = 1 bất chấp ngã vào còn lại

 Khi có một ngã vào =0, ngã ra = OR các ngã vào còn lại

Trang 10

Cổng NAND

 Là kết hợp của cổng AND và cổng NOT, thực hiện hàm Y = A.B

 Ký hiệu của cổng NAND (Gồm AND và NOT, cổng NOT thu gọn lại một vòng tròn)

 Tương tự như cổng AND, ở cổng NAND ta có thể dùng 1 ngã vào làm ngã kiểm soát Khi ngã kiểm soát = 1, cổng mở cho phép tín hiệu logic ở ngã vào còn lại qua cổng và bị đảo, khi ngã kiểm soát = 0, cổng đóng, ngã ra luôn bằng 1

 Khi nối tất cả ngã vào của cổng NAND lại với nhau, nó hoạt động như một cổng đảo

Trang 13

Tập thanh ghi

 Chức năng và đặc điểm:

 Chứa các thông tin tạm thời phục vụ cho hoạt động ở thời điểm hiện tại của CPU

 Được coi là mức đầu tiên của hệ thống nhớ

 Số lượng thanh ghi nhiều  tăng hiệu năng của CPU

 Có hai loại thanh ghi:

 Các thanh ghi lập trình được

 Các thanh ghi không lập trình được

Trang 14

Phân loại thanh ghi

Thanh ghi tổng quát : chủ yếu dùng để lưu trữ dữ liệu trong quá trình thực thi CT, nhưng mỗi thanh ghi còn có 1

số chức năng riêng (AX, BX,

CX, DX)Thanh ghi điều khiển : các bit của nó qui định tác vụ của

các đơn vị chức năng của MT Thanh ghi trạng thái : lưu trữ

Trang 15

Một số thanh ghi điển hình

 Các thanh ghi địa chỉ

 Bộ đếm chương trình PC (Program Counter)

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

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

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

Register & Index Register)

 Các thanh ghi dữ liệu

 Thanh ghi trạng thái

Trang 17

Thanh ghi con trỏ dữ liệu

 Chứa địa chỉ của ngăn nhớ

dữ liệu mà CPU muốn truy nhập

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

DP

Dữ liệu

Dữ liệu

Dữ liệu cần đọc/

ghi

Dữ liệu

Dữ liệu

Trang 18

Ngăn xếp (Stack)

 Ngăn xếp là vùng nhớ có cấu trúc LIFO (Last In - First Out)

 Ngăn xếp thường dùng để phục

vụ cho chương trình con

 Đáy ngăn xếp là một ngăn nhớ xác định

 Đỉnh ngăn xếp là thông tin nằm ở

vị trí trên cùng trong ngăn xếp

 Đỉnh ngăn xếp có thể bị thay đổi

Đỉnh ngăn xếp

Đáy Ngăn xếp

Trang 19

Con trỏ ngăn xếp SP (Stack

Pointer)

 Chứa địa chỉ của ngăn nhớ đỉnh ngăn xếp

 Khi cất một thông tin vào ngăn xếp:

 Nội dung của SP tự động giảm

 Thông tin được cất vào ngăn nhớ được trỏ bởi SP

 Khi lấy một thông tin ra khỏi ngăn xếp:

 Thông tin được đọc từ ngăn nhớ được trỏ bởi SP

 Nội dung của SP tự động tăng

 Khi ngăn xếp rỗng, SP trỏ vào đáy

Đỉnh ngăn xếp

Đáy Ngăn xếp

SP

Trang 20

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

 Thanh ghi cơ sở: chứa địa chỉ của ngăn nhớ cơ sở (địa chỉ cơ sở)

 Thanh ghi chỉ số: chứa độ lệch địa chỉ giữa ngăn nhớ mà CPU cần truy nhập so với ngăn nhớ

Thanh ghi chỉ số

Trang 21

Các thanh ghi dữ liệu

 Chứa các dữ liệu tạm thời hoặc các kết quả trung gian

 Cần có nhiều thanh ghi dữ liệu

 Các thanh ghi số nguyên: 8, 16, 32, 64 bit

 Các thanh ghi số dấu phẩy động

 Thanh ghi AX (Accumulator register) : thanh ghi tích luỹ, dài 16 bit nhưng nó cũng có thể chia làm 2 thanh ghi 8 bit AH và AL AX ngoài chức năng lưu trữ dữ liệu, nó còn được CPU dùng trong phép toán số học như nhân, chia Thanh ghi AH là nửa cao của thanh ghi AX Thanh ghi AL là nửa thấp của thanh ghi AX

 Thí dụ nếu AX=1234h thì AH=12h AL=34h

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Trang 22

Các thanh ghi dữ liệu

 Thanh ghi BX (Base register) : dài 16 bit nhưng nó cũng có thể chia làm 2 thanh ghi 8 bit BH và BL BX lưu giữ địa chỉ của 1 thủ tục hay biến, nó cũng được dùng thực hiện các phép dời chuyển

số học và dữ liệu.

 Thanh ghi DX (Data register) : dài 16 bit nhưng nó cũng có thể chia làm 2 thanh ghi 8 bit DH và DL Thanh ghi DX : có vai trò đặc biệt trong phép nhân và phép chia ngoài chức năng lưu trữ

dữ liệu

 CX (Counter register) : thanh ghi này dùng làm bộ đếm trong các vòng lặp Các lệnh tự động lặp lại và sau mỗi lần lặp giá trị

Trang 23

Thanh ghi trạng thái(thanh ghi cờ)

 Thanh ghi cờ là thanh ghi 16 bit nằm trong EU (Excution Unit) Tuy nhiên chỉ có 9 trong 16 bit được dùng còn lại 7 bit không dùng

 Chứa các thông tin trạng thái của CPU

 Các cờ phép toán: báo hiệu trạng thái của kết quả phép toán

 Các cờ điều khiển: biểu thị trạng thái điều khiển của CPU

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

O: OverFlow flag D : Direction flag I : Interrupt flag

T : Trap flag S : Sign flag Z : Zero flag

A : Auxiliary flag P : Parity flag C : Carry flag

Trang 24

Thanh ghi trạng thái(thanh ghi cờ)

 Cờ ZF: được thiết lập lên 1 khi kết quả của phép toán bằng 0.

 Cờ SF (cờ dấu): được thiết lập lên 1 khi kết quả phép toán nhỏ hơn 0

 Cờ CF (cờ nhớ): được thiết lập lên 1 nếu phép toán có nhớ ra ngoài bit cao nhất  cờ báo tràn với số không dấu.

Trang 25

Thanh ghi trạng thái(thanh ghi cờ)

 Cờ OF (cờ tràn): OF=1 khi kết quả bị tràn số (vượt qua khả năng lưu trữ), OF=0 kết quả không bị tràn

 Cờ DF: xác định hướng theo chiều tăng/ giảm trong

Trang 26

Các thanh ghi Segment

CPU có 4 thanh ghi segment dài 16 bit, các thanh ghi này không thể chia làm 2 thanh ghi 8 bit như 4 thanh ghi

AX,BX,CX và DX.

Các thanh ghi đoạn được sử dụng như là địa chỉ cơ sở của các lệnh trong chương trình, stack và dữ liệu

4 thanh ghi đoạn : CS (Code Segment), DS (Data Segment) ,

SS (Stack Segment) và ES (Extra Segment)

CS : chứa địa chỉ bắt đầu của code trong chương trình

DS : chứa địa chỉ của các biến khai báo trong chương trình

SS : chứa địa chỉ của bộ nhớ Stack dùng trong chương trình

ES : chứa địa chỉ cơ sở bổ sung cho các biến bộ nhớ

Trang 27

Thanh ghi 32 bit

dài 32, 64 bit Ta ghi thêm E đứng trước tên các thanh ghi 16 bit

Trang 28

Thanh ghi đoạn và sự hình thành địa chỉ

8086 sử dụng 20 bit để đánh địa chỉ bộ nhớ  quản lý trên 1MB bộ nhớ Nhưng 8086 lại không có thanh ghi nào 20 bit, tất cả là 16 bit do

đó 1 thanh ghi chỉ có thể đánh địa chỉ tối đa là 64 KB bộ nhớ

Như vậy phải kết hợp 2 thanh ghi mới địa chỉ hoá toàn bộ bộ nhớ

8086 sử 1 trong các thanh ghi dùng chung và 1 trong các thanh ghi đoạn (CS,DS,SS,ES) để tạo thành 1 địa chỉ 20 bit

Địa chỉ 20 bit của bộ nhớ 1MB không thể chứa đủ trong các thanh ghi 16 bit của CPU 8086  bộ nhớ 1MB được chia ra thành các đoạn (segment) 64KB.

Địa chỉ trong các đọan 64KB chỉ có 16 bit nên CPU 8086 dễ dàng xử lý bằng các thanh ghi của nó

 PHÂN ĐOẠN BỘ NHỚ : là cách dùng các thanh ghi 16 bit để

Trang 29

Địa chỉ vật lý & địa chỉ luận lý

 Địa chỉ 20 bits được gọi là địa chỉ vật lý

 Địa chỉ vật lý dùng trong thiết kế các mạch giải mã địa chỉ cho bộ nhớ và xuất nhập

Còn trong lập trình , địa chỉ vật lý không thể dùng được mà nó được thay thế bằng địa chỉ luận lý (logic).

Trang 30

Địa chỉ luận lý

 Địa chỉ của 1 ô nhớ được xác định bởi 2

phần: Segment : offset

 Offset: địa chỉ trong đoạn (độ dời)

 Mỗi địa chỉ thành phần là 1 số 16 bit và được viết theo cách sau : Segment : offset

 VD : B001 : 1235

Trang 31

Sự hình thành địa chỉ

địa chỉ

tổng 1 địa chỉ cơ sở và 1 địa chỉ offset

địa chỉ offset nằm trong 1 thanh ghi chỉ số hay thanh ghi con trỏ

chỉ vật lý

Trang 32

Cách tính địa chỉ vật lý từ địa chỉ luận lý

 Địa chỉ vật lý = (segment*10h) + offset

 VD : tính địa chỉ vật lý tương ứng địa chỉ luận lý B001:1235

 Địa chỉ vật lý = B0010h + 1235h = B1245h

Trang 33

 Do offset dài 16 bit nên chiều dài tối đa của mỗi đọan là 64K.

 Mỗi ô nhớ chỉ có địa chỉ vật lý nhưng có thể có nhiều địa chỉ luận lý

 VD : 1234:1234

1334:0234 1304:0534 Đều có chung địa chỉ vật lý 13574 ??

Trang 34

Sự chồng chất các đoạn

64KB0000

FFFF

offset

Ô nhớ có địa chỉ segment:

offset

Trang 35

Sự chồng chất các đoạn

 Khi offset tăng 1 đơn vị thì địa chỉ vật lý tăng 1 địa chỉ hoặc là tăng 1 byte Như vậy có thể xem đơn vị của offset là byte

 Khi giữ nguyên phần offset chỉ tăng phần segment Khi segment tăng 1 đơn vị thì địa chỉ vật lý tăng 10h địa chỉ hoặc là tăng 16 bytes

 VD : ô nhớ có địa chỉ 0002Ah sẽ có địa chỉ logic

trong segment 0000 là 0000:002A

 Trong segment 0001 là 0001:001A

 Trong segment 0002 là 0002:000A

Trang 36

Sự chồng chất các đoạn

 Nếu vùng bộ nhớ nào càng có nhiều segment chồng chập lên nhau thì các ô nhớ trong đó càng có nhiều địa chỉ luận lý

 Một ô nhớ có ít nhất 1 địa chỉ luận lý và nhiều nhất là 65536/16 = 4096 địa chỉ luận lý

Trang 37

3.2 Tập lệnh

 Giới thiệu chung về tập lệnh

 Mỗi bộ xử lý có một tập lệnh xác định

 Tập lệnh thường có hàng chục đến hàng trăm lệnh

 Mỗi lệnh là một chuỗi số nhị phân mà bộ xử

lý hiểu được để thực hiện một thao tác xác định

 Các lệnh được mô tả bằng các ký hiệu gợi nhớ  chính là các lệnh của hợp ngữ

Trang 38

 Toán hạng nguồn: dữ liệu vào của thao tác

 Toán hạng đích: dữ liệu ra của thao tác

Mã thao tác Địa chỉ của các toán hạng

Trang 39

Số lượng địa chỉ toán hạng trong lệnh

 Ba địa chỉ toán hạng:

 2 toán hạng nguồn, 1 toán hạng đích

 c = a + b

 Từ lệnh dài vì phải mã hoá địa chỉ cho cả ba toán hạng

 Được sử dụng trên các bộ xử lý tiên tiến

 Hai địa chỉ toán hạng:

 Một toán hạng vừa là toán hạng nguồn vừa là toán hạng đích; toán hạng còn lại là toán hạng nguồn

Trang 40

Số lượng địa chỉ toán hạng trong

lệnh

 Một địa chỉ toán hạng:

 Một toán hạng được chỉ ra trong lệnh

 Một toán hạng là ngầm định  thường là thanh ghi (thanh chứa –accumulator)

 Được sử dụng trên các máy ở các thế hệ trước

Trang 41

Đánh giá về số địa chỉ toán hạng

 Nhiều địa chỉ toán hạng

 Chương trình có nhiều lệnh hơn

 Nhận lệnh và thực hiện lệnh nhanh hơn

Trang 42

Các lệnh chuyển dữ liệu

 SET Chuyển các bit 1 vào toán hạng đích

xếp

 POP Lấy nội dung đỉnh ngăn xếp đưa đến toán

Trang 43

Các lệnh số học

 ADD Cộng hai toán hạng

 SUBTRACT Trừ hai toán hạng

 MULTIPLY Nhân hai toán hạng

 DIVIDE Chia hai toán hạng

 ABSOLUTE Lấy trị tuyệt đối toán hạng

 NEGATE Đổi dấu toán hạng (lấy bù 2)

 INCREMENT Tăng toán hạng thêm 1

 DECREMENT Giảm toán hạng đi 1

 COMPARE Trừ hai toán hạng để lập cờ

Trang 44

Các lệnh logic

 AND Thực hiện phép AND hai toán hạng

 OR Thực hiện phép OR hai toán hạng

 XOR Thực hiện phép XOR hai toán hạng

 NOT Đảo bit của toán hạng (lấy bù 1)

 TEST Thực hiện phép AND hai toán hạng để lập cờ

 SHIFT Dịch trái (phải) toán hạng

 ROTATE Quay trái (phải) toán hạng

Trang 46

Các lệnh chuyển điều khiển

 JUMP (BRANCH) Lệnh nhảy không điều kiện:

 nạp vào PC một địa chỉ xác định

 JUMP CONDITIONAL Lệnh nhảy có điều kiện:

 điều kiện đúng  nạp vào PC một địa chỉ xác định

 điều kiện sai  không làm gì cả

 CALL Lệnh gọi chương trình con:

 Cất nội dung của PC (địa chỉ trở về) ra một vị trí xác định (thường ở Stack)

 Nạp vào PC địa chỉ của lệnh đầu tiên của chương trình con

 RETURN Lệnh trở về từ chương trình con:

 Khôi phục địa chỉ trở về trả lại cho PC để trở về chương trình

Trang 47

Các lệnh điều khiển hệ thống

 HALT Dừng thực hiện chương trình

 WAIT Tạm dừng thực hiện chương trình, lặp kiểm tra điều kiện cho đến khi thoả mãn thì tiếp tục thực hiện

 NO OPERATION Không thực hiện gì cả

 LOCK Cấm không cho xin chuyển nhượng bus

 UNLOCK Cho phép xin chuyển nhượng bus

Trang 48

3.3 Hoạt động của CPU

Trang 49

Nhận lệnh

 CPU đưa địa chỉ của lệnh cần nhận từ bộ đếm chương trình PC ra bus địa chỉ

 CPU phát tín hiệu điều khiển đọc bộ nhớ

 Lệnh từ bộ nhớ được đặt lên bus dữ liệu và được CPU

copy vào thanh ghi lệnh IR

 CPU tăng nội dung PC để trỏ sang lệnh kế tiếp

Trang 51

Nhận dữ liệu

 CPU đưa địa chỉ của toán hạng ra bus địa chỉ

 CPU phát tín hiệu điều khiển đọc

 Toán hạng được đọc vào CPU

 Tương tự như nhận lệnh

Trang 52

Nhận dữ liệu gián tiếp

 CPU đưa địa chỉ ra bus địa chỉ

 CPU phát tín hiệu điều khiển đọc

 Nội dung ngăn nhớ được đọc vào CPU, đó

chính là địa chỉ của toán hạng

 Địa chỉ này được CPU phát ra bus địa chỉ để tìm ra toán hạng

 CPU phát tín hiệu điều khiển đọc

 Toán hạng được đọc vào CPU

Trang 55

 Nội dung của bộ đếm chương trình PC (địa chỉ trở về sau khi ngắt) được đưa ra bus dữ liệu

 CPU đưa địa chỉ (thường được lấy từ con trỏ

ngăn xếp SP) ra bus địa chỉ

 CPU phát tín hiệu điều khiển ghi bộ nhớ

 Địa chỉ trở về trên bus dữ liệu được ghi ra vị trí xác định (ở ngăn xếp)

 Địa chỉ lệnh đầu tiên của chương trình con

điều khiển ngắt được nạp vào PC

Trang 56

Đường ống lệnh (Instruction

Pipelining)

 Chia chu trình lệnh thành các công đoạn và cho phép thực hiện gối lên nhau (như dây chuyền lắp ráp)

 Chẳng hạn có 6 công đoạn:

 Nhận lệnh (Fetch Instruction - FI )

 Giải mã lệnh (Decode Instruction - DI )

 Tính địa chỉ toán hạng (Calculate Operand Address - CO )

 Nhận toán hạng (Fetch Operands - FO )

 Thực hiện lệnh (Execute Instruction - EI )

Trang 57

Biểu đồ thời gian của đường ống lệnh

Trang 59

Các kiến trúc song song mức

lệnh

 Siêu đường ống (Superpipeline &

Hyperpipeline)

 Siêu vô hướng (Superscalar)

 VLIW (Very Long Instruction Word)

Trang 60

Superpipeline

Trang 62

CISC và RISC

CISC  Complex Instruction Set Computer:

 Máy tính với tập lệnh phức tạp

 Các bộ xử lý truyền thống: x86, 680x0RISC  Reduced Instruction Set Computer:

 Máy tính với tập lệnh thu gọn

 SunSPARC, Power PC,

Trang 63

Các đặc trưng của RISC

 Hỗ trợ các thao tác của ngôn ngữ bậc cao

 Đều được thiết kế kiểu pipeline lệnh

Ngày đăng: 19/04/2022, 06:28

HÌNH ẢNH LIÊN QUAN

Một số thanh ghi điển hình - Cấu trúc máy tính - BỘ XỬ LÝ TRUNG TÂM (CPU)
t số thanh ghi điển hình (Trang 15)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm