Bộ phân xử

Một phần của tài liệu Nghiên cứu, thiết kế và thực hiện bus truyền thông tốc độ cao AMBA AHB (Trang 57)

3.4.1. Các tín hiu ca b phân x

Các tín hiệu trên bộ phân xử bus ñược mô tả như trên Hình 31. Vì bộ phân xử bus ñóng vai trò giám sát và phân quyền truy cập bus nên nó cũng ñồng thời ñiều khiển các bộ phân kênh tín hiệu ñể ñảm bảo việc chuyển giao bus ñược xảy ra ñúng theo trình tự. Ngoài các tín hiệu ñược mô tả trong bản mô tả kỹ thuật của bus AHB thì trong mô hình ñề xuất này bộ phân xử ñược ñưa thêm hai tín hiệu ñiều khiển các bộ phân kênh dữ liệu. Hai tín hiệu này là: MUX_DATA_CTR[3:0] dùng ñểñiều khiển bộ phân kênh dữ liệu ghi và tín hiệu MUX_S2M ñược sử dụng ñể ñiều khiển bộ phân kênh các tín hiệu ñi từ bus tớ ñến bus chủ và bộ phân xử. Lý do cần phải sử dụng ñến hai tín hiệu ñểñiều khiển hai bộ phân kênh này là bởi vì dữ liệu ñọc và dữ liệu ghi sẽñược chuyển vào các chu kỳ khác khau khi có yêu cầu mở rộng quá trình truyền từ bus tớ. Một số tín hiệu ñặc trưng của bộ phân xử sẽñược mô tả cấu trúc, chức năng và hoạt ñộng cụ thể như dưới ñây. Các tín hiệu còn lại có chức năng và hoạt ñộng như ñã ñược mô tảở bus chủ và bus tớ.

Hình 31.Các tín hiệu trên bộ phân xử.

- HBUSREQx1, HBUSREQx2 (lối vào): Các tín hiệu yêu cầu quyền truy cập bus từ các bus chủ tương ứng. ðây là các tín hiệu có ñộ rộng 1 bit. Khi các tín hiệu này có giá trị ở mức cao thì bus chủ tương ứng ñang yêu cầu quyền truy cập bus, bộ phân xử sẽ dựa vào chếñộ phân quyền ưu tiên ñược thiết lập từ trước ñể cấp quyền truy cập.

52

- HLOCKx1, HLOCKx2 (lối vào): Các tín hiệu yêu cầu các quá trình truyền bị khoá từ các bus chủ tương ứng. Các tín hiệu tín hiệu này có ñộ rộng 1 bit.

- HGRANTx1, HGRANTx2 (lối ra): Tín hiệu ñồng ý cho bus chủ tương ứng ñược quyền sở hữu bus. ðây là các tín hiệu có ñộ rộng 1 bit. Khi bộ phân xử ñồng ý cho bus chủ nào sở hữu bus thì nó sẽ phát tín hiệu HGRANTx tương ứng với bus chủñó, ít nhất là một chu kỳ trước khi bus chủ ñó tham gia và quá trình truyền. Việc chuyển giao bus chỉ ñược thực hiện sau một chu kỳ khi cả hai tín hiệu HGRANTx và HREADY ñều ở mức logic cao.

- HMASTLOCK (lối ra): Tín hiệu có ñộ rộng 1 bit, thông báo cho bus tớ ñang tham gia và quá trình truyền biết rằng quá trình truyền ñang thực hiện là một quá trình truyền có khoá.

- HMASTER[3:0] (lối ra): Tín hiệu có ñộ rộng 4 bit, ñược sử dụng ñể phát ñi sốñịnh danh của bus chủñang sở hữu bus. ðồng thời tín hiệu này cũng ñược dùng ñể ñiều khiển bộ phân kênh tín hiệu ñịa chỉ và ñiều khiển. Tín hiệu này sẽ phát số ñịnh danh bus chủ tương ứng ở pha ñịa chỉ ñầu tiên của quá trình truyền và sẽ thay ñổi sốñịnh danh này khi kết thúc pha ñịa chỉ của khối truyền cuối cùng.

- MUX_DATA_CTR[3:0] (lối ra): Tín hiệu có ñộ rộng 4 bit, ñược sử dụng ñể ñiều khiển bộ phân kênh dữ liệu ghi từ bus chu truyền ñến bus tớ. Tín hiệu này cũng phát ñi số ñịnh danh của bus chủ tương tự như với HMASTER. Tuy nhiên, tín hiệu này chỉ phát ra sốñịnh danh tại thời ñiểm bắt ñầu pha dữ liệu ñầu tiên của quá trình truyền và chỉ thay ñổi qua số ñịnh danh của bus chủ khác khi pha ñịa chỉ của khối truyền cuối cùng kết thúc.

- MUX_S2M (lối ra): Tín hiệu có ñộ rộng 1 bit, ñược sử dụng ñể ñiều khiển bộ phân kênh tín hiệu dữ liệu ñọc cũng như tín hiệu phản hồi truyền từ bus tớ truyền về bus chủ. Tín hiệu này sẽ có mức logic thấp trong pha ñịa chỉ ñầu tiên của các quá trình truyền và sẽ chuyển lên mức cao ở pha dữ liệu ñầu tiên của quá trình truyền.

3.4.2. Máy trng thái mô t hot ñng ca b phân x

ðể bộ phân xử có thể giám sát ñược các quá trình truyền ñang diễn ra, ñồng thời có thể hoạt ñộng ñộc lập trong quá trình phân quyền truy cập thì bộ phân xử cũng ñược thiết kế ở mức RTL dưới dạng một máy trạng thái ñể có thể kiểm soát ñược các hoạt ñộng trong từng chu kỳ xung nhịp. Bộ phân xử sẽ tự

