Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
1,72 MB
Nội dung
Bài giảng Kiến trúc máy tính NKK-HUT Contact DCE’s Office: 322-C1 SoICT’s Office: 320-C1 KIẾN TRÚC MÁY TÍNH Mobile: Computer Architecture 091-358-5533 e-mail: khanhnk@mail.hut.edu.vn 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 Truyền thông School of Information and Communication Technology (SoICT) September 2009 September 2009 Bài giảng Kiến trúc máy tính NKK-HUT Bài giảng Kiến trúc máy tính NKK-HUT Giới thiệu học phần Mục tiêu học phần Mã số: IT3030 Khối lượng: 3(3-1-0-6) Đối tượng tham dự: Sinh viên đại học ngành công nghệ thông tin từ học kỳ Điều kiện học phần: Giới thiệu kiến thức kiến trúc máy tính, bao gồm: kiến trúc tập lệnh tổ chức máy tính, vấn đề thiết kế hệ thống máy tính Sinh viên có khả đánh giá hiệu họ máy tính, khai thác sử dụng hiệu loại máy tính có khả tiếp cận để phát triển hệ máy tính nhúng phục vụ mục đích chuyên dụng Học phần học trước: IT1010 (THĐC) Đánh giá: TN/BT/KT(0,3)- T(0,7) September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN September 2009 Bài giảng Kiến trúc máy tính Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT Tài liệu tham khảo Tài liệu tham khảo William Stallings - Computer Organization and Architecture – Designing for Performance – 2003 (6th edition) Behrooz Parhami - Computer Architecture: From Microprocessors to Supercomputers - 2005 David A Patterson & John L Hennessy Computer Organization and Design: The Hardware/Software Interface – 2002 (third edition) John L Hennessy & David A Patterson Computer Architecture: A Quantitative Approach – 2003 (third edition) September 2009 Bài giảng Kiến trúc máy tính NKK-HUT September 2009 Bài giảng Kiến trúc máy tính NKK-HUT Tài liệu tham khảo Nội dung học phần Chương Giới thiệu chung Chương Cơ logic số Chương Tổng quan hệ thống máy tính Chương Kiến trúc tập lệnh Chương Số học máy tính Chương Bộ xử lý trung tâm Chương Bộ nhớ máy tính Chương Hệ thống vào-ra Chương Máy tính song song September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN September 2009 Bài giảng Kiến trúc máy tính Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT Kiến trúc máy tính Nội dung 1.1 Máy tính phân loại máy tính 1.2 Kiến trúc máy tính 1.3 Sự phát triển 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 September 2009 Bài giảng Kiến trúc máy tính NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 10 Bài giảng Kiến trúc máy tính 12 NKK-HUT 1.1 Máy tính phân loại máy tính Máy tính Máy tính Máy tính (Computer) thiết bị điện tử thực công việc sau: Nhận thông tin vào, Xử lý thông tin theo dãy lệnh nhớ sẵn bên trong, Đưa thông tin 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 September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN 11 September 2009 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT Phân loại máy tính Phân loại máy tính đại Phân loại truyền thống: Máy tính cá nhân (Personal Computers) Máy chủ (Server Computers) Máy tính nhúng (Embedded Computers) Máy vi tính (Microcomputers) Máy tính nhỏ (Minicomputers) Máy tính lớn (Mainframe Computers) Siêu máy tính (Supercomputers) September 2009 Bài giảng Kiến trúc máy tính 13 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 14 NKK-HUT Máy tính cá nhân PC Máy chủ (Server) Là loại máy tính phổ biến Các loại máy tính cá nhân: Máy tính để bàn (Desktop) Máy tính xách tay (Laptop) 1981 IBM giới thiệu máy tính IBM-PC sử dụng xử lý Intel 8088 1984 Apple đưa Macintosh sử dụng xử lý Motorola 68000 Giá thành: hàng trăm đến hàng nghìn USD September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN 15 Thực chất máy phục vụ Dùng mạng theo mơ hình Client/Server (Khách hàng/Người phục vụ) Tốc độ hiệu tính tốn cao Dung lượng nhớ lớn Độ tin cậy cao Giá thành: hàng nghìn đến hàng chục triệu USD September 2009 Bài giảng Kiến trúc máy tính 16 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT 1.2 Kiến trúc máy tính Máy tính nhúng (Embedded Computer) Được đặt thiết bị khác để điều khiển thiết bị làm việc Được thiết kế chuyên dụng Ví dụ: Định nghĩa trước kiến trúc máy tính: Cách nhìn logic 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) Điện thoại di động Máy ảnh số Bộ điều khiển máy giặt, điều hoà nhiệt độ Router – định tuyến mạng Là định nghĩa hẹp Giá thành: vài USD đến hàng trăm nghìn USD September 2009 Bài giảng Kiến trúc máy tính 17 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 18 NKK-HUT Định nghĩa Hennessy/ Patterson Ví dụ Kiến trúc máy tính bao gồm: Các máy tính PC dùng xử lý Pentium III Pentium 4: 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 (hardware/software interface) chung kiến trúc tập lệnh (IA-32) 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 hệ thống nhớ, cấu trúc bus, thiết kế bên CPU có tổ chức khác 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 Kiến trúc tập lệnh thay đổi chậm, tổ chức phần cứng máy tính thay đổi nhanh September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN 19 September 2009 Bài giảng Kiến trúc máy tính 20 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT Kiến trúc tập lệnh Cấu trúc máy tính Kiến trúc tập lệnh máy tính bao gồm: Tập lệnh: tập hợp chuỗi số nhị phân mã hoá cho thao tác mà máy tính thực Các kiểu liệu: kiểu liệu mà máy tính xử lý CPU Bé nhí chÝnh Bus liªn kÕt hƯ thèng HƯ thèng vµo-ra September 2009 Bài giảng Kiến trúc máy tính 21 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 22 NKK-HUT Các thành phần máy tính Mơ hình phân lớp máy tính Bộ xử lý trung tâm (Central Processing Unit): Điều khiển hoạt động máy tính xử lý liệu Bộ nhớ (Main Memory): Chứa chương trình liệu sử dụng Hệ thống vào (Input/Output System): Trao đổi thơng tin máy tính với bên Bus liên kết hệ thống (System Interconnection Bus): Kết nối vận chuyển thông tin thành phần với September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN 23 Phần cứng (Hardware): hệ thống vật lý máy tính Phần mềm (Software): chương trình liệu September 2009 Bài giảng Kiến trúc máy tính 24 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT 1.3 Sự phát triển của máy tính Máy tính dùng đèn điện tử Các 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 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) September 2009 Bài giảng Kiến trúc máy tính ENIAC- Máy tính điện tử Electronic Numerical Intergator And Computer Dự án Bộ Quốc phòng Mỹ Do John Mauchly John Presper Eckert Đại học Pennsylvania thiết kế Bắt đầu từ năm 1943, hoàn thành năm 1946 25 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 26 Bài giảng Kiến trúc máy tính 28 NKK-HUT ENIAC (tiếp) Đèn điện tử Nặng 30 18000 đèn điện tử 1500 rơle 5000 phép cộng/giây Xử lý theo số thập phân Bộ nhớ lưu trữ liệu Lập trình cách thiết lập vị trí chuyển mạch cáp nối September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN 27 September 2009 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT ENIAC (tiếp) Máy tính von Neumann Đó máy tính IAS: Princeton Institute for Advanced Studies Được 1947, hoàn thành1952 Do John von Neumann thiết kế Được xây dựng theo ý tưởng “chương trình lưu trữ” (stored-program concept) von Neumann/Turing (1945) September 2009 Bài giảng Kiến trúc máy tính 29 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 30 NKK-HUT Đặc điểm máy tính IAS Bao gồm thành phần: đơn vị điều khiển, đơn vị số học logic (ALU), nhớ thiết bị vào-ra Bộ nhớ chứa chương trình liệu Bộ nhớ đánh địa theo ngăn nhớ, không phụ thuộc vào nội dung ALU thực phép toán với số nhị phân Đơn vị điều khiển nhận lệnh từ nhớ, giải mã thực lệnh cách Đơn vị điều khiển điều khiển hoạt động thiết bị vào-ra Trở thành mơ hình trúc máycủa máy tính tính September 2009 Bài giảng Kiến 31 Nguyễn Kim Khánh - ĐHBKHN John von Neumann máy tính IAS September 2009 Bài giảng Kiến trúc máy tính 32 Bài giảng Kiến trúc máy tính Cấu trúc chi tiết IAS NKK-HUT NKK-HUT Cấu trúc máy tính von Neumann September 2009 Bài giảng Kiến trúc máy tính 33 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 34 Bài giảng Kiến trúc máy tính 36 NKK-HUT Các máy tính thương mại đời UNIVAC I 1947 - Eckert-Mauchly Computer Corporation UNIVAC I (Universal Automatic Computer) 1950s - UNIVAC II Nhanh Bộ nhớ lớn September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN 35 September 2009 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT UNIVAC II Hãng IBM IBM - International Business Machine 1953 - IBM 701 Máy tính lưu trữ chương trình IBM Sử dụng cho tính tốn khoa học 1955 – IBM 702 Các ứng dụng thương mại September 2009 Bài giảng Kiến trúc máy tính 37 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 38 NKK-HUT IBM 701 Máy tính dùng transistor Máy tính PDP-1 DEC (Digital Equipment Corporation) máy tính mini IBM 7000 Hàng trăm nghìn phép cộng giây Các ngơn ngữ lập trình bậc cao đời September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN 39 September 2009 Bài giảng Kiến trúc máy tính 40 10 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT Máy tính DEC PDP-1 (1960) September 2009 Bài giảng Kiến trúc máy tính IBM 7030 (1961) 41 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 42 NKK-HUT Máy tính dùng vi mạch SSI, MSI LSI Luật Moore Vi mạch (Integrated Circuit - IC): nhiều transistor phần tử khác tích hợp chip bán dẫn Gordon Moore – người đồng sáng lập Intel Số transistors chip gấp đôi sau 18 tháng SSI (Small Scale Integration) MSI (Medium Scale Integration) LSI (Large Scale Integration) VLSI (Very Large Scale Integration) (thế hệ thứ tư) ULSI (Ultra Large Scale Integration) (thế hệ thứ năm) SoC (System on Chip) Giá thành chip không thay đổi Mật độ cao hơn, đường dẫn ngắn Kích thước nhỏ dẫn tới độ phức tạp tăng lên Điện tiêu thụ Siêu máy tính xuất hiện: CRAY-1, VAX Bộ vi xử lý (microprocessor) đời Bộ vi xử lý September 2009 Intel 4004 (1971) Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN Hệ thống có chip liên kết với nhau, tăng độ tin cậy 43 September 2009 Bài giảng Kiến trúc máy tính 44 11 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT Tăng trưởng số transistor chip CPU September 2009 Bài giảng Kiến trúc máy tính IBM 360 Family 45 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 46 NKK-HUT PDP-11 (1973) September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN VAX-11 (1981) 47 September 2009 Bài giảng Kiến trúc máy tính 48 12 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT Micro VAX September 2009 Siêu máy tính CRAY-1 Bài giảng Kiến trúc máy tính 49 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 50 NKK-HUT Máy tính dùng vi mạch VLSI/ULSI Ví dụ máy chủ HP Các sản phẩm cơng nghệ VLSI/ULSI: Bộ vi xử lý (Microprocessor): CPU chế tạo chip Vi mạch điều khiển tổng hợp (Chipset): một vài vi mạch thực nhiều chức điều khiển nối ghép Bộ nhớ bán dẫn (Semiconductor Memory): ROM, RAM Các vi điều khiển (Microcontroller): máy tính chuyên dụng chế tạo chip September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN 51 September 2009 Bài giảng Kiến trúc máy tính 52 13 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT Ví dụ máy chủ Sun Sự phát triển vi xử lý 1971: vi xử lý 4-bit Intel 4004 1972-1977: xử lý 8-bit 1978-1984: xử lý 16-bit Khoảng từ 1985: xử lý 32-bit Khoảng từ 2000: xử lý 64-bit Các xử lý đa lõi (multicores) Các vi điều khiển (microcontroller) SunFire15K SunFire V40z SunFire V880 September 2009 Bài giảng Kiến trúc máy tính 53 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 54 NKK-HUT Sự phát triển Intel x86 Sự phát triển Intel x86 (tiếp) 80386 4004 32-bit Hỗ trợ đa nhiệm Bộ vi xử lý 4-bit 80486 8080 Tăng cường nhớ cache chip Đường ống lệnh Có đồng xử lý tốn chip Bộ vi xử lý đa 8-bit Sử dụng PC – Altair Pentium Siêu vô hướng Bus liệu 64-bit Đa lệnh thực song song 8086 5MHz – 29,000 transistors 16-bit 8088 (bus liệu bên 8-bit) sử dụng IBM PC Pentium Pro Tăng cường tổ chức siêu vô hướng Dự đốn rẽ nhánh Phân tích luồng liệu Suy đốn đơng 80286 Đánh địa nhớ được16 Mbyte September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN 55 September 2009 Bài giảng Kiến trúc máy tính 56 14 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT Sự phát triển Intel x86 (tiếp) Intel 4004 - vi xử lý 4-bit Pentium II Công nghệ MMX Xử lý đồ họa, video & audio Pentium III Thêm lệnh xử lý dấu phẩy động cho đồ họa 3D Pentium Tăng cường xử lý số dấu phẩy động multimedia Duo Core: xử lý chip Core 2: Kiến trúc 64-bit Core Quad – 3GHz – 820 triệu transistors xử lý 1chip September 2009 Bài giảng Kiến trúc máy tính 57 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 58 NKK-HUT Intel 8080 - vi xử lý 8-bit September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN Intel 80286 - vi xử lý 16-bit 59 September 2009 Bài giảng Kiến trúc máy tính 60 15 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT Intel Pentium (32-bit) 80386 - vi xử lý 32-bit Intel September 2009 Bài giảng Kiến trúc máy tính 61 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 62 Bài giảng Kiến trúc máy tính 64 NKK-HUT Pentium III Pentium (32-bit) Pentium III September 2009 Multicores Pentium Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN 63 September 2009 16 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT Sự phát triển thiết bị ngoại vi Phần mềm máy tính Giao tiếp Phần mềm ứng dụng Phần mềm hệ thống người-máy máy-máy Hệ điều hành Đa dạng Truyền thông Tốc độ September 2009 NKK-HUT Quản lý: nhiệm vụ, nhớ, files, vào-ra Lập lịch … Công cụ lập trình chương trình dịch Các trình điều khiển thiết bị … Bài giảng Kiến trúc máy tính 65 September 2009 Bài giảng Kiến trúc máy tính 66 NKK-HUT Ngơn ngữ lập trình 1.4 Hiệu máy tính (performance) High Level Language Program Performance temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; = Execution time Compiler Assembly Language Program lw lw sw sw $15, $16, $16, $15, Assembler Machine Language Program 0($2) 4($2) 0($2) 4($2) 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 Performance CPU execution time CPU execution time = Instructions × (Cycles Per Instruction) × (Secs per cycle) = Instructions × CPI / (Clock rate) September 2009 Nguyễn Kim Khánh - ĐHBKHN = Bài giảng Kiến trúc máy tính 68 17 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT CPI (Cycles Per Instruction) MIPS (Million Instruction Per Second) Số chu ky cần thiết để thực lệnh Số triệu lệnh thực second executed instructions × CPI execution time CPI = clock rate MIPS = execution time × clock rate = executed instructions execution time×10 executed instructions September 2009 Bài giảng Kiến trúc máy tính 69 NKK-HUT September 2009 Bài giảng Kiến trúc máy tính 70 NKK-HUT Quan hệ MIPS CPI MFLOPS million of floating point operations per second Với CPI = MFLOPS = exec time of inst exec time of inst executed floating point operations n inst executed execution time×106 program execution time(T) T=n・CPI・ GFLOPS(109 ) 1 MIPS= clock rate n clock rate MIPS= 106 September 2009 ・CPI Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN TFLOPS(1012) T・106 CPI = clock rate 106 ・MIPS 71 September 2009 Bài giảng Kiến trúc máy tính 72 18 Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT Ví dụ Ví dụ Tính MIPS xử lý với: clock rate = 2GHz CPI = Tính CPI xử lý với: clock rate = 1GHz 400 MIPS? 0.5ns 1ns 2ns 4x108 lệnh thực 1s lệnh thực 1/(4x108)s = 2,5ns CPI = 2,5 1/(2x10-9) chu kỳ = = 0,5ns CPI = lệnh = 4x0,5ns = 2ns Vậy xử lý thực 500MIPS September 2009 Bài giảng Kiến trúc máy tính 73 September 2009 Bài giảng Kiến trúc máy tính 74 NKK-HUT Hết chương September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN 75 19 ... sw $15 , $16 , $16 , $15 , Assembler Machine Language Program 0($2) 4($2) 0($2) 4($2) 0000 10 01 110 0 011 0 10 10 11 11 010 1 10 00 10 10 11 11 010 1 10 00 0000 10 01 110 0 011 0 11 00 011 0 10 10 11 11 010 1 10 00... Khánh - ĐHBKHN September 2009 Bài giảng Kiến trúc máy tính Bài giảng Kiến trúc máy tính NKK-HUT NKK-HUT Kiến trúc máy tính Nội dung 1. 1 Máy tính phân loại máy tính 1. 2 Kiến trúc máy tính 1. 3 Sự... giảng Kiến trúc máy tính 46 NKK-HUT PDP -1 1 (19 73) September 2009 Bài giảng Kiến trúc máy tính Nguyễn Kim Khánh - ĐHBKHN VAX -1 1 (19 81) 47 September 2009 Bài giảng Kiến trúc máy tính 48 12 Bài