Sử dụng bộ kiểm tra pci thẻ bài từ bộ công cụ chính nm9221 để chẩn đoán PC. Giao thức bus PCI

Mỗi giao dịch (trao đổi trên bus) bao gồm hai thiết bị - thiết bị khởi tạo trao đổi, còn được gọi là thiết bị chính và thiết bị đích, còn được gọi là thiết bị phụ. Bus PCI xử lý tất cả các giao dịch dưới dạng các gói: mỗi giao dịch bắt đầu bằng một giai đoạn địa chỉ, sau đó có thể là một hoặc nhiều giai đoạn dữ liệu. Thành phần và mục đích của tín hiệu giao diện bus được đưa ra trong Bảng. 1.

Bảng 1. Thành phần và mục đích của tín hiệu giao diện bus PCI.

Tín hiệu

Mục đích

Địa chỉ/Dữ liệu - bus địa chỉ/dữ liệu đa kênh. Khi bắt đầu giao dịch, địa chỉ được truyền đi, trong các chu kỳ tiếp theo - dữ liệu

Kích hoạt lệnh/Byte - lệnh/quyền truy cập byte. Lệnh xác định loại chu kỳ bus tiếp theo được chỉ định bằng mã 4 bit trong pha địa chỉ

Khung. Việc đưa tín hiệu đánh dấu sự bắt đầu của giao dịch (giai đoạn địa chỉ), việc loại bỏ tín hiệu cho biết chu kỳ truyền dữ liệu tiếp theo là chu kỳ cuối cùng trong giao dịch

Chọn thiết bị - thiết bị được chọn (phản hồi của CPU đối với giao dịch được gửi tới nó)

Initiator Ready - sự sẵn sàng của thiết bị chính để trao đổi dữ liệu

Target Ready - sự sẵn sàng của trung tâm điều khiển để trao đổi dữ liệu

Yêu cầu từ CPU tới master để dừng giao dịch hiện tại

Bắt tín hiệu xe buýt để đảm bảo hoạt động ổn định. Được sử dụng bởi một cầu nối yêu cầu nhiều giao dịch PCI để hoàn thành một thao tác

Yêu cầu - yêu cầu từ thiết bị chính để thu giữ xe buýt

Grant - cấp quyền điều khiển xe buýt cho chủ

Tính chẵn lẻ - bit chẵn lẻ chung cho các dòng AD và C/BE#

Lỗi chẵn lẻ - tín hiệu lỗi chẵn lẻ (đối với tất cả các chu kỳ ngoại trừ các chu kỳ đặc biệt). Được tạo bởi bất kỳ thiết bị nào phát hiện lỗi

Sự kiện quản lý nguồn - tín hiệu về các sự kiện gây ra thay đổi chế độ

mức tiêu thụ (tín hiệu bổ sung được giới thiệu trong PCI 2.2)

Đồng hồ đang chạy - bus hoạt động ở tần số đồng hồ danh định. Việc loại bỏ tín hiệu có nghĩa là làm chậm lại hoặc ngừng đồng bộ hóa để giảm mức tiêu thụ (đối với ứng dụng di động)

Hiện tại - chỉ báo hiện diện bảng mã hóa yêu cầu tiêu thụ điện năng. Trên card mở rộng, một hoặc hai đường LED được kết nối với bus GND, được bo mạch chủ cảm nhận

Đặt lại - đặt lại tất cả các thanh ghi về trạng thái ban đầu

Khởi tạo thiết bị Chọn - lựa chọn thiết bị trong chu kỳ cấu hình

đọc và viết

Lỗi hệ thống - lỗi hệ thống. Lỗi chẵn lẻ của địa chỉ dữ liệu vòng lặp đặc biệt hoặc lỗi nghiêm trọng khác được thiết bị phát hiện. Được kích hoạt bởi bất kỳ thiết bị PCI nào và gọi NMI

Yêu cầu 64 bit - yêu cầu trao đổi 64 bit. Tín hiệu đầu vào 64-bit

bộ khởi tạo, nó trùng khớp về thời gian với tín hiệu FRAME*. Trong quá trình hoàn tất thiết lập lại (tín hiệu RST*) gửi tín hiệu đến thiết bị 64 bit rằng thiết bị đó được kết nối với bus 64 bit. Nếu thiết bị 64 bit không phát hiện được tín hiệu này, nó phải tự cấu hình lại sang chế độ 32 bit bằng cách vô hiệu hóa các mạch đệm byte cao

Xác nhận trao đổi 64-bit. Tín hiệu được đưa vào bởi CPU 64-bit đã nhận dạng địa chỉ của nó đồng thời với DEVSEL*. Việc không cung cấp xác nhận này sẽ buộc người khởi tạo thực hiện trao đổi ở tốc độ 32 bit

A, B, C, D - các dòng yêu cầu ngắt, độ nhạy mức, mức hoạt động - thấp, cho phép phân tách (chia sẻ) các dòng

Cái đồng hồ- tần số đồng hồ lốp xe. Phải trong khoảng 20-33 MHz,

Trong PCI2.1 - lên tới 66 MHz

Kích hoạt 66 MHz - độ phân giải tần số xung nhịp lên tới 66 MHz

Snoop Done - báo hiệu rằng chu trình snoop đã hoàn tất cho giao dịch hiện tại. Mức thấp cho biết chu trình giám sát kết hợp bộ nhớ và bộ nhớ đệm chưa hoàn tất. Tín hiệu tùy chọn, chỉ được sử dụng bởi các thiết bị bus có bộ nhớ đệm

Snoop Backoff - truy cập bộ nhớ hiện tại của thuê bao xe buýt

đến dòng bộ đệm đã sửa đổi. Tín hiệu tùy chọn, chỉ được sử dụng bởi những người đăng ký xe buýt có bộ nhớ đệm trong suốt thuật toán viết lại

Test Clock - Đồng bộ giao diện test JTAG

Đầu vào dữ liệu thử nghiệm - Dữ liệu đầu vào giao diện thử nghiệm JTAG

Đầu ra dữ liệu thử nghiệm - Dữ liệu đầu ra giao diện thử nghiệm JTAG

Bài kiểm tra Chọn chế độ- lựa chọn chế độ cho giao diện kiểm tra JTAG

Kiểm tra logic Đặt lại - đặt lại logic kiểm tra

Tại bất kỳ thời điểm nào, xe buýt chỉ có thể được điều khiển bởi một thiết bị chính đã nhận được quyền làm như vậy từ trọng tài. Mỗi thiết bị chính có một cặp tín hiệu - REQ# để yêu cầu điều khiển bus và GNT# để xác nhận rằng điều khiển bus đã được cấp. Thiết bị chỉ có thể bắt đầu giao dịch (đặt tín hiệu FRAME#) khi tín hiệu GNT# nhận được đang hoạt động. Việc xóa tín hiệu GNT* sẽ ngăn thiết bị bắt đầu giao dịch tiếp theo và trong một số điều kiện nhất định (xem bên dưới) sẽ khiến thiết bị chấm dứt giao dịch hiện tại. Việc phân xử các yêu cầu sử dụng bus được xử lý bởi một nút đặc biệt có trong chipset bo mạch chủ. Sơ đồ ưu tiên (cố định, quay vòng, kết hợp) được xác định bằng chương trình trọng tài.

Các dòng AD ghép kênh phổ biến được sử dụng cho địa chỉ và dữ liệu. Bốn đường C/BE ghép kênh cung cấp mã hóa lệnh trong pha địa chỉ và độ phân giải byte trong pha dữ liệu. Khi bắt đầu giao dịch, thiết bị chính kích hoạt tín hiệu FRAME#, truyền địa chỉ đích qua bus AD và thông tin về loại giao dịch (lệnh) qua đường C/BE#. Trung tâm điều khiển có địa chỉ sẽ phản hồi bằng tín hiệu DEVSEL#. Thiết bị chính cho biết sự sẵn sàng trao đổi dữ liệu với tín hiệu IRDY#; sự sẵn sàng này có thể được thiết lập trước khi nhận DEVSEL#. Khi trung tâm điều khiển sẵn sàng trao đổi dữ liệu, nó sẽ đặt tín hiệu TRDY#. Dữ liệu chỉ được truyền trên bus AD khi tín hiệu IRDY# và TRDY# xuất hiện đồng thời. Với sự trợ giúp của các tín hiệu này, thiết bị chính và trung tâm điều khiển sẽ phối hợp tốc độ của chúng bằng cách đưa ra các chu kỳ chờ. Trong bộ lễ phục. Hình 1 hiển thị sơ đồ thời gian của quá trình trao đổi trong đó cả thiết bị chính và trung tâm điều khiển đều bước vào chu kỳ chờ. Nếu cả hai đều nhập các tín hiệu sẵn sàng ở cuối giai đoạn địa chỉ và không loại bỏ chúng cho đến khi kết thúc quá trình trao đổi thì 32 bit dữ liệu sẽ được truyền trong mỗi chu kỳ xung nhịp sau giai đoạn địa chỉ, điều này sẽ mang lại hiệu suất trao đổi tối đa.

Số lượng pha dữ liệu trong gói không được chỉ định rõ ràng, nhưng trước pha dữ liệu cuối cùng, thiết bị chủ, khi tín hiệu IRDY# được chèn vào, sẽ loại bỏ tín hiệu FRAME#. Trong các giao dịch đơn lẻ, tín hiệu FRAME# chỉ hoạt động trong một chu kỳ xung nhịp. Nếu thiết bị không hỗ trợ giao dịch hàng loạt ở chế độ nô lệ thì thiết bị phải yêu cầu chấm dứt giao dịch hàng loạt trong giai đoạn dữ liệu đầu tiên (bằng cách nhập tín hiệu STOP# cùng lúc với TRDY#). Đáp lại, chủ sẽ hoàn thành giao dịch đã cho và tiếp tục trao đổi giao dịch tiếp theo với giá trị địa chỉ mới. Sau giai đoạn dữ liệu cuối cùng, thiết bị chủ sẽ loại bỏ tín hiệu IRDY# và bus chuyển sang trạng thái không hoạt động (PCI Idle) - cả tín hiệu FRAME# và IRDY# đều ở trạng thái thụ động. Người khởi tạo có thể bắt đầu giao dịch tiếp theo mà không cần nghỉ ngơi bằng cách nhập FRAME# đồng thời với việc rút IRDY#. Các giao dịch liền kề nhanh như vậy (Fast Back-to-Back) có thể được xử lý ở một hoặc tới các trung tâm trung tâm khác nhau. Loại đầu tiên được mọi người ủng hộ thiết bị PCI, đóng vai trò là trung tâm điều khiển. Người khởi xướng được phép (nếu biết cách) sử dụng các giao dịch liền kề nhanh chóng với các thiết bị khác nhau(bit 9 của thanh ghi lệnh), chỉ khi tất cả các tác nhân bus cho phép gọi nhanh.

Cơm. 1. Chu trình truyền thông trên bus PCI

Giao thức bắt tay đảm bảo độ tin cậy của quá trình trao đổi - thiết bị chủ luôn nhận được thông tin về quá trình xử lý giao dịch của trung tâm điều khiển trung tâm. Một phương tiện để tăng độ tin cậy (tính hợp lệ) là sử dụng điều khiển chẵn lẻ: các dòng AD và C/BE# trong cả pha địa chỉ và pha dữ liệu đều được bảo vệ bởi bit chẵn lẻ PAR (số bit đơn vị của các dòng này, bao gồm cả PAR , phải chẵn). Giá trị PAR thực tế xuất hiện trên bus với độ trễ một chu kỳ xung nhịp so với các đường AD và C/BE#. Khi phát hiện lỗi CPU, tín hiệu PERR# sẽ được tạo ra (với sự dịch chuyển xung nhịp sau khi bit chẵn lẻ có hiệu lực). Khi tính toán tính chẵn lẻ khi truyền dữ liệu, tất cả các byte đều được tính đến, bao gồm cả các byte không hợp lệ (được đánh dấu bằng mức tín hiệu C/BEx# cao). Trạng thái bit, ngay cả trong các byte dữ liệu không hợp lệ, phải duy trì ổn định trong suốt giai đoạn dữ liệu.

Mỗi giao dịch trên bus phải được hoàn thành theo kế hoạch hoặc bị hủy bỏ và bus phải chuyển sang trạng thái nghỉ (tín hiệu FRAME# và IRDY# là thụ động). Việc hoàn thành giao dịch được thực hiện theo sáng kiến ​​của chủ hoặc theo sáng kiến ​​của PU. Master có thể hoàn tất giao dịch theo một trong những cách sau:

    Việc chấm dứt thông thường (Camletiori) được thực hiện khi quá trình trao đổi dữ liệu hoàn tất.

    Hết thời gian chờ xảy ra khi trong quá trình giao dịch, quyền kiểm soát bus của chủ bị mất (bằng cách loại bỏ tín hiệu GNT#) và thời gian được chỉ định trong Bộ đếm thời gian trễ của nó hết hạn. Điều này có thể xảy ra nếu CU có địa chỉ bị chậm đột ngột hoặc giao dịch được lên lịch quá dài. Các giao dịch ngắn (với một hoặc hai giai đoạn dữ liệu), ngay cả khi tín hiệu GNT# bị loại bỏ và bộ đếm thời gian được kích hoạt, vẫn được hoàn thành bình thường.

    Giao dịch bị từ chối (Master-Abort) khi chủ không nhận được phản hồi từ CPU (DEVSEL#) trong một thời gian nhất định.

Giao dịch có thể được chấm dứt theo sáng kiến ​​của Trung tâm điều khiển; Để làm điều này, nó có thể nhập tín hiệu STOP#. Có ba loại chấm dứt có thể:

    Thử lại - tín hiệu STOP# được nhập khi tín hiệu TRDY# thụ động trước pha dữ liệu đầu tiên. Tình trạng này xảy ra khi trung tâm điều khiển do bận nội bộ nên không có thời gian đưa ra dữ liệu đầu tiên đúng thời gian (16 chu kỳ xung nhịp). Thử lại là một dấu hiệu để chủ bắt đầu lại giao dịch tương tự.

    Ngắt kết nối - Tín hiệu STOP# được nhập trong hoặc sau giai đoạn dữ liệu đầu tiên. Nếu tín hiệu STOP# được nhập trong khi tín hiệu TRDY# của pha dữ liệu tiếp theo đang hoạt động thì dữ liệu này sẽ được truyền đi và giao dịch được hoàn thành. Nếu tín hiệu STOP# được nhập bằng tín hiệu TRDY# thụ động thì giao dịch được hoàn thành mà không truyền dữ liệu của pha tiếp theo. Ngắt kết nối xảy ra khi trung tâm điều khiển không thể phát hoặc nhận kịp thời phần dữ liệu gói tiếp theo.

    Hủy bỏ mục tiêu - tín hiệu STOP# được nhập đồng thời với tín hiệu DEVSEL# bị loại bỏ (trong các trường hợp trước, khi tín hiệu STOP# xuất hiện, tín hiệu DEVSEL# đã hoạt động). Sau đó, dữ liệu không còn được truyền đi nữa. Việc từ chối được đưa ra khi trung tâm điều khiển phát hiện ra một lỗi nghiêm trọng hoặc các tình trạng khác khiến trung tâm điều khiển không thể đáp ứng một yêu cầu nhất định nữa.

Lệnh bus, bộ nhớ và địa chỉ I/O

Mỗi lệnh bus chỉ định địa chỉ của dữ liệu được truyền trong giai đoạn dữ liệu đầu tiên của gói. Địa chỉ cho mỗi giai đoạn dữ liệu tiếp theo của gói được tăng thêm 4 (từ kép tiếp theo), nhưng trong hướng dẫn truy cập bộ nhớ, thứ tự có thể khác (xem bên dưới). Các byte bus AD mang thông tin hợp lệ được chọn bởi tín hiệu C/BE# trong các pha dữ liệu. Trong một gói, các tín hiệu này có thể thay đổi trạng thái từ pha này sang pha khác một cách tùy ý. Các byte được phép có thể bị phân tán; Có thể có các giai đoạn dữ liệu trong đó không cho phép byte. Không giống như bus ISA, không có thay đổi bit động trên PCI - tất cả các thiết bị phải được kết nối với bus theo cách 32-bit. Nếu thiết bị PCI sử dụng các mạch chức năng có dung lượng khác (ví dụ: bạn cần kết nối chip 8255 có bus dữ liệu 8 bit và bốn thanh ghi), thì bạn phải áp dụng các phương pháp chuyển đổi mạch để ánh xạ tất cả các thanh ghi tới 32 thanh ghi. -bit AD xe buýt.

Địa chỉ bộ nhớ, cổng và thanh ghi cấu hình là khác nhau.

♦ Trong chu kỳ truy cập bộ nhớ, địa chỉ được căn chỉnh trên ranh giới từ kép sẽ được truyền dọc theo các đường AD; Các dòng AD chỉ định thứ tự các địa chỉ trong gói:

    00 - tăng tuyến tính; địa chỉ của pha tiếp theo khác với pha trước ở số byte bus (4 đối với bus 32 bit và 8 đối với bus 64 bit).

    10 - Chế độ Gói dòng bộ đệm, gói địa chỉ có tính đến độ dài của dòng bộ đệm. Trong một giao dịch, địa chỉ của giai đoạn tiếp theo sẽ tăng lên cho đến khi đạt đến ranh giới dòng bộ đệm, sau đó nó sẽ di chuyển đến đầu dòng này và tăng lên địa chỉ trước địa chỉ bắt đầu. Nếu giao dịch dài hơn dòng bộ nhớ cache, sau đó nó sẽ tiếp tục trong hàng tiếp theo từ cùng một sự bù đắp khi nó bắt đầu. Vì vậy, với độ dài dòng 16 byte và bus 32 bit, giao dịch bắt đầu tại địa chỉ xxxxxxOSh sẽ có các giai đoạn dữ liệu tiếp theo liên quan đến địa chỉ xxxxxxOCh, xxxxxxOOh, xxxxxx04h; và xa hơn nữa là xxxxxxlSh, xxxxxxlCh, xxxxxxlOh, xxxxxx!4h. Độ dài dòng bộ đệm được chỉ định trong không gian cấu hình thiết bị (xem phần 6.2.12). Nếu thiết bị không có thanh ghi Kích thước dòng bộ đệm thì thiết bị phải hủy giao dịch sau giai đoạn dữ liệu đầu tiên;

    01 và 11 - dành riêng, có thể được sử dụng làm chỉ báo ngắt kết nối (Disconnect) sau giai đoạn dữ liệu đầu tiên.

    Trong chu kỳ truy cập các cổng I/O, tất cả các dòng AD được sử dụng để đánh địa chỉ bất kỳ byte nào. Trong trường hợp này, các bit địa chỉ AD chỉ ra địa chỉ từ kép chứa dữ liệu được truyền và các bit thứ tự thấp của địa chỉ AD phải tương ứng với các byte có thể được kích hoạt bởi tín hiệu C/BE#. Khi AD=00, C/BE# được cho phép - xxxO hoặc 1111, với AO «01-C/BE# = xx01 hoặc 1111, với AO=10-C/BE# = x011 hoặc 1111, với AD=11 - C /BE# = 0111 (chỉ byte 3) hoặc 1111 được truyền (không cho phép byte). Các chu trình này cũng có thể được thực hiện theo đợt, mặc dù trong thực tế tính năng này hiếm khi được sử dụng.

    Trong chu kỳ ghi/đọc cấu hình, thiết bị (thẻ mở rộng) được chọn bằng tín hiệu IDSEL riêng lẻ; chức năng được đánh địa chỉ bằng các bit AD và các thanh ghi cấu hình (chỉ từ kép) được đánh địa chỉ bằng các bit AD, với AD=00.

Đội Các bus PCI được xác định bởi giá trị của các bit C/BE# trong pha địa chỉ.

    Lệnh xác nhận ngắtđược thiết kế để đọc vectơ ngắt. Theo giao thức, nó trông giống như một lệnh đọc, được gửi ngầm tới bộ điều khiển ngắt hệ thống. Ở đây, trong giai đoạn địa chỉ, không có thông tin hữu ích nào được truyền qua bus AD, nhưng bộ khởi tạo (cầu chính) của nó phải đảm bảo tính ổn định tín hiệu và tính chẵn lẻ chính xác. Trong PC, vectơ 8 bit được truyền ở byte 0 khi bộ điều khiển ngắt sẵn sàng (thông qua tín hiệu TRDY#). Xác nhận ngắt được thực hiện trong một chu kỳ (chu kỳ nhàn rỗi đầu tiên mà bộ xử lý x86 thực hiện để tôn vinh khả năng tương thích cổ xưa, bị chặn bởi cầu nối).

    Chu kỳ đặc biệt khác với tất cả những cái khác ở chỗ nó được phát sóng. Tuy nhiên, không có tác nhân nào phản hồi và cầu nối chính hoặc thiết bị khác giới thiệu chu trình này luôn kết thúc nó bằng phương pháp Master Abort (cần 6 chu kỳ bus). Một chu trình đặc biệt được thiết kế để tạo ra tin nhắn quảng bá- chúng có thể được đọc bởi bất kỳ đại lý xe buýt “quan tâm” nào. Loại thông báo được giải mã bởi nội dung của dòng AD; dòng AD có thể chứa dữ liệu mang trong thông báo. Giai đoạn địa chỉ trong chu trình này là dành cho thiết bị thông thường bị thiếu, nhưng các cầu nối sử dụng thông tin của nó để kiểm soát việc truyền bá thông điệp. Cần có thông báo có mã OOOOh, 000lh và 0002h để cho biết việc tắt máy, tạm dừng bộ xử lý hoặc các chức năng cụ thể của bộ xử lý x8b liên quan đến bộ đệm và theo dõi. Mã 0003-FFFFh được bảo lưu. Một chu trình đặc biệt có thể được tạo ra bởi cơ chế phần cứng và phần mềm giống như chu trình cấu hình (xem phần 6.2.11), nhưng với một giá trị địa chỉ cụ thể.

    Đọc và ghi lệnh I/O phục vụ để truy cập vào không gian cổng. Các dòng AD chứa địa chỉ byte và các bit ADO và AD1 cũng có thể được giải mã (mặc dù thực tế là có tín hiệu BEx#). Cổng PCI có thể là 16 bit hoặc 32 bit. Tất cả 32 bit địa chỉ đều có sẵn để đánh địa chỉ các cổng trên bus PCI, nhưng bộ xử lý x86 chỉ có thể sử dụng 16 bit thấp hơn.

    Lệnh truy cập bộ nhớ, ngoài việc đọc và ghi thông thường, còn bao gồm đọc các dòng trong bộ đệm, đọc nhiều lần (nhiều dòng), ghi không hợp lệ.

    Lệnh đọc và ghi cấu hìnhđược gửi đến không gian cấu hình thiết bị (xem điều 6.2.12). Địa chỉ chỉ được thực hiện bằng từ kép. Cấu trúc chứa mã định danh thiết bị và đầu ra, trạng thái và lệnh, thông tin về tài nguyên bị chiếm dụng và các hạn chế đối với việc sử dụng xe buýt. Để tạo ra các lệnh này, cần có một cơ chế phần cứng và phần mềm đặc biệt (xem phần 6.2.11).

    Đọc dòng bộ nhớ được áp dụng, khi có nhiều hơn hai lần truyền 32 bit được lên lịch trong một giao dịch (thường là đọc đến cuối dòng bộ đệm).

    Nhiều lần đọc bộ nhớ được sử dụng cho các giao dịch xuyên biên giới dòng bộ đệm.

    Bản ghi bị vô hiệuáp dụng cho toàn bộ dòng bộ đệm và cho phép tối ưu hóa chu kỳ ghi lại của các dòng bộ đệm bẩn.

Chu kỳ hai địa chỉ cho phép bạn truy cập các thiết bị có địa chỉ 64 bit thông qua bus 32 bit. Trong trường hợp này, 32 bit thấp hơn của địa chỉ được truyền theo chu kỳ thuộc loại này, theo sau là một chu kỳ thông thường xác định loại trao đổi và mang 32 bit quan trọng nhất của địa chỉ. Bus PCI cho phép định địa chỉ 64-bit của các cổng I/O (điều này vô dụng đối với x86, nhưng PCI tồn tại trên các nền tảng khác).

Loại lệnh S/BE

0000 Xác nhận ngắt - xác nhận ngắt

0001 Chu Kỳ Đặc Biệt - chu kỳ đặc biệt

0010 Đọc I/O - đọc cổng I/O

0011 I/O Write - ghi vào cổng I/O

0100 Đặt trước

0101 Dự trữ

0110 Đọc bộ nhớ - đọc bộ nhớ

0111 Ghi bộ nhớ - ghi vào bộ nhớ

1000 dự trữ

1001 dành riêng

1010 Đọc cấu hình - đọc cấu hình

1011 Ghi cấu hình - ghi cấu hình

1100 Đọc nhiều bộ nhớ - đọc nhiều bộ nhớ

Chu kỳ địa chỉ kép 1101 (DAC)

Dòng đọc bộ nhớ 1110 - đọc dòng bộ nhớ

1111 Ghi và vô hiệu hóa bộ nhớ - bản ghi bị vô hiệu.

    Tổ chức truy cập bộ nhớ trực tiếp. Mục đích, thực hiện và kiểm soát các nhiệm vụ của bộ điều khiển truy cập bộ nhớ trực tiếp.

Truy cập bộ nhớ trực tiếp (DMA) là một trong những cách trao đổi dữ liệu với PU. Ở chế độ này, việc trao đổi dữ liệu giữa bộ điều khiển và bộ nhớ của hệ thống vi xử lý diễn ra mà không có sự tham gia của bộ xử lý. Trao đổi ở chế độ DMA được điều khiển không phải bởi chương trình được thực thi bởi bộ xử lý mà bởi một thiết bị đặc biệt bên ngoài bộ xử lý, được gọi là bộ điều khiển DMA (KPDC). DMA được sử dụng để nhập/xuất nhanh các khối dữ liệu và giảm tải cho bộ xử lý khỏi việc quản lý các hoạt động I/O. Việc trao đổi các khối dữ liệu bằng cách sử dụng trao đổi được điều khiển bằng phần mềm tương đối chậm vì một số lệnh của bộ xử lý được dành cho việc trao đổi từng byte. DDP giải phóng bộ xử lý khỏi việc quản lý các hoạt động I/O, do đó cho phép bộ xử lý thực thi một chương trình song song với việc trao đổi dữ liệu giữa PU và bộ nhớ, đồng thời thực hiện việc trao đổi này ở tốc độ chỉ bị giới hạn bởi băng thông của bộ nhớ. hoặc PU. Do đó, DMA, bằng cách giúp bộ xử lý không phải phục vụ các hoạt động I/O, giúp tăng hiệu suất tổng thể của hệ thống bộ vi xử lý.

Để thực hiện chế độ DMA, cần đảm bảo liên lạc trực tiếp giữa bộ điều khiển DMA và bộ nhớ của hệ thống vi xử lý, tức là. một kênh thông tin đặc biệt qua đó việc trao đổi được thực hiện ở chế độ DTP - kênh DTP. Với mục đích này, bạn có thể sử dụng đường cao tốc chuyên dụng đặc biệt kết nối bộ điều khiển DMA với bộ nhớ. Tuy nhiên, giải pháp như vậy không thể được coi là tối ưu, vì nó sẽ dẫn đến sự phức tạp đáng kể của toàn bộ hệ thống vi xử lý, đặc biệt là khi kết nối một số bộ điều khiển. Để giảm số lượng đường truyền trong các bus hệ thống vi xử lý, bộ điều khiển DMA được kết nối với bộ nhớ thông qua các bus hệ thống. Điều này đặt ra vấn đề chia sẻ bus hệ thống giữa bộ xử lý và bộ điều khiển DMA. Có hai cách chính để giải quyết nó:

    thực hiện trao đổi ở chế độ DMA với tính năng chụp chu kỳ;

    thực hiện trao đổi ở chế độ DMA với việc chặn bộ xử lý.

Có hai loại DMA bắt vòng lặp. Cách đơn giản nhất để tổ chức DAP là các chu trình xử lý trong đó nó không trao đổi dữ liệu với bộ nhớ sẽ được sử dụng để trao đổi. Trong những chu kỳ như vậy, bộ điều khiển DMA có thể giao tiếp với bộ nhớ mà không can thiệp vào bộ xử lý. Tuy nhiên, cần phải phân bổ các chu kỳ như vậy để không có sự chồng chéo tạm thời giữa trao đổi DMA với các hoạt động trao đổi do bộ xử lý khởi tạo. Một số bộ xử lý tạo ra tín hiệu điều khiển đặc biệt để chỉ ra các chu kỳ trong đó bộ xử lý không sử dụng bộ nhớ. Nếu bộ xử lý không tạo ra tín hiệu như vậy, thì để phân bổ các chu kỳ tự do, cần phải sử dụng một mạch đặc biệt trong bộ điều khiển DMA, điều này dẫn đến sự phức tạp của mạch sau. Việc sử dụng phương pháp tổ chức DAP này không làm giảm hiệu suất của hệ thống, nhưng chỉ có thể trao đổi ở chế độ DAP vào những thời điểm ngẫu nhiên bằng các từ đơn lẻ.

Phổ biến nhất là DMA với tính năng ghi chu kỳ và buộc bộ xử lý phải ngắt kết nối khỏi bus hệ thống. Để triển khai chế độ DMA này, bus hệ thống được bổ sung hai tín hiệu điều khiển - “Yêu cầu truy cập bộ nhớ trực tiếp” HOLD và “Cung cấp quyền truy cập bộ nhớ trực tiếp” HLDA.

Tín hiệu điều khiển HOLD được tạo bởi bộ điều khiển DMA. Bộ xử lý, sau khi nhận được tín hiệu này, sẽ tạm dừng việc thực thi lệnh hiện tại mà không đợi lệnh đó hoàn thành, ngắt kết nối khỏi các bus hệ thống và cấp tín hiệu điều khiển HLDA tới bộ điều khiển DMA. Kể từ thời điểm này, tất cả các bus hệ thống đều được điều khiển bởi bộ điều khiển DMA. Bộ điều khiển DMA, sử dụng các bus hệ thống, trao đổi một từ dữ liệu với bộ nhớ và sau đó, sau khi loại bỏ tín hiệu HOLD, trả lại quyền điều khiển bus hệ thống cho bộ xử lý. Ngay khi bộ điều khiển DMA sẵn sàng trao đổi từ dữ liệu tiếp theo, nó lại bắt giữ chu trình xử lý, v.v. Trong khoảng thời gian giữa các lần chụp theo chu kỳ của bộ điều khiển DMA, bộ xử lý tiếp tục thực thi các lệnh chương trình. Do đó, việc thực thi chương trình sẽ chậm lại nhưng ở mức độ thấp hơn nhiều so với khi trao đổi ở chế độ ngắt.

Việc truyền một khối dữ liệu bằng DDP bao gồm việc thực hiện một chuỗi hành động nhất định (Hình 32):

    cài đặt ban đầu ( chuẩn bị sơ bộ) Bộ điều khiển DPM;

    khởi chạy bộ điều khiển DDP;

    chiếm một chu kỳ xử lý nhiều lần;

    hoàn tất việc trao đổi.

Cơm. 32 – Thuật toán truyền khối dữ liệu bằng bộ điều khiển DDP

Chương trình chỉ được sử dụng cho cài đặt ban đầu và bắt đầu trao đổi thông qua kênh DDP. Bộ xử lý sau đó có thể thực thi chương trình chính, chương trình này không liên quan đến trao đổi. Trong quá trình thực hiện chương trình này, mỗi khi nhận được yêu cầu đối với DMA, bộ điều khiển DMA sẽ chiếm một chu kỳ xử lý và thực hiện truyền. Sau khi kết thúc quá trình trao đổi, một ngắt được sử dụng để chuyển điều khiển sang chương trình hoàn thành trao đổi ở chế độ DMA. Chương trình chính sau đó có thể tiếp tục.

Hãy xem xét tổ chức của bộ điều khiển DMA, cung cấp dữ liệu đầu vào vào bộ nhớ của hệ thống vi xử lý ở chế độ DMA (Hình 33).

Cơm. 33 – Tổ chức kiểm soát viên DPM

Việc chuẩn bị ban đầu cho việc trao đổi ở chế độ DMA bao gồm việc phân bổ cho PU vùng bộ nhớ được sử dụng trong trao đổi và chỉ ra kích thước của nó, tức là. số lượng từ thông tin được ghi vào bộ nhớ hoặc đọc từ bộ nhớ. Vì vậy, bộ điều khiển DMA phải bao gồm một thanh ghi địa chỉ và một bộ đếm từ. Trước khi bắt đầu trao đổi với PU ở chế độ DMA, bộ xử lý phải thực hiện chương trình tải để đảm bảo rằng địa chỉ bắt đầu của bộ nhớ do PU phân bổ và kích thước của nó tính bằng từ có độ sâu bit nhất định được ghi vào các thanh ghi được chỉ định của PU. Bộ điều khiển DMA.

Do đó, trước khi bắt đầu nhập khối dữ liệu tiếp theo từ PU, bộ xử lý sẽ tải thông tin sau vào các thanh ghi của bộ điều khiển DMA: vào bộ đếm từ - số lượng từ đã nhận và vào thanh ghi địa chỉ - địa chỉ bắt đầu của vùng nhớ dành cho dữ liệu đầu vào. Do đó, bộ điều khiển được chuẩn bị để thực hiện thao tác nhập dữ liệu từ PU vào bộ nhớ ở chế độ DMA.

Bộ điều khiển DPM được khởi động bằng lệnh đầu ra, lệnh này đặt kích hoạt khởi động thành 1. Bộ kích hoạt khởi động kết nối PU với bộ điều khiển DMA. Sau lệnh khởi động của bộ điều khiển DMA phải có lệnh cho phép ngắt. Trong tương lai, khối dữ liệu được nhập qua kênh DDP mà không có sự tham gia của các lệnh chương trình.

Khi PU chuẩn bị một từ dữ liệu, nó sẽ được gửi đến thanh ghi dữ liệu của bộ điều khiển. Trong trường hợp này, mỗi từ được kèm theo một tín hiệu điều khiển từ bộ điều khiển “Nhập dữ liệu”, đảm bảo rằng từ dữ liệu được ghi vào thanh ghi dữ liệu của bộ điều khiển. Sử dụng cùng một tín hiệu (khi bộ kích hoạt khởi động được đặt thành 1), bộ kích hoạt yêu cầu được đặt thành 1, tín hiệu từ đầu ra của tín hiệu này được gửi đến đầu vào của bộ xử lý “Yêu cầu truy cập bộ nhớ trực tiếp” HOLD. Sau khi bộ xử lý tạo ra tín hiệu phản hồi “Cung cấp quyền truy cập bộ nhớ trực tiếp” HLDA, chu trình máy tiếp theo sẽ được trao đổi. Trong trường hợp này, một lần truyền một từ dữ liệu được thực hiện đến một ô nhớ tại địa chỉ nằm trong thanh ghi địa chỉ của bộ điều khiển. Dựa trên tín hiệu HLDA, bộ điều khiển hiển thị nội dung của các thanh ghi địa chỉ và dữ liệu của nó tới các bus địa chỉ và dữ liệu của bus hệ thống tương ứng. Bằng cách tạo ra tín hiệu điều khiển MEMWR, bộ điều khiển DMA đảm bảo rằng một từ dữ liệu được ghi từ thanh ghi dữ liệu của nó vào bộ nhớ. Tín hiệu Cấp quyền truy cập bộ nhớ trực tiếp HLDA cũng được sử dụng trong bộ điều khiển để thực hiện ba thao tác:

    thiết lập lại kích hoạt yêu cầu;

    tăng nội dung của thanh ghi địa chỉ lên 1;

    Giảm nội dung của bộ đếm từ đi 1.

Đối với mỗi tín hiệu HLDA, 1 được trừ khỏi nội dung của bộ đếm từ và khi nó bằng 0, điểm cuối của bộ kích hoạt truyền khối dữ liệu được đặt thành 1, tín hiệu đầu ra được sử dụng làm yêu cầu ngắt và được gửi đi. đến đầu vào bộ xử lý tương ứng. Bộ xử lý ngắt việc thực hiện chương trình và chuyển điều khiển sang chương trình ngắt để hoàn tất việc trao đổi.

Quá trình trao đổi được hoàn thành bằng cách ngắt kết nối PU khỏi bộ điều khiển DPM bằng lệnh đầu ra, lệnh này sẽ đặt lại bộ kích hoạt khởi động về 0. Ngoài ra, điểm kết thúc kích hoạt truyền khối dữ liệu được đặt lại về 0 theo cách tương tự. Khi ngắt được xử lý, điều khiển sẽ quay trở lại chương trình chính.

Nếu không cần tiếp tục thực hiện một chương trình song song với việc truyền ở chế độ DMA, thì nó sẽ được sử dụng làm tín hiệu sẵn sàng, có sẵn cho bộ xử lý thông qua thanh ghi trạng thái của bộ điều khiển DMA. Trong trường hợp này, ngắt không được sử dụng (đầu ra của bộ kích hoạt kết thúc truyền không được kết nối với đầu vào yêu cầu ngắt của bộ xử lý hoặc ngắt trong bộ xử lý bị tắt). Trong quá trình trao đổi qua kênh DMA, bộ xử lý đang trong chu kỳ chờ kết thúc quá trình truyền, thăm dò bit sẵn sàng tương ứng của thanh ghi trạng thái của bộ điều khiển DMA theo lệnh đầu vào. Ngay khi bộ xử lý phát hiện trạng thái sẵn sàng, nó sẽ tiến tới quy trình hoàn tất trao đổi (bước 4 của trình tự đã thảo luận ở trên), sau đó việc thực hiện chương trình vẫn tiếp tục.

Việc hoàn thành trao đổi bằng cách ngắt kết nối PU khỏi bộ điều khiển DPM - đặt lại bộ kích hoạt khởi động về 0 - có thể được thực hiện không phải bằng lệnh đầu ra trong chương trình con xử lý ngắt mà tự động khi nội dung của bộ đếm từ trở thành bằng 0 (như cũng như đặt kích hoạt kết thúc truyền thành 1). Trong trường hợp này, không cần kích hoạt khởi động trong bộ điều khiển DPM và việc kết nối/ngắt kết nối PU với bộ điều khiển được thực hiện tùy thuộc vào trạng thái của bộ đếm từ. Khi tải số từ nhận được vào bộ đếm, tín hiệu “0=” được đặt thành 1 và kết nối tín hiệu điều khiển từ bảng điều khiển “Nhập dữ liệu” với đầu vào S của bộ kích hoạt yêu cầu. Sau khi tất cả các từ đã được truyền đi, nội dung của bộ đếm trở thành 0, tín hiệu “0=” được đặt lại về 0 và cấm luồng tín hiệu điều khiển từ PU “Đầu vào dữ liệu” đến đầu vào S của bộ kích hoạt yêu cầu , do đó ngắt kết nối PU khỏi bộ điều khiển DPM.

Ở trên, chỉ thảo luận về quá trình chuẩn bị bộ điều khiển DPM và truyền dữ liệu trực tiếp ở chế độ DPM. Trong thực tế, bất kỳ phiên trao đổi dữ liệu nào với PU ở chế độ DDP luôn bao gồm giai đoạn chuẩn bị PU để trao đổi. Ở giai đoạn này, bộ xử lý, ở chế độ trao đổi do chương trình điều khiển, thăm dò trạng thái của PU, kiểm tra mức độ sẵn sàng trao đổi của nó và gửi lệnh đến PU để đảm bảo sự chuẩn bị của nó cho việc trao đổi dữ liệu qua kênh DMA. Việc chuẩn bị như vậy có thể được giảm bớt, chẳng hạn như việc di chuyển các đầu đến rãnh cần thiết trong NMD. Sau đó, các thanh ghi của bộ điều khiển DMA được tải, sau đó việc trao đổi dữ liệu ở chế độ DMA bắt đầu theo chủ động của bộ điều khiển DMA, như đã thảo luận ở trên hoặc theo chủ động của PU.

Cần lưu ý rằng việc sử dụng trao đổi ở chế độ DMA với tính năng ghi chu kỳ trong hệ thống vi xử lý đòi hỏi người lập trình phải hiểu rất rõ ràng về các quá trình xảy ra trong hệ thống trong quá trình thực hiện chương trình và đồng bộ hóa rõ ràng quá trình thực hiện chương trình và đầu vào/ đầu ra thông qua kênh DMA.

Truy cập bộ nhớ trực tiếp bằng khóa bộ xử lý khác với chế độ DMA có tính năng chụp chu kỳ ở chỗ điều khiển bus hệ thống được truyền đến bộ điều khiển DMA không phải trong khoảng thời gian truyền một từ mà trong khoảng thời gian trao đổi khối dữ liệu. Chế độ DMA này là cần thiết trong trường hợp thời gian giữa hai tín hiệu HOLD “Yêu cầu truy cập bộ nhớ trực tiếp” có thể so sánh với một chu kỳ xử lý. Trong trường hợp này, bộ xử lý không có thời gian để thực thi ít nhất một lệnh giữa các hoạt động trao đổi liên tiếp ở chế độ DMA.

Trong hệ thống vi xử lý, bạn có thể sử dụng một số bộ điều khiển hoạt động ở chế độ DMA. Việc cung cấp bus hệ thống cho các PU đó để trao đổi dữ liệu được thực hiện trên cơ sở ưu tiên. Trong trường hợp này, mức độ ưu tiên của PU được thực hiện giống như khi trao đổi dữ liệu ở chế độ ngắt. Theo quy định, mỗi PU sử dụng cặp tín hiệu điều khiển riêng “Yêu cầu truy cập bộ nhớ trực tiếp” HOLD và “Cung cấp quyền truy cập bộ nhớ trực tiếp” HLDA và một kênh riêng trong bộ điều khiển DMA.

    Von Neumann (Princeton) và kiến ​​trúc Harvard. Tổ chức bộ nhớ và không gian I/O. Các phương pháp cơ bản để giảm mức tiêu thụ năng lượng của máy tính vi xử lý.

Dưới tổ chức hiểu thành phần của các thành phần (phần cứng hoặc phần mềm), mối quan hệ giữa chúng và đặc điểm chức năng của chúng.

Máy tính có tổ chức phân cấp đa cấp với các thành phần riêng ở mỗi cấp:

    1) Mức độ thấp hơn- mức độ của các thành phần vật lý - tổ chức vật lý (thể hiện dưới dạng sơ đồ mạch điện);

    2) mức độ chức năng được triển khai trong tổ chức máy tính - logic (chức năng) (được biểu thị dưới dạng sơ đồ chức năng);

    3) cấp cao nhất− mức độ phần cứng (thành phần, kết nối chức năng và đặc điểm của mô-đun phần cứng) − tổ chức cơ cấu(được trình bày dưới dạng sơ đồ khối).

Tất cả các thành phần của hệ thống vi xử lý được biểu diễn trong bộ xử lý dưới dạng một tập hợp các ô nhớ hoặc các cổng đầu vào/đầu ra, tạo thành hai không gian chính: không gian bộ nhớ và không gian đầu vào/đầu ra tương ứng.

Von Neumann (Princeton) và kiến ​​trúc Harvard. Hầu hết các hệ thống vi xử lý hiện đại đều sử dụng bus bộ nhớ chung để lưu trữ các chương trình và dữ liệu. Tổ chức này được gọi là kiến ​​trúc của J. von Neumann, người đã đề xuất các chương trình mã hóa theo định dạng tương ứng với định dạng dữ liệu. Máy tính có kiến ​​trúc này được gọi là máy von Neumann hoặc loại Princeton. Trong đó, các vùng lưu trữ chương trình (Program Space - PS) và dữ liệu (Data Space - DS) tạo thành một không gian duy nhất và có thể được đặt ở bất kỳ đâu trong bộ nhớ dùng chung. Trong trường hợp này, không có dấu hiệu nào cho biết loại thông tin trong ô nhớ. Nội dung của ô được CPU diễn giải và công việc của người lập trình là đảm bảo rằng dữ liệu và chương trình được xử lý khác nhau. Kiến trúc Von Neumann là điển hình cho các nghị sĩ phổ thông.

MT và bộ vi điều khiển tùy chỉnh sử dụng một thiết kế khác được gọi là Phòng thí nghiệm Harvard hoặc kiến ​​trúc Harvard. Trong phiên bản cổ điển, các chương trình và dữ liệu được lưu trữ trong hai bộ nhớ riêng biệt, cho phép kết hợp hoàn toàn việc tìm nạp và thực thi các lệnh theo thời gian. Máy tính được thiết kế theo khái niệm chia bộ nhớ thành hai loại được gọi là máy kiểu Harvard. Trong các hệ thống như vậy, bộ nhớ chương trình và bộ nhớ dữ liệu được tách biệt và có không gian địa chỉ cũng như cách truy cập chúng riêng. Chương trình luôn ở một bộ nhớ và dữ liệu ở bộ nhớ khác. Sự tách biệt này giúp tăng hiệu suất và đơn giản hóa việc triển khai mạch của hệ thống vi xử lý.

Cải tiến hơn nữa của cả hai loại kiến ​​trúc bao gồm việc phân bổ một không gian dữ liệu nhỏ đặc biệt, đó là một tập hợp các thanh ghi có thể truy cập được bằng phần mềm (Không gian đăng ký). Không giống như các cổng bộ nhớ và I/O, các thanh ghi luôn được đặt bên trong MP cùng với ALU, giúp truy cập vật lý nhanh chóng vào thông tin được lưu trữ trong đó. Vào những khoảng thời gian nhất định, chương trình hoạt động mạnh mẽ nhất chỉ với một lượng nhỏ dữ liệu. Khu vực đăng ký nhằm mục đích lưu trữ tạm thời dữ liệu này - một tập hợp các thanh ghi có thể truy cập theo chương trình.

Vùng thanh ghi có thể được tách biệt hoàn toàn khỏi không gian dữ liệu DS hoặc chồng lấp một phần với nó, điều này giúp có thể coi các thanh ghi MP riêng lẻ như các ô nhớ dữ liệu thông thường. Tổ chức như vậy là phù hợp nếu MP hỗ trợ truy cập nhanh vào tất cả hoặc ít nhất một phần bộ nhớ dữ liệu.

Tất cả các nghị sĩ hiện đại đều có khu vực đăng ký, bất kể họ thuộc loại nào: Princeton hay Harvard. Tổ chức logic bên trong của vùng đăng ký rất đa dạng và phụ thuộc vào loại MP. Cấu trúc chức năng của khu vực đăng ký sẽ được thảo luận sau. Hiện tại, chúng tôi sẽ chỉ lưu ý một thanh ghi trong thành phần của nó, được gọi là bộ đếm chương trình PC (Bộ đếm chương trình). Thanh ghi này là bắt buộc đối với tất cả các MP và được liên kết với việc đánh địa chỉ bộ nhớ chương trình. Nó phục vụ như một con trỏ tới phần tử tiếp theo của chuỗi chương trình sẽ được tìm nạp và thực thi.

Không gian I/O đại diện cho một tập hợp các mạch và thanh ghi đệm có thể định địa chỉ, được gọi là các cổng, qua đó việc giao tiếp với phần cứng bên ngoài và bên trong của hệ thống vi xử lý được thực hiện.

Một hệ thống vi xử lý có thể sử dụng hai tùy chọn để tổ chức không gian I/O:

    I/O bị cô lập. Các cổng I/O được đặt trong một không gian đầu vào/đầu ra (IOS) đặc biệt, tách biệt với các không gian dữ liệu khác. Trong trường hợp này, MP có bộ đặc biệt lệnh vào/ra.

    I/O kết hợp hoặc I/O được ánh xạ bộ nhớ. Trong trường hợp này, không có không gian I/O biệt lập và không gian bộ nhớ dữ liệu DS được phân bổ cho các khu vực đặt cổng. Việc tổ chức truy cập vào các cổng trong hệ thống vi xử lý như vậy không khác gì quá trình truy cập dữ liệu trong bộ nhớ.

Trong bộ lễ phục. Hình 4 cho thấy bốn nhóm vùng điển hình để lưu trữ chương trình và dữ liệu. Các mũi tên thể hiện quá trình cô lập các khu vực riêng lẻ, dẫn đến sự xuất hiện của một tập hợp điển hình mới. Tất cả các bộ đều tồn tại trên thực tế, mỗi bộ đều có những ưu điểm và nhược điểm riêng, có tính đến việc cho phép bạn tạo ra các hệ thống hiệu quả cao cho nhiều mục đích khác nhau.

Ngược lại với khu vực thanh ghi, không gian bộ nhớ chương trình PS và không gian bộ nhớ dữ liệu DS, cũng như khu vực I/O IOS, được tổ chức đơn giản hơn. Bộ nhớ là một tập hợp các ô truy cập ngẫu nhiên n-bit được sắp xếp tuyến tính (mảng một chiều) - bộ nhớ tuyến tính. Tất cả các ô đều được đánh số, vì vậy mỗi ô trong tập hợp có một số gọi là địa chỉ của nó. Tất cả các địa chỉ chiếm một phạm vi số nguyên từ 0 đến 2 m -1 (m là độ rộng địa chỉ), tạo thành không gian địa chỉ bộ nhớ. Trong hầu hết các trường hợp, bộ xử lý có thể đánh địa chỉ bộ nhớ với độ chính xác một byte, tức là Đơn vị địa chỉ nhỏ nhất là byte và bộ nhớ có tổ chức byte.

Cơm. 4 – Vùng lưu trữ chương trình, dữ liệu của bộ vi xử lý

Việc tổ chức không gian bộ nhớ được hiển thị trong Hình. 5. Trong trường hợp này, bộ nhớ được mô tả theo cách mà các ô có địa chỉ cao nằm ở vị trí thấp hơn các ô có địa chỉ thấp. Việc đánh số các chữ số riêng lẻ trong một ô được thực hiện từ phải sang trái, bắt đầu từ 0, trong đó chữ số có số 0 là chữ số thấp nhất.

Cơm. 5 - Tổ chức không gian bộ nhớ

Đối tượng chương trình (lệnh và toán hạng) có thể dài hơn một byte, ví dụ: hai byte là một từ 16 bit hoặc chỉ một từ, bốn byte là một từ 32 bit hoặc một từ kép, tám byte là một từ 64 bit hoặc bốn từ. Các đối tượng như vậy được đặt trong các ô liền kề của không gian bộ nhớ, với byte thấp thường nằm trong ô có địa chỉ thấp hơn. Địa chỉ của một đối tượng là địa chỉ nhỏ nhất trong số các ô mà nó chiếm giữ, tức là. trong trường hợp này là địa chỉ byte thấp của nó. Thứ tự này được gọi là Định dạng bộ nhớ Little-Endian. Nó được sử dụng trong các bộ vi xử lý có kiến ​​trúc x86. Các họ bộ xử lý khác cũng sử dụng thứ tự ngược lại - Định dạng bộ nhớ Big-Endian, trong đó các đối tượng được đặt trong các ô nhớ liền kề, bắt đầu bằng byte cao và các byte thấp được đặt trong các ô tiếp theo (ví dụ: trong bộ vi điều khiển thuộc họ 68HC11 của Motorola). Trong trường hợp này, địa chỉ của đối tượng là địa chỉ byte cao của nó. Để chuyển đổi lẫn nhau các định dạng đối tượng, bộ xử lý có các lệnh đặc biệt. Hoạt động truy cập bộ nhớ bao gồm việc đọc hoặc ghi toàn bộ đối tượng. Ví dụ: các từ 16 bit trong bộ nhớ được lưu trữ trong hai ô liền kề. Byte cao của một từ chiếm một ô có địa chỉ cao hơn và byte thấp chiếm một ô có địa chỉ thấp hơn. Trong trường hợp này, địa chỉ của byte thấp đóng vai trò là địa chỉ từ (xem Hình 5).

Thông thường, tổ chức bộ nhớ áp đặt một số hạn chế nhất định đối với vị trí có thể có của các đối tượng nhiều byte. Ví dụ: các từ trong bộ nhớ chỉ có thể ở địa chỉ chẵn. Sau đó, khi truy cập một từ, giá trị của bit thứ tự thấp trong địa chỉ của nó, trỏ đến một byte trong từ, sẽ không được tính đến, tức là. bộ nhớ như vậy có giới hạn từ.

Ví dụ, trong 8086 MP, bất kỳ hai byte liền kề nào trong bộ nhớ đều có thể được coi là một từ 16 bit. Do đó, các từ dữ liệu có thể được đặt tự do tại bất kỳ địa chỉ nào, giúp tiết kiệm bộ nhớ do được đóng gói dày đặc. Tuy nhiên, để tiết kiệm thời gian thực hiện chương trình, nên đặt các từ dữ liệu trong bộ nhớ ở các địa chỉ chẵn, vì MP truyền các từ đó trong một chu kỳ bus. Các từ có địa chỉ lẻ (không căn chỉnh) cũng được chấp nhận, nhưng việc truyền chúng yêu cầu hai chu kỳ bus, làm giảm hiệu suất MP. Điều đặc biệt quan trọng là phải căn chỉnh các từ cho các thao tác ngăn xếp vì chúng chỉ liên quan đến các từ. Do đó, con trỏ ngăn xếp SP phải luôn được khởi tạo ở địa chỉ chẵn. Các lệnh trong 8086 MP luôn được tìm nạp bằng các từ ở địa chỉ chẵn, ngoại trừ lần tìm nạp đầu tiên sau khi điều khiển chuyển sang địa chỉ lẻ, khi một byte được tìm nạp. Luồng lệnh được chia thành các byte trong MP, do đó việc căn chỉnh lệnh không ảnh hưởng đến hiệu suất và do đó không được sử dụng.

Trong các bộ xử lý Intel bắt đầu từ 486, ở cấp đặc quyền 3, có thể bật khả năng kiểm soát căn chỉnh toán hạng dọc theo ranh giới thích hợp: một từ ở địa chỉ chẵn, một từ kép ở địa chỉ là bội số của bốn và một từ gấp bốn lần tại một địa chỉ là bội số của 8. Ở các mức đặc quyền 0, 1, 2, việc kiểm soát căn chỉnh không được thực hiện.

Việc tổ chức bộ nhớ được xem xét tương ứng với mức biểu diễn bộ nhớ (vật lý) thấp hơn. Không gian I/O có cùng cách tổ chức. Có một cấp độ tổ chức bộ nhớ (logic) cao hơn mà tại đó người lập trình làm việc và được liên kết với kiến ​​trúc của bộ xử lý.

Nguyên tắc mô đun xương sống của việc tổ chức một hệ thống vi xử lý. Hầu hết các hệ thống vi xử lý hiện đại đều được xây dựng trên nguyên tắc mô-đun xương sống. Theo nguyên tắc này, bộ nhớ và hệ thống con đầu vào/đầu ra được triển khai dưới dạng các mô-đun hoàn chỉnh về chức năng riêng biệt được kết nối với một đường trục nội bộ hệ thống.

Hệ thống con bộ nhớ bao gồm các mô-đun bộ nhớ chỉ đọc (ROM), được sử dụng để lưu trữ các chương trình và hằng số, và các mô-đun bộ nhớ truy cập ngẫu nhiên (RAM), được sử dụng để lưu trữ các biến và các chương trình được tải bên ngoài.

Trong trường hợp đơn giản nhất, hệ thống con IC bao gồm các mạch đệm và các thanh ghi được gửi đến các cổng đầu vào/đầu ra MP. Chúng được thiết kế để giao tiếp với các thiết bị bên ngoài đơn giản như đèn LED, công tắc, v.v. Các mô-đun hệ thống con I/O phức tạp hơn, được thiết kế để điều khiển thiết bị giao diện bên ngoài và thực hiện các chức năng I/O đặc biệt, được xây dựng trên cơ sở các cổng I/O và được gọi là bộ điều hợp hoặc bộ điều khiển ngoại vi.

Mô-đun hệ thống con đầu vào/đầu ra phức tạp nhất là bộ xử lý đầu vào/đầu ra (bộ đồng xử lý), hoạt động trên các chương trình riêng được lưu trữ trong bộ nhớ và về cơ bản là các hệ thống vi xử lý riêng biệt.

Tùy thuộc vào phương pháp kết nối các mô-đun riêng lẻ của hệ thống vi xử lý với bus hệ thống, ba cấu trúc điển hình của hệ thống vi xử lý được phân biệt:

    đường chính;

    thác chính;

    xuyên tâm chính.

Trong cấu trúc xương sống, tất cả các mô-đun của bộ nhớ và hệ thống con I/O được kết nối trực tiếp với xương sống của hệ thống. Đây là cấu trúc đơn giản nhất. Nhược điểm của cấu trúc đường chính là:

    tất cả các mô-đun phải hỗ trợ giao thức trao đổi qua bus hệ thống và chứa các phương tiện giao diện với nó, tùy thuộc vào bộ vi xử lý, có thể khá phức tạp;

    hiệu suất thấp, bởi vì Các thiết bị ngoại vi chậm có thể chiếm lĩnh trục hệ thống trong một thời gian dài.

Trong các cấu trúc đường trục-tầng và đường trục-xuyên tâm, các mô-đun riêng lẻ được kết nối bằng bộ điều khiển bus (bộ điều hợp) đặc biệt, mục đích chính của nó là thực hiện các mối quan hệ ưu tiên khi sử dụng đường trục.

Trong cấu trúc xếp tầng đường trục, các mô-đun riêng lẻ được kết nối với bộ điều khiển bus bằng cách sử dụng một kênh chung bổ sung, ví dụ: đường trục hoặc bus I/O, tức là. theo mạch chính. Trong cấu trúc xuyên tâm-xương sống, mỗi mô-đun được kết nối với bộ điều khiển bus bằng một kênh riêng, tức là. theo sơ đồ xuyên tâm.

Kiến trúc với hệ thống phân cấp xe buýt. Hiện nay, hai phương pháp xây dựng gần như phổ biến như nhau máy tính: Ghép nối trực tiếp và dựa trên bus.

Trong các hệ thống được xây dựng bằng phương pháp đầu tiên, có các kết nối trực tiếp giữa các thiết bị tương tác (bộ xử lý, bộ nhớ, thiết bị đầu vào/đầu ra). Các đặc điểm của kết nối (số lượng đường trong xe buýt, băng thông, v.v.) được xác định bởi loại thông tin, tính chất và cường độ trao đổi. Ưu điểm của kiến ​​trúc với các kết nối trực tiếp có thể được coi là khả năng tháo gỡ các nút thắt cổ chai bằng cách cải thiện cấu trúc và đặc điểm của chỉ một số kết nối nhất định, đây có thể là giải pháp mang lại lợi ích kinh tế nhất. Trong máy tính von Neumann, nút thắt cổ chai như vậy là kênh truyền dữ liệu giữa bộ xử lý và bộ nhớ và việc tách rời nó là khá khó khăn. Ngoài ra, các hệ thống có kết nối trực tiếp rất khó cấu hình lại.

Trong tùy chọn bus chung, tất cả các thiết bị máy tính được kết nối với bus hệ thống, đóng vai trò là đường dẫn duy nhất cho các luồng lệnh, dữ liệu và điều khiển. Sự hiện diện của một bus chung giúp đơn giản hóa đáng kể việc triển khai máy tính và giúp dễ dàng thay đổi thành phần và cấu hình của máy. Nhờ những đặc tính này, kiến ​​trúc bus đã trở nên phổ biến trong các máy vi tính. Đồng thời, nhược điểm chính của kiến ​​trúc gắn liền với bus: tại bất kỳ thời điểm nào, chỉ có một thiết bị có thể truyền thông tin qua bus. Tải chính trên bus đến từ việc trao đổi giữa bộ xử lý và bộ nhớ liên quan đến việc truy xuất các lệnh và dữ liệu từ bộ nhớ và ghi kết quả tính toán vào bộ nhớ. Chỉ một phần băng thông bus có sẵn cho các hoạt động I/O. Thực tiễn cho thấy rằng ngay cả với bus đủ nhanh cho 90% ứng dụng, những tài nguyên còn lại này thường không đủ, đặc biệt trong trường hợp đầu vào hoặc đầu ra của lượng lớn dữ liệu.

Do đó, trong khi vẫn duy trì khái niệm von Neumann về việc thực hiện tuần tự các lệnh chương trình, kiến ​​trúc bus ở dạng thuần túy hóa ra lại không đủ hiệu quả. Kiến trúc phân cấp bus phổ biến hơn, trong đó ngoài bus hệ thống còn có một số bus bổ sung. Họ có thể cung cấp liên lạc trực tiếp giữa các thiết bị được buôn bán nhiều nhất, chẳng hạn như bộ xử lý và bộ nhớ đệm. Một tùy chọn khác để sử dụng các bus bổ sung là kết hợp các thiết bị đầu vào/đầu ra cùng loại với đầu ra tiếp theo từ bus bổ sung đến bus hệ thống. Điều này cho phép bạn giảm tải trên bus chung và sử dụng băng thông của nó hiệu quả hơn. Phổ biến nhất là các hệ thống vi xử lý có một bus, hai hoặc ba loại bus.

Trong cấu trúc bus đơn, có một bus hệ thống cung cấp sự trao đổi thông tin giữa bộ xử lý và bộ nhớ, cũng như giữa các thiết bị đầu vào/đầu ra, với bộ xử lý hoặc bộ nhớ, mặt khác. Cách tiếp cận này được đặc trưng bởi sự đơn giản và chi phí thấp. Tuy nhiên, tổ chức một xe buýt không thể cung cấp tốc độ truyền thông cao và xe buýt trở thành nút cổ chai.

Mặc dù bộ điều khiển thiết bị I/O có thể được kết nối trực tiếp với bus hệ thống, hiệu quả lớn hơn sẽ đạt được bằng cách sử dụng một hoặc nhiều bus I/O. Các thiết bị I/O được kết nối với các bus I/O, xử lý phần lớn lưu lượng không liên quan đến đầu ra tới bộ xử lý hoặc bộ nhớ. Kết nối được thực hiện bằng cách sử dụng bộ điều hợp bus, cung cấp bộ đệm dữ liệu khi dữ liệu được gửi giữa bus hệ thống và bộ điều khiển thiết bị I/O. Điều này cho phép một hệ thống vi xử lý hỗ trợ nhiều thiết bị đầu vào/đầu ra và đồng thời tách rời việc trao đổi thông tin dọc theo đường dẫn bộ nhớ-bộ xử lý khỏi việc trao đổi thông tin với các thiết bị đầu vào/đầu ra. Sơ đồ như vậy làm giảm đáng kể tải trên bus bộ nhớ bộ xử lý tốc độ cao và giúp tăng hiệu suất tổng thể của hệ thống bộ vi xử lý.

Một bus mở rộng tốc độ cao có thể được thêm vào hệ thống bus để kết nối các thiết bị ngoại vi tốc độ cao. Các bus I/O được kết nối với bus mở rộng và từ đó thông qua một bộ chuyển đổi sang bus bộ xử lý-bộ nhớ. Mạch này còn giảm tải hơn nữa trên bus bộ nhớ-bộ xử lý. Sự sắp xếp xe buýt này được gọi là kiến ​​trúc tầng lửng.

    Đặc điểm của tổ chức Kiến trúc CISC và RISC. Ưu điểm và nhược điểm chính.

Bất kỳ thợ sửa chữa máy tính nào cũng biết rằng POST Card PCI được sử dụng để chẩn đoán sự cố khi sửa chữa và nâng cấp các máy tính như IBM PC (hoặc các máy tính tương thích).

Một số công ty sản xuất những loại thẻ như vậy ở Nga và CIS: Master Kit (Moscow), e-KIT Post Cards, ACE Lab (N. Novgorod), BVG Group (Moscow), EPOS: PCI TESTCARD (Ukraine), IC Book: IC80 ( Ukraine ), Jelezo: Jpost Full (Ukraine), VL Comp: PC Phân tích (Belarus). Ngoài ra còn có các giải pháp nước ngoài nhưng chúng tôi không thể tìm thấy chúng trên thị trường mở.

POST Card PCI là thẻ mở rộng máy tính có thể được cài đặt trong bất kỳ khe cắm PCI miễn phí nào (33 MHz) và được thiết kế để hiển thị mã POST do BIOS máy tính tạo ra ở dạng thân thiện với người dùng.

Thông thường, tất cả các thẻ POST có thể được chia thành nối tiếp và không nối tiếp (bộ dụng cụ tự lắp ráp).

Đánh giá các thẻ POST hiện có

Hãy cùng xem xét những nhược điểm của thẻ POST của nhiều nhà sản xuất khác nhau.

Người sáng lập công ty sản xuất thẻ PCI POST ở Nga được coi là công ty ACE Lab, công ty có sự hiện diện lớn trong việc sản xuất hệ thống phần mềm và phần cứng để chẩn đoán và sửa chữa máy tính.

Thầy Keith POST Card PCI NM9221 (bộ DIY)/BM9221 (board đã hoàn thiện). Một nhược điểm là chỉ báo bảy đoạn hướng xuống dưới.

Ưu điểm của POST Card này: được lắp ráp trên FPGA thuộc dòng EPM3XXX, hỗ trợ Hot-socketing (đáng tin cậy hơn vì ít có nguy cơ cháy POST Card) và hoạt động ở điện áp 3,3V (tương thích tốt hơn với PCI2.3 và PCI3 hiện đại. 0), hỗ trợ chipset mới và cũ nhờ phần sụn có thể tháo rời.

e-Kit_02 Nhược điểm của Thẻ POST này: nó được lắp ráp trên FPGA của dòng EPM7XXX đã lỗi thời, không hỗ trợ Hot-socketing (kém tin cậy hơn, vì có nguy cơ cháy Thẻ POST cao hơn) và hoạt động ở điện áp 5.0V (có thể có vấn đề với PCI2.3 và PCI3.0 hiện đại).

ACE Lab PC-POST PCI-2. Sẽ không thuận tiện khi chỉ báo nhìn xuống nhưng có thể chọn một trong 4 cổng có thể để đọc thông tin.

ACE Lab PC POWER PCI-2— một tổ hợp phần cứng và phần mềm đầy đủ chức năng cho phép bạn thực hiện một số thử nghiệm chẩn đoán được khởi chạy từ ROM được cài đặt trên bo mạch, nhằm xác định lỗi hệ thống và xung đột phần cứng.

BÀI ĐĂNG kép của Tập đoàn BVG. Ưu điểm: POST card đơn giản, rẻ tiền. Được chế tạo trên cơ sở FPGA Altera EPM3032ALC44-10. Nó có năm đèn LED (nguồn điện cho tín hiệu PCI - -12V, +12V, +3.3V, +5V và RESET) và hai đèn báo bảy đoạn ở cả hai bên của bo mạch. Chỉ báo có thể hiển thị một chữ số - điều này có nghĩa là khe PCI mà POST này được lắp vào không nhận được xung nhịp.

Một nhược điểm đặc trưng của thẻ này do tính chất bị loại bỏ của nó là việc loại bỏ xung nhịp khỏi khe PCI trong đó thẻ này được cài đặt sau giai đoạn POST, tại đó bộ tạo được khởi tạo (đối với BIOS giải thưởng- 26h), do đó mã bưu điện không còn được hiển thị. Các phương pháp “chiến đấu” với căn bệnh này như sau:

  • Nếu ở Thiết lập BIOS có một mục Phát hiện Đồng hồ DIMM/PCI - đặt nó thành Tắt sẽ ngăn bộ tạo loại bỏ tần số khỏi các khe không sử dụng, do đó Dual POST sẽ hoạt động “như bình thường” ;), hiển thị tất cả các mã bưu điện “dựa vào”.
  • Nếu bo mạch đang được kiểm tra có Khe chia sẻ PCI (thường là hai đầu nối xa bộ xử lý nhất, có một ngắt “cho hai”), thì bạn có thể cắm bất kỳ thiết bị PCI “bình thường” nào (video, âm thanh, mạng, v.v.) vào một trong số họ .), và mặt kia - một tấm bưu thiếp. Trong quá trình khởi tạo, trình tạo, nhìn thấy một thiết bị PCI “chính thức” trên các Khe chia sẻ PCI, thường (tùy thuộc vào bo mạch BIOS cụ thể) không loại bỏ đồng hồ khỏi cả hai, điều này Dual POST sẽ “tận dụng” thành công.

