Giáo trình Kiến trúc máy tính (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Cao đẳng): Phần 1 - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội

50 1 0
Giáo trình Kiến trúc máy tính (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Cao đẳng): Phần 1 - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội

Đ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

ỦY BAN NHÂN DÂN THÀNH PHỐ HÀ NỘI TRƯỜNG CAO ĐẲNG NGHỀ VIỆT NAM - HÀN QUỐC THÀNH PHỐ HÀ NỘI NGUYỄN TUẤN HẢI (Chủ biên) LÊ TRỌNG HƯNG – ĐẶNG MINH NGỌC GIÁO TRÌNH KIẾN TRÚC MÁY TÍNH Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính Trình độ: Cao đẳng (Lưu hành nội bộ) Hà Nội - Năm 2021 LỜI NĨI ĐẦU Kiến trúc máy tính mảng kiến thức thiếu sinh viên chuyên ngành điện tử viễn thông công nghệ thông tin Đây tảng để nghiên cứu chuyên sâu chuyên ngành Chúng ta biết kiến thức sở vững vàng khơng có phát triển ứng dụng tài liệu giúp cho sinh viên trang bị cho kiến thức nhất, thiết thực Cuốn sách khơng hữu ích sinh viên ngành viễn thơng cơng nghệ thơng tin, mà cịn cần thiết cho cán kỹ thuật theo học lớp bổ túc hồn thiện kiến thức Mơn học Kiến trúc máy tính mơn học chun mơn học viên ngành sửa chữa máy tính quản trị mạng Môn học nhằm trang bị cho học viên trường công nhân kỹ thuật trung tâm dạy nghề kiến thức Kiến trúc máy tính Với kiến thức học viên áp dụng trực tiếp vào lĩnh vực sản xuất đời sống Mơn học làm tài liệu tham khảo cho cán kỹ thuật, học viên nghành khác quan tâm đến lĩnh vực Mặc dù có cố gắng để hồn thành giáo trình theo kế hoạch, hạn chế thời gian kinh nghiệm soạn thảo giáo trình, nên tài liệu chắn cịn khiếm khuyết Rất mong nhận đóng góp ý kiến thầy cô Khoa bạn sinh viên sử dụng tài liệu Xin chân thành cảm ơn! Hà Nội, ngày tháng năm 2021 Chủ biên: Ths.Nguyễn Tuấn Hải MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC Chương Tổng quan 1.1 Các hệ máy tính 1.2 Phân loại máy tính 1.3 Thành máy tính 1.4 Thơng tin mã hóa thông tin 12 Chương Kiến trúc phần mềm xử lý 22 2.1 Các thành phần máy tính 22 2.2 Định nghĩa kiến trúc máy tính 26 2.3 Tập lệnh 27 2.4 Kiến trúc RISC 32 2.5 Toán hạng 35 Chương Tổ chức xử lý 37 3.1 Đường liệu 37 3.2 Bộ điều khiển 39 3.3 Diễn tiến thi hành lệnh mã máy 41 3.4 Ngắt (INTERRUPT) 43 3.5 Kỹ thuật ống dẫn (PIPELINE) 44 Chương Bộ nhớ 50 4.1 Các loại nhớ 50 4.2 Các cấp nhớ 56 4.3 Truy cập liệu nhớ 58 4.4 Bộ nhớ CACHE 61 Chương Thiết bị nhập xuất 69 5.1 Đĩa từ 69 5.2 Đĩa quang 71 5.3 Các loại thẻ nhớ 73 5.4 Băng từ 74 5.5 Các chuẩn BUS 75 5.6 An toàn liệu lưu trữ 76 Chương Ngôn ngữ assembly 81 6.1 Tổng quan 81 6.2 Các Lệnh 93 6.3 Các lệnh điều khiển 95 6.4 Ngăn xếp thủ tục 106 TÀI LIỆU THAM KHẢO 119 CHƯƠNG TRÌNH MƠN HỌC Tên mơn học: Kiến trúc máy tính Mã số mơn học: MH 12 Thời gian môn học: 75 (Lý thuyết: 56 giờ; Thực hành, thí nghiệm, thảo luận, tập: 14 giờ; Kiểm tra: giờ) VỊ TRÍ, TÍNH CHẤT CỦA MƠN HỌC - Vị trí: + Mơn học bố trí sau sinh viên học xong mơn học chung, môn học sở chuyên ngành đào tạo chun mơn nghề - Tính chất: + Là mơn học chuyên ngành MỤC TIÊU CỦA MÔN HỌC - Biết lịch sử máy tính, hệ máy tính cách phân loại máy tính - Hiểu thành phần kiến trúc máy tính, tập lệnh Các kiểu kiến trúc máy tính: mơ tả kiến trúc, kiểu định vị - Hiểu cấu trúc xử lý trung tâm: tổ chức, chức nguyên lý hoạt động phận bên xử lý Mô tả diễn tiến thi hành lệnh mã máy số kỹ thuật xử lý thông tin: ống dẫn, siêu ống dẫn, siêu vô hướng - Hiểu chức nguyên lý hoạt động cấp nhớ - Hiểu phương pháp an toàn liệu thiết bị lưu trữ - Lập trình tập lệnh Assembly - Tự tin tiếp cận công nghệ phần cứng NỘI DUNG CỦA MÔN HỌC Thời gian TT I Thực Tổng Lý hành, , số thuyết Bài tập Tên chương mục Kiểm tra* Tổng quan Các hệ máy tính 1 Phân loại máy tính 1 Thành máy tính 1 Thành máy tính 1 II III IV V VI Kiến trúc phần mềm xử lý Thành phần máy tính Định nghĩa kiến trúc máy tính 1 Tập lệnh Thủ tục Toán hạng 1 Đường liệu 1 Bộ điều khiển 1 Diễn tiến thi hành lệnh mã máy 1 Ngắt 1 Kỹ thuật ống dẫn 1 Ống dẫn, siêu ống dẫn, siêu vô hướng 1 Các loại nhớ 3 Các cấp nhớ 1 Cách truy xuất liệu nhớ Hiểu nhớ Cache cách tổ chức nhớ Cache CPU 3 Đĩa từ 3 Đĩa quang 3 Các loại thẻ nhớ 1 Băng tử 1 Các chuẩn BUS 2 An toàn liệu lưu trữ Tổng quan 1 Các lệnh Các lệnh điều khiển Ngăn xếp thủ tục 75 56 14 Tổ chức xử lý Bộ nhớ Thiết bị nhập xuất Ngôn ngữ Assembly Cộng 5 Chương Tổng quan Mục đích: - Giới thiệu lịch sử phát triển máy tính, hệ máy tính cách phân loại máy tính Giới thiệu cách biến đổi hệ thống số, bảng mã thông dụng dùng để biểu diễn ký tự 1.1 Các hệ máy tính Mục đích: - Giới thiệu lịch sử phát triển máy tính - Trình bày hệ máy tính Sự phát triển máy tính mô tả dựa tiến công nghệ chế tạo linh kiện máy tính như: xử lý, nhớ, ngoại vi,…Ta nói máy tính điện tử số trải qua bốn hệ liên tiếp Việc chuyển từ hệ trước sang hệ sau đặc trưng thay đổi công nghệ 1.1.1 Thế hệ (1946-1957) Hình 1- Thế hệ (1946-1957) ENIAC (Electronic Numerical Integrator and Computer) máy tính điện tử số Giáo sư Mauchly người học trò Eckert Đại học Pennsylvania thiết kế vào năm 1943 hoàn thành vào năm 1946 Đây máy tính khổng lồ với thể tích dài 20 mét, cao 2,8 mét rộng vài mét ENIAC bao gồm: 18.000 đèn điện tử, 1.500 công tắc tự động, cân nặng 30 tấn, tiêu thụ 140KW Nó có 20 ghi 10 bit (tính tốn số thập phân) Có khả thực 5.000 phép tốn cộng giây Cơng việc lập trình tay cách đấu nối đầu cắm điện dùng ngắt điện Giáo sư toán học John Von Neumann đưa ý tưởng thiết kế máy tính PIAS (Princeton Institute for Advanced Studies): chương trình lưu nhớ, điều khiển lấy lệnh biến đổi giá trị liệu phần nhớ, làm toán luận lý (AALU: Arithmetic And Logic Unit) điều khiển để tính toán liệu nhị phân, điều khiển hoạt động thiết bị vào Đây ý tưởng tảng cho máy tính đại ngày Máy tính cịn gọi máy tính Von Neumann Vào năm đầu thập niên 50, máy tính thương mại đưa thị trường: 48 hệ máy UNIVAC I 19 hệ máy IBM 701 bán 1.1.2 Thế hệ thứ hai (1958-1964) Công ty Bell phát minh transistor vào năm 1947 hệ thứ hai máy tính đặc trưng thay đèn điện tử transistor lưỡng cực Tuy nhiên, đến cuối thập niên 50, máy tính thương mại dùng transistor xuất thị trường Kích thước máy tính giảm, rẻ tiền hơn, tiêu tốn lượng Vào thời điểm này, mạch in nhớ xuyến từ dùng Ngôn ngữ cấp cao xuất (như FORTRAN năm 1956, COBOL năm 1959, ALGOL năm 1960) hệ điều hành kiểu (Batch Processing) dùng Trong hệ điều hành này, chương trình người dùng thứ chạy, xong đến chương trình người dùng thứ hai tiếp tục 1.1.3 Thế hệ thứ ba (1965-1971) Thế hệ thứ ba đánh dấu xuất mạch kết ( mạch tích hợp - IC: Integrated Circuit) Các mạch kết độ tích hợp mật độ thấp (SSI: Small Scale Integration) chứa vài chục linh kiện có kết độ tích hợp mật độ trung bình (MSI: Medium Scale Integration) chứa hàng trăm linh ện mạch tích hợp Mạch in nhiều lớp xuất hiện, nhớ bán dẫn bắt đầu thay nhớ xuyến từ Máy tính đa chương trình hệ điều hành chia thời gian dùng 1.1.4 Thế hệ thứ tư (1972) Thế hệ thứ tư đánh dấu IC có mật độ tích hợp cao (LSI: Large Scale Integration) chứa hàng ngàn linh kiện Các IC mật độ tích hợp cao (VLSI: Very Large Scale Integration) chứa 10 ngàn linh kiện mạch Hiện nay, chip VLSI chứa hàng triệu linh kiện Với xuất vi xử lý (microprocessor) chứa phần thực phần điều khiển xử lý, phát triển cơng nghệ bán dẫn máy vi tính chế tạo khởi đầu cho hệ máy tính cá nhân Các nhớ bán dẫn, nhớ cache, nhớ ảo dùng rộng rãi Các kỹ thuật cải tiến tốc độ xử lý máy tính khơng ngừng phát triển: kỹ thuật ống dẫn, kỹ thuật vô hướng, xử lý song song mức độ cao,… 1.1.5 Khuynh hướng Việc chuyển từ hệ thứ tư sang hệ thứ chưa rõ ràng Người Nhật tiên phong chương trình nghiên cứu đời hệ thứ máy tính, hệ máy tính thơng minh, dựa ngơn ngữ trí tuệ nhân tạo LISP PROLOG, giao diện người máy thông minh Đến thời điểm này, nghiên cứu cho sản phẩm bước đầu gần (2004) mắt sản phẩm người máy thông minh gần giống với người nhất: ASIMO (Advanced Step Innovative Mobility: Bước chân tiên tiến đổi chuyển động) Bảng 1-1 Các hệ máy tính Thế hệ Năm 1946- Đèn điện tử Máy tính điện tử IBM 701 UNIVAC 1957 tung thị trường 1958- Transistors 1964 Máy tính rẻ tiền Intel,Burroughs 6500, NCR, CDC 6600, Honeywell 1965- Mach IC 1971 Máy tính mini 50 hãng mới: DEC PDP-11, Data general ,Nova 1972 Máy tính cá nhân Apple II, IBM-PC, Appolo trạm làm việc DN 300, Sun Kỹ thuật LSI - VLSI Sản phẩm Hãng sản xuất máy tính Xử lý song Máy tính đa xử lý Sequent … Thinking song Đa máy tính Machine Inc Honda, Casio Với hàng trăm nghìn máy móc điện tử tối tân đặt thể, ASIMO lên / xuống cầu thang cách uyển chuyển, nhận diện người, cử hành động, giọng nói đáp ứng số mệnh lệnh người Thậm chí, bắt chước cử động, gọi tên người cung cấp thông tin sau bạn hỏi, gần gũi thân thiện Hiện có nhiều cơng ty, viện nghiên cứu Nhật thuê Asimo tiếp khách hướng dẫn khách tham quan như: Viện Bảo tàng Khoa học lượng Đổi quốc gia, hãng IBM Nhật Bản, Công ty điện lực Tokyo Hãng Honda bắt đầu nghiên cứu ASIMO từ năm 1986 dựa vào nguyên lý chuyển động hai chân Cho tới nay, hãng chế tạo 50 robot ASIMO Các tiến liên tục mật độ tích hợp VLSI cho phép thực mạch vi xử lý ngày mạnh (8 bit, 16 bit, 32 bit 64 bit với việc xuất xử lý RISC năm 1986 xử lý siêu vô hướng năm 1990) Chính xử lý giúp thực máy tính song song với từ vài xử lý đến vài ngàn xử lý Điều làm chun gia kiến trúc máy tính tiên đốn hệ thứ hệ máy tính xử lý song song 1.2 Phân loại máy tính Mục đích: - Trình bày cách phân loại máy tính Thơng thường máy tính phân loại theo tính kỹ thuật giá tiền 1.2.1 Các siêu máy tính (Super Computer): Là máy tính đắt tiền tính kỹ thuật cao Giá bán siêu máy tính từ vài triệu USD Các siêu máy tính thường máy tính vectơ hay máy tính dùng kỹ thuật vô hướng thiết kế để tính tốn khoa học, mơ tượng Các siêu máy tính thiết kế với kỹ thuật xử lý song song với nhiều xử lý (hàng ngàn đến hàng trăm ngàn xử lý siêu máy tính) 1.2.2 Các máy tính lớn (Mainframe): Là loại máy tính đa dụng Nó dùng cho ứng dụng quản lý tính tốn khoa học Dùng kỹ thuật xử lý song song có hệ thống vào mạnh Giá máy tính lớn từ vài trăm ngàn USD đến hàng triệu USD 1.2.3 Máy tính mini (Minicomputer): Là loại máy cỡ trung, giá máy tính mini từ vài chục USD đến vài trăm ngàn USD 1.2.4 Máy vi tính (Microcomputer) Là loại máy tính dùng vi xử lý, giá máy vi tính từ vài trăm USD đến vài ngàn USD 1.3 Thành máy tính Hình 1-2 cho thấy diễn biến thành tối đa máy tính Thành tăng theo hàm số mũ, độ tăng trưởng máy vi tính 35% năm, cịn loại máy khác, độ tăng trưởng 20% năm Điều cho thấy tính máy vi tính vượt qua loại máy tính khác đầu thập niên 90 Tai lieu Luan van Luan an Do an b Kiểu định vị tức Trong kiểu này, tốn hạng số có dấu, chứa lệnh Hình II.6 cho ta vài ví dụ dạng lệnh kiểu tức c Kiểu định vị trực tiếp Trong kiểu địa toán hạng nằm lệnh (hình II.6) Ví dụ, kiểu định vị trực tiếp dùng cho biến hệ điều hành, người sử dụng khơng có quyền thâm nhập biến d Kiểu định vị gián tiếp ghi + độ dời Đây kiểu đặc thù cho kiến trúc RISC Địa tốn hạng tính sau : Địa toán hạng = Thanh ghi (địa ) + độ dời Ta để ý kiểu định vị trực tiếp trường hợp đặc biệt kiểu ghi (địa chỉ) = Trong xử lý RISC, ghi (R0 R31) mắc vào điện thấp (tức 0) ta có định vị trực tiếp dùng ghi ghi địa e Kiểu định vị tự tăng Một vài xử lý RISC, ví dụ xử lý PowerPC, dùng kiểu định vị 2.5 Toán hạng Kiểu toán hạng thường đưa vào mã tác vụ lệnh Có bốn kiểu tốn hạng dùng hệ thống: - Kiểu địa - Kiểu dạng số: số nguyên, dấu chấm động, - Kiểu dạng chuỗi ký tự: ASCII, EBIDEC, - Kiểu liệu logic: bit, cờ, Tuy nhiên số máy tính dùng nhãn để xác định kiểu tốn hạng Thơng thường loại tốn hạng xác định ln chiều dài Tốn hạng thường có chiều dài byte (8 bit), từ máy tính (16 bit), từ máy tính (32 bit), từ đơi máy tính (64 bit) Đặc biệt, kiến trúc PA hãng HP (Hewlet Packard) có khả tính tốn với số thập phân BCD Một vài xử lý xử lý chuỗi ký tự CÂU HỎI ÔN TẬP VÀ BÀI TẬP CHƯƠNG Các thành phần hệ máy tính đơn giản 2.Nêu chức ghi sở ghi cờ Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 35 Tai lieu Luan van Luan an Do an Chỉ giá trị cờ trạng thái sau thực lệnh sau: MOV AL,3Fh; MOV DL,D7h; ADD AL,DL; Nêu định nghĩa kiến trúc máy tính Mơ tả kiểu thi hành lệnh máy tính Tại kiểu thi hành lệnh ghi – ghi dùng nhiều tại? Mô tả kiểu định vị kiểu định vị mà CPU có Cho CPU RISC, kiểu định vị thường dùng nhất? Sự khác biệt CPU RISC CPU CISC? Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 36 Tai lieu Luan van Luan an Do an Chương Tổ chức xử lý Mục đích: Giới thiệu cấu trúc xử lý trung tâm: tổ chức, chức nguyên lý hoạt động phận bên xử lý: đường liệu, điều khiển tạo vận chuyển tín hiệu bên xử lý nhằm thực tập lệnh tương ứng với kiến trúc phần mềm đề Mô tả diễn tiến thi hành lệnh mã máy, sở để hiểu hoạt động xử lý lệnh kỹ thuật ống dẫn, siêu ống dẫn, siêu vô hướng, Một số kỹ thuật xử lý thông tin: ống dẫn, siêu ống dẫn Yêu cầu: Sinh viên phải nắm vững cấu trúc xử lý trung tâm diễn tiến thi hành lệnh mã máy, sở để hiểu hoạt động xử lý lệnh kỹ thuật xử lý thông tin máy tính 3.1 Đường liệu Mục đích: - Giới thiệu cấu trúc xử lý trung tâm: tổ chức, chức nguyên lý hoạt động phận bên xử lý: đường liệu tạo vận chuyển tín hiệu bên xử lý nhằm thực tập lệnh tương ứng với kiến trúc phần mềm đề Phần đường liệu gồm có phận làm tính luận lý (ALU: Arithmetic and Logic Unit), mạch dịch, ghi đường nối kết phận Phần chứa hầu hết trạng thái xử lý Ngoài ghi tổng quát, phần đường liệu cịn chứa: Thanh ghi đếm chương trình (PC: Program Counter), Thanh ghi trạng thái(SR: Status Register), Thanh ghi đệm TEMP (temporary), Các ghi địa nhớ (MAR : Memory Address Register), Thanh ghi số liệu nhớ (MBR: Memory Buffer Register) Bộ đa hợp (MUX: Multiplexor) điểm cuối kênh liệu – CPU nhớ, với nhiệm vụ lập thời biểu truy cập nhớ từ CPU kênh liệu, hệ thống BUS nguồn (S1, S2) BUS kết (Dest) Nhiệm vụ phần đường liệu đọc toán hạng từ ghi tổng quát, thực phép tính tốn hạng làm tính luận lý ALU lưu trữ kết ghi tổng quát Ở ngã vào ngã ghi tổng quát có mạch chốt A, B, C Thông thường, số lượng ghi tổng quát 32 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 37 Tai lieu Luan van Luan an Do an Phần đường liệu chiếm phân nửa diện tích xử lý phần dễ thiết kế cài đặt xử lý Hình 3-1 Tổ chức xử lý điển hình ( đường khơng liên tục đường điều khiển ) ALU (Arthmetical and Logical Unit): phận tính tốn số học logic PC: Program Counter SR: Status Register Temp: temporary :thanh ghi đếm chương trình : ghi trạng thái :thanh ghi đệm MAR: Memory address Register :thanh ghi địa nhớ MBR: Memory Buffer Register :thanh ghi số liệu nhớ Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 38 Tai lieu Luan van Luan an Do an MUX: Multiplexor : Bộ đa hợp BUS S1,S2 : hệ thống nguồn Interrupt Request): yêu cầu ngắt, đường mơt tín hiệu kích hoạt thiết bị ngoại vi để phát ngắt cứng tới CPU 3.2 Bộ điều khiển Mục đích: - Giới thiệu cấu trúc xử lý trung tâm: tổ chức, chức nguyên lý hoạt động phận bên xử lý: đường liệu, điều khiển tạo vận chuyển tín hiệu bên xử lý nhằm thực tập lệnh tương ứng với kiến trúc phần mềm đề Bộ điều khiển tạo tín hiệu điều khiển di chuyển số liệu (tín hiệu di chuyển số liệu từ ghi đến BUS tín hiệu viết vào ghi, điều khiển tác vụ mà phận chức phải làm (điều khiển ALU, điều khiển đọc viết vào nhớ trong…) Bộ điều khiển tạo tín hiêu giúp lệnh thực cách Việc cài đặt điều khiển dùng cách sau: dùng mạch điện tử dùng vi chương trình (microprogram) 3.2.1 Bộ điều khiển mạch điện tử Để hiểu vận hành điều khiển mạch điện tử, xét đến mô tả Automate trạng thái hữu hạn: có nhiều hệ thống hay nhiều thành phần mà thời điểm xem xét có trạng thái (state) Mục đích trạng thái ghi nhớ có liên quan q trình hoạt động hệ thống Vì có số trạng thái định nên nói chung khơng thể ghi nhớ hết tồn lịch sử hệ thống, phải thiết kế cẩn thận để ghi nhớ quan trọng Ưu điểm hệ thống (chỉ có số hữu hạn trạng thái) cài đặt hệ thống với lượng tài nguyên cố định Chẳng hạn, cài đặt Automate trạng thái hữu hạn phần cứng máy tính dạng mạch điện hay dạng chương trình đơn giản, đó, có khả định biết lượng giới hạn liệu cách dùng vị trí đoạn mã lệnh để đưa định Hình 3-2 cho thấy nguyên tắc điều khiển mạch điện Các đường điều khiển phần đường số liệu ngã nhiều Automate trạng thái hữu hạn Các ngã vào Automate gồm có ghi lệnh, ghi chứa lệnh phải thi hành thông tin từ đường số liệu Ứng với cấu hình đường vào trạng thái tại, Automate cho trạng thái Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 39 Tai lieu Luan van Luan an Do an tương lai đường tương ứng với trạng thái Automate cài đặt dạng hay nhiều mạch mảng logic lập trình (PLA: Programmable Logic Array) mạch logic ngẫu nhiên Kỹ thuật điều khiển đơn giản hữu hiệu lệnh có chiều dài cố định, có dạng thức đơn giản Nó dùng nhiều xử lý RISC Hình 3-2 Nguyên tắc vận hành điều khiển dùng mạch điện 3.2.2 Bộ điều khiển vi chương trình: Sơ đồ nguyên tắc điều khiển dùng vi chương trình trình bày hình 3-3 Trong kỹ thuật này, đường dây điều khiển đường liệu ứng với ngã vi lệnh nằm nhớ vi chương trình Việc điều khiển tác vụ lệnh mã máy thực chuỗi vi lệnh Một vi máy tính nằm bên điều khiển thực lệnh vi chương trình Chính vi máy tính điều khiển việc thực cách vi lệnh để hoàn thành tác vụ mà lệnh mã máy phải thực Các tác vụ lệnh mã máy tuỳ thuộc vào trạng thái phần đường liệu Bộ điều khiển vi chương trình dùng rộng rãi xử lý CISC Bộ xử lý có tập lệnh phức tạp với lệnh có chiều dài khác có dạng thức phức tạp Trong xử lý CISC, người ta cài đặt lệnh mã máy cách viết vi chương trình Như cơng việc đơn giản hữu hiệu Các sai sót thiết kế automat điều khiển dễ sửa đổi Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 40 Tai lieu Luan van Luan an Do an Hình 3-3: Nguyên tắc vận hành điều khiển vi chương trình 3.3 Diễn tiến thi hành lệnh mã máy Mục đích: - Mô tả diễn tiến thi hành lệnh mã máy, sở để hiểu hoạt động xử lý lệnh kỹ thuật ống dẫn, siêu ống dẫn, siêu vô hướng, Việc thi hành lệnh mã máy chia thành giai đoạn: + Đọc lệnh (IF: Instruction Fetch) + Giải mã lệnh (ID: Instruction Decode) + Thi hành lệnh (EX: Execute) + Thâm nhập nhớ nhảy (MEM: Memory access) + Lưu trữ kết (RS: Result Storing) Mỗi giai đoạn thi hành nhiều chu kỳ xung nhịp Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 41 Tai lieu Luan van Luan an Do an a Đọc lệnh: MAR ← PC IR ← M[MAR] Bộ đếm chương trình PC đưa vào MAR Lệnh đọc từ nhớ trong, ô nhớ có địa nằm MAR đưa vào ghi lệnh IR b Giải mã lệnh đọc ghi nguồn: A ← Rs1 B ← Rs2 PC ← PC + Lệnh giải mã Kế ghi Rs1 Rs2 đưa vào A B Thanh ghi PC tăng lên để tới lệnh kế Để hiểu rõ giai đoạn này, ta lấy dạng thức lệnh làm tính tiêu biểu sau đây: Các ghi nguồn Rs1 Rs2 sử dụng tuỳ theo tác vụ, kết đặt ghi đích Rd Ta thấy việc giải mã thực lúc với việc đọc ghi Rs1 Rs2 ghi ln nằm vị trí lệnh c Thi hành lệnh: Tuỳ theo loại lệnh mà ba nhiệm vụ sau thực hiện: - Liên hệ tới nhớ MAR ← Địa ALU tính tuỳ theo kiểu định vị (Rs2) MBR ← Rs1 Địa hiệu dụng ALU tính đưa vào MAR ghi nguồn Rs1 đưa vào MBR để lưu vào nhớ - Một lệnh ALU Ngã ALU ← Kết phép tính ALU thực phép tính xác định mã lệnh, đưa kết ngã - Một phép nhảy Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 42 Tai lieu Luan van Luan an Do an Ngã ALU ← Địa lệnh ALU tính ALU cộng địa PC với độ dời để làm thành địa đích đưa địa ngã Nếu phép nhảy có điều kiện ghi trạng thái đọc định có cộng độ dời vào PC hay không d Thâm nhập nhớ nhảy lần cuối Giai đoạn thường dùng cho lệnh nạp liệu, lưu giữ liệu lệnh nhảy - Tham khảo đến nhớ: MBR ← M[MAR] M[MAR] ← MBR Số liệu nạp vào MBR lưu vào địa mà MAR trỏ đến - Nhảy: If (điều kiện), PC ← ngả ALU Nếu điều kiện đúng, ngã ALU nạp vào PC Đối với lệnh nhảy không điều kiện, ngả ALU nạp vào ghi PC e Lưu trữ kết Rd ← Ngã ALU Rd ← MBR Lưu trữ kết ghi đích 3.4 Ngắt (INTERRUPT) Mục tiêu: Trình bày khái niệm ngắt, gọi ngắt Ngắt quãng kiện xảy cách ngẫu nhiên máy tính làm ngưng tính chương trình (nghĩa tạo lệnh nhảy) Phần lớn nhà sản xuất máy tính (ví dụ IBM, INTEL) dùng từ ngắt quãng để ám kiện này, nhiên số nhà sản xuất khác dùng từ “ngoại lệ”, “lỗi”, “bẩy” để định tượng Bộ điều khiển CPU phận khó thực ngắt quãng phần khó thực điều khiển Để nhận biết ngắt quãng lúc thi hành lệnh, ta phải biết điều chỉnh chu kỳ xung nhịp điều ảnh hưởng đến hiệu máy tính Người ta nghỉ “ngắt quãng” để nhận biết sai sót tính tốn số học, để ứng dụng cho tượng thời gian thực Bây giờ, ngắt quãng dùng cho cơng việc sau đây: + Ngoại vi địi hỏi nhập xuất số liệu + Người lập trình muốn dùng dịch vụ hệ điều hành Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 43 Tai lieu Luan van Luan an Do an + Cho chương trình chạy lệnh + Làm điểm dừng chương trình + Báo tràn số liệu tính tốn số học + Trang nhớ thực khơng có nhớ + Báo vi phạm vùng cấm nhớ + Báo dùng lệnh khơng có tập lệnh + Báo phần cứng máy tính bị hư + Báo điện bị cắt Dù ngắt quãng không xảy thường xuyên xử lý phải thiết kế cho lưu giữ trạng thái trước nhảy phục vụ ngắt quãng Sau thực xong chương trình phục vụ ngắt, xử lý phải khơi phục trạng thái để tiếp tục cơng việc Để đơn giản việc thiết kế, vài xử lý chấp nhận ngắt sau thực xong lệnh chạy Khi ngắt xảy ra, xử lý thi hành bước sau đây: Thực xong lệnh làm Lưu trữ trạng thái Nhảy đến chương trình phục vụ ngắt Khi chương trình phục vụ chấm dứt, xử lý khôi phục lại trạng thái cũ tiếp tục thực chương trình mà thực bị ngắt 3.5 Kỹ thuật ống dẫn (PIPELINE) Mục đích: - Giới thiệu số kỹ thuật xử lý thông tin: - Ống dẫn, siêu ống dẫn lệnh 3.5.1 Ống dẫn Đây kỹ thuật làm cho giai đoạn khác nhiều lệnh thi hành lúc Ví dụ: Chúng ta có lệnh đặn, lệnh thực khoản thời gian Giả sử, lệnh thực giai đoạn giai đoạn thực chu kỳ xung nhịp Các giai đoạn thực lệnh là: lấy lệnh (IF: Instruction Fetch), giải mã (ID: Instruction Decode), thi hành (EX: Execute), thâm nhập nhớ (MEM: Memory Access), lưu trữ kết (RS: Result Storing) Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 44 Tai lieu Luan van Luan an Do an Bảng 3-1 Các giai đoạn khác nhiều lệnh thi hành lúc Bảng 3-1 cho thấy chu kỳ xung nhịp, xử lý thực lệnh (bình thường lệnh thực chu kỳ) So sánh với kiểu xử lý thông thường, lệnh thực 25 chu kỳ xung nhịp, xử lý lệnh theo kỹ thuật ống dẫn thực lậnh chu kỳ xung nhịp Như kỹ thuật ống dẫn làm tăng tốc độ thực lệnh Tuy nhiên kỹ thuật ống dẫn có số ràng buộc: - Cần phải có mạch điện để thi hành giai đoạn lệnh tất giai đoạn lệnh thi hành lúc Trong xử lý không dùng kỹ thuật ống dẫn, ta dùng làm tốn ALU để cập nhật ghi PC, cập nhật địa tốn hạng nhớ, địa nhớ mà chương trình cần nhảy tới, làm phép tính tốn hạng phép tính xảy nhiều giai đoạn khác - Phải có nhiều ghi khác dùng cho tác vụ đọc viết Trên hình 3-4, chu kỳ xung nhịp, ta thấy lúc có tác vụ đọc (ID, MEM) tác vụ viết (RS) - Trong máy có kỹ thuật ống dẫn, có kết tác vụ trước đó, toán hạng nguồn tác vụ khác Như có thêm khó khăn mà ta đề cập mục tới - Cần phải giải mã lệnh cách đơn giản để giải mã đọc toán hạng chu kỳ xung nhịp - Cần phải có làm tính ALU hữu hiệu để thi hành lệnh số học dài nhất, có số giữ, khoảng thời gian chu kỳ xung nhịp - Cần phải có nhiều ghi lệnh để lưu giữ lệnh mà phải xem xét cho giai đoạn thi hành lệnh - Cuối phải có nhiều ghi đếm chương trình PC để tái tục lệnh trường hợp có ngắt quãng Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 45 Tai lieu Luan van Luan an Do an 3.5.2 Khó khăn kỹ thuật ống dẫn Khi thi hành lệnh máy tính dùng kỹ thuật ống dẫn, có nhiều trường hợp làm cho việc thực kỹ thuật ống dẫn không thực là: thiếu mạch chức năng, lệnh dùng kết lệnh trước, lệnh nhảy Ta phân biệt loại khó khăn: khó khăn cấu trúc, khó khăn số liệu khó khăn điều khiển a Khó khăn cấu trúc: Đây khó khăn thiếu phận chức năng, ví dụ máy tính dùng kỹ thuật ống dẫn phải có nhiều ALU, nhiều PC, nhiều ghi lệnh IR Các khó khăn giải cách thêm phận chức cần thiết hữu hiệu b Khó khăn số liệu: Lấy ví dụ trường hợp lệnh liên tiếp sau: Lệnh 1: ADD R1, R2, R3 Lệnh 2: SUB R4, R1, R5 Lệnh 3: AND R6, R1, R7 Lệnh 4: OR R8, R1, R9 Hình 3-4 cho thấy R1, kết lệnh dùng cho lệnh sau giai đoạn MEM lệnh 1, R1 dùng cho lệnh vào giai đoạn EX lệnh Chúng ta thấy R1 dùng cho lệnh Hình 3-4 Chuỗi lệnh minh hoạ khó khăn số liệu Để khắc phục khó khăn này, phận phần cứng dùng để đưa kết từ ngã ALU trực tiếp vô ghi ngã vào hình 3-5 Khi phận phần cứng nêu phát có dùng kết ALU làm tốn hạng cho liệt kê, tác động vào mạch đa hợp để đưa ngã ALU vào ngã vào ALU vào ngã vào đơn vị chức khác cần Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 46 Tai lieu Luan van Luan an Do an Hình 3-5 ALU với phận phần cứng đưa kết tính tốn trở lại ngã vào c Khó khăn điều khiển: Các lệnh làm thay đổi tính thi hành lệnh cách (nghĩa PC tăng đặn sau lệnh), gây khó khăn điều khiển Các lệnh lệnh nhảy đến địa tuyệt đối chứa ghi, hay lệnh nhảy đến địa xác định cách tương đối so với địa đếm chương trình PC Các lệnh nhảy có khơng điều kiện Trong trường hợp đơn giản nhất, tác vụ nhảy biết trước giai đoạn giải mã (xem hình 3-4) Như vậy, lệnh nhảy bắt đầu chu kỳ C lệnh mà chương trình cuối giai đoạn giải mã ID Trong lệnh nhảy tương đối, ta phải cộng độ dời chứa ghi lệnh IR vào ghi PC Việc tính địa thực vào giai đoạn ID với điều kiện phải có mạch công việc riêng biệt Vậy trường hợp lệnh nhảy khơng điều kiện, lệnh mà chương trình nhảy đến bắt đầu thực chu kỳ C+2 lệnh nhảy bắt đầu chu kỳ C Cho lệnh nhảy có điều kiện phải tính tốn điều kiện Thông thường kiến trúc RISC đặt kết việc so sánh vào ghi trạng thái, vào ghi tổng quát Trong trường hợp, đọc điều kiện tương đương với đọc ghi Đọc ghi thực phân nửa chu kỳ cuối giai đoạn ID Một trường hợp khó xảy lệnh nhảy có điều kiện Đó điều kiện có so sánh ghi thực lệnh nhảy kết so sánh Việc tính tốn đại lượng logic thực phân nửa chu kỳ phải kéo dài thời gian thực lệnh nhảy có điều kiện Người ta thường tránh trường hợp để không làm giảm mức hữu hiệu máy tính Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 47 Tai lieu Luan van Luan an Do an Vậy trường hợp đơn giản, người ta địa cần nhảy đến điều kiện nhảy cuối giai đoạn ID Vậy có chậm chu kỳ mà người ta giải nhiều cách Cách thứ đóng băng kỹ thuật ống dẫn chu kỳ, nghĩa ngưng thi hành lệnh thứ i+1 làm lệnh thư i lệnh nhảy Ta trắng chu kỳ cho lệnh nhảy Cách thứ hai thi hành lệnh sau lệnh nhảy lưu ý hiệu lệnh nhảy bị chậm lệnh Vậy lệnh theo sau lệnh nhảy thực trước lệnh mà chương trình phải nhảy tới thực Chương trình dịch hay người lập trình có nhiệm vụ xen vào lệnh hữu ích sau lệnh nhảy Trong trường hợp nhảy có điều kiện, việc nhảy thực hay khơng thực Lệnh hữu ích đặt sau lệnh nhảy khơng làm sai lệch chương trình dù điều kiện nhảy hay sai Bộ xử lý RISC SPARC có lệnh nhảy với huỷ bỏ Các lệnh cho phép thi hành lệnh sau lệnh nhảy điều kiện nhảy huỷ bỏ thực lệnh điều kiện nhảy sai 3.5.3 Siêu ống dẫn Mục đích: - Giới thiệu số kỹ thuật xử lý thông tin: siêu ống dẫn Máy tính có kỹ thuật siêu ống dẫn bậc n cách chia giai đoạn kỹ thuật ống dẫn đơn giản, giai đoạn thực khoản thời gian Tc, thành n giai đoạn thực khoản thời gian Tc/n Độ hữu hiệu kỹ thuật tương đương với việc thi hành n lệnh chu kỳ Tc Hình 3-6 trình bày thí dụ siêu ống dẫn bậc 2, có so sánh với siêu ống dẫn đơn giản Ta thấy chu kỳ Tc, máy dùng kỹ thuật siêu ống dẫn làm lệnh thay làm1 lệnh máy dùng kỹ thuật ống dẫn bình thường Trong máy tính siêu ống dẫn, tốc độ thực lệnh tương đương với việc thực lệnh khoảng thời gian Tc/n Các bất lợi siêu ống dẫn thời gian thực giai đoạn ngắn Tc/n việc trì hỗn thi hành lệnh nhảy lớn Trong ví dụ hình 3-6, lệnh thứ i lệnh nhảy tương đối lệnh giải mã giai đoạn ID, địa nhảy đến tính vào giai đoạn EX, lệnh phải nhảy tới lệnh thứ i+4, có trì trệ lệnh thay lệnh kỹ thuật ống dẫn bình thường Trong khoảng thời gian Tc, máy có siêu ống dẫn làm lệnh thay lệnh ống có kỹ thuật ống dẫn đơn giản Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 48 Tai lieu Luan van Luan an Do an Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn

Ngày đăng: 07/07/2023, 00:46

Từ khóa liên quan

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

Tài liệu liên quan