12
Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên 1 | Page Chương 4 : Bộ Xử Lý Các cấu trúc lệnh của MIPS: R-type; Op (6) Rs(5) Rt(5) Rd(5) Shamt(5) Funct(6) I-type: Op(6) Rs(5) Rt(5) Address/ immediate(16) J-type: Op Target address Phạm vi biểu diễn số nguyên + Số ko dấu: 0 => (2 n − 1) + Số có dấu: ( − 2 n − 1 ) => (2 n − 1 − 1) + Số bù 2: ( − 2 n – 1 ) => (2 n – 1 - 1) Định luật Moore : Số lượng transitor trên mỗi đơn vị inch tăng lên gấp đôi sau 1.5 năm Định luật Moore : Số lượng transitor (tích hợp trên 1 IC) tăng lên gấp đôi sau 1.5 năm Thế hệ máy tính: Chú ý: 1 ops/s (1 phép toán / giây) 1/ Bóng đèn chân không: 40.000 ops/s 2/ Transistor : 200.000 ops/s 3/ Integrated Circuit (IC) : 1.000.000 ops/s 4/ Micro (Dual core, core 2 duo…) : Máy tính gồm: + Bộ xử lý (CPU)

KTMT Lý Thuyết Tổng Quát

Embed Size (px)

Citation preview

Page 1: KTMT Lý Thuyết Tổng Quát

Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên

1 | P a g e

Chương 4 : Bộ Xử Lý

Các cấu trúc lệnh của MIPS:

R-type;

Op (6) Rs(5) Rt(5) Rd(5) Shamt(5) Funct(6)

I-type:

Op(6) Rs(5) Rt(5) Address/ immediate(16)

J-type:

Op Target address

Phạm vi biểu diễn số nguyên

+ Số ko dấu: 0 => (2n − 1)

+ Số có dấu: ( − 2n − 1) => (2n − 1 − 1)

+ Số bù 2: ( − 2n – 1 ) => (2n – 1 - 1)

Định luật Moore : Số lượng transitor trên mỗi đơn vị inch tăng lên gấp đôi sau 1.5 năm

Định luật Moore : Số lượng transitor (tích hợp trên 1 IC) tăng lên gấp đôi sau 1.5 năm

Thế hệ máy tính:

Chú ý: 1 ops/s (1 phép toán / giây)

1/ Bóng đèn chân không: 40.000 ops/s

2/ Transistor : 200.000 ops/s

3/ Integrated Circuit (IC) : 1.000.000 ops/s

4/ Micro (Dual core, core 2 duo…) :

Máy tính gồm:

+ Bộ xử lý (CPU)

Dung
Typewriter
Page 2: KTMT Lý Thuyết Tổng Quát

Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên

2 | P a g e

+ Bộ nhớ chính (Main Memory)

+ Hệ thống Bus (Bus) : Kết nối các thành phần trong máy tính với nhau.

+ Thiết bị nhập xuất (Input/Output)

Bộ xử lý CPU :

+ Thanh ghi (register): Lưu trữ tạm dữ liệu để ALU và CU xử lý và điều khiển

+ Internal Bus: Kết nối các thành phần ALU, CU và thanh ghi (register) trong CPU

+ Đơn vị xử lý (ALU): Xử lý, tính toán dữ liệu lưu trong thanh ghi

+ Đơn vị điều khiển (CU): Điều khiển xử lý của ALU và dữ liệu trên thanh ghi

Lệnh máy:

+ Lệnh máy: là 1 dãy bit chứa yêu cầu mà bộ xử lý phải thực hiện.

+ Cấu trúc lệnh máy: Mã thao tac – Toán hạng

1. Mã thao tác (opcode): cho biết lệnh thực hiện thao tác gì. (+ - and or …)

2. Các toán hạng (operand): cho biết các đối tượng bị tác động bởi thao tác trong mã thao

tác (opcode) (thanh ghi, vùng nhớ, hằng số…)

+ Mỗi bộ xử lý chỉ hiểu 1 số lệnh với 1 vài cấu trúc nhất định.

Hoạt động của CPU:

+ Xử lý lệnh qua 2 bước (chu kì lệnh):

1. Nạp lệnh (Fetch): Di chuyển lệnh từ bộ nhớ vào thanh ghi.

2. Thực thi lệnh: Giải mã lệnh và thực hiện thao tác yêu cầu.

Quá trình nạp lệnh:

Ý nghĩ các thanh ghi:

+ Thanh ghi MAR (Memory Address Register): Lưu địa chỉ được gửi ra / nhận vào từ bus địa chỉ.

+ Thanh ghi MBR (Memory Buffer Register): Lưu giá trị được gửi ra / nhận vào từ bus dữ liệu.

+ Thanh ghi PC (Program Counter): Lưu địa chỉ của lệnh sẽ được nạp.

+ Thanh ghi IR (Instruction Register): Lưu lệnh sẽ được xử lý.

Page 3: KTMT Lý Thuyết Tổng Quát

Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên

3 | P a g e

+ Bộ xử lý di chuyển lệnh từ vùng nhớ có địa chỉ trong thanh ghi PC vào thanh ghi IR

+ Bộ xử lý giải mã lệnh trong thanh ghi IR và thực hiện thao tác yêu cầu như :

1. Thực hiện các phép tính số học và luận lý.

2. Thực hiện di chuyển dữ liệu giữa thanh ghi và bộ nhớ.

3. Thực hiện di chuyển dữ liệu giữa thanh ghi và thiết bị nhập xuất.

4. Thực hiện các thao tác điều khiển như rẽ nhánh.

Mạch số

+ Transistor là linh kiện làm từ chất bán dẫn dùng để khuếch đại và chuyển tín hiệu

+ Mạch số là thiết bị điện tử kết nối các linh kiện điện tử (như transistor) hoạt động ở 2 mức điện áp:

cao – thấp

Cổng số

+ Các linh kiện điện tử thường kết nối lại với nhau thành các khối cơ bản

+ Khối cơ bản nhất là các cổng logic với các giá trị luận lí 1 và 0 tương ứng với 2 mức điện áp cao – thấp

Thiết kế Logic

+ Các cổng logic thường kết nối với nhau thành các khối cao cấp hơn

+ Gồm 2 loại:

1/ Mạch tổ hợp:

a/ Khái niệm

+ Kết nối các cổng logic sao cho kết quả của mạch tại 1 thời điểm chỉ phụ thuộc vào giá

trị đầu vào tại thời điểm đang xét.

+ Mạch: adder, decoder, multiplexor, ALU…

+ Gồm n ngõ vào, m ngõ ra. Ngõ ra là các hàm logic (luận lý) của các ngõ vào.

+ Luôn có 1 độ trễ giữa thời điểm tín hiệu vào ổn định với thời điểm tín hiệu ra ổn định.

b/ Thiết kế

+ 3 bước:

1/ Lập bảng chân trị từ yêu cầu

Page 4: KTMT Lý Thuyết Tổng Quát

Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên

4 | P a g e

2/ Xây dựng hàm luận lý từ bảng chân trị

3/ Vẽ sơ đồ mạch luận lý và thử nghiệm

2/ Mạch tuần tự:

a/ Khái niệm

+ Kết nối các cổng logic sao cho kết quả của mạch chỉ phụ thuộc vào giá trị đầu vào tại

thời điểm đang xét mà còn phụ thuộc vào trạng thái tại thời điểm trước đó của mạch.

+ Có khả năng ghi nhớ các trang thái trong quá khứ

Mạch lật Flit-flop là mạch lật cơ bản nhất

+ Mạch: mạch lật RS, JK, T, D,…

+ Có chức năng lưu giữ 1 bit nhớ

b/ Thiết kế

+ Mạch tuần tự = Mạch tổ hợp + Mạch lật

4 bước

1/ Vẽ lượt đồ trạng thái từ yêu cầu

2/ Lập bảng trạng thái từ sơ đồ trạng thái

3/ Xây dựng hàm luận lý từ sơ đồ trạng thái

4/ Vẽ sơ đồ mạch luân lý và thử nghiệm

____________________________________________________________________________________

Mạch Full Adder cho phép cộng 3 bit

Mạch Multiplexer (MUX) 4 đầu vào có 1 ngõ ra

Mạch Demultiplexer (DEMUX) 1 đầu vào có 4 ngõ ra

ALU được thiết kế cho phép lựa chọn thực hiện các phép toán +, -, AND, OR

Mạch mã hóa

+ Chỉ có 1 ngõ vào được bật, tổ hợp các ngõ ra sẽ cho biết ngõ vào nào được bậc

Các công đoạn lệnh

