Bài giảng ghép nối máy tính
Mục đích môn học Nắm đợc nguyên tắc ghép nối thiết bị và trao đổi thông tin giữa thiết bị ngoài với máy tính. Tác dụng: - Ghép nối thiết bị ngoài với máy tính - Xây dựng các hệ thu thập số liệu từ các máy đo. - Điều khiển thiết bị ngoài - Xây dựng các hệ thống đo lờng điều khiển ghép nối máy tính Nội dung môn học: A. Cỏc kin thc c bn - K thut in t s - K thut vi x lý B. Các hệ thống ghép nối máy tính thiết bị ngoại vi a. Cấu trúc máy tính và các phơng pháp ghép nối b. Truy nhập thông qua BUS số liệu c. Sử dụng ngắt d. Cổng nối tiếp không đồng bộ e. Các thiết bị ngoại vi Tài liệu tham khảo: Ghép nối máy tính Ngô Diên Tập Cấu trúc máy tính Kỹ thuật Vi xử lý NXB Thống kê 1985 Tài liệu về VĐK 8051. 1 Phần I: Ôn tập Cc kiến thức cơ bản I. K thut in t s: - Họ IC số TTL, CMOS - Mức logic TTL, CMOS. - Mức FanOut của một cổng ra. - Cổng vào Smitth. - Kỹ thuật xử lý không đồng bộ và xử lý đồng bộ. - Các phép toán logic cơ bản II. K thut vi x lý: Cấu trúc Harvard và cấu trúc Von-Newman Cấu trúc von- Newman. Hình: Cấu trúc Von-Newman KN: Cấu trúc Von-Newman có Bộ nhớ chơng trình và bộ nhớ dữ liệu sử dụng chung vùng địa chỉ: - Chúng sử dụng chung bus địa chỉ, bus dữ liệu và các tín hiệu điều khiển. Hoàn toàn không có một quy ớc nào cho việc phân biệt 2 loại vùng nhớ này. Do vậy, chơng trình điều khiển phải nắm vững đợc vùng nhớ nào thuộc loại bộ nhớ nào. àP Bộ nhớ chương trình Bộ nhớ số liệu Vào ra BUS địa chỉ BUS số liệu R/W 2 - Một địa chỉ nếu là ROM: Sẽ dùng để chứa những dữ liệu cố định, thờng là vùng Boot programs. - Một địa chỉ nếu là RAM: có thể nhớ dữ liệu hoặc chơng trình: Nó hớng tới vùng có dữ liệu lớn và chơng trình biến đổi nh cấu trúc máy. Nó không thích hợp với hệ thống chơng trình cố định. - Một địa chỉ có thể là bộ nhớ dữ liệu hoặc bộ nhớ chơng trình ở những thời điểm khác nhau: Khi nạp chơng trình từ đĩa cứng vào bộ nhớ: Bộ nhớ đợc coi nh bộ nhớ dữ liệu. Sau khi nạp xong chơng trình, CPU sẽ chuyển con trỏ lệnh đến vùng địa chỉ này. Khi đó vùng bộ nhớ này đợc coi nh bộ nhớ chơng trình. *) Cấu trúc Harvard: Vùng nhớ chơng trình tách rời. Vùng nhớ dữ liệu phù hợp với hệ thống ch- ơng trình cố định và thông tin cố định. Hình: cấu trúc Harvard. - Có Bus địa chỉ và Bus dữ liệu riêng, điều khiển tách rời nhau, thao tác đọc ch- ơng trình khác với thao tác đọc dữ liệu). - Do bộ nhớ chơng trình độc lập hoàn toàn với bộ nhớ dữ liệu nên hoàn toàn không có thao tác ghi vào bộ nhớ chơng trình. Chơng trình chỉ đợc ghi một lần vào bộ nhớ ROM và sau đó không thể thay đổi đợc. - Độ tin cậy của bộ nhớ chơng trình cao do không có khả năng thay đổi nội dung bộ nhớ chơng trình. - Giá thành hệ thống rẻ vì các nguyên nhân sau: 3 àP Bộ nhớ chương trình Vào ra Bộ nhớ dữ liệu + Không cần cấu trúc cập nhật bộ nhớ chơng trình trong lúc chạy. + Sử dụng ROM lu trữ chơng trình. + Do vùng nhớ dữ liệu đợc phân hóa rõ ràng nên kích thớc bộ nhớ dữ liệu đợc tối thiểu hóa. Cấu trúc Harvard thờng chỉ dùng cho hệ VSL điều khiển (uC). Bộ nhớ chơng trình và bộ nhớ dữ liệu thờng đợc tích hợp cùng với CPU thành một chip hoàn chỉnh. Để tối u cho mục đích sử dụng trong thiết bị điều khiển, trên chip thờng có thêm cả bộ điều khiển vào ra (IO) và một số ngoại vi thông dụng (AD, DA, counter, timer .). Các chip này thờng đợc sử dụng rộng rãi vì giá thành rẻ, tính năng phong phú. Độ rộng BUS địa chỉ Là số bit đợc sử dụng trên bus địa chỉ. Bus địa chỉ càng rộng thì khả năng địa chỉ hóa vùng nhớ càng lớn, CPU càng có khả năng điều khiển và sử dụng một lợng lớn bộ nhớ (dữ liệu hoặc chơng trình). Tuy nhiên: Bus địa chỉ càng rộng, mạch giải mã địa chỉ càng phức tạp và giá thành hệ thống càng đắt. Tùy theo ứng dụng, ngời ta sử dụng bus địa chỉ lớn (máy vi tính) hoặc nhỏ (vi điều khiển) VD: Bus địa chỉ 16 bits, 32 bits, 64 bits. Độ rộng BUS dữ liệu ĐN: Độ rộng bus số liệu đợc định nghĩa bằng số bit của bus số liệu (data). Trong một chu kỳ xử lý, CPU có thể đồng thời ghi/đọc = số bit của bus data. Do vậy, bus data càng rộng, khả năng trao đổi dữ liệu giữa CPU và các khối khác càng cao. Số bit xử lý: Là số bit của bộ xử lý số học và các khối khác trong CPU (thanh ghi). Bộ xử lý càng nhiều bit, tốc độ xử lý càng cao. Tuy nhiên, kích thớc, độ phức tạp và giá thành VXL tăng bình phơng theo số bit của bộ xử lý. Vì vậy, tùy theo ứng dụng mà ngời ta sẽ tối u theo giá hay theo tốc độ. 4 III. Cấu trúc cơ bản của máy vi tính *) Sơ đồ khối của máy vi tính. Hình: Cấu trúc cơ bản máy vi tính *) Chức năng và cấu trúc các phân hệ. +) Phân hệ khởi động: Bộ nhớ ROM khởi động, mạnh Reset= mạch Reset tạo tín hiệu Reset. Đặt địa chỉ của bộ nhớ địa chỉ về giá trị ban đầu. *) Các phơng pháp khởi động CPU: - Khởi động cứng : +Mach Reset: Tự động khởi động CPU khi hệ VXL đợc cấp nguồn + Nút Reset: Khởi động lại CPU theo yêu cầu NSD + Watchdog: Khởi động lại CPU khi phát hiện có lỗi. Thờng chỉ có ở các hệ VXL chuyên dụng. - Khởi động mềm - Ctrl+Alt+Delete. Tạo ra một lệnh ngắt có thể che đợc. - Interrupt: Có thể tạo ngắt này bằng chơng trình. *)Clock và CPU: Điều khiển các thiết bị vào ra thực hiện chơng trình, clock tạo ra các xung nhịp trong hệ thống. 5 CPU Nguồn Phân hệ khởi động Clock Bộ nhớ trong Thiết bị vào ra CMOS - Có rất nhiều loại xung nhịp khác nhau. FSB: xung nhịp Bus nội bộ. Tốc độ làm việc giữa các thiết bị 400MHz RAM: 266MHz. IO: PCIclock. 33 MHz ISAclock. 1,19MHz(rất thấp) UART: 11,0592MHz Thờng sử dụng bộ tạo dao động bằng thạch anh(Quart - crystal) để bảo đảm độ ổn định cao xung nhịp (clock). Để tạo tần số xung nhịp cao hơn so với tần số thạch anh, ngời ta sử dụng các bộ nhân tần. Để tạo các tần số thấp hơn tần số thạch anh, sử dụng các bộ chia tần. *) Bộ nhớ: Các loại bộ nhớ cơ bản: + BIOS: Vùng Rom chứa chơng trình cơ bản và khởi động. Bios có 2 chức năng cơ bản: BOOT: đợc thực hiện ngay khi máy tính khởi động. Quá trình boot bao gồm: kiểm tra sự hoạt động bình thờng của các thiết bị ngoài cơ bản, nạp các dịch vụ cơ bản, tìm đến đĩa khởi động và nạp hệ điều hành Cung cấp các dịch vụ cơ bản cho hệ điều hành. Bios có chức năng nh phần sụn của máy tính. Nhờ có các dịch vụ cơ bản này, các nền (plaform) phần cứng khác nhau có thể sử dụng chung một phơng pháp thực hiện các thao tác cơ bản, giúp xóa bỏ sự khác nhau giữa các phần cứng. + External ROM: Chơng trình ngoài( gắn theo card ngoài). Khi gắn thêm các thiết bị ngoài, cần có các chơng trình điều khiển hoặc khởi động cho cho các thiết bị đó. + RAM: Chứa dữ liệu và chơng trình: chia thành các vùng Basic Memory: O . . 640KB. EMS. .( Exanded Memory) Vùng nhớ mở rộng: Bắt đầu từ vùng địa chỉ >1MB. Muốn sử dụng phải có chơng trình điều khiển. File: 6 Himensys EMM286.EXE Extended Memory. - Cache ( bộ nhớ đệm). *). Thiết bị vào ra - Bộ điều khiển đĩa: HDD: IDE/ SCSI/SATA(giao diện) - FDD. - Thiết bị vào ra khác. * CMOS : Giữ lại thông tin về cấu hình động của máy về đĩa, màn hình, Mboard. - thời gian(Cmos fải có pin dùng cho đồng hồ) Hệ điều hành Chức năng: Tạo ra môi trờng cho các chơng trình ứng dụng hoạt động, đợc thực hiện bằng các dịch vụ lớp hệ điều hành) Các chức năng của hệ điều hành đợc chia thành các nhóm sau: +) Thiết bị vào ra số liệu: Thiết bị lu trữ( nhớ) có chỉ mục đủ(bàn phím, chuột, màn hình. :thiết bị giao tiếp NSD. Lớp mạng, truyền thông (với dos không có) thiết bị trao đổi thông tin. +)Quản lý tài nguyên: Quản lý khả năng lv của máy tính RAM, CPU, IO. +) giao tiếp NSD +) Phân chia cấu trúc: Hệ điều hành đơn nhiệm (Single Tasking). Một hệ điều hành là đơn nhiệm nếu: - Chỉ giao tiếp với một ngời sử dụng 7 - Làm việc với 1 I/0 - Làm việc với 1 CPU. Chỉ làm việc với một bài toán do thiết bị vào ra chỉ làm việc với một bài toán CPU thờng xuyên phải chờ lệnh hiệu suất sử dụng giảm. Có những lúc phải làm việc với nhiều thiết bị đòi hỏi đáp ứng về thời gian và tiến hành xen kẽ hoặc song song. Khi đó, ngời ta có thể thiết kế đặc biệt để 2 chơng trình có thể chạy xem kẽ nhau. Tuy nhiên, giữa các chơng trình đang chạy có mối liên hệ trực tiếp với các chơng trình khác. Một chơng trình có thể can thiệp vào vùng nhớ, IO hoặc tài nguyên mà chơng trình khác đang sử dụng. Hệ điều hành đa nhiệm (Multi tasking) - Có thể tiến hành nhiều tiến trình song song mà không ảnh hởng đến nhau. (chỉ cần một máy nhng đợc tách ra nhiều máy tính ảo và các tài nguyên đợc chia cho nhiều máy tính ảo và cổng vào ra mỗi máy tính ảo sẽ sử dụng một hay vài trong các cổng đó). Thời gian xử lý của máy tính đợc coi nh tài nguyên và đợc phân chia hợp lý giữa các tiến trình. Hệ điều hành đa nhiệm có thể chạy trên một hoặc nhiều CPU đồng thời. Đa chơng trình nhiều tiến trình cùng thực hiện trong cùng một thời điểm. Các chơng trình độc lập tơng đối so với nhau. Các hệ điều hành đa nhiệm thông dụng - UNIX - LINUX - NOVEL NETWARE - WINDOWS NT Các hệ điều hành đa nhiệm thờng đợc sử dụng nh máy chủ trong mạng máy tính. Trong đó, có nhiều chơng trình cùng đồng thời đợc thực hiện , phục vụ nhiều dịch vụ khác nhau, nhiều client khác nhau. Hệ điều hành DOS: Là hệ điều hành đơn nhiệm phổ biến nhất (trớc khi các hệ điều hành đa nhiệm nh Windows NT trở nên phổ biến). DOS INTERRUPT: 8 20H: Terminate program 21H: DOS service 25H/ 26H: Absolute disk Read/ write:Đọc trực tiếp và ghi 27H: Thờng trú (kết thúc chơng trình thờng trú) 28H: Time slice: ngắt 19 lần/ 1s 2EH: DOS command 2FH: Multiplex intterrupt 33H: Mouse support: Hỗ trợ chuột 67H: EMS manager: Lệnh quản lý vùng nhớ. Khái niệm cơ bản về truy cập thiết bị Các phơng pháp truy cập thiết bị ngoài: Kỹ thuật hỏi vòng: - Chơng trình cần thực hiện nhiều đầu vào/ra đồng thời. Chơng trình sẽ thực hiện thao tác lần lợt từng đầu vào/ra theo một trình tự xác định. Ưu điểm: - Trình tự kiểm tra cố định, không có hiện tợng chạy đua, chồng chéo giữa các thiết bị --> độ tin cậy cao. - Các thiết bị đợc quét lần lợt, nên không có hiện tợng bỏ sót đầu vào. - Thích hợp với tải cao (request liên tục). Nhợc điểm: - Không thiết lập đợc u tiên giữa các đầu vào ra - Một đầu vào ra không có thông tin vẫn đợc quét với cùng chu kỳ, do vậy không tiết kiệm đợc CPU - Thời gian đáp ứng chậm. Sử dụng ngắt: - Bình thờng CPU ở trạng thái nghỉ. Khi có một thiết bị nào đó có thông tin cần trao đổi (request), thiết bị sẽ tạo ra một ngắt. CPU sẽ đáp ứng ngắt và kiểm tra thiết bị tơng ứng. 9 - Ưu điểm: o Đáp ứng với yêu cầu nhanh nhất. o Tiết kiệm thời gian CPU: CPU sẽ hoàn toàn không tốn lệnh nếu không có yêu cầu của thiết bị. o Thích hợp với các yêu cầu phản ứng nhanh, bất thờng, không liên tục. - Nhợc điểm: - Nếu trong cùng một thời điểm có 2 yêu cầu đồng thời, sẽ có tranh chấp thời gian. - Nếu số lợng yêu cầu lớn hơn khả năng xử lý, sẽ xảy ra hiện tợng tràn ngắt, gây treo hệ thống Sử dụng DMA. Khi lợng dữ liệu cần chuyển rất lớn, các phơng pháp trao đổi trên trở nên kém hiệu quả vì số lệnh cần có/1 đơn vị dữ liệu truyền lớn. Để tăng hiệu quả, CPU cho phép thiết bị ngoài chiếm quyền điều khiển BUS và trực tiếp ghi/đọc dữ liệu từ RAM. Phơng pháp này đợc gọi là DMA (Direct Memory Access) Các phơng pháp ghép nối: - Truy nhập trực tiếp bus số liệu: - Sử dụng các cổng truyền thông: RS232. Cổng song song cho phép truyền dữ liệu 8 bít song song. 10 . thống ghép nối máy tính thiết bị ngoại vi a. Cấu trúc máy tính và các phơng pháp ghép nối b. Truy nhập thông qua BUS số liệu c. Sử dụng ngắt d. Cổng nối. Nắm đợc nguyên tắc ghép nối thiết bị và trao đổi thông tin giữa thiết bị ngoài với máy tính. Tác dụng: - Ghép nối thiết bị ngoài với máy tính - Xây dựng các