Tập đoàn BVG POST Pro. Thay vì sử dụng màn hình bảy đoạn, người ta sử dụng màn hình LCD có mã đánh dấu nhưng giá thành của thẻ khoảng 300 USD, cao một cách bất hợp lý.

EPOS: KIỂM TRA PCI. Chuỗi chuông và còi hữu ích “Master” nâng cao nhìn chung Nó chỉ cho phép bạn chọn thêm một cổng chẩn đoán trong phạm vi 0-3FFh, cổng này được sử dụng để xuất mã POST bằng cách sử dụng các công tắc trên bo mạch. Nhược điểm của Thẻ POST này: nó được lắp ráp trên FPGA của dòng EPM7XXX đã lỗi thời, không hỗ trợ Hot-socketing (kém tin cậy hơn, vì có nguy cơ cháy Thẻ POST cao hơn) và hoạt động ở điện áp 5.0V (có thể có vấn đề với PCI2.3 và PCI3.0 hiện đại). Ngoài ra còn có thông tin về đầu ra của mã POST không chính xác trên một số bo mạch chủ.

Sách IC: IC80. Đại diện nổi tiếng Bưu thiếp “người lớn”, điểm đặc biệt của nó là sự hiện diện không chỉ của “chuông và còi” trong lĩnh vực giám sát mà còn có khả năng gỡ lỗi hệ thống độc đáo (vô song) để gỡ lỗi hệ thống ở chế độ từng bước. Bảng có một số tính năng đặc biệt:

  • Lựa chọn địa chỉ dùng cho mục đích chẩn đoán: 80h/81h và 84h/85h, 378h, 1080h
  • Mã chẩn đoán được hiển thị trên hai chỉ số
  • Hiển thị thông tin trên chỉ báo bên ngoài
  • Chỉ báo điện áp Dự phòng 3,3V
  • Hỗ trợ chẵn lẻ PCI
  • Hỗ trợ các tùy chọn bus PCI của máy chủ

Hạn chế nhỏ: hoạt động không chính xác chế độ từng bước trên bảng mới.

Jelezo: Jpost Full. Trên một số bo mạch chủ (chủ yếu là GIGABYTE), nó bị treo và chuyển sang màn hình đen sau lần khởi động lại đầu tiên.

VL Comp: Máy phân tích PC. Một bộ điều khiển sau đơn giản và rẻ tiền, điểm nổi bật của nó là sự kết hợp của hai loại bưu thiếp trong một thiết kế - cho ISA và cho PCI.

BÀI VIẾT PCI BM9222 có màn hình LCD

Hôm nay chúng ta sẽ xem xét card PCI POST của thế hệ mới thế hệ POST Card PCI BM9222 do công ty Masker Kit ở Moscow sản xuất.

Thông số kỹ thuật

  • Điện áp cung cấp: +5 V.
  • Mức tiêu thụ hiện tại, không quá: 100 mA.
  • Tần số bus PCI: 33 MHz.
  • Địa chỉ cổng chẩn đoán: 0080h
  • Chỉ báo mã POST: trên màn hình LCD hiển thị thành hai dòng, mỗi dòng 16 ký tự (dòng đầu tiên là mã POST ở dạng thập lục phân và được phân tách bằng dấu gạch ngang - loại BIOS, dòng thứ hai là mô tả lỗi ở dạng một đường leo).
  • Chỉ báo tín hiệu bus PCI: Đèn LED ở mặt trước của bo mạch - RST (tín hiệu đặt lại PCI) và
  • CLK (tín hiệu đồng hồ PCI).
  • Chỉ báo điện áp Bộ nguồn PCI bus: +5V, +12V, -12V, +3.3V.
  • Tương thích với các chipset bo mạch chủ: Intel, VIA, SIS.
  • Kích thước PCB: 95,5 x 73,6 mm.

