d. Nhóm lệnh chuyền ựiều khiển:
3.3.3. Cấu trúc bộ nhớ
Bộ nhớ chương trình là bộ nhớ Flash, dung lượng là 8k, ựược tổ chức 4kx16 bit. Bộ nhớ chương trình ựược truy nhập theo từng chu kỳ ựồng hồ, và một lệnh ựược nạp vào thanh ghi lệnh. Thanh ghi lệnh nối với tệp 32 thanh ghi bằng cách lựa chọn xem thanh ghi nào sẽ ựược ALU sử dụng ựể thực thi lệnh. Lối ra của thanh ghi lệnh ựược giải mã bằng bộ giải mã lệnh ựể quyết ựịnh chọn tắn hiệu nào sẽ ựược kắch hoạt ựể hoàn thành lệnh hiện tại.
Bộ nhớ chương trình bên cạnh các lệnh lưu trữ, cũng chứa các vector ngắt bắt ựầu từ ựịa chỉ $0000h. Chưong trình hiện tại sẽ bắt ựầu ở vị trắ phắa bên kia vùng dùng cho các vetor ngắt. AVR có 21 vector ngắt như sau:
Trường đại học Nông nghiệp Hà Nội Ờ Luận văn thạc sĩ nông nghiệp ...38
Bộ nhớ dữ liệu có tất cả 5 phần khác nhau:
Một tệp thanh ghi (register file) với 32 thanh ghi 8 bit từ R0ọR31.
64 thanh ghi vào ra (I/O), mỗi thanh 8 bit.
Bộ nhớ SRAM bên trong, có dung lượng 512 byte. Bộ nhớ SRAM ựược sử dụng cho ngăn xếp cũng như ựể lưu trữ các biến. Trong thời gian ngắt và ựoạn gọi chưng trình con, giá trị hiện tại của con trỏ chưng trình ựược lưu trữ trong ngăn xếp. Kắch thước của ngăn xếp phụ thuộc vào SRAM trên chip. Vị trắ của ngăn xếp ựược chỉ bởi con trỏ ngăn xếp. Con trỏ ngăn xếp là thanh ghi có ựộ dài 2 byte. Con trỏ ngăn xếp cần ựược khởi tạo sau khi reset, và trước khi ngăn xếp ựược sử dụng.
Bộ nhớ SRAM bên ngoài, sử dụng các cổng ựể truy nhập bộ nhớ và dữ liệu bên ngoài.
EEPROM ựược truy nhập theo bản ựồ bộ nhớ riêng. AVR 908535 có 512 EEPROM, ựịa chỉ bắt ựầu từ $0000. Việc ựọc EEPROM diễn ra nhanh hơn việc ghi vào, có thể ghi ựược 100,000 lần.