Page 5: KTMT Lý Thuyết Tổng Quát

Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên

5 | P a g e

+ Công đoạn 1: Nạp lệnh (Instruction Fetch)

- Nạp lệnh 32bit từ bộ nhớ tại địa chỉ trong thanh ghi PC vào thanh ghi lệnh (IR)

- Tăng PC để chuẩn bị nạp lệnh kế tiếp sau khi xử lý xong lệnh này (PC = PC + 4)

+ Công đoạn 2: Giải mã lệnh (Instruction Decode)

- Phân tích trường trong lệnh

o Xác định opcode để biết loại lệnh gì và vị trí của các trường khác

o Sau đó đọc các thanh ghi nguồn để chuẩn bị thực hiện các công đoạn tiếp

theo

o VD: lệnh add đọc 2 thanh ghi nguồn – lw đọc 1 thanh ghi nguồn

+ Công đoạn 3: ALU (Arithmetic Logic Unit)

- Tính toán số học, luân lý, so sánh (beq, slt)

- Lệnh beq tính vị trí cần nhảy tới

- Lw $t0, 40($t1)

- Địa chỉ cần truy xuất là $t1 + 40 => Thực hiện phép công

+ Công đoạn 4: Truy xuất bộ nhớ (Memory Access)

- Lw và sw thực hiện công đoạn này

+ Công đoạn 5: Ghi kết quả vào thanh ghi (Register Write)

add $s1, $s2, $s3.

Đầu tiên, PC sẽ lấy địa chỉ của phép toán này, thực hiện nạp các trường của phép toán này vào bộ nhớ.

Tiếp theo, nó sẽ thực hiện giải mã lệnh, dựa trên OP (opcode) để xác định được đây là phép cộng.

Kế tiếp, vì đây là phép cộng, nên sẽ lưu kết quả vào thanh ghi (Register), do đó, Regwrite sẽ được bật là

1. Rd sẽ đi qua một cái MUX, vì phải lưu kết quả vào thanh ghi nên RegDist sẽ bật lên bit 1. Rs và Rt sẽ

được đọc vào thanh ghi và đi ra vào ALU. Rt sẽ phải đi qua một cái MUX, tại đây ALUSrc sẽ bật bit 0, báo

hiệu đây là một thanh ghi.

Cả Rs và Rt bây giờ đang nằm trong ALU, tại đây ALUOp sẽ phát tín hiệu cho biết đây là phép cộng và

thực hiện cộng Rs+Rt trong ALU. Kết quả cộng sẽ chạy trực tiếp qua cái MUX phía bên kia mà ko cần

thông qua DataMemory(do không có nhu cầu). Tại MUX, kết quả sẽ được lưu ngược trở lại Register.

lw

Page 6: KTMT Lý Thuyết Tổng Quát

Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên

6 | P a g e

Sau khi cộng I+Rs, kq này sẽ phải đi vào DataMemory, tại đây Control phát tín hiệu đọc bằng 1, sau đó

qua MUX và ghi kết quả đọc được vào Rt.

Hệ thống lưu trữ

+ Lưu trữ sơ cấp: ROM, RAM, cache, thanh ghi,…

+ Lưu trữ thứ cấp: đĩa từ, USB,…

+ Lưu trữ cấp 3

Thanh ghi

+ Thiết bị có dung lượng nhỏ nhất, nhưng có tốc độ truy xuất nhanh nhất

+ Được dùng trong các bộ xử lý: lưu giữ lệnh và dữ liệu để xử lý

ROM (READ ONLY MEMORY)

+ ROM : Là bộ nhớ chỉ đọc, ko thể ghi, ko cần nguồn điện để duy trì nội dung (Lưu trữ sơ cấp)

+ PROM (Programable ROM): ghi được 1 lần duy nhất

+ EPROM (Eraseabe PROM) : Có thể xóa = tia cực tím sau khi ghi

+EEPROM (Electrically EPROM): có thể xóa = điện, xóa từng byte

+ FlashROM: Xóa từng khối, ghi nhanh, xóa nhanh

RAM (RANDOM ACCESS MEMORY) – Lưu trữ sơ cấp

+ Là 1 loại bộ nhớ chính của máy tính

+ Ram được gọi là bộ nhớ truy cập ngẫu nhiên:

- Thời gian đọc hoặc ghi đối với mỗi ô nhớ là như nhau

