CISC (Complex Instruction Set Computers) là một kiến trúc vi xử lý với một tập lệnh lớn và nhiều lệnh phức tạp. Hướng tiếp cận của CISC là cố gắng thực hiện các tác vụ phức tạp chỉ bằng một câu lệnh. Hướng tiếp cận của kiến trúc CISC xuất phát từ đặc điểm ở giai đoạn đầu của máy tính là việc thiết kế phần cứng dễ hơn thiết kế trình biên dịch và bộ nhớ chậm, đắt tiền. Do đó các nhà thiết kế CPU cố gắng tạo ra các lệnh có thể làm được càng nhiều tác vụ càng tốt nhằm mục đích giảm thiểu sự truy cập vào bộ nhớ và kích thước bộ nhớ. Bởi vì một câu lệnh cần phải thực hiện nhiều thao tác nên kiến trúc CISC thường chứa một số lượng lớn các câu lệnh phức tạp. Các bộ xử lý dựa trên kiến trúc CISC được thiết kế nhằm đơn giản hóa các trình biên dịch và cải thiện hiệu suất khi bị ràng buộc về kích thước và tốc độ của bộ nhớ. CISC hỗ trợ các ngôn ngữ cấp cao phức tạp, chịu trách nhiệm tạo ra các mã lệnh máy cho bộ xử lý. Ví dụ, thay vì tạo ra một trình biên dịch để viết các câu lệnh nhân hai số nguyên, một bộ xử lý dựa trên kiến trúc CISC sẽ có sẵn một câu lệnh để thực hiện chức năng nhân hai số nguyên. Có nhiều thanh ghi mục đích đặc biệt (special purpose register): Nhiều thiết kế CISC dành các thanh ghi đặc biệt làm con trỏ ngăn xếp, xử lý gián đoạn, . . . Điều này tuy đơn giản hóa việc thiết kế phần cứng, nhưng tiêu tốn chi phí do tập lệnh phức tạp hơn.
TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN MÔN KIẾN TRÚC MÁY TÍNH Đề tài: PHÂN BIỆT HAI KIẾN TRÚC RISC VÀ CISC Giảng viên: Nguyễn Thu Hiền Sinh viên: 20203100002 Nguyễn Thế Anh DHTI14A1ND 20203100015 Vũ Thành Công DHTI14A1ND 20203100037 Nguyễn Minh Đức DHTI14A1ND 20203100009 Nguyễn Văn Thịnh DHTI14A1ND 20203100054 Lê Đắc Tiến DHTI14A1ND Mục lục Tổng quan .2 1.1 Giới thiệu RISC CISC 1.1.1 CISC 1.1.2 RISC 1.2 Đinh hướng thiết kế 1.2.1 CISC 1.2.2 RISC Ưu nhược điểm CISC RISC 2.1 CISC 2.1.1 Ưu điểm 2.1.2 Nhược điểm 2.2 RISC 2.2.1 Ưu điểm 2.2.2 Nhược điểm So sánh hai kiến trúc CISC RISC 10 3.1 So sánh .10 3.2 Đánh giá 10 Kết luận 11 TÀI LIỆU THAM KHẢO 13 1 Tổng quan 1.1 Giới thiệu RISC CISC 1.1.1 CISC CISC (Complex Instruction Set Computers) kiến trúc vi xử lý với tập lệnh lớn nhiều lệnh phức tạp Hướng tiếp cận CISC cố gắng thực tác vụ phức tạp câu lệnh Hướng tiếp cận kiến trúc CISC xuất phát từ đặc điểm giai đoạn đầu máy tính việc thiết kế phần cứng dễ thiết kế trình biên dịch nhớ chậm, đắt tiền Do nhà thiết kế CPU cố gắng tạo lệnh làm nhiều tác vụ tốt nhằm mục đích giảm thiểu truy cập vào nhớ kích thước nhớ Bởi câu lệnh cần phải thực nhiều thao tác nên kiến trúc CISC thường chứa số lượng lớn câu lệnh phức tạp Các xử lý dựa kiến trúc CISC thiết kế nhằm đơn giản hóa trình biên dịch cải thiện hiệu suất bị ràng buộc kích thước tốc độ nhớ CISC hỗ trợ ngôn ngữ cấp cao phức tạp, chịu trách nhiệm tạo mã lệnh máy cho xử lý Ví dụ, thay tạo trình biên dịch để viết câu lệnh nhân hai số nguyên, xử lý dựa kiến trúc CISC có sẵn câu lệnh để thực chức nhân hai số ngun - Có nhiều ghi mục đích đặc biệt (special purpose register): Nhiều thiết kế CISC dành ghi đặc biệt làm trỏ ngăn xếp, xử lý gián đoạn, Điều đơn giản hóa việc thiết kế phần cứng, tiêu tốn chi phí tập lệnh phức tạp - Thông thường, câu lệnh thường tốn chu kỳ để xử lý - Độ dài câu lệnh không cố định * Một số xử lý dựa kiến trúc CISC: - IBM 370/168: Được công bố vào năm 1970 với xử lý 32bit ghi dấu phẩy động 64-bit (floating point registers) - VAX 11/780: Bộ xử lý 32 bit, hỗ trợ nhiều chế độ định địa (addessing mode) mã máy - Intel 80486: Được công bố vào năm 1989 với 235 câu lệnh có độ dài từ đến 11 1.1.2 RISC RISC (Reduced Instruction Set Computers) kiến trúc vi xử lý thiết kế theo hướng đơn giản hóa tập lệnh, thời gian thực thi tất lệnh Khác với hướng tiếp cận CISC, RISC cố gắng giảm số lượng thao tác câu lệnh nên câu lệnh trở nên đơn giản Vi xử lý RISC nhấn mạnh tính đơn giản hiệu Các thiết kế RISC khởi đầu với tập lệnh thiết yếu vừa đủ RISC tăng tốc độ xử lý cách giảm số chu kỳ đồng hồ lệnh Mục đích RISC tăng tốc độ hiệu dụng cách chuyển việc thực tác vụ không thường xuyên vào phần mềm, tác vụ phổ biến phần cứng thực nhằm tăng hiệu máy tính Vi xử lý RISC thường phù hợp với ứng dụng điều khiển hay nhúng máy in lazer, máy in đa chức Vi xử lý RISC phù hợp với ứng dụng xử lý ảnh, robot đồ họa nhờ có mức tiêu thụ điện thấp, thực thi nhanh chóng Chip RISC (Itanium Intel) * Một số xử lý phổ biến dựa kiến trúc RISC: ARM, SuperH, MIPS, SPARC, DEC, Alpha, PA-RISC, PIC, PowerPC IBM 1.2 Đinh hướng thiết kế 1.2.1 CISC Những ngày đầu ngành cơng nghiệp máy tính, trình biên dịch chưa xuất Cơng việc lập trình thực ngôn ngữ máy (mã nhị phân) hợp ngữ Để việc lập trình đơn giản, vi xử lý thêm lệnh biểu diễn trực tiếp cấu trúc ngôn ngữ lập trình cấp cao Lúc thiết kế phần cứng dễ nhiều so với thiết kế trình dịch, phức tạp dồn vào phần cứng Một nguyên nhân khác thúc đẩy đời lệnh phức thiếu thốn nhớ Do nhớ nhỏ, có lợi nhiều tăng mật độ tập trung thông tin mã lệnh Khi mà byte nhớ đắt, nhớ tồn hệ thống thời kỳ vài KB, ngành công nghiệp vi xử lý bị thúc đẩy phải mã hóa thật cao mã lệnh, mã lệnh có kích thước thay đổi, lệnh thực nhiều phép tốn lệnh vừa chuyển liệu vừa xử lý liệu Lúc việc đưa lệnh nén thật tốt ưu tiên đưa lệnh dễ giải mã Lúc nhớ sản xuất cơng nghệ từ khơng mà cịn chậm Đây lý để tăng mật độ thông tin mã lệnh Một mã lệnh với nhiều thông tin giảm nhiều lần phải truy xuất nguồn nhớ chậm chạp Những CPU thời kỳ chứa ghi lý sau: Một bit CPU mắc nhiều so với 1bit nhớ ngồi Với cơng nghệ tích hợp thời kỳ muốn có thêm ghi bắt buộc phải có thêm vùng trống board chip Một lượng lớn ghi cần lượng lớn bit mã lệnh để xác định ghi Vì lý trên, nhà thiết kế vi xử lý cố gắng để lệnh thực nhiều chức tốt Điều dẫn đến lệnh làm tất công việc nạp số cần cộng, cộng chúng lại, cuối lưu trở lại vào nhớ Cũng lệnh lại đọc số từ ghi số lại từ nhớ sau lưu kết vào nhớ Khuynh hướng thiết kế vi xử lý gọi Complex Instruction Set Computer – CISC Chip CISC (Intel Xeon x86 Intel & Opteron AMD) * Đặc điểm CISC: - Kích thước tập lệnh lớn với nhiều lệnh phức tạp - Nguyên lý giải mã lệnh phức tạp (Complex instruction-decoding logic): xuất phát từ nhu cầu câu lệnh hỗ trợ nhiều chế độ d địa (addressing mode) - Số lượng ghi mục đích chung (general purpose register) ít: Các lệnh hoạt động trực tiếp nhớ, không gian chip dùng làm ghi mục đích chung bị hạn chế 1.2.2 RISC Ý tưởng bắt đầu người ta nhận thấy nhiều tính vi xử lý 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 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 vi xử lý 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ế vi xử lý, người thiết kế khơng có đủ 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 cịn 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 để 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 q mức Ví dụ, ơng cho 98% hồn tồ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, q 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 Rất tiếc cụm từ "Máy tính với tập lệnh đơn giản hóa" thường bị hiểu sai máy tính với tập lệnh máy tính khác Thực RISC lại thường có tập lệnh lớn Cũng từ khuynh hướng đơn giản hóa đó, số thiết kế thú vị đời MISC (Minimal Instruction Set Computer - Máy tính với tập lệnh tối thiểu) hay OISC (One Instruction Set Computer) với máy tính Transport Triggered Architectures, thiết kế khác sâu vào vấn đề Turing tarpit Điểm khác biệt thực RISC so với CISC nguyên tắc thực thứ ghi, đọc lưu liệu vào ghi Do để tránh hiểu lầm nhiều nhà nghiên cứu thích dùng thuật ngữ load-store Qua thời gian, kỹ thuật thiết kế cũ gọi CISC (Complex Instruction Set Computer – Máy tính với tập lệnh phức tạp), thuật ngữ thường dùng với mục đích so sánh 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ó cịn đảm bảo ưu việt hiệu suất RISC hay khơng, chiến dai dẳng khái niệm RISC * Đặc điểm RISC: - Các lệnh đơn giản: Kiến trúc CISC sử dụng rộng rãi lệnh phức tạp câu lệnh giúp giảm phức tạp ngữ nghĩa Tuy nhiên, thực tế, trình biên dịch bỏ qua lệnh Vì lý này, kiến trúc RISC sử dụng lệnh đơn giản với độ dài cố định lệnh kết hợp load/store với số học - Ít kiểu liệu: kiến trúc CISC hỗ trợ loạt cấu trúc liệu từ đơn giản phức tạp Tuy nhiên, liệu thực nghiệm cho thấy cấu trúc liệu phức tạp sử dụng RISC hỗ trợ vài kiểu liệu đơn giản cách hiệu kiểu liệu kết hợp/phức tạp tổng hợp từ chúng - Các chế độ định địa (addressing mode) đơn giản: thiết kế CISC cung cấp số lượng lớn chế độ đánhđịa để hỗ trợ cấu trúc liệu phức tạp để cung cấp linh hoạt để truy cập toán hạng Tuy nhiên dẫn đến vấn đề thời gian thực thi lệnh độ dài lệnh biến thiên Điều dẫn đến việc giải mã lệnh định thời không hiệu Thiết kế RISC dùng chế độ định địa đơn giản lệnh có chiều dài cố định để tạo điều kiện cho việc xử lý song song (pipelining) Chế độ định địa nhớ gián tiếp không cung cấp - Các ghi mục đích chung giống nhau: thiết kế RISC cho phép ghi dùng ngữ cảnh nào, đơn giản hóa thiết kế trình biên dịch - Kiến trúc Harvard: thiết kế RISC thường sử dụng mơ hình nhớ Harvard, dòng lệnh luồng liệu tách Ưu nhược điểm CISC RISC 2.1 CISC 2.1.1 Ưu điểm - Chương trình ngắn so với kiến trúc RISC - Số lệnh để thực chương trình - Khả thâm nhập nhớ dễ dàng - Các xử lý CISC trợ giúp mạnh ngơn ngữ cao cấp nhờ có tập lệnh phức tạp Hãng Honeywell chế tạo máy có lệnh cho động từ ngơn ngữ COBOL 2.1.2 Nhược điểm - Diện tích xử lý dùng cho điều khiển lớn Giảm khả tích hợp thêm vào vi xử lý - Tốc độ tính tốn cịn chậm - Thời gian xây dựng xong vi xử lý lâu câu lệnh phức tạp.Và thời gian thực lệnh lâu khả xảy rủi ro nhiều 2.2 RISC 2.2.1 Ưu điểm - Diện tích xử lý dùng cho điều khiển giảm so với kiến trúc CISC Vì tích hợp thêm vào bên xử lý ghi, cổng vào nhớ cache - Tốc độ tính tốn cao nhờ vào việc giải mã lệnh đơn giản, có nhiều ghi thực kỹ thuật ống dẫn (pipeline) liên tục có hiệu (các lệnh có thời gian thực giống có dạng - Thời gian cần thiết để thiết kế điều khiển Điều góp phần làm giảm chi phí thiết kế - Bộ điều khiển trở nên đơn giản gọn làm cho rủi ro mắc phải sai sót mà ta gặp thường điều khiển 2.2.2 Nhược điểm - Việc cấm truy nhập nhớ tất lệnh ngoại trừ lệnh đọc (load) ghi (store) vào nhớ Vì phải dùng nhiều lệnh để thực tác vụ định - Cần phải tính địa hiệu dụng khơng có nhiều cách định vị - Tập lệnh có lệnh nên lệnh khơng có sẵn phải thay chuỗi lệnh xử lý RISC - Các chương trình dịch gặp nhiều khó khăn có lệnh làm cho việc diễn dịch cấu trúc chương trình gốc bị hạn chế Sự cứng nhắc kỹ thuật ống dẫn gây khó khăn - Có lệnh trợ giúp cho ngôn ngữ cấp cao So sánh hai kiến trúc CISC RISC 3.1 So sánh CISC RISC Hướng tiếp cận: hoàn thành tác vụ Hướng tiếp cận: cố gắng đơn giản hóa với số lượng câu lệnh câu lệnh Tập trung vào thiết kế phần cứng Tập trung vào thiết kế phần mềm Gồm nhiều câu lệnh phức tạp, cần nhiều Gồm câu lệnh đơn giản xử lý chu kỳ để xử lý chu kỳ Sử dụng kiểu kiến trúc tập lệnh ô nhớ - ô Sử dụng kiểu kiến trúc tập lệnh ghi nhớ: Lệnh LOAD STORE kết hợp với – ghi: Lệnh LOAD STORE câu lệnh độc lập với câu lệnh Truyền biến không hiệu nhớ Truyền biến hiệu ghi Kích thước chương trình nhỏ Kích thước chương trình lớn Độ dài câu lệnh khác Độ dài câu lệnh cố định Số chu kỳ giây cao Số chu kỳ giây thấp 3.2 Đánh giá - RISC chiếm ưu chiến công nghệ, CISC chiếm ưu chiến thương mại - CISC nhiều hạn chế mặt kỹ thuật công nghệ - Đối với công nghệ tại, triển khai RISC nhanh vì: + Các cơng nghệ có khả mở single-chip RISC + Với công nghệ mở pipelined CISC, RISC có caches - CISC cải thiện cách thêm nhiều transistor - Moore’s Law rút ngăn khoảng cách RISC/CISC - Để pipeline tốt: RISC cần 100000 transistor, CISC cần 300000 transistor 10 - Trước 1995: 2M+ transistors tràn ngập thị trường - Chi phí phần mềm độ thương thích ưu điểm quan trọng CISC - Nhiều so sánh hiệu suất chương trình chuẩn (benchmark) chạy vi xử lý RISC nhanh so với xử lý với CISC Tuy nhiên, khó để xác định tính vi xử lý có hiệu suất cao RISC có tốc độ cao khơng phải tính RISC tốt mà cơng nghệ, trình biên dịch tốt - Sự đơn giản tập lệnh vi xử lý RISC yêu cầu nhớ lớn so với biên chương trình biên dịch CISC Tóm lại, kiến trúc RISC CISC có ưu nhược điểm riêng nên khó đánh giá tốt hơn.Hầu hết vi xử lý không đơn RISC CISC mà cố gắng kết hợp ưu điểm hai phương pháp Kết luận Theo thời gian, thuật ngữ RISC CISC trở nên vơ nghĩa RISC CISC trải qua trình phát triển khác biệt hai thuật ngữ trở nên mờ nhạt hai sử dụng hệ thống máy tính Nhiều chip RISC ngày hỗ trợ nhiều lệnh chip CISC ngày hơm qua Có chip CISC sử dụng kỹ thuật tương tự mà trước coi sử dụng cho chip RISC Tuy nhiên, khác biệt hai dễ hiểu sau Nói khác biệt, RISC đặt gánh nặng lên nhà sản xuất phần mềm họ phải viết nhiều dòng cho nhiệm vụ giống RISC rẻ CISC u cầu bóng bán dẫn Tốc độ máy tính cao với hướng dẫn để làm theo lúc 11 TÀI LIỆU THAM KHẢO https://123docz.net//document/3408764-tieu-luan-mon-kien-trucmay-tinh-nang-cao-tim-hieu-ve-cisc-va-risc.htm https://vi.wikipedia.org/wiki/RISC https://edxgroup.vn/2021/04/19/cisc-vs-risc-su-khac-biet-giuacac-kien-%e2%80%8b%e2%80%8btruc-bo-huong-dan/ https://ichi.pro/vi/risc-va-cisc-co-y-nghia-gi-vao-nam-2020135571763210718 12 ... https://123docz.net//document/3408764-tieu-luan-mon-kien-trucmay-tinh-nang-cao-tim-hieu-ve -cisc- va -risc. htm https://vi.wikipedia.org/wiki /RISC https://edxgroup.vn/2021/04/19 /cisc- vs -risc- su-khac-biet-giuacac-kien-%e2%80%8b%e2%80%8btruc-bo-huong-dan/... https://edxgroup.vn/2021/04/19 /cisc- vs -risc- su-khac-biet-giuacac-kien-%e2%80%8b%e2%80%8btruc-bo-huong-dan/ https://ichi.pro/vi /risc- va -cisc- co-y-nghia-gi-vao-nam-2020135571763210718 12 ... cao khơng phải tính RISC tốt mà cơng nghệ, trình biên dịch tốt - Sự đơn giản tập lệnh vi xử lý RISC yêu cầu nhớ lớn so với biên chương trình biên dịch CISC Tóm lại, kiến trúc RISC CISC có ưu nhược