Bài giảng Hệ thống máy tính - Chương 1: Giới thiệu chung - Nguyễn Kim Khánh

1.1. Sự phát triển của máy tính 1.2. Định nghĩa kiến trúc máy tính 1.3. Hiệu năng máy tính

pdf9 trang | Chia sẻ: thuongdt324 | Lượt xem: 511 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Hệ thống máy tính - Chương 1: Giới thiệu chung - Nguyễn Kim Khánh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 1 8 September 2009 HỆ THỐNG MÁY TÍNH Computer System Nguyễn Kim Khánh, PhD. in Computer Engineering Bộ môn Kỹ thuật máy tính Viện Công nghệ thông tin và Truyền thông Trường Đại học Bách khoa Hà Nội 8 September 2009 NKK-HUT Contact „ Offices: 322-C1 - DCE, SoICT „ Mobile: 091-358-5533 „ e-mail: „ khanhnk@mail.hut.edu.vn „ khanhnk@it-hut.edu.vn 8 September 2009 NKK-HUT Mục tiêu học phần „ Giới thiệu các kiến thức cơ bản về hệ thống máy tính bao gồm: kiến trúc bộ nhớ, kiến trúc vào-ra, kiến trúc CPU và các kiến trúc máy tính song song, cũng như các vấn đề cơ bản trong thiết kế một hệ thống máy tính. „ Sinh viên có khả năng đánh giá được hiệu năng của các họ máy tính, khai thác và sử dụng hiệu quả các loại máy tính và có khả năng tiếp cận để phát triển các hệ máy tính nhúng phục vụ các mục đích chuyên dụng. 8 September 2009 NKK-HUT Tài liệu tham khảo chính 1. William Stallings - Computer Organization and Architecture – Designing for Performance – 2003 (6th edition) 2. Behrooz Parhami - Computer Architecture: From Microprocessors to Supercomputers - 2005 3. David A. Patterson & John L. Hennessy - Computer Organization and Design: The Hardware/Software Interface – 2002 (third edition) 4. John L. Hennessy & David A. Patterson - Computer Architecture: A Quantitative Approach – 2003 (third edition) Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 2 8 September 2009 NKK-HUT Tài liệu tham khảo ... 8 September 2009 NKK-HUT Tài liệu tham khảo ... 8 September 2009 NKK-HUT Nội dung học phần „ Chương 1. Giới thiệu chung „ Chương 2. Kiến trúc bộ nhớ „ Chương 3. Kiến trúc vào-ra „ Chương 4. Kiến trúc bộ xử lý „ Chương 5. Kiến trúc máy tính tiên tiến 8 September 2009 NKK-HUT Hệ thống máy tính Chương 1 GIỚI THIỆU CHUNG Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 3 8 September 2009 NKK-HUT 1.1. Sự phát triển của máy tính 1.2. Định nghĩa kiến trúc máy tính 1.3. Hiệu năng máy tính Nội dung 8 September 2009 NKK-HUT 1.1. Sự phát triển của của máy tính 1. Các thế hệ máy tính „ Thế hệ thứ nhất: Máy tính dùng đèn điện tử chân không (1950s) „ Thế hệ thứ hai: Máy tính dùng transistor (1960s) „ Thế hệ thứ ba: Máy tính dùng vi mạch SSI, MSI và LSI (1970s) „ Thế hệ thứ tư: Máy tính dùng vi mạch VLSI (1980s) „ Thế hệ thứ năm: Máy tính dùng vi mạch ULSI, SoC (1990s đến nay) 8 September 2009 NKK-HUT „ Bộ vi xử lý (Microprocessor): CPU được chế tạo trên một chip. „ Vi mạch điều khiển tổng hợp (Chipset): một hoặc một vài vi mạch thực hiện được nhiều chức năng điều khiển và nối ghép. „ Bộ nhớ bán dẫn (Semiconductor Memory): ROM, RAM „ Các bộ vi điều khiển (Microcontroller): máy tính chuyên dụng được chế tạo trên 1 chip. Các sản phẩm chính của công nghệ VLSI/ULSI 8 September 2009 NKK-HUT Luật Moore „ Gordon Moore – người đồng sáng lập Intel „ Số transistors trên chip sẽ gấp đôi sau 18 tháng „ Giá thành của chip hầu như không thay đổi „ Mật độ cao hơn, do vậy đường dẫn ngắn hơn „ Kích thước nhỏ hơn dẫn tới độ phức tạp tăng lên „ Điện năng tiêu thụ ít hơn „ Hệ thống có ít các chip liên kết với nhau, do đó tăng độ tin cậy Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 4 8 September 2009 NKK-HUT Tăng trưởng số transistor trong chip CPU 8 September 2009 NKK-HUT 2. Sự phát triển của bộ vi xử lý „ 1971: bộ vi xử lý 4-bit Intel 4004 „ 1972-1977: các bộ xử lý 8-bit „ 1978-1984: các bộ xử lý 16-bit „ Khoảng từ 1985: các bộ xử lý 32-bit „ Khoảng từ 2000: các bộ xử lý 64-bit „ Các bộ xử lý đa lõi (multicores) „ Các bộ vi điều khiển (microcontroller) 8 September 2009 NKK-HUT Sự phát triển của Intel x86 „ 4004 „ Bộ vi xử lý đầu tiên „ 4-bit „ 8080 „ Bộ vi xử lý đa năng đầu tiên „ 8-bit „ Sử dụng trong PC đầu tiên – Altair „ 8086 „ 5MHz – 29,000 transistors „ 16-bit „ 8088 (bus dữ liệu bên ngoài 8-bit) sử dụng trong IBM PC đầu tiên „ 80286 „ Đánh địa chỉ bộ nhớ được16 Mbyte 8 September 2009 NKK-HUT Sự phát triển của Intel x86 „ 80386 „ 32-bit „ Hỗ trợ đa nhiệm „ 80486 „ Tăng cường bộ nhớ cache trên chip „ Đường ống lệnh „ Có bộ đồng xử lý toán trên chip „ Pentium „ Siêu vô hướng „ Bus dữ liệu 64-bit „ Đa lệnh được thực hiện song song „ Pentium Pro „ Tăng cường tổ chức siêu vô hướng „ Dự đoán rẽ nhánh „ Phân tích luồng dữ liệu „ Suy đoán đông Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 5 8 September 2009 NKK-HUT Sự phát triển của Intel x86 „ Pentium II „ Công nghệ MMX „ Xử lý đồ họa, video & audio „ Pentium III „ Thêm các lệnh xử lý dấu phẩy động cho đồ họa 3D „ Pentium 4 „ Tăng cường xử lý số dấu phẩy động và multimedia „ Duo Core: 2 bộ xử lý trên chip „ Core 2: Kiến trúc 64-bit „ Core 2 Quad – 3GHz – 820 triệu transistors „ 4 bộ xử lý trong 1chip 8 September 2009 NKK-HUT 1.2. Định nghĩa kiến trúc máy tính „ Định nghĩa trước đây về kiến trúc máy tính: „ Cách nhìn logic của máy tính từ người lập trình (hardware/software interface) „ Kiến trúc tập lệnh (Instruction Set Architecture – ISA) „ Là định nghĩa hẹp 8 September 2009 NKK-HUT Định nghĩa của Hennessy/ Patterson „ Kiến trúc máy tính bao gồm: „ Kiến trúc tập lệnh (Instruction Set Architecture): nghiên cứu máy tính theo cách nhìn của người lập trình (hardware/software interface). „ Tổ chức máy tính (Computer Organization): nghiên cứu thiết kế máy tính ở mức cao,chẳng hạn như hệ thống nhớ, cấu trúc bus, thiết kế bên trong CPU. „ Phần cứng (Hardware): nghiên cứu thiết kế logic chi tiết và công nghệ đóng gói của máy tính. „ Kiến trúc tập lệnh thay đổi chậm, tổ chức và phần cứng máy tính thay đổi rất nhanh. 8 September 2009 NKK-HUT Tổ chức cơ bản của máy tính control arithmetic memory input output CPU Processor Architecture Memory Architecture I/O Architecture software Instruction Set Architecture Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 6 8 September 2009 NKK-HUT Kiến trúc bộ xử lý Register Program Counter(PC) Instruction Reg(IR) ALU Arithmetic Unit Controller Main Memory Control SignalStatus signal CPU Program Data instruction cycle • instruction fetch • instruction decode • operand fetch • instruction execution • write result • update PC 8 September 2009 NKK-HUT Kiến trúc bộ nhớ • Phân cấp hệ thống nhớ • Nguyên lý cục bộ hóa tham chiếu bộ nhớ 8 September 2009 NKK-HUT Kiến trúc vào-ra M«-®un vµo-ra M«-®un vµo-ra Cæng vµo-ra ThiÕt bÞ ngo¹i vi ThiÕt bÞ ngo¹i vi ThiÕt bÞ ngo¹i vi nèi ghÐp víi CPU vµ bé nhí chÝnh Cæng vµo-ra Cæng vµo-ra bus hÖ thèng 8 September 2009 NKK-HUT Kiến trúc vào-ra „ Chênh lệch tốc độ giữa thiết bị vào-ra với CPU và bộ nhớ „ Các kỹ thuật thực hiện: „ Ngắt: rút ngắn thời gian đợi đáp ứng từ thiết bị vào-ra „ DMA: Phần cứng dành riêng để truyền dữ liệu giữa thiết bị vào-ra với bộ nhớ chính Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 7 8 September 2009 NKK-HUT Kiến trúc máy tính và hệ điều hành user application program OS hardware processor memory I/O device hardware resource management multi programming support •OS mode / user mode •process dispatch •memory protection 8 September 2009 NKK-HUT 1.3. Hiệu năng máy tính (performance) Hiệu năng = Thời gian thực hiện 1 Hiệu năng = Thời gian thực hiện của CPU 1 Thời gian thực hiện của CPU = = Số lệnh × (Số chu kỳ của một lệnh) × (Thời gian của một chu kỳ) = Số lệnh × CPI / (Tần số xung nhịp) 8 September 2009 NKK-HUT CPI (Cycles Per Instruction) CPI là số chu kỳ cần thiết để thực hiện lệnh Thời gian thực hiện= Tần số xung nhịp Số lệnh được thực hiện× CPI CPI = Số lệnh được thực hiện Thời gian thực hiện× Tần số xung nhịp 8 September 2009 NKK-HUT Số lệnh được thực hiện MIPS (Million Instruction Per Second) Số triệu lệnh được thực hiện trong 1 second MIPS = Thời gian thực hiện×106 Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 8 8 September 2009 NKK-HUT 106 ・CPI f Quan hệ giữa MIPS và CPI exec time of 1 inst. Với CPI = 4 program execution time(T) n inst. executed T=n・CPI・ f 1 MIPS= n T・106 MIPS= 106 ・MIPS f CPI = exec time of 1 inst. 8 September 2009 NKK-HUT Số phép toán số dấu phẩy động được thực hiện MFLOPS million of floating point operations per second – triệu phép toán số dấu phẩy động trên 1s MFLOPS = Thời gian thực hiện×106 GFLOPS(109 ) TFLOPS(1012) 8 September 2009 NKK-HUT Ví dụ 1 Tính MIPS của bộ xử lý với: Tần số xung nhịp = 2GHz và CPI = 4 0.5ns 2ns 1 chu kỳ = 1/(2x10-9) = 0,5ns CPI = 4 Æ 1 lệnh = 4x0,5ns = 2ns Vậy bộ xử lý thực hiện được 500MIPS 8 September 2009 NKK-HUT Ví dụ 2 Tính CPI của bộ xử lý với: Tần số xung nhịp = 1GHz và 400 MIPS 1ns 4x108 lệnh thực hiện trong 1s Æ 1 lệnh thực hiện trong 1/(4x108)s = 2,5ns Æ CPI = 2,5 Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 9 8 September 2009 NKK-HUT Hết chương 1