+ Gồm: RAM động (DRAM) – RAM tĩnh (SRAM)

+ Các loại DRAM

1/ SDRAM: (Synchronous Dynamic RAM): được gọi là DRAM đồng bộ, gồm 3 phân loại: SDR,

DDR, DDR2, DDR3

2/ SDR SDRAM (Single Data Rate SDRAM):

+ Có 168 chân

Page 7: KTMT Lý Thuyết Tổng Quát

Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên

7 | P a g e

+ bus speed chạy cùng vận tốc với clock speed của memory chip

3/ DDR SDRAM (Double Data Rate SDRAM):

+ Có 184 chân

+ Tốc độ truyền tải gấp đôi SDR nhờ vào việc truyền tải 2 lần trong 1 chu kì bộ nhớ

4/ DDR2 SDRAM (Double Data Rate 2 SDRAM):

+ Có 240 chân

+ Có bus speed cao gấp đôi clock speed

Bộ nhớ cache

+ Dùng công nghê SRAM (Nhanh)

+ Tốc độ cao hơn bộ nhớ chính (DRAM)

+ Vai trò làm bộ nhớ đệm truy xuất nhanh (trung gian CPU và bộ nhớ chính)

+ Lưu trữ tạm bản sao 1 phần nội dung của bộ nhớ chính nhằm giảm truy xuất vào bộ nhớ chính

Direct Mapping

+ Đơn giản - Chi phí tổ chức thấp

+ Cấp phát từng block memory vào từng cache line riêng biệt

+ Nếu cache line nào đó đang chứa 1 block memory (old). Khi ta muốn nạp 1 line thì block

memory (old) phải bị thay ra để dành chỗ cho block memory (new).

Cache Line Number = (Main memory Block number) MOD (Number of Cache lines)

Number of blocks in cache = Cache size / Block size

VD: Cho

1 MB = 220 bit

1 KB = 210 bit

+ Memory size: 16MB = 224

+ Block size: 32 B = 25

+ Cache Size: 512 KB = 219

Page 8: KTMT Lý Thuyết Tổng Quát

Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên

8 | P a g e

Number of blocks in cache = Cache size / Block size

Number of blocks in cache (Cache Line) = 219 / 25 = 214

Số lượng bit trong tag = 24 – 14 – 5 = 5

Stag — size of cache tag, in bits;

Smemory — cacheable range of operating memory, in bytes;

Scache — size of cache memory, in bytes;

A — associativity of cache memory, in ways.

Fully Associate Mapping

+ Mỗi block có thể được nạp vào bất cứ line nào

+ Do 1 block có thể nạp vào bất kì 1 line nào. Vì vậy, để kiểm tra 1 block có nằm trong line hay

chưa thì phải duyệt hết các line.

+ Chi phí tìm kiếm cao

+ Số bit làm Tag phải lưu trong cache nhiều hơn

Set Associate Mapping

+ Set Associate Mapping = Direct Mapping + Fully Associate

+ Các phần tử cache được chia làm S các tập hợp =, mỗi tập hợp có K phần tử

+ Mỗi block được ánh xạ vào một tập hợp (Direct Mapping)

+ Các cache line trong tập hợp được quản lý theo kiểu (Fully Associate)

Đồng bộ hóa cache và bộ nhớ chính

Write Through

- Khi 1 line/block bị thay đổi trong cache/bộ nhớ chính bởi CPU/IO => block/line

tương ứng trong bộ nhớ cache/line sẽ lập tức được cập nhật

- Chậm

Page 9: KTMT Lý Thuyết Tổng Quát

Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên

9 | P a g e

Write Back

- Khi 1 line bị thay đổi trong bộ nhớ cache, sử dụng bit đánh dấu

- Khi phải thay thế line bị đánh dấu => thì cập nhật lại block tương ứng trong bộ nhớ

chính.

- IO phải truy xuất bộ nhớ chính thông qua cache

Kích thước block và cache

Kích thước Block

+ Nhỏ quá: giảm tính lân cận về ko gian

+ Lớn quá: thời gian chuyển block vào cache lâu

+ Kích thước block thường từ 8 – 64 bytes

Kích thước Cache

+ Nhỏ quá: số lượng block lưu trong cache ít => cache miss cao

+ Lớn quá: Nhiều nội dung ko cần thiết lưu trong cache => Mất nhiều thời gian kiểm tra block có

nằm trong cache chưa.

Số lượng và loại cache

+ Thường sử dụng nhiều mức cache L1, L2, L3…

+ On-Chip cache : nằm trên cùng IC với bộ xử lý => truy xuất nhanh

+ Off-Chip cache : nằm trên IC riêng và được nối với bộ xử lý qua hệ thống bus => truy xuất chậm

+ L1 cache

+ Kích thước 10s KB

+ Hit Time: 1 chu kì

+ Miss rate: 1-5%

+ L2 cache

+ Kích thước 100s KB

+ Hit Time: 1 chu kì

Page 10: KTMT Lý Thuyết Tổng Quát

Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên

10 | P a g e

+ Miss rate: 10-20%

+ Thường sử dụng 2 loại cache

+ Unified cache: 1 cache cho cả lệnh và dữ liệu

+ Split Cache : Cache riêng cho lệnh (instruction cache) và dữ liệu (data cache)

Thứ cấp

Đĩa từ

+ Là thiết bị lưu trữ dữ liệu lâu dài phổ biến nhất, gồm 1 hay nhiều lớp đĩa phẳng được phủ từ

để lưu trữ dữ liệu

+ 2 loại:

+ Đĩa mềm (Floppy disks) : chậm – chỉ 1 lớp đĩa từ

+ Đĩa cứng (Hard disk drives - HDD): nhanh hơn – nhiều đĩa từ

Tổ chức đĩa cứng

+ Gồm nhiều đĩa tròn (platter), mỗi lớp phủ 1 hoặc 2 mặt (side)

+ Mỗi mặt có tương ứng 1 đầu đọc (head) để đọc hoặc ghi dữ liệu

+ Mỗi mặt có nhiều đường tròn đồng tâm (track)

+ Mỗi đường tròn được chia nhỏ thành các cung tròn (sector)

+ Mỗi sector chứa 4096 điểm từ (~4096 = 512 byte)

+ Mỗi lần đọc ghi ít nhất 1 sector (512 byte)

Cơ chế đọc dữ liệu của đĩa cứng

+ Disk Latency = Seek Time + Rotation Time + Transfer Time

+ Seek Time: Thời gian di chuyển đầu đọc tới đúng track cần đọc, phụ thuộc vào số track trên 1

mặt và tốc độ của actuator

Page 11: KTMT Lý Thuyết Tổng Quát

Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên

11 | P a g e

+ Rotation Time: Thời gian quay đĩa sao cho sector muốn đọc nằm dưới đầu đọc, phụ thuộc vào

tốc độ quay của đĩa

+ Transfer Time: Thời gian đọc và truyền dữ liệu, phụ thuộc vào mật độ phủ từ của sector và

chuẩn giao tiếp (ATA, SATA,…)

Kỹ thuật RAID

+ Kết hợp nhiều ổ đĩa vật lý thành 1 hệ thống đĩa (luận lý) duy nhất = phần cứng hoặc phần mềm

Mục đích

+ Đảm bảo an toàn dữ liệu

+ Tăng tốc độ truy xuất của hệ thống

Hoạt động

+ Dữ liệu trên đĩa sẽ được lưu đồng thời lên tất cả ổ đĩa

+ Hoạt động của hệ thống trong suốt với người dùng

Flash Memory

+ Một loại công nghệ lưu trữ phổ biến nhất hiện nay : USB, Memory Card, ROM

+ Ko cần nguồn điện để duy trì nội dung

Ưu điểm

+ Duy trì dữ liệu lâu dài

+ It tốn điện năng

Nhược điểm

+ Số chu kì ghi / xóa dữ liệu bị giới hạn

Lưu trữ cấp 3

Tape library

+ Thiết bị cho phép kết hợp hàng ngàn băng từ để tạo thành 1 thiết bị lưu trữ có dung lượng lên

đến Terabyte, Petabyte

Disk Library

Page 12: KTMT Lý Thuyết Tổng Quát

Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên

12 | P a g e

+ Thiết bị cho phép kết hợp hàng ngàn đĩa cứng để tạo thành 1 thiết bị lưu trữ có dung lượng

lên đến hàng ngàn Terabyte, Petabyte

Optical Jukebox

+ Thiết bị cho phép kết hợp hàng ngàn đĩa quang để tạo thành 1 thiết bị lưu trữ có dung lương

lên đến Terabyte, Perabyte