1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề cương ôn tập kiến trúc máy tính ptit 2023

24 37 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

Định dạng
Số trang 24
Dung lượng 1,13 MB

Nội dung

Chương 1: Giới thiệu tổng quan 1. Khái niệm KTMT và các thành phần cơ bản của kiến trúc máy tính ❖ Khái niệm: Kiến trúc máy tính (computer architecture): là khoa học về lựa chọn và kết nối các thành phần phần cứng của máy tính nhằm đạt yêu cầu: • Hiệu năng: càng nhanh càng tốt • Chức năng: đáp ứng nhiều chức năng • Giá thành: càng rẻ càng tốt ❖ Thành phần cơ bản của kiến trúc máy tính gồm 3 thành phần: ▪ Kiến trúc tập lệnh (ISA Instruction Set Architecture): Mô hình trừu tượng của máy tính ở mức ngôn ngữ máy (hợp ngữ) xác định những gì bộ xử lý thực hiện và cách thực hiện: • Tập lệnh • Các chế độ địa chỉ bộ nhớ • Các thanh ghi • Khuôn dạng địa chỉ và dữ liệu ▪ Vi kiến trúc (Microarchitecture): là tổ chức máy tính, mô tả về hệ thống ở mức thấp, liên quan tới: • Các thành phần phần cứng kết nối với nhau như thế nào • Các thành phần phần cứng phối hợp, tương tác với nhau như thế nào • để thực hiện tập lệnh ▪ Thiết kế hệ thống: bao gồm tất cả các thành phần phần cứng khác trong hệ thống máy tính: • Các hệ thống kết nối như bus và chuyển mạch • Mạch điều khiển bộ nhớ, cấu trúc phân cấp bộ nhớ • Các kỹ thuật giảm tải cho CPU như truy cập trực tiếp bộ nhớ • Các vấn đề như đa xử lý 2. Sơ đồ khối chức năng và chức năng của các thành phần trong 1 hệ thống máy tính ❖ Sơ đồ máy tính

