Bài giảng Khoa học máy tính - ĐH Nông nghiệp I với kết cấu gồm 6 chương giới thiệu những nội dung chính về máy tính và phân loại, hệ thống máy tính, biểu diễn dữ liệu và số học máy tính, bộ xử lý trung tâm, bộ nhớ máy tính và hệ thống vào - ra. Với các bạn đang học chuyên ngành công nghệ thông tin thì đây là tài liệu tham khảo hữu ích dành cho các bạn.
Chương 1: Giới thiệu chung Nội dung chương Chương GIỚI THIỆU CHUNG 1.1 Máy tính phân loại 1.2 Kiến trúc máy tính 1.3 Sự tiến hố máy tính Phạm Quang Dũng Bộ mơn Khoa học máy tính - Khoa CNTT Trường Đại học Nơng nghiệp I – Hà Nội website: www.hau1.edu.vn/it/pqdung ĐT: (04) 8766318 DĐ: 0988.149.189 Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung 1.1 Máy tính phân loại Mơ hình máy tính 1.2 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ớ để 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 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.3 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.4 Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung Mơ hình phân lớp máy tính Phân loại máy tính Người sử dụng (End User) Người lập trình (Programmer) Các chương trình ứng dụng (Application Programs) Người thiết kế HĐH (OS Designer) Các phần mềm trung gian (Utilities) Phân loại truyền thống: Máy vi tính (Microcomputer) Máy tính nhỏ (Minicomputer) Máy tính lớn (Mainframe Computer) Siêu máy tính (Supercomputer) Hệ điều hành (Operating System) Phần cứng (Computer Hardware) Phần cứng: hệ thống vật lý máy tính Phần mềm: chương trình liệu Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.5 Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung Phân loại máy tính đại Máy tính để bàn (Desktop) Máy tính để bàn (Desktop Computers) Máy chủ (Servers) Là loại máy tính phổ biến Các loại máy tính để bàn Máy tính nhúng (Embedded Computers) 1.6 Máy tính cá nhân (Personal Computer – PC) Máy tính trạm làm việc (Workstation Computer) 1981 Ỉ IBM giới thiệu máy tính IBM-PC sử dụng xử lý Intel 8088 1984 Æ Apple đưa máy tính Macintosh sử dụng xử lý Motorola 68000 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.7 Giá thành: 300USD đến 10.000USD Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.8 Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung Máy chủ (Server) Máy tính nhúng (Embedded Computer) 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 chục nghìn đến hàng chục Đượ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ụ: triệu USD Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.9 Điện thoại di động Bộ điều khiển máy giặt, điều hoà nhiệt độ Router - định tuyến mạng Giá thành: Vài USD đến hàng trăm nghìn USD Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung 1.2 Kiến trúc máy tính Kiến trúc tập lệnh Kiến trúc máy tính bao gồm hai khía cạnh: Kiến trúc tập lệnh máy tính bao gồm: Kiến trúc tập lệnh (Intruction Set Architecture): nghiên cứu máy tính theo cách nhìn người lập trình Ỉ 1.10 Tập lệnh: tập hợp chuỗi số nhị phân mã Tổ chức máy tính (Computer Organization): nghiên cứu cấu hoá cho thao tác mà máy tính thực trúc phần cứng máy tính Kiến trúc tập lệnh thay đổi chậm, tổ chức máy tính thay đổi nhanh Ví dụ: Các máy tính PC dùng xử lý Intel 32-bit từ Các kiểu liệu: kiểu liệu mà máy tính xử lý 80386 đến Pentium 4: Cùng chung kiến trúc tập lệnh (IA-32) Có tổ chức khác Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.11 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.12 Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung Cấu trúc máy tính Các thành phần 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 Liên kết hệ thống (System Interconnection): đổi thơng tin máy tính với bên ngồi Kết nối vận chuyển thơng tin thành phần với Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.13 Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung 1.3 Sự tiến hoá máy tính Máy tính dùng đèn điện tử Thế hệ thứ nhất: Máy tính dùng đèn điện tử ENIAC - Máy tính điện tử chân không (1943-1956) Electronic Numerical Intergator And Computer Thế hệ thứ hai: Máy tính dùng transistor Dự án Bộ Quốc phòng Mỹ (1957-1965) Do John Mauchly John Presper Eckert Đại học Pennsylvania thiết kế Thế hệ thứ ba: Máy tính dùng vi mạch SSI, MSI LSI (1966-1980) 1.14 Bắt đầu từ năm 1943, hoàn thành năm 1946 Thế hệ thứ tư: Máy tính dùng vi mạch VLSI, SLSI (1981-nay) http://www.computerhistory.org/timeline/timeline.php Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.15 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.16 Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung ENIAC (tiếp) ENIAC (tiếp) Nặng 30 Kích thước 140 m2 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 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.17 Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung ENIAC (tiếp) Máy tính von Neumann 1.18 Còn gọi máy tính IAS: Princeton Institute for Advanced Studies Được 1947, hoàn thành 1952 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) Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.19 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.20 Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung Đặc điểm máy tính IAS John von Neumann 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 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 tốn với số nhị phân Đơn vị điều khiển nhận lệnh từ nhớ, giải mã thực Đơn vị điều khiển điều khiển hoạt động thiết bị lệnh cách vào-ra Trở thành mơ hình máy tính Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.21 Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung Các máy tính thương mại đời John Mauchly UNIVAC 1947 - Eckert-Mauchly Computer Corporation UNIVAC I (Universal Automatic Computer) 1950s - UNIVAC II Nhanh Bộ nhớ lớn Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.23 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.22 1.24 Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung UNIVAC Hãng IBM IBM – International Business Machine 1952 – 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 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.25 Các ứng dụng thương mại Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung IBM 701 (1952) IBM 702 (1955) Máy tính dùng transistor 1.26 Máy tính PDP-1 DEC (Digital Equipment Corporation) máy tính mini IBM 701 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 IBM 702 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.27 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.28 Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung DEC's PDP-1 (1960) IBM 7030 (1961) Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.29 Phạm Quang Dũng Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung 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 Bài giảng Kiến trúc máy tính Gordon Moore - người đồng sáng lập Intel Số transistors chip gấp đôi sau 18 tháng 1.30 SSI (Small Scale Integratinon) Giá thành chip không thay đổi MSI (Medium Scale Integration) Mật độ cao hơn, đường dẫn ngắn LSI (Large Scale Integration) Kích thước nhỏ dẫn tới độ phức tạp tăng lên VLSI (Very Large Scale Integration) (dùng cho máy tính hệ thứ tư) Điện tiêu thụ Hệ thống có chip liên kết với nhau, Siêu máy tính xuất hiện: CRAY-1, VAX Bộ vi xử lý (microprocessor) đời tăng độ tin cậy Bộ xử lý Ỉ Intel 4004 (1971) Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.31 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.32 Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung Tăng trưởng số transitor chip CPU IBM 360 Family (1964-1968) Có từ model 20 minicomputer (bộ nhớ 24 KB) đến model 91 supercomputer xây dựng cho hệ thống phòng thủ tên lửa Bắc Mỹ http://www.beagle-ears.com/lars/engineer/comphist/ibm360.htm Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.33 Phạm Quang Dũng Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung IBM 360/40 IBM 360/67 Dùng HĐH DOS/360 Bài giảng Kiến trúc máy tính 1.34 Bài giảng Kiến trúc máy tính 1.36 Time sharing system Phần cứng hỗ trợ virtual memory Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.35 Dùng HĐH CP-67 500 KB RAM Phạm Quang Dũng Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung IBM 360/91 PDP-11 (1972) Được thiết kế để xử lý liệu tốc độ cao cho ứng dụng khoa học 16.6 triệu phép cộng/giây → 1000 toán với 200 tỷ phép tính/ngày 2-6 MB main memory, CPU có đơn vị xử lý đồng thời khám phá không gian, vật lý nguyên tử, dự báo thời tiết toàn cầu Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.37 Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 1: Giới thiệu chung Chương 1: Giới thiệu chung Siêu máy tính CRAY-1 (1976) 1977 - PC có tích hợp hình 1.38 Saymour Cray HĐH Cray Operating System (COS), 100-160 triệu phép tính dấu chấm động/giây (megaflops) Xử lý liệu vector MB main memory Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.39 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.40 10 Chương 5: Bộ nhớ máy tính Chương 5: Bộ nhớ máy tính Đĩa từ (Platter) Các đặc tính đĩa từ Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.53 Đầu từ cố định hay đầu từ di động Đĩa cố định hay thay đổi Một mặt hay hai mặt Một đĩa hay nhiều đĩa Cơ chế đầu từ Tiếp xúc (đĩa mềm) Không tiếp xúc Phạm Quang Dũng Chương 5: Bộ nhớ máy tính Chương 5: Bộ nhớ máy tính Nhiều đĩa (Multiple Platters) Cylinders Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.55 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.54 Bài giảng Kiến trúc máy tính 5.56 14 Chương 5: Bộ nhớ máy tính Chương 5: Bộ nhớ máy tính Đĩa mềm Đĩa cứng 8”, 5.25”, 3.5” Một nhiều đĩa Dung lượng nhỏ: tới 1.44 MB Thông dụng Tốc độ chậm (360 rpm) Dung lượng tăng lên nhanh Thông dụng 1993: 200 MB Rẻ tiền 2005: 30 GB, 40 GB, 80 GB, 120 GB … Tương lai khơng dùng nữa? Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.57 Tốc độ đọc/ghi nhanh (5400, 7200 rpm) Rẻ tiền Phạm Quang Dũng Chương 5: Bộ nhớ máy tính Chương 5: Bộ nhớ máy tính RAID Đĩa quang Bài giảng Kiến trúc máy tính Redundant Array of Inexpensive Disks CD-ROM (Compact Disk ROM) Redundant Array of Independent Disks CD-R (Recordable CD) Tập đĩa cứng vật lý HĐH coi ổ CD-RW (Rewriteable CD) logic Dung lượng thông dụng 700 MB Ổ đĩa CD: Dữ liệu lưu trữ phân tán ổ đĩa vật lý Ổ đĩa CD-ROM Có thể sử dụng dung lượng dư thừa để lưu trữ Ổ CD-Writer: ghi phiên ghi nhiều phiên thông tin kiểm tra chẵn lẻ, cho phép khôi phục lại Ổ CD-RW thông tin trường hợp đĩa bị hỏng Tốc độ đọc sở 150 KB/s loại phổ biến (RAID 0-6) Tốc độ bội, ví dụ: 48x, 52x, … Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.59 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.58 5.60 15 Chương 5: Bộ nhớ máy tính Chương 5: Bộ nhớ máy tính Đĩa quang (tiếp) Flash Disk DVD Digital Video Disk: dùng ổ đĩa xem video Digital Versatile Disk: ổ máy tính Ghi hai mặt Một hai lớp mặt Thông dụng: 4,7 GB/lớp Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.61 Bộ nhớ bán dẫn cực nhanh (flash memory) Thường kết nối qua cổng USB Không phải dạng đĩa Dung lượng tăng nhanh (64 MB – GB) Thuận tiện Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 5: Bộ nhớ máy tính Chương 5: Bộ nhớ máy tính 5.6 Hệ thống nhớ PC Hệ thống nhớ PC (tiếp) Bộ nhớ cache: tích hợp chip vi xử lý Bộ nhớ chính: tồn dạng mô-đun nhớ RAM SIMM – Single Inline Memory Module 30 chân: đường liệu 72 chân: 32 đường liệu DIMM - Dual Inline Memory Module 168 chân: 64 đường liệu RIMM – Rambus DRAM Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.63 5.62 ROM BIOS chứa chương trình sau: Chương trình POST (Power On Self Test) Chương trình CMOS Setup Chương trình Bootstrap loader Các trình điều khiển vào-ra (BIOS) CMOS RAM: Cấu hình hệ thống Đồng hồ hệ thống Có pin ni riêng Video RAM: quản lý thơng tin hình Các loại nhớ Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.64 16 Chương 6: Hệ thống vào-ra Nội dung chương Chương HỆ THỐNG VÀO-RA 6.1 Tổng quan hệ thống vào-ra 6.2 Các phương pháp điều khiển vào-ra 6.3 Nối ghép thiết bị ngoại vi 6.4 Các cổng vào-ra thông dụng PC Phạm Quang Dũng Bộ mơn Khoa học máy tính - Khoa CNTT Trường Đại học Nông nghiệp I – Hà Nội website: www.hau1.edu.vn/it/pqdung ĐT: (04) 8766318 DĐ: 0988.149.189 Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra 6.1 Tổng quan hệ thống vào-ra Đặc điểm vào-ra Giới thiệu chung Chức hệ thống vào-ra: Trao đổi thơng tin máy tính với giới bên Tồn đa dạng thiết bị ngoại vi (TBNV) khác về: Nguyên tắc hoạt động Các thao tác bản: Tốc độ Vào liệu (Input) Khuôn dạng liệu Ra liệu (Output) Các thành phần Các thiết bị ngoại vi Các môđun vào-ra Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.2 Tất TBNV chậm CPU RAM → Cần có môđun vào-ra để nối ghép TBNV với CPU nhớ 6.3 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.4 Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Các TBNV Cấu trúc chung TBNV Chức năng: chuyển đổi liệu bên bên ngồi máy tính Phân loại: TBNV giao tiếp người-máy: chuột, bàn phím, hình, máy in,… TBNV giao tiếp máy-máy: gồm thiết bị theo dõi kiểm tra TBNV truyền thông: modem (modulator/demodulator), Network Interface Card (NIC, card mạng) Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.5 Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Các thành phần TBNV Môđun vào-ra Bộ chuyển đổi tín hiệu: chuyển đổi liệu Chức năng: bên ngồi bên máy tính Điều khiển định thời Bộ đệm liệu: đệm liệu truyền Trao đổi thông tin với CPU Trao đổi thông tin với TBNV Đệm bên máy tính với TBNV Phát lỗi TBNV môđun vào-ra TBNV Khối logic điều khiển: điều khiển hoạt động 6.6 TBNV đáp ứng theo yêu cầu từ môđun vào-ra Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.7 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.8 Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Cấu trúc chung môđun vào-ra Các thành phần môđun vào-ra Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.9 Thanh ghi đệm liệu: đệm liệu trình trao đổi Các cổng vào-ra (I/O Port): kết nối với TBNV, cổng có địa xác định Thanh ghi trạng thái/điều khiển: lưu giữ thông tin trạng thái/điều khiển cho cổng vào-ra Khối logic điều khiển: điều khiển môđun vào-ra Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Các phương pháp địa hóa cổng vào-ra Khơng gian địa xử lý (tiếp) a Không gian địa xử lý Một số xử lý quản lý Không gian địa nhớ N bit 000 000 Một số xử lý quản lý hai không gian địa tách biệt không gian địa 000 001 000 010 nhất, gọi không 000 011 Không gian địa nhớ: 2N địa 000 100 000 101 Không gian địa vào-ra: 2N1 địa gian địa nhớ N bit địa → có 2N địa Ví dụ: xử lý 680x0 Motorola 6.10 111 111 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.11 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.12 Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Hai không gian địa tách biệt xử lý Hai không gian địa tách biệt xử lý (tiếp) Không gian địa nhớ Không gian địa vào-ra N bit 000 000 000 001 000 010 000 011 000 100 000 101 N1 bit 00 00 00 01 00 10 00 11 Có tín hiệu điều khiển phân biệt truy nhập không gian địa nhớ hay không gian địa vào-ra 11 11 Tập lệnh có lệnh vào-ra chuyên dụng (IN, OUT) Ví dụ: Các xử lý 80x86 Pentium (Intel) Đặc điểm xử lý có hai không gian địa chỉ: Pentium Không gian địa nhớ = 232 byte = GB Không gian địa vào-ra = 216 byte = 64 KB Tín hiệu điều khiển: M/ IO Hai lệnh vào-ra chuyên dụng: IN, OUT 111 111 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.13 Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra b Các phương pháp địa hóa cổng vào-ra Vào-ra theo đồ nhớ Vào-ra theo đồ nhớ Vào-ra riêng biệt (Isolated IO hay Cổng vào-ra đánh địa theo không gian địa nhớ (Memory mapped IO) 6.14 IO mapped IO) Vào-ra giống đọc/ghi nhớ CPU trao đổi liệu với cổng vào-ra thông qua lệnh truy nhập liệu nhớ Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.15 Có thể thực hệ thống Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.16 Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Vào-ra riêng biệt 6.2 Các phương pháp điều khiển vào-ra Cổng vào-ra đánh địa theo không gian địa vào-ra riêng biệt (Programmed IO) CPU trao đổi liệu với cổng vào-ra thông qua lệnh vào-ra chuyên dụng (IN, OUT) Chỉ thực hệ thống có khơng gian địa vào-ra riêng biệt Phạm Quang Dũng Bài giảng Kiến trúc máy tính Vào-ra chương trình Vào-ra điều khiển ngắt (Interrupt Driven IO) Truy nhập nhớ trực tiếp – DMA (Direct Memory Access) 6.17 Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Vào-ra chương trình Lưu đồ chương trình 6.18 Nguyên tắc chung: CPU điều khiển trực tiếp Đọc trạng thái mơđun vào-ra vào-ra chương trình Kiểm tra trạng thái TBNV Phát tín hiệu điều khiển đọc/ghi Trao đổi liệu Môđun vào-ra có sẵn sàng? N Y Trao đổi liệu với môđun vào-ra Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.19 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.20 Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Hoạt động vào-ra chương trình Đặc điểm CPU yêu cầu thao tác vào-ra Vào-ra ý muốn người lập trình Môđun vào-ra thực thao tác CPU trực tiếp điều khiển vào-ra Môđun vào-ra thiết lập bit trạng thái CPU đợi môđun vào-ra → tiêu tốn thời gian CPU kiểm tra bit trạng thái: CPU Nếu chưa sẵn sàng quay lại kiểm tra Nếu sẵn sàng chuyển sang trao đổi liệu với môđun vào-ra Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.21 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.22 Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Vào-ra điều khiển ngắt Chuyển điều khiển đến chương trình ngắt Chương trình thực Nguyên tắc chung: CPU đợi trạng thái sẵn sàng môđun vào-ra, CPU thực chương trình Khi mơđun vào-ra sẵn sàng phát tín hiệu ngắt CPU CPU thực chương trình vào-ra tương ứng để trao đổi liệu Ngắt CPU trở lại tiếp tục thực chương trình bị ngắt Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.23 Phạm Quang Dũng lệnh lệnh lệnh lệnh lệnh i lệnh i+1 lệnh lệnh Chương trình ngắt phục vụ vào-ra lệnh lệnh lệnh RETURN Bài giảng Kiến trúc máy tính 6.24 Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Hoạt động vào liệu: nhìn từ mơđun vào-ra Hoạt động vào liệu: nhìn từ CPU Mơđun vào-ra nhận tín hiệu điều khiển đọc Phát tín hiệu điều khiển đọc từ CPU Làm việc khác Môđun vào-ra nhận liệu từ TBNV, Cuối chu kỳ lệnh, kiểm tra tín hiệu ngắt CPU làm việc khác Nếu bị ngắt: Môđun vào-ra phát tín hiệu ngắt CPU CPU yêu cầu liệu Môđun vào-ra chuyển liệu đến CPU Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.25 Cất ngữ cảnh (nội dung ghi) Thực chương trình ngắt để vào liệu Khơi phục ngữ cảnh chương trình thực Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Các phương pháp nối ghép ngắt Nhiều đường yêu cầu ngắt Sử dụng nhiều đường yêu cầu ngắt Kiểm tra vòng phần mềm 6.26 (Software Poll) Kiểm tra vòng phần cứng (Daisy Chain hay Hardware Poll) Sử dụng điều khiển ngắt (PIC) Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.27 CPU phải có nhiều đường tín hiệu u cầu ngắt Hạn chế số lượng môđun vào-ra Các đường ngắt quy định mức ưu tiên Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.28 Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Kiểm tra vòng phần mềm Kiểm tra vòng phần cứng CPU thực phần mềm hỏi môđun vào-ra Chậm Thứ tự môđun hỏi vòng thứ tự ưu tiên Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.29 Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Kiểm tra vòng phần cứng (tiếp) Bộ điều khiển ngắt lập trình CPU phát tín hiệu chấp nhận ngắt (INTA) đến mơđun vào-ra Nếu mơđun vào-ra khơng gây ngắt gửi tín hiệu đến môđun xác định môđun gây ngắt Môđun vào-ra gây ngắt đặt vector ngắt lên bus liệu CPU sử dụng vector ngắt để xác định nơi chứa chương trình điều khiển ngắt Thứ tự môđun vào-ra kết nối chuỗi xác định thứ tự ưu tiên Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.31 6.30 PIC – Programmable Interrupt Controller PIC có nhiều đường vào yêu cầu ngắt có quy định mức ưu tiên PIC chọn yêu cầu ngắt không bị cấm có mức ưu tiên cao gửi tới CPU Ví dụ: PIC 8259A Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.32 Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Đặc điểm vào-ra điều khiển ngắt DMA (Direct Memory Access) Có kết hợp phần cứng phần mềm Phần cứng: gây ngắt CPU Phần mềm: trao đổi liệu CPU trực tiếp điều khiển vào-ra CPU đợi môđun vào-ra → hiệu Bài giảng Kiến trúc máy tính Chiếm thời gian CPU Tốc độ bị hạn chế phải chuyển qua CPU Để khắc phục dùng DMA 6.33 Thêm môđun phần cứng bus → DMAC (DMA Controller) sử dụng CPU tốt Phạm Quang Dũng Vào-ra chương trình ngắt CPU trực tiếp điều khiển: DMAC điều khiển vào-ra không thông qua CPU Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Sơ đồ cấu trúc DMAC Các thành phần DMAC 6.34 Thanh ghi liệu: chứa liệu trao đổi Thanh ghi địa chỉ: chứa địa ngăn nhớ liệu Bộ đếm liệu: chứa số từ liệu (word) cần trao đổi Logic điều khiển: điều khiển hoạt động DMAC Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.35 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.36 Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Hoạt động DMA Các kiểu thực DMA CPU “nói” cho DMAC: Vào hay liệu Địa thiết bị vào-ra Địa đầu mảng nhớ chứa liệu → nạp vào ghi địa Số từ liệu cần truyền → nạp vào đếm liệu CPU làm việc khác DMAC điều khiển trao đổi liệu Sau truyền word thì: DMA truyền theo khối (Block transfer DMA): DMAC sử dụng bus để truyền xong khối liệu DMA lấy chu kỳ (Cycle Stealing DMA): DMAC cưỡng CPU treo tạm thời chu kỳ bus, DMAC chiếm bus thực truyền word DMA suốt (Transparent DMA): DMAC nhận nội dung ghi địa tăng biết chu kỳ CPU khơng sử dụng bus nội dung đếm liệu giảm chiếm bus để trao đổi word Khi đếm liệu = 0, DMAC gửi tín hiệu ngắt CPU để báo kết thúc DMA Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.37 Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Cấu hình DMA (1) Cấu hình DMA (2) 6.38 Mỗi lần truyền, DMA sử dụng bus hai lần Giữa môđun vào-ra với DMAC Giữa DMAC với nhớ DMAC điều khiển vài môđun vào-ra Mỗi lần truyền, DMAC sử dụng bus lần: Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.39 Giữa DMAC với nhớ Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.40 10 Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Cấu hình DMA (3) Đặ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ớ với mơđun vào-ra (hồn tồn phần cứng) → tốc độ nhanh Bus vào-ra tách rời hỗ trợ tất thiết bị cho phép DMA Mỗi lần truyền, DMAC sử dụng bus lần: Phù hợp với yêu cầu trao đổi mảng liệu có kích thước lớn Giữa DMAC với nhớ Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.41 Phạm Quang Dũng Bài giảng Kiến trúc máy tính Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Bộ xử lý vào-ra 6.3 Nối ghép TBNV Việc điều khiển vào-ra thực Các kiểu nối ghép vào-ra xử lý vào-ra chuyên dụng Nối ghép song song Bộ xử lý vào-ra hoạt động theo chương Nối ghép nối tiếp 6.42 trình riêng Chương trình xử lý vào-ra nằm nhớ nằm nhớ riêng Hoạt động theo kiến trúc đa xử lý Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.43 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.44 11 Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Nối ghép song song Nối ghép nối tiếp Đến bus hệ thống Truyền nhiều bit song song Tốc độ nhanh Cần nhiều đường truyền liệu Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.45 Mơđun vào-ra nối tiếp Đến TBNV Truyền bit Cần có chuyển đổi từ liệu song song sang nối tiếp hoặc/và ngược lại Tốc độ chậm Cần đường truyền liệu Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.46 Chương 6: Hệ thống vào-ra Chương 6: Hệ thống vào-ra Các cấu hình nối ghép 6.4 Các cổng vào-ra thông dụng PC Điểm tới điểm (Point to Point) Thông qua cổng vào-ra nối ghép với TBNV Các cổng PS/2: nối ghép bàn phím chuột Cổng nối ghép hình Cổng LPT (Line Printer): nối ghép với máy in, cổng song song (Parallel Port) – 25 chân Cổng COM (Communication): nối ghép với modem, chuột, cổng nối tiếp (Serial Port) – chân 25 chân Cổng USB (Universal Serial Bus): Cổng nối tiếp đa năng, cho phép nối ghép tối đa 127 thiết bị, nhờ USB Hub Điểm tới đa điểm (Point to Multi-point) Thông qua cổng vào-ra cho phép nối ghép với nhiều TBNV Ví dụ: SCSI (Small Computer System Interface): 15 thiết bị USB (Universal Serial Bus): 127 thiết bị IEEE 1394 (FireWire): 63 thiết bị Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.47 Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.48 12 ... Giá trị A tính sau: A= 3.6 i i B i giảng Kiến trúc máy tính 3.7 Phạm Quang Dũng B i giảng Kiến trúc máy tính 3.8 Chương 3: Biểu diễn liệu số học máy tính Chương 3: Biểu diễn liệu số học máy tính. .. Dũng B i giảng Kiến trúc máy tính 3.5 00 000 = 11 111 = 2n-1 Phạm Quang Dũng B i giảng Kiến trúc máy tính Chương 3: Biểu diễn liệu số học máy tính Chương 3: Biểu diễn liệu số học máy tính. .. Dũng B i giảng Kiến trúc máy tính 1.41 Phạm Quang Dũng B i giảng Kiến trúc máy tính Chương 1: Gi i thiệu chung Chương 1: Gi i thiệu chung Máy tính dùng vi mạch VLSI Các hệ thống máy tính đ i Các