Bài giảng Vi xử lý 1 - ĐH Sư Phạm Kỹ Thuật Nam Định
lượt xem 10
download
Bài giảng Vi xử lý 1 là trang bị cho sinh viên kiến thức cơ bản về kiến trúc của hệ vi xử lý, quy trình làm việc và lập trình điều khiển hoạt động hệ vi xử lý. Trên cơ sở đó, sinh viên có khả năng thiết kế phần cứng, viết phần mềm điều khiển hệ vi xử lý chuyên dụng dựa trên các IC vi xử lý và vi điều khiển thông dụng.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Vi xử lý 1 - ĐH Sư Phạm Kỹ Thuật Nam Định
- Bé lao ®éng th¬ng binh x· héi Trêng ®¹i häc s ph¹m kü thuËt nam ®Þnh KHOA §IÖN - ®IÖN Tö chñ biªn: ph¹m xu©n B¸ch Gi¶n quèc anh TËp bµi gi¶ng Vi xö lý 1 nam ®Þnh, n¨m 2012
- Bµi gi¶ng m«n häc: Vi xö lý1 Mục lục LỜI MỞ ĐẦU Ch¬ng 1: KiÕn tróc hÖ vi xö lý ................................................................................... 1 1.1. Tæ chøc hÖ Vi xö lý.............................................................................................. 1 1.1.1. M¸y vi tÝnh.................................................................................................... 1 1.1.2. LÞch sö ph¸t triÓn cña c¸c bé vi xö lý. .......................................................... 2 1.2. S¬ ®å khèi cña hÖ vi xö lý. ................................................................................... 7 1.3 Chøc n¨ng c¸c khèi ............................................................................................... 7 1.3.1. §¬n vÞ xö lý trung t©m .................................................................................. 7 1.3.2. Bé nhí trung t©m .......................................................................................... 8 1.3.3. ThiÕt bÞ xuÊt nhËp th«ng tin .......................................................................... 8 1.3.4. HÖ thèng Bus ................................................................................................ 9 C©u hái vµ bµi tËp ch¬ng 1 ......................................................................................... 9 Ch¬ng 2: Bé vi xö lý 80x86 Intel .............................................................................. 10 2.1. CÊu tróc bªn trong vµ ho¹t ®éng cña bé vi xö lý 80x86 .................................... 10 2.1.1. Giíi thiÖu vÒ bé vi xö lý Intel 80x86 .......................................................... 10 2.1.2. Giíi thiÖu vÒ cÊu tróc bªn trong cña vi xö lý 8086 ..................................... 11 2.2. C¸c chÕ ®é ®Þnh ®Þa chØ cña bé vi xö lý 80x86 .................................................. 22 2.3. C¸ch m· ho¸ lÖnh cña bé vi xö lý 80x86 ........................................................... 24 2.4. TËp lÖnh cña bé vi xö lý 80x86 .......................................................................... 25 2.4.1. Nhãm lÖnh sè häc ....................................................................................... 25 2.4.2. Nhãm lÖnh logic: ........................................................................................ 28 2.4.3. Nhãm lÖnh di chuyÓn: ................................................................................ 32 2.4.4. Nhãm lÖnh so s¸nh vµ rÏ nh¸nh ch¬ng tr×nh: ........................................... 35 2.4.5. Nhãm lÖnh xö lý to¸n h¹ng bÝt: .................................................................. 37 2.5. Chu tr×nh thùc hiÖn lÖnh ..................................................................................... 37 2.5.1. Chu kú bus ®äc: .......................................................................................... 38 2.5.2. Chu tr×nh ghi: .............................................................................................. 39 2.5.3. Chu kú nhËn vµ thùc hiÖn lÖnh ................................................................... 39 C©u hái vµ bµi tËp ch¬ng 2 ....................................................................................... 41 Ch¬ng 3: LËp tr×nh hîp ng÷ cho hÖ vi xö lý ........................................................... 42 3.1 C¸c thµnh phÇn c¬ b¶n cña ch¬ng tr×nh hîp ng÷ .............................................. 43 3.1.1. Bé ký tù, tõ kho¸, nh·n ............................................................................... 43 3.1.2. CÊu tróc dßng lÖnh hîp ng÷ ........................................................................ 43 3.1.3. C¸c chØ dÉn vµ khai b¸o trong ch¬ng tr×nh hîp ng÷ ................................. 44 3.1.4. BiÕn vµ h»ng ............................................................................................... 46 i
- TËp bµi gi¶ng Vi xö lý1 3.1.5. Khung cña ch¬ng tr×nh hîp ng÷: .............................................................. 48 3.2. C¸c cÊu tróc lËp tr×nh c¬ b¶n b»ng hîp ng÷ ....................................................... 50 3.2.1. CÊu tróc tuÇn tù ........................................................................................... 50 3.2.2. CÊu tróc lÆp ................................................................................................. 50 3.2.3. CÊu tróc lùa chän ........................................................................................ 53 3.3. C¸c bíc lËp tr×nh trªn m¸y tÝnh ........................................................................ 55 3.3.1. So¹n th¶o ch¬ng tr×nh ............................................................................... 60 3.3.2. DÞch vµ liªn kÕt ch¬ng tr×nh ...................................................................... 62 3.3.3. M« pháng vµ ch¹y ch¬ng tr×nh ................................................................. 65 3.4. VÝ dô vµ bµi tËp c¬ b¶n lËp tr×nh cho vi xö lý 8086 ........................................... 70 C©u hái vµ bµi tËp ch¬ng 3 ....................................................................................... 74 Ch¬ng 4: GhÐp nèi bé nhí vµ tæ chøc vµo ra d÷ liÖu cho 80x86 ........................... 75 4.1. Giíi thiÖu c¸c m¹ch phô trî cho 80x86 ............................................................. 75 4.1.1. M¹ch t¹o xung nhÞp 8284 ........................................................................... 75 4.1.2. M¹ch ®iÒu khiÓn bus 8288 .......................................................................... 76 4.2. GhÐp nèi 80x86 víi bé nhí ................................................................................ 78 4.2.1. Giíi thiÖu vÒ c¸c lo¹i bé nhí b¸n dÉn......................................................... 78 4.2.2. Gi¶i m· ®Þa chØ bé nhí ................................................................................ 81 4.2.3. GhÐp nèi 80x86 víi bé nhí......................................................................... 82 4.3. GhÐp nèi 80x86 víi thiÕt bÞ ngo¹i vi ................................................................. 86 4.3.1. C¸c ph¬ng ph¸p ®iÒu khiÓn vµo ra d÷ liÖu ................................................ 86 4.3.2. Gi¶i m· ®Þa chØ cho thiÕt bÞ vµo ra .............................................................. 86 4.3.3. M¹ch ®Þnh thêi 8254 ................................................................................... 86 4.3.4. M¹ch ghÐp nèi vµo ra song song lËp tr×nh ®îc 8255A ............................. 89 d. ChÕ ®é 2 (mode 2): ChÕ ®é vµo/ra 2 chiÒu ....................................................... 95 4.3.5. M¹ch ghÐp nèi vµo ra nèi tiÕp 8251A......................................................... 96 4.4.Truy nhËp trùc tiÕp bé nhí DMA ........................................................................ 97 4.4.1.Nguyªn t¾c DMA ......................................................................................... 97 4.4.2. C¸c bíc thùc hiÖn DMA cña 80x86 .......................................................... 97 4.4.3. Bé ®iÒu khiÓn DMA 8237 ........................................................................... 99 C©u hái vµ bµi tËp ch¬ng 4 ..................................................................................... 100 Ch¬ng 5: Ng¾t vµ xö lý ng¾t cho 80x86 ................................................................ 101 5.1. Giíi thiÖu chung vÒ ng¾t .................................................................................. 101 5.2. Ph©n lo¹i ng¾t ................................................................................................... 101 5.2.1. Ng¾t cøng .................................................................................................. 101 5.2.2. Ng¾t mÒm.................................................................................................. 102 5.2.3. Nhãm c¸c hiÖn tîng ngo¹i lÖ: ................................................................. 102 ii
- TËp bµi gi¶ng Vi xö lý1 5.3. Xö lý cña CPU khi cã yªu cÇu ng¾t ................................................................ 102 5.4. Xö lý u tiªn khi ng¾t ...................................................................................... 104 5.5. GhÐp nèi CPU víi chip ®iÒu khiÓn u tiªn ng¾t 8259A ................................... 104 5.5.1 C¸c khèi chøc n¨ng chÝnh cña 8259A ..................................................... 105 5.5.2.C¸c tÝn hiÖu cña 8259A: ............................................................................ 106 C©u hái vµ bµi tËp ch¬ng 5 ..................................................................................... 114 Ch¬ng 6: Vi ®iÒu khiÓn 8051 .................................................................................. 115 6.1 CÊu tróc Vi ®iÒu khiÓn 8051 ............................................................................. 115 6.1.1. Giíi thiÖu vÒ vi ®iÒu khiÓn:....................................................................... 115 6.1.2. S¬ ®å cÊu tróc ........................................................................................... 117 6.1.3. C¸c th«ng sè c¬ b¶n .................................................................................. 118 6.2. Tæ chøc bé nhí cña 8051 ................................................................................. 118 6.2.1. Bé nhí RAM............................................................................................. 118 6.2.2. Bé nhí ROM............................................................................................. 120 6.2.3. C¸c thanh ghi chøc n¨ng ®Æc biÖt. (SFR- Special Funtion Registors) ...... 120 6.3. C¸c chÕ ®é ®Þnh ®Þa chØ cña 8051 .................................................................... 121 6.3.1.ChÕ ®é ®Þnh ®Þa chØ tøc thêi. ...................................................................... 121 6.3.2. ChÕ ®é ®Þnh ®Þa chØ thanh ghi. .................................................................. 122 6.3.3. ChÕ ®é ®Þnh ®Þa chØ trùc tiÕp. .................................................................... 122 6.3.4. ChÕ ®é ®Þnh ®Þa chØ gi¸n tiÕp. ................................................................... 122 6.3.5. ChÕ ®é ®Þnh ®Þa chØ chØ sè. ....................................................................... 122 6.4 TËp lÖnh cña 8051 ............................................................................................. 123 6.4.1. Nhãm lÖnh di chuyÓn d÷ liÖu.................................................................... 123 6.4.2. Nhãm lÖnh logic ....................................................................................... 124 6.4.3. Nhãm lÖnh sè häc ..................................................................................... 126 6.4.4. Nhãm lÖnh rÏ nh¸nh ch¬ng tr×nh ............................................................ 126 6.4.5. Nhãm lÖnh xö lý to¸n h¹ng bit ................................................................. 128 6.5. LËp tr×nh ®iÒu khiÓn cæng lµm chøc n¨ng vµo – ra .......................................... 129 6.5.1. Giíi thiÖu vÒ c¸c cæng vµo ra song song cña vi ®iÒu khiÓn 8051. ............ 129 6.5.2. LËp tr×nh cho c¸c cæng cña vi ®iÒu khiÓn lµm chøc n¨ng ®Çu ra. ............. 130 6.5.3. LËp tr×nh cho c¸c cæng cña vi ®iÒu khiÓn lµm chøc n¨ng ®Çu vµo. .......... 133 6.6. LËp tr×nh ®iÒu khiÓn khèi timer/counter .......................................................... 136 6.6.1. Giíi thiÖu vÒ c¸c bé timer cña vi ®iÒu khiÓn 8051 ................................... 137 6.6.2. C¸c thanh ghi t¸c ®éng lªn Timer. ............................................................ 138 6.6.3. M« t¶ ho¹t ®éng cña bé Timer.................................................................. 139 6.6.4. LËp tr×nh cho Timer cña 8051 ë chøc n¨ng bé ®Õm. ................................ 140 6.6.5. LËp tr×nh cho vi ®iÒu khiÓn ë chøc n¨ng bé ®Þnh thêi. ............................. 144 iii
- TËp bµi gi¶ng Vi xö lý1 6.7. LËp tr×nh ®iÒu khiÓn ng¾t. ................................................................................ 146 6.7.1. Giíi thiÖu ho¹t ®éng cña ng¾t vµ c¸c ng¾t cña vi ®iÒu khiÓn.................... 146 6.7.2. C¸c thanh ghi t¸c ®éng lªn ng¾t. ............................................................... 147 6.7.3. LËp tr×nh víi ng¾t Timer. .......................................................................... 148 6.7.4. LËp tr×nh víi ng¾t ngoµi. ........................................................................... 152 6.8. LËp tr×nh ®iÒu khiÓn cæng nèi tiÕp. .................................................................. 157 6.8.1 C¸c c¬ së cña truyÒn th«ng nèi tiÕp. .......................................................... 157 6.8.3. TruyÒn th«ng nèi tiÕp ë vi ®iÒu khiÓn 8051. ............................................. 161 6.8.3. LËp tr×nh cho vi ®iÒu khiÓn trao ®æi d÷ liÖu nèi tiÕp víi PC. .................... 167 C©u hái vµ bµi tËp ch¬ng 6 ..................................................................................... 170 Ch¬ng 7: ThiÕt kÕ hÖ vi xö lý chuyªn dông .......................................................... 173 7.1 Quy trình thiÕt kÕ hÖ vi xö lý chuyªn dông ....................................................... 173 7.1.1 Quy trình phát triển hệ thống ..................................................................... 173 7.1.2 Phân tích yêu cầu và xây dựng sơ đồ khối hệ thống ................................. 173 7.1.3 Thiết kế phần cứng và phần mềm .............................................................. 173 7.1.4 Thực thi hệ thống và kiểm thử ................................................................... 174 7.2 Thiết kế hệ vi xử lý chuyên dụng sử dụng vi điều khiển 8051 ......................... 174 7.2.1 Điều kiện làm việc của vi điều khiển 8051 ............................................... 174 7.2.2 Thiết kế mạch hiển thị thời gian thực sử dụng DS12887 .......................... 175 C©u hái vµ bµi tËp ch¬ng 7 ..................................................................................... 201 TÀI LIỆU THAM KHẢO ........................................................................................ 203 iv
- TËp bµi gi¶ng Vi xö lý1 LỜI MỞ ĐẦU Trong mấy chục năm qua, các họ vi xử lý đã phát triển nhanh chóng tạo ra sự thay đổi lớn trong cách thức con người xử lý công việc. Từ công việc văn phòng đến các công việc sản xuất công nghiệp, thông tin, liên lạc vai trò của các hệ vi xử lý ngày càng được thể hiện rõ ràng và đóng vai trò quan trọng. Vi xử lý đã xuất hiện trong các máy tính, các thiết bị cá nhân như điện thoại di động, các thiết bị gia dụng như máy giặt, điều hòa, v.v, và các thiết bị điều khiển công nghiệp. Phù hợp với các mục đích ứng dụng khác nhau, vi xử lý cũng được phát triển theo các hướng khác nhau mà điển hình là các chip vi xử lý mục đích chung, chip vi điều khiển và chip xử lý tín hiệu số. Học phần Vi xử lý 1 là học phần cơ sở của các ngành đào tạo Công nghệ Điện- Điện tử, Công nghệ Tự động hóa của khoa Điện-Điện tử trường ĐH Sư phạm Kỹ thuật Nam Định. Đào tạo theo học chế tín chỉ, thời gian tự học của sinh viên chiếm một lượng thời gian lớn, nhằm cung cấp cho sinh viên tài liệu có tính hệ thống phục vụ quá trình tự học, chúng tôi biên soạn tập bài giảng học phần Vi xử lý gồm 2 cuốn: Vi xử lý 1 và Vi xử lý 2. Mục tiêu của học phần là trang bị cho sinh viên kiến thức cơ bản về kiến trúc của hệ vi xử lý, quy trình làm việc và lập trình điều khiển hoạt động hệ vi xử lý. Trên cơ sở đó, sinh viên có khả năng thiết kế phần cứng, viết phần mềm điều khiển hệ vi xử lý chuyên dụng dựa trên các IC vi xử lý và vi điều khiển thông dụng. Với sự phát triển nhanh chóng của các dòng vi xử lý, các hãng sản xuất khác nhau, mức độ ngày càng tinh vi, phức tạp hơn thì việc tiếp cận môn học như thế nào là một câu hỏi lớn. Với mục đích cung cấp cho người học những kiến thức cơ bản nhất về hệ vi xử lý, chúng tôi lựa chọn vi xử lý 8086 của hãng Intel để giới thiệu với người đọc. Mặc dù không còn được sản xuất, nhưng các dòng vi xử lý sau của Intel vẫn tương thích với vi xử lý này. Các vi xử lý Intel xuất hiện rộng rãi trong các máy tính cá nhân, cho phép sinh viên có một công cụ thuận lợi để tìm hiểu, thử nghiệm, kiểm tra các hoạt động cơ bản của hệ vi xử lý. Khác với sinh viên ngành học công nghệ thông tin, đối tượng của sinh viên ngành Điện-Điện tử thường là điều khiển các thiết bị trong đó đòi hỏi sự kết hợp giữa phần cứng và phần mềm. Để xây dựng được một thiết bị trên vi xử lý, đòi hỏi phải thiết kế phần cứng tương đối phức tạp bao gồm tổ chức bộ nhớ, phối ghép vào ra. Điều này là khó khăn với những người mới tiếp cận môn học để tạo ra một sản phẩm hoàn chỉnh. Trong trường hợp này, ứng dụng vi điều khiển có nhiều thuận lợi. Vi điều khiển là một hệ vi xử lý được đóng gói trên chip với các thành phần bên ngoài tối v
- TËp bµi gi¶ng Vi xö lý1 thiểu để hoạt động. Do đó, vi điều khiển là một công cụ thực hành hiệu quả cho phép sinh viên hiểu hoạt động của hệ vi xử lý đồng thời áp dụng các kiến thức đã học được vào các sản phẩm thực tế. Điều này giúp sinh viên có thêm niềm hứng thú khi học hỏi môn học và cũng góp phần kết hợp chặt chẽ giữa lý thuyết và thực hành. Để học học phần này hiệu quả đòi hỏi sinh viên phải kết hợp giữa tìm hiểu lý thuyết và làm bài tập. Sinh viên cần cài đặt một số môi trường phát triển tích hợp như EMU8086, Proteus và Keil uVision hoặc Pinnacle 52. Tập bài giảng này được viết theo chương trình học phần Vi xử lý 1 đã được phê duyệt. Trong phần đầu, chúng tôi giới thiệu về cấu trúc cơ bản hệ vi xử lý, nguyên tắc hoạt động của hệ vi xử lý, giới thiệu về cấu trúc vi xử lý 8086, tập lệnh, cách mã hóa lệnh, các chế độ định địa chỉ và cách viết chương trình cho 80x86. Tiếp theo, chúng tôi trình bày tổ chức bộ nhớ và các thiết bị ngoại vi, ngắt và truy nhập trực tiếp bộ nhớ DMA. Trong phần sau, chúng tôi giới thiệu về cấu trúc và lập trình họ vi điều khiển 8051. Ngắt và timer cũng được giới thiệu. Chương cuối trình bày về việc xây dựng một hệ vi xử lý chuyên dụng. Trong các chương cùng với lý thuyết chúng tôi đưa vào các ví dụ bài tập có lời giải. Cuối mỗi chương có các bài tập củng cố lý thuyết. Trong quá trình biên soạn, mặc dù đã cố gắng nhưng không tránh khỏi sai sót, kính mong sự chỉ giáo của quý thầy, cô và bạn đọc. Nhóm biên soạn vi
- Bµi gi¶ng m«n häc: Vi xö lý1 Ch¬ng 1: KiÕn tróc hÖ vi xö lý 1.1. Tæ chøc hÖ Vi xö lý Bé vi xö lý cã mÆt trong c¸c m¸y vi tÝnh lµ sù ph¸t triÓn liªn tôc cho c¸c hÖ vi xö lý. §Ó n¾m b¾t ®îc tÝnh kÕ thõa vµ tÝnh liªn tôc cña sù ph¸t triÓn nµy tríc khi ®i vµo tæ chøc hÖ vi xö lý ta sÏ giíi thiÖu vÒ c¸c lo¹i m¸y tÝnh nãi chung 1.1.1. M¸y vi tÝnh. Nh ta ®· biÕt vÒ kiÕn thøc cña m¸y tÝnh nãi chung, mét m¸y tÝnh (Computer) th«ng thêng bao gåm c¸c khèi chøc n¨ng c¬ b¶n nh: khèi xö lý trung t©m (CPU, Central Processing Unit), bé nhí ( Memmory ) vµ khèi phèi ghÐp víi thiÕt bÞ ngo¹i vi (I/O, Input/Output ). Tuú theo quy m« phøc t¹p cña c¸c khèi chøc n¨ng kÓ trªn mµ ngêi ta ph©n c¸c m¸y ®· vµ ®ang sö dông ra thµnh c¸c lo¹i sau: - M¸y tÝnh lín M¸y tÝnh lín (mainframe) lµ lo¹i m¸y tÝnh ®îc thiÕt kÕ ®Ó gi¶i c¸c bµi to¸n lín víi tèc ®é nhanh. Nã thêng lµm viÖc víi sè liÖu tõ 64 bit hoÆc lín h¬n n÷a vµ ®îc trang bÞ bé nhí rÊt lín. ChÝnh v× vËy m¸y tÝnh còng lín vÒ kÝch thíc vËt lý. Chóng thêng ®îc dïng ®Ó ®iÒu khiÓn c¸c hÖ thèng thiÕt bÞ dïng trong qu©n sù hoÆc c¸c hÖ thèng m¸y mãc cña ch¬ng tr×nh nghiªn cøu vò trô, ®Ó xö lý c¸c th«ng tin trong ngµnh ng©n hµng, ngµnh khÝ tîng, c¸c c«ng ty b¶o hiÓm ... Tiªu biÓu cho lo¹i m¸y tÝnh nµy lµ lo¹i m¸y IBM 8341, honeywell DSP8. Lo¹i m¸y lín nhÊt trong c¸c m¸y lín ®îc gäi lµ supercomputer (nh lo¹i m¸y Y-MP/832 cña Cray). - M¸y tÝnh con M¸y tÝnh con (minicomputer) lµ mét d¹ng thu nhá vÒ kÝch thíc còng nh vÒ tÝnh n¨ng cña m¸y tÝnh lín. Nã ra ®êi nh»m tho¶ m·n c¸c nhu cÇu sö dông m¸y tÝnh cho c¸c øng dông võa ph¶i mµ nÕu dïng m¸y tÝnh lín vµo ®ã th× sÏ g©y l·ng phÝ. Do vËy m¸y tÝnh con thêng lµm viÖc víi c¸c d÷ liÖu cã ®é dµi tõ 32 bit víi tèc ®é chËm h¬n vµ kh¶ n¨ng cña bé nhí h¹n chÕ h¬n. M¸y tÝnh con thêng ®îc dïng cho c¸c tÝnh to¸n khoa häc kü thuËt, gia c«ng d÷ liÖu quy m« nhá hay ®Ó ®iÒu khiÓn quy tr×nh c«ng nghÖ. Tiªu biÓu cho nhãm nµy lµ lo¹i m¸y VAX 6360 cña Digital Equipment Corporation vµ MV/8000II cña Data genaral. - M¸y vi tÝnh M¸y vi tÝnh (Microcomputer) lµ lo¹i m¸y tÝnh rÊt th«ng dông hiÖn nay. Mét m¸y vi tÝnh cã thÓ lµ mét bé vi ®iÒu khiÓn (microcontroller). Chóng cã kh¶ n¨ng lµm viÖc víi sè liÖu cã ®é dµi 1 bit, 4 bit, 8 bit, 16 bit. HiÖn nay mét sè m¸y vi tÝnh cã tÝnh n¨ng cã thÓ so s¸nh ®îc víi m¸y tÝnh con, lµm viÖc víi sè liÖu cã ®é dµi tõ lµ 32 bit (thËm chÝ lµ 64 bit). Ranh giíi ®Ó ph©n chia gi÷a m¸y vi tÝnh vµ m¸y tÝnh con chÝnh v× thÕ ngµy cµng kh«ng râ nÐt. Mét ®Æc ®iÓm tiªu biÓu ®Ó nhËn biÕt m¸y vi tÝnh lµ chóng ®Òu 1
- TËp bµi gi¶ng Vi xö lý1 sö dông c¸c bé xö lý trung t©m (CPU) ®îc chÕ t¹o b»ng c«ng nghÖ m¹ch vi ®iÖn tö víi møc ®é tæ hîp lín, m¹ch VLSI (very large of integration) mµ ngêi ta quen gäi lµ c¸c bé vi xö lý (microprocessor, P) C¸c bé vi xö lý hiÖn cã tªn thÞ trêng thêng ®îc xÕp theo c¸c hä phô thuéc vµo c¸c nhµ s¶n xuÊt vµ chóng rÊt ®a d¹ng vÒ chñng lo¹i. Næi bËt nhÊt trong c¸c hä vi xö lý ®ã lµ 2 hä cña 2 nhµ s¶n xuÊt hµng ®Çu næi tiÕng trong lÜnh vùc nµy, ®ã lµ hä vi xö lý 80x86 cña Intel vµ hä vi xö lý 680xx cña Motorola. 1.1.2. LÞch sö ph¸t triÓn cña c¸c bé vi xö lý. Ta cã thÓ chia ra thµnh c¸c thÕ hÖ qua c¸c thêi kú nh sau: - ThÕ hÖ 1 (1971-1973) N¨m 1971, trong khi ph¸t triÓn c¸c vi m¹ch dïng cho m¸y tÝnh cÇm tay, Intel ®· cho ra ®êi bé vi xö lý ®Çu tiªn lµ 4004 ( 4 bit ) cña Rockwell International, IPM-16 (16 bit) cña National Semiconductor. §Æc ®iÎm chung cña c¸c vi xö lý thÕ hÖ nµy lµ: §é dµi tõ thêng lµ 4 bit (còng cã thÓ dµi h¬n) C«ng nghÖ chÕ t¹o PMOS víi ®Æc ®iÓm mËt ®é phÇn tö nhá, tèc ®é thÊp, gi¸ thµnh rÎ vµ cã kh¶ n¨ng ®a ra dßng t¶i nhá. Tèc ®é thùc hiÖn lÖnh: 10-16s/lÖnh víi tÇn sè ®ång hå fclk = 0,1- 0,8 MHz. TËp lÖnh ®¬n gi¶n ph¶i cÇn nhiÒu m¹ch phô trî míi t¹o nªn mét hÖ vi xö lý hoµn chØnh. - ThÕ hÖ 2 (1974-1977) C¸c bé vi xö lý ®¹i diÖn trong thÕ hÖ nµy lµ c¸c vi xö lý 8 bit 6502 cña MOS Technology, 6800 vµ 6809 cña Motorola, 8080 vµ 8085 cña Intel vµ ®Æc biÖt lµ bé vi xö lý Z80 cña Zilog. C¸c bé vi xö lý nµy cã tËp lÖnh phong phó h¬n vµ thêng cã kh¶ n¨ng ph©n biÖt ®Þa chØ bé nhí víi dung lîng ®Õn 64KB. Cã mét sè bé vi xö lý cßn cã kh¶ n¨ng ph©n biÖt ®îc 256 ®Þa chØ cho c¸c thiÕt bÞ ngo¹i vi (hä Intel vµ Zilog). Chóng ®· ®îc sö dông réng r·i trong c«ng nghiÖp vµ nhÊt lµ ®Ó t¹o ra c¸c m¸y tÝnh 8 bit nçi tiÕng mét thêi nh Apple II vµ Commodore 64. TÊt c¶ c¸c bé vi xö lý thêi k× nµy ®Òu ®îc s¶n xuÊt b»ng c«ng nghÖ NMOS ( Víi mËt ®é ®iÖn tö trªn mét ®¬n vÞ diÖn tÝch cao h¬n so víi c«ng nghÖ PMOS ) hoÆc CMOS ( tiÕt kiÖm ®iÖn n¨ng tiªu thô) cho phÐp ®¹t ®îc tèc ®é tõ 1- 8 s/lÖnh víi tÇn sè ®ång hå fclk = 1-5 MHz. - ThÕ hÖ 3 (1978 -1982) C¸c bé vi xö lý trong thÕ hÖ nµy cã ®¹i diÖn lµ c¸c bé vi xö lý 16 bit 8086/80186/80286 cña Intel hoÆc 86000/86010 cña Motorola. Mét ®iÒu tiÕn bé h¬n h¼n so víi c¸c bé vi xö lý 8 bit thÕ hÖ tríc lµ c¸c bé vi xö lý 16 bit cã tËp lÖnh ®a d¹ng víi c¸c lÖnh nh©n, lÖnh chia vµ c¸c lÖnh thao t¸c víi chuçi kÝ tù. Kh¶ n¨ng ph©n 2
- TËp bµi gi¶ng Vi xö lý1 biÖt ®Þa chØ cho bé nhí hoÆc cho thiÕt bÞ ngo¹i vi cña c¸c vi xö lý thÕ hÖ nµy còng lín h¬n ( tõ 1MB ®Õn 16 MB cho bé nhí vµ tíi 64 K ®Þa chØ cho thiÕt bÞ ngo¹i vi ®èi víi hä Intel ). §©y lµ c¸c bé vi xö lý ®îc dïng trong c¸c m¸y IBM PC, PC/XT, PC/AT vµ c¸c m¸y Macintosh cña Apple. PhÇn lín c¸c bé vi xö lý trong thÕ hÖ nµy ®Òu ®îc s¶n xuÊt b»ng c«ng nghÖ HMOS vµ cho phÐp ®¹t ®îc tèc ®é tõ 0,1-1s/lÖnh víi tÇn sè ®ång hå fclk = 5 - 10 MHz. Trong thêi k× nµy còng xuÊt hiÖn c¸c m¸y vi tÝnh 8 bit trong mét vá nh 8048/49 vµ 6805R2 ( m¹ch nµy cßn cã thªm c¶ ADC 12 bit cho 4 kªnh ®Çu vµo t¬ng tù ) hoÆc c¸c bé vi ®iÒu khiÓn 1 bit trong vá nh MC 14500B vµ 4 bit trong 1 vá nh MC 141000. - ThÕ hÖ 4 (1983-1999) C¸c bé vi xö lý ®¹i diÖn trong thÕ hÖ nµy lµ c¸c vi xö lý 32 bit 80386/80486 vµ 64 bit Pentium cña Intel 60 - 66MHz, Intel P6 - Pentium Pro 120- 133 MHz, Intel Pentium 150 - 166 - 200 MHz víi c¸c më réng cho multimedia, Intel Pentium II 233 - 450 MHz, Intel Pentium III 500 - 550 MHz. Ngµy nay c¸c th«ng sè c¬ b¶n cña bé vi xö lý ngµy cµng ®îc c¶i thiÖn: tèc ®é ngµy cµng cao ( c¸c bé vi xö lý hiÖn ®¹i cña INTEL ®· ®¹t tíi tèc ®é 800 MHz - 3GHz, ®é réng kªnh th«ng tin d÷ liÖu ngµy cµng lín nh: 32, 64 bit. §iÒu ®ã ®· gióp cho bµi to¸n thiÕt kÕ c¸c hÖ vi xö lý chuyªn dông víi tÝnh n¨ng réng lín trë nªn dÔ dµng h¬n. Song song víi c¸c hÖ vi xö lý cña h·ng INTEL, h·ng Motola còng ®a ra c¸c vi xö lý 32 bit 68020/68030/68040 vµ c¸c vi xö lý 64 bit 68060/64. Ngµy nay tèc ®é cña c¸c vi xö lý hiÖn ®¹i cña h·ng MOTOROLA còng ®¹t trªn 3GHz. §Æc ®iÓm cña c¸c bé vi xö lý thÕ hÖ nµy cã sè lîng transistor rÊt lín (tõ vµi 3 triÖu ®Õn trªn 50 triÖu transistor ) .PhÇn lín c¸c bé vi xö lý míi thùc hiÖn c¸c lÖnh trong mét chu kú, vµ thùc tÕ tÊt c¶ chóng ®Òu cã ®¬n vÞ xö lý dÊu phÈy ®éng FPU (Floating - Point Unit) bªn trong. Chóng cã c¸c thanh ghi chung 16 - 32 bit. NhiÒu lo¹i cã ph©n biÖt c¸c tÖp thanh nghi 32 bit (register file) cho ®¬n vÞ nguyªn IU (interger unit ) vµ tÖp thanh ghi 32 bit cho FPU. Chóng cã Cache memory bªn trong víi dung lîng lªn tíi 36 KB. §a sè Cache memory bªn trong ph©n ®«i: dïng cho lÖnh Icache vµ dïng cho d÷ liÖu Dcache. C¸c bé vi xö lý c«ng nghÖ cao hiÖn nay (Advanced Microprocessors) ®· tho¶ m·n c¸c yªu cÇu chÕ t¹o c¸c m¸y tÝnh lín (mainframes) vµ c¸c siªu m¸y tÝnh ( supercomputers). C¸c vi xö lý thêi nµy cã bus ®Þa chØ ®Òu lµ 32 bit (ph©n biÖt 4 GB bé nhí) vµ cã kh¶ n¨ng lµm viÖc víi bé nhí ¶o. Ngêi ta còng ¸p dông c¸c c¬ chÕ hoÆc c¸c cÊu tróc ®· ®îc sö dông trong c¸c m¸y tÝnh lín vµo c¸c bé vi xö lý: c¬ chÕ xö lý xen kÏ liªn tôc dßng m· lÖnh (pipeline), bé nhí cache (bé nhí Èn ), bé nhí ¶o. C¸c bé vi xö lý nµy ®Òu cã bé qu¶n lý bé nhí (MMU) vµ nhiÒu khi c¶ c¸c bé ®ång xö lý to¸n häc ë bªn trong. ChÝnh nhê c¸c c¶i tiÕn ®ã mµ c¸c bé vi xö lý thÕ hÖ nµy cã kh¶ n¨ng c¹nh tranh ®îc víi c¸c m¸y tÝnh nhá 3
- TËp bµi gi¶ng Vi xö lý1 trong rÊt nhiÒu lÜnh vùc øng dông. PhÇn lín c¸c bé vi xö lý thÕ hÖ nµy ®Òu ®îc s¶n xuÊt b»ng c«ng nghÖ HCMOS. Bªn c¹nh c¸c bé vi xö lý v¹n n¨ng truyÒn thèng thêng ®îc dïng ®Ó x©y dùng c¸c m¸y tÝnh víi tËp lÖnh ®Çy ®ñ ( complex instruction set computer, CISC) ®· nãi ë trªn, trong thêi gian nµy còng xuÊt hiÖn c¸c bé vi xö lý c¶i tiÕn dïng ®Ó x©y dùng c¸c m¸y tÝnh víi tËp lÖnh rót gän (reduced instruction set computer, RISC) víi nhiÒu tÝnh n¨ng cã thÓ so s¸nh víi c¸c m¸y tÝnh lín ë c¸c thÕ hÖ tríc. §ã lµ c¸c bé vi xö lý Alpha cña Digital, PowerPC cña tæ hîp h·ng Apple - Motorola - IBM... - ThÕ hÖ tiÕp theo: (tõ n¨m 2000 ®Õn nay). Lµ thêi kú cña c¸c m¸y vi tÝnh víi n¨ng lùc tÝnh to¸n rÊt lín. C«ng nghÖ m¸y tÝnh ë thêi kú nµy liªn quan tíi viÖc sö dông c¸c m¹ch tÝch hîp cùc lín víi dung lîng vµi chôc triÖu tranzystor/chip ngµy nay. Nhê cã c«ng nghÖ míi mµ toµn bé CPU, bé nhí chÝnh hay c¸c thiÕt bÞ t¬ng tù kh¸c cã thÓ ®îc x©y dùng gän trªn mét chip. Tèc ®é ë thÕ hÖ nµy cã thÓ ®¹t tíi hµng tû phÐp tÝnh/gi©y. M¸y tÝnh Neuron - Neural Network - Mét kü thuËt cña trÝ kh«n nh©n t¹o, b¾t chíc c¸ch thøc tæ chøc c¸c tÕ bµo thÇn kinh nèi víi bé n·o con ngêi. Ngêi ta cung cÊp nh÷ng th«ng tin cho m¹ng thÇn kinh ®Ó huÊn luyÖn cho nã nhËn biÕt ®îc c¸c sù vËt mÉu nh»m cã thÓ ®a ra c¸c dù b¸o hoÆc gi¶i ph¸p xö lý thÝch øng. Tuy nhiªn còng nªn lu ý lµ thÕ hÖ nµy hiÖn nay ®ang trong qu¸ tr×nh nghiªn cøu, mét sè mÉu m¸y tÝnh thö nghiÖm ®Çu tiªn ®· xuÊt hiÖn trong vµi n¨m trë l¹i ®©y vµ c¸c kh¸i niÖm liªn quan ®ang míi h×nh thµnh. Theo sù ph¸t triÓn cña c«ng nghÖ, c¸c m¸y tÝnh hiÖn nay ®îc thiÕt kÕ, x©y dùng theo mét xu híng chung lµ: - M¹nh h¬n vÒ tèc ®é vµ kh¶ n¨ng tÝnh to¸n - Nhá h¬n vÒ kÝch thíc - TiÕt kiÖm h¬n vÒ n¨ng lîng * Dùa trªn c¸c m¸y tÝnh hiÖn ®ang ph¸t triÓn trªn c¬ së gåm hai phÇn: PhÇn cøng: gåm nh÷ng ®èi tîng vËt lý h÷u h×nh nh vi m¹ch, b¶n m¹ch in, d©y c¸p nèi m¹ch ®iÖn, bénhí, mµn h×nh, m¸y in, thiÕt bÞ ®Çu cuèi, nguån nu«i.v.v… PhÇn mÒm: gåm c¸c thuËt gi¶i vµ sù thÓ hiªn trªn m¸y tÝnh cña nã lµ c¸c ch¬ng tr×nh(program), bao gåm c¸c lÖnh (instruction). Ch¬ng tr×nh cã thÓ ®îc nhËp vµo lÇn lît tõ bµn phÝm, tr×nh bµy trªn mµn h×nh, ghi trªn ®Üa tõ, v.v… nhng néi dung chñ yÕu lµ c¸c lÖnh, kh¸c víi m«i trêng vËt lý. *HÇu hÕt c¸c m¸y vi tÝnh IBM hä PC hoÆc c¸c m¸y vi tÝnh t¬ng thÝch IBM ®Òu sö dông CPU Intel hä APX. B¶ng 1.1 liÖt kª c¸c ®Æc tÝnh c¬ b¶n cña mét sè CPU cña Intel trong ®ã 80486 chøa mét bé ®iÒu khiÓn cache tÝch hîp vµ 8 KB RAM tÜnh, Pentium chøa cache 16 KB RAM tÜnh. 4
- TËp bµi gi¶ng Vi xö lý1 §ÆC TÝNH 8080 8086 8088 80186 80188 80286 80386 386SX 486/Pentium Bus ®Þa chØ (sè 8 16 8 16 8 16 32 16 32 bit) §êng d÷ liÖu 8 16 16 16 16 16 32 32 32/64 néi (sè bit) 2,2.6, 8,10, 8,10, 6,8,10,16,20,25, Tèc ®é (MHz) 5,8,10 5,8 16 25-66 6.3 12.5 12.5 12.5,20 33 Thanh ghi ®Õn thanh ghi 1.3 0.3 0.38 0.2 0.3 0.125 0.125 0.125 0.04 (ms/word) §¸p øng 7.3 6.1 8.6 3.36 6.2 2.52 3.5 2.52 3.5 interrupt (ms) §Þa chØ bé nhí 64K 1M 1M 1M 1M 16M 4G 4G 4G C¸ch ®Þnh ®Þa 5 24 24 24 24 24 28 28 28 chØ 80287/ 80287/ Coprocessor 0 8087 8087 8087 8087 80287 On chip 80387 80387 Sè thanh ghi 6 8 8 8 8 8 8 8 8 ®a dông Sè thanh ghi 0 4 4 4 4 4 6 6 6 ®o¹n §iÒu khiÓn 8259- 8259 8259- On On 8259- 8259-A 82335 mPLD interrupt A -A A chip chip A Timer – 8253 8253/ On On 8253/ 8253/5 8253/5 8253 On chip counter /54 54 chip chip 54 4 4 B¶ng 1.1: §Æc tÝnh c¸c CPU 8 bit, 16 bit vµ 32 bit 5
- TËp bµi gi¶ng Vi xö lý1 H×nh d¹ng mét sè CPU 8 bit, 16 bit vµ 32 bit H×nh 1.1 H×nh d¹ng mét sè CPU 6
- TËp bµi gi¶ng Vi xö lý1 1.2. S¬ ®å khèi cña hÖ vi xö lý. - S¬ ®å khèi cña hÖ vi xö lý: Bus ®iÒu khiÓn Bus d÷ liÖu ThiÕt bÞ vµo (Bµn phÝm, ALU CU chuét,æ ®Üa Bé nhí Bé nhí Phèi ghÐp m¸y quÐt....) CPU ROM RAM vµo ra C¸c thanh ghi (I/O) AX,BX,CX,DX.... ThiÕt bÞ ra (mµn h×nh, m¸y in,æ ®Üa, m¸y vÏ...) Bus ®Þa chØ H×nh 1.2 S¬ ®å khèi cña hÖ vi xö lý - Chó thÝch: CPU: Central Processing Unit ( §¬n vÞ xö lý trung t©m - chÝp ) ROM: Read Only Memmory ( Bé nhí chØ ®äc ) RAM: Radom Acess Memmory (Bé nhí truy cËp ngÉu nhiªn ) I/O: Input/ Output: ThiÕt bÞ vµo ra Address Bus: Bus ®Þa chØ Data Bus: Bus d÷ liÖu Control Bus: Bus ®iÒu khiÓn. 1.3 Chøc n¨ng c¸c khèi 1.3.1. §¬n vÞ xö lý trung t©m CPU (Central Processing Unit) lµ thµnh phÇn chñ ®¹o nhÊt lµ cña hÖ thèng m¸y tÝnh, ®«i khi cßn ®îc gäi lµ bé xö lý hay bé xö lý trung t©m. CPU lµ n¬i thùc hiÖn phÇn lín c¸c phÐp to¸n, c¸c phÐp tÝnh sè häc, phÐp tÝnh l«gic vµ c¸c biÕn ®æi m· t¬ng øng. ë c¸c m¸y vi tÝnh ngµy nay, CPU thêng ®îc x©y dùng trªn mét hoÆc vµi vi m¹ch ®ãng trong mét chÝp IC vµ ®îc gäi lµ bé vi xö lý P (microprocessor). Hai thµnh phÇn c¬ b¶n cña CPU lµ: ®¬n vÞ sè häc ALU (arithmetic logic unit) ®¶m nhiÖm c¸c phÐp to¸n logic - sè häc vµ ®¬n vÞ ®iÒu khiÓn CU (control unit) tiÕn hµnh chuyÓn c¸c lÖnh tõ bé nhí, gi¶i m·, thùc hiÖn lÖnh hay chuyÓn tíi ALU khi cÇn. Bªn c¹nh c¸c ®¬n vÞ ALU, CU, trong CPU cßn cã tËp hîp c¸c thanh ghi. 7
- TËp bµi gi¶ng Vi xö lý1 1.3.2. Bé nhí trung t©m Bé nhí (memory) hay cßn gäi lµ bé nhí chÝnh, lµ mét bé phËn hÕt søc quan träng cña hÖ m¸y tÝnh. Bé nhí thùc hiÖn viÖc lu tr÷ th«ng tin vµ phôc vô cho qu¸ tr×nh trao ®æi th«ng tin. Bé nhí m¸y tÝnh thùc chÊt lµ bé nhí trong ®Ó ph©n biÖt víi kh¸i niÖm bé nhí ngoµi mµ nhiÒu tµi liÖu hiÖn vÉn hay sö dông ®Ó chØ thiÕt bÞ lu tr÷ d÷ liÖu tõ tÝnh nh ®Üa cøng, ®Üa mÒm. a. Bé nhí RAM: ë c¸c hÖ m¸y vi tÝnh, ngêi ta sö dông bé nhí b¸n dÉn bao gåm bé nhí truy cËp ngÉu nhiªn RAM (random access memory) hay cßn gäi lµ bé nhí ghi ®äc. Ta cã thÓ hiÓu nh ®©y lµ m«i trêng ®Ó xö lý th«ng tin. Bé nhí nµy cho phÐp lu tr÷ d÷ liÖu t¹m thêi ( mÊt ®iÖn th× bÞ mÊt d÷ liÖu ) b. Bé nhí ROM: Bé nhí chØ ®äc ROM (read only memory), ta cã thÓ coi nh lµ mét quyÓn s¸ch chØ dïng ®Ó ®äc th«ng tin ra, bé nhí nµy cho phÐp lu tr÷ d÷ liÖu l©u dµi. ( thêng ®Ó lu c¸c cÊu h×nh phÇn cøng do nhµ s¶n xuÊt thiÕt lËp cho Main board...) Ngoµi bé nhí RAM, ROM, trong c¸c hÖ m¸y tÝnh hiÖn nay cßn cã mét sè d¹ng bé nhí kh¸c nh bé nhí chØ ®äc lËp tr×nh ®îc PROM (programmable read only memory), bé nhí PROM xo¸ ®îc b»ng tia cùc tÝm gäi lµ EPROM (erasable programmable read only memory) bé nhí PROM xo¸ ®îc b»ng ®iÖn EEPROM ( electrically erasable programmable read only memory ) vµ bé nhí FlashROM lµ bé nhí cã thÓ xo¸ vµ n¹p rÊt nhanh. 1.3.3. ThiÕt bÞ xuÊt nhËp th«ng tin I/O t¹o kh¶ n¨ng giao tiÕp gi÷a m¸y tÝnh vµ thÕ giíi bªn ngoµi. C¸c thiÕt bÞ ngo¹i vi nh mµn h×nh, bµn phÝm, m¸y in, c¸c bé biÕn ®æi D/A, A/D, c¸c thiÕt bÞ ®o lêng ®iÒu khiÓn........ ®Òu liªn hÖ víi m¸y tÝnh qua bé phËn nµy mµ cô thÓ cho tõng thiÕt bÞ lµ c¸c cæng. a. ThiÕt bÞ xuÊt: BiÕn ®æi c¸c m· bªn trong m¸y tÝnh sau khi xö lý ®Ó con ngêi cã thÓ hiÓu ®îc hoÆc ®iÒu khiÓn c¸c thiÕt bÞ kh¸c. ThiÕt bÞ xuÊt th«ng dông nhÊt cã thÓ kÓ nh mµn h×nh, m¸y in, faxmodem, m¸y vÏ, loa hay c¸c thiÕt bÞ ®iÒu khiÓn. Tuy nhiªn còng cÇn lu ý lµ ranh giíi c¸c thiÕt bÞ vµo vµ thiÕt bÞ ra kh«ng ph¶i khi nµo còng râ rµng. NhiÒu thiÕt bÞ võa ®¶m nhiÖm vai trß lµ thiÕt bÞ vµo song còng thùc hiÖn chøc n¨ng lµ thiÕt bÞ ra, vÝ dô nh faxmodem, CDROM ®äc ghi, thiÕt bÞ ®o - ®iÒu khiÓn... b. ThiÕt bÞ nhËp : Thùc hiÖn biÕn ®æi tÝn hiÖu tù nhiªn hoÆc cho bëi con ngêi sang d¹ng m· m¸y ®Ó bé vi xö lý thùc hiÖn. ThiÕt bÞ vµo th«ng dông nhÊt cã thÓ kÓ nh bµn phÝm, con chuét, m¸y quÐt scaner, thiÕt bÞ ph©n tÝch nhËn d¹ng tiÕng nãi, CD- ROM..... 8
- TËp bµi gi¶ng Vi xö lý1 1.3.4. HÖ thèng Bus HÖ thèng bus cña m¸y tÝnh thùc hiÖn kÕt nèi c¸c khèi chøc n¨ng lµ hÖ thèng bus. Trong m¸y tÝnh cã hai nhãm bus lµ bus hÖ thèng, nèi gi÷a CPU víi bé nhí chÝnh (trong c¸c m¸y hiÖn ®¹i ngµy nay bus hÖ thèng ®îc nèi gi÷a CPU vµ vi m¹ch tæng hîp) vµ bus vµo ra nèi ghÐp gi÷a c¸c thiÕt bÞ ngo¹i vi tíi CPU th«ng qua c¸c "cÇu nèi" hay cßn gäi lµ c¸c "cÇu". Tham gia ®iÒu khiÓn bus cã c¸c vi m¹ch ®iÒu khiÓn bus. C¸c vi m¹ch nµy tríc ®©y ®îc n»m riªng lÎ cßn hiÖn nay thêng tÝch hîp vµo trong c¸c vi m¹ch tæng hîp chipset. HÖ thèng bus bao gåm 3 lo¹i bus lµ bus ®Þa chØ, bus d÷ liÖu vµ bus ®iÒu khiÓn. a. Bus ®Þa chØ: Phôc vô viÖc chän « nhí hoÆc thiÕt bÞ vµo/ra. Khi ghi/®äc bé nhí hoÆc thiÕt bÞ vµo/ra, bé xö lý trung t©m sÏ ®a lªn bus nµy ®Þa chØ cña c¸c thiÕt bÞ liªn quan. §©y lµ bus mét chiÒu vµ xuÊt ph¸t tõ CPU. b. Bus d÷ liÖu: §îc dïng ®Ó chuyÓn d÷ liÖu vµ thêng cã tõ 8, 16, 20, 24, 32 ®Õn 64 ®êng d©y tuú thuéc vµo tõng CPU cô thÓ. BUS d÷ liÖu lµ lo¹i 2 chiÒu. C¸c phÇn tö cã ®Çu ra nèi th¼ng víi bus d÷ liÖu ®Òu ph¶i ®îc trang bÞ ®Çu ra 3 tr¹ng th¸i ®Ó b¶o ®¶m cho bus ho¹t ®éng ®îc b×nh thêng. c. Bus ®iÒu khiÓn: Hç trî cho viÖc trao ®æi c¸c th«ng tin ®iÒu khiÓn vµ tr¹ng th¸i nh ph©n biÖt thiÕt bÞ ®îc CPU truy nhËp lµ bé nhí hay thiÕt bÞ vµo/ra, thao t¸c truy nhËp lµ ®äc hay viÕt v.v......Bus ®iÒu khiÓn thêng gåm hµng chôc d©y tÝn hiÖu kh¸c nhau, vµ xÐt theo c¶ nhãm th× ®ã lµ lo¹i bus 2 chiÒu. C©u hái vµ bµi tËp ch¬ng 1 C©u 1: H·y cho biÕt qu¸ tr×nh ph¸t triÓn cña c¸c bé vi x lý C©u 2: VÏ s¬ ®å cÊu tróc cña hÖ vi xö lý, tr×nh bµy chøc n¨ng tõng khèi trong hÖ vi xö lý. C©u 3: Ph©n biÖt bé nhí ROM, RAM vµ c¸c th«ng sè cña chóng C©u 4: Cho biÕt ®Æc ®iÓm cña c¸c tuyÕn ®êng BUS ®Þa chØ, d÷ liÖu, ®iÒu khiÓn 9
- TËp bµi gi¶ng Vi xö lý1 Ch¬ng 2: Bé vi xö lý 80x86 Intel 2.1. CÊu tróc bªn trong vµ ho¹t ®éng cña bé vi xö lý 80x86 2.1.1. Giíi thiÖu vÒ bé vi xö lý Intel 80x86 Sau khi ®· t×m hiÓu qua vÒ cÊu tróc cña hÖ vi xö lý. Trong ch¬ng nµy ta sÏ ®i s©u t×m hiÓu mét bé vi xö lý cô thÓ vµ rÊt ®iÓn h×nh ®ã lµ bé vi xö lý cña Intel. Lý do chóng ta häc vµ t×m hiÓu vÓ bé vi xö lý Intel 80x86 mµ kh«ng ph¶i lµ vi xö lý cña c¸c h·ng kh¸c: + Thø nhÊt, ®©y lµ bé vi xö lý næi tiÕng mét thêi thuéc hä 80x86 cña Intel, nã ®îc sö dông trong nhiÒu lÜnh vùc kh¸c nhau, nhÊt lµ trong c¸c m¸y IBM PC /XT. C¸c bé vi xö lý thuéc hä nµy sÏ cßn ®îc sö dông réng r·i trong hµng chôc n¨m n÷a, vµ vi tÝnh kÕ thõa cña c¸c s¶n phÈm trong hä 80x86, c¸c ch¬ng tr×nh viÕt cho 8088 vÉn cã thÓ ch¹y trªn c¸c hÖ thèng tiªn tiÕn sau nµy. + Thø hai, vÒ gãc ®é s ph¹m th× ®©y lµ bé vi xö lý kh¸ ®¬n gi¶n vµ v× viÖc d¹y hiÓu nã lµ t¬ng ®èi dÔ ®èi víi nh÷ng ngêi míi b¾t ®Çu th©m nhËp vµo lÜnh vùc nµy. + Thø ba, c¸c hä vi xö lý tuy cã kh¸c nhau nhng xÐt cho cïng còng cã kh¸ nhiÒu ®iÓm chñ yÕu rÊt gièng nhau. Do ®ã mét khi ®· n¾m ®îc c¸c vÊn ®Ò kü thuËt cña 8086, ta sÏ cã c¬ së ®Ó n¾m b¾t c¸c kü thuËt cña c¸c bé vi xö lý kh¸c cïng trong hä Intel 80x86 hoÆc cña c¸c hä kh¸c. Bªn trong cña bé vi xö lý. - Bé vi xö lý thêng ®îc xem lµ bé n·o cña hÖ m¸y vi tÝnh. Bé vi xö lý lµ mét vi m¹ch tÝch hîp cùc lín. Chóng ta sÏ nghiªn cøu bé vi xö lý ®iÓn h×nh lµ 8086. Bé vi xö lý 8086 gåm cã 2 phÇn chÝnh lµ ®¬n vÞ thùc hiÖn lÖnh EU (Execution Unit) vµ ®¬n vÞ giao tiÕp BIU (Bus Interface Unit). EU thùc hiÖn tÊt c¶ c¸c tÝnh to¸n sè häc vµ logic, cßn BIU thu nhËn lÖnh (Fetche) vµ d÷ liÖu tõ bé nhí. C¸c lÖnh nµy dïng ®Ó ®iÒu khiÓn vµ cho ho¹t ®éng cña CPU. 10
- TËp bµi gi¶ng Vi xö lý1 2.1.2. Giíi thiÖu vÒ cÊu tróc bªn trong cña vi xö lý 8086 a. S¬ ®å cÊu tróc: H×nh 2.1 CÊu tróc bªn trong cña vi xö lý 8086 b. Vai trß cña c¸c khèi chøc n¨ng trong CPU 8086 - Khèi BIU, EU: Bªn trong CPU 8086 cã 2 khèi chÝnh: khèi phèi ghÐp ( bus interface unit, BIU ) vµ khèi thùc hiÖn lÖnh ( execution unit, EU ). ViÖc chia CPU ra thµnh 2 phÇn lµm viÖc ®ång thêi cã liªn hÖ víi nhau qua ®Öm lÖnh lµm t¨ng ®¸ng kÓ tèc ®é xö lý cña CPU. C¸c bus bªn trong CPU cã nhiÖm vô chuyÓn t¶i tÝn hiÖu cña c¸c khèi kh¸c. Trong sè c¸c bus ®ã cã bus d÷ liÖu 16 bit cña ALU, bus c¸c tÝn hiÖu ®iÒu khiÓn ë EU vµ bus trong cña hÖ thèng ë BIU. Tríc khi ®i ra bus ngoµi hoÆc ®i vµo bus trong cña bé vi xö lý c¸c tÝn hiÖu truyÒn trªn bus thêng ®îc cho ®i qua c¸c bé ®Öm ®Ó n©ng cao tÝnh t¬ng thÝch cho nèi ghÐp hoÆc n©ng cao phèi ghÐp. BIU ®a ra ®Þa chØ, ®äc m· lÖnh tõ bé nhí, ®äc / ghi d÷ liÖu tõ vµo cæng hoÆc bé nhí. Nãi c¸ch kh¸c BIU chÞu tr¸ch nhiÖm ®a ®Þa chØ ra bus vµ trao ®æi d÷ liÖu víi bus. Trong EU ta thÊy cã mét khèi ®iÒu khiÓn ( control unit, CU ). ChÝnh t¹i bªn trong khèi ®iÒu khiÓn nµy cã m¹ch gi¶i m· lÖnh. M· lÖnh ®äc vµo tõ bé nhí ®îc ®a ®Õn ®Çu vµo cña bé gi¶i m·, c¸c th«ng tin thu ®îc tõ ®Çu ra cña nã sÏ ®îc ®a ®Õn m¹ch t¹o xung ®iÒu khiÓn, kÕt qu¶ lµ tu thu ®îc c¸c d·y xung kh¸c nhau ( tuú theo m· lÖnh ) ®Ó ®iÒu khiÓn ho¹t ®éng cña c¸c bé phËn bªn trong vµ bªn ngoµi CPU. Trong 11
- TËp bµi gi¶ng Vi xö lý1 khèi EU cßn cã khèi sè häc vµ l«gic (arithmetic and logic unit. ALU ) dïng ®Ó thùc hiÖn c¸c thao t¸c kh¸c nhau víi c¸c to¸n h¹ng cña lÖnh. Tãm l¹i, khi CPU ho¹t ®éng EU sÏ cung cÊp th«ng tin vÒ ®Þa chØ cho BIU ®Ó khèi nµy ®äc lÖnh vµ d÷ liÖu, cßn b¶n th©n nã th× ®äc lÖnh vµ gi¶i m· lÖnh. Trong BIU cßn cã mét bé nhí ®Öm lÖnh víi dung lîng 6 byte dïng ®Ó chøa c¸c m· lÖnh ®äc ®îc n»m s½n ®Ó chê EU xö lý ( trong tµi liÖu cña Intel bé ®Öm lÖnh nµy cßn ®îc gäi lµ hµng ®îi lÖnh ). §©y lµ mét cÊu tróc míi ®îc cÊy vµo bé vi xö lý 8086, 8088 do viÖc Intel ®a c¬ chÕ xö lý xen kÏ liªn tôc, dßng m· lÖnh ( instruction pipelining ) vµo øng dông trong c¸c bé vi xö lý thÕ hÖ míi. Pipeline lµ mét c¬ chÕ ®· ®îc øng dông tõ nh÷ng n¨m 60 tõ c¸c m¸y lín. Nh©n ®©y ta sÏ giíi thiÖu s¬ qua mét chót vÒ c¬ chÕ nµy. Trong c¸c bé vi xö lý ë c¸c thÕ hÖ tríc ( nh ë 8085 ch¼ng h¹n ), th«ng thêng ho¹t ®éng cña CPU gåm 3 giai ®o¹n: ®äc m· lÖnh ( opcode fetch ), gi¶i m· lÖnh (decode ) vµ thùc hiÖn lÖnh ( execution ). Trong mét thêi ®iÓm nhÊt ®Þnh, CPU thÕ hÖ nµy chØ cã thÓ thùc hiÖn mét trong ba c«ng viÖc nãi trªn vµ v× vËy tuú theo tõng giai ®o¹n sÏ cã nh÷ng bé phËn nhÊt ®Þnh cña CPU ë tr¹ng th¸i nhµn rçi. Ch¼ng h¹n, khi CPU gi¶i m· lÖnh hoÆc khi nã ®ang thùc hiÖn nh÷ng lÖnh kh«ng liªn quan ®Õn bus (thao t¸c néi bé) th× c¸c bus kh«ng ®îc dïng vµo viÖc g× dÉn ®Õn t×nh tr¹ng l·ng phÝ kh¶ n¨ng cña chóng. Trong khi ®ã tõ bé vi xö lý 8086/88, Intel sö dông c¬ chÕ xö lý xen kÏ liªn tôc dßng m· lÖnh th× CPU ®îc chia thµnh 2 khèi vµ cã sù ph©n chia c«ng viÖc cho tõng khèi: viÖc ®äc m· lÖnh lµ do khèi BIU thùc hiÖn, viÖc gi¶i m· lÖnh vµ thùc hiÖn lÖnh lµ do khèi EU ®¶m nhiÖm. C¸c khèi chøc n¨ng nµy cã kh¶ n¨ng lµm viÖc ®ång thêi vµ c¸c bus sÏ liªn tôc sö dông: trong khi EU lÊy m· lÖnh tõ bé ®Öm 6 byte ®Ó gi¶i m· hoÆc thùc hiÖn c¸c thao t¸c néi bé th× BIU vÉn cã thÓ ®äc m· lÖnh tõ bé nhí chÝnh råi ®Æt chóng vµo bé nhí ®Öm lÖnh ®· nãi. Bé ®Öm lÖnh nµy lµm viÖc theo kiÓu “ vµo tríc - ra tríc “ (first in-first out, FIFO ), nghÜa lµ byte nµo ®îc cÊt vµo ®Öm tríc sÏ ®îc lÊy ra xö lý tríc. NÕu cã sù vµo/ra liªn tôc cña dßng m· lÖnh trong bé ®Öm nµy th× cã nghÜa lµ cã sù phèi hîp ho¹t ®éng hiÖu qu¶ gi÷a hai khèi EU vµ BIU theo c¬ chÕ xö lý xen kÏ liªn tôc dßng m· lÖnh ®Ó lµm t¨ng tèc ®é xö lý tæng thÓ. - C¸c thanh ghi: Trong bé vi xö lý 8086 ta cßn thÊy cã c¸c thanh ghi 16 bit chia thµnh 4 nhãm chÝnh. Ta sÏ lÇn lît giíi thiÖu c¸c thanh ghi nãi trªn cïng chøc n¨ng chÝnh cña chóng. 12
- TËp bµi gi¶ng Vi xö lý1 AX BX Nhãm 1 (nhãm c¸c thanh ghi ®a n¨ng) CX DX BP SP Nhãm 2 (nhãm c¸c thanh ghi con trá vµ chØ sè) SI DI IP F Nhãm 3 (nhãm c¸c thanh ghi lÖnh ®iÒu khiÓn vµ MSW tr¹ng th¸i) CS DS Nhãm 4 (nhãm c¸c thanh ghi ®o¹n, m¶ng) ES SS H×nh 2.2 C¸c thanh ghi + Nhãm 1 (nhãm c¸c thanh ghi ®a n¨ng) AH AL AX: Accumulator BH BL BX: Base CH CL CX: Count DH DL DX: Data 8 bits cao (H) 8 bits thÊp [L] Nhãm nµy gåm cã bèn thanh ghi ®a n¨ng 16 bit AX, BX, CX, DX. §iÒu ®Æc biÖt lµ khi cÇn chøa c¸c d÷ liÖu 8 bit th× mçi thanh ghi cã thÓ t¸ch ra thµnh hai thanh ghi 8 bit cao vµ thÊp ®Ó lµm viÖc ®éc lËp, ®ã lµ c¸c tËp thanh ghi AH vµ AL, BH vµ BL, CH vµ CL, DH vµ DL ( trong ®ã H chØ phÇn cao, L chØ phÇn thÊp ). Mçi thanh ghi cã thÓ dïng mét c¸ch v¹n n¨ng ®Ó chøa c¸c tËp d÷ liÖu kh¸c nhau nhng còng cã c«ng viÖc ®Æc biÖt nhÊt ®Þnh chØ thao t¸c víi mét vµi thanh ghi nµo ®ã vµ chÝnh v× vËy c¸c thanh ghi thêng ®îc g¸n cho nh÷ng c¸i tªn ®Æc biÖt rÊt cã ý nghÜa. 13
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng vi xử lý - Chương 1
8 p | 620 | 336
-
Giáo trình vi xử lý CHƯƠNG 2: LẬP TRÌNH HỢP NGỮ
34 p | 528 | 221
-
Giáo trình vi xử lý - Giao tiếp với các thiết bị dơn giản
18 p | 394 | 167
-
Bài giảng vi xử lý- Chương 3 Vi xử lý 8088-Intel 3 - ĐH Bách Khoa Đà Nẵng
122 p | 482 | 104
-
Bài giảng vi xử lý-Chương số 1: Giới thiệu vi xử lý
135 p | 152 | 63
-
Giáo trình vi xử lý - Chương 1: Tổ chức hệ thống vi xử lý
42 p | 196 | 57
-
Bài giảng vi xử lý: Chương 1 - Hồ Trung Mỹ
135 p | 229 | 20
-
Bài giảng vi xử lý: Chương 5 (phần 1) - Hồ Trung Mỹ
140 p | 99 | 13
-
Bài giảng Vi xử lý - Vi điều khiển: Chương 1 - ThS. Phan Đình Duy
20 p | 89 | 12
-
Bài giảng Kỹ thuật vi xử lý: Chương 1 - Phạm Xuân
53 p | 102 | 10
-
Bài giảng vi xử lý: Chương 3 (3.1, 3.2, 3.3) - Hồ Trung Mỹ
101 p | 89 | 8
-
Bài giảng Vi xử lý - Vi điều khiển: Chương 2.1 - ThS. Phan Đình Duy
36 p | 69 | 7
-
Bài giảng vi xử lý-Chương số 2: Cấu trúc
21 p | 50 | 6
-
Bài giảng Vi xử lý - Chương 1: Giới thiệu Vi xử lý
104 p | 9 | 5
-
Bài giảng vi xử lý-Chương số 3: Tập lệnh
32 p | 75 | 4
-
Bài giảng Vi xử lý - Vi điều khiển: Chương 5.1 - ThS. Phan Đình Duy
29 p | 56 | 4
-
Bài giảng Vi xử lý - Vi điều khiển: Chương 1 - GV. Đỗ Văn Cần
19 p | 13 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn