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

Bài giảng Kiến trúc máy tính - TS.Nguyễn Đức Minh

265 10 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 265
Dung lượng 4,71 MB

Nội dung

Nội dung của bài giảng Kiến trúc máy tính do TS. Nguyễn Đức Minh biên soạn nhằm giúp bạn nắm vững kiến thức về các thành phần cơ bản của máy tính, đặc điểm của máy tính, hệ thống máy tính, phần mềm và phần cứng, hiệu năng máy tính,... Hy vọng bài giảng sẽ giúp ích cho các bạn trong quá trình học tập.

KIẾN TRÚC MÁY TÍNH ET4270 TS Nguyễn Đức Minh [Adapted from Computer Organization and Design, 4th Edition, Patterson & Hennessy, © 2008, MK] [Adapted from Computer Architecture lecture slides, Mary Jane Irwin, © 2008, PennState University] Tổ chức lớp Số tín (3-1-1-6) Giảng viên TS Nguyễn Đức Minh Văn phòng C9-401 Email minhnd1@gmail,com Website https://sites.google.com/site/fethutca/home Sách Computer Org and Design, 3rd Ed., Patterson &Hennessy, ©2007 Digital Design and Computer Architecture, David Money Harris Thí nghiệm Bài tập Theo chương, đề giải xem trang web Giới thiệu HUST-FET, 17/01/2011 Điểm số Bài thi cuối kỳ 70% Bài thi kỳ 30% Giới thiệu Bài tập 20% Thí nghiệm 10% HUST-FET, 17/01/2011 Lịch học  Thời gian:  Từ 14h00 đến 17h20  15 buổi x 135 phút / buổi  Thay đổi lịch (nghỉ, học bù) thông báo website trước ngày Giới thiệu HUST-FET, 17/01/2011 Phát triển công nghệ thông tin ? Major Technology Generations CMOS nMOS pMOS Bipolar Vacuum Tubes Relays [from Kurzweil] Electromechanical Giới thiệu HUST-FET, 17/01/2011 Bắt đầu EDSAC, University of Cambridge, UK, 1949 Giới thiệu HUST-FET, 17/01/2011 Ngày Cameras Media Players Smart phones Set-top boxes Robots Sensor Nets Routers Laptops Supercomputers Servers Automobiles Giới thiệu Máy tính có mặt khắp nơi HUST-FET, 17/01/2011 Ứng dụng  Phương tiện giao thơng  Khi máy tính trở nên rẻ hơn, nhỏ có hiệu suất cao hơn, sử dụng tơ, xe máy để tăng hiệu suất sử dụng nhiêu liệu, giảm ô nhiễm, tăng độ an toàn  Điện thoại di động, thiết bị viễn thông  Giúp người giao tiếp dù đâu  Bản đồ gen  Máy tính trở nên rẻ mạnh 10-100 lần so với cách 10 năm cho phép trang bị máy tính để phân tích ánh xạ đồ gen người  WWW  Nhờ phổ biến máy tính, thiết bị mạng, Internet trở thành môi trường làm giới tràn ngập thông tin (thế giới thơng tin)  Bộ tìm kiếm  Google trở thành động từ đế chế Giới thiệu HUST-FET, 17/01/2011 Các loại máy tính  Máy tính để bàn (eng, Desktop computers)  Một người dùng; Chạy nhiều ứng dụng khác nhau; Đi kèm hình, bàn phím chuột; Yêu cầu giá thành rẻ, hiệu cao  Máy chủ (eng, Servers)  Nhiều người dùng đồng thời; Chạy ứng dụng lớn; Truy cập qua mạng, Yêu cầu độ ổn định an toàn cao  Siêu máy tính (eng, Supercomputers)  Chạy ứng dụng khoa học công nghệ cao cấp; Gồm hàng trăm/nghìn xử lý, nhớ lưu trữ dung lượng lớn; Yêu cầu hiệu cao có giá thành cao  Máy tính nhúng (eng, Embedded computers (processors))  Máy tính nằm bên thiết bị khác, chạy ứng dụng xác định trước Giới thiệu HUST-FET, 17/01/2011 Tăng trưởng doanh số điện thoại di động Tăng trưởng điện thoại di đông >> Tăng trưởng máy tính để bàn Giới thiệu 10 HUST-FET, 17/01/2011 Rẽ nhánh chậm  Nếu phần cứng cho rẽ nhánh nằm giai đoạn ID, ta loại bỏ chu kỳ chờ rẽ nhánh cách sử dụng rẽ nhánh chậm (delayed branches) – thực lệnh theo sau lệnh lệnh rẽ nhánh – rẽ nhánh có tác dụng sau lệnh   Trình dịch MIPS compiler chuyển lệnh an tồn (khơng bị ảnh hưởng lệnh rẽ nhánh) tới sau lệnh rẽ nhánh (vào khe trễ) Vì dấu rẽ nhánh chậm Với pipeline sâu (nhiều giai đoạn), trễ rẽ nhánh tăng cần nhiều lệnh chèn vào sau lệnh rẽ nhánh  Rẽ nhánh chậm thay phương pháp khác tốn mềm dẻo (động) dự đoán rẽ nhánh  Sự phát triển IC cho phép có dự đốn rẽ nhánh tốn 63 HUST-FET, 13/03/2011 Sắp xếp lệnh rẽ nhánh chậm A Từ trước lệnh rẽ nhánh B Từ đích lệnh rẽ nhánh add $1,$2,$3 if $2=0 then delay slot becomes sub $4,$5,$6 add $1,$2,$3 if $1=0 then delay slot becomes if $2=0 then add $1,$2,$3    add $1,$2,$3 if $1=0 then sub $4,$5,$6 C Từ nhánh sai add $1,$2,$3 if $1=0 then delay slot sub $4,$5,$6 becomes add $1,$2,$3 if $1=0 then sub $4,$5,$6 TH A lựa chọn tốt nhất, điền khe trễ giảm I TH B C, lệnh sub cần lại, tăng I TH B C, phải đảm bảo thực lệnh sub không ảnh hưởng khơng rẽ nhánh 64 HUST-FET, 13/03/2011 Dự đốn rẽ nhánh tĩnh  Giải xung đột rẽ nhánh cách giả sử hướng rẽ nhánh tiếp tục khơng cần chờ tính tốn kết rẽ nhánh thực Đốn khơng rẽ nhánh – ln giả sử lệnh không rẽ nhánh, tiếp tục nạp lệnh kế tiếp, có rẽ nhánh cần dừng pipeline    Nếu rẽ nhánh, xóa lệnh sau rẽ nhánh (sớm pipeline) - giai đoạn IF, ID, EX tính rẽ nhánh MEM – ba dừng giai đoạn IF ID tính rẽ nhánh EX – hai dừng - giai đoạn IF tính rẽ nhánh ID – môt dừng Đảm bảo lệnh bị xóa khơng ảnh hưởng tới trạng thái máy Khởi tạo lại pipeline đích lệnh rẽ nhánh 65 HUST-FET, 13/03/2011 Xóa dự đốn sai IM IM Reg DM ALU sub $4,$1,$5 Reg ALU I n s t r beq $1,$2,2 Reg DM Reg O r d e r 66 HUST-FET, 13/03/2011 Xóa dự đốn sai (Đốn khơng rẽ nhánh) Reg DM IM Reg ALU 16 and $6,$1,$7 IM Reg 20 or r8,$1,$9  DM Reg Reg DM ALU O r d e r IM ALU flush sub $4,$1,$5 Reg ALU beq $1,$2,2 I n s t r IM Reg DM Reg Để xóa, đặt trường mã lệnh ghi pipeline IF/ID (làm trở thành lệnh noop) 67 HUST-FET, 13/03/2011 Dự đoán rẽ nhánh  Giải xung đột cách giả thiết kết rẽ nhánh tiếp tục Đốn có rẽ nhánh – đốn ln ln có rẽ nhánh  Đốn có rẽ nhánh ln cần chu kỳ dừng (nếu phần cứng tính rẽ nhánh giai đoạn ID)  Cần phương pháp đọc trước (vào đệm) lệnh địa đích??  Vì thiệt hại rẽ nhánh tăng lên (với pipeline sâu), mơ hình dự đốn rẽ nhánh tĩnh ảnh hưởng tới hiệu Với nhiều phần cứng hơn, thử dự đốn hoạt động rẽ nhánh động lúc chương trình thực Dự đoán rẽ nhánh động – đoán rẽ nhánh lúc chạy dựa thông tin chạy (run-time information) 68 HUST-FET, 13/03/2011 Dự đoán rẽ nhánh động bit  Bơ dự đốn bít sai lần đốn khơng rẽ nhánh:   Giá sử predict_bit = lúc bắt đầu (chỉ không rẽ nhánh) lệnh rẽ nhánh điều khiển Loop: 1st loop instr cuối vòng lặp Lần thực vòng lặp 1, dự đốn sai cho lệnh rẽ nhánh dẫn quay lại đầu vịng lặp; cần đảo bít rẽ nhánh (predict_bit = 1) Khi rẽ nhánh (vẫn lặp), dự đốn Khi khỏi vịng lặp, dự đốn sai lần lần khơng rẽ nhánh mà ngồi vịng lặp; đảo bit rẽ nhánh (predict_bit = 0) 2nd loop instr last loop instr bne $1,$2,Loop fall out instr Nếu lặp 10 lần ta có tỉ lệ rẽ nhánh 80% Nếu dùng lệnh rẽ nhánh beq 90% 69 HUST-FET, 13/03/2011 Dự đốn rẽ nhánh động bit  Cơ chế dùng bit cho độ xác 90% dự đốn sai lần bit dự đốn thay đổi Taken Predict Taken Not taken Taken Predict Taken Not taken Taken Not taken Predict Not Taken Loop: 1st loop instr 2nd loop instr last loop instr bne $1,$2,Loop fall out instr Taken Predict Not Taken Not taken 70 HUST-FET, 13/03/2011 Exceptions  Exceptions (ngắt - interrupts) coi dạng xung đột liệu Exception xuất từ:        Tràn thực lệnh số học Lệnh không định nghĩa Yêu cầu từ thiết bị vào Yêu cầu dịch vụ hệ điều hành (VD lỗi trang, lỗi TLB) Lỗi chức phần cứng Pipeline cần phải: • • • • • • dừng thực lệnh lỗi, để tất lệnh trước hồn thành, xóa lệnh sau đó, đặt ghi nguyên nhân exception, lưu lại địa lệnh lỗi, nhảy đến địa định trước (địa hàm xử lý exception) Phần mềm (OS) xử lý tiếp exception 71 HUST-FET, 13/03/2011 Hai loại exceptions  Ngắt – khơng đồng với thực chương trình     gây kiện bên xử lý lệnh, nên để lệnh có pipeline hồn thành trước chuyển điều khiển cho hàm xử lý ngắt OS đơn giản dừng tiếp tục chương trình người dùng Bẫy (Exception) – đồng với thực chương trình    gây kiện bên hàm xử lý bẫy cần sửa chữa điều kiện cho lệnh bị bẫy, nên phải dừng lệnh lỗi trong pipeline chuyển điều khiển cho hàm xử lý bẫy OS lệnh lỗi tiếp tục chương trình bị kết thúc tiếp tục 72 HUST-FET, 13/03/2011 Exception xuất đâu pipeline Reg ALU IM DM Reg Stage(s)?  Tràn số học  Lệnh không định nghĩa  Lỗi TLB trang  Yêu cầu dịch vụ I/O  Lỗi phần cứng 73 Synchronous? HUST-FET, 13/03/2011 Exception xuất đâu pipeline Reg ALU IM DM Reg Stage(s)? Synchronous? yes  Tràn số học EX  Lệnh không định nghĩa ID yes  Lỗi TLB trang IF, MEM yes  Yêu cầu dịch vụ I/O any no  Lỗi phần cứng any no  Chú ý nhiều exception xuất đồng thời chu kỳ đồng hồ 74 HUST-FET, 13/03/2011 Nhiều exception đồng thời Inst IM Reg IM Reg IM Reg ALU Inst Reg ALU Inst IM ALU O r d e r Inst ALU I n s t r IM Reg DM  DM Reg DM Reg DM ALU Inst Reg Reg DM Reg Lệnh sớm bị ngắt 75 HUST-FET, 13/03/2011 Nhiều exception đồng thời IM Reg DM Reg D$ page fault Inst IM Reg ALU DM Reg arithmetic overflow Inst IM Reg ALU DM Reg undefined instruction Inst IM IM Reg DM ALU Inst Reg ALU O r d e r Inst ALU I n s t r Reg DM Reg I$ page fault  Lệnh sớm bị ngắt 76 HUST-FET, 13/03/2011 Tổng kết Tất xử lý đại dùng pipeline để tăng hiệu suất (CPI=1 đồng hồ nhanh - fc lớn)  Tốc độ đồng hồ pipeline bị giới hạn giai đoạn pipeline chậm – thiết kế pipeline cân quan trọng  Cần phát giải xung đột pipeline    Xung cấu trúc – giải quyết: thiết kế pipeline Xung đột liệu - Dừng (ảnh hưởng CPI) - Chuyển tiếp (cần phần cứng hỗ trợ)  Xung đột điều khiển – đặt phần cứng định rẽ nhánh lên trạng thái đầu pipeline - Dừng (ảnh hưởng CPI) - Rẽ nhánh chậm (cần hỗ trợ trình dịch) - Dự đoán rẽ nhánh tĩnh động (cần phần cứng hỗ trợ)  Xử lý ngắt pipeline phức tạp 77 HUST-FET, 13/03/2011 ... phần máy tính 26 HUST-FET, 17/01/2011 Ví dụ 1.2 – So sánh hiệu  Nếu máy tính A thực chương trình 10s máy tính B chạy chương trình 15s, máy tính A nhanh máy tính B lần? Chương – Thành phần máy tính. .. Vào  Thiết bị, chế vào  Cấu trúc bus Chương – Thành phần máy tính 22 HUST-FET, 17/01/2011 Đánh giá so sánh máy tính  Quyết định mua máy tính  Trong số máy tính, máy có  hiệu tốt nhất?  giá... Bộ nhớ lệnh Chương – Thành phần máy tính 20 HUST-FET, 17/01/2011 Kiến trúc tập lệnh (ISA)  Kiến trúc tập lệnh (eng, Instruction Set Architecture - ISA), hay kiến trúc: giao diện trừu tượng phần

Ngày đăng: 21/05/2021, 14:30