1. Trang chủ
  2. » Công Nghệ Thông Tin

Cấu trúc bên trong CPU1 docx

52 611 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Cấu trúc bên trong CPU
Người hướng dẫn Nguyễn Đăng Quan, Nguyễn Hoài Nam
Trường học Unknown University
Thể loại Khóa luận
Định dạng
Số trang 52
Dung lượng 1,08 MB

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: • Nhận lệnh từ bộ nhớ đưa vào thanh ghi lệnh IP • Tăng nội dung thanh ghi PC mỗi khi nhận lệnh song • Giải mã lệnh và xác định thao tác mà lệnh yêu cầu

Trang 2

Cấu trúc cơ bản

2

Trang 3

Cấu trúc bên trong CPU

3

Trang 4

Cấu trúc bên trong CPU

4

Trang 5

Cấu trúc cơ bản

1 Đơn vị điều khiển (Control Unit – CU)

2 Đơn vị số học và logic (Arithmetic and Logic

Unit - ALU)

3 Tập thanh ghi (Register File - RF)

và Bus bên trong (Internal Bus)

5

Trang 6

Đơn vị số học (ALU)

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.

6

Trang 7

Đơn vị số học (ALU)

Mô hình kết nối

ALU chuyên sử lí dữ liệu nhưng không lưu dữ liệu

7

Trang 8

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

Chức năng:

• Nhận lệnh từ bộ nhớ đưa vào thanh ghi lệnh IP

• Tăng nội dung thanh ghi PC mỗi khi nhận lệnh song

• Giải mã lệnh và xác định thao tác mà lệnh yêu cầu

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

• Nhận các tín hiệu yêu cầu từ BUS hệ thống và giải đáp những yêu cầu đó

8

Trang 9

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

9

Mô hình kết nối

Trang 10

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

Tín hiệu vào Control Unit:

 Clock: tín hiệu xung nhịp từ mạch tạo dao động

bênh ngoài.

 Mã lệnh từ thanh ghi lệnh đưa đến CU để 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 điều khiển từ BUS điều khiển

10

Trang 11

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

Tín hiệu ra Control Unit:

 Các tín hiệu điều kiể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:

Điều khiển bộ nhớ

Điều khiển các module vào/ra

11

Trang 12

Tập thanh ghi (Registers)

Là các phần tử có khả năng lưu trữ thông tin với dung lượng 8, 16 , 32, 64 bit

Được xây dựng từ các FlipFlop nên có tốc độ truy xuất rất nhanh

12

Trang 13

Tập thanh ghi (Registers)

Chức năng

• Là vùng nhớ được CPU nhận biết qua tên thanh ghi và

có tốc độ truy xuất cực nhanh

• Chứa 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

• Số lượng thanh ghi tùy thuộc vào bộ vi xử lý cụ thể  tăng hiệu năng CPU

• Thanh ghi chia làm 2 loại: thanh ghi đặc biệt và thanh ghi thông dụng.

13

Trang 15

General Registers

Các thanh ghi mục đích chung

 Gồm các thanh ghi AX, BX, CX, DX, Các thanh

ghi này được sử dụng như các thanh ghi dữ liệu

16 bít hay hai thanh ghi dữ liệu chiều dài 8 bít

 Các thanh ghi mục đích chung được dùng để

chứa các dữ liệu cần thiết khi thực hiện các phép toán hoặc các tác vụ xuất nhập

15

Trang 16

Thanh ghi AX

 Thanh ghi AX (Accumulator register) : thanh ghi tích

luỹ

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

 Đây là thanh ghi chính để thực hiện các phép toán số học, các lệnh xuất nhập cổng Ngoài ra nó cũng được dùng trong một số lệnh xử lý chuỗi

 MUL BH ; AX ← AL*BH

16

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

AL AH

Trang 17

Thanh ghi BX

 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

 Thường thanh ghi BX được dùng trong phép định địa

chỉ cơ sở khi truy xuất các dữ liệu trong bộ nhớ

Trang 18

Thanh ghi CX

 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ị của CX tự động giảm đi 1

 CX thường chứa số lần dịch, quay trong các lệnh dịch,

quay thanh ghi

18

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

CL CH

Trang 20

General Registers

Đối với một số CPU đời mới (80386), có các

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

EAX, EBX, ECX, EDX

20

Trang 21

Thanh ghi đoạn ( segemt R.)

 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)

21

Trang 22

Thanh ghi đoạn ( segemt R.)

CS (Code segment): xác định đoạn lệnh – nơi chứa

chương trình được thi hành

DS (Code segment): xác định đoạn dữ liệu – nơi chứa

chương trình được thi hành