Contents Chương 1: Giới thiệu tổng quan Khái niệm KTMT và các thành phần bản của kiến trúc máy tính 2 Sơ đồ khối chức và chức của các thành phần hệ thống máy tính Kiến trúc Von-Neumann Kiến trúc Harvard So sánh kiến trúc Von-Neumann cổ điển và hiện đại So sánh kiến trúc Von-Neumann và k Kiến trúc Harvard Máy tính laptop hiện sử dụng kiến trúc nào Chương : CPU Sơ đồ khối CPU .5 Chu trình xử lý lệnh CPU Đặc điểm chức của các ghi Chức và ý nghĩa của các ghi cờ .8 Sơ đồ khối, chức của các khối CPU Lệnh máy tính, khuôn dạng lệnh, toán hạng, chế độ địa chỉ Chương 3: Pipeline – Bộ nhớ – Bộ nhớ cache 11 A Pipeline 11 Khái niệm, ví dụ, đặc điểm 11 Cơ chế xen kẽ dòng lệnh 11 Các vấn đề xảy và cách khắc phục 11 Sử dụng ống lệnh và không sử dụng ống lệnh có gì khác 13 B Bộ nhớ 14 Sơ đồ phân cấp bộ nhớ 14 Các thành phần phân cấp bộ nhớ 14 C Bộ nhớ cache 15 Khái niệm, vai trò của cache? 15 2 nguyên ý hoạt động của bộ nhớ cache: lân cận về không gian và thời gian 15 Phương thức trao đổi giữa CPU – cache – mem 15 Phương thức đọc/ ghi (khi hit và miss) 16 Các tham số ảnh hưởn đến hiệu bộ nhớ cache 16 loại kiến trúc cache: Look aside, Look through 17 Chính sách thay thế bộ nhớ cache: FIFO, LRU 18 Hit, Miss, phương pháp giảm miss 18 Chương : 8086 19 Các chế độ địa chỉ của 8086 (7) 19 Lừ Thị Thưởng – B21DCCN701 Mã hóa lệnh, khuôn dạng lệnh 20 Các ghi 21 Chương 7: Các phương pháp vào dữ liệu 22 Vai trò của phương pháp vào dữ liệu 22 Các phương pháp vào 22 Chương 1: Giới thiệu tổng quan Khái niệm KTMT và các thành phần bản của kiến trúc máy tính ❖ Khái niệm: Kiến trúc máy tính (computer architecture): khoa học lựa chọn kết nối thành phần phần cứng máy tính nhằm đạt yêu cầu: • Hiệu năng: nhanh tốt • Chức năng: đáp ứng nhiều chức • Giá thành: rẻ tốt ❖ Thành phần bản của kiến trúc máy tính gờm thành phần: ▪ Kiến trúc tập lệnh (ISA - Instruction Set Architecture): Mô hình trừu tượng máy tính ở mức ngơn ngữ máy (hợp ngữ) xác định xử lý thực cách thực hiện: • Tập lệnh • Các chế độ địa nhớ • Các ghi • Khn dạng địa liệu ▪ Vi kiến trúc (Microarchitecture): tổ chức máy tính, mơ tả hệ thống ở mức thấp, liên quan tới: • Các thành phần phần cứng kết nối với • Các thành phần phần cứng phối hợp, tương tác với • để thực tập lệnh ▪ Thiết kế hệ thống: bao gồm tất thành phần phần cứng khác hệ thống máy tính: • Các hệ thống kết nối bus chuyển mạch • Mạch điều khiển nhớ, cấu trúc phân cấp nhớ • Các kỹ thuật giảm tải cho CPU truy cập trực tiếp nhớ • Các vấn đề đa xử lý Sơ đồ khối chức và chức của các thành phần hệ thống máy tính ❖ Sơ đồ máy tính: Lừ Thị Thưởng – B21DCCN701 ❖ Chức của các thành phần hệ thớng máy tính: • Bộ xử lý trung tâm (CPU):  Chức năng: ➢ Đọc lệnh từ nhớ ➢ Giải mã thực lệnh • Bao gồm:  Khối điều khiển (CU: Control Unit): đọc, giải mã điều khiển q trình thực lệnh  Khối tính toán số học logic (ALU: Arithmetic and Logic Unit): thực phép toán số học cộng trừ, nhân, chia, phép tốn lơgic và, hoặc,phủ định phép dịch, quay  Các ghi (Registers): kho chứa lệnh liệu tạm thời cho CPU xử lý  Bus CPU: truyền dẫn tín hiệu phận CPU kết nối với hệ thống bus ngồi • Bộ nhớ trong:  Chức năng: Lưu trữ lệnh liệu để CPU xử lý  Bao gồm: ➢ ROM – Read Only Memory: ▪ Lưu trữ lệnh liệu hệ thống ▪ Thông tin ROM nạp từ sản xuất thường đọc q trình sử dụng ▪ Thơng tin ROM tồn nguồn nuôi ➢ RAM – Random Access Memory: ▪ Lưu trữ lệnh liệu hệ thống người dùng ▪ RAM thường có dung lượng lớn nhiều so với ROM ▪ Thông tin RAM mất nguồn ni • Các thiết bị vào ra:  Thiết bị vào (input devices): nhập liệu điều khiển hệ thống kết xuất liệu ra: Bàn phím, Chuột, Ổ đĩa, Máy quét, …  Thiết bị ra: kết xuất liệu: Màn hình, Máy in, Ổ đĩa, Máy vẽ, … • Bus hệ thống:  Tập đường dây kết nối CPU với thành phần khác máy tính  Bao gồm loại: ➢ Bus địa (gọi bus A): truyền tín hiệu địa từ CPU đến nhớ thiết bị ngoại vi ➢ Bus liệu (gọi bus D): vận chuyển tín hiệu liệu theo hai chiều đến CPU ➢ Bus điều khiển (bus C): truyền tín hiệu điều khiển từ CPU đến thành phần khác, đồng thời truyền tín hiệu trạng thái thành phần khác đến CPU Kiến trúc Von-Neumann - Kiến trúc Von-Neumann giới thiệu bởi John von-Neumann vào Lừ Thị Thưởng – B21DCCN701 năm 1945 - Các máy tính kiến trúc Von-Neumann dựa khái niệm bản: • Dữ liệu lệnh lưu nhớ đọc/viết chia sẻ • Bộ nhớ đánh địa dựa đoạn không phụ thuộc vào việc lưu trữ • Các lệnh chương trình chạy lần lượt, lệnh tiếp sau lệnh kia: Stored-program digital computer - Quá trình thực lệnh chia thành giai đoạn : • CPU lấy lệnh (fetch) từ nhớ • CPU giải mã lệnh chạy lệnh; lệnh cần liệu đọc liệu từ nhớ • CPU viết kết vào nhớ có - Hạn chế: nhớ lệnh liệu (cổ chai) không truy cập lúc nên thông lượng (throughput) nhỏ nhiều so với tốc độ CPU làm việc - Khắc phục: Dùng nhớ cache CPU main memory Kiến trúc Harvard - Khắc phục khuyết điểm kiến trúc Von_Neumann - Bộ nhớ chia làm phần: • Bộ nhớ chương trình • Bộ nhớ liệu - CPU sử dụng bus hệ thống để liên hệ với nhớ: • CPU đọc lệnh truy cập liệu bố nhớ lúc • Một bus A, D cho nhớ chương trình bus A, D cho nhớ liệu (khác Định dạng) - Nhanh băng thơng bus rộng , q trình đọc lệnh khơng tranh chấp với q trình truy xuất liệu - Hỗ trợ nhiều truy cập đọc/ viết nhớ lúc nên giảm xung đột truy cập nhớ - Ngày kiến trúc Harvard cải tiến ứng dụng cho máy tính đại: ARM, intel x86 - Kiến trúc Harvard cũng ứng dụng ở hệ thống nhúng embed-ded system, chíp chuyên xử lý tín hiệu (DSP) So sánh kiến trúc Von-Neumann cổ điển và hiện đại Kiến trúc Von-Neumann cổ điển Bộ vi xử lý (CPU) kiến trúc Von Neumann cổ điển tách thành hai phần chính: phần toán học phần giải mã + Phần toán học CPU thực phép tính hoạt động toán học + Phần giải mã CPU chịu trách nhiệm giải mã lệnh từ nhớ chuẩn bị liệu để thực phép tính Kiến trúc Von-Neumann hiện đại Trong kiến trúc Von Neumann đại, phần toán học phần giải mã CPU thường gộp chung thành đơn vị xử lý trung tâm (CPU) Lừ Thị Thưởng – B21DCCN701 Đầu vào đầu (input/output) kiến trúc Von Neumann cổ điển thường xử lý riêng biệt có giao diện I/O đặc biệt để truyền liệu thiết bị ngoại vi nhớ CPU CPU nhớ chia sẻ bus, dẫn đến hạn chế băng thông Điều gây tượng "bottleneck" hạn chế tốc độ xử lý hệ thống Đầu vào đầu cũng gộp chung giao diện I/O chung, thường gọi điều khiển nhớ I/O (Memory and I/O Controller) Sử dụng nhớ cache đa cấp, pipelining, đa luồng, nhớ phân tán Các cải tiến nhằm cải thiện hiệu suất, giảm bottleneck tăng cường khả xử lý đồng thời So sánh kiến trúc Von-Neumann và k Kiến trúc Harvard Kiến trúc Von-Neumann Kiến trúc Harvard Là kiến trúc cổ xưa dựa khái niệm máy tính Là kiến trúc đại dựa mô hình Harvard chương trình lưu trữ Mark I khơng phân biệt rõ ràng nhớ lệnh nhớ liệu Cả lệnh liệu lưu trữ nhớ CPU truy cập lệnh liệu qua bus đường truyền phân biệt rõ ràng nhớ (memory) nhớ lưu trữ lệnh (instruction memory) Nó sử dụng bus riêng biệt để truyền liệu lệnh Cụ thể, có xử lý trung tâm (CPU) với nhớ lệnh riêng (instruction memory) nhớ liệu riêng (data memory) Điều cho phép CPU lúc thực việc đọc liệu lệnh từ nhớ riêng biệt Địa vật lý sử dụng cho lệnh liệu tách biệt Hỗ trợ nhiều truy cập đọc/viết nhớ lúc nên giảm xung đột nhớ tốc độ nhanh Địa vật lý sử dụng cho lệnh liệu giống Bộ nhớ liệu không truy cập lúc nên thông lượng nhỏ nhiều so với tốc độ CPU làm việc Giá thành: rẻ Ứng dụng: Máy tính cá nhân, máy tính xách tay máy trạm Đắt Được sử dụng vi điều khiển xử lý tín hiệu, máy chủ chuyên dụng Máy tính laptop hiện sử dụng kiến trúc nào - Hiện nay, hầu hết máy tính laptop sử dụng kiến trúc Von Neumann - Trong kiến trúc Von Neumann, máy tính laptop: + Có nhớ chứa liệu lệnh, CPU thực việc lấy lệnh từ nhớ, thực truy cập vào liệu + Việc truyền liệu lệnh CPU nhớ thực qua bus chung - Một số trường hợp đặc biệt, máy tính laptop cải tiến biến thể kiến trúc Von Neumann: + Sử dụng nhớ cache để cải thiện hiệu suất + Sử dụng kiến trúc đa nhân với nhiều CPU hoạt động song song => Dù cấu trúc chính máy tính laptop tuân thủ theo kiến trúc Von Neumann Chương : CPU Sơ đồ khối CPU Lừ Thị Thưởng – B21DCCN701 Chức năng: - Bộ điều khiển (CU): Điều khiển toàn hoạt động CPU theo xung nhịp đồng hồ - Bộ tính toán số học logic (ALU): Tính toán - Thanh ghi (Regs): Lưu trữ lệnh liệu cho hoạt động CPU + Thanh ghi tích lũy (A): Lưu toán hạng, chứa kết + Bộ đếm chương trình (PC): Chứa địa ô nhớ chưa lệnh thực + Thanh ghi IR: Lưu lệnh thực + Thanh ghi địa nhớ (MAR): Nhận địa chr ô nhớ chứa lệnh từ PC chuyển tiếp bus địa + Thanh ghi đệm (MBR): Nhận lệnh từ bus địa chuyển tiếp lệnh đến IR thông qua bus CPU + Thanh ghi cờ (FR): Mỗi bít ghi lưu kết phép tính ALU thực + Thanh ghi đoạn Y, Z: Chứa toán hạng vào, kết đầu - Bus CPU: Kết nối trao đổi thông tin bus bên bus bên CPU Chu trình xử lý lệnh CPU - Chu kỳ lệnh (Instruction Cycle) khoảng thời gian để CPU thực xong lệnh kể từ CPU cấp phát tín hiệu địa ô nhớ chứa lệnh đến hồn tất việc thực lệnh - Mỗi chu kỳ lệnh của CPU mô tả theo các bước sau: Khi chương trình chạy, hệ điều hành tải mã chương trình vào nhớ RAM Địa lệnh chương trình đưa vào ghi PC Địa ô nhớ chứa lệnh chuyển tới bus A qua ghi MAR Bus A truyền địa tới khối quản lý nhớ MMU (Memory Man-agement Unit) MMU chọn ô nhớ sinh tín hiệu READ Lệnh chứa ô nhớ chuyển tới ghi MBR qua bus D MBR chuyển lệnh tới ghi IR Sau IR lại chuyển lệnh tới CU CU giải mã lệnh sinh tín hiệu xử lý cho đơn vị khác, ví dụ ALU để thực lệnh cộng Địa PC tăng lên để trỏ tới lệnh chương trình thực 10 Thực lại bước 3->9 để chạy hết lệnh chương trình Đặc điểm chức của các ghi * Thanh ghi tích lũy hay ghi A - Là ghi quan trọng CPU + Lưu trữ toán hạng đầu vào + Lưu kết đầu - Kích thước ghi A tương ứng với độ dài từ xử lý CPU: 8, 16, 32, 64 bit - Được sử dụng để trao đổi liệu với thiết bị vào *Bộ đếm chương trình PC - Lưu địa lệnh - PC chứa địa ô nhớ chứa lệnh chương trình kích hoạt tải vào nhớ Lừ Thị Thưởng – B21DCCN701 - Khi CPU chạy xong lệnh, địa lệnh tải vào PC - Kích thước PC phụ thuộc vào thiết kế CPU: 8, 16, 32, 64 bit *Thanh ghi lệnh IR (Instruction register) - Lưu trữ lệnh thực - IR lấy lệnh từ MBR chuyển tới CU để giải mã lệnh * Các ghi MAR MBR - MAR + Là ghi địa nhớ (Memory address register) - giao diện CPU bus địa + Nhận địa ô nhớ chứa lệnh từ PC chuyển tiếp bus địa - MBR + Là ghi đệm liệu (Memory buffer register) - giao diện CPU bus địa + Nhận lệnh từ bus địa chuyển tiếp lệnh đến IR thông qua bus CPU * Các ghi tạm thời - CPU thường sử dụng số ghi tạm thời để chứa toán hạng đầu vào kết đầu ra, ghi tạm thời X, Y Z Ngoài ra, ghi tạm thời tham gia việc hỗ trợ xử lý song song (thực nhiều lệnh thời điểm) hỗ trợ thực lệnh theo chế thực tiên tiến kiểu không theo trật tự (OOO – Out Of Order execution) - CPU thường sử dụng số ghi tạm thời để: + Lưu trữ toán hạng đầu vào + Lưu kết đầu + Hỗ trợ xử lý song song (tại thời điểm chạy nhiều lệnh) + Hỗ trợ thực lệnh theo chế thực tiên tiến kiểu không trật tự (OOO – Out Of Order execution) * Con trỏ ngăn xếp SP - Ngăn xếp đoạn nhớ đặc biệt hoạt động theo nguyên tắc vào sau trước (LIFO) - PC chứa địa ô nhớ chứa lệnh chương trình kích hoạt tải vào nhớ - Con trỏ ngăn xếp ghi trỏ tới đỉnh ngăn xếp - thao tác với ngăn xếp: + Push: đẩy liệu vào ngăn xếp SP R1 R1 cộng M[B] sau kết đưa vào R1 Tốn hạng địa chỉ OPCODE Mỡi địa Addr1, Addr2, Addr3 tham chiếu đến ô nhớ ghi Mỗi địa Addr1, Addr2 tham chiếu đến ô nhớ ghi Mỗi địa Addr tham chiếu đến ô nhớ ghi Khuôn dạng sử dụng Racc (thanh ghi tích lũy) mặc định cho địa thứ Một địa tham chiếu tới ô nhớ địa lại tham chiếu tới ghi Là dạng hỡn hợp tốn hạng ghi vị trí nhớ Được thực lệnh mà thực thao tác ngăn xếp: PUSH a PUSH b ADD POP c c=a+b Các chế độ địa chỉ: 10 Lừ Thị Thưởng – B21DCCN701 Chương 3: Pipeline – Bộ nhớ – Bộ nhớ cache A Pipeline Khái niệm, ví dụ, đặc điểm ❖ Cơ chế ống lệnh (pineline) - chế thực xen kẽ lệnh phương pháp thực lệnh tiên tiến, cho phép đồng thời thực nhiều lệnh, giảm thời gian trung bình thực mỡi lệnh tăng hiệu xử lý lệnh CPU Việc thực lệnh chia thành số giai đoạn mỗi giai đoạn thực thi bởi đơn vị chức khác CPU Nhờ CPU tận dụng tối đa lực xử lý đơn vị chức mình, giảm thời gian chờ cho từng đơn vị chức ❖ Đặc điểm: • Là dạng xử lý song song ở mức lệnh (instruction level parallelism (ILP)); • Một pipeline đầy đủ (fully pipelined) ln tiếp nhận lệnh mỡi chu kỳ đồng hồ; • Ngược lại, pipeline khơng đầy đủ có số chu kỳ trễ tiến trình thực hiện; • Số lượng giai đoạn (stages) pipeline phụ thuộc vào thiết kế vi xử lý: ▪ 2,3, giai đoạn (pipeline đơn giản) ▪ 14 giai đoạn (PII, PIII) ▪ 20-31 giai đoạn (P4) ▪ 12-15 giai đoạn (Core) ❖ Ví dụ: Cơ chế xen kẽ dòng lệnh ❖ Trong kiến trúc pipeline, công việc chia thành giai đoạn (stages), mỗi giai đoạn xử lý phần cơng việc Mỡi giai đoạn có nhiều tác vụ (tasks) mỗi tác vụ chạy vòng lặp khác Cơ chế xen kẽ dòng lệnh cho phép thực thi tác vụ giai đoạn khác đồng thời khoảng thời gian, từ tận dụng tối đa tài nguyên tăng tốc độ xử lý ❖ giai đoạn hệ thống load-store đơn giản: • Instruction Fetch - IF: Đọc lệnh từ nhớ (hoặc cache) • Instruction Decode - ID: giải mã lệnh đọc tốn hạng • Execute - EX: thực lệnh; lệnh truy nhập nhớ: tính toán địa nhớ • Memory Access - MEM: Đọc/ghi nhớ; no-op khơng truy nhập nhớ • Write Back - WB: Ghi kết vào ghi Các vấn đề xảy và cách khắc phục 11 Lừ Thị Thưởng – B21DCCN701 ❖ Vấn đề xung đột tài ngun (resource conflict) • Khơng đủ tài ngun phục vụ CPU • Ví dụ: nhớ hỡ trợ truy nhập mỗi thời điểm thời điểm, pipeline yêu cầu hai truy nhập nhớ (đọc lệnh – giai đoạn IF đọc liệu – giai đoạn ID) → nảy sinh xung đột • Giải pháp: o Nâng cao khả tài nguyên o Memory/ cache: hỗ trợ nhiều thao tác đọc/ ghi lúc o Chia cache thành cache lệnh cache liệu để cải thiện truy nhập ❖ Xung đột/ tranh chấp dữ liệu (data hazard) • Vấn đề Dữ liệu chưa sẵn sàng cho lệnh phụ thuộc gọi Data Hazard - xung đột liệu hay phụ thuộc liệu lệnh • Giải pháp: o Nhận dạng RAW hazard diễn o Khi RAW hazard xảy ra, tạm dừng (stall) pipeline lệnh phía trước hồn tất giai đoạn WB o Có thể sử dụng compiler để nhận dạng RAW và: o Chèn thêm lệnh NO-OP vào lệnh gây RAW; o Thay đổi trật tự lệnh chương trình chèn lệnh độc lập vào lệnh gây RAW; o Sử dụng phần cứng để nhận dạng RAW dự đoán trước giá trị liệu phụ thuộc ❖ Các lệnh rẽ nhánh (Branch Instruction) • Branch Targets (đích rẽ nhánh) o Khi lệnh rẽ nhánh thực thi, lệnh nạp lệnh ở địa đích (target), lệnh lệnh nhảy o Lệnh rẽ nhánh nhận biết ở giai đoạn ID, biết trước chúng cách giải mã sớm o Sử dụng Branch Target Buffer (BTB) để lưu vết lệnh rẽ nhánh thực thi: ▪ Các địa đích lệnh rẽ nhánh ▪ Lệnh đích lệnh rẽ nhánh o Nếu lệnh rẽ nhánh tái sử dụng (trong vòng lặp): ▪ Đ/c đích rẽ nhánh chúng sử dụng mà khơng cần tính tốn lại; ▪ Các lệnh rẽ nhánh sử dụng mà không cần phải nạp lại từ nhớ ➢ Việc thực địa lệnh đích rẽ nhánh thường khơng thay đổi • Rẽ nhánh có điều kiện (conditional branches) o Khó quản lý lệnh rẽ nhánh có điều kiện vì: ▪ Có lệnh đích để lựa chọn ▪ Không thể xác định lệnh đích tới lệnh rẽ nhánh thực xong ▪ Sử dụng BTB riêng rẽ không hiệu phải đợi tới xác định lệnh đích o Chiến lược xử lý rẽ nhánh: ▪ Làm chậm rẽ nhánh ▪ Dự đoán rẽ nhánh ➢ Làm chậm rẽ nhánh - Ý tưởng: Lệnh rẽ nhánh khơng làm rẽ nhánh mà sez bị làm chậm vài chu kỳ đòng hồ phụ thuộc vào độ dài pipeline - Đặc điểm: o Hoạt động tốt vi xử lý RISC lệnh có thời gian xử lý o Pipeline ngắn (thông thường giai đoạn) o Lệnh sau lệnh nhảy thực hiện, không phụ thuộc vào kết lệnh rẽ nhánh 12 Lừ Thị Thưởng – B21DCCN701 Cài đặt : o Sử dụng complier để chèn NO-OP vào vị trí sau lệnh rẽ nhánh o Chuyển lệnh độc lập từ trước tới sau lệnh rẽ nhánh - Ưu điểm: o Dễ cài đặt nhờ tối ưu trình biên dịch (complier) o Không cần phần cứng đặc biệt o Nếu chèn NO-OP làm giảm hiệu pipeline dài o Thay lệnh NO-OP lệnh độc lập làm giảm số lượng NO-OP cần thiết tới 70% - Nhược điểm: o Làm tăng độ phức tạp mã chương trình (code) o Cần lập trình viên người xây dựng trình biên dịch có mức độ hiểu biết sâu pipeline vi xử lý: hạn chế lớn o Giảm tính khả chuyển (portable) mã chương trình chương trình phải viết biên dịch lại VXL ➢ Dự đoán rẽ nhánh - Có thể dự đốn lệnh đích lệnh rẽ nhánh: o Dự đoán đúng: nâng cao hiệu o Dự đoán sai: đẩy lệnh load phải load lại lệnh đích rẽ nhánh o Trường hợp xấu dự đoán 50% 50% sai - Các sở để dự đoán: o Đối với lệnh nhảy ngược (backward): ▪ Thường phần vòng lặp ▪ Các vòng lặp thường thực nhiều lần ▪ Lần lặp cuối sai o Đối với lệnh nhảy xi (forward), khó dự đốn hơn: ▪ Có thể kết thúc lệnh loop ▪ Có thể nhảy có điều kiện Sử dụng ống lệnh và không sử dụng ống lệnh có gì khác - Cơ chế thực khơng pipeline, mỡi thời điểm có lệnh thực có đơn vị chức CPU làm việc, đơn vị chức khác trạng thái chờ - Cơ chế thực có pipeline, có nhiều lệnh đồng thời thực gối CPU hầu hết đơn vị chức CPU liên tục tham gia vào trình xử lý lệnh Số lượng lệnh xử lý đồng thời số giai đoạn thực lệnh - Với giai đoạn thực lệnh, để xử lý lệnh, CPU cần nhịp đồng hồ với chế thực có pipeline, CPU cần đến 25 nhịp đồng hồ để thực lệnh với chế thực không pipeline - 13 Lừ Thị Thưởng – B21DCCN701 B Bộ nhớ Sơ đồ phân cấp bộ nhớ ❖ ❖ ❖ ❖ ❖ ❖ Từ xuống: - Dung lượng tăng dần - Tốc độ giảm dần - Giá thành / bít giảm dần Các thành phần phân cấp bợ nhớ Các ghi CPU (CPU Registers), • Kích thước nhỏ (vài chục byte tới vài KB) • Tốc độ nhanh, thời gian truy cập khoảng 0.25 ns, giá thành đắt • Lưu trữ tạm thời liệu đầu vào cho lệnh Bộ nhớ cache (Cache) • Kích thước nhỏ (64KB tới 16MB) • Tốc độ nhanh, thời gian truy cập khoảng – 5ns, giá thành đắt • Lưu trữ lệnh liệu cho CPU • Cịn gọi "bộ nhớ thơng minh"(smart memory) Bộ nhớ chính (Main Memory) • Kích thước lớn, dung lượng từ 256MB tới 4GB cho hệ 32bits • Tốc độ chậm, thời gian truy cập từ 50 – 70ns • Lưu trữ lệnh liệu cho hệ thống người dùng • Giá thành rẻ Bộ nhớ (Secondary / Tertiary Storage) , Bộ nhớ phụ: • Kích thước lớn, dung lượng từ 20GB tới 1000GB • Tốc độ chậm, thời gian truy cập khoảng 5ms • Lưu trữ lượng liệu lớn dạng file thời gian lâu dài • Giá thành rẻ Vai trò của mô hình phân cấp bộ nhớ Nâng cao hiệu hệ thống: • Dung hịa CPU có tốc độ cao với nhớ chính nhớ phụ có tốc độ thấp • Thời gian truy cập liệu trung bình CPU từ hệ thống nhớ gần thời gian truy cập cache Giảm giá thành sản xuất: • Các thành phần đắt tiền sử dụng với dung lượng nhỏ + Các thành phần rẻ sử dụng với dung lượng lớn • Tổng giá thành hệ thống nhớ theo mơ hình phân cấp rẻ so với hệ thống nhớ không phân cấp tốc độ 14 Lừ Thị Thưởng – B21DCCN701 C Bộ nhớ cache Khái niệm, vai trò của cache? ❖ Khái niệm: Cache thành phần hệ thống nhớ phân cấp máy tính đóng vai trung gian, trung chuyển liệu từ nhớ chính CPU ngược lại ❖ Vị trí của cache: • Với hệ thống CPU cũ, cache thường nằm ngồi CPU • Với CPU mới, cache thường tích hợp vào CPU ❖ Vai trò: • Tăng hiệu hệ thống o Dung hoà CPU có tốc độ cao nhớ chính có tốc độ thấp o Thời gian trung bình CPU truy nhập liệu từ hệ thống nhớ tiệm cận thời gian truy nhập cache • Giảm giá thành sản xuất o Nếu hai hệ thống nhớ có giá thành, hệ thống nhớ có cache có tốc độ truy nhập nhanh hơn; o Nếu hai hệ thống nhớ có tốc độ, hệ thống nhớ có cache có giá thành rẻ 2 nguyên ý hoạt động của bộ nhớ cache: lân cận về không gian và thời gian ❖ Cache coi nhớ thơng minh: • Cache có khả đốn trước u cầu liệu lệnh CPU; • Dữ liệu lệnh cần thiết chuyển trước từ nhớ chính cache → CPU truy nhập cache → giảm thời gian truy nhập hệ thống nhớ ❖ Cache hoạt động dựa nguyên lý bản: • Nguyên lý lân cận khơng gian (Spatial locality) • Ngun lý lân cận thời gian (Temporal locality) ❖ Nguyên lý lân cận khơng gian • Nếu nhớ truy nhập xác xuất nhớ liền kề với truy nhập tương lai gần cao; • Áp dụng: Lân cận khơng gian áp dụng cho nhóm lệnh/dữ liệu có tính cao khơng gian chương trình; • Giải thích: Do lệnh chương trình thường → cache đọc khối lệnh từ nhớ → phủ nhớ lân cận ô nhớ truy nhập ❖ Nguyên lý lân cận thời gian • Nếu nhớ truy nhập xác xuất truy nhập lại tương lai gần cao; • Áp dụng: Lân cận thời gian áp dụng cho liệu nhóm lệnh vịng lặp; • Giải thích: o Các phần tử liệu thường cập nhật, sửa đổi thường xuyên; o Cache đọc khối lệnh từ nhớ chính → phủ khối lệnh vịng lặp Phương thức trao đởi giữa CPU – cache – mem ❖ CPU đọc/ghi phần tử liệu đơn lẻ với cache ❖ Cache đọc/ghi khối liệu lớn với nhớ chính (theo khối, mỗi khối gồm nhiều byte kề với mục đích bao phủ mẩu liệu lân cận theo khơng gian thời gian) ❖ Hit (đốn trúng) kiện mà CPU truy nhập mục tin có ở cache: 15 Lừ Thị Thưởng – B21DCCN701 ❖ ❖ ❖ ▪ Xác suất để có hit gọi hệ số hit, H ▪

Ngày đăng: 19/09/2023, 22:52

TỪ KHÓA LIÊN QUAN

w