Bài giảng Cấu trúc máy tính - Chương 2 : Tổ chức CPU
NỘI DUNG
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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- bai_giang_cau_truc_may_tinh_chuong_2_to_chuc_cpu.ppt
Nội dung text: Bài giảng Cấu trúc máy tính - Chương 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 A or A xor Not A B B B 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 Chuong 2 : Tổ chức CPU 11
- 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 Chuong 2 : Tổ chức CPU 12
- Chuyển hệ töø heä 2 ➔ heä 10 Ñoåi töø heä 2 ➔ heä 10 : Ex : 1100b = ?d i Caùch ñoåi : ai*2 vôùi i 0 n a laø kyù soá cuûa soá caàn ñoåi. 3 2 1 0 1*2 +1*2 +0*2 +0*2 = 12d a Chuong 2 : Tổ chức CPU 13
- Chuyển hệ töø heä 10 ➔ heä 16 Ñoåi töø heä 10 ➔ heä 16 : Ex : 253d = ?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. 253d = FDh Chuong 2 : Tổ chức CPU 14
- Chuyển hệ töø heä 2 ➔ heä 16 Ñoåi töø heä 2 ➔ heä 16 : Ex : 101011010b = ?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. 000101011010d = 15Ah 1 5 A Chuong 2 : Tổ chức CPU 15
- 2.2 Bộ xử lý trung tâm CPU Chuong 2 : Tổ chức CPU 16
- 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 Chuong 2 : Tổ chức CPU 17
- 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. Chuong 2 : Tổ chức CPU 18
- Sơ đồ khối đọc, phân tích lệnh , ra lệnh cho CPU các đơn vị Main Memory chức năng Control Unit thực hiện Có 2 tác vụ : Đọc /Ghi 2 loại dữ liệu: ALU 1) Data : số liệu đầu vào, kết quả, dữ liệu trung gian 2) Chương trình Registers Phép toán: số học, luận lý, so sánh, dịch, Đơn vị giao tiếp – IO Card quay,xử lý bit IO Device Chuong 2 : Tổ chức CPU 19
- 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 : 1. Laáy leänh : leänh caát ôû oâ nhôù seõ ñöôïc laáy vaøo thanh ghi leänh. 2. 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. 3. 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. Chuong 2 : Tổ chức CPU 20
- 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öï. Chuong 2 : Tổ chức CPU 21
- 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 Chuong 2 : Tổ chức CPU 22
- 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á. Chuong 2 : Tổ chức CPU 23
- 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 Lấy lệnh LỆNH 1 LỆNH 2 LỆNH 3 Thi hành LỆNH 1 LỆNH 2 LỆNH 3 lệnh CPU thường Lấy lệnh LỆNH 1 LỆNH 2 LỆNH 3 Thời gian tiết kiệm được Thi LỆNH 1 LỆNH 2 LỆNH 3 hành lệnh CPU dùng cơ cấu đường ống (piple line) Chuong 2 : Tổ chức CPU 24
- Heä ña boä xöû lyù (MultiProccessor) Shared CPU CPU CPU CPU memory Bus Heä MultiProccessor söû duïng 1 ñöôøng Bus Chuong 2 : Tổ chức CPU 25
- Heä ña boä xöû lyù (MultiProccessor) Local Memory Shared CPU CPU CPU CPU memory Bus Heä MultiProccessor söû duïng nhieàu boä nhôù cuïc boä Chuong 2 : Tổ chức CPU 26
- Bus 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. Chuong 2 : Tổ chức CPU 27
- 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). Chuong 2 : Tổ chức CPU 28
- 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ụ Chuong 2 : Tổ chức CPU 29
- Minh họa hệ thống Bus Address bus CPU Memory Data bus Control bus IO devices Chuong 2 : Tổ chức CPU 30
- A Typical Output Port Chuong 2 : Tổ chức CPU 31
- An Input and an Output Device That Share the Same Address (a Dual I/O Port) Chuong 2 : Tổ chức CPU 32
- Connection of the PCI and ISA Busses in a Typical PC Industry Standard Architecture Peripheral Component Interconnect Chuong 2 : Tổ chức CPU 33
- 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 2 : Tổ chức CPU 34
- 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 Chuong 2 : Tổ chức CPU 35
- Plug and Play 1.Cả BIOS trên mainboard và Card bổ sung đều không phảI là Plug and Play. 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. 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. Chuong 2 : Tổ chức CPU 36
- AGP Bus Interface Accelerated Graphic Port Chuong 2 : Tổ chức CPU 37
- 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 2 : Tổ chức CPU 38
- Độ 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 2n đị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. Chuong 2 : Tổ chức CPU 39
- 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. Chuong 2 : Tổ chức CPU 40
- 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. Chuong 2 : Tổ chức CPU 41
- 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ị. Chuong 2 : Tổ chức CPU 42
- 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ớ. Chuong 2 : Tổ chức CPU 43
- 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). Chuong 2 : Tổ chức CPU 44
- 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. Chuong 2 : Tổ chức CPU 45
- Chu kỳ Bus (cont) Data2 Add1 Data1 Add2 Ready Chu kỳ bus Chu kyø Bus khi khoâng coù traïng thaùi chôø Add2 Data2 Add1 Data1 Chu kyø Bus khi coù traïng thaùi chôø InactiveReady Chu kỳ bus Chuong 2 : Tổ chức CPU 46
- Chu kỳ Bus (cont) Chú ý : Trong 1 số hệ thống, cho phép ta Setup một số wait states trong phần Extend Setup của 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 nếu cho giá trị này lớn thì tốc độ chung của hệ thống bị chậm lại. Wait states mặc định là 4 cho các vỉ mạch 8 bit và là 1 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 trong 1 lần truyền /số chu kỳ xung clock cho mỗi lần truyền Chuong 2 : Tổ chức CPU 47
- 2.4 Hệ thống thanh ghi Là các phần tử có khả năng 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 rất nhanh. Phân loại thanh ghi : Thanh ghi tổng quát : chủ yếu dùng để lưu trữ dữ liệu trong quá trình thực thi CT, nhưng mỗi thanh ghi còn có 1 số chức năng riêng. Thanh ghi điều khiển : các bit của nó qui định tác vụ của các đơn vị chức năng của MT. Thanh ghi trạng thái : lưu trữ thông tin mô tả trạng thái. Chuong 2 : Tổ chức CPU 48
- AX Register 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 AH AL Thanh ghi AX (Accumulator register) : thanh ghi tích luỹ, dài 16 bit nhưng nó cũng có thể chia làm 2 thanh ghi 8 bit AH và AL AX ngoài chức năng lưu trữ dữ liệu, nó còn được CPU dùng trong phép toán số học như nhân, chia. Chuong 2 : Tổ chức CPU 49
- AX Register 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 AH AL Thanh ghi AH là nửa cao của thanh ghi AX Thanh ghi AL là nửa thấp của thanh ghi AX Thí dụ nếu AX=1234h thì AH=12H AL=34h Chuong 2 : Tổ chức CPU 50
- BX Register 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 BH BL Thanh ghi BX (Base register) : dài 16 bit nhưng nó cũng có thể chia làm 2 thanh ghi 8 bit BH và BL BX lưu giữ địa chỉ của 1 thủ tục hay biến, nó cũng được dùng thực hiện các phép dời chuyển số học và dữ liệu. Chuong 2 : Tổ chức CPU 51
- DX Register 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 DX DH DL Thanh ghi DX (Data register) : dài 16 bit nhưng nó cũng có thể chia làm 2 thanh ghi 8 bit DH và DL Thanh ghi DX : có vai trò đặc biệt trong phép nhân và phép chia ngoài chức năng lưu trữ dữ liệu. Ex : khi nhân DX sẽ lưu giữ 16 bit cao của tích. Chuong 2 : Tổ chức CPU 52
- CX Register 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 CX CH CL CX (Counter register) : thanh ghi này dùng làm bộ đếm trong các vòng lặp. Các lệnh tự động lặp lại và sau mỗi lần lặp giá trị của CX tự động giảm đi 1. CL thường chứa số lần dịch, quay trong các lệnh dịch, quay thanh ghi CX dài 16 bit, nó cũng có thể chia làm 2 thanh ghi 8 bit là CH và CL Chuong 2 : Tổ chức CPU 53
- Các thanh ghi Segment CPU có 4 thanh ghi segment dài 16 bit, các thanh ghi này không thể chia làm 2 thanh ghi 8 bit như 4 thanh ghi AX,BX,CX và DX. Các thanh ghi đoạn được sử dụng như là địa chỉ cơ sở của các lệnh trong chương trình, stack và dữ liệu. 4 thanh ghi đoạn : CS (Code Segment), DS (Data Segment), SS (Stack Segment) và ES (Extra Segment). CS : chứa địa chỉ bắt đầu của code trong chương trình. DS : chứa địa chỉ của các biến khai báo trong chương trình. SS : chứa địa chỉ của bộ nhớ Stack dùng trong chương trình ES : chứa địa chỉ cơ sở bổ sung cho các biến bộ nhớ. Chuong 2 : Tổ chức CPU 54
- Thanh ghi 32 bit ◼ Ñoái vôùi moät soá CPU ñôøi môùi, coù caùc thanh ghi daøi 32, 64 bit. Ta ghi theâm E ñöùng tröôùc teân caùc thanh ghi 16 bit EAX, EBX, ECX, EDX Chuong 2 : Tổ chức CPU 55
- 2.5 Thanh ghi đoạn và sự hình thành địa chỉ 8088 sử dụng 20 bit để đánh địa chỉ bộ nhớ ➔ quản lý trên 1Mb bộ nhớ. Nhưng 8088 lại không có thanh ghi nào 20 bit, tất cả là 16 bit do đó 1 thanh ghi chỉ có thể đánh địa chỉ tối đa là 64 kB bộ nhớ. Như vậy phải kết hợp 2 thanh ghi mới địa chỉ hoá toàn bộ bộ nhớ. 8088 sử 1 trong các thanh ghi dùng chung và 1 trong các thanh ghi đoạn (CS,DS,SS,ES) để tạo thành 1 địa chỉ 20 bit. Chuong 2 : Tổ chức CPU 56
- SỰ PHÂN ĐOẠN BỘ NHỚ CPU 8086 dùng phương pháp phân đọan bộ nhớ để quản lý bộ nhớ 1MB của nó. Địa chỉ 20 bit của bộ nhớ 1MB không thể chứa đủ trong các thanh ghi 16 bit của CPU 8086 ➔ bộ nhớ 1MB được chia ra thành các đoạn (segment) 64KB. Địa chỉ trong các đọan 64KB chỉ có 16 bit nên CPU 8086 dễ dàng xử lý bằng các thanh ghi của nó. ➔ PHÂN ĐOẠN BỘ NHỚ : là cách dùng các thanh ghi 16 bit để biểu diễn cho địa chỉ 20 bit. Chuong 2 : Tổ chức CPU 57
- 2.5 Địa chỉ vật lý & địa chỉ luận lý Địa chỉ 20 bits được gọi là địa chỉ vật lý. Địa chỉ vật lý dùng như thế nào ? Dùng trong thiết kế các mạch giải mã địa chỉ cho bộ nhớ và xuất nhập. Còn trong lập trình , địa chỉ vật lý không thể dùng được mà nó được thay thế bằng địa chỉ luận lý (logic). Chuong 2 : Tổ chức CPU 58
- Địa chỉ luận lý Địa chỉ của 1 ô nhớ được xác định bởi 2 phần: Segment : offset Địa chỉ trong đoạn (độ dời) Địa chỉ đoạn Ex : B001:1234 Mỗi địa chỉ thành phần là 1 số 16 bit và được viết theo cách sau : Segment : offset Chuong 2 : Tổ chức CPU 59
- Sự hình thành địa chỉ Hãng Intel đề xuất 1 phương pháp để hình thành địa chỉ. Mỗi địa chỉ ô nhớ được hình thành từ 1 phép tính tổng 1 địa chỉ cơ sở và 1 địa chỉ offset. Địa chỉ cơ sở lưu trong 1 thanh ghi segemnt, còn địa chỉ offset nằm trong 1 thanh ghi chỉ số hay thanh ghi con trỏ. Phép cộng này sẽ tạo 1 địa chỉ 20 bit gọi là địa chỉ vật lý. Chuong 2 : Tổ chức CPU 60
- Thí dụ minh hoạ hình thành địa chỉ 15 0 Địa chỉ Offset 15 0 Địa chỉ segment 0 0 0 0 19 cộng 0 Địa chỉ vật lý 20 bit Chuong 2 : Tổ chức CPU 61
- Sự hình thành địa chỉ tuyệt đối địa chỉ segment địa chỉ Offset Gỉa sử ta có địa chỉ 08F1 : 0100 địa chỉ tương đối 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 Chuong 2 : Tổ chức CPU 62
- 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 Chuong 2 : Tổ chức CPU 63
- 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. Chuong 2 : Tổ chức CPU 64
- 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. Bộ nhớ segment 0000 offset Ô nhớ có 64KB địa chỉ segment: offset FFFF Chuong 2 : Tổ chức CPU 65
- 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 Đều có chung địa chỉ 1334:0234 vật lý 13574h 1304:0534 Tại sao ? Chuong 2 : Tổ chức CPU 66
- Để 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 0000: 00000h 0001: 00010h 0002: 00020h Phần chồng chập của 3 segment 0000,0001,0002 0FFFFh 1000Fh 1001Fh Chuong 2 : Tổ chức CPU 67
- 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 Chuong 2 : Tổ chức CPU 68
- Làm lại quá trình trên nhưng giữ nguyên phần offset chỉ tăng phần segment. 0001:0000 ➔ 00010h 0002:0000 ➔ 00020h 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 Chuong 2 : Tổ chức CPU 69