Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
1,09 MB
Nội dung
Câu hỏi 1.1: Kiến trúc máy tính ? Kiến trúc máy tính cấu thành từ thành phần ? TL: 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: - Câu hỏi 1.5: Thanh ghi cờ (hay ghi trạng thái) vi xử lý có chức ? Nêu ý nghĩa cờ nhớ (C), cờ không (Z), cờ dấu (S) TL: Thanh ghi trạng thái (SR - Status Register) ghi cờ (FR – Flag Register) ghi đặc biệt CPU Mỗi bít FR lưu trạng thái kết phép tính ALU thực Hai loại bít cờ: Cờ trạng thái (CF, OF, AF, ZF, PF, SF) cờ điều khiển (IF, TF, DF) Các bít cờ thường sử dụng điều kiện lệnh rẽ nhánh để tạo logic chương trình Kích thước ghi FR phụ thuộc thiết kế CPU Ý nghĩa số cờ: ZF: Cờ Zero, ZF=1 kết quả=0 ZF=0 kết quả0 SF: Cờ dấu, SF=1 kết âm SF=0 kết dương CF: Cờ nhớ, CF=1 có nhớ/mượn, CF=0 trường hợp khác - Hiệu năng/tốc độ (performance): nhanh - Chức (functionality): nhiều tính - Giá thành (cost): rẻ Kiến trúc máy tính hai khái niệm công nghệ máy tính KTMT bao gồm thành phần là: - Kiến trúc tập lệnh (Instruction set architecture – ISA) - Vi kiến trúc (micro-architecture) - Thiết kế hệ thống (System Design) Câu hỏi 1.2: Nêu sơ đồ khối chức hệ thống máy tính TL: Sơ đồ khối chức hệ thống máy tính hình bên: Câu hỏi 1.6: Chế độ địa vi xử lý ? Mơ tả chế độ địa tức Cho ví dụ TL: Chế độ địa (Addressing modes) phương thức CPU tổ chức toán hạng lệnh, cho phép CPU kiểm tra dạng tìm tốn hạng Trong đó: Bộ xử lý trung tâm (CPU) Bộ nhớ (Internal Memory): bao gồm: ROM RAM Các thiết bị vào (Peripheral devices) Bus hệ thống (system bus) - Câu hỏi 1.3: Thanh ghi vi xử lý gì? Nêu chức đặc điểm ghi tích luỹ A TL: Thanh ghi (registers) nhớ bên CPU có đặc điểm kích thước nhỏ, tốc độ cao (bằng tốc độ CPU) có chức lưu trữ tạm thời lệnh liệu cho CPU xử lý Số lượng ghi tuỳ thuộc vào đời CPU, CPU cũ (80x86) có 16-32 ghi; CPU đại (Pentium Core Duo) có hàng trăm ghi; Kích thước ghi phụ thuộc vào thiết kế CPU Các kích thước thơng dụng ghi 8, 16, 32, 64, 128 256 bit Thanh tích luỹ A ghi quan trọng hầu hết CPU Thanh ghi tích luỹ A có chức năng: - dùng để chứa tốn hạng đầu vào - dùng để chứa kết đầu - sử dụng để trao đổi liệu với thiết bị vào Kích thước A kích thước từ xử lý CPU: 8, 16, 32 64 bit lệnh Chế độ địa tức thì: chế độ địa tức thì, giá trị toán hạng nguồn (source operand) nằm sau mã lệnh, tốn hạng đích ghi địa nhớ Ví dụ: LOAD R1, #1000; R1 ← 1000; Nạp giá trị 1000 vào ghi R1 LOAD B, #500; M[B] ← 500; Nạp giá trị 500 vào ô nhớ B Câu hỏi 1.7: Chế độ địa vi xử lý ? Mơ tả chế độ địa trực tiếp Cho ví dụ TL: Chế độ địa (Addressing modes) phương thức CPU tổ chức tốn hạng lệnh, cho phép CPU kiểm tra dạng tìm tốn hạng lệnh Sử dụng để biểu diễn địa nhớ làm tốn hạng, tốn hạng cịn lại ghi địa nhớ; Ví dụ: LOAD R1, 1000; R1 ←M[1000] Nạp nội dung nhớ có địa 1000 vào ghi R1 Câu hỏi 1.4: Nêu chức đặc điểm đếm chương trình PC - Bộ đếm chương trình PC (Program Counter) trỏ lệnh (IP – Instruction Pointer) chứa địa ô nhớ chứa lệnh thực - Khi CPU thực xong lệnh, địa ô nhớ chứa lệnh nạp vào PC Kích thước PC phụ thuộc vào thiết kế CPU Các kích thước thơng dụng 8, 16, 32 64 bit PC chứa địa ô nhớ chứa lệnh chương trình kích hoạt nạp vào nhớ CPU trao đổi phần tử liệu cần thiết theo yêu cầu lệnh Ngược lại, cache trao đổi liệu với nhớ theo khố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 Ngoài ra, trao đổi liệu theo khối (hay mẻ) với nhớ giúp cache tận dụng tốt băng thơng đường truyền nhờ tăng tốc độ truyền liệu Câu hỏi 1.8: Chế độ địa vi xử lý ? Mô tả chế độ địa gián tiếp qua ghi Cho ví dụ minh hoạ TL: Chế độ địa (Addressing modes) phương thức CPU tổ chức tốn hạng lệnh, cho phép CPU kiểm tra dạng tìm tốn hạng lệnh Trong chế độ địa gián tiếp qua ghi, ghi sử dụng để lưu địa toán hạng, tốn hạng cịn lại hằng, ghi nhớ Ví dụ: LOAD Rj, (Ri); Rj ← M[Ri]; Nạp nội dung ô nhớ có địa lưu ghi Ri vào ghi Rj Câu hỏi 2.1: Nêu sơ đồ khối chức chức thành phần hệ thống máy tính ? TL : Sơ đồ khối chức hệ thống máy tính hình bên: Bộ xử lý trung tâm (Central Processing Unit - CPU) có chức năng: đọc lệnh từ nhớ, giải mã thực lệnh CPU bao gồm: - Bộ điều khiển (Control Unit - CU) - Bộ tính tốn số học logic (Arithmetic and Logic Unit - ALU) - Các ghi (Registers) Câu hỏi 1.9: Chế độ địa vi xử lý ? Mơ tả chế độ địa gián tiếp qua ô nhớ Cho ví dụ minh hoạ TL: Chế độ địa (Addressing modes) phương thức CPU tổ chức toán hạng lệnh, cho phép CPU kiểm tra dạng tìm tốn hạng lệnh Trong chế độ địa gián tiếp qua ô nhớ, ô nhớ sử dụng để lưu địa toán hạng, toán hạng cịn lại hằng, ghi nhớ Ví dụ: LOAD Ri, (1000); Ri ← M(M(1000)) Nạp nội dung nhớ có địa lưu ô nhớ 1000 vào ghi Ri Câu hỏi 1.10: Chế độ địa vi xử lý ? Mơ tả chế độ địa chỉ số Cho ví dụ minh hoạ TL: Chế độ địa (Addressing modes) phương thức CPU tổ chức tốn hạng lệnh, cho phép CPU kiểm tra dạng tìm tốn hạng lệnh Trong chế độ địa chỉ số, địa toán hạng tạo thành phép cộng ghi số (index register), tốn hạng cịn lại hằng, ghi nhớ Ví dụ: LOAD Ri, X(Rind); Ri ← M[X+Rind]; X Rind ghi số Bộ nhớ (Internal Memory) có chức năng: lưu trữ lệnh (instruction) liệu (data) cho CPU xử lý Bộ nhớ bao gồm: - ROM (Read Only Memory): Lưu trữ lệnh liệu hệ thố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; thông tin RAM mất nguồn nuôi Các thiết bị vào (Peripheral devices): Thiết bị vào (Input devices): nhập liệu điều khiển Bao gồm: Bàn phím (Keyboard), Chuột (Mice), Ổ đĩa (Disk drives), Máy quét (Scanner) Thiết bị (Output devices): kết xuất liệu Bao gồm: Màn hình (Monitor/screen), Máy in (Printer), Máy vẽ (Plotter), Ổ đĩa (Disk drives) Bus hệ thống (system bus): 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 Bus hệ thống thường gồm: - Bus địa (Address bus) – Bus A - Bus liệu (Data bus) – Bus D Câu hỏi 1.11: Chế độ địa vi xử lý ? Mơ tả chế độ địa tương đối Cho ví dụ minh hoạ TL: Chế độ địa (Addressing modes) phương thức CPU tổ chức tốn hạng lệnh, cho phép CPU kiểm tra dạng tìm tốn hạng lệnh Chế độ địa tương đối: chế độ địa này, địa toán hạng tạo thành phép cộng đếm chương trình PC (Program Counter), tốn hạng cịn lại hằng, ghi nhớ Ví dụ: LOAD Ri, X(PC); Ri ← M[X+PC]; X PC đếm chương trình Câu hỏi 1.12: Nêu phương thức trao đổi liệu CPU, cache nhớ TL: Sơ đồ trao đổi liệu CPU, cache nhớ hình bên CPU trao đổi liệu với cache theo đơn vị sở byte, từ, từ kép Cache trao đổi liệu với nhớ theo khối với kích thước 16, 32, 64 bytes Sở dĩ CPU trao đổi liệu với cache theo đơn vị sở mà không theo khối liệu lưu ghi CPU - vốn có dung lượng hạn chế Vì vậy, - Bus điều khiển (Control bus) - Bus C Câu hỏi 2.4: Nêu sơ đồ khối tổng quát chu trình xử lý lệnh CPU TL : CU : Câu hỏi 2.2: Nêu sơ đồ đặc điểm kiến trúc máy tính von-Neumann Kiến trúc máy tính von-Neumann đại khác kiến trúc máy tính von-Neumann cổ điển điểm ? TL : Kiến trúc von-Neumann dựa khái niệm sở: - Lệnh liệu lưu trữ nhớ đọc ghi chia sẻ; - Bộ nhớ đánh địa theo vùng, không phụ thuộc vào nội dung lưu trữ; - Các lệnh chương trình thực Các lệnh thực theo giai đoạn (stages) chính: - CPU đọc (fetch) lệnh từ nhớ; - CPU giải mã thực lệnh; lệnh yêu cầu liệu, CPU đọc liệu từ nhớ; - CPU ghi kết thực lệnh vào nhớ (nếu có) Bộ điều khiển ALU : Bộ số học logic Internal Bus : Bus CPU A : Thanh ghi tích luỹ (Accumulator Register) PC : Bộ đếm chương trình IR : Thanh ghi lệnh MAR : Thanh ghi địa nhớ MBR : Thanh ghi đệm liệu Y, Z : Thanh ghi tạm thời FR : Thanh ghi cờ Chu trình xử lý lệnh CPU Câu hỏi 2.3: Nêu sơ đồ đặc điểm kiến trúc máy tính Harvard Kiến trúc máy tính Harvard có ưu điểm so với kiến trúc máy tính von-Neumann Các máy tính đại ngày sử dụng kiến trúc ? TL : Bộ nhớ chia thành phần: - Bộ nhớ lưu mã chương trình - Bộ nhớ lưu liệu CPU sử dụng hệ thống bus để giao tiếp với nhớ: - Bus A, D C giao tiếp với nhớ chương trình - Bus A, D C giao tiếp với nhớ liệu So sánh Kiến trúc Havard Kiến trúc von-Neumann: - Kiến trúc Harvard nhanh kiến trúc vonNeumann băng thông bus lớn - Hỗ trợ nhiều thao tác đọc/ghi nhớ thời điểm → giảm xung đột truy nhập nhớ, đặc biệt CPU sử dụng kỹ thuật đường ống (pipeline) Tuy nhiên hệ thống máy tính phổ biến sử dụng kiến trúc von-Neumann đại kiến trúc phức tạp hơn, rẻ so với hệ thống dùng kiến trúc Harvard, máy tính phân cấp nhớ nên tốc độ cải thiện đáng kể Hơn nữa, kiến trúc von-Neumann đời trc nên nhà sản xuất máy tính phát triển cơng nghệ sản xuất tảng này, thay đổi tốn Khi chương trình thực hiện, hệ điều hành (OS - Operating System) nạp mã chương trình vào nhớ Địa ô nhớ chứa lệnh chương trình nạp vào đếm chương trình PC Địa nhớ chứa lệnh từ PC chuyển đến bus A thông qua ghi MAR Bus A chuyển địa ô nhớ đến đơn vị quản lý nhớ (MMU - Memory Management Unit) MMU chọn ô nhớ thực lệnh đọc nội dung ô nhớ Lệnh (trong ô nhớ) chuyển bus D chuyển tiếp đến ghi MBR; MBR chuyển lệnh đến ghi lệnh IR; IR chuyển lệnh vào điều khiển CU CU giải mã lệnh sinh tín hiệu điều khiển cần thiết, yêu cầu phận chức ALU thực lệnh Giá trị địa đếm PC tăng lên đơn vị trỏ đến địa ô nhớ chứa lệnh 10.Các bước từ 3-9 lặp lại với tất lệnh chương trình Lưu kết (Write back - WB): kết thực lệnh (nếu có) lưu vào nhớ Dạng tổng quát lệnh gồm thành phần chính: - Câu hỏi 2.5: Nêu sơ đồ khối chức khối điều khiển (CU) khối tính tốn số học logic (ALU) TL : Sơ đồ khối đơn vị điều khiển CU Đơn vị điều khiển CU (Control Unit) điều khiển toàn hoạt động CPU theo xung nhịp đồng hồ CU nhận tín hiệu đầu vào: Lệnh từ IR Giá trị cờ trạng thái Xung đồng hồ CU sinh nhóm tín hiệu đầu ra: Nhóm tín hiệu điều khiển phận bên CPU; Nhóm tín hiệu điều khiển phận bên CPU CU sử dụng nhịp đồng hồ để đồng đơn vị chức CPU CPU với phận bên Đơn vị số học & logic ALU ALU (Arithmetic and Logic Unit) bao gồm loạt đơn vị chức để thực phép toán số học logic: - Bộ cộng (ADD), trừ (SUB), nhân (MUL), chia (DIV), - Các dịch (SHIFT) quay (ROTATE) - Bộ phủ định (NOT), (AND), (OR) loại trừ (XOR) ALU có: - cổng vào IN: nhận tốn hạng từ ghi - cổng OUT: kết nối với bus để chuyển kết đến ghi Mã lệnh (Opcode operation code): lệnh có mã lệnh riêng - Địa toán hạng (Addresses of Operands): lệnh gồm nhiều tốn hạng Có thể có dạng địa toán hạng sau: địa chỉ; địa chỉ; địa chỉ; 1,5 địa chỉ; địa - Câu hỏi 2.7: Nêu dạng địa lệnh Cho ví dụ minh hoạ với dạng địa Câu hỏi 2.6: Lệnh máy tính ? … Chu kỳ lệnh ? Nêu pha điển hình chu lệnh Nêu dạng lệnh tổng qt thành phần TL : Tốn hạng địa chỉ: Dạng: opcode addr1, addr2, addr3 Mỗi địa addr1, addr2, addr3 tham chiếu đến ô nhớ ghi Ví dụ: ADD R1, R2, R3; R1 ← R2 + R3 R2 cộng với R3, kết gán vào R1 (Ri ghi CPU) ADD A, B, C; M[A] ← M[B] + M[C] A, B, C địa ô nhớ Toán hạng địa chỉ: Dạng: opcode addr1, addr2 Mỗi địa addr1, addr2 tham chiếu đến ô nhớ ghi Ví dụ: ADD R1, R2; R1 ← R1 + R2 R1 cộng với R2, kết gán vào R1 (Ri ghi CPU) ADD A, B; M[A] ← M[B] + M[B] A, B địa nhớ Tốn hạng địa chỉ: Dạng: opcode addr1 TL : Lệnh máy tính (Computer Instruction) từ nhị phân (binary word) gán nhiệm vụ cụ thể Các lệnh chương trình lưu nhớ chúng CPU đọc, giải mã thực Chu lệnh (Instruction execution cycle): khoảng thời gian mà CPU thực xong lệnh: - Một chu lệnh gồm số giai đoạn thực lệnh - Một giai đoạn thực lệnh gồm số chu kỳ máy - Một chu kỳ máy gồm số chu kỳ đồng hồ Việc thực lệnh chia thành pha (phase) hay giai đoạn (stage) Mỗi lệnh thực theo giai đoạn: - Đọc lệnh (Instruction fetch - IF): lệnh đọc từ nhớ CPU; - Giải mã (Instruction decode - ID): CPU giải mã lệnh; - Thực (Instruction execution – EX): CPU thực lệnh; Địa addr1 tham chiếu đến ô nhớ ghi Ở dạng địa chỉ, ghi tích luỹ A (Accumulator) sử dụng địa addr2 dạng địa Ví dụ: ADD R1; Racc ← Racc + R1 R1 cộng với Racc, kết gán vào Racc R1 ghi CPU ADD A; Racc ← Racc + M[A] A địa nhớ Tốn hạng 1,5 địa chỉ: Dạng: opcode addr1, addr2 Một địa tham chiếu đến nhớ địa cịn lại tham chiếu đến ghi Dạng 1,5 địa dạng hỗn hợp nhớ ghi Ví dụ: ADD A, R1; M[A] ← M[A] + R1 Nội dung ô nhớ A cộng với R1, kết lưu vào ô nhớ A R1 ghi CPU A địa nhớ Tốn hạng địa chỉ: Được sử dụng lệnh thao tác với ngăn xếp: PUSH POP - Ngược lại, pipeline khơng đầy đủ có số chu kỳ trễ tiến trình thực Câu hỏi 2.8: Cơ chế xử lý xen kẽ dòng lệnh (ống lệnh – pipeline) ?Nêu đặc điểm chế ống lệnh TL : Cơ chế ống lệnh (pipeline) hay gọi chế thực xen kẽ lệnh chương trì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 lệnh tăng hiệu xử lý lệnh CPU Việc thực lệnh chia thành số giai đoạn giai đoạn thực thi đơ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 đơn vị chức 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 Câu hỏi 2.9: Nêu cấu trúc phân cấp hệ thống nhớ máy tính Tại cấu trúc phân cấp hệ thống nhớ giúp tăng hiệu giảm giá thành sản xuất máy tính ? TL : Cấu trúc phân cấp hệ thống nhớ thể hình bên Trong cấu trúc phân cấp hệ thống nhớ, dung lượng thành phần tăng theo chiều từ ghi CPU đến nhớ Ngược lại, tốc độ truy nhập hay băng thông giá thành đơn vị nhớ tăng theo chiều từ nhớ đến ghi CPU Như vậy, ghi CPU có dung lượng nhỏ có tốc độ truy cập nhanh có giá thành cao Bộ nhớ ngồi có dung lượng lớn nhất, tốc độ truy cập thấp Bù lại, nhớ có giá thành rẻ nên sử dung với dung lượng lớ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) Đặc điểm chế ống lệnh: - 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 chu kỳ đồng hồ CPU registers (các ghi CPU): • Dung lượng nhỏ, khoảng từ vài chục bytes đến vài KB • Tốc độ truy nhập cao (các ghi hoạt động với tốc độ • CPU); thời gian truy nhập khoảng 0,25ns • Giá thành đắt • Sử dụng để lưu toán hạng đầu vào kết lệnh.Cache (bộ nhớ cache): • • • • • Dung lượng tương đối nhỏ (khoảng 64KB đến 32MB) Tốc độ truy nhập cao; thời gian truy nhập khoảng 1-5ns Giá thành đắt Cịn gọi “bộ nhớ thơng minh” (smart memory) Sử dụng để lưu lệnh liệu cho CPU xử lý Main memory (bộ nhớ chính): • Gồm ROM RAM, có kích thước lớn; với hệ thống 32 bít, dung lượng khoảng 256MB-4GB • Tốc độ truy nhập chậm; thời gian truy nhập khoảng 50-70ns • Giá thành tương đối rẻ • Sử dụng để lưu lệnh liệu hệ thống người dùng Secondary memory (bộ nhớ thứ cấp – nhớ ngồi): • Có dung lượng lớn, khoảng từ 20GB-1000GB • Tốc độ truy nhập chậm; thời gian truy nhập khoảng 5ms • Giá thành rẻ • Sử dụng để lưu liệu lâu dài dạng tệp (files) Vai trò việc phân cấp hệ thống nhớ: Tăng hiệu hệ thống • Dung hồ CPU có tốc độ cao phần nhớ nhớ ngồi có tốc độ thấp; • 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 • Các thành phần đắt tiền (thanh ghi cache) sử dụng với dung lượng nhỏ; • Các thành phần rẻ tiền (bộ nhớ nhớ ngồi) 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 có tốc độ Do cấu trúc bên SRAM bit phức tạp nên mật độ cấy linh kiện SRAM thường thấp Câu hỏi 2.11: Bộ nhớ cache ? Nêu vai trị cache Giải thích hai nguyên lý hoạt động cache TL : Cache hay gọi nhớ đệm thành phần hệ thống nhớ phân cấp máy tính, cache đóng vai trung gian, trung chuyển liệu từ nhớ CPU ngược lại Vai trị cache Tăng hiệu hệ thống • Dung hồ CPU có tốc độ cao nhớ có tốc độ thấp; • 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 • 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; • Nếu hai hệ thống nhớ có tốc độ, hệ thống nhớ có cache có giá thành rẻ Các nguyên lý hoạt động cache 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ớ 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) Câu hỏi 2.10: Phân biệt nhớ RAM tĩnh RAM động Tại nhớ RAM động cần trình làm tươi RAM động thường rẻ RAM tĩnh ? TL :SRAM (Static Ram) loại RAM sử dụng mạch lật trigo lưỡng ổn để lưu bit thông tin Thông tin SRAM ổn định “làm tƣơi” định kỳ Tốc độ truy nhập SRAM nhanh nhiều so với DRAM Mỗi mạch lật lưu bit thường sử dụng 6, 10 transitors (gọi mạch 6T, 8T 10T); SRAM thường có tốc độ truy nhập nhanh bit SRAM có cấu trúc đối xứng, Các mạch nhớ SRAM chấp nhận tất chân địa thời điểm (không dồn kênh) • Nguyên lý lân cận thời gian (Temporal locality) Nguyên lý không gian: Nếu xác xuất với tương cao; Áp dụng: • Lân DRAM (Dynamic Ram): Mỗi bit DRAM dựa tụ điện transitor:Hai mức tích điện tụ biểu diễn mức logic 1: • Khơng tích điện: mức • Tích đầy điện: mức Thông tin lưu bit DRAM không ổn định phải “làm tươi” định kỳ DRAM chậm rẻ SRAM RAM động cần q trình làm tươi tụ thường tự phóng điện, điện tích tụ có xu hướng bị tổn hao theo thời gian nên: lân cận ô nhớ truy nhập nhớ liền kề truy nhập lai gầ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: • Cần nạp lại thông tin tụ thường xuyên để tránh thơng tin • Việc nạp lại thơng tin cho tụ trình làm tươi (refresh), phải theo định kỳ DRAM thường rẻ SRAM do: Mỗi bít SRAM dùng nhiều transitor so với bit DRAM 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: • Các phần tử liệu thường cập nhật, sửa đổi thường xuyên; Cache đọc khối lệnh từ nhớ → phủ khối lệnh vòng lặp Câu hỏi 3.1: Nêu sơ đồ đặc điểm hai dạng kiến trúc cache : Look Aside Look Through Trong hai dạng kiến trúc trên, dạng sử dụng nhiều thực tế nay? Tại sao? TL: Cache – Look aside SRAM: RAM lưu liệu cache Tag RAM: RAM lưu địa nhớ Cache nhớ kết nối với bus hệ thống; Cache nhớ “thấy” chu kỳ bus CPU thời điểm; Ưu điểm: • Thiết kế đơn giản • Miss nhanh Nhược điểm: • Hit chậm Cache – Look through SRAM: RAM lưu liệu cache Tag RAM: RAM lưu địa nhớ Cache nằm CPU nhớ chính; Cache “thấy” chu kỳ bus CPU trước, sau chuyển chu kỳ bus cho nhớ chính; Ưu điểm: • Hit nhanh Nhược điểm: • Thiết kế phức tạp • Đắt tiền • Miss chậm Ánh xạ Ánh xạ dòng trang đến dòng đường (ánh xạ cố định) Một dòng nhớ ánh xạ vào dòng cache; Ánh xạ trang đến đường (ánh xạ mềm dẻo): Một trang nhớ ánh xạ đến đường cache Ánh xạ dòng trang đến dòng đường (ánh xạ cố định) Giảm xung đột ánh xạ không cố định Hệ số Hit cao ánh xạ trực tiếp Nhanh ánh xạ trực tiếp sử dụng cho ánh xạ dòng (chiếm số lớn ánh xạ); Giảm xung đột ánh xạ từ trang nhớ đến đường cache mềm dẻo Hệ số Hit cao Câu hỏi 3.2: So sánh phương pháp ánh xạ cache: ánh xạ trực tiếp, ánh xạ kết hợp đầy đủ ánh xạ tập kết hợp? Phương pháp ánh xạ phương pháp sử dụng nhiều thực tế? Tại sao? TL : Tiêu chí Giống Ưu điểm Ánh xạ trực tiếp Ánh xạ kết hợp đầy đủ Ánh xạ tập kết hợp Thiết kế đơn giản Nhanh ánh xạ cố định: biết đị ô nhớ tìm vị trí cache nhanh chóng Cùng phương pháp ánh xạ cache-mem Cache chia thành dòng Khác Bộ nhớ m trang trang m trang Nhược điểm Do ánh xạ cố định nên dễ gây xung đột Hệ số hit khơng cao Chậm cần phải tìm địa nhớ cache Phức tạp cần có n so sánh địa nhớ cache Thường sử dụng với cache có dung lượng nhỏ ADD R1, R2, R3 ; R1 ← R2+R3 CMP R1, #100 ; so sánh R1 với 100 SUB R5, #2000 ; R5 ← R5 - 2000 biết lệnh chia thành giai đoạn pipeline: Đọc lệnh (IF), giải mã & đọc toán hạng (ID), truy nhập nhớ (MEM), thực (EX) lưu kết (WB) TL : a Cơ chế ống lệnh (pipeline) CPU thường gặp phải vấn đề: Vấn đề xung đột tài nguyên Vấn đề xung đột tài nguyên xảy hệ thống không cung cấp đủ tài nguyên phần cứng phục vụ CPU thực đồng thời nhiều lệnh chế ống lệnh Vấn đề tranh chấp liệu Tranh chấp liệu vấn đề lớn chế ống lệnh tranh chấp liệu kiểu đọc sau ghi (RAW – Read After Write) dạng xung đột liệu hay gặp Vấn đề nảy sinh lệnh rẽ nhánh Theo thống kê, tỷ lệ lệnh rẽ nhánh chƣơng trình khoảng 10-30% Do lệnh rẽ nhánh thay đổi nội dung đếm chƣơng trình, chúng phá vỡ tiến trình thực lệnh ống lệnh lệnh đƣợc thực sau lệnh rẽ nhánh khơng phải lệnh liền sau mà lệnh vị trí khác Nhƣ vậy, kiểu thực gối đầu, lệnh liền sau lệnh rẽ nhánh đƣợc nạp thực dở dang trong ống lệnh bị đẩy làm cho ống lệnh bị trống rỗng hệ thống phải bắt đầu nạp lệnh từ địa đích rẽ nhánh b Hướng giải xung đột liệu chế Pipline Đoạn chương trình bị xung đột liệu chỗ : ADD R1, R2, R3 ; R1 ← R2+R3 CMP R1, #100 ; so sánh R1 với 100 Phức tạp thiết kế điều khiển cache chia thành số đường Câu hỏi 3.3: Nêu phương pháp đọc ghi sách thay dòng cache Tại thay dòng cache sử dụng phương pháp LRU có khả cho hệ số đốn trúng (hit) cao ? TL : Đọc thông tin: +Trường hợp hit (mẩu tin cần đọc có cache) • Mẩu tin đọc từ cache vào CPU; • Bộ nhớ khơng tham gia +Trường hợp miss (mẩu tin cần đọc khơng có cache) • Mẩu tin trước hết đọc từ nhớ vào cache; • Sau chuyển từ cache vào CPU →đây trường hợp miss penalty: thời gian truy nhập mẩu tin tổng thời gian truy nhập cache nhớ Ghi thơng tin: +Trường hợp hit (mẩu tin cần ghi có cache) • Ghi thẳng (write through): mẩu tin ghi đồng thời cache nhớ chính; • Ghi trễ (write back): mẩu tin trước hết ghi cache dòng chứa mẩu tin ghi nhớ dịng bị thay +Trường hợp miss (mẩu tin cần ghi khơng có cache) • Ghi có đọc lại (write allocate / fetch on write): mẩu tin trước hết ghi nhớ sau dịng chứa mẩu tin đọc vào cache; • Ghi khơng đọc lại (write non-allocate): mẩu tin ghi nhớ (dịng chứa mẩu tin khơng đọc vào cache) Chính sách thay (replacement policies) xác định dòng cache chọn để thay dịng khác từ nhớ Các sách thay thế: Ngẫu nhiên (Random) Vào trước trước (FIFO) Thay dịng sử dụng gần (LRU) Thay dịng sử dụng gần (LRULeast Recently Used): Các dòng cache sử dụng gần lựa chọn để thay Ưu: • Có hệ số miss thấp so với thay ngẫu nhiên thay FIFO • Do thay LRU có xem xét đến dòng sử dụng Câu hỏi 3.6: Cơ chế ống lệnh (pipeline) CPU thường gặp phải vấn đề gì? Nêu hướng giải xung đột liệu pipeline thực đoạn chương trình sau: ADD R4, R4, #300 ; R4 ← R4+300 Đây xung đột tranh chấp liệu kiểu đọc sau ghi (RAW – Read After Write) Để khắc phục xung đột liêu đoạn chương trình ta chèn thêm lệnh NO-OP lệnh ADD CMP Câu hỏi 3.7: Cơ chế ống lệnh (pipeline) CPU thường gặp phải vấn đề gì? Nêu hướng giải xung đột liệu pipeline thực đoạn chương trình sau: ADD R4, R4, #300 ; R4 ← R4+300 ADD R1, R1, R3 ; R1 ← R1+R3 SUB R1, R1, #100 ; R1 ← R1 - 100 SUB R5, #2000 ; R5 ← R5 - 2000 biết lệnh chia thành giai đoạn pipeline: Đọc lệnh (IF), giải mã & đọc toán hạng (ID), truy nhập nhớ (MEM), thực (EX) lưu kết (WB) TL : a Cơ chế ống lệnh (pipeline) CPU thường gặp phải vấn đề: Vấn đề xung đột tài nguyên Vấn đề xung đột tài nguyên xảy hệ thống không cung cấp đủ tài nguyên phần cứng phục vụ CPU thực đồng thời nhiều lệnh chế ống lệnh Vấn đề tranh chấp liệu Tranh chấp liệu vấn đề lớn chế ống lệnh tranh chấp liệu kiểu đọc sau ghi (RAW – Read After Write) dạng xung đột liệu hay gặp Vấn đề nảy sinh lệnh rẽ nhánh Theo thống kê, tỷ lệ lệnh rẽ nhánh chƣơng trình khoảng 10-30% Do lệnh rẽ nhánh thay đổi nội dung đếm chƣơng trình, chúng phá vỡ tiến trình thực lệnh ống lệnh lệnh đƣợc thực sau lệnh rẽ nhánh khơng phải lệnh liền sau mà lệnh vị trí khác Nhƣ vậy, kiểu thực gối đầu, lệnh liền sau lệnh rẽ nhánh đƣợc nạp thực dở dang trong ống lệnh bị đẩy làm cho ống lệnh bị trống rỗng hệ thống phải bắt đầu nạp lệnh từ địa đích rẽ nhánh ADD R2, (R1) Câu hỏi 3.9: Cho đoạn chương trình sau (R1, R2 ghi): Lệnh R2← 500 LOAD R1, #2000 R1← 2000 STORE (R1), R2 Lưu nội dung ghi R2 vào ô nh địa chứa ghi R1 ADD 2000, #30 Lấy nội dung ô nhớ có địa 2000 với 30, kết lưu vào nhớ có địa 20 SUBSTRACT R2, #15 R2←R2-15 : Lấy nội dung ghi R2 t 15, kết lưu vào ghi R2 CLEAR R1 ; LOAD R2, #10 ; Câu a:/ Loop : LOAD R3,1000(R0) ; BRANCH_IF >0, Add ; Continue : INCREMENT R0 ; Chế độ DECREMENT R2 ; Ý nghĩa GT R2 Tức BRANCH_IF (immediate) >0 Loop ; 400 LOAD R2, #400 Nạp giá trị 400 vào ghi R2 LOAD R1, #1200 Nạp giá trị 1200 vào ghi R1 STORE (R1), R2 Lưu nội dung ghi R2 vào ô nhớ có địa chứa ghi R1 ADD 1200, #10 LOAD R2, #500 Lấy nội dung ghi R2 cộng vớ dung nhớ có địa gh kết lưu vào ghi R2 Câu hỏi 3.10: Cho dãy số nguyên gồm 10 phần tử lưu nhớ địa 1000 Viết chương trình sử dụng tập lệnh CPU tính: a Tổng số dương – lưu kết vào nhớ có địa 2000 b Tổng tất số dãy – lưu kết vào nhớ có địa 2010 TL : CLEAR R0 ; Đoạn chương trình bị xung đột liệu chỗ : ADD R1, R1, R3 ; R1 ← R1+R3 SUB R1, R1, #100 ; R1 ← R1 – 100 Đây xung đột tranh chấp liệu kiểu đọc sau ghi (RAW – Read After Write) Để khắc phục xung đột liêu đoạn chương trình ta chèn thêm lệnh NO-OP lệnh ADD SUB Câu hỏi 3.8: Cho đoạn chương trình sau (R1, R2 ghi): SUBSTRACT R2, #15 Ý nghĩa ADD R2, (R1) B, Hướng giải xung đột liệu chế Pipline Lệnh Lấy nội dung ghi R2 cộng vớ nội dung nhớ có địa ghi R1, kết lưu vào ghi R2 JUMB Exit ; Tức (immediate) Add : ADD R1, R2 ; Gián tiếp (Indirect) JUMB Continue ; R2←R2-15 : Lấy nội dung ghi R2 Tức (immediate) Exit : trừ 15, kết lưu vào ghi R2 Lấy nội dung nhớ có địa 1200 cộng với 10, kết lưu vào nhớ có địa 1200 STORE 2000, R1 ; Trực tiếp (Direct) Câu b:/ 400 400 385 385 Loop : LOAD R3,1000(R0) ; Add ; Continue : INCREMENT R0 ; DECREMENT R2 ; Loop ; JUMB Exit ; Add : ADD R1, R2 ; JUMB Continue ; Exit : STORE 2000, R1 ; 10 11 12 13 14 ... hỏi 2.3: Nêu sơ đồ đặc điểm kiến trúc máy tính Harvard Kiến trúc máy tính Harvard có ưu điểm so với kiến trúc máy tính von-Neumann Các máy tính đại ngày sử dụng kiến trúc ? TL : Bộ nhớ chia thành... Câu hỏi 2.2: Nêu sơ đồ đặc điểm kiến trúc máy tính von-Neumann Kiến trúc máy tính von-Neumann đại khác kiến trúc máy tính von-Neumann cổ điển điểm ? TL : Kiến trúc von-Neumann dựa khái niệm sở:... thống máy tính phổ biến sử dụng kiến trúc von-Neumann đại kiến trúc phức tạp hơn, rẻ so với hệ thống dùng kiến trúc Harvard, ngồi máy tính phân cấp nhớ nên tốc độ cải thiện đáng kể Hơn nữa, kiến trúc