Thiết kế

Về mặt cấu trúc, POST Card PCI được chế tạo trên một bảng mạch in hai mặt làm bằng sợi thủy tinh lá mỏng có kích thước 95,5 x 73,6 mm. Để cải thiện tính dẫn điện của các điểm tiếp xúc của thiết bị, các tấm mỏng được phủ niken.

Nguyên lý hoạt động của POST Card PCI

Mỗi lần bạn bật nguồn máy tính tương thích với PC IBM của mình và trước khi hệ điều hành khởi động, bộ xử lý của máy tính sẽ chạy một quy trình BIOS có tên POST (Tự kiểm tra khi bật nguồn). Quy trình tương tự cũng được thực hiện khi bạn nhấn nút ĐẶT LẠI hoặc khi bạn khởi động lại mềm máy tính. Để tránh hiểu lầm, cần lưu ý ở đây rằng trong một số trường hợp trường hợp đặc biệtĐể giảm thời gian khởi động máy tính, quy trình POST có thể được rút ngắn một chút, chẳng hạn như trong phần “ Khởi động nhanh"hoặc khi tiếp tục chế độ ngủ của Hibernate.

Mục đích chính của quy trình POST là kiểm tra các chức năng cơ bản và hệ thống con của máy tính (chẳng hạn như bộ nhớ, bộ xử lý, bo mạch chủ, bộ điều khiển video, bàn phím, linh hoạt và ổ cứng v.v.) trước khi tải hệ điều hành. Điều này ở một mức độ nào đó bảo vệ người dùng khỏi cố gắng làm việc trên một hệ thống bị lỗi, chẳng hạn như có thể dẫn đến việc phá hủy dữ liệu người dùng trên ổ cứng. Trước khi bắt đầu mỗi lần kiểm tra, quy trình POST tạo ra cái gọi là mã POST, mã này được xuất ra một địa chỉ cụ thể trong không gian địa chỉ của thiết bị đầu vào/đầu ra của máy tính. Nếu phát hiện thấy lỗi trong thiết bị đang được kiểm tra, quy trình POST chỉ cần dừng lại và mã POST được in sẵn sẽ xác định duy nhất việc kiểm tra nào đã xảy ra tình trạng treo. Do đó, độ sâu và độ chính xác của chẩn đoán bằng mã POST hoàn toàn được xác định bởi độ sâu và độ chính xác của các bài kiểm tra quy trình POST BIOS tương ứng của máy tính.

