Tiểu luận môn kiến trúc máy tính nâng cao so sánh kiến trúc cisc và risc

10 1.9K 2
Tiểu luận môn kiến trúc máy tính nâng cao so sánh kiến trúc cisc và risc

Đang tải... (xem toàn văn)

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH BÁO CÁO BÀI TẬP KIẾN TRÚC MÁY TÍNH NÂNG CAO SO SÁNH KIẾN TRÚC RISC VÀ CISC Học viên: Phạm Minh Khuê – 1570213 Thái Hoàng Sơn – 1570227 Đặng Danh Hữu – 1570210 Thái Bình Dương – 1570204 Lục Minh Tuấn – 1570235 Đỗ Thanh Thái - 1570229 TP HỒ CHÍ MINH, THÁNG 09/2015 -1-|Page I LỊCH SỬ VÀ TỔNG QUAN Kiến trúc CISC (Complex Instruction Set Computer) Trong máy tính thứ đưa số nhị phân “0”, “1” máy tính hiểu mức điện tương ứng với 0/1 transistor cụ thể, người sử dụng muốn thực chương trình đó, phải nạp mã lệnh gồm số 0-1 vào nhớ cho máy tính Có cách để thực vấn đề này:    Viết mã máy với số 0-1 nạp vào nhớ Cách khó thực dễ gây nhầm lẫn cho người viết khó việc nhớ câu lệnh, nhiều thời gian để viết câu lệnh hoàn chỉnh Viết dạng tên gợi nhớ hợp ngữ Assembly sau dịch mã máy Cấp độ gần với ngôn ngữ máy phức tạp với người viết khó thực chương trình phức tạp Tuy nhiên cách cấu trúc câu lệnh tương đối gọn nhẹ dễ nhớ Viết ngôn ngữ lập trình cấp cao C, C++, Pascal… sau dùng trình biên dịch mã máy Cách thân thiện với người lập trình nhiên tạo chương trình có dung lượng lớn nhiều so với viết hợp ngữ (Assembly) Thách thức lớn để có kết hợp hài hòa người làm phần cứng người làm phần mềm để chương trình dịch thực chuẩn tắc, nhỏ gọn không tạo nhiều code trung gian Trong suốt thập niên 1960, nhà thiết kế cố gắng thu hẹp khoảng cách ngôn ngữ lập trình bậc cao người ngôn ngữ máy, họ đưa cấu trúc với tập câu lệnh phức tạp gọi CISC (Complex Instruction Set Computer) có chế độ định địa khác tốn nhiều chu kì xung nhịp cho câu lệnh Vào thời kì này, người ta nhận thấy chương trình dịch khó dùng ghi, vi lệnh thực nhanh lệnh cần thiết phải giảm độ dài chương trình Do người ta ưu tiên chọn kiểu ô nhớ - ô nhớ ô nhớ - ghi với lệnh phức tạp dùng nhiều kiểu định vị Điều dẫn tới việc lệnh có chiều dài thay đổi dùng điều khiển vi chương trình hiệu Việc giảm thiểu ranh giới tập lệnh vi điều khiển ngôn ngữ cấp cao cách hay máy tính hoạt động hiệu Vì để biết vi xử lý hoạt động nhanh ta cần biết vi xử lý dùng nhiều thời gian vào việc -2-|Page Sự khác biệt dòng chip máy tính sử dụng với tập lệnh rút gọn RISC máy tính sử dụng với tập lệnh phức tạp CISC xem chạy đua nhà lập trình nhà thiết kế chíp Chip CISC đưa nhằm tạo thuận lợi cho người lập trình ứng dụng cách bỏ câu lệnh đơn giản mà thay vào câu lệnh thực thi dài Điều làm cho CISC xử lý chậm lại đạt yếu tố thân thiện Ở mặt khác RISC thân thiện câu lệnh RISC phục vụ hiệu cho mục đích hẹp cụ thể RISC đòi hỏi người lập trình cần kiên nhẫn, giỏi trình biên dịch tối ưu kỹ Kiến trúc RISC (Reduced instruction set computing): Một số hệ thống từ năm 1970 ( 1960) ghi nhận kiến trúc RISC đầu tiên, dựa phần kiến trúc load/store Khái niệm RISC đưa David Patterson dự án Berkeley RISC CDC 6600 dước thiết kế Seymour Crayd năm 1964 sử dụng cấu trúc load/store với hai kiểu addressing (register+register, and register+immediate constant) 74 opcode với tỉ lệ clock cycle/instruction nhanh 10 lần so với tỉ lệ truy suất memory Việc nhanh phần cấu trúc tối ưu CDC 6600 tiền thân của cấu trúc RISC sau Michael J Flynn coi kiến trúc RISC IBM 801 thiết kế năm 1975 John Cocke hoàn thành năm 1980 IBM 801 thất bại việc thương mại hóa mang lại nguồn cảm hứng cho dự án sau dẫn tới IBM POWER instruction set architecture Những thiết kế RISC phổ biến xuất phát từ kết nghiên cứu chương trình tài trợ DARPA VLSI, biết đến tổ chức có nhiều nghiên cứu chip design, computer graphics RISC Berkeley dành hiệu suất dựa sử dụng pipelining kĩ thuật register windowing Trong CPU truyền thống có số lượng ghi chương trình sử dụng ghi thời điểm Những CPU sử dụng kĩ thuật register windowing có lượng lớn ghi chương trình sử dụng số lượng nhỏ ghi Những chương trình sử dụng giới hạn ghi làm tăng tốc độ procedure gọi: Sự gọi đơn giản di chuyển windown xuống để thiết -3-|Page lập ghi sử dụng trả di chuyển window trở lại Dự án Berkeley RISC tạo RISC-I processor năm 1982 chứa 44420 transistor (nhỏ nhiều so với 100000 CISC) RISC-I có 32 instruction, vượt trội hoàn toàn so với single-chip design khác RISC-II năm 1983 cóc 40760 transistor 39 instuction Nó chạy nhanh gấp lần RISC-I MISP dạng RISC, phát triển John L Hennessy đại học Stanford năm 1981 Nó trở thành hệ thống function năm 1983 chạy chương trình đơn giản năm 1984 MISP sử dụng cách tiếp cận clock cycle tích cực sử dụng pipeline để giúp đảm bảo hoạt động cách đầy đủ Theo sau MIPS MIPS-X Năm 1984, Hennessy cộng tạo hệ thống MIPS Computer Sản phẩm thương mại R2000 microprocessor năm 1985 theo sau R3000 năm 1988 Đầu năm 1980, có hồ nghi bao quanh khái niệm RISC thương mại hóa tương lai, đến năm 1980, RISC có phát triển tương đối đủ để thương mại hóa Năm 1986, Hewlett Packard bắt đầu sử dụng PA-RISC hệ thống máy tính họ Trong ấy, nỗ lực Berkeley làm cho khái niệm RISC trở nên tiếng đến năm 1987, Sun Microsystems bắt đầu di chuyển hệ thống với SPARC processor, dựa tảng hệ thống RISC-II SPARC SUN -4-|Page Tổ chức US government Committee on Innovations in Computing and Communications chấp nhạn khái niệm RISC nhờ thành công hệ thống RISC-II Sự thành công thu hút đầu tư IBM với việc đời hệ thống RISC vào năm 1990 Đến năm 1995, RISC processors tảng ngành công nghiệp máy chủ trị giá 15 tỷ USD Từ năm 2010, open source: ISA, RISC-V phát triển đại học California với mục đính nghiên cứu thay cho độc quyền ISA Năm 2014, ISA thiết kế để mở rộng từ lõi barbone đủ cho embedded processor nhỏ cho siêu máy tính điện toán đám mây II ĐẶC ĐIỂM SO SÁNH: Kiến trúc CISC Ứng dụng điển hình sử dụng kiến trúc x86 Intel Dưới số đặc điểm CISI/x86 Format:    Độ dài câu lệnh thay đổi Thông thường câu lệnh ngắn đơn giản Tuy nhiên có số câu lệnh đặc biệt phức tạp dài Độ dài khoảng 1B tới 16B Toán tử    Phức tạp, cần nhiều chu kì để thực câu lệnh Các phép toán thể phức tạp, mã hóa Thao tác với kiểu chuỗi Toán hạng:    Bộ nhớ, ghi trực tiếp Có nhiều mode địa X86: ghi 32b ghi 16b Việc tiến mạch kết phương pháp dịch làm cho nhận định trước phải xem xét lại có khảo sát định lượng việc dùng tập lệnh máy CISC Bộ xử lý IBM 370/168 DEC 11/780 iAPX 432 Năm sản xuất 1973 1978 1982 Số lệnh 208 303 222 Bộ nhớ vi chương trình 420Kb 480Kb 64Kb Chiều dài lệnh 16-48 16-456 6-321 Kỹ thuật chế tạo ECL – MSI TT1 – MSI NMOS VXLI Cách thực lệnh Thanh ghi – ghi Thanh ghi – ghi Ngăn xếp Thanh ghi – nhớ Thanh ghi – nhớ Bộ nhớ - nhớ Bộ nhớ - nhớ Bộ nhớ - nhớ 64kb 64kb Dung lượng cache -5-|Page Bảng cho ta thấy đặc tính vài máy sử dụng CISC tiêu biểu Ta thấy máy có điểm chung có nhiều lệnh chiều dài thay đổi Có nhiều cách thực lệnh nhiều vi chương trình dùng ⊕。Ưu điểm CISC        Kích thước tập lệnh thay đổi với nhiều định dạng khác Cho phép giá trị nhớ dùng toán hạng lệnh xử lý liệu Có nhiều ghi, hầu hết sử dụng cho mục đích riêng biệt Có nhiều lệnh, khoảng 500 lệnh Có nhiều kiểu định vị Có nhiều dạng lệnh Có nhiều lệnh khác thâm nhập vào nhớ ⊕。Nhược điểm    Sử dụng nhiều code ROM giải mã lệnh Các máy cũ cho phép dòng lệnh thực thi kiểu cấu trúc dòng chảy, chúng phải thực thi hết dòng lệnh tới dòng lệnh khác Cần nhiều chu kì xung nhịp cho việc hoàn thành lệnh Kiến trúc RISC: ⊕。Instruction set Có hiểu lầm lớn với cụm từ “reduced instruction set computer” ý tường tồi instructions giới hạn đơn giản cho kết tập instructions nhỏ Do đó, năm qua, tập RISC instruction có phát triển kích thước ngày nhiều số chúng có tập instruction lớn CISC CPU Từ “reduced” dùng để mô tả lượng công việc single instruction hoàn thành giảm single data memory cycle, để so sánh với instructions phức tạp CISC CPU CISC CPU yêu cầu nhiều data memory cycles để thực single instruction Thông thường, RISC processors chia instructions cho I/O and data processing ⊕。Triết lý thiết kế Đối với mức độ nào, chip RISC thường có transistors dành riêng cho lõi logic Điều cho phép cho phép nhà thiết kế để tăng kích thước tập register tăng xử lý song song nội Các tính khác thường tìm thấy kiến trúc RISC là:     Định dạng instruction thống nhất, cách sử dụng từ với opcode vị trí bit giống instruction, yêu cầu giải decoding; Registers mục đích chung giống hệt nhau, cho phép registers để sử dụng context, đơn giản hóa thiết kế compiler Addressing modes đơn giản, với addressing phức tạp thực thông qua trình tự phép tính số học, load-store operations, hai Vài kiểu liệu phần cứng, số CISCs có byte string instructions, hỗ trợ số phức tạp Ý tưởng bắt đầu người ta nhận thấy nhiều tính VXL vốn thiết kế nhằm giúp công việc lập trình trở nên dễ dàng lại thường bị phần mềm bỏ sót Những tính thông thường cần vài chu kỳ máy để thực thi Cộng thêm cách biệt hiệu suất CPU -6-|Page nhớ dẫn đến nhiều kỹ thuật nhằm tổ chức lại trình thực thi xử lý nhằm giảm bớt số lần truy xuất nhớ Những năm cuối thập niên 1970, nhà nghiên cứu IBM (và số dự án khác) chứng minh phần lớn phương pháp đánh địa trực giao thường bị chương trình bỏ qua Đây kết không mong đợi sử dụng trình biên dịch cấp cao thay sử dụng hợp ngữ Các trình dịch thời điểm không đủ khả để tận dụng hết tính VXL CISC; chủ yếu khó khăn thiết kế trình dịch Trình biên dịch trở nên phổ biến tính lại bị bỏ quên Một nghiên cứu khác tính dùng thực chúng thực thi chậm nhóm lệnh thực tác vụ Đây giống nghịch lý trình thiết kế VXL, người thiết kế đủ thời gian để tối ưu cho tất lệnh, họ trọng đến lệnh thường sử dụng nhiều Ví dụ cụ thể có lẽ lệnh INDEX CPU máy VAX, nhanh từ 45% đến 60% lệnh thay nhóm lệnh VAX đơn giản khác Cũng thời gian này, CPU bắt đầu hoạt động nhanh nhớ Thậm chí thập niên 1970, người ta cho điều tiếp tục không thập niên nữa, tới lúc CPU nhanh nhớ hàng chục tới hàng trăm lần Có lẽ đến lúc CPU cần thêm nhiều ghi (sau gọi cache) để hoạt động tốc độ cao Những ghi nhớ đệm cần khoảng trống bo mạch chip tạo giảm phức tạp CPU Tới lúc này, phần đóng góp cho kiến trúc RISC đến từ thực tế đo đạc chương trình giới thực Andrew Tanenbaum từ tổng kết nhiều đo đạc hầu hết CPU lúc thiết kế thừa mức Ví dụ, ông cho 98% hoàn toàn biểu diễn 13 bit, CPU thiết kế theo bội số thường 8, 16 32 Do CPU cho phép lưu bit dư mã lệnh làm giảm nhiều lần truy xuất nhớ Thay phải đọc từ nhớ hay từ ghi, CPU cần, trình thực thi nhanh Tất nhiên điều lại yêu cầu mã lệnh phải thật nhỏ để lệnh 32 bit chứa tương đối lớn Những chương trình thực tế thường tốn phần lớn thời gian để thực số tác vụ đơn giản, số nhà nghiên cứu hướng tới việc tối ưu hóa tác vụ Do xung nhịp (clock rate) CPU bị giới hạn thời gian thực lệnh chậm nhất, nên tối ưu lệnh (có thể cách giảm số phương pháp đánh địa mà hỗ trợ) khiến cho toàn tập lệnh thực thi nhanh nhiều Mục tiêu RISC đơn giản hóa lệnh, để lệnh thực thi chu kỳ máy Việc tập trung đơn giản hóa lệnh cho đời loại "Máy tính với tập lệnh đơn giản hóa" - RISC Giờ để thực công việc, chương trình viết với lệnh đơn giản thay với lệnh phức tạp, tổng số lệnh phải đọc từ nhớ nhiều nhiều thời gian Tại thời điểm người ta chưa biết khuyết điểm có đảm bảo ưu việt hiệu suất RISC hay không, chiến dai dẳng khái niệm RISC ⊕。Ứng dụng RISC: từ cell phone đến supercomputer Low end hệ thống mobile: Đến đầu kỷ 21, phần lớn Low end hệ thống mobile dựa kiến trúc RISC bao gồm : Các kiến trúc ARM thống trị thị trường tiết kiệm lượng giá thành thấp hệ thống nhúng Nó sử dụng số hệ thống Android, iPhone, iPad, thiết bị RIM, Nintendo Game Boy Advance -7-|Page Dòng MIPS xuất PlayStation, PlayStation 2, Nintendo 64, PlayStation Portable gateways Linksys WRT54G loạt High end RISC supercomputing: MIPS Silicon Graphics ,SPARC Oracle, RISC-V: open source Berkeley RISC-V So sánh kiến túc CISC RISC Từ đặc điểm đánh giá hai kiến trúc CISC RISC, ta đưa so sánh mang tính tham khảo: RISC -8-|Page CISC RISC Ưu điểm      Vì số lượng instruction nhỏ RISC, trình biên dịch cấp cao tạo code hiệu RISC cho phép tự việc sử dụng không gian microprocessors cấu trúc đơn giản Thay sử dụng Stack, nhiều RISC processors dùng register để passing arguments giữ giá trị cục Tốc độ thực thi tăng cao thời gian thực thi tối thiểu Số lượng format instructions nhỏ (thường nhỏ 4), vài instructions (khoảng 150) vài addressing modes (nhỏ 4) cần thiết CISC      -9-|Page Mỗi lệnh ngôn ngữ máy nhóm lại thành hướng dẫn vi thực phù hợp, sau lưu trữ sẵn nhớ xử lý chính, gọi thực microcode Nhờ vào nhớ microcode nhanh nhớ chính, nên tập microcode instructions thực mà không giảm tốc độ đáng kể so với việc thực có dây cứng Toàn thể tập instructions gần hiệu chỉnh thiết kế chương trình micro Trong CISC, số lượng instructions yêu cầu cho việc thực chương trình giảm xuống cách xây dựng tập instructions giàu thực để sử dụng chậm nhớ hiệu Bởi superset instructions bao gồm tất instructions trước, điều làm cho việc tạo micro coding dễ RISC Nhược điểm     Việc tăng lên độ dài instructions dẫn đến phức tạp tăng lên bên RISC processors việc thực thi chu kì kí tự instruction Performance RISC processors phụ thuộc hầu hết vào compiler programming kiến thức compiler đóng vài trò việc chuyển từ CISC code sang RISC code, chất lượng trọng việc tạo code phụ thuộc vào compiler Trong việc chuyển từ mã CISC sang mã RISC, hiểu việc mở rộng code, tăng lên kích thước Và chất lượng code mở rộng lần phụ thuộc vào compiler tập instruction máy Caches level đầu RISC bất lợi nó, processors có nhớ lớn chip Để cung cấp cho instructions, đòi hỏi hệ thống có nhớ nhanh CISC     Chi phí clock time tuỳ thuộc vào instructions khác nhau, điều đó, performance máy bị giảm xuống Các hướng dẫn thiết lập phức tạp chip phần cứng tăng lên phiên vi xử lý bao gồm tập hợp hệ trước Chỉ có 20% instructions sử dụng kiện lập trình kinh điển, có nhiều dẫn đặc biệt tồn mà chí không sử dụng thường xuyên Các mã có điều kiện thiết lập lệnh CISC tác dụng phụ hướng dẫn mà cần có thời gian để cài đặt - hướng dẫn thay đổi bit mã điều kiện - vậy, trình biên dịch kiểm tra bit mã điều kiện trước điều xảy III ĐỊNH HƯỚNG PHÁT TRIỂN CỦA CISC VÀ RISC Trong tương lai, công nghệ ngày có bước tiến vượt bậc kiến trúc phần cứng, tương lai cho hai kiến trúc RISC CISC? CISC RISC hội tụ? Các công nghệ xử lý đại thay đổi đáng kể kể từ chip RISC giới thiệu vào đầu năm 80 Bởi số tiến sử dụng hai kiến trúc RISC CISC, ranh giới hai kiến trúc bắt đầu mờ Trong thực tế, hai kiến trúc gần như thông qua chiến lược Bởi tốc độ xử lý tăng lên, chip CISC thực nhiều lệnh single clock Điều cho phép chip CISC tận dụng pipelining Với cải tiến công nghệ khác, để phù hợp với nhiều transistor chip Điều cho phép vi xử lý RISC đủ không gian để kết hợp, vi xử lý CISC phức tạp Chip RISC sử dụng phần cứng phức tạp Từ tất yếu tố nói thời đại "hậuRISC", hai phong cách trở nên tương tự mà phân biệt chúng không phù hợp Tuy nhiên, cần lưu ý chip RISC giữ lại số đặc điểm quan trọng Chip RISC sử dụng thống nhất, tập lệnh chu trình đơn Họ giữ lại, kiến trúc “register-to-register” “load-store” Tóm lại CISC RISC ngày trở nên giống Nhiều chip RICS có nhiều lệnh ngược lại, chip CISC hay sử dụng nhiều kĩ thuật trước kết hợp với chip RISC Chip CISC Intel dùng kỹ thuật RISC chip 486 làm tăng số lượng xử lý dòng Pentium - 10 - | P a g e ... end RISC supercomputing: MIPS Silicon Graphics ,SPARC Oracle, RISC- V: open source Berkeley RISC- V So sánh kiến túc CISC RISC Từ đặc điểm đánh giá hai kiến trúc CISC RISC, ta đưa so sánh mang tính. .. III ĐỊNH HƯỚNG PHÁT TRIỂN CỦA CISC VÀ RISC Trong tương lai, công nghệ ngày có bước tiến vượt bậc kiến trúc phần cứng, tương lai cho hai kiến trúc RISC CISC? CISC RISC hội tụ? Các công nghệ xử... ưu kỹ Kiến trúc RISC (Reduced instruction set computing): Một số hệ thống từ năm 1970 ( 1960) ghi nhận kiến trúc RISC đầu tiên, dựa phần kiến trúc load/store Khái niệm RISC đưa David Patterson

Ngày đăng: 09/02/2016, 13:43

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan