Bạn đang xem bài viết Bộ Xử Lí Arm &Amp; Intel: Đâu Là Sự Khác Biệt được cập nhật mới nhất trên website Nhatngukohi.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất.
Tại sao CPU của ARM lại được nhiều nhà sản xuất chọn dùng hơn CPU của Intel cho các thiết bị dị động? Và CPU đóng vai trò như thế nào trong các thiết bị này.
Android hỗ trợ 3 kiến trúc bộ xử lý: ARM, Intel và MIPS, trong đó, phổ biến nhất trong cả ba thương hiệu kể trên là ARM. Intel biết tiếng là nhờ có tên tuổi trong thị trường máy tính bàn và máy chủ trong hàng chục năm qua, tuy nhiên về mảng di động, Intel lại ít có tác động. MIPS lại có bề dày lịch sử, đạt nhiều thành công cho cả hai giải pháp 32-bit và 64-bit trong nhiều mảng thị trường nhúng khác nhau. Tuy vậy, MIPS hiện ít phổ biến nhất.
Tóm lại, chỉ có ARM và Intel đang là tay chơi lớn nhất. Vậy đâu là sự khác biệt giữa bộ xử lý ARM và Intel? Tại sao ARM lại được nhiều nhà sản xuất chọn dùng hơn? Và CPU đóng vai trò như thế nào trong điện thoại thông minh và máy tính bảng? Bộ xử lí trung tâm
CPU (central processing unit – Bộ xử lí trung tâm) vẫn giữ nguyên vai trò của nó từ trước tới nay, là “bộ não” của thiết bị điện toán. Nhiệm vụ của nó là thực thi chuỗi các lệnh để điều khiển phần cứng trên thiết bị như màn hình, modem nhận sóng di động,… nhằm làm cho nguyên một khối thiết bị trở thành chiếc điện thoại thông minh, hay máy tính bảng trở nên sống động. Thiết bị di động luôn là vật phức tạp, yêu cầu CPU phải thực thi hàng triệu tập lệnh để có thể vận hành như chúng ta mong muốn. Tốc độ xử lí và mức tiêu thụ điện năng là hai yếu tố cực kỳ quan trọng. Tốc độ ảnh hưởng đến trải nghiệm người dùng trong khi mức tiêu thụ điện năng lại ảnh hưởng đến thời gian dùng pin. Thiết bị di động hoàn hảo phải có được cả về tốc độ lẫn tiêu tốn ít điện năng.
Đó là lý do tại sao chọn lựa CPU là rất quan trọng. Một CPU ngốn điện sẽ khiến pin mau hết, nhưng một CPU hiệu quả và mạnh mẽ sẽ cho bạn cả hai thứ: tốc độ và thời gian dùng pin lâu.
Ở mức cao nhất, sự khác biệt đầu tiên giữa CPU của ARM và Intel là ARM dùng RISC (Reduced Instruction Set Computing – tập lệnh rút gọn) và Intel dùng CISC (Complex Instruction Set Computing – tập lệnh đầy đủ). Nói ngắn gọn, RISC gọn hơn, cụ thể hơn trong khi CISC lớn hơn, phức tạp hơn. Điều này có nghĩa là mỗi tập lệnh cần chuyển dịch ra từng lệnh đơn mà CPU có thể thực thi, ví dụ thêm nội dung vào hai thanh ghi (register). CISC diễn đạt một ý tưởng duy nhất nhưng CPU phải cần đến 3 hay 4 lệnh cơ bản hơn nữa thì mới có thể thực thi được. Ví dụ, một CPU CISC nhận được lệnh là cùng lúc thêm vào 2 số lưu trong bộ nhớ chính. Để làm điều này, CPU CISC cần lấy số từ địa chỉ 1 (1 công việc), lấy số từ địa chỉ 2 (công việc thứ 2), thêm hai số vào bộ nhớ (công việc thứ 3) và cứ tiếp tục như thế.
Mọi CPU hiện đại sử dụng một khái niệm gọi là microcode (vi mã), là một tập lệnh nội hàm của CPU dùng để mô tả các công việc chi tiết như trên mà CPU có thể thực hiện. Đó là những công việc ở cấp thấp nhất, nhỏ nhất mà CPU thực sự phải làm. Trên bộ xử lý RISC, các công việc trong tập lệnh phức tạp và các công việc trong tập lệnh microcode rất gần nhau. Còn trên CISC, các lệnh phức tạp cần phải chia nhỏ thành các lệnh microcode nhỏ hơn. Điều này có nghĩa là bộ giải mã tập lệnh phải làm việc nhiều hơn trên bộ nhớ CISC, còn bộ xử lý RISC thì xử lý đơn giản hơn, cũng có nghĩa là ít tốn điện và hiệu quả cao hơn.
Quy trình xử lý
Sự khác biệt lớn tiếp theo giữa bộ xử lý ARM và Intel là ARM ngay từ ban đầu đã được thiết kế với mục đích hiệu quả về điện năng. Và ARM đã tinh thông về công nghệ hướng đến yếu tố này. Tuy vậy, Intel lại rất “sành” trong việc thiết kế ra những bộ xử lý mạnh mẽ dành cho máy tính bàn và máy chủ. Đến nay, Intel vẫn dẫn đầu ngành trong thị trường máy bàn và máy chủ từ 20 năm qua. Tuy vậy, khi đến với di động, Intel lại tiếp tục sử dụng cùng cấu trúc tập lệnh CISC mà họ dùng cho máy bàn và chỉnh sửa cấu trúc ấy cho hợp với thiết bị di động.
Bộ xử lý Intel i7 trung bình sản sinh nhiệt lượng khoảng 45W. Một chip SoC của điện thoại thông minh chạy nền ARM (gồm cả GPU) có ngưỡng nhiệt lượng tối đa khoảng 3W, ít hơn 15 lần so với Intel i7. Intel hiện nay có được đội ngũ kỹ sư giỏi, hùng hậu. Bộ xử lý Atom mới nhất của họ có thiết kế nhiệt tương tự với bộ xử lý nền ARM, nhưng để làm được điều đó thì họ phải sử dụng quy trình sản xuất 22 nm mới nhất. Theo hướng này, chỉ số nanomet càng thấp thì càng hiệu quả về điện năng. Bộ xử lý ARM cũng có những đặc tính nhiệt lượng tương tự nhưng ở quy trình xử lý nanomet lớn hơn. Ví dụ, Qualcomm Snapdragon 805 sử dụng quy trình 28 nm.
Điện toán 64-bit
Khi nói đến điện toán 64-bit, cũng có vài khác biệt quan trọng giữa ARM và Intel. Bạn cần biết Intel thậm chí không phải là công ty phát minh ra bản 64-bit của tập lệnh x86 của họ. Trước đây còn có tên là x86-64 (hoặc đôi khi chỉ vắn tắt là x64), tập lệnh này thực chất do AMD thiết kế. Câu chuyện là Intel muốn đi lên điện toán 64-bit nhưng nếu sử dụng kiến trúc 32-bit x86 để tạo ra bản 64-bit là không hiệu quả. Vì vậy, Intel khởi động một dự án bộ xử lý 64-bit mới tên là IA64. Và kết quả là dòng bộ xử lý Itanium ra đời. Trong khi đó, AMD biết họ không thể sản xuất được bộ xử lý tương thích IA64 nên AMD đi trước một bước khi mở rộng thiết kế x86 để có thể tương thích được với bộ định địa chỉ và thanh ghi 64-bit. Kết quả là kiến trúc mang tên AMD64 ra đời, trở thành chuẩn 64-bit không chính thức dành cho bộ xử lý x86.
Dự án IA64 chưa bao giờ đạt được thành công mỹ mãn và đến nay đã đi vào ngõ cụt. Cuối cùng, Intel cũng phải chấp nhận AMD64. Các sản phẩm di động hiện thời của Intel là bộ xử lý 64-bit sử dụng tập lệnh 64-bit do AMD thiết kế nhưng có vài khác biệt nhỏ.
Còn với ARM, câu chuyện lại khác đi. Nhận thấy nhu cầu điện toán 64-bit cho di động, ARM công bố kiến trúc ARMv8 64-bit hồi năm 2011. Đây là kết quả của quá trình nhiều năm nghiên cứu về kiến trúc tập lệnh (ISA, instruction set architecture) ARM thế hệ tiếp theo. Kiến trúc ARMv8 sử dụng hai trạng thái thực thi, AArch32 và AArch64.
Giống như tên của hai trạng thái này, ARMv8 chạy mã 32-bit bằng AArch32 và mã 64-bit bằng AArch64. Điểm nhấn của thiết kế ARM là bộ xử lý có thể chuyển đổi qua lại giữa hai trạng thái rất mượt trong suốt quá trình vận hành. Bộ giải mã cho các lệnh 64-bit hoàn toàn mới, không cần tương thích với bộ giải mã 32-bit. Tuy vậy, bộ xử lý này lại có vấn đề về khả năng tương thích ngược.
AMD64 trở thành chuẩn 64-bit không chính thức dành cho bộ xử lý x86Điện toán không đồng nhất
Kiến trúc big.LITTLE (kiểu chơi chữ: ý nói nhỏ nhưng lớn, lớn nhưng nhỏ) của ARM là một cải tiến mà Intel không thể bắt kịp. Trong big.LITTLE, các nhân CPU không cần cùng loại. Trước nay, một bộ xử lý nhân đôi hay nhân tứ có 2 hoặc 4 nhân cùng loại. Vì vậy, bộ xử lý Atom nhân đôi có hai nhân x86-64 giống nhau, đều có tốc độ xử lý như nhau và sử dụng cùng mức năng lượng. Nhưng với big.LITTLE, ARM đưa ra khái niệm điện toán không đồng nhất (heterogeneous computing) cho thiết bị di động. Điều này có nghĩa là các nhân có thể khác nhau về tốc độ xử lý lẫn điện năng tiêu thụ. Khi thiết bị di động không phải làm nhiều việc thì nhân điện năng thấp chạy, nhưng khi tải các ứng dụng nặng như game thì nhân tốc độ cao sẽ vào cuộc.
Nhưng đây mới là điều kỳ diệu. Khi nói về thiết kế CPU, có một loạt quyết định quan trọng về mặt thiết kế ảnh hưởng trực tiếp đến tốc độ xử lý và lượng điện năng tiêu tốn của bộ xử lý. Khi một lệnh được giải mã và chuẩn bị được đưa vào thực thi thì CPU (cả ARM lẫn Intel) sử dụng luồng pipeline, điều này nghĩa là mỗi một phần của quy trình giải mã lệnh ấy đều đang được xử lý song song. Nên giai đoạn 1 là CPU đi lấy lệnh từ bộ nhớ, sau đó giai đoạn 2 là lọc ra loại lệnh nào cần được kiểm tra và giải mã, giai đoạn 3 là lệnh đó sẽ được thực thi, và cứ tiếp tục vòng lặp như vậy. Điểm hay của luồng xử lý pipeline là trong khi lệnh đầu tiên đang ở giai đoạn 2 thì lệnh tiếp theo đã nằm ở giai đoạn 1. Khi lệnh đầu tiên đang ở giai đoạn 3 thì lệnh thứ 2 đã đến giai đoạn 2 và lệnh thứ 3 đang ở giai đoạn 1, liên tục như vậy.
Để đẩy nhanh tiến độ thì luồng pipeline này được chỉnh sửa để lệnh có thể được thực thi theo một trật tự khác một chương trình thông thường. Có một nguyên tắc logic để quy định lệnh tiếp theo là gì dựa trên nội dung của lệnh trước đó. Cả Intel và ARM đều đưa ra nguyên tắc logic riêng nhưng đó là công nghệ phức tạp. Phức tạp ở đây có ý là tốn nhiều điện năng để xử lý. Trên bộ xử lý Intel, các nhà thiết kế chọn cách áp dụng một lệnh nào đó có cần được sắp xếp để thực thi hay không. Nhưng với điện toán bất đồng thì không là vấn đề. Nhân ARM Cortex-A53 đưa hết các lệnh vào thực thi mà không cần sắp xếp, nghĩa là ít tốn điện năng hơn; còn nhân Cortex-A57 thì sắp xếp lệnh đầu vào, nghĩa là chạy nhanh hơn nhưng tốn nhiều điện năng hơn. Trong bộ xử lý big.LITTLE, có cả hai nhân Cortex-A53 và Cortex-A57 và hai nhân này được sử dụng tuỳ vào nhu cầu. Bạn không cần đến một lệnh thực thi cực nhanh nào chỉ để âm thầm đồng bộ email nhưng bạn lại cần lệnh đó khi chơi game. Vậy nhân thích hợp cần dùng đúng thời điểm.
Nguyên tắc sử dụng logic phức tạp trong bộ xử lý để tăng tốc độ xử lý và logic đơn giản để tiết kiệm điện không chỉ đơn thuần là áp dụng cho dòng lệnh pipeline. Nguyên tắc này cũng áp dụng cho các đơn vị tính toán dấu chấm động cho đến logic SIMD (như NEON trên ARM và SSE/MMX trên Intel) và cách mà bộ đệm cache L1 và L2 chạy. Intel đưa ra một giải pháp cho mỗi chip Atom SoC, còn ARM thông qua đối tác của họ, đưa ra được nhiều cấu hình nhân xử lý, nhiều nhân trong số này có thể đặt đồng thời trên một tấm silicon. Tính tương thích
ARM hiện dẫn đầu thị trường về bộ xử lý di động. Các đối tác của ARM đã xuất khoảng 50 tỉ chip dựa trên thiết kế của ARM cho mọi thiết bị di động và thiết bị nhúng trên thị trường. Đối với Android, ARM là chuẩn không chính thức và hiện thực này đang tạo ra vấn đề đối với Intel và MIPS. Mặc dù Android sử dụng Java là ngôn ngữ lập trình chủ đạo nhưng nó cũng cho phép các nhà lập trình tận dụng mã nguồn (như C, C++) hiện thời để tạo ứng dụng. Nhưng nhìn chung, những ứng dụng được thiết kế riêng (native) đều được biên dịch cho bộ xử lý ARM, còn với Intel và MIPS thì không. Để giải quyết điều này, Intel và MIPS cần dùng một phần mềm chuyển dịch chuyên biệt để chuyển đổi các lệnh ARM thành mã nguồn cho bộ xử lý của họ. Điều này lại tác động đến hiệu năng. Tính đến nay, MIPS và Intel có thể khẳng định tính tương thích chip của họ với các app trên Play Store đạt khoảng 90%. Con số này đạt gần đến 100% đối với 150 app nằm trong top đầu. Một mặt, đây có thể là dấu hiệu tốt nhưng mặt khác, nó lại cho thấy sự thống trị của ARM mà các nhà thiết kế bộ xử lý khác cần phải tạo thêm một lớp tương thích nữa. Kết luận
Tạo một CPU là ngành kinh doanh phức tạp. ARM, Intel và MIPS đều đang nỗ lực hết mình để mang ra thị trường công nghệ tốt nhất cho thiết bị di động. Tuy nhiên, rõ ràng ARM đang đi đầu. Họ tập trung tốt và điện năng tiêu tốn của bộ xử lý, thiết lập 64-bit gọn đẹp, điện toán không đồng nhất và họ gần như trở thành chuẩn trong ngành điện toán di động.
Bạn Có Đam Mê
Với Vi Mạch hay Nhúng
-
Bạn M
u
ốn Trau Dồi Thêm Kĩ Năng
Mong Muốn Có Thêm Cơ Hội Trong Công Việc
Và Trở Thành Một Người Có Giá Trị Hơn
Bạn
Chưa Biết Phương Thức Nào Nhanh Chóng Để Đạt Được Chúng
Hãy Để Chúng Tôi Hỗ Trợ Cho Bạn.
SEMICON
Hotline:
0972.800.931 – 0938.838.404 (Mr Long)
Tìm Hiểu Bộ Vi Xử Lý (Cpu)
CPU là một thành phần quan trọng nhất của máy tính, nắm được nguyên tắc hoạt động, cấu tạo & các thông số kỹ thuật sẽ giúp bạn hiểu rõ được cách hoạt động của máy tính qua đó học tốt hơn môn A+ nói riêng & quản trị mạng nói chung
I – Chức năng của CPU
CPU (Central Processing Unit) là đơn vị xử lí trung tâm. CPU có thể được xem như não bộ, một trong những phần tử cốt lõi nhất của máy vi tính. Nhiệm vụ chính của CPU là xử lý các chương trình và dữ kiện. CPU có nhiều kiểu dáng khác nhau. Ở hình thức đơn giản nhất, CPU là một con chip với vài chục chân. Phức tạp hơn, CPU được ráp sẵn trong các bộ mạch với hàng trăm con chip khác. CPU là một mạch xử lý dữ liệu theo chương trình được thiết lập trước. Nó là một mạch tích hợp phức tạp gồm hàng triệu transistor
II – Cấu tạo của CPU
CPU được cấu tạo bởi 3 thành phần chính.
Bộ điều khiển ( Control Unit ) Là các vi xử lí có nhiệm vụ thông dịch các lệnh của chương trình và điều khiển hoạt động xử lí,được điều tiết chính xác bởi xung nhịp đồng hồ hệ thống. Mạch xung nhịp đồng hồ hệ thống dùng để đồng bộ các thao tác xử lí trong và ngoài CPU theo các khoảng thời gian không đổi.Khoảng thời gian chờ giữa hai xung gọi là chu kỳ xung nhịp.Tốc độ theo đó xung nhịp hệ thống tạo ra các xung tín hiệu chuẩn thời gian gọi là tốc độ xung nhịp – tốc độ đồng hồ tính bằng triệu đơn vị mỗi giây-Mhz.
Bộ số học-logic (ALU-Arithmetic Logic Unit) Có chức năng thực hiện các lệnh của đơn vị điều khiển và xử lý tín hiệu. Theo tên gọi,đơn vị này dùng để thực hiện các phép tính số học( +,-,*,/ )hay các phép tính logic (so sánh lớn hơn,nhỏ hơn…)
Thanh ghi (Register ) Thanh ghi có nhiệm vụ ghi mã lệnh trước khi xử lý và ghi kết quả sau khi xử lý
III – Các thông số kỹ thuật của CPU
Tốc độ của CPU:Tốc độ xử lý của máy tính phụ thuộc vào tốc độ của CPU, nhưng nó cũng phụ thuộc vào các phần khác (như bộ nhớ trong, RAM, hay bo mạch đồ họa).Có nhiều công nghệ làm tăng tốc độ xử lý của CPU. Ví dụ công nghệ Core 2 Duo.Tốc độ CPU có liên hệ với tần số đồng hồ làm việc của nó (tính bằng các đơn vị như MHz, GHz, …). Đối với các CPU cùng loại tần số này càng cao thì tốc độ xử lý càng tăng. Đối với CPU khác loại, thì điều này chưa chắc đã đúng; ví dụ CPU Core 2 Duo có tần số 2,6GHz có thể xử lý dữ liệu nhanh hơn CPU 3,4GHz một nhân. Tốc độ CPU còn phụ thuộc vào bộ nhớ đệm của nó, ví như Intel Core 2 Duo sử dụng chung cache L2 (shared cache) giúp cho tốc độ xử lý của hệ thống 2 nhân mới này nhanh hơn so với hệ thống 2 nhân thế hệ 1 ( Intel Core Duo và Intel Pentium D) với mỗi core từng cache L2 riêng biệt. (Bộ nhớ đệm dùng để lưu các lệnh hay dùng, giúp cho việc nhập dữ liệu xử lý nhanh hơn).
FSB – (Front Side Bus) Là tốc độ truyền tải dữ liệu ra vào CPU hay là tốc độ dữ liệu chạy qua chân của CPU.Trong một hệ thống thì tốc độ Bus của CPU phải bằng với tốc độ Bus của Chipset bắc, tuy nhiên tốc độ Bus của CPU là duy nhất nhưng Chipset bắc có thể hỗ trợ từ hai đến ba tốc độ FSB: Ở dòng chíp Pen2 và Pen3 thì FSB có các tốc độ 66MHz, 100MHz và 133MHz, Ở dòng chíp Pen4 FSB có các tốc độ là 400MHz, 533MHz, 800MHz, 1066MHz, 1333MHz và 1600MHz
Đặc Điểm Cấu Trúc Của Bộ Vi Xử Lý
1. Đặc điểm cấu trúc của bộ vi xử lý Bộ vi xử lý được viết tắt là BVXL (công suất, độ dài từ, khả năng đánh địa chỉ, tốc độ). Cho Bộ VXL có tần số làm việc 750Mhz, theo kiến trúc NeuManm, bên trong được thiết kế 4 ALU và để thực hiện 1 lệnh VXL cần 5 vi lệnh với hệ số thời gian truy cập bộ nhớ là 100 ns. Xác định tốc độ thực hiện lệnh của bộ VXL. Trả lời:
1.1 Những đặc điểm cấu trúc của bộ VXL: + Công suất của bộ VXL: là khả năng xử lý dữ liệuĐặc điểm: * Độ dài từ của bộ VXL(data word length), tính bằng số byte. * Tốc độ xử lý lệnh của Bộ VXL (instruction execute speed) * Dung lượng nhớ VL có thể đánh địa chỉ (addressing capacity). * Công suất máy tính Tốc độ x.lý thông tin, khả năng lưu trữ thông tin, khả năng kết nối nhiều loại thiết bị ngoại vi, … phụ thuộc vào công suất của bộ VXL trong CPU.* Độ dài từ: Mỗi bộ VXL có thể xử lý dữ liệu với độ dài từ cố định. Phụ thuộc vào từng thế hệ VXL và mức độ phát triển của công nghệ VXL, độ dài từ có thế là 4 bit, 8 bit, 16 bit, 32 bit, 64 bit. Tập lệnh của bộ VXL thường có các lệnh thực hiện theo từ và theo byte. Nếu 1 từ là 2 byte thì cũng phân biệt byte cao và byte thấp. Byte thấp chiếm các bit từ 0 đến 7, Byte cao chiếm các bit từ 8 đến 15. Độ rộng từ có độ dài bao nhiêu bit thì cũng có bấy nhiêu bit đối với các thanh ghi, ALU và bus dữ liệu bên trong bộ VXL. Bus dữ liệu bên ngoài cũng thường có chừng đó độ dài nhưng cũng có thể chỉ 1 byte trong khi độ dài xử lý bên trong của bộ VXL là 6 bit. Độ dài từ càng lớn càng tạo ra nhiều khả năng tính toán của bộ VXL, khoảng biểu diễn số rộng hơn, tốc độ tính toán nhanh hơn. * Khả năng đánh địa chỉ: Các từ dữ liệu và lệnh máy cắt trong BN tại các ngăn nhớ khác nhau. Mỗi ngăn nhớ phải có địa chỉ nhận biết. Dải đánh địa chỉ càng lớn thì dung lượng BN càng nhiều. Để đánh địa chỉ, bộ VXL thường có thanh ghi địa chỉ. Độ rộng của thanh ghi địa chỉ quyết định giải địa chỉ của vùng nhớ vật lý mà bộ VXL thỏa mãn. VD: độ rộng của thanh ghi là 6 bit có thể đánh được địa chỉ khoảng nhớ vật lý là 216 = 26 . 210 = 64 KB = 65536 từ 8 bit. Với số mũ ở hệ cơ số 2 ta có thể đánh giá ngay được độ rộng của thanh ghi địa chỉ hay bus địa chỉ. VD: để đánh được địa chỉ đến 32Gb, cần phải có 35 đường dây địa chỉ (A0-A34). Khả năng đánh địa chỉ càng lớn thì càng cho phép tạo ra 1 hệ thống máy tính có cấu hình mạnh với nhiều loại thiết bị ngoại vi, bộ nhớ chính có dung lượng lớn (đến vài trăm MB) và khả năng xử lý nhanh. * Tốc độ thực hiện lệnh: Tốc độ thực hiện lệnh của bộ VXL có thể đo bằng tốc độ thực hiện các lệnh dấu phẩy động FLOPS hoặc tính bằng triệu lệnh/giây (MIPS). Công thức tính MIPS theo kiến trúc NeuMan là: MIPS = (f*N)/(M+T) Trong đó: f : tần số làm việc của Bộ VXL N: số lượng các đơn vị xử lý số học và logic (ALU) không phụ thuộc vào nhau bên trong bộ VXL M: số lượng vi lệnh trung bình của 1 lệnh trong bộ VXL T : hệ số tg truy cập BN (chu trình chờ đợi trong khi truy cập BN) Theo CT này, tốc độ thực hiện lệnh của bộ VXL có thể thay đổi nhờ 4 yếu tố. Để nâng cao tốc độ VXL kiên trúc song song , đường ống, đồng xử lý, BN dự trữ. Và bus rộng đã được áp dụng cho cac chip VXL công nghệ cao hiện nay. MIPS phụ thuộc vào tần số nhịp đồng hồ của bộ VXL. Tần số nhịp càng lớn thì tốc độ thực hiện lệnh càng cao. Các bộ VXL khi s/x thường có kí hiệu chữ cái hay số cụ thể để phân biệt tần số nhịp đồng hồ. Tần số nhịp đồng hồ của bộ VXL phụ thuộc vào công nghệ chế tạo bộ VXL. Phần lớn các bộ VXL được chế tạo theo 2 công nghệ bán dẫn: NMOS và CMOS1.2 Tốc độ thực hiện lệnh của bộ VXL: f = 750MHz N=4 M=5 T=100 MIPS=(f*N)/(M+T)=(750*4)/(5+100)=…
Đặc điểm cấu trúc của bộ vi xử lý
Vi Xử Lý Và Cấu Trúc Máy Tính Vi Xử Lý 8086
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
BÀI TẬP LỚN MÔN: VI XỬ LÝ VÀ CẤU TRÚC MÁY TÍNH
Sinh viên thực hiện
Lớp/Khóa
Khoa
ĐIỆN TỬ2K12
ĐIỆN TỬ
NGUYỄN VĂN CHUNG
ĐỒNG VĂN TUẤN NGUYỄN THỊ XOAN
Giáo viên hướng dẫn : Th.S Dương Thị Hằng.
LỚP ĐIỆN TỬ 2 K12
1
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
LỚP ĐIỆN TỬ 2 K12
2
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Nhận xét và đóng góp ý kiến của giáo viên: …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… ……………………………………………………………………………………………
Chúng em xin chân thành cảm ơn!
LỚP ĐIỆN TỬ 2 K12
3
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
PHỤ LỤC: BỘ CÔNG THƯƠNG…………………………………………………………………………………………………….1 Đề tài số: 4/19…………………………………………………………………………………………………….. 1
LỜI NÓI ĐẦU………………………………………………………………………………………………………………2 I. NỘI DUNG THỰC HIỆN………………………………………………………………………………………..5 II. MỤC ĐÍCH VÀ YÊU CẦU…………………………………………………………………………………..5 1. Mục đích………………………………………………………………………………………………………………..5 2. Yêu cầu………………………………………………………………………………………………………………….5 III. CƠ SỞ LÝ THUYẾT……………………………………………………………………………………………6 1. Cấu trúc máy tính…………………………………………………………………………………………………….6 a. Khái niệm……………………………………………………………………………………………………………….6 b. Các bộ phậncủa cấu trúc máy tính :………………………………………………………………………….6 c. phần cứng và phần mền……………………………………………………………………………………………7 2. Cấu tạo và chức năng của 806…………………………………………………………………………………..7 a. Sơ đồ khối của 8086…………………………………………………………………………………………………7 b. Sơ đồ chân của 8086………………………………………………………………………………………………10 c. Các hàm ngắt và tập lệnh của 8086………………………………………………………………………….12 IV. CÁC THIẾT BỊ NGOẠI VI…………………………………………………………………………………16 1. Cấu tạo và chức năng của IC 8255A…………………………………………………………………………16 2. Cấu tạo bộ giải mã…………………………………………………………………………………………………19 3. Cấu tạo và chức năng cửa IC 74LS138………………………………………………………………………..20 V. MỘT SỐ VÍ DỤ…………………………………………………………………………………………………23 1. Bài tập 1……………………………………………………………………………………………………………….23 Code chương trình hiển thị ra hexa và nhị phân………………………………………………………………23 2. Bài tập 2……………………………………………………………………………………………………………….26 3. Bài tập 3……………………………………………………………………………………………………………….28 a. Phân tích đề bài và cách chọn cách ghép nối…………………………………………………………….28 b. mạch ghép nối……………………………………………………………………………………………………….29 d. Code chương trình…………………………………………………………………………………………………..30 VI. KẾT LUẬN……………………………………………………………………………………………………….32
LỚP ĐIỆN TỬ 2 K12
4
BỘ CÔNG THƯƠNG
I.
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
NỘI DUNG THỰC HIỆN
II.
MỤC ĐÍCH VÀ YÊU CẦU
1. Mục đích – Giới thiệu rõ hơn về cách ghép nối giữa vi xử lý 8086 với các thiết bị ngoại vi và bộ nhớ ngoài. –
Hiểu được cách chọn địa chỉ và ghép nối bộ nhớ từ các vi mạch nhớ khác nhau.
–
Hiểu được cách giải mã địa chỉ và chọn bit để kết nối với 8255.
–
Hiểu thêm về cách quét LED 7 thanh
–
Hiểu thêm và hoạt đổng của các IC giải mã
2. Yêu cầu
– Câu 1: lâp trình bằng ngôn ngữ ASM – hợp ngữ, ngắn gọn, dễ hiểu hiển thị các thông báo khi chạy chương trình. – Câu 2: đây là phần thiết kế bộ nhớ, vẽ bằng phần mềm Proteus – Câu 3: phần lập trình viết bằng hợp ngữ, mạch được mô phỏng bằng phần mêm Protues, mạch trình bày gòn gàng, hoạt động đúng yêu cầu đề bài.
LỚP ĐIỆN TỬ 2 K12
5
BỘ CÔNG THƯƠNG
III.
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
CƠ SỞ LÝ THUYẾT
1. Cấu trúc máy tính a. Khái niệm Vi xử lý là một thành phần không thể thiếu của máy tính, ngoài ra để tạo ra một hệ hoàn chỉnh phải cần có các bộ phận khác như bôn nhớ, thiết bị vào/ra như bàn phím, màn hình…
b. Các bộ phậncủa cấu trúc máy tính :
Bộ vi xử lý (CPU- Central Processin Unit) Đóng vai trò như một bộ não của máy tính. Đây là một vi mạch số với mức độ tích hợp cực lớn, bên trong nó bao gồm nhiều khối chức năng khác nhau như đơn vị số nguyên để thao tác tính toán với các số nguyên,…. Các thông số quan trọng của một bộ vi xử lý : + Tần số làm việc + Độ rộng bus dữ liệu m + Độ rộng bus địa chỉ n
LỚP ĐIỆN TỬ 2 K12
6
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Bộ nhớ Bộ nhớ được chia thành RAM và ROM: + RAM (Random Access Memory): là bộ nhớ có thể ghi/đọc, có nghĩa là ta có thể đọc thông tin từ bộ nhớ, xóa thông tin cũ trong bộ nhớ hoặc ghi thông tin mới vào bộ nhớ; nội dung thông tin trong RAM sẽ bị mất đi khi bị mất nguồn. + ROM (Read Only Memory) :dùng để chứa các chương trình điều khiển hệ thống như chương trình để kiểm tra các thiết bị mỗi khi bật nguồn, chương trình khởi động máy… Nội dung bên trong ROM không bị mất đi khi bị mất nguồn.
Mạch ghép nối vào/ra Mạch ghép nối vao/ra có nhiệm vụ tạo ra khả năng giao tiếp giữa hệ vi xử lý với thế giới bên ngoài. Bao gồm các thiết bị như : 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, …..)
Bus hệ thống Gồm có: + Bus điều khiển:là các đương dây mang các tín hiệu điều khiển hoạt động hoặc phản ánh trạng thái của các khối như /RD, /WR, /INT… + Bus dữ liệu là các đường dây mang số liệu mà vi xử lý đang trao đổi với thiết bị nhớ hoặc thiết bị ra/vào. + Bus địa chỉ : mang thông tin về địa chỉ của ô nhowshay một thiết bị vào/ra. c. phần cứng và phần mền
Phần cứng Phần cứng (hardware) là thuật ngữ dùng để chỉ toàn bộ những thiết bị cơ khí, điện tử tạo nên máy tính như các ổ đĩa, màn hình,…
Phần mền Phần mền (software) là thuật ngữ dùng để chỉcác chương trình máy tính, nó được thực thi trên phần cứng bằng cách điều khiển sự hoạt động của phần cứng. Các phần mền được chia thành các loại sau: Hệ điều hành như DOS, Windows,…. Trình tiện ích như NC, NU, BKAV,… Chương trình ứng dụng như MS Word, Protel,…… Ngôn ngữ lập trình pascal, C, C++, Java,….
2. Cấu tạo và chức năng của 806 a. Sơ đồ khối của 8086 – Bên trong bộ vi xử lý 8086 bao gồm 2 khối chính: LỚP ĐIỆN TỬ 2 K12
7
BỘ CÔNG THƯƠNG
–
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Khối thực hiện lệnh (EU) Khối thực hiện lệnh (EU- Execution Unit) là nơi giả mã và thi hành các lệnh. EU bao gồm: –
Bộ xử lý số học và logic(ALU – Arithmatic Logiccal Unit) là nơi thưc hiện các lệnh số học và lệnh logic.
–
Các thanh ghi đa năng: Có chứa 4 thanh ghi đa năng 16 bit, mỗi thanh ghi có thể chứa bất kì các loại dữ liệu, tuy nhiên một số công việc, các thanh ghi này lại có chức năng đặc biệt của riêng nó mà các thanh ghi khác không thực hiện được. + Thanh ghi AX: đây là thanh ghi chứa, kết quả của các thao tác thường được chứa ở đây. Nếu kết quả là 8 bit thì thanh ghi AL sẽ được sử dụng + Thanh ghi BX: đây là thanh ghi cơ sở, thương được chứa địa chỉ cơ sở của một bảng khi sử dụng lệnh XLAT. + Thanh ghi CX: đây là thanh ghi đếm, nó thường được chứa số lần lặp lại trong trường hợp dùng lênh LÔP, còn CL thì thường được chứa số lần quay hay dịch bít của các thanh ghi. + Thanh ghi DX: đây là thanh ghi dữ liệu, nó thường được sử dụng cùng với thanh ghi AX để thực hiện các phép nhân hay chia của các số 16 bit. DX còn được sử dụng để chứa địa chỉ các cổng trong các lệnh vào/ra dữ liệu trực tiếp.
– Thanh ghi cờ F là một đoạn ghi đặc biệt gọi là đoạn ghi cờ hay đoạn ghi trạng thái. Mỗi bit của đoạn ghi này được dùng để phản ánh một trạng thái nhất định của kết
LỚP ĐIỆN TỬ 2 K12
8
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
quả phép toán do ALU thực hiện hoặc một trạng thái hoạt động của CPU. Đoạn ghi cờ có 16 bit nhưng chỉ dùng hết 9 bit làm bit cờ.
Các bit cờ chia thành hai loại: * Các cờ trạng thái: có 6 cờ trạng thái là C, P, A, Z, S và O. Các cờ trạng thái này được thiết lập bằng 1 hoặc xóa bằng 0 sau hầu hết các lệnh toán học và logic. + C (Carry): cờ nhớ; + P (Parity): cờ chẵn lẻ; + A (Auxiliary): cờ nhớ phụ; + Z (Zero): cờ rỗng, + S (Sign): cờ dấu; + O (Overflow): cờ tràn, * Các cờ điều khiển: có 3 cờ T, I, D. Các cờ này được thiết lập bằng 1 hoặc xóa bằng 0 thông qua các lệnh để điều khiển chế độ làm việc của bộ vi xử lý. + T (Trap): cờ bẫy, + I (Interrupt): cờ ngắt; + D (Direction): cờ hướng – Có 3 đoạn ghi con trỏ (IP, BP, SP) và 2 đoạn ghi chỉ số (SI, DI). Các đoạn ghi này ngầm định được sử dụng làm các đoạn ghi lệch cho các đoạn tương ứng: + IP (Instruction Pointer), BP (Base Pointer ), SP (Stack Ponter), SI (Source Index): DI (Destinaton Index). Bảng tóm tắt sự kết hợp ngầm định giữa đoạn ghi đoạn và đoạn ghi lệch: Đoạn ghi đoạn CS
–
Đoạn ghi lệch IP
DS
BX, DI, SI
SS
SP hoặc BP
ES
DI
Địa chỉ Địa chỉ lệnh sắp thực hiện Địa chỉ trong đoạn dữ liệu Địa chỉ trong đoạn ngăn xếp Địa chỉ chuỗi đích
Khối điều khiển (CU- Control unit). Có nhiệm vụ tạo ra các tín hiệu điều khiển các bộ phận bên trong và bên ngoài CPU.
LỚP ĐIỆN TỬ 2 K12
9
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Khối giao tiếp bus (BIU) Khối giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đẩm bảo việc trao đổi thông tin giữa 8086 với các linh kiện bên ngoài. BIU gồm : –
Một bộ cộng để tạo địa chỉ vật lý 20 bit từ các thanh ghi 16 bit.
–
Bốn thanh ghi đoạn 16 bit gồm CS, DS, SS và ES để giúp 8086 truy cập tới các đoạn trên bộ nhớ. + Thanh ghi đoạn mã CS (Code Segment),. + Thanh ghi đoạn dữ liệu DS (Data Segment). + Thanh ghi đoạn dữ liệu phụ ES (Extra Segment). + Thanh ghi đoạn ngăn xếp SS (Stack Segment). .
–
Mạch logic điều khiển có nhiệm vụ đảm bảo giao tiếp giữa 8086 với thiết bị bên ngoài.
–
Hàng đợi lệnh có độ dài 6 byte là nơi chứa các mã lệnh đọc được nằm sẵn để chờ EU xử lý.
LỚP ĐIỆN TỬ 2 K12
10
BỘ CÔNG THƯƠNG
b.
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Sơ đồ chân của 8086
Vi xử lý 8086 được thiết kế để hoạt động một trong hai chế độ, tùy thuộc vào mức điện áp đặt ở chân số 33 (chân MN/MX): – Chế độ tối thiểu (chế độ MIN) đươc thiết lập nếu điện áp ở chân số 33 ở mức 5V. là chế độ tong hệ thống chỉ có 8086 và các vi mạch nhớ , các vi mạch ghép nối vào ra. – Chế độ tối đa (chế độ MAX) được thiết lập nếu điện áp ở chân số 33 ở mức 0V, là chế độ áp dụng cho hệ thống đa xử lý, đồng xử lý (8086 và bộ đồng xử lý toán học 8087).
Các chân mang thông tin địa chỉ. -Vi xử lý 8086 có 20 đường địa chỉ từ A0 đến A19 tong đó 16 đường dây địa chỉ thấp từ A0 đến A15 được ghép kênh dữ liệu từ D0 đến D15 trên các chân từ AD0 đến AD15 ; còn 4 đường dây địa chỉ cao nhất từ A16 đến A19 được ghép kênh với tín hiệu trạng thái từ S3 đến S6 trên các chân A16/S3 đến A19/S6.
Các chân mang thông tin dữ liệu.
LỚP ĐIỆN TỬ 2 K12
11
BỘ CÔNG THƯƠNG
–
–
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Vi xử ly 8086 có 16 đường dây dữ liệu từ Do đến D15 được ghép kênh với 16 đường địa chỉ thấp từ D0 đến D15. Khi hoạt động ở chu kỳ bus dữ liệu thì các đường dây này mang thong tin về dữ liệu, là dữ liệu đọc ra hay vào bộ nhớ. Các chân tín hiệu trang thái. Bốn đường dây địa chỉ cao nhất từ A16 đến A19 của 8086 cũng được ghép kênh , nhưng trong trường hợp này nó được ghép kênh với các tín hiệu trạng thái từ S3 đén S6. Các bít trang thái này được đưa ra cùng thời điểm với các dữ liệu được truyền trên các chân AD0 đén AD15. READY: Tín hiệu báo cho CPU biết tình trạng sẵn sàng của thiết bị ngoại vi hay bộ nhớ. Khi READY = 1 thì CPU thực hiện đọc/ghi dữ liệu mà không phải chèn thêm các chu kỳ đợi. Khi các thiết bị ngoại vi hay bộ nhớ cótốc độ chậm, chúng có thể đưa tin hiệu READY = 0 để báo cho CPU biết mà chờ chúng. Lúc này CPU tự kéo dài thời gian thực hiện đọc/ghi bằng cách chèn thêm các chu kỳ đợi. Các chân tín hiệu điều khiển.
– ALE: [I] Address Latch Enable. Xung cho phép chốt địa chỉ. Khi ALE = 1 có nghĩa là trên các chân ghép kênh AD có địa chỉ của thiết bị vào/ra hoặc ônhớ. Khi CPU chấp nhận treo chân này không ở trạng thái trở kháng cao mà ALE = 0. : [O] Data bus Enable. Kích hoạt các bộ đệm bus dữ liệu. : Chọn bộ nhớ (= 0) hoặc thiếtbị vào/ra (= 1) làm việc với CPU. Khi đó trên bus địa chỉ sẽ có địa chỉtương ứng của các thiết bị đó. Chân này ở trạng thái trở kháng cao khi CPU chấp nhận treo. :[O] Data Transmit/Receive. Tín hiệu này cho biết bus dữ liệu đang vận chuyển dữ liệu vào CPU hay ra khỏi CPU. Tín hiệu này cũng dùng để điều khiển các bộ đệm 2 chiều của bus dữ liệu. : Dùng để báo răng đang truy cập năng cao hay băng thấp của bộ nhớ :[O] Read signal. Xung cho phép đọc. Khi RD = 0 thì bus dữ liệu nhận dữ liệu từ bộ nhớ hoặc thiết bị ngoại vi. Chân này ở trạng thái trở kháng caokhi CPU chấp nhận treo
Các chân tín hiệu ngắt: – INTR: [I] Interrupt request. Tín hiệu yêu cầu ngắt che được. Khi có yêu cầu ngắt (INTR = 1) mà cờ cho phép ngắt IF = 1 thì CPU kết thúc lệnh đang làm dở, sau đó đi vào chu kỳ chấp nhận ngắt và đưa ra bên ngoài tín hiệu INTA = 0. :[I] Tín hiệu tại chân này được kiểm tra bởi lệnh WAIT. Khi CPU thực hiện lệnh WAIT mà lúc đó tín hiệu TEST = 1 thì nó sẽ chờ cho đến khi tín hiệu TEST = 0 thì mới thực hiện lệnh tiếp theo.
LỚP ĐIỆN TỬ 2 K12
12
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
– NMI: [I] None-Maskable Interrupt. Tín hiệu yêu cầu ngắt không che được. Tín hiệu này không bị khống chế bởi cờ IF và nó sẽ được CPU nhận biết bằng tác động của sườn lên của xung yêu cầu ngắt. Nhận được yêu cầu ngắt này (NMI = 1) CPU kết thúc lệnh đạng làm dở,sau đó chuyển sang thực hiện chương trình phục vụ ngắt kiểu INT2. – RESET: Dùng để thiết lập lại phần cứng cho CPU. Chuyển RESET xuống mức logic 0 dùng để khởi tạo các thanh ghi nội của vi xử lý và khởi tạo chương trình con phục vụ thiết lập hệ thống. Các chân mang tín hiệu phục vụ DMA : Ở chế độ MIN của 8086 gồm hai tín hiệu HOLD và HLDA. Khi một thiết bị ngoài muốn giành quyền điều khiển bus hệ thống thực hiện truy cập bộ nhớ trực tiếp , nó báo yêu cầu này cho CPU bằng cách chuyển HOLD lên mức logic chúng tôi đó CPU chuyển sang trạng thái cô lập sau khi chu kỳ bus hiện tại thực hiện xong. Khi ở trạng thái cô lập , các đường dây tín hiệu AD0- AD15, A16/S3- A19/S6, BHE/S7, , , , và INTR. c. Các hàm ngắt và tập lệnh của 8086 Tập lệnh của 8086 + Lệnh XCHG: toán hạng đích và nguồn được đổi lẫn cho nhau XHCG đich, nguồn + Lệnh XLAT: XLAT nhan_nguồn + Lệnh ADD, SUB: ADD dich,nguon – cong nguon vao dich + Lệnh ADC: cờ nhớ được cộng vào toán hạng đích và nguồn ADC dich,nguon + Lệnh DIV: thực hiện phép chia không dấu, toán hạng nguồn có thể là một ô nhớ hay đoạn ghi. Nếu toán hạng nguồn là 8 bit thì thương số nằm trong AL, số dư nằm trong AH; nếu toán hạng nguồn là 16 bit, thì thương số nằm trong AX còn số dư nằm trong DX DIV nguon; + Lệnh IDIV (integer divide): thực hiện phép chia có dấu. IDIV nguon; + Lệnh IMUL: thực hiện phép nhân có dấu. IMUL nguon; + Lệnh INT : dùng để gọi các hàm của DOS và BIOS ;
LỚP ĐIỆN TỬ 2 K12
13
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Cú pháp : int 21h + Lệnh MOV: chuyển dữ liệu từ toán hạng nguồn vào toán hạng đích MOV dich, nguon + Lệnh OUT: xuất dữ liệu từ đoạn chứa ra cổng OUT cong,đoạn_chua + Lệnh IN: đọc dữ liệu từ cổng vào đoạn ghi.
IN đoạnghi, cong + Lệnh NEG (NEGate): toán hạng đích bị trừ đi từ số toàn chữ số 1 (0FFH với kiểu byte và 0FFFFH với kiểu từ). NEG dich; + Lệnh SBB (SuBtract with Borrow): Trừ có nhớ. Trừ toán hạng đích cho toán hạng nguồn và nếu CF=1 thì trừ kết quả nhận được cho 1. SBB dich, nguon; + Lệnh MUL(Multiply): thực hiện phép nhân không dấu. Nhân nội dung của đoạn AL với toán hạng nguồn. Nếu nguồn kiểu byte thì tích chứa trong AX, nếu nguồn là kiểu từ thi tích chứa trong DX:AX MUL nguon; + Lệnh JNZ: nếu KQ của lệnh trước đó khác 0 thi thực hiện lệnh nhảy đến nhãn_đích, ngược lại thì thực hiện lệnh kế tiếp sau đó. JNZ nhan_dich; + Lệnh JA, JG: nhảy nếu lớn hơn + Lệnh JB, JL : nhảy nếu nhỏ hơn. + Lệnh JNA, JNG: nhảy nếu không lớn hơn. + Lệnh JE: nhảy nếu bằng. + Lệnh JC : nhảy nếu cờ CF=1. + Lệnh nhảy không điều kiện (JuMP) : nhảy đến nhãn_nguồn khi gặp lệnh này. JMP nhan_nguon ; + Lệnh CMP (CoMPare) : so sánh 2 toán hạng bằng cách trừ 2 toán hạng cho nhau mà không lưu lại két quả. CMP dich, nguon ; + Lệnh lặp : lặp lại nhãn_nguồn khi gặp lệnh này. LOOP nhan_nguon ; + Các lệnh AND, OR, XOR và TEST AND dich,nguon
;AND đích với nguồn, kết quả lưu ở đích
OR dich,nguon
;OR đích với nguồn, kết quả lưu ở đích
XOR dich,nguon
;XOR đích với nguồn, kết quả lưu ở đích
LỚP ĐIỆN TỬ 2 K12
14
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
TEST dich,nguon ;AND đích với nguồn, kết quả không lưu lại + Lệnh dịch: SHL/SAL dich,1 ;dich sang trai 1 bit SHL/SAL dich,CL ; dich sang trai nhieu bit SHR dich,1 ; dich sang phai 1 bit SHR dich,CLL ; dich sang phai nhieu bit + Lệnh quay: ROL/ROR dich,1 ; quay đích sang trái/phải 1 bit ROL/ROR dich,CL ; quay đích sang trái/phải n bit, với CL=n RCL/RCR dich,1 ; quay đích sang trái/phải 1 bit RCL/RCR dich,CL ; quay đích sang trái/phải n bit, với CL=n + Lệnh HLT (HaLT): đưa bộ vi xử lý vào trạng thai dừng để chờ ngắt ngoài. Dạng lệnh: HLT + Lệnh LOCK: khóa bus trong môi trường có nhiều bộ vi xử lý. + Lệnh NOP: không thực hiện một thao tác nào. + Lệnh STI: IF được thiết lập 1. + Lệnh WAIT: Bộ vi xử lý ở trạng thái chờ cho đến khi ngắt ngoài + Lệnh PUSH: cất dữ liệu vào ngăn xếp, giảm SP đi 2. PUSH nguon; + Lệnh PUSHF: chuyển đoạn ghi cờ vào ngăn xếp. PUSHF;
+ Lệnh POP: lấy dữ liệu ra khỏi ngăn xếp và đưa vào toán hạng đích. POP dich;
+ Lệnh POPF: chuyển nội dung của 2 byte từ đinh ngăn xếp vào đoạn ghi cờ, sau đó tăng con trỏ ngăn xếp lên 2. POPF;
+ Lệnh CALL: gọi thủ tục. CALL nhan;
+ Lệnh RET: trả lại điều khiển khi thủ tục được thực hiện xong. RET;
Các hàm ngắt 21h của 8086 -Hàm 1: là hàm chờ đọc vào 1 ký tự từ thiết bị vào ra chuẩn(bàn phím). Kết quả được lưu vào trong AL. cú pháp :
MOV AH,1 INT 21H -Hàm 2 : là hàm hiển thị nội dung thanh ghi DL lên màn hình hoặc thi hành các chức năng điều khiển.
LỚP ĐIỆN TỬ 2 K12
15
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Cú pháp : MOV AH,2 MOV DL,’A’ Int 21H
-Hàm 4CH : là hàm kết thúc chương trình hiện tại và trả điều khiển về cho chương trình gọi nó. Cú pháp :
MOV AH,4CH INT 21H -Hàm 9 : Là hàm hiển thị ra màn hình một chuỗi kí tự Cú pháp :
AX,@DATA DS,AX ;khoi tao thanh ghi doan du lieu DS AH,9 DX,’chuoi ki tu’ 21H
Cấu trúc chương trình lập trình cho 8086 model small ;khai bao kieu bo nho la small .stack 100h ;khai bao kich thuoc ngan xep la 100h .data ;khai bao doan du lieu ;khai báo các biến, các hằng ở đây .code ;khai bao doan ma Main proc ;các lệnh chương trình chính Main endp ;các hàm và thủ tục End main
IV.
CÁC THIẾT BỊ NGOẠI VI
1. Cấu tạo và chức năng của IC 8255A Sơ đồ chân và chức năng của mỗi chân
LỚP ĐIỆN TỬ 2 K12
16
BỘ CÔNG THƯƠNG
–
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Trên thị trường và nghiên cứu chúng ta chỉ nghiên cứu loại đóng gói dạng DIP 40 chân của IC 8255A:
– Các chân 14, 15, 16, 17, 13, 12, 11, 10: tương ứng theo thứ tự từ PC0 đến PC7. Đây là cổng giao tiếp dữ liệu 8 bít PC, khi cần thiết, nó có thể tách thành 2 phần PC cao từ bít PC7 đến PC4 và PC thấp từ bít PC0 đến PC3.đặc biệt, hai phần này có thể hoạt động độc lập với nhau nếu cần. tùy thuộc vào thanh ghi điều khiển được cài đặt mà các cổng này có thể vào/ ra dữ liệu. – Các chân 4, 3, 2, 1, 40, 39, 38, 37: tương ứng với cổng PA từ PA0 đến PA7. Đây là cổng giao tiếp dữ liệu 8 bit vào/ ra PA. tùy theo thanh ghi điều khiển được cài đặt mà cổng này có thể xuất dữ liệu ra hoặc nhận dữ liệu vào. Cổng này khác với cổng PC, nó không thể tách làm 2 độc lập với nhau được. – Các chân từ 18 đến 25: tương ứng với cổng PB từ PB0 đến PB7 . Tương tự như cổng PA, cổng PB cũng có thể đưa dữ lieu 8 bít ra hoặc vào bằng cách thiết lập giá trị của thanh ghi điều khiển. – Các chân từ 27 đến 34 : tương ứng theo thứ tự từ D7 đến D0 – Bus dữ liêu(2 chiều). Bus dữ liệu 2 chiều này được nối tới các tín hiệu tương ứng của Vi xử lý để trao đổi dữ liệu vào/ra do chip 8086 xử lý – Chân 35: là chân Reset – khởi tạo trạng thái ban đầu của IC 8255. Nếu đặt mức này lên mức 1 thì IC bị RESET lại từ đầu. để mạch có thể chạy được, chúng ta phải đặt chân này về mức 0V – GND.
LỚP ĐIỆN TỬ 2 K12
17
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
– Chân 6: chân /CS – Tín hiệu chọn vi mạch. Đây là tín hiệu tích cực ở mức thấp 0v, vì vây chúng ta phải đặt chân này ở mức thấp để chọn IC 8255 hoạt động. nhơ vậy, chân này được sử dụng để kết hợp với mạch giải mã địa chỉ để Vi xử lý điều khiển nó hoạt động đúng yêu cầu. – Chân 5: chân /RD (Read)- là chân tín hiệu cho phép đọc. – Chân 36: chân /WR(Write) – là chân tín hiệu cho phép ghi. – Chân 9 và 8: tương ứng với chân tín hiệu địa chỉ A0 – A1, 2 chân này được nối với 2 bít được tách ra từ bộ tách địa chỉ của 8086, 2 chân này dùng để giải mã cho các cổng của 8255 với quy luật sau: + A1A0 là 00: mã hóa cho cổng PA + A1A0 là 01: mã hóa cho cổng PB + A1A0 là 10: mã hóa cho cổng PC + A1A0 là 11: mã hóa cho thanh ghi điều khiển Chính vì vậy, để chọn đúng vị trí cổng chúng ta phải đưa 2 bít bất kì được tách ra từ bộ tách tín hiệu địa chỉ sao cho 2 chân này cũng được mã hóa đúng như quy luật của A1, A0 trên 8255
chế độ hoạt động
Tuy thuộc vào đoạn ghi điều khiển khi khởi tạo mà vi mạch có thể hoạt động ở các chế độ 0, 1, 2 khác nhau, chiều của các cổng A, B, C có thể ra hoặc vào. Thanh ghi điều khiển gồm có 8 bit, mỗi bít có các chức năng khác nhau : 1
D6
D5
PA
PC cao
D2 PB
PC thấp
+ Bit D6 và D5 dùng để chọn chế độ nhóm A
Nếu D6D5 là 00 thì chọn chế độ 0 Nếu D6D5 là 01 thì chọn chế độ 1 Các trường hợp khác sẽ không xác định + Bít PA: chọn chiều cho cổng PA,
Nếu PA=0: cổng PA sẽ xuất dữ liệu ra. Nếu PA=1: cổng PA sẽ nhận dự liệu bên ngoài vào + Bít PC cao: chọn chiều ra/vào cho 4 bit cao của cổng PC
Nếu PC=0 thì cho phép cổng PC cao xuất dữ liệu ra Nếu PC=1 thì cho phép cổng PC ca0 nhận dữ liệu LỚP ĐIỆN TỬ 2 K12
18
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
+ Bít D2: chọn chế độ nhóm B
Nếu D2=0 thì chọn chế độ 0 Nếu D2=1 thì chọn chế độ 1 + Bít PB: chọn chiều ra/vào cho cổng PB
Nếu PB=0 thì cho phép cổng PB xuất dữ liệu ra Nếu PB=1 thì cho phép cổng PB nhận dữ liệu + Bít PC thấp: chọn chiều ra/vào cho 4 bit thấp của cổng PC
Nếu PC=0 thì cho phép cổng PC thấp xuất dữ liệu ra Nếu PC=1 thì cho phép cổng PC thấp nhận dữ liệu VD: để chọn chọn chế độ nhóm A là chế độ 0, nhóm B là chế độ 0, cổng PA, PB xuất dữ liệu, cổng PC nhận dữ liệu , ta cài đặt thanh ghi điều khiển như sau: Mov al, 100010001B Out DK, al Chế độ 0: + các cổng A, B, C được sử dụng đọc lập với nhau. + Cổng A, B, C có thể vào hoặc ra tùy vào đoạn ghi điều khiển – Chế độ 1: chế độ này được gọi là chế độ vào/ra đột cửa hay ddooid thoại với các bit của cổng C. Các cổng A, B, C được chia thành 2 nhóm: + Nhóm A gồm cổng A để trao đổi dữ liệu và cổng C cao để đồi thoại với Vi Xử Lý và thiếu bị ngoài. + Nhóm B gồm cổng B để trao đổi dữ liệu và cổng C thấp để đồi thoại với Vi Xử Lý và thiếu bị ngoài
LỚP ĐIỆN TỬ 2 K12
19
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
2. Cấu tạo bộ giải mã Cấu tạo bên trong và chức năng các chân :
IC 74273 là IC số được tích hợp bỏi 8 con flip-flop loại D lắp theo kiểu đồng bộ xung đồng hồ và chân clear. IC gồm có 20 chân trong đó: + Chân 20 nối với Vcc nằm ở dải 4,75 đến 5,25 Volt + Chân 10 nối với Mass + Chân 1 là chân Clear (MR) + Chân 11 là chân xung đồng hồ (CP) + Các chân 3, 4, 7, 8, 13, 14, 17, 18 là chân tín hiệu vào nối với các dây tín hiệu đa hợp của Vi Xử Lý. + Các chân 2, 5, 6, 9, 12, 15, 16, 19 là các chân tín hiệu địa chỉ được tách ra.
LỚP ĐIỆN TỬ 2 K12
20
Cập nhật thông tin chi tiết về Bộ Xử Lí Arm &Amp; Intel: Đâu Là Sự Khác Biệt trên website Nhatngukohi.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!