Cần lưu ý rằng các bảng mã POST là khác nhau đối với các nhà sản xuất BIOS khác nhau và do sự xuất hiện của các thiết bị và chipset mới được thử nghiệm nên có phần khác nhau ngay cả đối với các phiên bản khác nhau của cùng một nhà sản xuất BIOS. Bảng mã POST có thể được tìm thấy trên các trang web tương ứng của các nhà sản xuất BIOS: đối với AMI thì đây là http://www.ami.com, đối với AWARD - http://www.award.com, đôi khi các bảng mã POST được đưa ra trong hướng dẫn sử dụng bo mạch chủ.

Để hiển thị mã POST ở dạng thân thiện với người dùng, các thiết bị có tên POST Card sẽ được sử dụng. Thẻ POST được đề xuất cho bus PCI là thẻ mở rộng máy tính được cắm (khi tắt nguồn!) vào bất kỳ khe cắm PCI trống nào (33 MHz) và có chỉ báo văn bản để hiển thị mã POST và thông tin văn bản về mã hiện tại. Trong số các tính năng hoạt động của POST Card này, tôi muốn lưu ý rằng sau khi bật nguồn máy tính và trước khi tín hiệu RESET PCI hoạt động đầu tiên xuất hiện, thông báo chào “BM9222 MASTERKIT POSTCARD” được hiển thị trên chỉ báo POST Card.

Ngoài ra, POST Card còn có đèn LED phản ánh trạng thái tín hiệu CLK và RST của bus PCI.

Khắc phục sự cố khi sử dụng PCI Card POST

Trình tự các thao tác khi sửa máy tính bằng POST Card như sau:

1. Tắt nguồn máy tính bị lỗi.
2. Lắp thẻ POST vào bất kỳ khe cắm PCI còn trống nào trên bo mạch chủ.
3. Bật nguồn máy tính.
4. Nếu cần, hãy điều chỉnh độ tương phản (khi lắp màn hình LCD, đối với PLED - không cần điều chỉnh) của hình ảnh bằng cách nhấn các nút (nút xa bo mạch chủ nhất sẽ tăng độ tương phản, nút gần nhất sẽ giảm độ tương phản) hoặc thay đổi loại của BIOS được hiển thị - bằng cách nhấn và giữ một trong các nút và nhấp vào nút thứ hai (sau khi nhả nút, loại BIOS sẽ thay đổi, hiển thị ở dòng đầu tiên của chỉ báo sau mã lỗi). Tất cả các cài đặt trên sẽ được lưu khi tắt nguồn và nạp vào lần tiếp theo cấp nguồn cho Thẻ POST.
5. Chúng tôi đọc thông tin trên chỉ báo Thẻ POST - đây là mã POST mà máy tính khởi động "bị treo" và mô tả của nó ở dòng thứ hai.
6. Chúng tôi hiểu rõ những nguyên nhân có thể xảy ra.
7. Khi tắt nguồn, chúng tôi sắp xếp lại cáp, mô-đun bộ nhớ và các thành phần khác để loại bỏ sự cố.
8. Lặp lại các bước 3-7, đảm bảo hoàn thành ổn định quy trình POST và bắt đầu tải hệ điều hành.
9. Sử dụng tiện ích phần mềm Chúng tôi tiến hành kiểm tra lần cuối các thành phần phần cứng và trong trường hợp có lỗi nổi, chúng tôi thực hiện một loạt các kiểm tra phần mềm tương ứng trong một thời gian dài.

Khi sửa chữa một máy tính không có sử dụng BÀI ĐĂNG Các điểm thẻ 3-6 của trình tự này đơn giản bị bỏ qua và nhìn từ bên ngoài, việc sửa chữa máy tính trông giống như một sự sắp xếp lại điên cuồng của bộ nhớ, bộ xử lý, thẻ mở rộng, nguồn điện và trên hết là bo mạch chủ.

Nếu các công ty lớn có nguồn cung cấp lớn các linh kiện có thể sửa chữa được thì đối với các công ty và cá nhân nhỏ, việc sửa chữa máy tính bằng cách lắp đặt các linh kiện nổi tiếng sẽ trở thành một vấn đề phức tạp.

Việc sửa chữa máy tính bằng POST-Card được thực hiện như thế nào trong thực tế?

Trước hết, khi bật nguồn, trước khi quy trình POST có thể bắt đầu, hệ thống phải được đặt lại bằng tín hiệu RST (RESET), tín hiệu này được biểu thị trên Thẻ POST bằng cách thay đổi tin nhắn chào mừng thành các tin nhắn Thẻ POST khác. Nếu thay đổi không xảy ra trong vòng 2-4 giây (thời gian hiển thị chào mừng là khoảng 0,7 giây) hoặc một trong các thông báo “KHÔNG CÓ MÔ hoặc “Đặt lại” xuất hiện trong hơn 1 giây, thì trong trường hợp này, bạn nên ngay lập tức tắt máy tính, tháo tất cả các thẻ và cáp cũng như các mô-đun bộ nhớ khỏi bo mạch chủ. TRONG đơn vị hệ thống Bạn phải để bo mạch chủ với bộ xử lý được cài đặt và Thẻ POST được kết nối với nguồn điện. Nếu lần sau bạn bật máy tính, hệ thống sẽ khởi động lại bình thường và lần đầu tiên mã BÀI ĐĂNG, thì rõ ràng vấn đề nằm ở những linh kiện máy tính tạm thời bị loại bỏ; nó cũng có thể xảy ra trong các vòng lặp được kết nối không chính xác. Bằng cách lắp tuần tự bộ nhớ, bộ điều hợp video, sau đó là các thẻ khác, đồng thời quan sát mã POST trên chỉ báo, mô-đun bị lỗi sẽ được phát hiện.

Bây giờ chúng ta quay lại trường hợp khi quá trình thiết lập lại hệ thống ban đầu thậm chí không thành công (chỉ báo Thẻ POST không thay đổi tin nhắn chào mừng thành các tin nhắn khác). Trong trường hợp này, nguồn điện của máy tính bị lỗi hoặc bản thân bo mạch chủ (mạch tạo tín hiệu RESET bị lỗi) hoặc bộ xử lý không khởi động. Nguyên nhân chính xác có thể được xác định bằng cách kết nối nguồn điện tốt với bo mạch chủ.

Bây giờ chúng ta hãy xem xét trường hợp khi tín hiệu đặt lại đi qua, nhưng không có mã POST nào được hiển thị trên chỉ báo (thông báo “NO CODES” được giữ); trong trường hợp này, như được mô tả trước đó, một hệ thống chỉ bao gồm bo mạch chủ, bộ xử lý, Thẻ POST và nguồn điện sẽ được thử nghiệm. Nếu bo mạch chủ hoàn toàn mới thì nguyên nhân có thể là do các jumper của bo mạch chủ được cài đặt không chính xác. Nếu tất cả các jumper và bộ xử lý được cài đặt chính xác nhưng bo mạch chủ vẫn không khởi động, bạn nên thay thế bộ xử lý bằng một bộ xử lý tốt. Nếu điều này không giúp ích được gì thì chúng ta có thể kết luận rằng bo mạch chủ hoặc các thành phần của nó bị lỗi (ví dụ: nguyên nhân gây ra sự cố có thể là do thông tin trong FLASH BIOS bị hỏng).

Ưu điểm chính của POST Card là không cần màn hình để hoạt động. Đồng thời, có thể kiểm tra máy tính bằng Thẻ POST trong giai đoạn đầu của quy trình POST, khi chưa có chẩn đoán âm thanh. Một tính năng quan trọng khác là hiển thị mã POST trên tất cả các loại BIOS xuất mã ở địa chỉ 0x0080), nhưng không được mô tả trong ROM.

chỉ báo PLED

Thiết bị thử nghiệm này được trang bị một chỉ báo với phần tử hiển thị loại PLED. Ưu điểm của loại màn hình này là có độ tương phản cao và góc nhìn rộng - điều này rất quan trọng vì thường phải lắp thẻ POST vào thùng máy tính khi các thẻ khác (mạng, âm thanh, v.v.) được lắp vào các khe lân cận.

Hỗ trợ đa ngôn ngữ

Thẻ POST cho phép bạn hiển thị mã của nhiều loại BIOS bằng nhiều ngôn ngữ khác nhau (mặc định là tiếng Anh và tiếng Nga). Việc thay đổi loại BIOS được thực hiện bằng cách nhấn đồng thời cả hai nút cùng một lúc. Bài này thẻ giải mã 3 loại BIOS bằng 2 ngôn ngữ (tổng cộng 6 loại). BIOS được Nga hóa có chứa chuỗi “RU” trong tên của nó.

Bản thân các dòng mô tả mã nằm trên chip SEEPROM 24C256 - 32kB. Vi mạch này được lắp vào ổ cắm và người dùng có kinh nghiệm có thể giải nén nó và lập trình lại nó bằng phiên bản khác (ngôn ngữ mới hơn hoặc khác) nếu nó xuất hiện trên trang web www.masterkit.ru. Các bản cập nhật diễn ra thường xuyên, theo dõi xu hướng phát triển của công nghệ máy tính.