53

kiểm soát thứ tự các khối truyền trong quá trình truyền ñể có thể tính toán ñược quá trình truyền diễn ra như thế nào. Từ ñó, bộ phân xử có thể phân quyền truy cập cho các quá trình truyền tiếp theo. Các trạng thái của máy trạng thái trong bộ phân xử sẽ thay ñổi dựa vào các tín hiệu yêu cầu, tín hiệu ñiều khiển từ bus chủ, các phản hồi truyền từ bus tớ và cả trạng thái trước ñó của máy. Máy trạng thái của bộ phân xử bao gồm 5 trạng thái sau: GRANT_DEF, GRANT_M1, GRANT_M2, MUX_1, MUX_2. Các trạng thái này liên quan và chuyển ñổi lẫn nhau theo như mô hình ñược mô tả trong Hình 32.

Hình 32. Sơ ñồ máy trạng thái của bộ phân xử.

Hoạt ñộng cụ thể của từng trạng thái như sau.

- GRANT_DEF: ñây là trạng thái khởi ñầu cho máy trạng thái khi có tín hiệu HRESETn tác ñộng ñến bộ phân xử. ðây cũng là trạng thái khi không có bus chủ nào yêu cầu truy cập và bộ phân xử phải cấp quyền cho bus chủ mặc ñịnh. Trong trạng thái này, các tín hiệu sẽñược ñưa về giá trị mặc ñịnh và HGRANTx2 sẽ có mức cao ñể cấp quyền truy cập cho bus chủ mặc ñịnh. Trạng thái này chỉ chuyển qua các trạng thái GRANT_M1 hoặc GRANT_M2 khi có tín hiệu HBUSREQx tương ứng. Nếu HBUSREQx1 và HBUSREQx2 cùng có mức cao thì bus chủ M1 ñược ưu tiên và sẽ chuyển qua trạng thái GRANT_M1.

- GRANT_M1, GRANT_M2: trạng thái này sẽ cấp quyền truy cập cho bus chủ tương ứng (GRANT_M1 cho bus M1 và GRANT_M2 cho bus M2), ñồng thời xác nhận bus chủñó ñã tham gia vào quá trình truyền ( bus chủ ñã thực hiện pha ñịa chỉ ñầu tiên của quá trình truyền). Tín hiệu HMASTER cũng sẽ phát ñi số ñịnh danh của bus chủ tương ứng trong

54

trạng thái này. Các trạng thái này cũng xác ñịnh số khối truyền cần thực hiện trong quá trình truyền này ñể có thể thay ñổi tín hiệu cấp quyền truy cập bus cho quá trình truyền sau. Hai trạng thái này sẽ chuyển qua các trạng thái MUX_1 và MUX_2 tương ứng ngay khi tín hiệu HREADY có giá trị logic cao.

- MUX_1: trạng thái này xảy ra sau trạng thái GRANT_M1 và thực hiện việc giám sát quá trình truyền của bus M1. Trạng thái này sẽ dựa vào tín hiệu HTRANS và HREADY ñể tính số khối truyền còn lại nhằm có thể thay ñổi tín hiệu HGRANTx ñúng thời ñiểm cần chuyển giao bus. Trong trạng thái này, các tín hiệu phản hồi truyền cũng sẽ ñược lấy mẫu ñể có thể thay ñổi lại mức ưu tiên truy cập bus. Nếu có phản hồi RETRY thì MUX_1 không thay ñổi quyền ưu tiên truy cập và HGRANTx1 vẫn giữ nguyên giá trị. Nếu có phản hồi SPLIT thì HGRANTx1 sẽ trở về mức logic thấp, HGRANTx2 sẽ chuyển giá trị lên mức cao và trạng thái tiếp theo sẽ là GRANT_M2 hoặc GRANT_DEF tuỳ thuộc vào tín hiệu HBUSREQx2.

- MUX_2: trạng thái này xảy ra sau trạng thái GRANT_M2 và thực hiện việc giám sát quá trình truyền của bus M2. Trạng thái này cũng dựa vào tín hiệu HTRANS và HREADY ñể tính số khối truyền còn lại, nhằm ñiều khiển tín hiệu HGRANTx thay ñổi vào ñúng thời ñiểm cần chuyển giao bus. Trong trạng thái này, các tín hiệu phản hồi truyền cũng sẽ ñược lấy mẫu ñể có thể thay ñổi lại mức ưu tiên truy cập bus. Nếu có phản hồi RETRY và HBUSREQx1 có giá trị logic thấp thì MUX_2 không thay ñổi quyền ưu tiên truy cập và HGRANTx2 vẫn giữ giá trị cũ. Nhưng nếu có một phản hồi RETRY, ñồng thời tín hiệu HBUSREQx1 có mức cao thì quyền ưu tiên sẽ ñược chuyển lại cho bus M1 và HGRANTx1 sẽ chuyển lên mức cao tương ứng. Nếu có phản hồi SPLIT và HBUSREQx1 có giá trị logic cao thì HGRANTx1 sẽ ñược ñưa lên mức cao và máy trạng thái chuyển sang trạng thái GRANT_M1. Trong trường hợp có phản hồi SPLIT, nhưng không bus chủ nào có yêu cầu truy cập bus thì máy trạng thái chuyển tiếp sang trạng thái GRANT_DEF và tín hiệu HGRANTx2 vẫn giữ giá trịở mức cao.

Một phần của tài liệu Nghiên cứu, thiết kế và thực hiện bus truyền thông tốc độ cao AMBA AHB (Trang 57)