Bài giảng Cấu trúc máy tính - Chương 2: Tổ chức CPU - Ngô Phước Nguyên
2.1 Giới thiệu hệ thống số
2.2 Bộ xử lý trung tâm CPU
2.3 Hệ thống Bus
2.4 Bộ thanh ghi
2.5 Cơ chế định vị địa chỉ
2.6 Các đặc tính thiết kế liên quan đến hiệu suất CPU họ Intel
2.7 Các đặc trưng của CPU họ Intel
2.8 Câu hỏi ôn tập
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cấu trúc máy tính - Chương 2: Tổ chức CPU - Ngô Phước Nguyên", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Cấu trúc máy tính - Chương 2: Tổ chức CPU - Ngô Phước Nguyên
Chương 2 : Tổ chức CPU M ục tiêu : Nắm được chức năng của CPU Hiểu được các thành phần bên trong CPU. Nắm được cách CPU giao tiếp với thiết bị ngoại vi. Biết được các đặc tính của CPU họ Intel 1 Chuong 2 : Tổ chức CPU 2 .1 Giới thiệu hệ thống số 2.2 Bộ xử lý trung tâm CPU 2.3 Hệ thống Bus 2.4 Bộ thanh ghi 2.5 Cơ chế định vị địa chỉ 2.6 Các đặc tính thiết kế liên quan đến hiệu suất CPU họ Intel 2.7 Các đặc trưng của CPU họ Intel 2.8 Câu hỏi ôn tập NỘI DUNG 2 Chuong 2 : Tổ chức CPU 2.1 Hệ thống số Hệ đếm Cơ số số ký số dạng ký số và ký tự biểu diễn số nhị phân 2 2 0 1 Ex : 1010 b bát phân 8 8 0 1 2 3 4 5 6 7 Ex : 24 o thập phân 10 10 0 1 2 3 4 5 6 7 8 9 Ex : 12 d thập lục phân 16 16 0 1 2 3 4 5 6 7 8 9 A B C D E F Ex : 3F8 h 3 Chuong 2 : Tổ chức CPU Hệ thống số Vào thờI điểm đó, việc dùng các que để đểm là 1 ý tưởng vĩ đại!! Còn việc dùng các ký hiệu thay cho các que đếm còn vĩ đại hơn!!!! Một trong các cách để biểu diễn 1 số hiện nay là sử dụng hệ thống số đếm decimal. Có nhiều cách để biểu diễn 1 giá trị số. Ngày xưa, con ngườidùng các que để đếm sau đó đã học vẽ các hình trên mặtđất và trên giấy.thí dụ số 5 lần đầu được biểu diễn bằng | | | | | (bằng 5 que).Sau đó chữ số La Mã bắt đầu dùng các ký hiệu khác nhau để biểu diễn nhiều số gọn hơn. Thí dụ số 3 vẫn biểu diễn bởI 3 que | | | nhưng số 5 thì được thay bằng V còn số 10 thì thay bằng X. Hệ thống số là gì ? 4 Chuong 2 : Tổ chức CPU Hệ thống số Sử dụng que để đếm là 1 ý nghĩa vĩ đạI ở thời điểm này.Và việc dùng các ký hiệu để thay cho các que đếm càng vĩ đại hơn!!!. Một trong những cách tốt nhất hiện nay là dùng hệ thống số thập phân ( decimal system). 5 Chuong 2 : Tổ chức CPU Con người ngày nay dùng hệ 10 để đếm.Trong hệ 10 có 10 digits 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Những ký số này có thể biểu diễn bất kỳ 1 giá trị nào, thí dụ : 754 Decimal System 6 Chuong 2 : Tổ chức CPU Vị trí của từng ký số rất quan trọng, thí dụ nếu ta đặt "7" ở cuối thì:547nó sẽ là 1 giá trị khác : 7 Chuong 2 : Tổ chức CPU MT không thông minh như con ngườI,nó dùng trạng thái của điện tử : on and off, or 1 and 0.MT dùng binary system, binary system có 2 digits: 0, 1Như vậy cơ số (base) là 2. Mỗi ký số (digit) trong hệ binary number được gọi là BIT, 4 bits nhómthành 1 NIBBLE, 8 bits tạo thành 1 BYTE, 2 bytes tạo thành 1 WORD, 2 words tạo thành 1 DOUBLE WORD (ít dùng): Binary System 8 Chuong 2 : Tổ chức CPU Hexadecimal System Hexadecimal System Hexadecimal System dùng 16 digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F do đó cơ số ( base) là 16 . Hexadecimal numbers are compact and easy to read.Ta dễ dàng biến đốI các số từ binary system sang hexadecimal system and và ngược lại, mỗi nibble (4 bits) có thể biến thành 1 hexadecimal digit : Ex : 1234 h = 4660 d 9 Chuong 2 : Tổ chức CPU Các phép toán trong hệ nhị phân cộng : 0 + 0 = 0 0 + 1 = 1 1+ 0 = 1 1 + 1 = 0 nh ớ 1 trừ : 0 - 0 = 0 0 - 1 = 1 mượn 1 1 – 0 = 1 1- 1=0 Nhân : có thể coi là phép cộng liên tiếp Chia : có thể coi là phép trừ liên tiếp 10 Chuong 2 : Tổ chức CPU Các phép toán trong hệ nhị phân Bảng phép tính Logic cho các số nhị phân A B A and B A or B A xor B Not A 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 11 Chuong 2 : Tổ chức CPU Chuyển hệ töø 10 heä 2 Ñoåi töø heä 10 heä 2 : Ex : 12d = 1100b Caùch ñoåi : laáy soá caàn ñoåi chia lieân tieáp cho 2, döøng khi soá bò chia baèng 0. Keát quaû laø caùc soá dö laáy theo chieàu ngöôïc laïi. 12 : 2 = 6 0 6 : 2 = 3 0 3 : 2 = 1 1 1 : 2 = 0 döøng 1 12 Chuong 2 : Tổ chức CPU Chuyển hệ töø heä 2 heä 10 Ñoåi töø heä 2 heä 10 : Ex : 1100 b = ? d Caùch ñoåi : a i *2 i vôùi i 0...n a laø kyù soá cuûa soá caàn ñoåi. 1*2 3 +1*2 2 +0*2 1 +0*2 0 = 12 d a 13 Chuong 2 : Tổ chức CPU Chuyển hệ töø heä 10 heä 16 Ñoåi töø heä 10 heä 16 : Ex : 253 d = ? h Caùch ñoåi : laáy soá caàn ñoåi chia lieân tieáp cho 16, döøng khi soá bò chia = 0. Keát quaû laø chuoåi soá dö laáy theo chieàu ngöôïc laïi. 253 d = FD h 14 Chuong 2 : Tổ chức CPU Chuyển hệ töø heä 2 heä 16 Ñoåi töø heä 2 heä 16 : Ex : 101011010 b = ? h Caùch ñoåi : nhoùm 4 chöõ soá nhò phaân thaønh töøng nhoùm, roài chuyeån ñoåi töøng nhoùm sang soá heä thaäp luïc phaân. 0001 0101 1010 d = 15A h 1 5 A 15 Chuong 2 : Tổ chức CPU 2.2 Bộ xử lý trung tâm CPU 16 Chuong 2 : Tổ chức CPU 2.2 Bộ xử lý trung tâm CPU CPU (Central Processing Unit) Bộ xử lý trung tâm – Chức năng : thực hiện chương trình lưu trong bộ nhớ chính bằng caùch lấy lệnh ra - khảo saùt - thực hiện lần lượt caùc lệnh. Moãi CPU coù 1 taäp leänh rieâng. Chöông trình ñöôïc thöïc thi ôû CPU naøo seõ chæ goàm caùc leänh trong taäp leänh cuûa CPU ñoù . CPU gồm 1 số bộ phận tách biệt : Bộ điều khiển lấy lệnh ra từ bộ nhớ và xác định kiểu lệnh . Bộ luận lý và số học (ALU) thực hiện phép toán như cộng , and. Các thanh ghi (Registers) : lưu kết quả tạm thời và các thông tin điều khiển .CPU giao tiếp với các bộ phận khác trong máy tính thông qua các tuyến gọi là Bus 17 Chuong 2 : Tổ chức CPU CPU (cont) Caùc nhaø cheá taïo CPU qui ñònh toác ñoä thöïc hieän cuûa töøng chip phuø hôïp vôùi nhòp tim cuûa chip ñoù (clock speed) toác ñoä ñoàng hoà, nhòp ñoàng hoà. Ñôn vò ño toác ñoä cuûa chip CPU laø Mhz cho bieát chip ñaäp bao nhieâu nhòp trong 1 s. Ex : CPU 500Mhz. 18 Chuong 2 : Tổ chức CPU Sơ đồ khối Control Unit ALU Đơn vị giao tiếp – IO Card IO Device Registers Main Memory Có 2 tác vụ : Đ ọc / Ghi 2 loại dữ liệu : 1) Data : số liệu đầu vào , kết quả , dữ liệu trung gian 2) Chương trình Phép toán : số học , luận lý , so sánh , dịch , quay, xử lý bit CPU đọc , phân tích lệnh , ra lệnh cho các đơn vị chức năng thực hiện 19 Chuong 2 : Tổ chức CPU Chu kyø leänh Moät chu kyø thöïc hieän leänh maùy goàm 3 giai ñoaïn chính sau : Laáy leänh : leänh caát ôû oâ nhôù seõ ñöôïc laáy vaøo thanh ghi leänh. Giaûi maõ vaø thöïc hieän leänh : leänh trong thanh ghi leänh seõ ñöôïc giaûi maõ vaø thöïc hieän theo moâ taû cuûa leänh trong taäp leänh. Xaùc ñònh ñòa chæ cuûa leänh tieáp theo : trong khi leänh ñöôïc thöïc hieän, giaù trò cuûa boä ñeám chöông trình seõ töï ñoäng taêng leân chæ ñeán oâ nhôù chöùa leänh seõ ñöôïc thöïc hieän tieáp theo. Chu kyø leänh ñöôïc xaây döïng töø nhöõng ñôn vò cô baûn laø chu kyø maùy. 20 Chuong 2 : Tổ chức CPU Chu kyø maùy Chu kyø maùy laø chu kyø cuûa 1 hoaït ñoäng cô baûn cuûa maùy tính nhö : Chu kyø ñoïc boä nhôù Chu kyø ghi boä nhôù Chu kyø ñoïc toaùn haïng Chu kyø ghi keát quaû Clock : xung laøm nhieäm vuï ñònh thì cho maïch tuaàn töï. 21 Chuong 2 : Tổ chức CPU Thöïc hieän leänh CPU thöïc hieän leänh tuaàn töï theo chuoåi caùc böôùc : Laáy leänh keá töø boä nhôù. thanh ghi leänh. Thay ñoåi PC ñeå chæ ñeán leänh keá tieáp. Xaùc ñònh kieåu leänh vöøa laáy ra. Xaùc ñònh kieåu döõ lieäu vöøa yeâu caàu vaø xaùc ñònh vò trí döõ lieäu trong boä nhôù. Neáu leänh caàn döõ lieäu trong boä nhôù, naïp noù vaøo thanh ghi cuûa CPU 22 Chuong 2 : Tổ chức CPU Thöïc hieän leänh ( cont ) Thöïc hieän leänh.. Löu keát quaû ôû nôi thích hôïp. . Trôû về böôùc 1 ñeå thöïc hieän leänh keá. 23 Chuong 2 : Tổ chức CPU Sự phân phối thời gian cho 2 quá trình lấy lệnh và thi hành lệnh của CPU thường và CPU đường ống Thi hành lệnh Lấy lệnh CPU thường LỆNH 2 LỆNH 1 LỆNH 3 LỆNH 1 LỆNH 2 LỆNH 3 Thi hành lệnh Lấy lệnh LỆNH 2 LỆNH 1 LỆNH 3 LỆNH 1 LỆNH 2 LỆNH 3 CPU dùng cơ cấu đường ống (piple line) Thời gian tiết kiệm được 24 Chuong 2 : Tổ chức CPU Heä ña boä xöû lyù (MultiProccessor) CPU CPU CPU CPU Shared memory Bus Heä MultiProccessor söû duïng 1 ñöôøng Bus 25 Chuong 2 : Tổ chức CPU Heä ña boä xöû lyù (MultiProccessor) CPU CPU CPU CPU Shared memory Bus Heä MultiProccessor söû duïng nhieàu boä nhôù cuïc boä Local Memory 26 Chuong 2 : Tổ chức CPU Bus là các đường truyền. Thông tin sẽ được chuyển qua lại giữa các thành phần linh kiện thông qua mạng lưới gọi là các Bus. Bus 27 Chuong 2 : Tổ chức CPU 2.3 Hệ thống Bus Các thiết bị ngoại vi kết nối với hệ thống nhờ các khe cắm mở rộng (expansion slot). Bus hệ thống (Bus system) sẽ kết nối tất cả các thành phần lại với nhau. Có 3 loại bus :bus dữ liệu (data bus), bus địa chỉ (address bus) và bus điều khiển (control bus). 28 Chuong 2 : Tổ chức CPU Các loại Bus Address Bus : nhóm đường truyền nhận diện vị trí truy xuất trong thiết bị đích : thông tin được đọc từ đâu hoặc ghi vào đâu. Data Bus : nhóm đường truyền để tải data thực sự giữa các thiết bị hệ thống do địa chỉ trên address bus đã xác định. Độ rộng của data bus (số đường dây dẫn) xác định data trong mỗi lần truyền là bao nhiêu. Control Bus : nhóm đường truyền cho các tín hiệu điều khiển như : tác vụ là đọc hay ghi, tác vụ thực thi trên bộ nhớ hay trên thiết bị ngoại vi, nhận dạng chu kỳ bus và khi nào thì hoàn tất tác vụ 29 Chuong 2 : Tổ chức CPU Minh họa hệ thống Bus CPU IO devices Memory Data bus Address bus Control bus 30 Chuong 2 : Tổ chức CPU A Typical Output Port 31 Chuong 2 : Tổ chức CPU An Input and an Output Device That Share the Same Address (a Dual I/O Port) 32 Chuong 2 : Tổ chức CPU Connection of the PCI and ISA Busses in a Typical PC P eripheral C omponent I nterconnect I ndustry S tandard A rchitecture 33 Chuong 2 : Tổ chức CPU PCI local bus n. Short for Peripheral Component Interconnect local bus. A specification introduced by Intel Corporation that defines a local bus system that allows up to 10 PCI-compliant expansion cards to be installed in the computer. A PCI local bus system requires the presence of a PCI controller card, which must be installed in one of the PCI-compliant slots. Optionally, an expansion bus controller for the system’s ISA, EISA, or Micro Channel Architecture slots can be installed as well, providing increased synchronization over all the system’s bus-installed resources. The PCI controller can exchange data with the system’s CPU either 32 bits or 64 bits at a time, depending on the implementation, and it allows intelligent, PCI-compliant adapters to perform tasks concurrently with the CPU using a technique called bus mastering. The PCI specification allows for multiplexing, a technique that permits more than one electrical signal to be present on the bus at one time. 34 Chuong 2 : Tổ chức CPU Bus PCI PCI chuẩn nốI ghép các thiết bị ngọai vi với bộ VXL tốc độ cao của Intel như 486/Pentium Tốc độ tối đa 33MHz Data bus 32 bits và 64 bits Hỗ trợ cho 10 thiết bị ngoại vi Plug and Play 35 Chuong 2 : Tổ chức CPU Plug and Play 1.Cả BIOS trên mainboard và Card bổ sung đều không phảI là Plug and Play. 3. BIOS trên mainboard và Card bổ sung là Plug and Play cấu hình tự động thực hiện mọi công việc. 2. BIOS trên mainboard Plug and Play nhưng Card bổ sung thì không phần mềm cài đặt sẽ giúp sắp xếp địa chỉ I/O, IRQ và các kênh DMA. 36 Chuong 2 : Tổ chức CPU AGP Bus Interface A ccelerated G raphic P ort 37 Chuong 2 : Tổ chức CPU AGP ( Accelerated Graphics Port ) Acronym for Accelerated Graphics Port. A high-performance bus specification designed for fast, high-quality display of 3-D and video images. Developed by Intel Corporation, AGP uses a dedicated point-to-point connection between the graphics controller and main system memory. This connection enables AGP-capable display adapters and compatible chip sets to transfer video data directly between system memory and adapter memory, to display images more quickly and smoothly than they can be displayed when the information must be transferred over the system’s primary (PCI) bus. AGP also allows for storing complex image elements such as texture maps in system memory and thus reduces the need for large amounts of memory on the adapter itself. AGP runs at 66 MHz—twice as fast as the PCI bus—and can support data transfer speeds of up to 533 Mbps.. 38 Chuong 2 : Tổ chức CPU Độ rộng Bus Độ rộng bus chính là số đường dây dẫn hợp thành bus. Với address bus : trên mỗi đường dây chỉ có thể có 1 trong 2 trạng thái 0 hoặc 1 nên bus có độ rộng n thì có thể nhận biết được 2 n địa chỉ . Với data bus : được thiết kế theo nguyên tắc là bội của 8 (8,16,32,64 bit) như thế mỗi lần truyền 1 byte/2 bytes/4 bytes tùy theo máy . Bề rộng Data bus càng lớn thì data truyền càng nhanh . 39 Chuong 2 : Tổ chức CPU Bus PC/XT có khe cắm 62 chân bao gồm : Data bus D0-D7 Adrress Bus A0-A19 Các tín hiệu điều khiển . Bus PC/AT : bus XT + 36 chân nữa để làm việc vớI data bus 16 bit, bus địa chỉ 24 bit. 36 chân bổ sung được dùng làm các đường dữ liệu D8-D15, các đường địa chỉ A21-A23, D0-D7 : là bus dữ liệu 8 bit, 2 chiều nối giữa bộ VXL với bộ nhớ, I/O. 40 Chuong 2 : Tổ chức CPU Nhược điểm của Bus ISA Data bus bị hạn chế ở 16 bits không thể phốI hợp vớI data bus 32 bits của bộ VXL 386/486/Pentum. Address bus địa chỉ 24 bits giới hạn khả năng truy cập bộ nhớ cực đại qua khe cắm mở rộng 16MB không thể phối hợp được với bus địa chỉ 32 bit của 386/486/Pentium. 41 Chuong 2 : Tổ chức CPU Chu kỳ Bus M ỗi chu kỳ bus là 1 tác vụ xãy ra trên bus để truyền tải data. Mỗi lần CPU cần lệnh (hoặc data) từ bộ nhớ hoặc I/O, chúng phải thực thi 1 chu kỳ bus để có được thông tin hoặc ghi thông tin ra bộ nhớ hoặc ra I/O. Mỗi chu kỳ bus gồm 2 bước : bước 1 : gửi địa chỉ bước 2 : truyền data từ địa chỉ đã được định vị. 42 Chuong 2 : Tổ chức CPU 4 chu kỳ bus cơ bản : đọc bộ nhớ (memory Read) ghi bộ nhớ (memory Write) đọc I/O (I/O Read) ghi I/O (I/O Write). Các tín hiệu cần thiết để thực hiện các chu kỳ bus được sinh ra bởi CPU hoặc DMA Controller hoặc bộ làm tươi bộ nhớ. 43 Chuong 2 : Tổ chức CPU Chu kỳ Bus Mỗi chu kỳ Bus đòi hỏi tối thiểu trọn vẹn 2 xung đồng hồ hệ thống . Đây là mốc tham chiếu theo thời gian để đồng bộ hoá tất cả các tác vụ bên trong máy tính . Xung đầu tiên gọi là Address time , địa chỉ truy xuất sẽ được gửi đi cùng với tín hiệu xác định loại tác vụ sẽ được thực thi ( đọc / ghi / đến mem / đến I/O). 44 Chuong 2 : Tổ chức CPU Chu kỳ Bus Cuối xung thứ 2, CPU sẽ kiểm tra đường tín hiệu Ready . Nếu thiết bị cần truy xuất sẵn sàng đáp ứng tác vụ, thiết bị này sẽ kích 1 tín hiệu lên đường Ready để báo cho CPU biết và chu kỳ bus hoàn tất. Khi 1 thiết bị không sẵn sàng, không có tín hiệu trên đường Ready, CPU phải chờ, có thể phải tiêu tốn thêm 1 hay nhiều xung clock. 45 Chuong 2 : Tổ chức CPU Chu kỳ Bus (cont) Chu kỳ bus Add1 Data1 Ready Add2 Data2 Chu kỳ bus InactiveReady Chu kyø Bus khi khoâng coù traïng thaùi chôø Add1 Data1 Add2 Data2 Chu kyø Bus khi coù traïng thaùi chôø Add1 Add2 Data2 46 Chuong 2 : Tổ chức CPU Chu ... ành địa chỉ Đ ịa chỉ Offset Đ ịa chỉ segment Đ ịa chỉ vật lý 20 bit 0 0 0 0 cộng 0 15 0 0 15 19 61 Chuong 2 : Tổ chức CPU Sự hình thành địa chỉ tuyệt đối Gỉa sử ta có địa chỉ 08F1 : 0100 CPU tự động lấy địa chỉ segment x 10 ( hệ 16) thành 08F10 Sau đó nó cộng với địa chỉ Offset 0100 địa chỉ tuyệt đối : 09010 địa chỉ Offset địa chỉ segment địa chỉ tương đối 62 Chuong 2 : Tổ chức CPU Cách tính địa chỉ vật lý từ địa chỉ luận lý Địa chỉ vật lý = (segment*16) + offset Segment 0 offset Địa chỉ vật lý + Ex : tính địa chỉ vật lý tương ứng địa chỉ luận lý B001:1234 Địa chỉ vật lý = B0010h + 1234h = B1244h 63 Chuong 2 : Tổ chức CPU Sự chồng chất các đoạn Địa chỉ segment hay còn gọi là địa chỉ nền của đoạn. Nó cho biết điểm bắt đầu của đoạn trong bộ nhớ. Địa chỉ offset thể hiện khoảng cách kể từ đầu đọan của ô nhớ cần tham khảo. Do offset dài 16 bit nên chiều dài tối đa của mỗi đọan là 64K. 64 Chuong 2 : Tổ chức CPU Sự chồng chất các đoạn Trong mỗi đoạn, ô nhớ đầu tiên có offset là 0000h và ô nhớ cuối cùng là FFFFh. 64KB 0000 FFFF offset Ô nhớ có địa chỉ segment:offset segment Bộ nhớ 65 Chuong 2 : Tổ chức CPU Mỗi ô nhớ chỉ có địa chỉ vật lý nhưng có thể có nhiều địa chỉ luận lý. Ex : 1234:1234 1334:0234 1304:0534 Đều có chung địa chỉ vật lý 13574h Tại sao ? 66 Chuong 2 : Tổ chức CPU Để hiểu rõ tại sao ta hãy xét mối quan hệ giữa địa chỉ vật lý với segment và offset 00000h 00010h 00020h 0000: 0002: 0001: 0FFFFh 1001Fh 1000Fh Phần chồng chập của 3 segment 0000,0001,0002 67 Chuong 2 : Tổ chức CPU Giải thích 0000:0000 00000h Giữ nguyên phần segment, tăng phần offset lên 1 thành ra địa chỉ luận lý là 0000:0001 Địa chỉ vật lý tương ứng là 00001h Tương tự vớI địa chỉ luận lý là 0000:0002 ta có địa chỉ vật lý là 00002h Khi offset tăng 1 đơn vị thì địa chỉ vật lý tăng 1 địa chỉ hoặc là tăng 1 byte. Như vậy có thể xem đơn vị của offset là byte 68 Chuong 2 : Tổ chức CPU Làm lại quá trình trên nhưng giữ nguyên phần offset chỉ tăng phần segment. 0002:0000 00020h 0001:0000 00010h Khi segment tăng 1 đơn vị thì địa chỉ vật lý tăng 10h địa chỉ hoặc là tăng 16 bytes Đơn vị của segemnt là paragraph 69 Chuong 2 : Tổ chức CPU Ta thấy segment 0000 nằm ở đầu vùng nhớ nhưng segment 0001 bắt đầu cách đầu vùng nhớ chỉ có 16 bytes, segment 0002 bắt đầu cách đầu vùng nhớ 32 bytes.. Phần chồng chập 3 segment 0000,0001,0002 trên hình vẽ là vùng bộ nhớ mà bất kỳ ô nhớ nào nằm trong đó (địa chỉ vật lý từ 00020h đến 0FFFFh) đều có thể có địa chỉ luận lý tương ứng trong cả 3 segment. 70 Chuong 2 : Tổ chức CPU Ex : ô nhớ có địa chỉ 0002Dh sẽ có địa chỉ logic trong segment 0000 là 0000:002D Trong segment 0001 là 0001:001D Trong segment 0002 là 0002:000D nếu vùng bộ nhớ nào càng có nhiều segment chồng chập lên nhau thì các ô nhớ trong đó càng có nhiều địa chỉ luận lý. 71 Chuong 2 : Tổ chức CPU Một ô nhớ có bao nhiêu địa chỉ luận lý Một ô nhớ có ít nhất 1 địa chỉ luận lý và nhiều nhất là 65536/16 = 4096 địa chỉ luận lý 72 Chuong 2 : Tổ chức CPU Caùc thanh ghi ñoaïn CS, DS, SS, ES 3 trong 4 thanh ghi ñoaïn ñöôïc duøng trong caùc muïc ñích ñaëc bieät sau CS : xaùc ñònh ñoaïn leänh – nôi chöùa chöông trình ñöôïc thi haønh. DS : xaùc ñònh ñoaïn döõ lieäu – nôi chöùa chöông trình ñöôïc thi haønh. SS : xaùc ñònh ñoaïn stack – vuøng laøm vieäc taïm thôøi duøng ñeå theo doõi caùc tham soá vaø caùc ñòa chæ ñang ñöôïc chöông trình hieän haønh söû duïng. Coøn thanh ghi ES : troû ñeán ñoaïn theâm, thöôøng ñöôïc duøng ñeå boå sung cho ñoaïn döõ lieäu coù vuøng nhôù >64k cho ñoaïn döõ lieäu. 73 Chuong 2 : Tổ chức CPU Caùc thanh ghi ñoaïn CS, DS, SS, ES 3 trong 4 thanh ghi ñoaïn ñöôïc duøng trong caùc muïc ñích ñaëc bieät sau CS : xaùc ñònh ñoaïn leänh – nôi chöùa chöông trình ñöôïc thi haønh. DS : xaùc ñònh ñoaïn döõ lieäu – nôi chöùa chöông trình ñöôïc thi haønh. SS : xaùc ñònh ñoaïn stack – vuøng laøm vieäc taïm thôøi duøng ñeå theo doõi caùc tham soá vaø caùc ñòa chæ ñang ñöôïc chöông trình hieän haønh söû duïng. Coøn thanh ghi ES : troû ñeán ñoaïn theâm, thöôøng ñöôïc duøng ñeå boå sung cho ñoaïn döõ lieäu coù vuøng nhôù >64k cho ñoaïn döõ lieäu. 74 Chuong 2 : Tổ chức CPU Thanh ghi traïng thaùi (thanh ghi côø) Thanh ghi côø laø thanh ghi 16 bit naèm beân trong EU (Excution Unit). Tuy nhieân chæ coù 9 trong 16 bit ñöôïc söû duïng.7 bit coøn laïi khoâng duøng. O D I T S Z A P C 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 O OverFlow flag D : Direction flag I : Interrupt flag T : Trap flag S : Sign flag Z : Zero flag A : Auxiliary flag P : Parity flag C : Carry flag 75 Chuong 2 : Tổ chức CPU Thanh ghi traïng thaùi (thanh ghi côø) Giaûi thích : Côø CF : chæ thò coäng coù nhôù, tröø coù möôïn. Côø PF : On khi keát quaû cuûa taùc vuï coù soá bit 1 laø soá chaún. Neáu soá bit 1 laø soá leû thì PF laø Off. Côø AF : coù nhôù trong pheùp coäng hoaëc coù möôïn trong pheùp tröø vôùi 4 bit thaáp sang 4 bit cao. Côø ZF : On khi taùc vuï luaän lyù cho keát quaû laø 0. Côø SF : bit cao nhaát cuûa keát quaû seõ ñöôïc copy sang SF. SF =1 keát quaû laø soá aâm. SF = 0 khi keát quaû laø soá döong. 76 Chuong 2 : Tổ chức CPU Thanh ghi traïng thaùi (thanh ghi côø) Giaûi thích : Côø OF : OF=1 khi keát quaû bò traøn soá (vöôït quaù khaû naêng löu tröõ ). Neáu keát quaû khoâng bò traøn thì OF=0. 3 bit coøn laïi laø 3 bit ñieàu khieån : Côø TF : baùo CPU thi haønh töøng böôùc. Cung caáp coâng cuï debug chöông trình. Côø IF : IF=1 giuùp 8086 nhaän bieát coù yeâu caàu ngaét quaõng coù che. Côø DF : xaùc ñònh höôùng theo chieàu taêng/giaûm trong xöû lyù chuoåi. 8086 cho pheùp User laäp trình baät taét caùc côø CF,DF,IF,TF 77 Chuong 2 : Tổ chức CPU Thanh ghi chæ soá (Index) 5 thanh ghi offset duøng ñeå xaùc ñònh chích xaùc 1 byte hay 1 word trong 1 ñoaïn 64K.Ñoù laø : IP : thanh ghi con troû leänh, cho bieát vò trí cuûa leänh hieän haønh trong ñoaïn leänh. Con troû leänh IP coøn ñöôïc goïi laø boä ñeám chöông trình.Thöôøng ñöôïc duøng keát hôïp vôùi CS ñeå theo doõi vò trí chính xaùc cuûa leänh seõ ñöôïc thöïc hieän keá tieáp . 78 Chuong 2 : Tổ chức CPU Thanh ghi chæ soá (Index) Caùc thanh ghi con troû Stack : SP vaø BP, moãi thanh ghi daøi 16 bit. SP (Stack pointer) cho bieát vò trí hieän haønh cuûa ñænh Stack. BP (Basic Pointer) duøng ñeå truy caäp döõ lieäu trong Stack. SI (source index) : troû ñeán oâ nhôù trong ñoaïn döõ lieäu ñöôïc ñònh ñòa chæ bôûi thanh ghi DS. DI (destination) : chöùc naêng töông töï SI.Hai thanh ghi naøy thöôøng duøng trong xöû lyù chuoåi. 79 Chuong 2 : Tổ chức CPU ĐỊA CHỈ LUẬN LÝ VÀ THANH GHI Để tham khảo đến bộ nhớ trong chương trình, VXL 8086 cho phép sử dụng các địa chỉ luận lý 1 cách trực tiếp hoặc thông qua các thanh ghi của nó. Thanh ghi đoạn dùng để chứa segment Thanh ghi tổng quát dùng để chứa địa chỉ trong đoạn offset Để tham khảo đến địa chỉ luận lý có segment trong thanh ghi DS, offset trong thanh ghi BX, ta viết DS:BX 80 Chuong 2 : Tổ chức CPU Ex : nếu lúc tham khảo DS = 2000h BX = 12A9h thì địa chỉ luận lý DS:BX chính là tham khảo đến ô nhớ 2000:12A9 81 Chuong 2 : Tổ chức CPU Trong cách sử dụng địa chỉ luận lý thông qua các thanh ghi có 1 số cặp thanh ghi luôn phải dùng chung với nhau 1 cách bắt buộc : CS:IP lấy lệnh (địa chỉ lệnh sắp thi hành) SS:SP địa chỉ đỉnh Stack SS:BP thông số trong Stack (dùng trong chương trình con) DS:SI địa chỉ chuổi nguồn ES:DI địa chỉ chuổi đích 82 Chuong 2 : Tổ chức CPU Chương trình mà VXL 8086 thi hành thường có 3 đọan : Đọan chương trình có địa chỉ trong thanh ghi CS. Đọan dữ liệu có địa chỉ trong thanh ghi DS. Đọan stack có địa chỉ trong thanh ghi SS. 83 Chuong 2 : Tổ chức CPU Caùc ñaëc tính cuûa CPU Intel Hieäu quaû cuûa CPU thuoäc hoï Intel khi xöû lyù vaø chuyeån giao thoâng tin ñöôïc xaùc ñònh bôûi caùc yeáu toá sau : Taàn soá maïch xung ñoàng hoà cuûa CPU. Ñoä roäng cuûa Data bus Ñoä roäng cuûa Address bus 84 Chuong 2 : Tổ chức CPU Caùc ñaëc tính cuûa CPU Intel Taàn soá maïch xung ñoàng hoà cuûa CPU.caøng nhanh thì toác ñoä xöû lyù caøng nhanh. Ñoä roäng cuûa Data bus caøng roäng thì caøng nhieàu data ñöôïc chuyeån giao trong 1 laàn giao dòch. Ñoä roäng cuûa Address bus caøng roäng thì khaû naêng quaûn lyù boä nhôù caøng lôùn. 85 Chuong 2 : Tổ chức CPU Caùc ñaëc tính cuûa CPU Intel Loaïi CPU Data Bus (bit) Address bus (bit) Khaû naêng quaûn lyù boä nhôù 8088 8 20 1 MB 8086 16 20 1MB 80286 16 24 16Mb 80386 32 32 4 GB 80486 32 32 4 GB Pentium 64 32 4GB 86 Chuong 2 : Tổ chức CPU Toùm taét CPU hoï Intel CPU 80286 : Data bus 16 bit neân moãi laàn chuyeån giao 2 bytes quaûn lyù 16MB boä nhôù. Chæ coù khaû naêng thöïc hieän caùc pheùp toaùn ñoái vôùi caùc soá nguyeân, coù theå duøng taäp leänh 80286 ñeå moâ phoûng caùc pheùp toaùn soá hoïc daáu chaám ñoäng nhöng ñieàu naøy seõ laøm giaûm hieäu suaát heä thoáng. Neáu muoán coù khaû naêng thöïc hieän caùc pheùp toaùn daáu chaám ñoäng phaûi gaén CoProccessor 8087. 80286 laøm vieäc theo 2 cheá ñoä : cheá ñoä thöïc vaø cheá ñoä baûo veä. 87 Chuong 2 : Tổ chức CPU Toùm taét CPU hoï Intel CPU 80386 : Data bus 32 bit neân coù theå quaûn lyù 4GB boä nhôù.Caùc thanh ghi daøi 32 bit taêng ñoä chính xaùc cuûa caùc pheùp toaùn. Ñoä roäng Bus taêng toác ñoä thöïc thi. CPU 80386 hoaøn toaøn töông thích vôùi caùc CPU tröôùc noù. 88 Chuong 2 : Tổ chức CPU Toùm taét CPU hoï Intel CPU 80486 : coù bus 32 bit . 1 Coprocessor 387, boä phaän ñieàu khieån Cache, 1 Cache 8K, duøng phoái hôïp taäp leänh ruùt goïn RISC vaø taäp leänh phöùc taïp CISC. CPU 80486 phaàn lôùn caùc leänh chæ duøng 1 soá ít xung. Söû duïng cô cheá ñöôøng oáng coù khaû naêng xöû lyù 5 leänh ñoàng thôøi : Laáy leänh tröôùc PreFetch Giaûi maõ laàn 1 Decode 1 Giaûi maõ laàn 2 Decode 2 Thöïc thi leänh Execution Ghi laïi traïng thaùi. WriteBack 89 Chuong 2 : Tổ chức CPU RISC & CISC Nguyeân lyù CISC : Complex Intruction Set Computer Taäp leänh khaù lôùn >300 leänh Khaû naêng ñònh vò phöùc taïp Moät soá leänh caàn phaûi vi leänh hoaù quaù nhieàu leänh naïp laâu laøm chaäm heä thoáng leänh phöùc taïp neân time giaûi maõ leänh nhieàu khi lôùn hôn time thöïc thi. Chæ coù hôn 20% leänh thöôøng duøng tôùi 90 Chuong 2 : Tổ chức CPU RISC & CISC Nguyeân lyù RISC : taäp leänh thu goïn R educe I ntruction S et C omputer taäp leänh nhoû thi haønh ngay khoâng caàn giaûi maõ. leänh laøm vieäc theo cô cheá ñöôøng oáng (pipeline) . 91 Chuong 2 : Tổ chức CPU CPU Pentium 3 thaønh phaàn goùp söùc taêng toác ñoä xöû lyù cuûa Pentium : Ñôn vò tính toaùn soá nguyeân supercallar Boä nhôù Cache caáp 1 ôû beân trong CPU. Ñôn vò tính toaùn soá chaám ñoäng supercallar 92 Chuong 2 : Tổ chức CPU SÔ ÑOÀ KHOÁI PENTIUM Haøng nhaët sôùm Cache leänh 8K BIU Quaûn lyù Bus Boä xöû lyù daáu chaám ñoäng Registers U Pipeline cuûa ALU V Pipeline cuûa ALU registers Cache Data 8K Vuøng ñeäm ñích Reõ nhaùnh 93 Chuong 2 : Tổ chức CPU Caâu hoûi oân taäp Bus laø gì? Trong caùc loaïi Bus, Bus naøo laø Bus 2 chieàu. Cho 1 oâ nhôù coù ñòa chæ vaät lyù laø 1256H, cho bieát ñòa chæ daïng segment:offset vôùi caùc ñoaïn 1256H vaø 1240H. OÂ nhôù coù ñòa chæ vaät lyù 80FD2H, ôû trong ñoaïn naøo thì noù coù offset = BFD2H? Xaùc ñònh ñòa chæ vaät lyù cuûa oâ nhôù coù ñòa chæ logic 0A51H:CD90H 94 Chuong 2 : Tổ chức CPU Caâu hoûi oân taäp Theá naøo laø bieân giôùi ñoaïn? Söï khaùc nhau cô baûn giöõa boä vi xöû lyù 8086 vaø 80286? Thuyeát minh trình töï CPU thöïc hieän caâu leänh Mem(b) Not Mem(a) Chu kyø leänh, chu kyø maùy. Cho bieát quan heä giöõa chu kyø clock, chu kyø maùy vaø chu kyø leänh. Quan heä giöõa taäp leänh vaø kieán truùc cuûa CPU 95 Chuong 2 : Tổ chức CPU Caâu hoûi oân taäp Giaûi thích taïi sao khi taêng taàn soá xung clock, giaûm chu kyø wait state cuûa boä nhôù, theâm cache cho CPU laïi laøm cho heä thoáng chaïy vôùi hieäu suaát cao hôn. ? Trình baøy chieán löôïc chính löu tröõ thoâng tin trong Cache? Tính toác ñoä chuyeån giao döõ lieäu cuûa maùy tính coù CPU 486DX-66MHz vaø maùy Pentium 100MHz. Phaân bieät RISC vaø CISC. Trình baøy cô cheá ñöôøng oáng trong thöïc thi cuûa CPU 96 Chuong 2 : Tổ chức CPU Bus ISA-8 bits : chạy ở tốc độ đồng hồ là 8 MHz truyền tải dữ liệu tối đa 8 MB/s. chạy ở tốc độ đồng hồ là 4.77 MHz truyền tải dữ liệu tối đa 6MB/s. chạy ở tốc độ đồng hồ là 4.77 MHz truyền tải dữ liệu tối đa 1MB/s. chạy ở tốc độ đồng hồ là 4.77 MHz truyền tải dữ liệu tối đa 12MB/s. 97 Chuong 2 : Tổ chức CPU Bus ISA-16 bits : chạy ở tốc độ đồng hồ là 8 12 MHz truyền tải dữ liệu tối đa 8 MB/s. chạy ở tốc độ đồng hồ là 32 MHz truyền tải dữ liệu tối đa 12MB/s. chạy ở tốc độ đồng hồ là 4.77 MHz truyền tải dữ liệu tối đa 12MB/s. chạy ở tốc độ đồng hồ là 16MHz truyền tải dữ liệu tối đa 12MB/s. 98 Chuong 2 : Tổ chức CPU Bus PCI : truyền tải dữ liệu tối đa 528 MB/s. truyền tải dữ liệu tối đa 128MB/s. truyền tải dữ liệu tối đa 512MB/s. truyền tải dữ liệu tối đa 64MB/s. 99 Chuong 2 : Tổ chức CPU Dẫn đầu về Chipset hiện có trên thị trường là : a.AMD b.ALI c.Intel d.Mac 100 Chuong 2 : Tổ chức CPU Hệ thống Bus là hệ thống xa lộ thông tin bên trong PC giúp trao đổi: a.thông tin giữa các máy tính b.dữ liệu giữa các thiết bị ngọai vi c. dữ liệu giữa bộ VXL và các thiết bị khác d. tất cả đều đúng 101 Chuong 2 : Tổ chức CPU Mọi họat động của máy tính từ CPU đến bộ nhớ RAM và những thiết bị I/O đều phảI thông qua sự nốI kết được gọi chung là : a.Chuẩn giao tiếp b.Bus c.BIOS d.CMOS 102 Chuong 2 : Tổ chức CPU BÀI TẬP Bài 1 : Cho biết giá trị chuổi ‘XY’ được lưu trữ trong MT dướI dạng số hex và dạng số bin? Bài 2 : Cho biết giá trị ở hệ 10 của các số nguyên có dấu sau : a.10000000 b b.01111111 b Bài 3 : Cho đoạn code sau : MOV AH,7F INT 20H MOV AX,1234 Hãy cho biết giá trị của MOV BH,AL các thanh ghi AX,BX ? MOV BL,AH 103 Chuong 2 : Tổ chức CPU BÀI TẬP Bài 4: Cho đoạn code sau : MOV AL,81 ADD AL, 0FE INT 20H Giả sử các số đều là số có dấu. Giải thích kết quả chứa trong thanh ghi AL khi đoạn code trên được thực thi. Sử dụng giá trị ở hệ 10 để giải thích. 104 Chuong 2 : Tổ chức CPU BÀI TẬP Bài 5: Giả sử thanh ghi trong MT của bạn dài 24 bits, cho biết giá trị của số dương lớn nhất mà thanh ghi này có thể chứa ở 2 hệ 2 và hệ 16? Bài 6 : Biến đổI địa chỉ sau thành địa chỉ tuyệt đối 0950:0100 08F1:0200 105 Chuong 2 : Tổ chức CPU MAINBOARD 106 Chuong 2 : Tổ chức CPU MAINBOARD 107 Chuong 2 : Tổ chức CPU MAINBOARD 108 Chuong 2 : Tổ chức CPU 109 Chuong 2 : Tổ chức CPU 110 Chuong 2 : Tổ chức CPU MAINBOARD 111 Chuong 2 : Tổ chức CPU 112 Chuong 2 : Tổ chức CPU
File đính kèm:
- bai_giang_cau_truc_may_tinh_chuong_2_to_chuc_cpu_ngo_phuoc_n.ppt