Nếu như mã này không được giải mã trong phiên bản của bạn, thì bạn nên sử dụng Internet để nhanh chóng tìm kiếm cách giải mã loại thử nghiệm, đồng thời viết thư cho công ty MasterKit cho biết trường hợp này và trong phiên bản tiếp theo, mã này sẽ được đưa vào.

Để lập trình lại, bạn có thể sử dụng bộ NM9215 (lập trình viên) cùng với bộ chuyển đổi dành cho loại này chip NM9216/4.

Kiểm tra đơn vị hệ thống PC bằng máy kiểm tra PCI Thẻ Bưu điện trong thực tế

Trình tự kiểm tra linh kiện máy tính như sau:

1. Kiểm tra CPU.
2. Kiểm tra tổng kiểm tra BIOS ROM.
3. Kiểm tra và khởi tạo bộ điều khiển hẹn giờ DMA, IRQ và 8254.
Sau giai đoạn này, chẩn đoán âm thanh sẽ có sẵn.
4. Kiểm tra hoạt động tái tạo bộ nhớ.
5. Kiểm tra 64 KB bộ nhớ đầu tiên.
6. Đang tải các vectơ ngắt.
7. Khởi tạo bộ điều khiển video.
Sau giai đoạn này, các thông báo chẩn đoán sẽ được hiển thị trên màn hình.
8. Kiểm tra toàn bộ dung lượng RAM.
9. Kiểm tra bàn phím.
10. Kiểm tra bộ nhớ CMOS.
11. Khởi tạo cổng COM và LPT.
12. Khởi tạo và kiểm tra bộ điều khiển FDD.
13. Khởi tạo và kiểm tra bộ điều khiển ổ cứng.
14. Tìm kiếm các mô-đun ROM BIOS bổ sung và khởi tạo chúng.
15. Gọi trình tải hệ điều hành (INT 19h, Bootstrap), nếu không tải được hệ điều hành, hãy thử khởi chạy ROM BASIC (INT 18h); nếu không thành công, tắt hệ thống (HALT).

Làm bài kiểm tra

Khi vượt qua từng bài kiểm tra POST, mã POST sẽ được tạo và được ghi vào thanh ghi chẩn đoán đặc biệt. Thông tin trong sổ đăng ký chẩn đoán sẽ có sẵn để quan sát khi bảng chẩn đoán Thẻ POST được cài đặt trong một khe máy tính trống và được hiển thị trên màn hình bảy đoạn dưới dạng hai chữ số thập lục phân. Địa chỉ thanh ghi chẩn đoán phụ thuộc vào loại máy tính, trong các phiên bản cũ hơn là: ISA, EISA-80h, ISA-Compaq-84h, ISA-PS/2-90h, MCA-PS/2-680h, 80h, một số EISA- 300 giờ.

Trước hết bạn cần xác định nhà sản xuất BIOS bo mạch chủ lệ phí. Điều này có thể được thực hiện bằng nhãn dán trên chip BIOS hoặc bằng dòng chữ hiển thị trên màn hình của bo mạch chủ đang hoạt động tương tự. Ở Nga và CIS, BIOS phổ biến nhất là AMI và AWARD. Khi đã tích lũy được một số kinh nghiệm, bạn có thể tự tin đặt tên cho nhà sản xuất BIOS dựa trên các mã POST đầu tiên.

Bảng mã POST là khác nhau đối với các nhà sản xuất BIOS khác nhau và do sự xuất hiện của các thiết bị và chipset mới được thử nghiệm nên cũng khác nhau ngay cả đối với các phiên bản khác nhau của cùng một nhà sản xuất BIOS.