SS (Stack segment): xác định đoạn stack – vùng làm việc tạm thời dùng để theo dõi các tham số và các địa chỉ đang được chương trình hiện hành sử dụng

 ES (extra segment): trỏ đến đoạn thêm, thường được

dùng để bổ sung cho đoạn dữ liệu  có vùng nhớ

>64k cho đoạn dữ liệu

22

Trang 23

Thanh ghi con trỏ và chỉ số

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

 Còn được gọi là con trỏ lệnh IP (Instruction Pointer)

 Giữ đị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, nội dung PC tự

động tăng để trỏ sang lệnh kế tiếp

23

Trang 24

Thanh ghi con trỏ và chỉ số

24

.

Lệnh Lệnh Lệnh

Lệnh sẽ được nhận vào Lệnh kế tiếp Lệnh Lệnh

.

PC

Trang 25

Thanh ghi con trỏ và chỉ số

Thanh ghi con trỏ dữ liệu (Data Pointer)

 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

25

Trang 26

Thanh ghi con trỏ và chỉ số

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

 SP 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

26

Trang 27

Thanh ghi con trỏ và chỉ số

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

27

Chiều tăng của địa chỉ

Trang 28

Thanh ghi con trỏ và chỉ số

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

Thanh ghi cở sở (Base register): chứa địa chỉ của

ngăn nhớ cơ sở (địa chỉ cơ sở)

Thanh ghi chỉ số (index register): chứa độ lệch địa

chỉ giữa ngăn nhớ mà CPU cần truy cập so với ngăn nhớ cơ sở (chỉ số)

 Địa chỉ của ngăn nhớ cần truy nhập = địa chỉ cơ sở +

chỉ số

28

Trang 29

Thanh ghi con trỏ và chỉ số

Base registers & Index register

29

Trang 30

Thanh ghi con trỏ và chỉ số

SI (source index) là chỉ số nguồn, trỏ vào dữ

liệu mà địa chỉ đoạn được ghi trong DS

DI (destination index) là chỉ số đích, cũng trỏ

vào đoạn dữ liệu mà địa chỉ đoạn ghi trong DS

30

Trang 32

Cờ trạng thái

 Cờ nhớ CF (Carry Flag): cờ nhớ CF=1 khi có

nhớ hoặc trừ có mượn từ bít có trọng số cao nhất (Most Significant Bit)

32

Trang 33

Cờ trạng thái

 Chúng ta thực hiện phép cộng có nhớ với thanh

ghi R1 = 200d và thanh ghi R2 = 70d và ghi kết quả vào thanh R1(mà thanh ghi R1 có khả năng chứa đến 255 (8bits))

33

1 1 0 0 1 0 0 0 + 0 1 0 0 0 1 1 0

1 0 0 0 0 1 1 1 0 CF = 1 1 1 1 0

R1

Trang 34

Cờ trạng thái

 Cờ phụ AF (Auxiliary Carry Flag): cờ nhớ phụ

dùng cho các phép tính với mã BCD AF = 1 khi

có nhớ hoặc mượn từ một số BCD thấp (4 bit thấp) sang một số BCD cao (4 bit cao)

 BCD: binary-coded decimal

 25H = 0010 0101b

34

Trang 35

Cờ trạng thái

 Ví dụ về cộng 2 số 29H và 18H.

35

0 0 1 0 1 0 0 1 + 0 0 0 1 1 0 0 0

0 1 0 0 0 0 0 1 + 0 1 1 0

0 1 0 0 0 1 1 1

2 9 H + 1 8 H

4 1 H + 6 H

4 7 H

AF = 1

AF = 1

Trang 36

Cờ trạng thái

 Cờ Zero ZF (Zero Flag): Ðược bật nếu kết quả

của một phép toán vừa thực hiện bằng 0

 Số A = 1001b, Số B = 0110b Thực hiện phép

AND giữa 2 số này

36

1 0 0 1 AND 0 1 1 0

0 0 0 0

ZF = 1

Trang 37

Cờ trạng thái

 Cờ dấu SF (Sign Flag): Có giá trị tương ứng với

bít có trọng số cao nhất (MSB) của kết quả phép toán vừa được thực hiện

37

0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0

0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0

Trang 38

Cờ trạng thái

 Cờ chẵn lẻ PF (Parity Flag): cờ kiểm tra chẵn lẻ

PF=1 (0) khi tổng số bít 1 trong kết quả là chẵn (lẻ)

 Ví dụ: thực hiện phép cộng giữa số

0010 1001b và 0001 1000b

38

0 0 1 0 1 0 0 1 + 0 0 0 1 1 0 0 0

0 1 0 0 0 0 0 1 Số bit 1 = 2 (chẵn) ZF = 1

