Các khối của Atmega64L

Một phần của tài liệu Báo cáo tốt nghiệp: Nghiên cứu ứng dụng chíp điều khiển ethernet W5100 doc (Trang 29 - 33)

 Do các khối chức năng của Atmega64L rất nhiều lên em chỉ đề cập đến các khối chức năng sử dụng trong luận văn này.

2.1.4.1.Lõi CPU của Atmega64L

 Trong mục này sẽ mô tả tổng quát về cấu trúc lõi CPU của AVR.

Chức năng chính của lõi CPU là đảm bảo cho chương trình hoạt động. CPU

phải có khả năng truy cập vào bộ nhớ, thực hiện tính toán, điều khiển ngoại vi

và quản lý ngắt. Sơ đồ khối của CPU:

ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp

___________________________________________________________________________ ____________________________________________

 Các bộ xử lý AVR có kiến trúc Harvard, nghĩa là có bộ nhớ dữ liệu và bộ nhớ chương trình tách biệt nhau. Hình trên minh họa sơ đồ khối CPU của

AVR. Bus dữliệu dùng cho bộ nhớ dữ liệu là 1 bus 8 bit, cho phép nối hầu hết

các bộ phận ngoại vi với tệp thanh ghi ( register file). Bus dữ liệu dùng cho bộ

nhớ chương trình có độ rộng 16 bit và chỉ nối với thanh ghi lệnh.

a. Khối số học logic ALU

Khối số học (ALU) thực hiện các thao tác như thao tác bit, phép tính số

học và lôgic trên nội dung của các thanh ghi và ghi ngược kết quả vào tệp thanh ghi trên thanh ghi đã được chỉ định. Các thao tác này được thực hiện

trong một chu kỳ đồng hồ đơn lẻ. Mỗi một thao tác ALU đều làm ảnh hưởng đến các cờ trong thanh ghi trạng thái (STATUS), tùy thuộc vào lệnh.

b. Thanh ghi trạng thái SREG

Thanh ghi triạng thái có chứa 8bit cờ, đóng vai trò báo hiệu trạng thái

hiện tại của bộ xử lý. Tất cả các bit đó dược xóa bởi chương trình. Các địa chỉ

I/O của thanh ghi trang thái là $3F( địa chỉ bộ nhớ là $57).

Thanh ghi trạng thái không được lưu trữ bằng máy (machine) trong thời

gian diễn ra một thao tác ngắt. Lệnh trong một đoạn chương trình ngắt có thể

xủa đổi bít cờ trạng thái, và vì thế chương trình của người dùng phải lưu trữ

và khôi phục thanh ghi trạng thái trong thời gian có một ngắt.

c. Tập thanh ghi đa năng

Tất cả các bộ điều khiển AVRđều có 32 thanh ghi đa năng. Một số trong

các thanh ghi này còn có các chức năng riêng, bổ sung. Các thanh ghi dược đặt tên từ R0 đến R31. Tệp thanh ghi được tách thành 2 phần, mỗi phần có 16 thanh ghi, đánh số từ R0 đến R15 và R16 đến R31. Tất cả truy nhập trong

ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp

___________________________________________________________________________ ____________________________________________

d. Thanh ghi con trỏ ngăn xếp SP

Thanh ghi này có độ rộng bằng 1 byte đối với các bộ xử lý có đến 256

byte bộ nhớ SRAM và bằng 2byte (được gọi là SPH và SPL) đối với các bộ xử

lý có bộ nhớ . Thanh ghi này sử dụng để chỉ đến vùng trong bộ nhớ SRAM ở đỉnh của ngăn xếp. Ngăn xếp được sử dụng để lưu trữ địa chỉ mà bộ xử lý trả

trở lại trong thời gian một ngắt và gọi thủ tục . Bởi vì SP được khởi tạo về

$0000 khi rết, nên chương trình người dùng cần phải khởi tạo SP cho thích

hợp, bởi vì địa chỉ bắt đầu của bộ nhắ SRAM không phải là $0000 mà là $60.

Ngăn xếp sắp xếp theo thứ tự từ trên xuống dưới trong địa chỉ bộ nhớ, nghĩa

là, việc đẩy một giá trị lên trên ngăn xếp sẽ làm cho SP giảm đi một giá trị. Khi

kéo một giá trị khỏi ngăn xếp sẽ làm tăng SP thêm một giá trị.

e. Việc thực thi lệnh

Bộ xử lý AVR được điều khiển bởi đồng hồ hệ thống, đồng hồ này có thể ở bên ngoài hoặc, nếu có tồn tại và được phép, một đồng hồ RC bên trong có thể được sử dụng. Đồng hồ hệ thống này không qua bất kỳ bộ chia nào và

được sử dụng trục tiếp cho tất cả các thao tác truy nhập bên trong bộ xử lý.

Bộ xử lý có một đường ống (pipeline) 2 tầng, và lệnh tìm nạp giải mã được

ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp

___________________________________________________________________________ ____________________________________________

Hình 10: Tìm nạp/ giải mã lệnh và việc thực thi lệnh.

Cứ mỗi lần lệnh được tìm nạp, nếu đây là một lệnh liên quan đến ALU, nó

có thể được thực thi bởi khối ALU như được minh họa tren hình 3-5 cho một

chu trình đơn lẻ.

Hình 11: Việc thực thi của ALU bao gồm tìm/nạp thực thi, và ghi ngược lại vào thanh ghi.

Mặt khác, việc truy nhập bộ nhớ SRAM chiếm mất 2 chu kỳ, như dược

minh họa ở hình dưới. Nguyên nhân là việc truy nhập bộ nhớ SRAM sử dụng

một thanh ghi con trỏ dùng cho địa chỉ bộ nhớ SRAM. Thanh ghi con trỏ này chỉ là một trong các thanh ghi con trỏ (các cặp thanh ghi X, Y hoặc Z) có trên chip. Chu trình đồng hồ thứ nhất được cần đến để truy nhập tệp thanh ghi và

để thao tác trên thanh ghi con trỏ (các lệnh truy nhập bộ nhớ SRAM cho phếp tăng địa chỉ trước/ sau thao tác trên thanh ghi con trỏ). Ở thời điểm kết thúc

của chu kỳ đồng hồ thứ nhất, khối ALU thực hiện phép tính này, và sau đó địa

chỉ này được sử dụng để truy nhập ô nhớ SRAM và để ghi vào ô nhớ này ( hoặc đọc ra rừ đó vòa thanh ghi đích), như được minh họa hình dưới.

ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp

___________________________________________________________________________ ____________________________________________

Hình 12: Các chu trình truy nhập dữ liệu lên thanh ghi SRAM trên chip.

Một phần của tài liệu Báo cáo tốt nghiệp: Nghiên cứu ứng dụng chíp điều khiển ethernet W5100 doc (Trang 29 - 33)

Tải bản đầy đủ (PDF)

(72 trang)