Ệ Ử Ề Ô ĐH CNKT ĐI Ệ N T Ử TRUY Ề N TH Ô NG K5 Giản g viên: KiềuXuân Th ự c Khoa Điện tử Đại học công nghiệp Hà Nội THÔNG TIN CHUNG MÔN HỌC Giảng viên: Họ tên: KIỀUXUÂNTHỰC Email: thuckx@yahoo.com; VP: Tầng 12-A1 Mục tiêu môn học: Biểudiễn thông tin trong máytính Biểu diễn thông tin trong máy tính Cấutrúc & hoạt động của máytính dựa trên vixửlý Bộ vixử l ý 8086: cấutrúcvà n g u y ên l ý hoạt độn g ý gy ý g Lập trình hợp ngữ (assembly) cho vixửlý họ 80x86 Bộ nhớ & ghép nối bộ nhớ với vixửlýVà / dữ liệ Và o / ra dữ liệ u Ngắt vàxửlý ngắt của 8086 ¾ Phân tích/Thiết kế được các hệ thống đo HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering ¾ Phân tích/Thiết kế được các hệ thống đo lường/điều khiển sử dụng 8086 2 THÔNG TIN MÔN HỌC Giáo trình và tài liệu tham khảo: 1. N g ô Diên Tập ( Chủ biên ) , “Giáo trình Vixử l ý vàcấutrúc g ( ) ý MT”, NXB Giáo dục, 2007. 2 Barry B Brey “ The Intel microprocessor 8086/8088 80186 2 . Barry B . Brey , The Intel microprocessor 8086/8088 , 80186 /80188, 80286, 80386, 80486, Pentium, Pentium Pro – Architecture, Programming and Interfacing”, Practice Hall, 4 th edition 1997 4 th edition , 1997 . 3. M.M. Mano, C. R. Kime, “Lo g ic and com p uter desi g n gpg fundamentals”, Practice Hall, 2004. HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 3 Phần mềm cần thiết: 8086 emulator 8086 emulator Proteus Đánh giá: Đánh giá quá trình (kiểm tra, thí nghiệm, chuyên cần, thi giữa kỳ): hệ số 1 Thi kết thúc HP (project + vấn đáp): hệ số 2 Thi kết thúc HP (project + vấn đáp): hệ số 2 HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 4 YÊU CẦU ĐỐI VỚI SINH VIÊN 1 Đọc kỹ bài trong giáo trình trước khi đến 1 . Đọc kỹ bài trong giáo trình trước khi đến lớp 2. Làm các bài tập cuối mỗi chương và đọc tài liệu tham khảo theo yêu cầu tài liệu tham khảo theo yêu cầu 3. Hiểu bài tại lớp 3. Hiểu bài tại lớp HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 5 CHƯƠNG 1 TỔNG Q UAN VỀ KIẾN TRÚCMÁYTÍNH Q Nội dung: 1. Lịch sử phát triển của máytính 2. Thông tin & biểu diễn thông tin trong MT ế ú ể ì 3. Ki ế n tr ú c MT đi ể n h ì nh 4. Các thiết bị ngoại vi thông dụng HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 1. Lịch sử phát triển của MT Thế hệ máytính cơ khí: Khoảng 500 năm trước Công nguyên người Babylon đã Khoảng 500 năm trước Công nguyên , người Babylon đã chế tạo đượcmáytínhđầutiêncótênlà Abacus Nă 1643 Bl i P l hế t MT t bởi á bá h Nă m 1643 , Bl a i se P asca l c hế t ạo MT t ạo bởi c á c bá n h răng, trong đósố răng củabánhnọ gấp 10 lầnsố răng của bánh kia, nguyên lý này sau đượcsử dụng để chế tạo các đồng hồ đo quãng đường của motor đồng hồ đo tạo các đồng hồ đo quãng đường của motor , đồng hồ đo điện/nước… HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 8 Thế hệ máytính cơ điện - điện tử: Năm 1889 Herman Holerith phát minh ra card đụclỗ dùng để lưutrữ Năm 1889 , Herman Holerith phát minh ra card đục lỗ dùng để lưu trữ dữ liệu, sau đó ông chế tạo MT cơ khí được điều khiển bởi một motor điện, nó có thể thực hiện được các phép đếm, sắp xếp và so sánh thông tin lưu trong card đục lỗ. Năm 1942, Konrad Zure chế tạo ra máytính điện tử Z3 dùng cho không quân Đức. Năm 1943, Alan Turing phát minh ra hệ thống MT điện tử có tên là Cll đ thiếtkế từ á đè điệ tử hâ khô đâlà ộtá C o ll ossus đ ược thiết kế từ c á c đè n điệ n tử c hâ n khô ng, đâ y là m ột m á y tính chuyên dụng thực hiện theo một chương trình cố định để giải mã các bí mật quân sự của Đức quốc xã. Máytính điệntử đadụng đầutiên – hệ MT lậptrìnhđược − được phát Máy tính điện tử đa dụng đầu tiên hệ MT lập trình được được phát triển bởi Đại học Pennsylvania có tên là ENIAC (Electronics Numerical Integrator And Calculator). Đây là một MT lớn chứa hơn 17000 đèn điện tử, nặng 30 tấn và có thể thực hiện được 100.000 thao tác /s. ENIAC đ lậ tì hbằ áh ốil i h điệ bởiá ô hâ HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering ENIAC đ ược lậ p t r ì n h bằ ng c á c h n ối l ạ i mạc h điệ n bởi c á c c ô ng n hâ n. 9 Thế hệ máytính dùng vixử lý: Năm 1948, transistor được phát minh, đếnnăm 1958, Jack Kilb hát ih h tổ hợ ơ ở để hát tiể á IC Kilb yp hát m i n h ra mạc h tổ hợ p–c ơ s ở để p hát t r iể nc á c IC số. Năm 1971, Marcian T.Hoff mộtkỹ sư củaIntel đãthiếtkế ra bộ VXL 4004 – mở đầu cho thời kỳ sử dụng VXL trong máy bộ VXL 4004 mở đầu cho thời kỳ sử dụng VXL trong máy tính. 4004 là bộ VXL 4 bit, bên trong nó gồm 2300 transistor, có thể quảnlýđượcbộ nhớ có 4096 (4K) ô nhớ 4 bit, tậplệnh của 4004 gồm 45 lệnh khác nhau, nó đượcchế tạotheocông hệ MOS FET kê h P ó tố độ ử lý là 50KIPS (Kil n ghệ MOS - FET kê n h P c ó tố c độ x ử lý là 50KIPS (Kil o Instruction Per Second – nghìn lệnh/giây). 4004 được dùng để thiếtkế các hệ thống video game, MT bỏ túi, hệ thống điều khi ể nnh ỏ dù n g VXL. ể ỏ dù g Trên cơ sở 4004, hãng Intel sảnxuấtbộ VXL 4040, đây cũng là bộ VXL 4 bit nhưng có tốc độ cao hơn 4004. HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 10 Sau năm 1971, Intel sản xuất bộ VXL 8 bit tên là 8008: quản lý được 16KB bộ nhớ, tập lệnh gồm 48 lệnh. ầ Năm 1973, hãng Intel giới thiệu bộ VXL 8 bit hiện đại đ ầ u tiên có tên là 8080, tốc độ xửlý là 500KIPS, quản lý được 64KB bộ nhớ. Năm 1977, Intel phát triển bộ vixửlý 8085 (tương thích với Z80 của hãng Zilog) là bộ VXL 8 bit đadụng nhanh hơn 8080. bộ VXL 8 bit đa dụng nhanh hơn 8080. Năm 1978, Intel giới thiệu bộ VXL16 bit tên là 8086 có tốc độ xửlý là 2,5MIPS (Millions Instruction Per Second – triệu lệnh/giây) và có thể quản lý được 1MB bộ nhớ. Bộ vixửlý 80286 cũng là bộ VXL16 bit ể nhưng nó có th ể quản lý được tới 16MB bộ nhớ. Năm 1986, Intel giới thiệu VXL 32 bit có tên là 80386 có thể quản lý được 4GB bộ nhớ. Năm 1989, Intel giới thiệu bộ VXL 80486 có thể thựchiện được 50MIPS Năm 1993 Intel giớithiệu 80586 (còn gọilà thực hiện được 50MIPS . Năm 1993 , Intel giới thiệu 80586 (còn gọi là Pentium) có thể thực hiện được 110MIPS và có thể thực hiện được đồng thời một lúc hai lệnh (hai lệnh độc lập nhau) vì bên trong có tới hai bộ xửlý số nguyên (công nghệ superscalar). HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 11 Năm 2003, Intel đã xuất xưởng VXL Pentium IV có tốc độ 3,06MHz với kiến trúc đa luồng (HT − hyper threading − đa luồng – 01 VXL vật lý t ơng đơng nh 02 VXL logic) để nâng cao hiệ s ấtsử d ng các t ư ơng đ ư ơng nh ư 02 VXL logic) để nâng cao hiệ u s u ất sử d ụ ng các khối chức năng bên trong VXL. Việc tăng tần số làm việc của các VXL để tăng tốc độ làm việc của máytính cũng đã đếnmứctớihạn nên các hãng sảnxuất đã chuyểntừ tính cũng đã đến mức tới hạn nên các hãng sản xuất đã chuyển từ hướng tăng tần số làm việc sang thiết kế các bộ VXL nhiều lõi/ nhân, mỗi bộ VXL lúc này thực chất là nhiều bộ VXL (multi core – nhiều lõi) đóng vỏ chung trong một vi mạch. ầ ấ ắ Đầ u năm 2006, Intel đã xu ấ t xưởng bộ VXL 64 bit hai nhân, gọi t ắ t là duo (viết tắt của dual core – hai lõi) Các bộ vixửlý bốn nhân (quad core) được SX: core i5, i7 … HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 12 2. Thông tin & biểu di ễ n thông tin trong M T CÁC HỆ ĐẾM: Hệ thập phân : dùng các số trong phạm vi từ 0 Hệ thập phân : dùng các số trong phạm vi từ 0 đến9 để biểudiễncácgiátrị. Vd: 5934 = 5.10 3 + 9.10 2 + 3.10 1 + 4.10 0 Hệ nhị phân: chỉ sử dụng 2 số là 0 và 1 để biểu diễncácgiátrị số. Vd : 101011 = 12 5 +02 4 +12 3 +02 2 +12 1 +12 0 = 43 trong Vd : 101011 1 . 2 + 0 . 2 + 1 . 2 + 0 . 2 + 1 . 2 + 1 . 2 43 trong hệ thập phân. Hệ thậplục phân: hệđếmcơ số 16 sử dụng các số từ 0 đến 9 và các chữ cái từ A đến F để biểu số từ 0 đến 9 và các chữ cái từ A đến F để biểu diễncácsố. HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 13 Bảng 1.2. Tương quan giữa hệ thập phân và hệ thập lục phân Hệ thập phân Hệ thập lục phân Hệ thập phân Hệ thập lục phân 0 0 9 9 1 1 10 A 2 2 11 B 3 3 12 C 3 3 12 C 4 4 13 D 5 5 14 E 6 6 15 F 7 7 16 10 8 8 17 11 Vd: FA9h = 15.16 2 + 10.16 1 + 9.16 0 = 409 trong hệ thập phân. HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 14 CHUYỂN ĐỔI HỆ ĐẾM Hệ 2 sang hệ 10 (b n b n 1 .b 1 b 0 )B = b n × 2 n + b n 1 × 2 n-1 + + b 1 × 2 1 + b 0 × 2 0 (b n b n - 1 … .b 1 b 0 )B b n × 2 + b n - 1 × 2 + … + b 1 × 2 + b 0 × 2 Hệ 10 sang hệ 2 Số nguyên: Lấy số cần chuyển chia cho 2 và ghi nhớ phần dư, tiếp theo lấy thương của phép chia trước đó chia cho 2 và ghi nhớ phần dư cứ tiếp tục cho đến khi thương bằng 0. Kết quả của phép chuyển đổi chính là dãy các số dư lấy theo thứ tự đả đả o ngược. Số thực: •Phần n g u y ên: như chu yể n số n g u y ên gy y gy •Phần thập phân: nhân 2, ghi nhớ phần nguyên, tiếp theo lấy phần thập phân nhân 2 và ghi nhớ phần nguyên… Kết quả của p hé p chu yể n đ ổ i chính là dã y các số p hần n g u y ên của HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering pp y y p gy các phép nhân. 15 HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 16 Hệ 16 sang hệ 10: như 2 sang 10 Hệ 10 hệ 16 hư 10 2 Hệ 10 san g hệ 16 : n hư 10 san g 2 Hệ 2 hệ 16 hó 4 bi ừ ái Hệ 2 san g hệ 16 : n hó m 4 bi t t ừ tr ái qua phải, đổi từng nhóm một sang hệ 16. Hệ 16 hệ 2 táh ỗi ố từ tái Hệ 16 san g hệ 2 : tá c h m ỗi s ố từ t r ái qua phải để đổi thành từng nhóm 4 bit HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 17 Các phép toán số học với số hệ nhị phân Phép cộng 0 + 0 0 0 + 1 1 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 nhớ 1 Phé ừ Phé p tr ừ Phép nhân 0 × 0 = 0 0 × 1 = 0 1 × 0 = 0 1 × 1 = 1 Phép chia HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 18 CÁC MÃ THÔNG DỤNG Mã BCD: để mã hoá các chữ số từ 0 đến9 trongvi xử l ý , PLC , … ý ,, Mã ASCII: American Standard Code for Internationnal Interchange Bảng mã ASCII tiêu chuẩn sử dụng 7 bit để mã hoá các ký tự Bảng mã ASCII tiêu chuẩn sử dụng 7 bit để mã hoá các ký tự thông dụng, như vậybảng này sẽ có 128 ký tựứng vớimãtừ 0 đến 127. Bản g mã ASCII mở r ộ n g bổ sun g thêm 128 k ý t ự đ ặ cbi ệ tvớimã g ộ g g ý ự ặ ệ từ 128 đến 255. VD: mã ASCII của ‘A’ là 65 (01000001), của ‘a’ là 97 (01100001). Mã Unicode: Hi ệp h ộ i Unicode xuất bản p hiên bản đầu ệp ộ p tiên củachuẩn Unicode năm 1991, và vẫn liên tục hoàn thiện chuẩn (hiện nay đã đến phiên bản 4.0) HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 19 3. Kiến trúc MT điển hình HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 20 21 Bộ vixửlý Bộ VXL (microprocessor) hay còn được gọi là CPU ( Central Processin g Unit − đơn v ị xử l ý trun g tâm ) là (g ị ýg) một vi mạch số với mức độ tích hợp cực lớn (VLSI) bên trong nó bao gồm nhiều khối chức năng khác nhau như đơn v ị số n g u y ên để thao tác tính toán với ị gy các số nguyên, đơn vịxửlý dấu phảy động để thực hiện các phép tính với số thực… Khi hoạt động VXL đọc mã lệnh (mã lệnh được ghi Khi hoạt động , VXL đọc mã lệnh (mã lệnh được ghi dưới dạng chuỗi các bit 0, 1) từ bộ nhớ, đưa vào trong VXL để giải mã thành các vi lệnh - là những xung điều khiển để điều khiển hoạt động của các đơn vị chức khiển để điều khiển hoạt động của các đơn vị chức năng bên trong VXL. HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 22 Các thông số quan trọng củamộtbộ vixử lý: Tần số làm việc : là tần số xung nhịp (clock) cung Tần số làm việc : là tần số xung nhịp (clock) cung cấpchoVXL, tầnsố này quyết định đếntốc độ làm việccủa VXL. Độ ộng bs dữ liệ m là số đường dâ dùng để Độ r ộng b u s dữ liệ u m : là số đường dâ y dùng để truyềndữ liệukýhiệutừ D 0 đếnD m-1 . Các giá trị của m: 4, 8, 16, 32 và 64. Độ rộn g bus địachỉ n: quyết định đếndun g lượn g bộ nhớ cực đạimàvi xửlý có thể quảnlýđược. Mộtbộ VXL có n đường địachỉ từ A 0 đếnA n - 1 có ỗ 0 n 1 thể quảnlýđược2 n ô nhớ (m ỗ iô nhớ thườn g là một byte). Các giá trị của n: 16, 20 và 32. HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 23 Bộ nhớ Bộ nhớ (bộ nhớ trong, bộ nhớ chính) tạo từ các vi m ạ ch nhớ ROM và RAM là nơi chứa các chươn g trình ạ g cần thực thi. ROM (Read Only Memory – bộ nhớ chỉ đọc), nội dung bên trong của ROM không bị mất khi mất nguồn nuôi bên trong của ROM không bị mất khi mất nguồn nuôi . ROM dùng để chứa các chương trình điều khiển hệ thống: chương trình khởi động máy, các chương trình điều khiển trao đổi tin như bàn phím màn hình điều khiển trao đổi tin như bàn phím , màn hình ,… RAM (Random Access Memory – bộ nhớ truy cập ngẫu nhiên) là bộ nhớ có thể ghi/đọc được, nội dung thông ti hi t bộ hớ RAM ẽ bị ất khi ất ồ ti n ghi t ron g bộ n hớ RAM s ẽ bị m ất khi m ất n g u ồ n cung cấp. RAM được dùng để lưu trữ mã lệnh, toán hạng và kết HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering quả của chươn g trình khi nó đan g được thực hiện. 24 Mạch ghép nối vào/ra Mạch ghép nối vào/ra: tạo ra khả năng giao tiếp giữa hệ VXLvới thế giới bên ngoài. Các thiết bị vào/ra (hay còn g ọi là thiết bị n g oại vi) bao g ồm các thiết bị vào (bàn phím, chuột, máy quét…), thiết bị ra (màn hình, má y in, má y vẽ… ) , các thiết bị lưu trữ ( còn g ọi là bộ yy) (g nhớ ngoài) dùng để lưu thông tin với khối lượng lớn như ổ đĩa cứng, ổ đĩa CD, ổ đĩa DVD… Mạch ghép nối vào/ra có thể là một vi mạch cỡ nhỏ Mạch ghép nối vào/ra có thể là một vi mạch cỡ nhỏ như 8255 để ghép nối song song, 8251 để ghép nối nối tiếp… Trong máytính hiện nay mạch ghép nối vào/ra là Trong máytính hiện nay mạch ghép nối vào/ra là những VLSI gọi là chipset, VD: chipset 848P cho phép ghép nối giữa VXL với cổng đồ hoạ tốc độ cao AGP 8x, ới ổ đĩ ứ kiể SATA ới hệ thố â th h 51 HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering v ới ổ đĩ a c ứ n g kiể u SATA , v ới hệ thố n g â m th an h 5 . 1 , với các thiết bị vào/ra qua cổng USB 2.0… 25 Bus hệ thống Bus hệ thống: tậphợpcácđường dây dùng để liên lạc g iữacáckhốichứcnăn g tron g h ệ thốn g . g g g ệ g Dựavàochứcnăng củacácđường dây ngườitachia chúng làm 3 nhóm: Bus dữ liệu : các đường dây mang số liệu mà VXL đang Bus dữ liệu : các đường dây mang số liệu mà VXL đang trao đổivớibộ nhớ hoặcthiếtbị vào/ra. Bus địachỉ mang thông tin vềđịachỉ củaô nhớ hay một thiết bị vào / ra mà VXL đang trao đổi tin Thông tin về thiết bị vào / ra mà VXL đang trao đổi tin . Thông tin về địachỉ là do VXL phát ra để chọnramộtô nhớ hoặcmột thiếtbị vào/ra mà nó cầntraođổitin. Bus điều khiển : các đường dây mang các tín hiệu điều khiển Bus điều khiển : các đường dây mang các tín hiệu điều khiển hoạt động hoặcphảnánhtrạng thái củacáckhốinhư /RD (read - đọcbộ nhớ hoặcthiếtbị vào), /WR (write - ghi dữ liệuvàobộ nhớ hoặc xuất dữ liệu ra thiết bị ra ), INT (interrupt – ngắt VXL HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering nhớ hoặc xuất dữ liệu ra thiết bị ra ), INT (interrupt ngắt VXL để trao đổidữ liệu)… 26 4. Các thiết bị ngoại vi thông dụng BÀN PHÍM CHUỘT CHUỘT MÀN HÌNH M Á Y IN HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 27 Trả lời các câu hỏi & làm các BT cuối chương 1 của Giáo trình chương 1 của Giáo trình . Đọc Chapter 10 từ 10 1 đến 10 7 Tài Đọc Chapter 10 , từ 10 . 1 đến 10 . 7 – Tài liệu tham khảo số 3. Đọc trước Chương 2 của Giáo trình. HANOI UNIVERSITY OF INDUSTRY Faculty of Electronic Engineering 29 . học: Biểudiễn thông tin trong máy tính Biểu diễn thông tin trong máy tính Cấu trúc & hoạt động của máy tính dựa trên vi xử lý Bộ vi xử l ý 8086: cấu trúc và n g u y ên l ý hoạt. gy ý g Lập trình hợp ngữ (assembly) cho vi xử lý họ 80x86 Bộ nhớ & ghép nối bộ nhớ với vi xử lý Và / dữ liệ Và o / ra dữ liệ u Ngắt và xử lý ngắt của 8086 ¾ Phân tích/Thiết kế được. K5 Giản g vi n: Kiều Xuân Th ự c Khoa Điện tử Đại học công nghiệp Hà Nội THÔNG TIN CHUNG MÔN HỌC Giảng vi n: Họ tên: KIỀU XUÂN THỰC Email: thuckx@yahoo.com; VP: Tầng 12-A1 Mục tiêu môn học: Biểudiễn