Bài giảng Kiến trúc máy tính (ĐH Bách khoa Hà Nội)

315 15 0
Bài giảng Kiến trúc máy tính (ĐH Bách khoa Hà Nội)

Đ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

Kiến trúc máy tính Chương I – a: Tổng quan môn học Về môn học  Dành cho sinh viên u thích mơn học, thích điểm cao khơng thích nhìn lưng giảng viên  u cầu: Có kiến thức lập trình C/C++ Java Mục tiêu mơn học  Tìm hiểu chức hoạt động thành phần hệ thống máy tính bao gồm Bộ xử lý (processor), nhớ (memory), vào / (input/output)  Bắt buộc phải hiểu: Đánh giá hiệu (performance)  Giao diện phần cứng / phần mềm  Có thể viết chương trình hợp ngữ Tại lại dùng MIPS? Tơi khơng sở hữu máy tính MIPS… Những vấn đề trọng tâm  Hợp ngữ MIPS  Mức logic số  Thiết kế xử lý  Kỹ thuật đường ống  Bộ nhớ đệm cache  Vào / MIPS đơn giản, x86 khơng Nội dung chương  Lịch sử phát triển máy tính  Khái niệm kiến trúc máy tính  Tìm hiểu bên máy tính  Tìm hiểu bên vi xử lý  Tìm hiểu chương trình thực thi máy tính Kiến trúc máy tính gì?  Tại phải quan tâm?  Phân loại nào? Lịch sử phát triển máy tính Cơ • Blaise Pascal (1642) • 1642 - 1945 ENIAC (1946) 18.000 bóng đèn 1500 rơle 30 140 kw Transistor (1958) • Burroughs 6500 • NCR, CDC 6600 IC(Integrated Circuit) •LSI – VLSI •Xử lý song song Khái niệm kiến trúc máy tính Phần mềm hệ thống Phần mềm ứng dụng Phân loại Chức Máy tính chuyên dụng Phần cứng Cấu trúc xử lý Máy tính nhúng RISC Cấu tạo CISC Von newmann Harvard Kiến trúc vonNeumann Memory (ROM/RAM) 10 Central Processing Unit (CPU) I/O Devices Bus liệu PCI PCIe SCSI USB … Bus điều khiển Bus địa Bộ nhớ Memory DRAM SRAM ROM EEPROM Flash Bộ xử lý trung tâm CPU Phối ghép vào/ra (I/O) Intel 80X86 Motorola 680X PowerPC ASIP …  Chương – Thành phần máy tính Thiết bị vào/ra Màn hình Máy in Bàn phím Con chuột Ổ cứng Sensor, Actor … HUST-FET, 01/11/2013 Kiến trúc Havard 11 Bus liệu Bus điều khiển Bus địa Bộ nhớ liệu Bộ xử lý trung tâm CPU Phối ghép vào/ra (I/O) Thiết bị vào/ra Bus địa Bus điều khiển Bus liệu Bộ nhớ lệnh HUST-FET, 01/11/2013 Write‐through with allocate‐on‐write • Ln ghi vào DRAM • Nếu liệu cache, ghi đồng thời vào cache • Allocate‐on‐write – Nếu liệu khơng có cache, tải liệu cache Q: Tốt sao? It isn’t Faster to read and write than just write Subsequent reads will hit in the cache A: Subsequent reads will hit in the cache Thường hay truy cập liệu ghi lại, ghi phần khối từ byte, tải vào cache nhanh Write‐back • Ln ghi vào cache • Nếu liệu khơng có cache, tải vào cache • Note: cache DRAM khơng nhau! • Khi loại bỏ dòng cần phải biết khác với liệu ghi từ DRAM nào? Ghi vào nhớ đệm • Write‐through đơn giản, chậm – Phải đợi ghi đồng thời với DRAM lần ghi • Write‐back phức tạp hơn, nhanh – Phải đánh dấu liệu ‘bẩn’ (dirty data) cache ghi lại vào nhớ bị loại bỏ – Ghi nhanh • Allocate‐on‐write tải liệu vào cache ghi – Mặt khác tải liệu vào cache đọc • Ghi vào cache ngày kiểu write‐back – Intel’s new Xeon Phi có mức L2 write‐through cache Hiệu nhớ đệm Tỷ số trượt đệm Miss ratio = % of cache misses = (# cache misses / # memory accesses) Tỷ lệ trượt (%) = (số lần trượt/số lần truy nhập) Q: Hiệu thay đổi tỷ số trượt đệm giảm từ 10.5% đến 3.5%? Slower Stays the same Faster A: Faster Các ứng dụng chạy nhanh hơn, khơng thể biết nhanh ơn Tỷ lệ Trúng cache lớn nhiều so với trượt Thời gian truy cập nhớ trung bình Average Memory Access Time(AMAT) • Số chu kỳ trung bình cho truy cập nhớ = (hit time) + (miss %)*(miss time + miss penalty) Hit time Miss time Miss penalty = Hit (1cycle) = Miss (1 cycle) = Penalty % miss = 2/6 = 33% AMAT = (1) + (33%)*(1 + 3) = 2.3 cycles per access Miss Penalty thời gian sau tìm kiếm cache Ví dụ: AMAT Machine – 100 truy nhập DRAM – chu kỳ truy nhập cache (hit or miss) • Tính AMAT cho lbm? – cache có dung lượng 256kB ? • 6% miss ratio • (1) + (6%)*(1+100) = 7.06 cycles per memory access – cache có dung lượng 8MB ? • 3% miss ratio • (1) + (3%)*(1+100) = 4.03 cycles per memory access Machine – 100 cycles to DRAM – cycle cache access time (hit or miss) • Tính AMAT cho bzip2? Q: Tại bzip2’s AMAT với – 256kB cache? 256kB cache gần giống với • 1.5% miss ratio lbm’s với 8MB? • (2) + (1.5%)*(2+100) = 3.53 Slower cache Different miss ratios Different applications A: Slower cache Cache cycles cho Machine chu kỳ cho Machine Diều làm ảnh hưởng đến AMAT.Ứng dụng khác thấy 8MB cache có 3% miss ratio lbm bzip2 có 1.5% miss ratio với cache 256kB Performance impacts of memory access time • Ảnh thưởng cace đến hiệu nào(CPI)? – 100 chu kỳ trừng phạt trượt đệm – 3% tỷ lệ trượt – 1.33 lần truy nhập nhớ lệnh (1 for instruction 33% for data) – CPI = 1.0 thực thi thông thường (lý tưởng) • Hiệu thay đổi nào? – CPI = CPIExecution + Memory stall cycles per instruction = 1.0 + 1.33*0.03*100 = 4.99 – Phân cấp nhớ làm xử lý chạy chậm lần! • Caches quan trọng! Caches quan trọng để tăng hiệu How much does cache matter? Phân tách lệnh liệu nhớ đệm • Cần nạp lệnh(IF) liệu (MEM) thời điểm • Cần loại cache: – Instruction cache (just instructions) – Data cache (just data) • AMAT phân chia cache: – AMAT: (% lệnh truy cập)*(hit time + (tỷ lệ trượt đệm lệnh)*(miss time + miss penalty)) + (% liệu truy cập)*(hit time + (tỷ lệ trượt đệm liệu)*(miss time + miss penalty)) • Ví dụ: – Thời gian truy nhập cache cycle (hit or miss) thời gian truy nhập nhớ 100 cycle – I‐cache: 1% miss ratio, D‐cache: 5% miss ratio – 33% lệnh loads/stores → 25% truy cập liệu / 75% truy cập lệnh – (75%)*(1 + (1%)*(1+100)) + (25%)*(1 + (5%)*(1+100)) = 1.5 + 1.5 = 3.0 AMD/Intel caches Heterogeneous processor caches Memory hierarchy • We want big and fast – Build a hierarchy where we keep the most important data in fast memory – Other data goes in slow memory – If we move the data correctly we provide the illusion of fast and big • Registers accesses/cycle 32‐64 • Cache 1‐10 cycles 8kB‐256kB • Cache 40 cycles 4‐20MB • DRAM 200 cycles 4‐16GB • Flash 1000+ cycles 64‐512GB • Hard Disk 1M+ cycles ‐4TB Summary: how to make the memory hierarchy work • different cache types – Fully‐associative: Have to search all blocks, but very flexible – Direct‐mapped: Only one place for each block, no flexibility – Set‐associative: Only have to search one set for each block, flexible • We can adjust the block (line) size to reduce the overhead of tags • We figure out where data goes in a cache by looking at the address – Last bits are the byte in the word – Next N bits are the word in the cache block – Remaining bits are for the tag • We have different write policies – Write‐through: slow, simple – Write‐back: fast (keeps the data just in the cache), more complex • Performance effects are due to the average memory access time ... chương  Lịch sử phát triển máy tính  Khái niệm kiến trúc máy tính  Tìm hiểu bên máy tính  Tìm hiểu bên vi xử lý  Tìm hiểu chương trình thực thi máy tính Kiến trúc máy tính gì?  Tại phải quan... Khái niệm kiến trúc máy tính Phần mềm hệ thống Phần mềm ứng dụng Phân loại Chức Máy tính chuyên dụng Phần cứng Cấu trúc xử lý Máy tính nhúng RISC Cấu tạo CISC Von newmann Harvard Kiến trúc vonNeumann... hiệu suất nguồn Cách tốt sử dụng tất transistors nhàn rỗi Kiến trúc máy tính Chương I – b: Tổng quan môn học Bài học câu hỏi  Khối nằm bên máy tính? – Processor (CPU) – Memory (RAM) – Input /

Ngày đăng: 29/10/2021, 19:30

Tài liệu cùng người dùng

Tài liệu liên quan