1. Trang chủ
  2. » Luận Văn - Báo Cáo

KIẾN TRÚC máy TÍNH

128 26 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 128
Dung lượng 6,77 MB

Nội dung

Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Hanoi University of Science and Technology Contact Information     KIẾN TRÚC MÁY TÍNH   Computer Architecture Address: 502-B1 Mobile: 091-358-5533 e-mail: khanhnk@soict.hust.edu.vn khanh.nguyenkim@hust.edu.vn Nguyễn Kim Khánh Bộ mơn Kỹ thuật máy tính Viện Cơng nghệ thông tin Truyền thông Department of Computer Engineering (DCE) School of Information and Communication Technology (SoICT) Version: Jan 2015 Jan2015 NKK-HUST Computer Architecture NKK-HUST Mục tiêu học phần     Tài liệu học tập Sinh viên trang bị kiến thức sở kiến trúc tập lệnh tổ chức máy tính, vấn đề thiết kế máy tính Sau học xong học phần này, sinh viên có khả năng:           Jan2015   download tại: ftp://dce.hust.edu.vn/khanhnk/CA/   Nguyễn Kim Khánh DCE-HUST Sách tham khảo: [1] William Stallings Computer Organization and Architecture – 2013, 9th edition [2] David A Patterson, John L Hennessy Computer Organization and Design – 2012, Revised 4th edition Tìm hiểu kiến trúc tập lệnh xử lý cụ thể Lập trình hợp ngữ Đánh giá hiệu máy tính cải thiện hiệu chương trình Khai thác quản trị hiệu hệ thống máy tính Phân tích thiết kế máy tính Computer Architecture Bài giảng Kiến trúc máy tính: CA-Jan2015 [3] David Money Harris, Sarah L Harris Digital Design and Computer Architecture – 2013, 2nd edition [4] Andrew S Tanenbaum Structured Computer Organization – 2013, 6th edition Jan2015 Computer Architecture Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST Jan2015 NKK-HUST Nội dung học phần Content Chương Giới thiệu chung Chương Cơ logic số Chương Hệ thống máy tính Chương Số học máy tính Chương Kiến trúc tập lệnh Chương Bộ xử lý Chương Bộ nhớ máy tính Chương Hệ thống vào-ra Chương Các kiến trúc song song Chapter Introduction Chapter The Basics of Digital Logic Chapter Computer System Chapter Computer Arithmetic Chapter Instruction Set Architecture Chapter The Processor Chapter Computer Memory Chapter Input-Output System Chapter Parallel Architectures Computer Architecture NKK-HUST Jan2015 Computer Architecture NKK-HUST Kiến trúc máy tính Nội dung chương 1.1 Máy tính phân loại máy tính 1.2 Khái niệm kiến trúc máy tính 1.3 Sự tiến hóa cơng nghệ máy tính 1.4 Hiệu máy tính Chương GIỚI THIỆU CHUNG Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội Jan2015 Computer Architecture Nguyễn Kim Khánh DCE-HUST Jan2015 Computer Architecture Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Mơ hình đơn giản máy tính 1.1 Máy tính phân loại máy tính   Máy tính (Computer) thiết bị điện tử thực công việc sau:       xử lý liệu Nhận liệu vào, Xử lý liệu theo dãy lệnh nhớ sẵn bên trong, Đưa liệu (thông tin) Các thiết bị vào (Input Devices) Dãy lệnh nằm nhớ để yêu cầu máy tính thực cơng việc cụ thể gọi chương trình (program)  Máy tính hoạt động theo chương trình   Jan2015 Computer Architecture liệu vào Jan2015   Desktop computers, Laptop computers Máy tính đa dụng     Thiết bị di động cá nhân (PMD - Personal Mobile Devices)   Máy chủ (Servers) – máy phục vụ     Dùng mạng để quản lý cung cấp dịch vụ Hiệu độ tin cậy cao Hàng nghìn đến hàng triệu USD         Dùng cho tính toán cao cấp khoa học kỹ thuật Hàng triệu đến hàng trăm triệu USD   Máy tính nhúng (Embedded Computers)     Đặt ẩn thiết bị khác Được thiết kế chuyên dụng Computer Architecture Nguyễn Kim Khánh DCE-HUST   11 Jan2015 Smartphones, Tablet Kết nối Internet Điện tốn đám mây (Cloud Computing) Siêu máy tính (Supercomputers)   Jan2015 10 Phân loại máy tính kỷ nguyên sau PC Máy tính cá nhân (Personal Computers)     liệu NKK-HUST     chương trình thực Computer Architecture Phân loại máy tính kỷ nguyên PC   Các thiết bị (Output Devices) Bộ nhớ (Main Memory) NKK-HUST   Bộ xử lý trung tâm (Central Processing Unit) Sử dụng máy tính qui mơ lớn (Warehouse Scale Computers), gồm nhiều servers kết nối với Cho công ty thuê phần để cung cấp dịch vụ phần mềm Software as a Service (SaaS): phần phần mềm chạy PMD, phần chạy Cloud Ví dụ: Amazon, Google Computer Architecture 12 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST 1.2 Khái niệm kiến trúc máy tính   Kiến trúc máy tính bao gồm:         Phân lớp máy tính Kiến trúc tập lệnh (Instruction Set Architecture): nghiên cứu máy tính theo cách nhìn người lập trình Người sử dụng Tổ chức máy tính (Computer Organization) hay Vi kiến trúc (Microarchitecture): nghiên cứu thiết kế máy tính mức cao (thiết kế CPU, hệ thống nhớ, cấu trúc bus, )   Hệ điều hành (Operating System) Phần cứng   Lập lịch cho nhiệm vụ chia sẻ tài nguyên Quản lý nhớ lưu trữ   Điều khiển vào-ra Phần cứng   13 Chương trình dịch (Compiler): dịch mã ngôn ngữ bậc cao thành ngôn ngữ máy   Cùng kiến trúc tập lệnh có nhiều sản phẩm (tổ chức, phần cứng) khác Computer Architecture Jan2015 Bộ xử lý, nhớ, mô-đun vào-ra Computer Architecture 14 NKK-HUST Ngôn ngữ bậc cao       High-level language – HLL Mức trừu tượng gần với vấn đề cần giải Hiệu linh động Hợp ngữ     Assembly language Mô tả lệnh dạng text High-level language program (in C) Các thành phần máy tính swap(int v[], int k) {int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; }     CPU Compiler     Bộ nhớ swap: multi add lw lw sw sw jr $2, $5,4 $2, $4,$2 $15, 0($2) $16, 4($2) $16, 0($2) $15, 4($2) $31 Bus hệ thống   Assembler 00000000101000100000000100011000 00000000100000100001000000100001 10001101111000100000000000000000 10001110000100100000000000000100 10101110000100100000000000000000 10101101111000100000000000000100 00000011111000000000000000001000   Jan2015 Trao đổi thơng tin máy tính với bên Bus hệ thống (System bus)   15 Chứa chương trình thực Hệ thống vào-ra (Input/Output)   Binary machine language program (for MIPS) Computer Architecture Nguyễn Kim Khánh DCE-HUST   Điều khiển hoạt động máy tính xử lý liệu Bộ nhớ (Main Memory)   Hệ thống vào-ra Machine language Mô tả theo phần cứng Các lệnh liệu mã hóa theo nhị phân Giống với tất loại máy tính Bộ xử lý trung tâm (Central Processing Unit – CPU)   Assembly language program (for MIPS) Ngôn ngữ máy   Jan2015 Người lập trình hệ thống Được viết theo ngôn ngữ bậc cao Phần mềm hệ thống Các mức mã chương trình   Phần mềm hệ thống   NKK-HUST       Phần cứng (Hardware): nghiên cứu thiết kế logic chi tiết cơng nghệ đóng gói máy tính Jan2015   Phần mềm ứng dụng   Người lập trình Phần mềm ứng dụng   Kết nối vận chuyển thông tin Computer Architecture 16 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Máy tính đầu tiên: ENIAC IAS 1.3 Sự tiến hóa cơng nghệ máy tính   Máy tính dùng đèn điện tử chân không (1950s)         Máy tính dùng transistors (1960s) Máy tính dùng vi mạch SSI, MSI LSI (1970s)         SSI - Small Scale Integration MSI - Medium Scale Integration LSI - Large Scale Integration   VLSI - Very Large Scale Integration   Máy tính dùng vi mạch ULSI (1990s-nay)     ULSI - Ultra Large Scale Integration Jan2015 Electronic Numerical Intergator and Computer Dự án Bộ Quốc phòng Mỹ Do John Mauchly đại học Pennsylvania thiết kế 30 Xử lý theo số thập phân   Máy tính dùng vi mạch VLSI (1980s)     Máy tính ENIAC: máy tính (1946) Máy tính IAS: máy tính von Neumann (1952)   Computer Architecture 17 NKK-HUST Jan2015       Thực Princeton Institute for Advanced Studies Do John von Neumann thiết kế theo ý tưởng “stored program” Xử lý theo số nhị phân Trở thành mơ hình máy tính Computer Architecture 18 NKK-HUST Một số loại vi mạch số điển hình Máy tính ngày   Massive Cluster Gigabit Ethernet Bộ vi xử lý (Microprocessors)   Clusters   Refrigerators   Sensor Nets Cars   Routers Routers Computer Architecture Nguyễn Kim Khánh DCE-HUST 19 Jan2015 ROM, RAM, Flash memory Hệ thống chip (SoC – System on Chip) hay Bộ vi điều khiển (Microcontrollers)   RobotsRobots Vi mạch thực chức nối ghép thành phần máy tính với Bộ nhớ bán dẫn (Semiconductor Memory)     Một vài CPU chế tạo chip Vi mạch điều khiển tổng hợp (Chipset)   Jan2015   Tích hợp thành phần máy tính chip vi mạch Được sử dụng chủ yếu smartphone, tablet máy tính nhúng Computer Architecture 20 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Sự phát triển vi xử lý       1971: vi xử lý 4-bit Intel 4004 1972: xử lý 8-bit 1978: xử lý 16-bit         1.4 Hiệu máy tính   Hiệu = 1/(thời gian thực hiện) hay là: P = 1/t Máy tính cá nhân IBM-PC đời năm 1981 Máy tính A nhanh máy B k lần 1985: xử lý 32-bit 2001: xử lý 64-bit 2006: xử lý đa lõi (multicores)   Định nghĩa hiệu P (Performance): PA / PB = tB / tA = k   Nhiều CPU chip Ví dụ: Thời gian chạy chương trình:       Jan2015 Computer Architecture 21 NKK-HUST Jan2015 Computer Architecture Thời gian thực CPU Về mặt thời gian, CPU hoạt động theo xung nhịp (clock) có tốc độ xác định       Jan2015 Chu kỳ xung nhịp T0 (Clock period): thời gian chu kỳ Tốc độ xung nhịp f0 (Clock rate) Tần số xung nhịp: số chu kỳ 1s   f0 = 1/T0 VD: Bộ xử lý có f0 = 4GHz = 4×109Hz T0 = 1/(4x109) = 0.25x10–9s = 0.25ns Computer Architecture Nguyễn Kim Khánh DCE-HUST Để đơn giản, ta xét thời gian CPU thực chương trình (CPU time): Thời gian thực CPU = Số chu kỳ xung nhịp x Thời gian chu kỳ T0   22 NKK-HUST Tốc độ xung nhịp CPU   10s máy A, 15s máy B tB / tA = 15s / 10s = 1.5 Vậy máy A nhanh máy B 1.5 lần tCPU = n × T0 = n f0 n: số chu kỳ xung nhịp   Hiệu tăng lên cách:     23 Jan2015 Giảm số chu kỳ xung nhịp n Tăng tốc độ xung nhịp f0 Computer Architecture 24 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Ví dụ     Hai máy tính A B chạy chương trình Máy tính A:       Ta có: Tốc độ xung nhịp CPU: fA = 2GHz Thời gian CPU thực chương trình: tA = 10s t=   n f Số chu kỳ xung nhịp chạy chương trình máy A: nA = t A × f A = 10s × 2GHz = 20 ×10 Máy tính B:     Ví dụ (tiếp) Thời gian CPU thực chương trình: tB = 6s Số chu kỳ xung nhịp chạy chương trình máy B (nB) nhiều 1.2 lần số chu kỳ xung nhịp chạy chương trình máy A (nA) Số chu kỳ xung nhịp chạy chương trình máy B: nB = 1.2 × nA = 24 ×10 Hãy xác định tốc độ xung nhịp cần thiết cho máy B (fB)? Tốc độ xung nhịp cần thiết cho máy B: fB = Jan2015 Computer Architecture 25 NKK-HUST nB 24 ×10 = = ×10 Hz = 4GHz tB Jan2015 Computer Architecture 26 NKK-HUST Số lệnh số chu kỳ lệnh Ví dụ Số chu kỳ xung nhịp chương trình:   Số chu kỳ = Số lệnh chương trình x Số chu kỳ lệnh   n = IC × CPI       Hai máy tính A B có kiến trúc tập lệnh Máy tính A có:   n - số chu kỳ xung nhịp IC - số lệnh chương trình (Instruction Count) CPI - số chu kỳ lệnh (Cycles per Instruction)     Máy tính B:   Vậy thời gian thực CPU: tCPU = IC × CPI × T0 =     IC × CPI f0 Chu kỳ xung nhịp: TA = 250ps Số chu kỳ/ lệnh trung bình: CPIA = 2.0 Chu kỳ xung nhịp: TB = 500ps Số chu kỳ/ lệnh trung bình: CPIB = 1.2 Hãy xác định máy nhanh nhanh ? Trong trường hợp lệnh khác có CPI khác nhau, cần tính CPI trung bình Jan2015 Computer Architecture Nguyễn Kim Khánh DCE-HUST 27 Jan2015 Computer Architecture 28 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Ví dụ (tiếp) CPI trung bình tCPU = IC × CPITB × T0 Ta có:   Hai máy kiến trúc tập lệnh, số lệnh chương trình hai máy nhau: Nếu loại lệnh khác có số chu kỳ khác nhau, ta có tổng số chu kỳ: K n = ∑ (CPI i × ICi ) ICA = ICB = IC Thời gian thực chương trình máy A máy B: i=1 t A = ICA × CPI A × TA = IC × 2.0 × 250 ps = IC × 500 ps   CPI trung bình: t B = ICB × CPI B × TB = IC ×1.2 × 500 ps = IC × 600 ps Từ ta có: CPITB = t B IC × 600 ps = = 1.2 t A IC × 500 ps n K = ∑ (CPI i × ICi ) IC IC i=1 Kết luận: máy A nhanh máy B 1.2 lần Jan2015 Computer Architecture 29 NKK-HUST Jan2015 Computer Architecture NKK-HUST Ví dụ   Ví dụ Cho bảng dãy lệnh sử dụng lệnh thuộc loại A, B, C Tính CPI trung bình?   Cho bảng dãy lệnh sử dụng lệnh thuộc loại A, B, C Tính CPI trung bình? Loại lệnh A B C Loại lệnh A B CPI theo loại lệnh CPI theo loại lệnh IC dãy lệnh 20 10 20 IC dãy lệnh 20 10 20 IC dãy lệnh 40 10 10 IC dãy lệnh 40 10 10   Dãy lệnh 1: Số lệnh = 50   Computer Architecture Nguyễn Kim Khánh DCE-HUST 31 Jan2015 C Dãy lệnh 2: Số lệnh = 60 Số chu kỳ = = 1x20 + 2x10 + 3x20 = 100   CPITB = 100/50 = 2.0   Jan2015 30 Computer Architecture Số chu kỳ = = 1x40 + 2x10 + 3x10 = 90   CPITB = 90/60 = 1.5   32 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST MIPS thước đo hiệu Tóm tắt Hiệu CPU Time = Instructions Clock cycles Seconds × × Program Instruction Clock cycle   MIPS: Millions of Instructions Per Second (Số triệu lệnh giây) Thời gian CPU = Số lệnh chương trình x Số chu kỳ/lệnh x Số giây chu kỳ tCPU   MIPS = IC × CPI = IC × CPI × T0 = f0 Instruction count Instruction count Clock rate = = Execution time ×106 Instruction count × CPI ×106 CPI×106 Clock rate Hiệu phụ thuộc vào:           Thuật giải Ngôn ngữ lập trình Chương trình dịch Kiến trúc tập lệnh Phần cứng Jan2015 Computer Architecture MIPS = 33 NKK-HUST f0 CPI × 10 Jan2015 CPI = f0 MIPS × 10 Computer Architecture 34 NKK-HUST Ví dụ Ví dụ  Tính MIPS xử lý với: clock rate = 2GHz CPI =  Tính MIPS xử lý với: clock rate = 2GHz CPI = 0.5ns 2ns         Jan2015 Computer Architecture Nguyễn Kim Khánh DCE-HUST 35 Jan2015 Chu kỳ T0 = 1/(2x109) = 0.5ns CPI =  thời gian thực lệnh = x 0.5ns = 2ns Số lệnh thực 1s = (109ns)/(2ns) = 5x108 lệnh Vậy xử lý thực 500 MIPS Computer Architecture 36 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Ví dụ Ví dụ  Tính CPI xử lý với: clock rate = 1GHz 400 MIPS  Tính CPI xử lý với: clock rate = 1GHz 400 MIPS 1ns         Jan2015 Computer Architecture 37 NKK-HUST Jan2015 Computer Architecture 38 NKK-HUST Các ý tưởng vĩ đại kiến trúc máy tính MFLOPS Design for Moore’s Law Thiết kế theo luật Moore Use abstraction to simplify design Sử dụng trừu tượng hóa để đơn giản thiết kế Make the common case fast Làm cho trường hợp phổ biến thực nhanh Performance via parallelism Tăng hiệu qua xử lý song song Performance via pipelining Tăng hiệu qua kỹ thuật đường ống Performance via prediction Tăng hiệu thơng qua dự đốn Hierarchy of memories Phân cấp nhớ Dependability via redundancy Tăng độ tin cậy thơng qua dự phịng   Sử dụng cho hệ thống tính tốn lớn   Millions of Floating Point Operations per Second   Số triệu phép toán số dấu phẩy động giây MFLOPS = Executed floating point operations Execution time ×106 GFLOPS 109 TFLOPS 1012 PFLOPS (1015) Jan2015 Chu kỳ T0 = 1/109 = 1ns Số lệnh thực s 400MIPS = 4x108 lệnh Thời gian thực lệnh = 1/(4x108)s = 2.5ns Vậy ta có: CPI = 2.5 Computer Architecture Nguyễn Kim Khánh DCE-HUST 39 Jan2015 Computer Architecture 40 10 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Chuyển điều khiển đến chương trình ngắt Hoạt động vào liệu: nhìn từ mơ-đun vào-ra Chương trình thực Chương trình xử lý ngắt lệnh lệnh Ngắt   lệnh lệnh lệnh lệnh lệnh i lệnh lệnh i+1     lệnh RETURN     lệnh Jan2015 Computer Architecture 453 NKK-HUST Jan2015 Computer Architecture       454 NKK-HUST Hoạt động vào liệu: nhìn từ CPU   Mơ-đun vào-ra nhận tín hiệu điều khiển đọc từ CPU Mô-đun vào-ra nhận liệu từ thiết bị vào-ra, CPU làm việc khác Khi có liệu  mơ-đun vào-ra phát tín hiệu ngắt CPU CPU yêu cầu liệu Mô-đun vào-ra chuyển liệu đến CPU Các vấn đề nảy sinh thiết kế Phát tín hiệu điều khiển đọc Làm việc khác Cuối chu trình lệnh, kiểm tra tín hiệu u cầu ngắt Nếu bị ngắt:     Làm để xác định mơ-đun vào-ra phát tín hiệu ngắt ? CPU làm có nhiều yêu cầu ngắt xẩy ? Cất ngữ cảnh (nội dung ghi liên quan)   Thực chương trình xử lý ngắt để vào liệu   Khơi phục ngữ cảnh chương trình thực   Jan2015 Computer Architecture Nguyễn Kim Khánh DCE-HUST 455 Jan2015 Computer Architecture 456 114 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Nhiều đường yêu cầu ngắt Các phương pháp nối ghép ngắt         Sử dụng nhiều đường yêu cầu ngắt Hỏi vòng phần mềm (Software Poll) Hỏi vòng phần cứng (Daisy Chain or Hardware Poll) Sử dụng điều khiển ngắt (PIC) Thanh ghi yêu cầu ngắt       Computer Architecture 457 NKK-HUST CPU   Jan2015 Mô-đun vào-ra Mô-đun vào-ra Computer Architecture 458 NKK-HUST Cờ ngắt   Mô-đun vào-ra Mỗi mô-đun vào-ra nối với đường yêu cầu ngắt CPU phải có nhiều đường tín hiệu u cầu ngắt Hạn chế số lượng mô-đun vào-ra Các đường ngắt qui định mức ưu tiên Jan2015 Hỏi vòng phần mềm   Mô-đun vào-ra CPU   Jan2015 INTR3 INTR2 INTR1 INTR0 Hỏi vịng phần cứng INTR Bus liệu Mơ-đun vào-ra Mô-đun vào-ra Mô-đun vào-ra Cờ ngắt Mô-đun vào-ra CPU CPU thực phần mềm hỏi mô-đun vào-ra Chậm Thứ tự mơ-đun hỏi vịng thứ tự ưu tiên Computer Architecture Nguyễn Kim Khánh DCE-HUST INTR INTA 459 Jan2015 Mô-đun vào-ra Mô-đun vào-ra Computer Architecture Mô-đun vào-ra Mô-đun vào-ra 460 115 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Bộ điều khiển ngắt lập trình Hỏi vịng phần cứng (tiếp) INTR n       Bus liệu CPU phát tín hiệu chấp nhận ngắt (INTA) đến mô-đun vào-ra Nếu mơ-đun vào-ra khơng gây ngắt gửi tín hiệu đến mơ-đun xác định mô-đun gây ngắt Thứ tự mô-đun vào-ra kết nối chuỗi xác định thứ tự ưu tiên INTRn-1 Computer Architecture     461 Mô-đun vào-ra Mô-đun vào-ra 462 NKK-HUST DMA (Direct Memory Access) Có kết hợp phần cứng phần mềm   Phần cứng: gây ngắt CPU   Phần mềm: trao đổi liệu CPU với mô-đun vào-ra Jan2015 Mô-đun vào-ra Computer Architecture     INTR0 PIC – Programmable Interrupt Controller PIC có nhiều đường vào yêu cầu ngắt có qui định mức ưu tiên PIC chọn yêu cầu ngắt không bị cấm có mức ưu tiên cao gửi tới CPU Jan2015 Đặc điểm vào-ra điều khiển ngắt   INTR1 Mô-đun vào-ra NKK-HUST   PIC INTA   Jan2015 INTR CPU     Nguyễn Kim Khánh DCE-HUST 463 Jan2015 Chiếm thời gian CPU Để khắc phục dùng kỹ thuật DMA   CPU trực tiếp điều khiển vào-ra CPU khơng phải đợi mơ-đun vào-ra, hiệu sử dụng CPU tốt Computer Architecture Vào-ra chương trình ngắt CPU trực tiếp điều khiển: Sử dụng mô-đun điều khiển vào-ra chuyên dụng, gọi DMAC (Controller), điều khiển trao đổi liệu mô-đun vào-ra với nhớ Computer Architecture 464 116 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Sơ đồ cấu trúc DMAC Các thành phần DMAC Bộ đếm liệu Các đường liệu   Thanh ghi liệu Thanh ghi địa Các đường địa   Điều khiển đọc Yêu cầu bus Chuyển nhượng bus Điều khiển ghi Ngắt Jan2015     Logic điều khiển Đọc Yêu cầu DMA Ghi Chấp nhận DMA Computer Architecture 465 NKK-HUST Jan2015 Computer Architecture             Jan2015   Vào hay Ra liệu Địa thiết bị vào-ra (cổng vào-ra tương ứng) Địa đầu mảng nhớ chứa liệu  nạp vào ghi địa Số từ liệu cần truyền  nạp vào đếm liệu   CPU làm việc khác DMAC điều khiển trao đổi liệu Sau truyền từ liệu thì:     Các kiểu thực DMA CPU “nói” cho DMAC     466 NKK-HUST Hoạt động DMA   Thanh ghi liệu: chứa liệu trao đổi Thanh ghi địa chỉ: chứa địa ngăn nhớ liệu Bộ đếm liệu: chứa số từ liệu cần trao đổi Logic điều khiển: điều khiển hoạt động DMAC   nội dung ghi địa tăng nội dung đếm liệu giảm Khi đếm liệu = 0, DMAC gửi tín hiệu ngắt CPU để báo kết thúc DMA Computer Architecture Nguyễn Kim Khánh DCE-HUST 467 Jan2015 DMA truyền theo khối (Block-transfer DMA): DMAC sử dụng bus để truyền xong khối liệu DMA lấy chu kỳ (Cycle Stealing DMA): DMAC cưỡng CPU treo tạm thời chu kỳ bus, DMAC chiếm bus thực truyền từ liệu DMA suốt (Transparent DMA): DMAC nhận biết chu kỳ CPU không sử dụng bus chiếm bus để trao đổi từ liệu Computer Architecture 468 117 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Cấu hình DMA (1) Cấu hình DMA (2) System Bus System Bus CPU CPU   I/O Module DMAC  .  I/O Module Memory I/O Module Mỗi lần trao đổi liệu, DMAC sử dụng bus hai lần       Giữa mô-đun vào-ra với DMAC Giữa DMAC với nhớ   Computer Architecture 469 NKK-HUST DMAC I/O Module Memory I/O Module DMAC điều khiển vài mô-đun vào-ra Mỗi lần trao đổi liệu, DMAC sử dụng bus lần   Jan2015  .  DMAC Jan2015 Giữa DMAC với nhớ Computer Architecture 470 NKK-HUST Đặc điểm DMA Cấu hình DMA (3) System Bus CPU DMAC   Memory IO Bus I/O Module I/O Module  .    I/O Module       Bus vào-ra tách rời hỗ trợ tất thiết bị cho phép DMA Mỗi lần trao đổi liệu, DMAC sử dụng bus lần   Jan2015 CPU không tham gia trình trao đổi liệu DMAC điều khiển trao đổi liệu nhớ với mơ-đun vào-ra (hồn toàn phần cứng) tốc độ nhanh Phù hợp với u cầu trao đổi mảng liệu có kích thước lớn Giữa DMAC với nhớ Computer Architecture Nguyễn Kim Khánh DCE-HUST 471 Jan2015 Computer Architecture 472 118 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Bộ xử lý vào-ra       8.3 Nối ghép thiết bị vào-ra Việc điều khiển vào-ra thực xử lý vào-ra chuyên dụng Bộ xử lý vào-ra hoạt động theo chương trình riêng Chương trình xử lý vào-ra nằm nhớ nằm nhớ riêng Jan2015 Computer Architecture Các kiểu nối ghép vào-ra   Nối ghép song song   Nối ghép nối tiếp 473 NKK-HUST Jan2015 Computer Architecture NKK-HUST Nối ghép song song Mô-đun vào-ra song song Đến bus hệ thống Nối ghép nối tiếp Đến bus hệ thống Đến thiết bị ngoại vi         Jan2015 474 Truyền nhiều bit song song Tốc độ nhanh Cần nhiều đường truyền liệu Computer Architecture Nguyễn Kim Khánh DCE-HUST       475 Jan2015 Mô-đun vào-ra nối tiếp Đến thiết bị ngoại vi Truyền bit Cần có chuyển đổi từ liệu song song sang nối tiếp hoặc/và ngược lại Tốc độ chậm Cần đường truyền liệu Computer Architecture 476 119 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Các cấu hình nối ghép   Điểm tới điểm (Point to Point)     Thunderbolt COMPUTER Thông qua cổng vào-ra nối ghép với thiết bị Điểm tới đa điểm (Point to Multipoint) Thông qua cổng vào-ra cho phép nối ghép với nhiều thiết bị   Ví dụ:     Processor Platform controller hub (PCH) DisplayPort     Memory Graphics Subsystem DisplayPort PCIe x4 TC Thunderbolt controller Thunderbolt connector USB (Universal Serial Bus): 127 thiết bị IEEE 1394 (FireWire): 63 thiết bị Thunderbolt Thunderbolt 20 Gbps (max) Daisy chain TC Jan2015 Computer Architecture 477 NKK-HUST Jan2015 TC Computer Architecture 478 NKK-HUST Kiến trúc máy tính Chương CÁC KIẾN TRÚC SONG SONG Hết chương Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội Jan2015 Computer Architecture Nguyễn Kim Khánh DCE-HUST 479 Jan2015 Computer Architecture 480 120 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Nội dung chương Nội dung học phần Chương Giới thiệu chung Chương Cơ logic số Chương Hệ thống máy tính Chương Số học máy tính Chương Kiến trúc tập lệnh Chương Bộ xử lý Chương Bộ nhớ máy tính Chương Hệ thống vào-ra Chương Các kiến trúc song song Jan2015 Computer Architecture 9.1 Phân loại kiến trúc máy tính 9.2 Đa xử lý nhớ dùng chung 9.3 Đa xử lý nhớ phân tán 9.4 Bộ xử lý đồ họa đa dụng 481 NKK-HUST Jan2015 Computer Architecture 482 NKK-HUST 9.1 Phân loại kiến trúc máy tính SISD IS CU DS PU MU Phân loại kiến trúc máy tính (Michael Flynn -1966)   SISD - Single Instruction Stream, Single Data Stream   SIMD - Single Instruction Stream, Multiple Data Stream   MISD - Multiple Instruction Stream, Single Data Stream   MIMD - Multiple Instruction Stream, Multiple Data Stream               Jan2015 Computer Architecture Nguyễn Kim Khánh DCE-HUST 483 Jan2015 CU: Control Unit PU: Processing Unit MU: Memory Unit Một xử lý Đơn dòng lệnh Dữ liệu lưu trữ nhớ Chính Kiến trúc von Neumann (tuần tự) Computer Architecture 484 121 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST SIMD SIMD (tiếp)   DS PU1 LM1   DS PU2 IS LM2 CU         DS PUn Đơn dòng lệnh điều khiển đồng thời đơn vị xử lý PUs Mỗi phần tử xử lý có nhớ liệu riêng LM (local memory) Mỗi lệnh thực tập liệu khác Các mơ hình SIMD LMn     Jan2015 Computer Architecture 485 NKK-HUST Jan2015 Computer Architecture       MIMD Một luồng liệu truyền đến tập xử lý Mỗi xử lý thực dãy lệnh khác Chưa tồn máy tính thực tế Có thể có tương lai       Tập xử lý Các xử lý đồng thời thực dãy lệnh khác liệu khác Các mơ hình MIMD     Jan2015 486 NKK-HUST MISD   Vector Computer Array processor Computer Architecture Nguyễn Kim Khánh DCE-HUST 487 Jan2015 Multiprocessors (Shared Memory) Multicomputers (Distributed Memory) Computer Architecture 488 122 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST MIMD - Shared Memory MIMD - Distributed Memory Đa xử lý nhớ phân tán (distributed memory mutiprocessors or multicomputers) Đa xử lý nhớ dùng chung (shared memory mutiprocessors) CU1 IS PU1 DS CU1 CU2 IS PU2 CUn Jan2015 PUn Bộ nhớ dùng chung CU2 CUn 489 NKK-HUST Jan2015   pipeline superscalar   Song song mức liệu   DS IS PUn LM2 DS Mạng liên kết hiệu cao LMn 490 SIMD   Hệ thống đa xử lý đối xứng (SMPSymmetric Multiprocessors) Hệ thống đa xử lý không đối xứng (NUMA – Non-Uniform Memory Access) Bộ xử lý đa lõi (Multicore Processors) Song song mức luồng   MIMD Song song mức yêu cầu   Jan2015 PU2 9.2 Đa xử lý nhớ dùng chung Song song mức lệnh     LM1 NKK-HUST     DS Computer Architecture Phân loại kỹ thuật song song   IS DS Computer Architecture   PU1 DS IS IS Cloud computing Computer Architecture Nguyễn Kim Khánh DCE-HUST 491 Jan2015 Computer Architecture 492 123 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST SMP hay UMA (Uniform Memory Access) SMP (tiếp)     CPU CPU M Shared memory Private memory Shared memory CPU CPU M CPU CPU   M Cache   Bus (a) (b) (c)       Jan2015 Computer Architecture 493 NKK-HUST Jan2015 Bộ xử lý đa lõi (multicores) Thay đổi xử lý: (a) Superscalar Instruction fetch unit Registers n PC n Issue logic Execution units and queues L1 instruction cache L1 data cache L2 cache L1-I L1-D Processor n (superscalar or SMT) (b) Simultaneous multithreading Processor (superscalar or SMT) Có khơng gian địa chung cho tất CPU Mỗi CPU truy cập từ xa sang nhớ CPU khác Truy nhập nhớ từ xa chậm truy nhập nhớ cục L1 data cache L2 cache   System bus Issue logic Single-thread register file Execution units and queues L1 instruction cache Register Tuần tự   Pipeline   Siêu vô hướng   Đa luồng   Đa lõi: nhiều CPU chip Local bus Program counter Instruction fetch unit L1-I L1-D Local bus   PC Local bus CPU Memory Processor (superscalar or SMT) CPU Memory Processor (superscalar or SMT) Local bus CPU Memory L1-I L1-D MMU   494 L1-I L1-D CPU Memory   Computer Architecture NKK-HUST NUMA (Non-Uniform Memory Access)   Một máy tính có n >= xử lý giống Các xử lý dùng chung nhớ hệ thống vào-ra Thời gian truy cập nhớ với xử lý Các xử lý thực chức giống Hệ thống điều khiển hệ điều hành phân tán Hiệu năng: Các cơng việc thực song song Khả chịu lỗi L2 cache (c) Multicore Jan2015 Computer Architecture Nguyễn Kim Khánh DCE-HUST 495 Jan2015 Computer Architecture 496 124 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Các dạng tổ chức xử lý đa lõi L2 cache Main memory I/O L2 cache   I/O Main memory   (b) Dedicated L2 cache (a) Dedicated L1 cache 2006 Two x86 superscalar, shared L2 cache Dedicated L1 cache per core   CPU Core CPU Core n L1-D L1-I L1-D L1-I CPU Core CPU Core n L1-D L1-I L1-D L1-I L2 cache L2 cache L2 cache   32-kB L1 Caches L2 cache   Execution resources L1-D L1-I Arch state CPU Core n L1-D L1-I Arch state CPU Core L1-D L1-I Execution resources CPU Core n L1-D L1-I 32-kB L1 Caches CPU Core Intel - Core Duo Thermal control Thermal control APIC APIC Power management logic 32KiB instruction and 32KiB data MB L2 shared cache 2MiB shared L2 cache Bus interface L3 cache Front-side bus Main memory Main memory I/O (c) Shared L2 cache Jan2015 I/O (d ) Shared L3 cache Computer Architecture 497 NKK-HUST Jan2015 Computer Architecture 498 NKK-HUST 9.3 Đa xử lý nhớ phân tán Intel Core i7-990X CPU Node Memory … … Core Core Core Core Core Core Local interconnect 32 kB 32 kB L1-I L1-D 32 kB 32 kB L1-I L1-D 32 kB 32 kB L1-I L1-D 32 kB 32 kB L1-I L1-D 32 kB 32 kB L1-I L1-D 32 kB 32 kB L1-I L1-D 256 kB L2 Cache 256 kB L2 Cache 256 kB L2 Cache 256 kB L2 Cache 256 kB L2 Cache 256 kB L2 Cache Disk and I/O … Local interconnect Disk and I/O Communication processor High-performance interconnection network 12 MB L3 Cache DDR3 Memory Controllers QuickPath Interconnect ؋ 8B @ 1.33 GT/s ؋ 20B @ 6.4 GT/s     Jan2015 Computer Architecture Nguyễn Kim Khánh DCE-HUST 499 Máy tính qui mơ lớn (Warehouse Scale Computers or Massively Parallel Processors – MPP) Máy tính cụm (clusters) Jan2015 Computer Architecture 500 125 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Mạng liên kết Massively Parallel Processors   (a) (b)     (c) (d)   (e) (f) (g) Jan2015 (h) Computer Architecture 501 NKK-HUST Jan2015 Computer Architecture Cluster     2-GB DDR2 DRAM (a)   Card Chip CPUs GB Board 32 Cards 32 Chips 128 CPUs 64 GB Cabinet 32 Boards 1024 Cards 1024 Chips 4096 CPUs TB System 72 Cabinets 73728 Cards 73728 Chips 294912 CPUs 144 TB (b) (c) (d) (e)         Jan2015 502 NKK-HUST IBM Blue Gene/P Chip: processors 8-MB L3 cache Hệ thống qui mô lớn Đắt tiền: nhiều triệu USD Dùng cho tính tốn khoa học tốn có số phép tốn liệu lớn Siêu máy tính Computer Architecture Nguyễn Kim Khánh DCE-HUST 503 Jan2015 Nhiều máy tính kết nối với mạng liên kết tốc độ cao (~ Gbps) Mỗi máy tính làm việc độc lập (PC SMP) Mỗi máy tính gọi node Các máy tính quản lý làm việc song song theo nhóm (cluster) Tồn hệ thống coi máy tính song song Tính sẵn sàng cao Khả chịu lỗi lớn Computer Architecture 504 126 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST 9.4 Bộ xử lý đồ họa đa dụng PC Cluster Google OC-12 Fiber OC-48 Fiber     128-port Gigabit Ethernet switch 128-port Gigabit Ethernet switch Two gigabit Ethernet links   80-PC rack   Kiến trúc SIMD Xuất phát từ xử lý đồ họa GPU (Graphic Processing Unit) hỗ trợ xử lý đồ họa 2D 3D: xử lý liệu song song GPGPU – General purpose Graphic Processing Unit Hệ thống lai CPU/GPGPU     Jan2015 Computer Architecture 505 NKK-HUST Jan2015 CPU host: thực theo GPGPU: tính tốn song song Computer Architecture 506 NKK-HUST Bộ xử lý đồ họa máy tính GPGPU: NVIDIA Tesla  Streaming multiprocessor × Streaming processors   Jan2015 Computer Architecture Nguyễn Kim Khánh DCE-HUST 507 Jan2015 Computer Architecture 508 127 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST GPGPU: NVIDIA Fermi NVIDIA Fermi Instruction Cache       Có 16 Streaming Multiprocessors (SM) Mỗi SM có 32 CUDA cores Mỗi CUDA core (Cumpute Unified Device Architecture) có 01 FPU 01 IU Warp Scheduler Warp Scheduler Dispatch Unit Dispatch Unit Register File (32,768 x 32-bit) LD/ST Core Core Core Core Core Core Core Core LD/ST SFU LD/ST LD/ST CUDA Core LD/ST Core Core Core Core Core Core Core Core Dispatch Port LD/ST SFU Operand Collector LD/ST FP Unit LD/ST INT Unit LD/ST Core Core Core Core Core Core Core Core LD/ST Result Queue SFU LD/ST LD/ST LD/ST Core Core Core Core Core Core Core Core LD/ST SFU LD/ST LD/ST Interconnect Network 64 KB Shared Memory / L1 Cache Uniform Cache Jan2015 Computer Architecture 509 Jan2015 Computer Architecture 510 NKK-HUST Hết Jan2015 Computer Architecture Nguyễn Kim Khánh DCE-HUST 511 128 ... Architecture NKK-HUST Kiến trúc máy tính Nội dung chương 1.1 Máy tính phân loại máy tính 1.2 Khái niệm kiến trúc máy tính 1.3 Sự tiến hóa cơng nghệ máy tính 1.4 Hiệu máy tính Chương GIỚI THIỆU... Architecture 12 Bài giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST 1.2 Khái niệm kiến trúc máy tính   Kiến trúc máy tính bao gồm:         Phân lớp máy tính Kiến trúc tập lệnh (Instruction... giảng Kiến trúc máy tính Jan2015 NKK-HUST NKK-HUST Kiến trúc máy tính Nội dung học phần Chương Giới thiệu chung Chương Cơ logic số Chương Hệ thống máy tính Chương Số học máy tính Chương Kiến trúc

Ngày đăng: 11/08/2022, 11:07

w