Trong lịch sử, các giá trị của mã POST trong bảng tương ứng của các nhà sản xuất BIOS được đưa ra dưới dạng số thập lục phân trong khoảng 00h-FFh (0-255 in hệ thống thập phân do đó, để dễ sử dụng các bảng như vậy cần đảm bảo hiển thị mã POST ở dạng thập lục phân.

Mã lỗi

Giải thưởng Phần mềm Quốc tế, Inc.

Giải thưởngBIOS V4.51PG Elite

Công ty phát triển năng động Award Software vào năm 1995 đã đề xuất một giải pháp mới vào thời điểm đó trong lĩnh vực phần mềm cấp thấp, AwardBIOS “Elite”, hay được biết đến với cái tên V4.50PG. Chế độ bảo trì điểm kiểm soát không thay đổi ở phiên bản phổ biến V4.51 hoặc phiên bản hiếm V4.60. Các hậu tố P và G lần lượt biểu thị sự hỗ trợ cho cơ chế PnP và hỗ trợ cho các chức năng tiết kiệm năng lượng (Chức năng xanh).

Thực hiện thủ tục POST khởi động từ ROM

C0 Cấm bộ đệm bên ngoài. Cấm bộ đệm nội bộ. Cấm RAM bóng. Lập trình bộ điều khiển DMA, bộ điều khiển ngắt, bộ định thời, khối RTC

C1 Xác định loại bộ nhớ, tổng dung lượng và vị trí theo dòng

C3 Kiểm tra DRAM 256K đầu tiên cho tổ chức Khu vực tạm thời. Giải nén BIOS trong khu vực tạm thời

C5 Mã POST đang chạy được chuyển sang Shadow

C 6 Xác định sự hiện diện, kích thước và loại Bộ đệm ngoài

C8 Kiểm tra tính toàn vẹn của các chương trình và bảng BIOS

CF Xác định loại bộ xử lý

Thực hiện POST trong Shadow RAM

03 Vô hiệu hóa NMI, PIE (Bật ngắt định kỳ), AIE (Bật báo động), UIE (Bật cập nhật ngắt). Cấm tạo tần số lập trình SQWV

04 Kiểm tra việc tạo yêu cầu tái tạo DRAM

05 Kiểm tra và khởi tạo bộ điều khiển bàn phím

06 Kiểm tra vùng bộ nhớ bắt đầu từ địa chỉ F000h, nơi chứa BIOS

07 Kiểm tra hoạt động của CMOS và pin

Lập trình các thanh ghi cấu hình cầu Nam và cầu Bắc

09 Khởi tạo bộ đệm L2 và các thanh ghi kiểm soát bộ đệm nâng cao trên bộ xử lý Cyrix

0A Tạo bảng các vectơ ngắt. Định cấu hình tài nguyên quản lý nguồn và thiết lập vectơ SMI

0B Kiểm tra tổng kiểm tra CMOS. Quét các thiết bị bus PCI. Cập nhật vi mã bộ xử lý

0C Khởi tạo bộ điều khiển bàn phím

0D Tìm và khởi tạo bộ điều hợp video. Đang thiết lập IOAPIC. Đo đồng hồ, cài đặt FSB

0E Khởi tạo MPC. Kiểm tra bộ nhớ video. Hiển thị Logo Giải thưởng

0F Thử nghiệm bộ điều khiển DMA 8237 đầu tiên. Phát hiện bàn phím và thử nghiệm nội bộ. Xác minh tổng kiểm tra BIOS

10 Kiểm tra bộ điều khiển DMA 8237 thứ hai

11 Kiểm tra các thanh ghi trang của bộ điều khiển DMA

14 Kiểm tra kênh hẹn giờ hệ thống 2

15 Kiểm tra thanh ghi che yêu cầu của bộ điều khiển ngắt thứ 1

16 Kiểm tra đăng ký che dấu yêu cầu bộ điều khiển ngắt 2

19 Kiểm tra tính thụ động của yêu cầu ngắt NMI

30 Xác định dung lượng của Bộ nhớ cơ sở và Bộ nhớ mở rộng. Thiết lập APIC. Kiểm soát phần mềm Viết chế độ phân bổ

Chuẩn bị bảng, mảng và cấu trúc để khởi động hệ điều hành

31 Kiểm tra RAM chính trên màn hình. Khởi tạo

32 Màn hình giật gân Plug and Play BIOS Extension xuất hiện. Thiết lập tài nguyên Super I/O. Thiết bị âm thanh tích hợp có thể lập trình

39 Lập trình bộ tạo xung nhịp thông qua bus I2C

3CĐặt cờ phần mềm để cho phép vào Cài đặt

3DĐang khởi tạo chuột PS/2

3E Khởi tạo bộ điều khiển bộ đệm bên ngoài và quyền bộ đệm

B. F. Thiết lập thanh ghi cấu hình chipset

41 Khởi tạo hệ thống con đĩa mềm

42 Tắt IRQ12 nếu thiếu chuột PS/2. Bộ điều khiển ổ cứng đang được thiết lập lại mềm. Quét các thiết bị IDE khác

43 Khởi tạo cổng nối tiếp và song song

45 Đang khởi tạo bộ đồng xử lý FPU

4E Hiển thị thông báo lỗi

4F Yêu cầu mật khẩu

50 Khôi phục trạng thái CMOS đã lưu trước đó trong RAM

51 Độ phân giải truy cập 32 bit vào ổ cứng. Cấu hình tài nguyên ISA/PnP

52 Khởi tạo BIOS bổ sung. Thiết lập các giá trị của các thanh ghi cấu hình PIIX. Sự hình thành của NMI và SMI

53 Cài đặt bộ đếm thời gian DOS theo Đồng hồ thời gian thực

60 Cài đặt bảo vệ chống virus BOOT Sector

61 Các bước cuối cùng để khởi tạo chipset

62 Đọc ID bàn phím. Thiết lập các thông số của nó

63 Hiệu chỉnh khối ESCD, DMI. Xóa RAM

FF Chuyển quyền điều khiển sang bootloader. BIOS thực thi lệnh INT 19h

Hãy xem xét quy trình kiểm tra đơn vị hệ thống của máy tính cá nhân. Hãy cài đặt máy kiểm tra BM9222 vào khe cắm PCI miễn phí trên bo mạch chủ. Hãy bật nguồn lên. BIOS là một chương trình khởi động máy tính được lưu trữ trong ROM bo mạch chủ, kiểm tra tuần tự tất cả các thiết bị có trong bộ phận hệ thống (bộ xử lý, mô-đun bộ nhớ, ổ cứng, card màn hình, bộ điều khiển, ổ đĩa quang thiết bị ngoại vi bên ngoài: bàn phím, chuột, v.v.).

Nếu tất cả các thiết bị ngoại vi của thiết bị hệ thống đều hoạt động bình thường thì sau khi tải xong, dòng chữ FFh sau sẽ sáng lên trên màn hình người kiểm tra.

“Hãy đưa một lỗi” vào đơn vị hệ thống. Tắt nguồn và tháo mô-đun bộ nhớ ra khỏi bộ phận hệ thống.

Sau khi cấp nguồn và máy tính khởi động, mã lỗi RAM 4Eh xuất hiện trên màn hình máy kiểm tra.

Người kiểm tra đã xác định chính xác rằng bộ nhớ trong đơn vị hệ thống bị lỗi. Sau khi tắt nguồn và trả mô-đun bộ nhớ về vị trí ban đầu, người kiểm tra cho thấy tình trạng sức khỏe của máy tính cá nhân.

Tương tự, bạn có thể xác định mã lỗi của các thiết bị ngoại vi khác và nhanh chóng giải quyết sự cố bằng cách thay thế thiết bị bị lỗi bằng thiết bị đang hoạt động.

kết luận

Mỗi giao dịch (trao đổi trên xe buýt) bao gồm hai thiết bị - thiết bị khởi tạo trao đổi, còn được gọi là dẫn đầu thiết bị (chính) và thiết bị đích (đích) (DC), còn được gọi là nô lệ(nô lệ). Bus PCI xử lý tất cả các giao dịch dưới dạng các gói: mỗi giao dịch bắt đầu bằng một giai đoạn địa chỉ, sau đó có thể là một hoặc nhiều giai đoạn dữ liệu. Thành phần và mục đích của tín hiệu giao diện bus được đưa ra trong Bảng. 6.11.

Bảng 6.11. Tín hiệu bus PCI

Tín hiệu Mục đích
QUẢNG CÁO Địa chỉ/Dữ liệu - bus địa chỉ/dữ liệu đa kênh. Khi bắt đầu giao dịch, địa chỉ được truyền đi, trong các chu kỳ tiếp theo - dữ liệu
C/BE# Kích hoạt lệnh/Byte - lệnh/quyền truy cập byte. Lệnh xác định loại chu kỳ bus tiếp theo được chỉ định bằng mã 4 bit trong pha địa chỉ
KHUNG# Khung. Việc đưa ra tín hiệu đánh dấu sự bắt đầu của giao dịch (giai đoạn địa chỉ), việc loại bỏ tín hiệu cho biết chu kỳ truyền dữ liệu tiếp theo là chu kỳ cuối cùng trong giao dịch
PHÁT TRIỂN # Chọn thiết bị - thiết bị được chọn (phản hồi của CPU đối với giao dịch được gửi tới nó)
IRDY# Initiator Ready - sự sẵn sàng của thiết bị chính để trao đổi dữ liệu
TRDY# Target Ready - sự sẵn sàng của trung tâm điều khiển để trao đổi dữ liệu
DỪNG LẠI# Yêu cầu từ CPU tới master để dừng giao dịch hiện tại
KHÓA# Bắt tín hiệu xe buýt để đảm bảo hoạt động ổn định. Được sử dụng bởi một cầu nối yêu cầu nhiều giao dịch PCI để hoàn thành một thao tác
số yêu cầu Yêu cầu - yêu cầu từ thiết bị chính để thu giữ xe buýt
GNT# Grant - cấp quyền điều khiển xe buýt cho chủ
cải cách hành chính Tính chẵn lẻ - bit chẵn lẻ chung cho các dòng AD và C/BE#
PERR# Lỗi chẵn lẻ - tín hiệu lỗi chẵn lẻ (đối với tất cả các chu kỳ ngoại trừ các chu kỳ đặc biệt). Được tạo bởi bất kỳ thiết bị nào phát hiện lỗi
PME# Sự kiện quản lý nguồn - tín hiệu về các sự kiện gây ra thay đổi trong chế độ tiêu thụ (tín hiệu bổ sung được giới thiệu trong PCI 2.2)
CLKRUN# Đồng hồ đang chạy - bus hoạt động ở tần số đồng hồ danh định. Việc loại bỏ tín hiệu có nghĩa là làm chậm lại hoặc ngừng đồng bộ hóa để giảm mức tiêu thụ (đối với ứng dụng di động)
PRSNT# Hiện tại - chỉ báo hiện diện bảng mã hóa yêu cầu tiêu thụ điện năng. Trên card mở rộng, một hoặc hai đường LED được kết nối với bus GND, được bo mạch chủ cảm nhận
RST# Đặt lại - đặt lại tất cả các thanh ghi về trạng thái ban đầu
IDSEL Khởi tạo thiết bị Chọn - lựa chọn thiết bị trong chu trình đọc và ghi cấu hình
SERR# Lỗi hệ thống- lỗi hệ thống. Lỗi chẵn lẻ của địa chỉ dữ liệu vòng lặp đặc biệt hoặc lỗi nghiêm trọng khác được thiết bị phát hiện. Được kích hoạt bởi bất kỳ thiết bị PCI nào và gọi NMI
REQ64# Yêu cầu 64 bit - yêu cầu trao đổi 64 bit. Tín hiệu được đầu vào bởi bộ khởi tạo 64 bit; nó trùng khớp với tín hiệu FRAME#. Trong quá trình hoàn tất thiết lập lại (tín hiệu RST#), tín hiệu tới thiết bị 64 bit được kết nối với bus 64 bit. Nếu thiết bị 64 bit không phát hiện được tín hiệu này, nó phải tự cấu hình lại sang chế độ 32 bit bằng cách tắt các mạch đệm byte cao
ACK64# Xác nhận trao đổi 64-bit. Tín hiệu được đưa vào bởi CPU 64-bit, CPU đã nhận dạng địa chỉ của nó, đồng thời với DEVSEL#. Việc không cung cấp xác nhận này sẽ buộc người khởi tạo thực hiện trao đổi ở tốc độ 32 bit
INTA#, INTB#, INTC#, INTD# Ngắt A, B, C, D - các dòng yêu cầu ngắt, độ nhạy mức, mức hoạt động - thấp, cho phép phân tách ( chia sẻ) dòng
CLK Đồng hồ - tần số đồng hồ xe buýt. Phải ở trong phạm vi 20–33 MHz, ở PCI2.1 - lên tới 66 MHz
M66EN Kích hoạt 66 MHz - độ phân giải tần số xung nhịp lên tới 66 MHz
SDONE Snoop Done - báo hiệu rằng chu trình snoop đã hoàn tất cho giao dịch hiện tại. Mức thấp cho biết chu trình giám sát kết hợp bộ nhớ và bộ nhớ đệm chưa hoàn tất. Tín hiệu tùy chọn, chỉ được sử dụng bởi các thiết bị bus có bộ nhớ đệm
SBO# Snoop Backoff - quyền truy cập hiện tại vào bộ nhớ của người đăng ký xe buýt kết thúc bằng một dòng bộ nhớ đệm đã được sửa đổi. Tín hiệu tùy chọn, chỉ được sử dụng bởi những người đăng ký xe buýt có bộ nhớ đệm trong thuật toán ghi lại
TCK Test Clock - Đồng bộ giao diện test JTAG
TDI Đầu vào dữ liệu thử nghiệm - Dữ liệu đầu vào giao diện thử nghiệm JTAG
TDO Đầu ra dữ liệu thử nghiệm - Dữ liệu đầu ra giao diện thử nghiệm JTAG
TMS Test Mode Select - chọn chế độ cho giao diện kiểm tra JTAG
TRST Kiểm tra logic Đặt lại - đặt lại logic kiểm tra

Tại bất kỳ thời điểm nào, xe buýt chỉ có thể được điều khiển bởi một thiết bị chính đã nhận được quyền làm như vậy từ trọng tài. Mỗi thiết bị chính có một cặp tín hiệu - REQ# để yêu cầu điều khiển bus và GNT# để xác nhận rằng điều khiển bus đã được cấp. Thiết bị chỉ có thể bắt đầu giao dịch (đặt tín hiệu FRAME#) khi tín hiệu GNT# nhận được đang hoạt động. Việc xóa tín hiệu GNT# sẽ ngăn thiết bị bắt đầu giao dịch tiếp theo và trong một số điều kiện nhất định (xem bên dưới) sẽ khiến thiết bị chấm dứt giao dịch hiện tại. Việc phân xử các yêu cầu sử dụng bus được xử lý bởi một nút đặc biệt có trong chipset bo mạch chủ. Sơ đồ ưu tiên (cố định, quay vòng, kết hợp) được xác định bằng chương trình trọng tài.

Các dòng AD ghép kênh phổ biến được sử dụng cho địa chỉ và dữ liệu. Bốn đường C/BE ghép kênh cung cấp mã hóa lệnh trong pha địa chỉ và độ phân giải byte trong pha dữ liệu. Khi bắt đầu giao dịch, thiết bị chính kích hoạt tín hiệu FRAME#, truyền địa chỉ đích qua bus AD và thông tin về loại giao dịch (lệnh) qua đường C/BE#. Trung tâm điều khiển có địa chỉ sẽ phản hồi bằng tín hiệu DEVSEL#. Thiết bị chính cho biết sự sẵn sàng trao đổi dữ liệu với tín hiệu IRDY#; sự sẵn sàng này có thể được thiết lập trước khi nhận DEVSEL#. Khi trung tâm điều khiển sẵn sàng trao đổi dữ liệu, nó sẽ đặt tín hiệu TRDY#. Dữ liệu chỉ được truyền trên bus AD khi tín hiệu IRDY# và TRDY# xuất hiện đồng thời. Với sự trợ giúp của các tín hiệu này, thiết bị chính và trung tâm điều khiển sẽ phối hợp tốc độ của chúng bằng cách đưa ra các chu kỳ chờ. Trong bộ lễ phục. Hình 6.7 hiển thị sơ đồ thời gian của quá trình trao đổi trong đó cả thiết bị chính và trung tâm điều khiển đều bước vào chu kỳ chờ. Nếu cả hai đều nhập các tín hiệu sẵn sàng ở cuối giai đoạn địa chỉ và không loại bỏ chúng cho đến khi kết thúc quá trình trao đổi thì 32 bit dữ liệu sẽ được truyền trong mỗi chu kỳ xung nhịp sau giai đoạn địa chỉ, điều này sẽ mang lại hiệu suất trao đổi tối đa.

Cơm. 6,7. Chu kỳ truyền thông trên bus PCI

Số lượng pha dữ liệu trong gói không được chỉ định rõ ràng, nhưng trước pha dữ liệu cuối cùng, thiết bị chủ, khi tín hiệu IRDY# được chèn vào, sẽ loại bỏ tín hiệu FRAME#. Trong các giao dịch đơn lẻ, tín hiệu FRAME# chỉ hoạt động trong một chu kỳ xung nhịp. Nếu thiết bị không hỗ trợ giao dịch hàng loạt ở chế độ nô lệ thì thiết bị phải yêu cầu chấm dứt giao dịch hàng loạt trong giai đoạn dữ liệu đầu tiên (bằng cách nhập tín hiệu STOP# cùng lúc với TRDY#). Đáp lại, chủ sẽ hoàn thành giao dịch đã cho và tiếp tục trao đổi giao dịch tiếp theo với giá trị địa chỉ mới. Sau giai đoạn dữ liệu cuối cùng, thiết bị chủ loại bỏ tín hiệu IRDY# và bus chuyển sang trạng thái nghỉ ( PCI nhàn rỗi) - cả hai tín hiệu FRAME# và IRDY# đều ở trạng thái thụ động. Người khởi tạo có thể bắt đầu giao dịch tiếp theo mà không cần nghỉ ngơi bằng cách nhập FRAME# cùng lúc với việc rút IRDY#. Các giao dịch liền kề nhanh như vậy (Fast Back-to-Back) có thể được xử lý ở một hoặc tới các trung tâm trung tâm khác nhau. Loại đầu tiên được hỗ trợ bởi tất cả các thiết bị PCI hoạt động như một bộ điều khiển trung tâm. Hỗ trợ loại thứ hai (tùy chọn) được biểu thị bằng bit 7 của thanh ghi trạng thái (xem phần 6.2.12). Người khởi tạo chỉ được phép (nếu có thể) sử dụng các giao dịch liền kề nhanh với các thiết bị khác nhau (bit 9 của thanh ghi lệnh) nếu tất cả các tác nhân xe buýt cho phép truy cập nhanh.

Bus cho phép bạn giảm mức tiêu thụ điện năng (dòng điện) của các thiết bị với chi phí là giảm hiệu suất bằng cách sử dụng chuyển đổi dòng từng bước AD và PAR (bước địa chỉ/dữ liệu). Có hai lựa chọn có thể ở đây.

Bước trơn tru (bước liên tục) - bắt đầu hình thành tín hiệu bằng các bộ tạo hình có độ chính xác yếu vài chu kỳ đồng hồ trước khi đưa ra tín hiệu hạn tính thông tin hợp lệ (FRAME# trong pha địa chỉ, IRDY# hoặc TRDY# trong pha dữ liệu). Trong vài chu kỳ xung nhịp này, các tín hiệu sẽ “bò” đến giá trị yêu cầu ở dòng điện thấp hơn.

Bước rời rạc - các bộ định dạng thông thường không được kích hoạt cùng một lúc mà theo nhóm (ví dụ: từng byte), trong mỗi chu kỳ đồng hồ, mỗi lần một nhóm. Đồng thời, dòng điện khởi động giảm do có ít trình điều khiển được chuyển đổi cùng lúc.

Bản thân thiết bị có thể không sử dụng những khả năng này (xem bit 7 của thanh ghi lệnh), nhưng phải “hiểu” những chu kỳ như vậy. Bằng cách trì hoãn tín hiệu FRAME#, một thiết bị có nguy cơ mất quyền truy cập vào bus nếu trọng tài nhận được yêu cầu từ thiết bị có mức ưu tiên cao hơn.

Giao thức bắt tay đảm bảo độ tin cậy của quá trình trao đổi - thiết bị chủ luôn nhận được thông tin về quá trình xử lý giao dịch của trung tâm điều khiển trung tâm. Một phương tiện để tăng độ tin cậy (tính hợp lệ) là sử dụng điều khiển chẵn lẻ: các dòng AD và C/BE# trong cả pha địa chỉ và pha dữ liệu đều được bảo vệ bởi bit chẵn lẻ PAR (số bit đơn của các dòng này, bao gồm cả PAR , phải chẵn). Giá trị PAR thực tế xuất hiện trên bus với độ trễ một chu kỳ xung nhịp so với các đường AD và C/BE#. Khi phát hiện lỗi CPU, tín hiệu PERR# sẽ được tạo ra (với sự dịch chuyển xung nhịp sau khi bit chẵn lẻ có hiệu lực). Khi tính toán tính chẵn lẻ khi truyền dữ liệu, tất cả các byte đều được tính đến, kể cả những byte không hợp lệ (được đánh dấu cấp độ cao tín hiệu C/BEx#). Trạng thái bit, ngay cả trong các byte dữ liệu không hợp lệ, phải duy trì ổn định trong suốt giai đoạn dữ liệu.

Mỗi giao dịch trên bus phải được hoàn thành theo kế hoạch hoặc bị hủy bỏ và bus phải chuyển sang trạng thái nghỉ (tín hiệu FRAME# và IRDY# là thụ động). Việc hoàn thành giao dịch được thực hiện theo sáng kiến ​​của chủ hoặc theo sáng kiến ​​của PU.

Người chủ có thể hoàn tất giao dịch theo một trong những cách sau.

Hoàn thành bình thường ( Hoàn thành) được thực thi sau khi hoàn thành việc trao đổi dữ liệu.

Hoàn thành do hết thời gian ( Hết giờ) xảy ra khi, trong khi giao dịch, quyền điều khiển bus của chủ bị mất (bằng cách loại bỏ tín hiệu GNT#) và thời gian được chỉ định trong Bộ đếm thời gian trễ của nó hết hạn. Điều này có thể xảy ra nếu CU có địa chỉ bị chậm đột ngột hoặc giao dịch được lên lịch quá dài. Các giao dịch ngắn (với một hoặc hai pha dữ liệu), ngay cả khi tín hiệu GNT# bị loại bỏ và bộ hẹn giờ được kích hoạt, vẫn hoàn tất bình thường.

Giao dịch bị từ chối ( Master-Hủy bỏ) khi thiết bị chủ không nhận được phản hồi từ thiết bị điều khiển (DEVSEL#) trong một thời gian nhất định.

Giao dịch có thể bị chấm dứt bởi sáng kiến ​​của Trung tâm Điều hành Trung ương; Để làm điều này, nó có thể nhập tín hiệu STOP#. Có ba loại chấm dứt có thể.

Lặp lại ( Thử lại) - tín hiệu STOP# được nhập bằng tín hiệu TRDY# thụ động trước giai đoạn dữ liệu đầu tiên. Tình trạng này xảy ra khi trung tâm điều khiển do bận nội bộ nên không có thời gian đưa ra dữ liệu đầu tiên đúng thời gian (16 chu kỳ xung nhịp). Thử lại là một dấu hiệu để chủ bắt đầu lại giao dịch tương tự.

Vô hiệu hóa ( Ngắt kết nối) - tín hiệu STOP# được nhập trong hoặc sau giai đoạn dữ liệu đầu tiên. Nếu tín hiệu STOP# được nhập trong khi tín hiệu TRDY# của pha dữ liệu tiếp theo đang hoạt động thì dữ liệu này sẽ được truyền đi và giao dịch được hoàn thành. Nếu tín hiệu STOP# được nhập bằng tín hiệu TRDY# thụ động thì giao dịch được hoàn thành mà không truyền dữ liệu của pha tiếp theo. Ngắt kết nối xảy ra khi trung tâm điều khiển không thể phát hoặc nhận kịp thời phần dữ liệu gói tiếp theo.