Trang 39

Cờ trạng thái

 Cờ tràn OF (Overflow Flag): cờ tràn OF=1 khi kết quả là

một số vượt ra ngoài giới hạn biểu diễn của nó trong

khi thực hiện phép toán cộng trừ số có dấu (từ -32767

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Trang 40

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0

Trang 41

Vậy làm thế nào CPU biết là có tràn hay không?

Nếu phép toán có nhớ vào msb mà msb không nhớ ra hay ngược lại có nhớ ra nhưng không nhớ vào msb thì tràn xuất hiện và set OF = 1.

41

Trang 42

Cờ điều khiển

TF (trap flag) cờ bẫy, TF = 1 khi vi xử lý ở trong

chế độ chạy từng lệnh (chế độ này dùng khi cần tìm lỗi trong một chương trình)

IF (interrupt enable flag) cờ cho phép ngắt, IF = 1

cho phép các yêu cầu ngắt che được (maskable interrupt) được tác động

DF (direction flag) cờ hướng DF = 1 khi CPU

làm việc với chuỗi ký tự theo thứ tự từ phải sang trái (lùi)

42

Trang 43

 Cache là một loại bộ nhớ có kích thước nhỏ và

tốc độ cao thường là RAM tĩnh chứa các phần được truy cập gần nhất của bộ nhớ chính

 Gồm memory caching (bộ nhớ cache hay bộ nhớ

truy xuất nhanh) và disk caching (bộ nhớ đệm đĩa)

43

Trang 44

 Một số bộ nhớ cache được tích hợp vào trong

kiến trúc của các bộ vi xử lý (Cache L1- bộ đệm cấp 1) CPU Intel đời 80486 có bộ nhớ cache 8

KB, trong khi lên đời Pentium là 16 KB

44

Trang 45

Các thành phần của Cache

SRAM Bộ nhớ truy cập ngẫu nhiên tĩnh (Static

Random Access Memory) là khối lưu trữ dữ liệu kích thức của SRAM chỉ ra kích thước của

Cache

Tag RAM Tag RAM (TRAM) là một phần nhỏ của

SRAM để lưu trữ địa chỉ của dữ liệu được lưu trong SRAM

45

Trang 46

Các thành phần của Cache

Bộ điều khiển Cache (Cache controller) Các

nhiệm vụ mà nó đảm nhận là thực thi các snoop

và snarf, cập nhật SRAM và TRAM, thực thi quy định ghi Không phải tất cả các vùng của bộ nhớ đều được lưu trong Cache, gọi là được cache (Cacheable) Các cùng nào của bộ nhớ chính được xác định là không thể lưu trong Cache gọi

là vùng không được cache (non-cacheable) và điều này tùy vào thiết kế Ví dụ như trong PC, vùng video không được lưu trong Cache

46

Trang 47

Phân loại cache

 Cache L1: Được tích hợp vào lõi của CPU Tốc

độ truy xuất của cache L1 tương đương với tốc

độ của CPU nhưng dung lượng khá nhỏ với hai thành phần chính là Data cache và Code cache (trong một số CPU được gọi là Instruction cache hay Trace cache) để lưu trữ dữ liệu và mã lệnh

47

Trang 48

Phân loại cache

 Cache L2: Thiết kế trong CPU nhưng không nằm

trong lõi, được gọi là external cache hay cache phụ Hiện tại dung lượng cache L2 thay đổi từ 128KB đến 9MB Chức năng chính của cache L2

là dựa vào các lệnh mà CPU sắp thi hành để lấy

dữ liệu cần thiết từ RAM, CPU sẽ dùng dữ liệu ở cache L2 để tăng tốc độ xử lý

48

Trang 49

Phân loại cache

 Cache L3 : dùng chung cho tất cả các core, do

sự phát triển của các core trong CPU, Intel tích hợp cache L2 vào trong mỗi core luôn Lúc này kích thước của cache L2 sẽ giảm xuống còn

cache L3 đảm nhận chia sẻ bộ nhớ đệm giữa các core trong CPU

49

Trang 50

Câu hỏi củng cố

1 Thiết bị nào trong máy tính đảm nhiệm chức

năng thực hiện phép toán số học và logic ?

A Đơn vị luận lý số học và logic

Trang 52

Câu hỏi củng cố

3 Trong CPU bộ phận nào có thể đảm nhiệm

chức năng lưu trữ tạm thời ?

A Bộ luận lý số học và logic

B Một vài thanh ghi

C Đơn vị điều khiển

D Tấc cả đều sai

52

B

Ngày đăng: 30/03/2014, 11:21

TỪ KHÓA LIÊN QUAN

w