Xác định địa chỉ của lệnh tiếp theo : trong khi lệnh được thực hiện, giá trị của bộ đếm chương trình sẽ tự động tăng lên chỉ đến ô nhớ chứa lệnh sẽ được thực hiện tiếp theo... Chu kỳ lện[r]
(1)Chương : Tổ chức CPU Mục tiêu : Nắm chức CPU Hiểu các thành phần bên CPU Nắm cách CPU giao tiếp với thiết bị ngoại vi Biết các đặc tính CPU họ Intel Chuong : Tổ chức CPU (2) 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ộ ghi 2.5 Cơ chế định vị địa 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 CPU họ Intel 2.8 Câu hỏi ôn tập Chuong : Tổ chức CPU (3) 2.1 Hệ thống số nhị phân số ký số bát phân 8 thập phân 10 10 Ex : 12d thập lục phân 16 16 A B C D E F Ex : 3F8h Hệ đếm Cơ số dạng ký số và ký tự biểu diễn số 01234567 Chuong : Tổ chức CPU Ex : 1010b Ex : 24o (4) Hệ thống số Hệ thống số là gì ? Vào thờI điểm đó, việc dùng các que để đểm là ý 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 các cách để biểu diễn số là sử dụng hệ thống số đếm decimal Có nhiều cách để biểu diễn giá trị số Ngày xưa, 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ố lần đầu biểu diễn | | | | | (bằng que) Sau đó chữ số La Mã bắt đầu dùng các ký hiệu khác để biểu diễn nhiều số gọn Thí dụ số biểu diễn bởI que | | | số thì thay V còn số 10 thì thay X Chuong : Tổ chức CPU (5) Hệ thống số Sử dụng que để đếm là ý 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 cách tốt là dùng hệ thống số thập phân (decimal system) Chuong : Tổ chức CPU (6) Decimal System Con người ngày dùng hệ 10 để đếm.Trong hệ 10 có 10 digits 0, 1, 2, 3, 4, 5, 6, 7, 8, Những ký số này có thể biểu diễn giá trị nào, thí dụ : 754 Chuong : Tổ chức CPU (7) Vị trí ký số quan trọng, thí dụ ta đặt "7" cuối thì: 547 nó là giá trị khác : Chuong : Tổ chức CPU (8) Binary System MT không thông minh ngườI,nó dùng trạng thái điện tử : on and off, or and MT dùng binary system, binary system có digits: 0, Như số (base) là Mỗi ký số (digit) hệ binary number gọi là BIT, bits nhóm thành NIBBLE, bits tạo thành BYTE, bytes tạo thành WORD, words tạo thành DOUBLE WORD (ít dùng): Chuong : Tổ chức CPU (9) 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 đó 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, nibble (4 bits) có thể biến thành hexadecimal digit : Ex : 1234h = 4660d Chuong : Tổ chức CPU (10) Các phép toán hệ nhị phân cộng : 0+0=0 trừ 0+1=1 : 0- 0=0 1+ = 1 + = nhớ - = mượn 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 Chuong : Tổ chức CPU 10 (11) Các phép toán 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 1 1 1 0 1 1 1 0 Chuong : Tổ chức CPU 11 (12) Chuyển hệ từ 10 hệ Đổi từ hệ 10 hệ : Ex : 12d = 1100b Cách đổi : lấy số cần đổi chia liên tiếp cho 2, dừng số bị chia Kết là các số dư lấy theo chiều ngược lại 12 : = 6:2=3 3:2 =1 1:2 = dừng Chuong : Tổ chức CPU 12 (13) Chuyển hệ từ hệ hệ 10 Đổi từ hệ hệ 10 : Ex : 1100b = ?d Cách đổi : ai*2i với i n a là ký số số cần đổi 1*23+1*22+0*21+0*20 = 12d a Chuong : Tổ chức CPU 13 (14) Chuyển hệ từ hệ 10 hệ 16 Đổi từ hệ 10 hệ 16 : Ex : 253d = ?h Cách đổi : lấy số cần đổi chia liên tiếp cho 16, dừng số bị chia = Kết là chuổi số dư lấy theo chiều ngược lại 253d = FDh Chuong : Tổ chức CPU 14 (15) Chuyển hệ từ hệ hệ 16 Đổi từ hệ hệ 16 : Ex : 101011010b = ?h Cách đổi : nhóm chữ số nhị phân thành nhóm, chuyển đổi nhóm sang số hệ thập lục phân 000101011010d = 15Ah A Chuong : Tổ chức CPU 15 (16) 2.2 Bộ xử lý trung tâm CPU Chuong : Tổ chức CPU 16 (17) 2.2 Bộ xử lý trung tâm CPU CPU (Central Processing Unit) Bộ xử lý trung tâm – Chức : thực chương trình lưu nhớ chính caùch lấy lệnh - khảo saùt - thực caùc lệnh Mỗi CPU có tập lệnh riêng Chương trình thực thi CPU nào gồm các lệnh tập lệnh CPU đó CPU gồm số phận tách biệt : Bộ điều khiển lấy lệnh từ nhớ và xác định kiểu lệnh Bộ luận lý và số học (ALU) thực phép toán cộng, and Các ghi (Registers) : lưu kết tạm thời và các thông tin điều khiển.CPU giao tiếp với các phận khác máy tính thông qua các tuyến gọi là Bus Chuong : Tổ chức CPU 17 (18) CPU (cont) Các nhà chế tạo CPU qui định tốc độ thực chip phù hợp với nhịp tim chip đó (clock speed) tốc độ đồng hồ, nhịp đồng hồ Đơn vị đo tốc độ chip CPU là Mhz cho biết chip đập bao nhiêu nhịp s Ex : CPU 500Mhz Chuong : Tổ chức CPU 18 (19) đọc, phân tích lệnh , lệnh cho các đơn vị chức thực Sơ đồ khối CPU Control Unit Unit Control ALU ALU Registers Registers Phép toán: số học, luận lý, so sánh, dịch, quay,xử lý bit MainMemory Memory Main Có22tác tácvụ vụ::Đọc Đọc/Ghi /Ghi Có loạidữ dữliệu: liệu: 22loại Data::số sốliệu liệuđầu đầuvào, vào, 1)1)Data kếtquả, quả, kết dữliệu liệutrung trunggian gian Chươngtrình trình 2)2)Chương Đơnvị vịgiao giaotiếp tiếp––IO IOCard Card Đơn IODevice Device IO Chuong : Tổ chức CPU 19 (20) Chu kyø leänh Một chu lệnh máy gồm giai đoạn chính sau : Lấy lệnh : lệnh cất ô nhớ lấy vào ghi leänh Giải mã và thực lệnh : lệnh ghi lệnh giải mã và thực theo mô tả lệnh tập leänh Xác định địa lệnh : lệnh thực hiện, giá trị đếm chương trình tự động tăng lên đến ô nhớ chứa lệnh thực Chu kỳ lệnh xây dựng từ đơn vị là chu kỳ máy Chuong : Tổ chức CPU 20 (21) Chu kyø maùy Chu kỳ máy là chu kỳ hoạt động cuûa maùy tính nhö : Chu kỳ đọc nhớ Chu kỳ ghi nhớ Chu kỳ đọc toán hạng Chu kyø ghi keát quaû Clock : xung laøm nhieäm vuï ñònh thì cho maïch Chuong : Tổ chức CPU 21 (22) Thực lệnh CPU thực lệnh theo chuổi các bước : Lấy lệnh kế từ nhớ. ghi lệnh Thay đổi PC để đến lệnh Xác định kiểu lệnh vừa lấy Xác định kiểu liệu vừa yêu cầu và xác định vị trí liệu nhớ Nếu lệnh cần liệu nhớ, nạp nó vào ghi cuûa CPU Chuong : Tổ chức CPU 22 (23) Thực lệnh (cont) Thực lệnh Lưu kết nơi thích hợp Trở bước để thực lệnh kế Chuong : Tổ chức CPU 23 (24) Sự phân phối thời gian cho quá trình lấy lệnh và thi hành lệnh CPU thường và CPU đường ống Lấy lệnh Thi hành lệnh Lấy lệnh Thi hành lệnh LỆNH LỆNH LỆNH LỆNH LỆNH LỆNH CPU thường LỆNH LỆNH LỆNH Thời gian tiết kiệm LỆNH LỆNH LỆNH CPU dùng cấu đường ống (piple line) Chuong : Tổ chức CPU 24 (25) Hệ đa xử lý (MultiProccessor) CPU CPU CPU CPU CPU CPU CPU CPU Shared memory Bus Hệ MultiProccessor sử dụng đường Bus Chuong : Tổ chức CPU 25 (26) Hệ đa xử lý (MultiProccessor) Local CPU CPU CPU CPU Memory CPU CPU CPU CPU Shared memory Bus Hệ MultiProccessor sử dụng nhiều nhớ cục Chuong : Tổ chức CPU 26 (27) Bus Bus là các đường truyền Thông tin chuyển qua lại các thành phần linh kiện thông qua mạng lưới gọi là các Bus Chuong : Tổ chức CPU 27 (28) 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) kết nối tất các thành phần lại với Có loại bus :bus liệu (data bus), bus địa (address bus) và bus điều khiển (control bus) Chuong : Tổ chức CPU 28 (29) Các loại Bus Address Bus : nhóm đường truyền nhận diện vị trí truy xuất thiết bị đích : thông tin đọc từ đâu ghi vào đâu Data Bus : nhóm đường truyền để tải data thực các thiết bị hệ thống địa trên address bus đã xác định Độ rộng data bus (số đường dây dẫn) xác định data 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 : tác vụ là đọc hay ghi, tác vụ thực thi trên nhớ hay trên thiết bị ngoại vi, nhận dạng chu kỳ bus và nào thì hoàn tất tác vụ… Chuong : Tổ chức CPU 29 (30) Minh họa hệ thống Bus Address bus CPU CPU Data bus Control Memory bus IO devices devices IO Chuong : Tổ chức CPU 30 (31) A Typical Output Port Chuong : Tổ chức CPU 31 (32) An Input and an Output Device That Share the Same Address (a Dual I/O Port) Chuong : Tổ chức CPU 32 (33) Connection of the PCI and ISA Busses in a Typical PC Industry Standard Architecture Peripheral Component Interconnect Chuong : Tổ chức CPU 33 (34) 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 Chuong : Tổ chức CPU 34 (35) Bus PCI PCI chuẩn nốI ghép các thiết bị ngọai vi với VXL tốc độ cao Intel 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 Chuong : Tổ chức CPU 35 (36) Plug and Play 1.Cả BIOS trên mainboard và Card bổ sung không phảI là Plug and Play BIOS trên mainboard Plug and Play Card bổ sung thì không phần mềm cài đặt giúp xếp địa I/O, IRQ và các kênh DMA BIOS trên mainboard và Card bổ sung là Plug and Play cấu hình tự động thực công việc Chuong : Tổ chức CPU 36 (37) AGP Bus Interface Accelerated Graphic Port Chuong : Tổ chức CPU 37 (38) 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 Chuong : Tổ chức CPU 38 (39) Độ 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 đường dây có thể có trạng thái nên bus có độ rộng n thì có thể nhận biết 2n địa Với data bus : thiết kế theo nguyên tắc là bội (8,16,32,64 bit) lần truyền 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 Chuong : Tổ chức CPU 39 (40) 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 để làm việc vớI data bus 16 bit, bus địa 24 bit 36 chân bổ sung dùng làm các đường liệu D8-D15, các đường địa A21-A23,… D0-D7 : là bus liệu bit, chiều nối VXL với nhớ, I/O Chuong : Tổ chức CPU 40 (41) Nhược điểm Bus ISA Data bus bị hạn chế 16 bits không thể phốI hợp vớI data bus 32 bits VXL 386/486/Pentum Address bus địa 24 bits giới hạn khả truy cập nhớ cực đại qua khe cắm mở rộng 16MB không thể phối hợp với bus địa 32 bit 386/486/Pentium Chuong : Tổ chức CPU 41 (42) Chu kỳ Bus Mỗi chu kỳ bus là tác vụ xãy trên bus để truyền tải data Mỗi lần CPU cần lệnh (hoặc data) từ nhớ I/O, chúng phải thực thi chu kỳ bus để có thông tin ghi thông tin nhớ I/O Mỗi chu kỳ bus gồm bước : bước : gửi địa bước : truyền data từ địa đã định vị Chuong : Tổ chức CPU 42 (43) chu kỳ bus : đọc nhớ (memory Read) ghi 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 các chu kỳ bus sinh CPU DMA Controller làm tươi nhớ Chuong : Tổ chức CPU 43 (44) Chu kỳ Bus Mỗi chu kỳ Bus đòi hỏi tối thiểu trọn vẹn xung đồng hồ hệ thống Đây là mốc tham chiếu theo thời gian để đồng hoá tất các tác vụ bên máy tính Xung đầu tiên gọi là Address time , địa truy xuất gửi cùng với tín hiệu xác định loại tác vụ thực thi (đọc/ghi/đến mem/đến I/O) Chuong : Tổ chức CPU 44 (45) Chu kỳ Bus Cuối xung thứ 2, CPU 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 kích tín hiệu lên đường Ready để báo cho CPU biết và chu kỳ bus hoàn tất Khi 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 hay nhiều xung clock Chuong : Tổ chức CPU 45 (46) Chu kỳ Bus (cont) Data2 Data1 Add1 Add2 Ready Chu kỳ bus Add1 Chu kỳ Bus không có trạng thái chờ Add2 Data2 Data1 Chu kỳ Bus có trạng thái chờ InactiveReady Chu kỳ bus Chuong : Tổ chức CPU 46 (47) Chu kỳ Bus (cont) Chú ý : Trong số hệ thống, cho phép ta Setup số wait states phần Extend Setup Bios Nếu ta cho giá trị này nhỏ thì có thể ngoại vi không theo kịp CPU và hệ thống bị treo Còn cho giá trị này lớn thì tốc độ chung hệ thống bị chậm lại Wait states mặc định là cho các vỉ mạch bit và là cho các vĩ mạch 16 bit tốc độ truyền tải tối đa : tốc độ truyền tải = tốc độ bus (MHz) x số bytes lần truyền /số chu kỳ xung clock cho lần truyền Chuong : Tổ chức CPU 47 (48) 2.4 Hệ thống ghi Là các phần tử có khả lưu trữ thông tin với dung lượng 8, 16 , 32, 64 bit Được xây dựng từ các FlipFlop nên có tốc độ truy xuất nhanh Phân loại ghi : Thanh ghi tổng quát : chủ yếu dùng để lưu trữ liệu quá trình thực thi CT, ghi còn có số chức riêng Thanh ghi điều khiển : các bit nó qui định tác vụ các đơn vị chức MT Thanh ghi trạng thái : lưu trữ thông tin mô tả trạng thái Chuong : Tổ chức CPU 48 (49) AX Register 15 14 13 12 11 10 AH AL Thanh ghi AX (Accumulator register) : ghi tích luỹ, dài 16 bit nó có thể chia làm ghi bit AH và AL AX ngoài chức lưu trữ liệu, nó còn CPU dùng phép toán số học nhân, chia Chuong : Tổ chức CPU 49 (50) AX Register 15 14 13 12 11 10 AH AL Thanh ghi AH là nửa cao ghi AX Thanh ghi AL là nửa thấp ghi AX Thí dụ AX=1234h thì AH=12H AL=34h Chuong : Tổ chức CPU 50 (51) BX Register 15 14 13 12 11 10 BH BL Thanh ghi BX (Base register) : dài 16 bit nó có thể chia làm ghi bit BH và BL BX lưu giữ địa thủ tục hay biến, nó dùng thực các phép dời chuyển số học và liệu Chuong : Tổ chức CPU 51 (52) DX Register 15 14 13 12 11 10 DX DH DL Thanh ghi DX (Data register) : dài 16 bit nó có thể chia làm ghi bit DH và DL Thanh ghi DX : có vai trò đặc biệt phép nhân và phép chia ngoài chức lưu trữ liệu Ex : nhân DX lưu giữ 16 bit cao tích Chuong : Tổ chức CPU 52 (53) CX Register CX 15 14 13 12 11 10 CH CL CX (Counter register) : ghi này dùng làm đếm các vòng lặp Các lệnh tự động lặp lại và sau lần lặp giá trị CX tự động giảm CL thường chứa số lần dịch, quay các lệnh dịch, quay ghi CX dài 16 bit, nó có thể chia làm ghi bit là CH và CL Chuong : Tổ chức CPU 53 (54) Các ghi Segment CPU có ghi segment dài 16 bit, các ghi này không thể chia làm ghi bit ghi AX,BX,CX và DX Các ghi đoạn sử dụng là địa sở các lệnh chương trình, stack và liệu ghi đoạn : CS (Code Segment), DS (Data Segment), SS (Stack Segment) và ES (Extra Segment) CS : chứa địa bắt đầu code chương trình DS : chứa địa các biến khai báo chương trình SS : chứa địa nhớ Stack dùng chương trình ES : chứa địa sở bổ sung cho các biến nhớ Chuong : Tổ chức CPU 54 (55) Thanh ghi 32 bit Đối với số CPU đời mới, có các ghi dài 32, 64 bit Ta ghi thêm E đứng trước tên các ghi 16 bit EAX, EBX, ECX, EDX Chuong : Tổ chức CPU 55 (56) 2.5 Thanh ghi đoạn và hình thành địa 8088 sử dụng 20 bit để đánh địa nhớ quản lý trên 1Mb nhớ Nhưng 8088 lại không có ghi nào 20 bit, tất là 16 bit đó ghi có thể đánh địa tối đa là 64 kB nhớ Như phải kết hợp ghi địa hoá toàn bộ nhớ 8088 sử các ghi dùng chung và các ghi đoạn (CS,DS,SS,ES) để tạo thành địa 20 bit Chuong : Tổ chức CPU 56 (57) SỰ PHÂN ĐOẠN BỘ NHỚ CPU 8086 dùng phương pháp phân đọan nhớ để quản lý nhớ 1MB nó Địa 20 bit nhớ 1MB không thể chứa đủ các ghi 16 bit CPU 8086 nhớ 1MB chia thành các đoạn (segment) 64KB Địa các đọan 64KB có 16 bit nên CPU 8086 dễ dàng xử lý các ghi nó PHÂN ĐOẠN BỘ NHỚ : là cách dùng các ghi 16 bit để biểu diễn cho địa 20 bit Chuong : Tổ chức CPU 57 (58) 2.5 Địa vật lý & địa luận lý Địa 20 bits gọi là địa vật lý Địa vật lý dùng nào ? Dùng thiết kế các mạch giải mã địa cho nhớ và xuất nhập Còn lập trình , địa vật lý không thể dùng mà nó thay địa luận lý (logic) Chuong : Tổ chức CPU 58 (59) Địa luận lý Địa ô nhớ xác định phần: Segment : offset Địa đoạn (độ dời) Địa đoạn Ex : B001:1234 Mỗi địa thành phần là số 16 bit và viết theo cách sau : Segment : offset Chuong : Tổ chức CPU 59 (60) Sự hình thành địa Hãng Intel đề xuất phương pháp để hình thành địa Mỗi địa ô nhớ hình thành từ phép tính tổng địa sở và địa offset Địa sở lưu ghi segemnt, còn địa offset nằm ghi số hay ghi trỏ Phép cộng này tạo địa 20 bit gọi là địa vật lý Chuong : Tổ chức CPU 60 (61) Thí dụ minh hoạ hình thành địa 15 Địachỉ chỉOffset Offset Địa 15 Địachỉ chỉsegment segment Địa 19 0000 cộng Địachỉ chỉvật vậtlý lý20 20bit bit Địa Chuong : Tổ chức CPU 61 (62) Sự hình thành địa tuyệt đối địa segment Gỉa sử ta có địa địa Offset 08F1 : 0100 địa tương đối CPU tự động lấy địa segment x 10 (hệ 16) thành 08F10 Sau đó nó cộng với địa Offset địa tuyệt đối : 0100 09010 Chuong : Tổ chức CPU 62 (63) Cách tính địa vật lý từ địa luận lý Địa vật lý = (segment*16) + offset Segment + offset Địa vật lý Ex : tính địa vật lý tương ứng địa luận lý B001:1234 Địa vật lý = B0010h + 1234h = B1244h Chuong : Tổ chức CPU 63 (64) Sự chồng chất các đoạn Địa segment hay còn gọi là địa đoạn Nó cho biết điểm bắt đầu đoạn nhớ Địa offset thể khoảng cách kể từ đầu đọan ô nhớ cần tham khảo Do offset dài 16 bit nên chiều dài tối đa đọan là 64K Chuong : Tổ chức CPU 64 (65) Sự chồng chất các đoạn Trong đoạn, ô nhớ đầu tiên có offset là 0000h và ô nhớ cuối cùng là FFFFh segment Bộ nhớ offset Ô nhớ có địa segment: offset 0000 64KB FFFF Chuong : Tổ chức CPU 65 (66) Mỗi ô nhớ có địa vật lý có thể có nhiều địa luận lý Ex : 1234:1234 Đều có chung địa vật lý 13574h 1334:0234 1304:0534 Tại ? Chuong : Tổ chức CPU 66 (67) Để hiểu rõ ta hãy xét mối quan hệ địa vật lý với segment và offset 00000h 0000: 00010h 0001: 00020h 0002: Phần chồng chập segment 0000,0001,0002 0FFFFh 1000Fh 1001Fh Chuong : Tổ chức CPU 67 (68) Giải thích 0000:0000 00000h Giữ nguyên phần segment, tăng phần offset lên thành địa luận lý là 0000:0001 Địa vật lý tương ứng là 00001h Tương tự vớI địa luận lý là 0000:0002 ta có địa vật lý là 00002h Khi offset tăng đơn vị thì địa vật lý tăng địa là tăng byte Như có thể xem đơn vị offset là byte Chuong : Tổ chức CPU 68 (69) Làm lại quá trình trên giữ nguyên phần offset tăng phần segment 0001:0000 00010h 0002:0000 00020h Khi segment tăng đơn vị thì địa vật lý tăng 10h địa là tăng 16 bytes Đơn vị segemnt là paragraph Chuong : Tổ chức CPU 69 (70) Ta thấy segment 0000 nằm đầu vùng nhớ segment 0001 bắt đầu cách đầu vùng nhớ có 16 bytes, segment 0002 bắt đầu cách đầu vùng nhớ 32 bytes… Phần chồng chập segment 0000,0001,0002 trên hình vẽ là vùng nhớ mà ô nhớ nào nằm đó (địa vật lý từ 00020h đến 0FFFFh) có thể có địa luận lý tương ứng segment Chuong : Tổ chức CPU 70 (71) Ex : ô nhớ có địa 0002Dh có địa logic segment 0000 là 0000:002D Trong segment 0001 là 0001:001D Trong segment 0002 là 0002:000D vùng nhớ nào càng có nhiều segment chồng chập lên thì các ô nhớ đó càng có nhiều địa luận lý Chuong : Tổ chức CPU 71 (72) Một ô nhớ có bao nhiêu địa luận lý Một ô nhớ có ít địa luận lý và nhiều là 65536/16 = 4096 địa luận lý Chuong : Tổ chức CPU 72 (73) Các ghi đoạn CS, DS, SS, ES ghi đoạn dùng các mục ñích ñaëc bieät sau CS : xác định đoạn lệnh – nơi chứa chương trình thi haønh DS : xác định đoạn liệu – nơi chứa chương trình thi hành SS : xác định đoạn stack – vùng làm việc tạm thời dùng để theo dõi các tham số và các địa chương trình hành sử dụng Còn ghi ES : trỏ đến đoạn thêm, thường dùng để bổ sung cho đoạn liệu có vùng nhớ >64k cho đoạn liệu Chuong : Tổ chức CPU 73 (74) Các ghi đoạn CS, DS, SS, ES ghi đoạn dùng các mục ñích ñaëc bieät sau CS : xác định đoạn lệnh – nơi chứa chương trình thi haønh DS : xác định đoạn liệu – nơi chứa chương trình thi hành SS : xác định đoạn stack – vùng làm việc tạm thời dùng để theo dõi các tham số và các địa chương trình hành sử dụng Còn ghi ES : trỏ đến đoạn thêm, thường dùng để bổ sung cho đoạn liệu có vùng nhớ >64k cho đoạn liệu Chuong : Tổ chức CPU 74 (75) Thanh ghi trạng thái (thanh ghi cờ) Thanh ghi cờ là ghi 16 bit nằm bên EU (Excution Unit) Tuy nhieân chæ coù 16 bit sử dụng.7 bit còn lại không dùng 15 14 13 12 11 10 O D I T S Z A P 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 Chuong : Tổ chức CPU C 75 (76) Thanh ghi trạng thái (thanh ghi cờ) Giaûi thích : Cờ CF : thị cộng có nhớ, trừ có mượn Cờ PF : On kết tác vụ có số bit là số chẳn Neáu soá bit laø soá leû thì PF laø Off Cờ AF : có nhớ phép cộng có mượn phép trừ với bit thaáp sang bit cao Cờ ZF : On tác vụ luận lý cho kết là Cờ SF : bit cao kết copy sang SF SF =1 kết quaû laø soá aâm SF = keát quaû laø soá döong Chuong : Tổ chức CPU 76 (77) Thanh ghi trạng thái (thanh ghi cờ) Giaûi thích : Cờ OF : OF=1 kết bị tràn số (vượt quá khả lưu trữ ) Neáu keát quaû khoâng bò traøn thì OF=0 bit coøn laïi laø bit ñieàu khieån : Cờ TF : báo CPU thi hành bước Cung cấp công cụ debug chöông trình Cờ IF : IF=1 giúp 8086 nhận biết có yêu cầu ngắt quãng có che Cờ DF : xác định hướng theo chiều tăng/giảm xử lý chuổi 8086 cho phép User lập trình bật tắt các cờ CF,DF,IF,TF Chuong : Tổ chức CPU 77 (78) Thanh ghi chæ soá (Index) ghi offset dùng để xác định chích xác byte hay word đoạn 64K.Đó là : IP : ghi troû leänh, cho bieát vò trí cuûa leänh hành đoạn lệnh Con trỏ lệnh IP còn gọi là đếm chương trình Thường dùng kết hợp với CS để theo dõi vị trí chính xác lệnh thực Chuong : Tổ chức CPU 78 (79) Thanh ghi chæ soá (Index) Caùc ghi troû Stack : SP vaø BP, moãi ghi daøi 16 bit SP (Stack pointer) cho bieát vò trí hieän haønh cuûa ñænh Stack BP (Basic Pointer) dùng để truy cập liệu Stack SI (source index) : trỏ đến ô nhớ đoạn liệu định địa ghi DS DI (destination) : chức tương tự SI Hai ghi này thường dùng xử lý chuổi Chuong : Tổ chức CPU 79 (80) ĐỊA CHỈ LUẬN LÝ VÀ THANH GHI Để tham khảo đến nhớ chương trình, VXL 8086 cho phép sử dụng các địa luận lý cách trực tiếp thông qua các ghi nó Thanh ghi đoạn dùng để chứa segment Thanh ghi tổng quát dùng để chứa địa đoạn offset Để tham khảo đến địa luận lý có segment ghi DS, offset ghi BX, ta viết DS:BX Chuong : Tổ chức CPU 80 (81) Ex : lúc tham khảo DS = 2000h BX = 12A9h thì địa luận lý DS:BX chính là tham khảo đến ô nhớ 2000:12A9 Chuong : Tổ chức CPU 81 (82) Trong cách sử dụng địa luận lý thông qua các ghi có số cặp ghi luôn phải dùng chung với cách bắt buộc : CS:IP lấy lệnh (địa lệnh thi hành) SS:SP địa đỉnh Stack SS:BP thông số Stack (dùng chương trình con) DS:SI địa chuổi nguồn ES:DI địa chuổi đích Chuong : Tổ chức CPU 82 (83) Chương trình mà VXL 8086 thi hành thường có đọan : Đọan chương trình có địa ghi CS Đọan liệu có địa ghi DS Đọan stack có địa ghi SS Chuong : Tổ chức CPU 83 (84) Caùc ñaëc tính cuûa CPU Intel Hiệu CPU thuộc họ Intel xử lý và chuyển giao thông tin xác định các yeáu toá sau : Tần số mạch xung đồng hồ CPU Độ rộng Data bus Độ rộng Address bus Chuong : Tổ chức CPU 84 (85) Caùc ñaëc tính cuûa CPU Intel Tần số mạch xung đồng hồ CPU.càng nhanh thì tốc độ xử lý càng nhanh Độ rộng Data bus càng rộng thì càng nhiều data chuyển giao lần giao dòch Độ rộng Address bus càng rộng thì khả quản lý nhớ càng lớn Chuong : Tổ chức CPU 85 (86) Caùc ñaëc tính cuûa CPU Intel Loại CPU Data Bus (bit) Address bus (bit) 8088 20 Khaû naêng quaûn lyù boä nhớ MB 8086 16 20 1MB 80286 16 24 16Mb 80386 32 32 GB 80486 32 32 GB Pentium 64 32 4GB Chuong : Tổ chức CPU 86 (87) Toùm taét CPU hoï Intel CPU 80286 : Data bus 16 bit neân moãi laàn chuyeån giao bytes quản lý 16MB nhớ Chỉ có khả thực các phép toán các số nguyên, có thể dùng tập lệnh 80286 để mô các phép toán số học dấu chấm động điều này làm giảm hiệu suất hệ thống Nếu muốn có khả thực các phép toán dấu chấm động phải gắn CoProccessor 8087 80286 làm việc theo chế độ : chế độ thực và chế độ bảo vệ Chuong : Tổ chức CPU 87 (88) Toùm taét CPU hoï Intel CPU 80386 : Data bus 32 bit nên có thể quản lý 4GB nhớ Các ghi dài 32 bit tăng độ chính xác các phép toán Độ rộng Bus tăng tốc độ thực thi CPU 80386 hoàn toàn tương thích với các CPU trước nó Chuong : Tổ chức CPU 88 (89) Toùm taét CPU hoï Intel CPU 80486 : coù bus 32 bit Coprocessor 387, boä phaän ñieàu khieån Cache, Cache 8K, dùng phối hợp tập lệnh rút gọn RISC và tập lệnh phức tạp CISC CPU 80486 phần lớn các lệnh dùng số ít xung Sử dụng chế đường ống có khả xử lý lệnh đồng thời : Lấy lệnh trước PreFetch Giaûi maõ laàn Decode Giaûi maõ laàn Decode Thực thi lệnh Execution Ghi laïi traïng thaùi WriteBack Chuong : Tổ chức CPU 89 (90) RISC & CISC Nguyeân lyù CISC : Complex Intruction Set Computer Tập lệnh khá lớn >300 lệnh Khả định vị phức tạp Một số lệnh cần phải vi lệnh hoá quaù nhieàu leänh naïp laâu laøm chaäm heä thoáng lệnh phức tạp nên time giải mã lệnh nhiều lớn time thực thi Chỉ có 20% lệnh thường dùng tới Chuong : Tổ chức CPU 90 (91) RISC & CISC Nguyeân lyù RISC : taäp leänh thu goïn Reduce Intruction Set Computer taäp leänh nhoû thi haønh khoâng caàn giaûi maõ lệnh làm việc theo chế đường ống (pipeline) Chuong : Tổ chức CPU 91 (92) CPU Pentium thành phần góp sức tăng tốc độ xử lý Pentium : Đơn vị tính toán số nguyên supercallar Bộ nhớ Cache cấp bên CPU Đơn vị tính toán số chấm động supercallar Chuong : Tổ chức CPU 92 (93) SƠ ĐỒ KHỐI PENTIUM Bộ xử lý dấu chấm động Registers Vùng đệm đích Reõ nhaùnh Cache leänh 8K UUPipeline Pipelinecuûa cuûa ALU ALU Hàng nhặt sớm registers Cache Data 8K V Pipeline cuûa ALU BIU Quaûn lyù Bus Chuong : Tổ chức CPU 93 (94) Caâu hoûi oân taäp Bus là gì? Trong các loại Bus, Bus nào là Bus chieàu Cho ô nhớ có địa vật lý là 1256H, cho biết địa dạng segment:offset với các đoạn 1256H và 1240H Ô nhớ có địa vật lý 80FD2H, đoạn nào thì noù coù offset = BFD2H? Xác định địa vật lý ô nhớ có địa logic 0A51H:CD90H Chuong : Tổ chức CPU 94 (95) Caâu hoûi oân taäp Thế nào là biên giới đoạn? Sự khác vi xử lý 8086 và 80286? Thuyết minh trình tự CPU thực câu lệnh Mem(b) Not Mem(a) Chu kỳ lệnh, chu kỳ máy Cho biết quan hệ chu kyø clock, chu kyø maùy vaø chu kyø leänh Quan hệ tập lệnh và kiến trúc CPU Chuong : Tổ chức CPU 95 (96) Caâu hoûi oân taäp Giaûi thích taïi taêng taàn soá xung clock, giaûm chu kỳ wait state nhớ, thêm cache cho CPU lại làm cho hệ thống chạy với hiệu suất cao ? Trình bày chiến lược chính lưu trữ thông tin Cache? Tính tốc độ chuyển giao liệu máy tính có CPU 486DX-66MHz vaø maùy Pentium 100MHz Phaân bieät RISC vaø CISC Trình bày chế đường ống thực thi CPU Chuong : Tổ chức CPU 96 (97) Bus ISA-8 bits : a chạy tốc độ đồng hồ là MHz truyền tải liệu tối đa MB/s b chạy tốc độ đồng hồ là 4.77 MHz truyền tải liệu tối đa 6MB/s c chạy tốc độ đồng hồ là 4.77 MHz truyền tải liệu tối đa 1MB/s d chạy tốc độ đồng hồ là 4.77 MHz truyền tải liệu tối đa 12MB/s Chuong : Tổ chức CPU 97 (98) Bus ISA-16 bits : a chạy tốc độ đồng hồ là 812 MHz truyền tải liệu tối đa MB/s b chạy tốc độ đồng hồ là 32 MHz truyền tải liệu tối đa 12MB/s c chạy tốc độ đồng hồ là 4.77 MHz truyền tải liệu tối đa 12MB/s d chạy tốc độ đồng hồ là 16MHz truyền tải liệu tối đa 12MB/s Chuong : Tổ chức CPU 98 (99) Bus PCI : a truyền tải liệu tối đa 528 MB/s b truyền tải liệu tối đa 128MB/s c truyền tải liệu tối đa 512MB/s d truyền tải liệu tối đa 64MB/s Chuong : Tổ chức CPU 99 (100) Dẫn đầu Chipset có trên thị trường là : a.AMD b.ALI c.Intel d.Mac Chuong : Tổ chức CPU 100 (101) Hệ thống Bus là hệ thống xa lộ thông tin bên PC giúp trao đổi: a.thông tin các máy tính b.dữ liệu các thiết bị ngọai vi c liệu VXL và các thiết bị khác d tất đúng Chuong : Tổ chức CPU 101 (102) Mọi họat động máy tính từ CPU đến nhớ RAM và thiết bị I/O phảI thông qua nốI kết gọi chung là : a.Chuẩn giao tiếp b.Bus c.BIOS d.CMOS Chuong : Tổ chức CPU 102 (103) BÀI TẬP Bài : Cho biết giá trị chuổi ‘XY’ lưu trữ MT dướI dạng số hex và dạng số bin? Bài : Cho biết giá trị hệ 10 các số nguyên có dấu sau : a.10000000b b.01111111b Bài : Cho đoạn code sau : MOV AH,7F INT 20H MOV AX,1234 Hãy cho biết giá trị MOV BH,AL các ghi AX,BX ? MOV BL,AH Chuong : Tổ chức CPU 103 (104) 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ố là số có dấu Giải thích kết chứa ghi AL đoạn code trên thực thi Sử dụng giá trị hệ 10 để giải thích Chuong : Tổ chức CPU 104 (105) BÀI TẬP Bài 5: Giả sử ghi MT bạn dài 24 bits, cho biết giá trị số dương lớn mà ghi này có thể chứa hệ và hệ 16? Bài : Biến đổI địa sau thành địa tuyệt đối a 0950:0100 b 08F1:0200 Chuong : Tổ chức CPU 105 (106) MAINBOARD Chuong : Tổ chức CPU 106 (107) MAINBOARD Chuong : Tổ chức CPU 107 (108) MAINBOARD Chuong : Tổ chức CPU 108 (109) Chuong : Tổ chức CPU 109 (110) Chuong : Tổ chức CPU 110 (111) MAINBOARD Chuong : Tổ chức CPU 111 (112) Chuong : Tổ chức CPU 112 (113)