Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 147 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
147
Dung lượng
7,84 MB
Nội dung
MỤC LỤC MỤC LỤC Bài 1: GIỚI THIỆU CHUNG VỀ KIẾN TRÚC MÁY TÍNH 1.1 Máy tính phân loại máy tính 1.1.1 Máy tính 1.1.2 Phân loại máy tính 1.1.2.1 Theo đặc trƣng thiết kế 1.1.2.2 Theo kích cỡ/năng lực xử lý 1.1.2.3 Phân loại theo kiến trúc 1.2 Kiến trúc máy tính 1.2.1 Kiến trúc tập lệnh 1.2.2 Tổ chức máy tính 1.2.3 Mô hình phân lớp máy tính 12 1.3 Sự phát triển máy tính 14 1.4 Hiệu máy tính 20 Bài 2: MÃ HOÁ THÔNG TIN TRONG MÁY TÍNH 23 2.1 Các hệ đếm 23 2.1.1 Hệ thập phân (Decimal) 23 2.1.2 Hệ nhị phân (Binary) 23 2.1.3 Hệ thập lục phân (Hexa) 23 2.1.4 Quan hệ hệ đếm 23 2.2 Mã hoá thông tin máy tính 24 2.2.1 Nguyên tắc chung mã hoá liệu 24 2.2.2 Nguyên tắc lƣu trữ liệu máy tính 24 2.3 Biểu diễn số nguyên 25 2.3.1 Số nguyên không dấu 25 2.3.2 Số nguyên có dấu 25 2.3.3 Các phép toán với số nguyên 26 2.3.4 Biểu diễn số nguyên theo mã BCD (Binary Coded Decimal) 27 2.4 Biểu diễn số thực 28 2.4.1 Số thực dấu phảy tĩnh 28 2.4.2 Số thực dấu phảy động 28 2.5 Mã hoá ký tự 29 2.5.1 Bảng mã ASCII 29 2.5.2 Bảng mã UniCode 30 2.6 Mã hoá hình ảnh 30 2.6.1 Mã hoá hình ảnh tĩnh 30 2.6.2 Mã hoá ảnh động 31 2.7 Mã hoá âm 32 Bài 3: Bài tập thảo luận chuyển đổi hệ đếm phép toán số học, logic 32 Bài : CƠ BẢN VỀ LOGIC SỐ 32 4.1 Các cổng logic 32 4.2 Đại số Boole 34 4.3 Mạch tổ hợp 35 4.3.1 Mạch cộng (Adder) 35 4.3.2 Mạch trừ (Subtractor) 36 4.3.3 Mạch so sánh (Comparator) 37 4.3.4 Mạch dồn kênh (MUX) 38 4.3.5 Mạch phân kênh (Demux) 39 4.3.6 Mạch mã hoá 39 4.3.7 Mạch giải mã 40 4.3.8 Mạch dịch bit (Shifter) 40 4.3.9 Mạch tạo tín hiệu thời gian (Clock) 41 4.4 Mạch dãy (Sequential Circuit) 41 4.4.1 Flip-Flop 42 4.4.2 Thanh ghi (Register) 44 4.4.3 Bộ đếm (Counter) 46 Bài 5: TỔNG QUAN VỀ HỆ THỐNG MÁY TÍNH 47 5.1 Các thành phần máy tính 47 5.1.1 Vỏ thùng máy (Case) 47 5.1.2 Bộ nguồn (Power Supply) 47 5.1.3 Bo mạch chủ (Mainboard) 49 5.1.4 Bộ xử lý trung tâm (CPU) 56 5.1.5 RAM (Random Access Memory) 57 5.1.6 Các thiết bị lƣu trữ (Storage Devices) 58 5.1.7 Các loại Card giao tiếp 61 5.2 Các hoạt động máy tính 63 5.2.1 Thực chƣơng trình 63 5.2.2 Ngắt (Interrupt) 64 5.2.3 Vào-Ra (Input/Output) 65 5.3 Bus máy tính 65 5.3.1 Cấu trúc Bus 65 5.3.2 Các loại bus máy tính 66 5.3.3 Phân cấp đa bus máy tính 67 Bài 06: Bài tập thảo luận phần tử logic mạch logic tổ hợp 68 Bài 7: BỘ XỬ LÝ TRUNG TÂM 69 7.1 Tổ chức CPU 69 7.1.1 Cấu trúc 69 7.1.2 Hoạt động chu trình lệnh 70 7.2 Thiết kế đơn vị điều khiển 74 7.2.1 Thực mạch điện tử 74 7.2.2 Thực vi chƣơng trình 75 7.3 Kỹ thuật đƣờng ống (pipelining) 76 7.3.1 Nguyên tắc chung 76 7.3.2 Các Hazard (trở ngại) đƣờng ống 77 7.4 Các kiến trúc song song mức lệnh 79 7.4.1 Siêu đƣờng ống (Superpipeline Hyperpipeline) 79 7.4.2 Bộ xử lý siêu vô hƣớng (Superscalar) 80 7.5 Bộ xử lý đa luồng đa lõi 81 7.5.1 Công nghệ siêu phân luồng (Hyper Threading) 81 7.5.2 Công nghệ đa lõi 81 Bài 8: KIẾN TRÚC TẬP LỆNH 88 8.1 Mô hình lập trình máy tính 88 8.2 Các đặc trƣng lệnh máy 91 8.2.1 Các thành phần lệnh máy: 91 8.2.2 Đánh giá số địa toán hạng: 93 8.3 Các kiểu định vị 93 8.4 Các kiểu toán hạng 95 8.5 Các vấn đề thiết kế lệnh máy 95 8.6 Các kiểu thao tác lệnh 95 8.6.1 Các lệnh chuyển liệu 95 8.6.2 Các lệnh số học 95 8.6.3 Các lệnh logic 95 8.6.4 Các lệnh điều khiển vào-ra 96 8.6.5 Các lệnh chuyển điều khiển 96 8.6.6 Các lệnh điều khiển hệ thống 96 8.7 Khái niệm lập trình hợp ngữ 96 8.8 RISC CISC 97 8.9 Kiến trúc tập lệnh Intel 8086 97 8.9.1 Tập ghi 8086 97 8.9.2 Tập lệnh 8086 100 8.9.3 Các kiểu định vị 8086 107 Bài 09: Bài tập thảo luận xử lý trung tâm, kiến trúc tập lệnh 110 Bài 10: Tổng quan hệ thống nhớ máy tính 111 10.1 Các đặc trƣng hệ thống nhớ 111 10.2 Phân cấp hệ thống nhớ 111 10.3 Phát hiệu chỉnh lỗi nhớ 111 Bài 11: Bộ nhớ bán dẫn nhớ 113 11.1 Phân loại nhớ bán dẫn 113 11.2 Tổ chức chip nhớ bán dẫn 115 11.3 Bộ nhớ 118 11.3.1 Đặc trƣng 118 11.3.2 Tổ chức băng nhớ đan xen 119 Bài 12: Bộ nhớ Cache nhớ 121 12.1 Nguyên tắc chung cache 121 12.2 Các phƣơng pháp ánh xạ địa 121 12.3 Các thuật giải thay thông dụng 121 12.4 Các phƣơng pháp ghi liệu 121 12.5 Bộ nhớ từ 122 12.6 Bộ nhớ quang 127 12.7 Bộ nhớ ảo 133 Bài 13: Thảo luận hệ thống nhớ máy tính 145 Bài 14: Hệ thống vào 137 14.1 Giới thiệu chung hệ thống vào-ra 137 14.2 Thiết bị ngoại vi 137 14.3 Mô-đun vào-ra 137 14.4 Đánh địa cho cổng vào-ra 138 14.5 Các phƣơng pháp điều khiển vào-ra 139 14.5.1 Vào-ra chƣơng trình 139 14.5.2 Vào-ra điều khiển ngắt 140 14.5.3 Truy nhập trực tiếp nhớ (DMA) 141 14.5.4 Kênh vào-ra xử lý vào-ra 141 Bài 15: Thảo luận hệ thống vào 141 Bài 16: MÁY TÍNH SONG SONG 142 16.1 Giới thiệu 142 16.2 Các loại máy tính 142 Bài 17: Thảo luận hệ thống vào ra, máy tính song song, tổng kết môn 147 Bài 1: GIỚI THIỆU CHUNG VỀ KIẾN TRÚC MÁY TÍNH 1.1 Máy tính phân loại máy tính 1.1.1 Máy tính Máy tính: Là 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 đƣợc nhớ sẵn bên - Đƣa thông tin Chương trình: Gồm dãy lệnh có quy luật, đƣợc đƣa vào nhớ để yêu cầu máy tính thực công việc cụ thể => Máy tính hoạt động theo chương trình 1.1.2 Phân loại máy tính Có nhiều cách (tiêu chí) để phân loại máy tính Thông thƣờng máy tính đƣợc phân loại theo số cách sau: 1.1.2.1 Theo đặc trưng thiết kế Máy tính số (Digital Computer): Sử dụng đại lƣợng vật lý biến thiên cách rời rạc để mã hoá xử lý thông tin Chúng đƣợc chia thành nhiều loại: a) Máy tính số tuần tự: Các công việc (nhiệm vụ) đƣợc thực (hết công việc đến công việc khác) Tốc độc thực thi chậm, gần nhƣ không tồn b) Máy tính số song song: Các nhiệm vụ đƣợc thực song song, tốc độc thực thi cao yêu cầu phần cứng cao Máy tính loại thƣờng siêu máy tính c) Máy tính số chuyên dụng: Máy tính đƣợc thiết kế để giải lớp toán (thực công việc) thuộc lĩnh vực cụ thể Nó thƣờng đơn giản rẻ máy tính đa nhờ việc giảm bớt thành phần phần cứng chí việc rút gọn tập lệnh vi xử lý d) Máy tính số đa năng: Loại máy tính đƣợc thiết kế mục đích định, thực nhiệm vụ thuộc lĩnh vực Các máy tính ngày thuộc loại máy tính Máy tính tương tự (Analog Computer): Sử dụng đại lƣợng vật lý biến thiên liên tục để mã hoá xử lý thông tin Nó có ƣu điểm vận hành thuận tiện, kết đƣa thƣờng dƣới dạng đồ thị thời gian cực ngắn Nhƣợc điểm kết độ xác cao, hoạt động không mềm dẻo nhƣ máy tính số khả giải toán phụ thuộc vào phần cứng máy Một số máy tính tƣơng tự nhƣ: Máy phân tích nƣớc, máy đo diện tích, máy định vị bom, hệ thống kiểm soát bắn,… 1.1.2.2 Theo kích cỡ/năng lực xử lý Máy tính nhúng (Embedded Computer): Là máy tính đặt ẩn thiết bị khác để điều khiển thiết bị làm việc Chúng đƣợc thiết kế chuyên dụng để làm việc với thiết bị Ví dụ: Điện thoại di động; máy ảnh số; hệ thống điều khiển TV, máy giặt, điều hoà, ô tô; định tuyến (router),… Máy tính cá nhân (Personal Computer): Là máy tính nhỏ, thƣờng có vi xử lý số thiết bị ngoại vi Thƣờng dùng cho ngƣời dùng độc lập dùng hệ thống mạng máy tính Vd: Máy tính để bàn, máy tính xách tay Máy tính nhỏ (Mini Computer): Có kích thƣớc lớn PC nhiều Nó có khả hỗ trợ hàng chục hàng trăm ngƣời làm việc Chúng thƣờng đƣợc sử dụng rộng rãi ứng dụng thời gian thực: Điều khiển hàng không, tự động hoá sản xuất,… Máy tính lớn (MainFrame Computer): Là máy tính cỡ lớn, đáp ứng hàng ngàn hàng triệu ngƣời sử dụng Chúng thƣờng đƣợc sử dụng hệ thống có khối lƣợng tính toán giao dịch lớn Ngày nay, Mainframe thƣờng đƣợc sử dụng làm File Server hệ thống mạng xử lý giao dịch ngân hàng Siêu máy tính (Super Computer): Đƣợc thiết kế đặc biệt để đạt đƣợc tốc độ tính toán phép tính dầu phảy động cao Chúng thƣờng có kiến trúc song song, nhiên hoạt động hiệu số lĩnh vực 1.1.2.3 Phân loại theo kiến trúc Kiến trúc Von Neumann Đặc điểm kiến trúc Von Neumann: - Lệnh liệu đƣợc lƣu chung nhớ Do vậy, hai trình đọc lệnh liệu xảy đồng thời - Bộ nhớ đƣợc đánh địa theo ngăn nhớ, không phụ thuộc vào nội dung - Các lệnh đƣợc thực Quá trình thực lệnh thƣờng diễn qua giai đoạn: (1) Đọc lệnh từ nhớ; Hình 1.1: Kiến trúc Von Neumann (2) Giải mã thực lệnh, lệnh có yêu cầu liệu phải đọc liệu từ nhớ; (3) Ghi kết thực lệnh vào nhớ (nếu có) Kiến trúc Havard Hình 1.2: Kiến trúc Havard Đặc điểm kiến trúc Havard: - Bộ nhớ đƣợc chia thành phần riêng biệt: Bộ nhớ chƣơng trình nhớ liệu - Hai hệ thống bus riêng để kết nối nhớ chƣơng trình nhớ liệu với CPU - Hỗ trợ truy cập nhiều lệnh đồng thời, giảm xung đột truy cập 1.2 Kiến trúc máy tính Định nghĩa Kiến trúc máy tính (Hennessy Patterson) đầy đủ bao gồm: - Hệ thống phần cứng (Hardware): Bao gồm tất thành phần phần cứng hệ thống, trình xử lý liệu CPU, xử lý đồ hoạ, truy cập trực tiếp nhớ Nó bao gồm điều khiển nhớ, luồng liệu chí đa xử lý ảo hoá - Kiến trúc tập lệnh (ISA - Instruction Set Architecture): Là ngôn ngữ vi xử lý Nó thể khả năng, lực CPU mà ngôn ngữ lập trình đánh giá thực Nó bao gồm: kích thƣớc từ máy, loại ghi, chế độ địa nhớ, định dạng liệu tập lệnh cung cấp cho lập trình viên - Vi kiến trúc (MicroArichtecture): Hay gọi tổ chức máy tính: 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 CPU,… 1.2.1 Kiến trúc tập lệnh Một tập lệnh (IS - Instruction Set) kiến trúc tập lệnh (ISA) phần Kiến trúc máy tính, liên quan đến việc lập trình, chất kiểu liệu, thị lệnh, ghi, chế độ địa chỉ, tổ chức nhớ, hệ thống ngắt xử lý ngoại lệ thao tác vào/ra Kiến trúc tập lệnh bao gồm: - Mã lệnh (Opcode): Là tập hợp chuỗi số nhị phân mã hoá cho thao tác mà máy tính hiểu thực đƣợc - Các kiểu liệu (Data Type): Các kiểu liệu mà máy tính xử lý đƣợc 1.2.2 Tổ chức máy tính Một máy tính tối thiểu phải thực đƣợc chức sau: Nhập liệu: Đƣa chƣơng trình liệu vào máy tính Lưu trữ: Quá trình lƣu trữ liệu lệnh đƣợc gọi chung lƣu trữ Dữ liệu phải đƣợc đƣa vào hệ thống trƣớc trình xử lý, tốc độ xử lý CPU lớn nhiều so với tốc độ đáp ứng liệu Bởi vậy, liệu phải đƣợc đƣa vào nhớ để trình xử lý đƣợc nhanh Bộ nhớ đảm nhiệm vai trò trên, lƣu trữ liệu lệnh cho phép: - Chứa toàn liệu lệnh trƣớc thực xử lý - Lƣu trữ kết trình xử lý Xử lý: Việc thực phép toán số học logic đƣợc gọi trình xử lý CPU thực lệnh theo chƣơng trình với liệu tƣơng ứng trả kết nhớ Xuất tín hiệu: Là trình kết xuất kết để có đƣợc liệu mong muốn Dữ liệu luôn đƣợc lƣu trữ, tổng hợp trƣớc cung cấp đến ngƣời sử dụng lƣu trữ nhớ để phục vụ cho trình xử lý Điều khiển: Các thị để điều khiển hoạt động, kiểm soát toàn hoạt động hệ thống bao gồm: Đầu vào, xử lý, đầu Nó giám sát bƣớc trình xử lý Hình 1.3: Cấu trúc chung máy tính điện tử Để thực tất nhiệm vụ trên, máy tính giao quyền cho đơn vị chức thực hoạt động tƣơng ứng, cụ thể: a CPU: Là não hệ thống máy tính Nó định quan trọng, điều khiển tính toán điều khiển toàn thành phần hệ thống Nó bao gồm thành phần: Đơn vị điều khiển (CU-Control Unit), khối số học logic (ALU-Arthimetic and Logic Unit), ghi (Registers) tín hiệu xung đồng hồ (Clock) Hình 1.4: Cấu trúc bên CPU - CU: Lấy lệnh từ nhớ, giải mã thực thi lệnh - ALU: Thực phép toán số học logic liệu nhị phân - Registers: Là nơi lƣu trữ tạm thời liệu CPU Một số ghi nhƣ: đếm chƣơng trình, ghi lệnh có công dụng riêng Một số ghi khác nhƣ: ghi tích luỹ (thanh chứa) đƣợc sử dụng chung - Clock: Mạch vi xử lý tạo chuỗi xung điện tử để đồng hoạt động thành phần bên vi xử lý Thời gian xung gọi chu kỳ số xung phát giây gọi tần số (tốc độ) Thời gian thực lệnh đƣợc đo số chu kỳ đồng hồ không đo giây Tốc độ xung đồng hồ cao, thời gian hoàn thành lệnh ngắn b Memory: Dùng để lƣu trữ liệu, đƣợc chia làm loại: - Bộ nhớ trong: Là loại nhớ đƣợc truy cập vi xử lý không thông qua kênh vào/ra Nó bao gồm: Rom, Ram, Cache, số ghi đặc biệt + RAM (Random Access Memory - Bộ nhớ truy cập ngẫu nhiên): Chứa chƣơng trình liệu đƣợc nạp vào trình thực Ram có đặc điểm sau: Chứa chƣơng trình liệu đƣợc CPU sử dụng Tổ chức thành ngăn nhớ đƣợc đánh địa Ngăn nhớ thƣờng đƣợc tổ chức theo byte Nội dung ngăn nhớ thay đổi, song địa vật lý ngăn 10 Hình 12-15: RAID 12.7 Bộ nhớ ảo Cuối thập niên 50 nhớ có khoảng 2000 từ Với nhớ 4096 từ 18 bit cho hệ điều hành chƣơng trình ngƣời sử dụng Nhƣ ngƣời lập trình phải tốn nhiều thời gian để nén kích thƣớc chƣơng trình cho đặt vừa nhớ nhỏ Thông thƣờng phải sử dụng giải thuật tốc độ chậm mà lại tiết kiệm nhớ Giải pháp đặt cho vấn đề dùng nhớ phụ, nhƣ đĩa chẳng hạn Ngƣời lập trình chia chƣơng trình thành nhiều gói nhỏ gọi overlay overlay đặt vừa nhớ Để chạy chƣơng trình, overlay đầu tên đƣợc đƣa vào nhớ chạy khoảng thời gian Khi overlay hoàn tất, chƣơng trình đọc overlay gọi overlay ngƣời lập trình phải chịu trách nhiệm tách chƣơng trình mình, bố trí đặt overlay cho hợp lý Vào năm 1961 nhóm nhà khoa học Anh đề cập giải pháp tự động hoá trình quản lý overlay, ngƣời lập trình chí không cần biết overlay diễn Phƣơng pháp đƣợc gọi phƣơng pháp nhớ ảo Phƣơng pháp nhớ ảo liên quan đến khái niệm Phân trang hay khung phân trang, phƣơng pháp ánh xạ địa a Khái niệm Bộ nhớ ảo kỹ thuật cho phép xử lý tiến trình không đƣợc nạp toàn vào nhớ vật lý Bộ nhớ ảo mô hình hoá nhớ nhƣ bảng lƣu trữ lớn đồng nhất, tách biệt hẳn khái niệm không gian địa không gian vật lý Ngƣời sử dụng nhìn thấy làm việc không gian địa ảo, việc chuyển đổi sang không gian vật lý hệ điều hành thực với trợ giúp chế phần cứng cụ thể - Cần kết hợp kỹ thuật swapping để chuyển phần chƣơng trình vào-ra nhớ nhớ phụ cần thiết - Nhờ việc tách biệt nhớ ảo nhớ vật lý, tổ chức nhớ ảo có kích thƣớc lớn nhớ vật lý - Bộ nhớ ảo cho phép giảm nhẹ công việc lập trình viên họ không cần bận tâm đến giới hạn vùng nhớ vật lý, nhƣ không cần tổ chức chƣơng trình theo cấu trúc overlays 133 Hình 12-16: Bộ nhớ ảo b Cài đặt nhớ ảo Bộ nhớ ảo thƣờng đƣợc thực với kỹ thuật phân trang theo yêu cầu (demand paging) Cũng sử dụng kỹ thuật phân đoạn theo yêu cầu (demand segmentation) để cài đặt nhớ ảo, nhiên việc cấp phát thay phân đoạn phức tạp thao tác trang, kích thƣớc không đoạn - Phân trang theo yêu cầu ( demand paging) Một hệ thống phân trang theo yêu cầu hệ thống sử dụng kỹ thuật phân trang kết hợp với kỹ thuật swapping Một tiến trình đƣợc xem nhƣ tập trang, thƣờng trú nhớ phụ ( thƣờng đĩa) Khi cần xử lý, tiến trình đƣợc nạp vào nhớ Nhƣng thay nạp toàn chƣơng trình, trang cần thiết thời điểm đƣợc nạp vào nhớ Nhƣ trang đƣợc nạp vào nhớ có yêu cầu Với mô hình này, cần cung cấp chế phần cứng giúp phân biệt trang nhớ trang đĩa Có thể sử dụng lại bit validinvalid nhƣng với ngữ nghĩa mới: Valid: trang tƣơng ứng hợp lệ nhớ Invalid: trang bất hợp lệ (không thuộc không gian địa tiến trình) trang hợp lệ nhƣng đƣợc lƣu nhớ phụ Một phần tử bảng trang mộ tả cho trang không nằm nhớ chính, đƣợc đánh dấu invalid chứa địa trang nhớ phụ - Cơ chế phần cứng: Cơ chế phần cứng hỗ trợ kỹ thuật phân trang theo yêu cầu kết hợp chế hỗ trợ kỹ thuật phân trang kỹ thuật swapping: Bảng trang: Cấu trúc bảng trang phải cho phép phản ánh tình trạng trang nằm nhớ hay nhớ phụ Bộ nhớ phụ: Bộ nhớ phụ lƣu trữ trang không đƣợc nạp vào nhớ Bộ nhớ phụ thƣờng đƣợc sử dụng đĩa, vùng không gian đĩa dùng để lƣu trữ tạm trang kỹ thuật swapping đƣợc gọi không gian swapping 134 Hình 12-17: Bảng trang với số trang nhớ phụ Lỗi trang Truy xuất đến trang đƣợc đánh dấu bất hợp lệ làm phát sinh lỗi trang (page fault) Khi dò tìm bảng trang để lấy thông tin cần thiết cho việc chuyển đổi địa chỉ, nhận thấy trang đƣợc yêu cầu truy xuất bất hợp lệ, chế phần cứng phát sinh ngắt để báo cho hệ điều hành Hệ điều hành xử lý lỗi trang nhƣ sau: + Kiểm tra truy xuất đến nhớ hợp lệ hay bất hợp lệ + Nếu truy xuất bất hợp lệ: kết thúc tiến trình + Ngƣợc lại: đến bƣớc + Tìm vị trí chứa trang muốn truy xuất đĩa + Tìm khung trang trống nhớ chính: - Nếu tìm thấy: đến bƣớc - Nếu không khung trang trống, chọn khung trang « nạn nhân » chuyển trang « nạn nhân » nhớ phụ (lƣu nội dung trang chiếm giữ khung trang lên đĩa), cập nhật bảng trang tƣơng ứng đến bƣớc + Chuyển trang muốn truy xuất từ nhớ phụ vào nhớ chính: nạp trang cần truy xuất vào khung trang trống chọn (hay vừa làm trống); cập nhật nội dung bảng trang, bảng khung trang tƣơng ứng + Tái kích hoạt tiến trình ngƣời sử dụng 135 Hình 12-18: Các giai đoạn xử lý lỗi trang 136 Bài 13: Thảo luận hệ thống nhớ máy tính Bài 14: Hệ thống vào 14.1 Giới thiệu chung hệ thống vào-ra 14.2 Thiết bị ngoại vi - Màn hình - Bàn phím - Chuột - Máy in - Máy chiếu 14.3 Mô-đun vào-ra - Chức module vào – ra: + Điều khiển định thời + Trao đổi thông tin với CPU + Trao đổi thông tin với thiết bị ngoại vi + Đệm bên máy tính với thiết bị ngoại vi + Phát lỗi thiết bị ngoại vi - Cấu trúc chung module vào – Dữ liệu Các đường liệu Thanh ghi đệm liệu Bus liệu bên Cổng nối ghép vào Điều khiển Trạng thái Thanh ghi trạng thái điều khiển Các đường địa Các đường điều khiển Khối logic điều khiển Dữ liệu Cổng nối ghép vào Điều khiển Trạng thái Hình 14-1: Cấu trúc chung Module vào - Các thành phần module vào – + Thanh ghi đệm liệu: đệm liệu trình trao đổi + Các cổng vào – (I/O Port): kết nối với thiết bị ngoại vi, cổng có địa xác định + Thanh ghi trạng thái/ điều khiển: lƣu trữ thông tin trạng thái/ điều khiển cho cổng vào – + Khối logic điều khiển: điều khiển module vào – 137 14.4 Đánh địa cho cổng vào-ra Quá trình truyền thông tin qua lại CPU thiết bị vào đƣợc thực thông qua cổng vào Mỗi cổng vào – có địa riêng số đƣợc dành riêng cho thiết bị vào – cụ thể Bộ điều khiển nhập - xuất Địa nhập xuất Đồng Hồ 040 – 043 Bàn Phím 060 – 063 Đĩa Cứng 320 – 32F Máy In 378 – 37F Đĩa Mềm 3F0 – 3F7 Bảng 14-1: Địa số cổng máy tính - Không gian địa Vi xử lý Không gian địa nhớ N bit 000 000 000 001 000 010 000 011 000 100 000 101 Không gian địa vào N bit 000 000 000 001 000 010 000 011 111 111 111 111 Hình 14-2: Không gian địa Vi xử lý + Một số xử lý quản lý không gian địa Không gian địa nhớ gồm 2n địa Ví dụ: Các xử lý 680x0 + Một số xử lý quản lý không gian địa cách biệt Không gian địa nhớ gồm 2n địa Không gian địa vào – 2n-1 địa Có tín hiệu điều khiển phân biệt truy nhập không gian địa Tập lệnh có lệnh vào chuyên dụng Ví dụ: Pentium(intel) Không gian địa nhớ = 232byte = 4GB Không gian địa vào = 216byte = 64KB Tín hiệu điều khiển M / IO Lệnh vào chuyên dụng IN,OUT - Các phƣơng pháp địa hoá cổng vào – + Vào – riêng biệt Cổng vào đƣợc đánh địa theo không gian địa vào – 138 CPU trao đổi liệu với cổng vào thông qua lệnh vào chuyên dụng( IN, OUT) Chỉ thực hệ thống có quản lý không gian địa vào – riêng biệt + Vào theo đồ nhớ Cổng vào – đƣợc đánh địa theo không gian địa nhớ Vào – giống nhƣ đọc/ghi nhớ CPU trao đổi liệu với cổng vào – thông qua lệnh truy nhập liệu nhớ Có thể thực hệ thống 14.5 Các phương pháp điều khiển vào-ra 14.5.1 Vào-ra chương trình - Nguyên tắc chung: + Sử dụng lệnh vào chƣơng trình để trao đổi liệu với cổng vào + Khi CPU thực chƣơng trình gặp lệnh vào CPU điều khiển trao đổi liệu với cổng vào - Hoạt động vào chƣơng trình + CPU gặp lệnh trao đổi vào ra, yêu cầu thao tác vào + Module vào thao tác vào + Module vào thiết lập bit trạng thái(State) + CPU kiểm tra bit trạng thái: Nếu chƣa sẵn sàng quay lại kiểm tra lại Nếu sẵn sàng chuyển sang trao đổi liệu với Module vào Hình 14-3: Lưu đồ thực chương trình PC - Nhận xét: + CPU trực tiếp điều khiển vào ra: đọc trạng thái, kiểm tra trạng thái, thực trao đổi 139 + Trong trƣờng hợp nhiều thiết bị cần trao đổi liệu thiết bị chƣa sẵn sàng tốn nhiều thời gian CPU + Việc thực trao đổi đơn giản 14.5.2 Vào-ra điều khiển ngắt - Nguyên tắc chung: + CPU đợi trạng thái sẵn sàng Module vào Module vào sẵn sàng phát tín hiệu yêu cầu ngắt CPU + CPU thực chƣơng trình vào tƣơng ứng để trao đổi liệu + CPU trở lại chƣơng trình bị ngắt - Các phƣơng pháp nối ghép + Sử dụng nhiều đƣờng yêu cầu ngắt + Kiểm tra vòng phần mềm (Polling) + Kiểm tra vòng phần cứng + Sử dụng điều khiển ngắt Nhiều yêu cầu ngắt đồng thời + CPU sử dụng nhiều đƣờng yêu cầu ngắt Nạp vào ghi yêu cầu ngắt + Hạn chế số lƣợng Module vào + Các đƣờng ngắt đƣợc qui định mức ƣu tiên - Kiểm tra vòng phần mềm INTR CPU Có y/c ngắt Modul I/O Modul I/O Modul I/O Modul I/O Hình 14-4: Kiểm tra vòng phần mềm - Kiểm tra vòng phần cứng Hình 14-5: Kiểm tra vòng phần cứng + CPU sử dụng phần mềm hỏi lần lƣợt Module + Thứ tự Module đƣợc hỏi thứ tự ƣu tiên + Phƣơng pháp chậm + CPU phát tín hiệu chấp nhận ngắt đến Module 140 + Nếu Module không gây ngắt thi gới tín hiệu tới Module + Module I/O gây ngắt đặt vector lên bus liệu + CPU sử dụng ngắt để xác định chƣơng trình điều khiển ngắt + Thứ tự vào Module chuỗi xác định thứ tự ƣu tiên 14.5.3 Truy nhập trực tiếp nhớ (DMA) Với nhƣợc điểm hai phƣơng pháp là: CPU tham gia trực tiếp vào trao đổi liệu việc trao đổi lƣợng liệu nhỏ Để khắc phục hai phƣơng pháp phƣơng pháp có tên DMA sử dụng thêm Module phần cứng có DMAC (DMA Controller) Vì trao đổi liệu không cần CPU - Các kiểu thực DMA + DMA truyền theo khối: DMAC sử dụng BUS để truyền khối liệu + DMA lấy chu kỳ: DMAC cƣỡng CPU treo tạm thời chu kỳ BUS để thực truyền từ liệu + DMA suốt: DMAC nhận biết chu kỳ CPU không sử dụng BUS chiếm BUS để trao đổi liệu - Đặc điểm DMA + CPU không tham gia trình trao đổi liệu + DMAC điều khiển trao đổi liệu nhớ Module vào với tốc độ nhanh + Phù hợp với yêu cầu trao đổi mảng liệu có kích thƣớc lớn 14.5.4 Kênh vào-ra xử lý vào-ra Bài 15: Thảo luận hệ thống vào 141 Bài 16: MÁY TÍNH SONG SONG 16.1 Giới thiệu Trong máy tính siêu ống dẫn, siêu vô hƣớng, máy tính vectơ, máy tính VLIW, ngƣời ta dùng tính thực song song lệnh mức độ khác để làm tăng hiệu chúng Giới hạn khả tính toán loại máy với phát triển công nghệ máy tính khiến ngƣời ta nghĩ tới giải pháp song song theo ngƣời ta tăng cƣờng hiệu máy tính cách tăng số lƣợng xử lý 16.2 Các loại máy tính Các máy tính xếp vào loại sau: SISD (Single Instructions Stream, Single Data Stream): Máy tính dòng lệnh, dòng số liệu SIMD (Single Instructions Stream, Multiple Data Stream): Máy tính dòng lệnh, nhiều dòng số liệu MISD (Multiple Instructions Stream, Single Data Stream):Máy tính nhiều dòng lệnh, dòng số liệu MIMD (Multiple Instruction Stream, Multiple Data Stream): Máy tính nhiều dòng lệnh, nhiều dòng số liệu Kiểu phân loại đơn giản, dễ hiểu, hiệu lực đến hôm nay, có máy tính dùng kiến trúc hỗn tạp Các máy tính SISD tƣơng ứng với máy xử lý mà nghiên cứu Các máy MISD kiểu máy tính không sản xuất thƣơng mại Các máy SIMD có số lớn xử lý giống nhau, thực lệnh giống để xử lý nhiều dòng liệu khác Mỗi xử lý có nhớ liệu riêng, nhƣng có nhớ lệnh xử lý điều khiển, đọc thi hành lệnh Máy CONNECTION MACHINE (65536 xử lý bít) công ty Thinking Machine Inc, ví dụ điển hình SIMD Tính song song dùng máy SIMD tính song song liệu Nó có hiệu cấu trúc liệu dễ dàng thích ứng với cấu trúc vật lý xử lý thành viên Các xử lý véc-tơ mảng thuộc loại máy tính Các máy MIMD có kiến trúc song song, năm gần đây, máy MIMD lên đƣợc xem nhƣ kiến trúc đƣơng nhiên phải chọn cho máy nhiều xử lý dùng ứng dụng thông thƣờng, tập hợp xử lý thực chuối lệnh khác tập hợp liệu khác Các máy MIMD đƣợc xếp vào ba loại hệ thống đƣợc giới thiệu phần chƣơng trình là: SMP (Symmetric Multiprocesors), Cluster NUMA (Nonunifrom Memory Access) 142 Một hệ thống SMP bao gồm nhiều xử lý giống đƣợc lắp đặt bên máy tính, xử lý kết nối với hệ thống bus bên hay vài xếp chuyển mạch thích hợp Vấn đề lớn hệ thống SMP kết hợp hệ thống cache riêng lẻ Vì xử lý SMP có cache riêng nó, đó, khối liệu nhớ tồn hay nhiều cache khác Nếu khối liệu cache xử lý bị thay đổi dẫn đến liệu cache xử lý lại nhớ không đồng Các giao thức cache kết hợp đƣợc thiết kế để giải vấn đề Trong hệ thống cluster, máy tính độc lập đƣợc kết nối với thông qua hệ thống kết nối tốc độ cao (mạng tốc độ cao Fast Ethernet hay Gigabit) hoạt động nhƣ máy tính thống Mỗi máy hệ thống đƣợc xem nhƣ phần cluster, đƣợc gọi nút (node) Hệ thống cluster có ƣu điểm: Tốc độ cao: Có thể tạo hệ thống cluster có khả xử lý mạnh máy tính đơn lẻ Mỗi cluster bao gồm hàng tá máy tính, máy có nhiều xử lý Khả mở rộng cao: nâng cấp, mở rộng cluster đƣợc cấu hình hoạt động ổn định Độ tin cậy cao: Hệ thống hoạt động ổn định có nút (node) hệ thống bị hƣ hỏng Trong nhiều hệ thống, khả chịu lỗi (fault tolerance) đƣợc xử lý tự động phần mềm Chi phí đầu tƣ thấp: hệ thống cluster có khả mạnh máy tính đơn lẻ mạnh với chi phí thấp Một hệ thống NUMA (Nonunifrom Memory Access) hệ thống đa xử lý đƣợc giới thiệu thời gian gần đây, hệ thống với nhớ chia sẻ, thời gian truy cập vùng nhớ dành riêng cho xử lý khác Điều khác với kiểu quản lý nhớ hệ thống SMP (bộ nhớ dùng chung, thời gian truy cập vùng nhớ khác hệ thống cho xử lý nhƣ nhau) Hệ thống có thuận lợi bất lợi nhƣ sau: Thuận lợi: Thực hiệu so với hệ thống SMP xử lý song song Không thay đổi phần mềm Bộ nhớ có khả bị nghẽn có nhiều truy cập đồng thời, nhƣng điều đƣợc khắc phục cách: + Cache L1&L2 đƣợc thiết kế để giảm tối thiểu tất thâm nhập nhớ + Cần phần mềm cục đƣợc quản lý tốt để việc ứng dụng hoạt động hiệu + Quản trị nhớ ảo chuyển trang tới nút cần dùng Bất lợi: 143 Hệ thống hoạt động không suốt nhƣ SMP: việc cấp phát trang, trình đƣợc thay đổi phần mềm hệ thống cần Hệ thống phức tạp Liên quan đến nhớ máy tính song song, chia thành hai nhóm máy: Nhóm máy thứ nhất, mà ta gọi máy có kiến trúc nhớ chia sẻ, có nhớ trung tâm đƣợc phân chia cho xử lý hệ thống bus chia sẻ để nối xử lý nhớ Vì có nhớ nên hệ thống nhớ không đủ khả đáp ứng nhu cầu thâm nhập nhớ số lớn xử lý Kiểu kiến trúc nhớ chia sẻ đƣợc dùng hệ thống SMP Nhóm máy thứ hai bao gồm máy có nhớ phân tán vật lý Mỗi máy nhóm gồm có nút, nút chứa xử lý, nhớ, vài ngã vào giao diện với hệ thống kết nối nút (hình 16.2) Hình 16.1 : Máy tính song song với nhớ dùng chung, hệ thống bus dùng chung Hình 16.2 : Cấu trúc nhớ phân tán 144 Việc phân tán nhớ cho nút có hai điểm lợi Trước hết, cách phân tán việc thâm nhập nhớ Thứ hai, cách làm giảm thời gian chờ đợi lúc thâm nhập nhớ cục Các lợi điểm làm cho kiến trúc có nhớ phân tán đƣợc dùng cho máy đa xử lý có số xử lý Điểm bất lợi kiến trúc máy tính việc trao đổi liệu xử lý trở nên phức tạp nhiều thời gian xử lý không chia sẻ nhớ chung Cách thực việc trao đổi thông tin xử lý nhớ trong, kiến trúc logic nhớ phân tán tính chất đặc thù máy tính với nhớ phân tán Có phƣơng pháp đƣợc dùng để truyền liệu xử lý i) Phương pháp thứ nhớ đƣợc phân chia cách vật lý đƣợc thâm nhập với định vị chia sẻ cách logic, nghĩa xử lý có quyền truy xuất, truy xuất ô nhớ Trong phƣơng pháp máy đƣợc gọi có kiến trúc nhớ chia sẻ phân tán (DSM: Distributed Sharing Memory) Từ nhớ chia sẻ cho biết không gian định vị bị chia sẻ Nghĩa địa vật lý cho xử lý tƣờng ứng với ô nhớ ii) Phương pháp thứ hai, không gian định vị bao gồm nhiều không gian định vị nhỏ không giao đƣợc xử lý thâm nhập Trong phƣơng pháp này, địa vật lý gắn với máy khác tƣơng ứng với ô nhớ khác nhớ khác Mỗi mô-đun xử lý-bộ nhớ máy tính riêng biệt máy đƣợc gọi đa máy tính Các máy gồm nhiều máy tính hoàn toàn riêng biệt đƣợc nối vào thành mạng cục Hình 16.3 : Tổ chức kết nối máy tính song song có nhớ phân tán Kiến trúc song song phát triển mạnh thời gian gần lý do: - Việc dùng xử lý song song đặc biệt lãnh vực tính toán khoa học công nghệ Trong lãnh vực ngƣời ta cần đến máy tính có tính cao 145 - Ngƣời ta chấp nhận cách hiệu để chế tạo máy tính có tính cao máy đơn xử lý chế tạo máy tính đa xử lý - Máy tính đa xử lý hiệu dùng cho đa chƣơng trình Đa chƣơng trình đƣợc dùng chủ yếu cho máy tính lớn cho máy phục vụ lớn Các ví dụ siêu máy tính dùng kỹ thuật xử lý song song: Máy điện toán Blue Gene/L IBM đƣợc đặt Phòng thí nghiệm Lawrence Livermore, đứng đầu số 500 siêu máy tính mạnh giới Siêu máy tính Blue Gene/L đƣợc sử dụng cho công việc "phi truyền thống", chủ yếu giả lập mô trình sinh học nguyên tử Máy điện toán Blue Gene/L đạt tốc độ 70 teraflop (nghìn tỷ phép tính/giây) Kết đƣa cỗ máy lên vị trí dẫn đầu danh sách siêu máy tính nhanh giới, đƣợc công bố ngày 8/11/2004 Theo đó, siêu máy tính IBM lắp ráp đạt tốc độ 70,72 teraflop thử nghiệm hồi tháng 10/2004 IBM nghiên cứu phát triển Blue Gene với mục đích thử nghiệm nhằm tạo hệ thống cực mạnh nhƣng chiếm không gian tiêu thụ lƣợng IBM dự kiến, lắp đặt cho phòng thí nghiệm quốc gia Lawrence Livermore siêu máy tính có tốc độ nhanh gấp lần so với kỷ lục vừa đạt đƣợc Khi đó, thiết bị đƣợc ứng dụng vào nhiều nghiên cứu khoa học Hệ thống bao gồm 16,384 giao điểm điện toán kết nối 32.768 xử lý Thông tin (02/2005) cho biết: siêu máy tính IBM Blue Gene/L vừa thiết lập kỷ lục có khả xử lý 135,5 nghìn tỷ phép tính/giây (135,3 teraflop), vƣợt xa kỷ lục 70,72 teraflop siêu máy tính lập nên Số xử lý (BXL) Blue Gene/L vừa đƣợc nhà khoa học tăng lên gấp đôi (64.000 BXL) nhằm tăng cƣờng khả tính toán cho siêu máy tính Cũng cần phải nhắc lại thiết kế hoàn thiện siêu máy tính Blue Gene/L, dự kiến hoàn tất vào khoảng tháng tới, bao gồm 130.000 BXL với tốc độ tính toán đƣợc kỳ vọng vào khoảng 360 teraflop Blue Gene tên gọi chung cho dự án nghiên cứu siêu máy tính đƣợc IBM khởi động từ năm 2000, với mục đích ban đầu thiết kế "cỗ máy" có khả xử lý teraflop Trong đó, siêu máy tính Blue Gene/L nhiều sản phẩm chủ lực IBM nhằm cạnh tranh với hãng đối thủ Silicon Graphics NEC Hãng điện tử khổng lồ NEC phát hành supercomputer dạng vector, máy SX-8 đời có tốc độ xử lý cực đại lên tới 65 teraflop (65 nghìn tỷ phép tính dấu phẩy động/giây) khả hoạt động ổn định mức xấp xỉ 90% tốc độ 58,5% teraflop Máy SX-8 có kiến trúc khác hẳn Blue Gene/L IBM Nó dùng kiến trúc vector nên đem đến độ ổn định hoạt động cao nhiều so với dạng máy tính vô hƣớng (scalar) nhƣ IBM Một hệ thống trung tâm nghiên cứu Cơ quan hàng không vũ trụ Mỹ (NASA) California đạt đƣợc tốc độ 42,7 teraflop Với tên gọi Columbia, siêu máy tính đƣợc sử dụng để nghiên cứu khí tƣợng thiết kế máy bay Hệ thống trị 146 giá 50 triệu USD (thời điểm tháng 10/2004) sử dụng phần mềm Linux đƣợc SGI ký hợp đồng bán cho Cơ quan hàng không vũ trụ Mỹ NASA Nó thực 42,7 nghìn tỷ phép tính/giây (42,7 teraflop) Tuy nhiên, tốc độ chƣa phải tất bật siêu máy tính này: hệ thống khai thác có 4/5 công suất 10.240 xử lý Intel Itanium toàn cỗ máy đặt trung tâm nghiên cứu NASA California (Mỹ) Siêu máy tính không giống với hầu hết siêu máy tính thƣờng đƣợc tạo nên theo kiểu cluster, với tham gia nhiều cỗ máy giá rẻ Columbia đƣợc thiết lập từ 20 máy tính mà có 512 xử lý, kết nối công nghệ mạng cao tốc chạy hệ điều hành độc lập Cách xây dựng hữu ích cho công việc nhƣ giả lập yếu tố khí động lực cho tàu không gian Một ứng dụng khác siêu máy tính Columbia việc dự báo bão Phần mềm cho tác vụ đƣợc thiết kế hứa hẹn khả dự báo xác đƣờng bão sớm ngày Toàn máy Columbia chiếm dụng diện tích khoảng sân bóng rổ Bài 17: Thảo luận hệ thống vào ra, máy tính song song, tổng kết môn 147 ... tính song song, tổng kết môn 147 Bài 1: GIỚI THIỆU CHUNG VỀ KIẾN TRÚC MÁY TÍNH 1.1 Máy tính phân loại máy tính 1.1.1 Máy tính Máy tính: Là thiết bị điện tử thực công việc sau: - Nhận thông tin... nhớ để yêu cầu máy tính thực công việc cụ thể => Máy tính hoạt động theo chương trình 1.1.2 Phân loại máy tính Có nhiều cách (tiêu chí) để phân loại máy tính Thông thƣờng máy tính đƣợc phân loại... không tồn b) Máy tính số song song: Các nhiệm vụ đƣợc thực song song, tốc độc thực thi cao yêu cầu phần cứng cao Máy tính loại thƣờng siêu máy tính c) Máy tính số chuyên dụng: Máy tính đƣợc thiết