Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
1,57 MB
Nội dung
11/03/2012 KI N TRÚC MÁY TÍNH NÂNG CAO M c đích & n i dung mơn h!c Thời gian: Nhằm trang bị cho sinh viên kiến thức chuyên sâu kiến trúc máy tính Kiến trúc vi lệnh tổ chức máy tính Thiết kế tổ chức nhớ Kỹ thuật ống dẫn Máy tính song song, Máy tính SIMD, Máy tính MIMD Kiến trúc hệ thống nhớ chia sẻ Kiến trúc hệ thống truyền thông điệp Mơ hình trừu tượng Lập trình song song máy ảo song song – Lý Thuyết: 30 tiết (2TC) – Thực hành: 30 tiết (1TC) Điểm số: – Điểm thực hành + thu hoạch: 20+30=50% – Điểm thi cuối kỳ: 50% Khoa Kỹ thuật máy tính GV: TS Vũ Đức Lung Email: lungvd@uit.edu.vn Vũ Đ c Lung Khoa KTMT Vũ Đ c Lung ng c om Khoa KTMT Vũ Đ c Lung Giáo trình ki n trúc máy tính Trư$ng ĐH Cơng ngh( thơng tin, ĐHQG TP.HCM, 2009 an H El/Rewini Advanced Computer Architecture and Parallel Processing, Wiley, 2005 N i dung môn h!c co Tài liệu học tập & tham khảo Chương : Vi tác vụ tổ chức máy tính Chương : Hệ thống máy tính đơn giản NIOS II Chương : Hệ Thống nhớ Chương : Kỹ thuật ống dẫn Patterson, D A., and J L Hennessy Computer Organization and Design: The Hardware/Software Interface, 3rd ed San Mateo, CA: Morgan Kaufman, 2004 Kai Hwang, Advanced Computer Architecture : Parallelism, Scalability, Programmability, McGraw/Hill, 1993 Chương : Máy tính song song Chương 7: Kiến trúc hệ thống truyền thơng điệp Chương 8: Mơ hình trừu tượng Chương 9: Lập trình song song máy ảo song song Khoa KTMT Vũ Đ c Lung u Vũ Đ c Lung Chương : Kiến trúc hệ thống nhớ chia sẻ cu Khoa KTMT du o Tài li(u: https://sites.google.com/site/vdlung/aca ng th Andrew S Tanenbaum Structured Computer Organization, 5/th edition, Prentice Hall, 2005 CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/03/2012 M c tiêu • Hi#u ý nghĩa c'a “ngơn ng*” vi tác v • Hi#u c,u trúc c'a ALU (m2ch s4 h5c + m2ch lu8n lý + m2ch d:ch t h;p) • Hi#u c,u t2o cách th c ho2t đ@ng (A m c vi trình) c'a m@t máy tính bDn • Hi#u cách th c máy tính bDn thi hành chu kỳ máy (A m c vi trình) Chương Vi tác v t ch c máy tính KTMT UIT KTMT ng c om UIT Vi tác v ghi 1.1 Vi tác v ghi du o an ng th Có loại vi tác vụ chính: Vi tác vụ ghi chuyển thông tin nhị phân Vi tác vụ số học Vi tác vụ luận lý Vi tác vụ dịch co Vi tác vụ tác vụ hay công việc xử lý liệu thực ghi KTMT R2 ← R1 • Chuy#n n@i dung ghi R1 sang ghi R2 (R1 khơng đ i) dùng hàm điQu khi#n (khi hàm có giá tr: 1): P: R2 ← R1 hoRc If (P=1) then (R2 ← R1) S0S1: R2 ← R1 UIT KTMT cu u UIT • Tên ghi: ch* hoa (có th# có kèm s4) PC, MAR, R1, R2, O • Chuy#n n@i dung ghi R1 sang ghi R2 (R1 không đ i): Vi tác v ghi M2ch điQu khi#n P Load Vi tác v ghi Ký hiYu Clock R2 Ch* hoa (hoRc s4 theo sau) n Di[n giDi Tên ghi D,u ngoRc sau tên M@t ph\n ghi ghi R2(0 7): (bit t] đ^n c'a ghi R2) R2(L): bit th,p c'a ghi R2 Mũi tên TruyQn d* liYu R2← R1 D,u phay Tác v xDy đcng thdi (trong m@t chuy#n ti^p đcng hc) R2← R1, R1← R2 R1 M2ch điQu khi#n S0 Load Clock R2 Ví d PC,MAR,R1,O S1 n R1 UIT KTMT UIT KTMT CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/03/2012 1.2 TruyQn d* liYu qua bus TruyQn d* liYu qua bus tr2ng thái S S 4x1 MUX 4x1 MUX 3 4x1 MUX 4x1 MUX 3 3 3 D C B A 3 3 S UIT KTMT 2x4 Decoder S KTMT E ng c om UIT 1.3 Vi tác v s4 h5c du o an ng th • DR ← M[AR] • M[AR] ← DR • M[AR] : nhk có đ:a chn đư;c lưu ghi AR co TruyQn qua b@ nhk KTMT Ý nghĩa UIT KTMT 10 cu u UIT Ký hiYu R3 ← R1 + R2 R3 ← R1 – R2 R2 ← R2 R2 ← R2 + R3 ← R1 + R2 + R1 ← R1 +1 R1 ← R1 q1 M2ch s4 h5c M2ch s4 h5c B3 S1 S0 Cin Y D=A+Y+Cin A3 B2 A2 B1 A1 B0 A0 S S Di[n giDi 0 B D=A+ B C@ng 0 B D=A+ B + C@ng vki nhk Tr] có mư;n B’ D=A+ B 1 B’ D=A+ B + Tr] 0 D=A Chuy#n A 1 D=A+ Tăng A 1 D=A–1 GiDm A 1 1 D=A Chuy#n A 1 1 S0 S1 X3 Y3 X2 X1 C2 C2 X0 Y0 FA C3 S0 S1 4x1 MUX Y1 FA C3 S0 S1 4x1 MUX Y2 FA C4 S0 S1 4x1 MUX 4x1 MUX Cin FA C1 C0 C1 Cout UIT KTMT 11 UIT D3 D2 KTMT D1 D0 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/03/2012 1.4 Vi tác v lu8n lý M2ch lu8n lý Hàm Ký hiệu Vi tác vụ F0 = F←0 xóa F1 = xy F←A∧B AND F2 = x.y F←A∧B F3 = x F←A F4 = x.y F←A∧B F5 = y F←B F6 = x ⊕ y F←A⊕B S0 S1 MUX 4x1 S1 Ai Bi truyền A Ei F7 = x + y F←A∨B OR F8 = (x + y) F←A∨B NOR F9 = x ⊕ y F←A⊕B NXOR F10 = y F←B F11 = x + y F←A∨B F12 = x F←A F13 = x + y F←A∨B F14 = xy F←A∧B NAND F15 = F ← 1…1 Gán S1 S0 KTMT 13 UIT Đ\u phép tính 0 E=A∧B AND E=A∨B OR E=A⊕B XOR 1 E=A Inverter KTMT 14 ng c om UIT S0 1.5 Vi tác v d:ch co Ký hi u M2ch d:ch t h;p bit A3 Ý nghĩa D:ch trái R R ← shr R D:ch phDi R R ← cil R D:ch vòng trái R R ← cir R D:ch vòng phDi R R ← ashl R D:ch trái s4 h5c R R ← ashr R D:ch phDi s4 h5c R du o KTMT S H0 H1 H2 H3 IR A0 A1 A2 A1 A2 A3 IL IR S 2x1 MUX H3 15 A0 S S 2x1 MUX H2 UIT S 2x1 MUX H1 S 2x1 MUX H0 KTMT 16 cu u UIT A1 IL ng th an R ← shl R A2 Các tác v c'a ALU 1.6 ALU (Arithmetic and Logic Unit) Ai+1 Aiq1 Ai M"t t$ng m&ch lu,n lý shr S0 S1 Bi Ci+1 M"t t$ng m&ch s) h*c Ei S2 S3 S3 0 0 0 0 0 0 1 Ci Di shl S0 S1 4x1 MUX UIT KTMT 17 UIT Chọn tác vụ S2 S1 S0 Cin 0 0 0 0 0 1 0 1 1 0 1 1 0 x 1 x 1 x 1 x x x x x x x Tác vụ Chức F=A F=A+1 F=A+B F=A+B +1 F=A+B F=A+B +1 F=A– F=A F=A∧B F=A∨B F=A⊕ B F=A F = shr A F = shl A Chuyển A Tăng A Phép cộng Cộng với nhớ Trừ có mượn Phép trừ Giảm Chuyển A AND OR XOR Inverter Dịch phải A Dịch trái A KTMT 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/03/2012 Mã LYnh T ch c máy tính • Mã lYnh nhóm bit lYnh cho máy tính th|c hiYn m@t tác v • Mã lYnh gcm nhiQu ph\n: Mã tác v , đ:a chn b@ nhk, bit chn th: khácO KTMT 19 UIT KTMT 20 ng c om UIT Đ:a chn gián ti^p 12 11 15 Chương trình (mã l nh) AC (accumulator) 4096 t] 14 12 I Mã tác v0 22 du o KTMT 21 Đ2a ch3 tác t) 22 457 457 ADD 457 1350 457 1350 UIT + + AC AC KTMT 22 KTMT 24 cu u 16 bit 11 ADD ng D: li u an Đ2a ch3 tác t) th Mã tác v0 UIT co T ch c chương trình 15 T8p ghi Ký hiYu Bit Tên Ch c DR 16 Th.ghi d* liYu Lưu tác t4 AR 12 Th.ghi đ:a chn Lưu đ:a chn b@ nhk AC 16 Th.ghi tích lũy Th.ghi x} lý IR 16 Th.ghi lYnh Lưu mã lYnh k^ ti^p PC 12 Th.ghi đ^m chương trình Lưu đ:a chn lYnh k^ TR 16 Th.ghi t2m Lưu d* liYu t2m INPR Th.ghi nh8p Lưu ký t| nh8p OUTR Th.ghi xu,t Lưu ký t| xu,t UIT KTMT Thanh ghi bus 23 UIT CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/03/2012 ghi chn có ngõ nh8p LD (IR OUTR) tương đương ghi n2p song song ghi có ngõ nh8p LD, INR CLR tương đương m2ch đ^m n2p song song, xóa đcng b@ KTMT 25 UIT KTMT 26 ng c om UIT Mã tác v0 Đ:nh thdi điQu khi#n 11 Mã tác v0 Đ2a ch3 tác t) 12 11 Mã tác v0 Tác v0 ghi 12 11 D0 O D7 du o Tín hiYu điQu khi#n O T0 15 M&ch giBi mã 4x16 INR (increment) M&ch đJm tu$n tK bit CLR (clear) Clock 27 UIT KTMT 28 cu u KTMT Các cDng điFu khiHn T15 Mã tác v0 Tác v0 nh,p/xuAt UIT M&ch giBi mã 3x8 ng 15 15 an 15 12 th I 14 co T8p lYnh 15 M4i quan hY thdi gian gi*a thdi hiYu Quy trình th|c hiYn lYnh UIT KTMT 29 UIT KTMT 30 CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/03/2012 Tìm giBi mã l nh Chu kỳ l nh Tìm lYnh T0: AR GiDi mã lYnh T1:IR M[AR] Đ5c đ:a chn hiYu d ng t] b@ nhk n^u lYnh có đ:a chn gián ti^p ,PC PC+1 PC T2: Th|c hiYn lYnh KTMT 31 UIT KTMT 32 ng c om UIT Chu kỳ lYnh t ng quát T0 D7 =1 (gián ti^p) T3 T3 Thi hành tác v tham chi^u ghi SC ← =0 (tr|c ti^p) I ng I T3 AR ← M[AR] T4 Thi hành tác v tham chi^u b@ nhk SC ← 33 du o Thi hành tác v nh8p/xu,t SC ← T2 =0 (tham chi^u b@ nhk) =0 (thanh ghi) =1 (nh8p xu,t) an GiDi mã tác v IR(12q14) AR ← IR(0q11), I ← IR(15) =1 (thanh ghi hoRc nh8p/xu,t) KTMT DiOn giBi Vi tác v r = D7 I T3 , Bi = IR (i ) r SC ← Xóa SC CLA rB11 AC ← Xóa AC CLE rB10 E←0 Xóa E CMA rB9 AC ← AC Bù AC CME rB8 E←E Bù E CIR rB7 AC ← shr AC, AC(15) ← E, E ← AC(0) Vòng phDi CIL rB6 AC ← shl AC, AC(0) ← E, E ← AC(15) Vòng trái INC rB5 AC ← AC + Tăng AC SPA rB4 if AC(15)=0 then PC ← PC + NhDy n^u dương SNA rB3 if AC(15)=1 then PC ← PC + NhDy n^u âm SZA rB2 if AC=0 then PC ← PC + NhDy n^u AC=0 SZE rB1 if E=0 then PC ← PC + NhDy n^u E=0 HLT rB0 S←0 D]ng UIT KTMT 34 cu u UIT LYnh ghi Mã lYnh T1 IR ← M[AR], PC ← PC + th AR ← PC co Start SC ← LYnh b@ nhk Mã lYnh LYnh nh8p xu,t Vi tác v AND D0 AC ← AC ^ M[AR] ADD D1 AC ← AC + M[AR], E ← Cout LDA D2 AC ← M[AR] Mã lYnh DiOn giBi Vi tác v P Xóa SC, p=D7 I T3 SC ← INP pB11 AC(0q7) ← INPR, FGI ← Nh8p ký t| OUT pB10 OUTR ← AC(0q7), FGO ← Xu,t ký t| STA D3 M[AR] ← AC BUN D4 PC ← AR BSA D5 M[AR] ← PC, PC ← AR + SKI pB9 If (FGI=1) then PC ← PC + NhDy theo cd nh8p ISZ D6 If M[AR] + = then PC ← PC + SKO pB8 If (FGI=0) then PC ← PC + NhDy theo cd xu,t ION pB7 IEN ← Cho phép ng„t IOF pB6 IEN ← C,m ng„t UIT KTMT 35 UIT KTMT 36 CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/03/2012 C,u hình nh8p xu,t Câu h…i t8p FGO Máy in Giao tiJp thiJt b2 xuAt OUTR AC Bàn phím Giao tiJp thiJt b2 nh,p INPR FGI KTMT 37 UIT KTMT 38 cu u du o ng th an co ng c om UIT CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/03/2012 M C ĐÍCH Tổng quan thiết kế hệ thống Kiến trúc xử lý Mơ hình lập trình Tạo sử dụng hệ thống máy tính đơn giản xây dựng xử lý Nios II hãng Altera Ứng dụng hệ thống tạo viết chương trình với lập trình assembly cho Nios II Sử dụng Quartus II phần mềm SOPC Builder tích hợp bên Quartus II Biên dịch chương trình, nạp chạy kit DE2 thông qua software Altera Debug Client Chương 02 HỆ THỐNG MÁY TÍNH ĐƠN GIẢN TRÊN NIOS II Vũ Đ c Lung Khoa KTMT Vũ Đ c Lung ng c om Khoa KTMT T NG QUAN THI T K H TH NG Vũ Đ c Lung co an ADD Rd, Rs, Rt Rd := Rs + Rt 0b15 0b15 ADDI Rd, Rs, Imm Rd := Rs + SignExt(Imm) 0b15 0b15 0b15 Imm SUB Rd, Rs, Rt Rd := Rs b Rt 0b15 0b15 0b15 SUBI Rd, Rs, Imm Rd := Rs b SignExt(Imm) 0b15 0b15 Imm AND Rd, Rs, Rt Rd := Rs 0b15 0b15 0b15 OR Rd, Rs, Rt Rd := Rs SLT Rd, Rs, Rt if Rs < Rt then Rd := else Rd := Rt Rt 0b15 0b15 0b15 0b15 0b15 0b15 LW Rd, off(Rs) Rd := M[off + Rs] 0b15 0b15 offset SW Rd, off(Rs) M[off + Rs] := Rd C 0b15 0b15 offset 0b15 0b15 offset B 12bbit offset BNE Rd, Rs, Imm if Rd != Rs then pc := pc + + addr JMP Address pc := JumpAddress Khoa KTMT Vũ Đ c Lung cu u Khoa KTMT du o ng th Phác họa yêu cầu Các chức hệ thống cung cấp Lựa chọn công nghệ Thiết kế Datapath cho phần Đọc hệ thống dạng RTL (Register Transfer Level) Các phần khác Simple Instruction Set (RISC) Create Data Path and some need blocks Khoa KTMT Vũ Đ c Lung Create Sign,Extend and Control Blocks Khoa KTMT Vũ Đ c Lung CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/03/2012 More detail datapath NIOS II System Là users system thiết kế Cyclone II FPGA công cụ Quartus II, SOPC Builder Tất nhiên mặt lí thuyết users tự tạo system FPGA điều tốn thời gian công sức – FPGA “Field programmable Gate Array” thuộc họ PLD (Programmable Logic Device) hay ASIC lập trình Quy trình sản xuất Chip ASIC cách gọi fabless (khơng có nhà máy sản xuất chip) phổ biến giới – ASIC (application specific integrated circuit) vi mạch tích hợp chuyên dụng , vi mạch IC thiết kế dành cho ứng dụng cụ thể Vũ Đ c Lung Khoa KTMT Vũ Đ c Lung ng c om Khoa KTMT an Thiết kế ứng dụng b> Thiết kế mạch logic b> Mô b> Kiểm tra chức codes b> Place & Route b> Làm wafer (silicon) b> Test prototype (nếu lỗi quay lại sửa thiết kế logic) b> Sản xuất hàng loạt (dạng chip) b> Triển khai ứng dụng board ! du o ng th • Nhà sản xuất: Thiết kế platform FPGA b> Mô + Kiểm tra chức platform b> Place & Route b> Làm wafer b> Sản xuất chíp FPGA hàng loạt + Tool hỗ trợ • Người sử dụng: Thiết kế ứng dụng b> Thiết kế mạch logic b> Mô b> Kiểm tra chức code b> Place & Route (theo quy định platform) b> Đổ codes lên platform FPGA b> triển khai ứng dụng board Vũ Đ c Lung FPGA (Field Programable Gate Arrays): – thiết bị bán dẫn bao gồm khối logic lập trình gọi "Logic Block", kết nối khả trình – Các khối logic lập trình để thực chức khối logic AND, XOR, chức kết hợp phức tạp decoder phép tính tốn học – Trong hầu hết kiến trúc FPGA, khối logic bao gồm phần tử nhớ Đó FlipbFlop nhớ hoàn chỉnh – Các kết nối khả trình cho phép khối logic nối với theo thiết kế người xây dựng hệ thống, giống bảng mạch khả trình – 10 nghìn vài triệu cổng Khoa KTMT Vũ Đ c Lung 10 cu u Khoa KTMT FPGA co ASIC vs FPGA IO PAD IO PAD LOGIC BLOCK LOGIC BLOCK LOGIC BLOCK LOGIC BLOCK IO PAD IO PAD LOGIC BLOCK LOGIC BLOCK LOGIC BLOCK LOGIC BLOCK IO PAD IP, RAM ROM LOGIC BLOCK LOGIC BLOCK IO PAD IO PAD IO PAD Vũ Đ c Lung LOGIC BLOCK – – – – – – Tập lệnh 32 bit, đường dẫn liệu, không gian địa 32 ghi mục đích chung 32 nguồn ngắt ngồi Tập lệnh đơn 32x32, nhân chia kết 32bit Tập lệnh dành cho tính tốn 64bit 128bit kết phép nhân Tập lệnh dấu chấm động dành cho thao tác dấu chấm động xác đơn – Bộ dịch chuyển lệnh đơn – Truy cập vào loạt thiết bị ngoại vi onbchip, giao diện với nhớ thiết bị ngoại vi offbchip – Module phần cứng hỗ trợ gỡ lỗi cho phép xử lý start, stop, step truy dấu kiểm sốt mơi trường phát triển tích hợp (IDE) IO PAD IO PAD LOGIC BLOCK NIOS II processsor lõi xử lý mục đích chung RISC cung cấp: IO PAD IO PAD IO PAD Khoa KTMT Nios II Processor System Basics Ki4n trúc t6ng quát c9a FPGA IO PAD 11 Khoa KTMT Vũ Đ c Lung 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt 11/03/2012 Nios II Processor System Basics Nios II Processor System Basics – Đơn vị quản lý nhớ tùy chọn (MMU) để hỗ trợ hệ điều hành mà yêu cầu MMUs – Đơn vị bảo vệ nhớ tùy chọn (MPU) – Phần mềm phát triển môi trường dựa cơng cụ GNU C/C++ Eclipse IDE – Tích hợp với Altera's SignalTap® II Embedded Logic Analyzer tạo điều kiện cho việc phân tích tập lệnh liệu thời gian thực với tín hiệu thiết kế FPGA – Hướng dẫn thiết lập kiến trúc (ISA) tương thích tất hệ thống xử lý Nios II – Hiệu suất tối đa 250 DMIPS, hệ thống xử lý Nios II tương đương với vi điều khiển hay "máy tính chip" bao gồm xử lý kết hợp thiết bị ngoại vi nhớ chip Hệ thống xử lý Nios II bao gồm xử lý lõi Nios II, thiết bị ngoại vi onbchip, nhớ onb chip, giao diện nhớ offbchip, tất thực thi thiết bị đơn Altera Giống gia đình vi điều khiển, tất hệ thống xử lý Nios II sử dụng bao gồm tập lệnh cài đặt lập trình mơ hình Vũ Đ c Lung 13 Khoa KTMT Vũ Đ c Lung 14 ng c om Khoa KTMT Cnh Nios II Cnh Nios II Trong t&t c' trư*ng h+p 6bit b[5:0] bi2u th3 cho OP code bít cịn l9i đ2 ch; nhc ti?p,ho@c OP code mB rCng du o ng th an co Lệnh Nios II dài 32 bít Gồm lệnh ảo sử dụng chương trình ngôn ngữ Assembler, Assembler thay lệnh ảo hay nhiều mã máy Có kiểu format lệnh: Ibtype, Rbtype and Jbtype Vũ Đ c Lung 15 Khoa KTMT Vũ Đ c Lung 16 cu u Khoa KTMT C