Chu trình dữ liệu chung của ARM:

Một phần của tài liệu Giáo trình kỹ thuật vi xử lý (Trang 25 - 27)

Lõi vi xử lý AMR là một khối chức năng đƣợc kết nối bởi các bus dữ liệu. Các mũi tên thể hiện cho dòng chảy của dữ liệu, các đƣờng thể hiện cho bus dữ liệu, và các ô biểu diễn trong hình là một khối hoạt động hoặc một vùng lƣu trữ. Cấu hình này cho thấy các dòng dữ liệu và các thành phần tạo nên một bộ xử lý ARM.

Các bộ giải mã sẽ định hƣớng dịch chuyển trƣớc khi chúng đƣợc thực thi. Mỗi một lệnh thực hiện thuộc về một tập lệnh riêng biệt.

Bộ xử lý ARM, giống nhƣ tất cả bộ xử lý RISC, sử dụng kiến trúc load – store. Điều này có nghĩa là có hai lệnh để chuyển dữ liệu giữa bộ vi xử lý với bộ nhớ: lệnh load cho phép sao chép dữ liệu từ bộ nhớ vào thanh ghi trong lõi xử lý, và ngƣợc lại lệnh store cho phép sao chép dữ liệu từ thanh ghi tới bộ nhớ. Không có lệnh xử lý dữ liệu trực tiếp trong bộ nhớ (ví dụ cộng, trừ, nhân, chia,… hai toán hạng cùng nằm trong bộ nhớ). Việc xử lý dữ liệu chỉ đƣợc thực hiện trong các thanh ghi.

Tất cả dữ liệu thao tác nằm trong các thanh ghi, các thanh ghi có thể là toán hạng nguồn, toán hạng đích, con trỏ bộ nhớ. Các dữ liệu 8 bit, 16 bit đều đƣợc mở rộng thành 32 bit trƣớc khi đƣa vào thanh ghi nhờ bộ mở rộng dấu.

Tập lệnh ARM nằm trong hai nguồn thanh ghi RnRm, và kết quả đƣợc trả về thanh ghi đích Rd. Nguồn toán hạng đƣợc đọc từ thanh ghi đang sử dụng trên bus nội bộ A và B tƣơng ứng.

Mở rộng dấu Tập các thanh ghi R0 – R15 Bộ dịch chuyển MAC ALU

Thanh ghi địa chỉ

Bộ tăng Giải mã lệnh Dữ liệu Địa chỉ Đọc dữ liệu Ghi Dữ liệu Rd Kết quả A B Acc Rn A Rm R15 PC

Hình 2. 4 Chu trình dữ liệu chung của ARM

Nhƣ mô tả trên hình 2.4, khối số học và logic (ALU: Arithmetic Logic Unit) hay bộ tích lũy nhân (MAC: Multiply Accumulate Unit) lấy các giá trị thanh ghi RnRm từ bus A và B, và tính toán kết quả (bộ tích lũy nhân có thể thực hiện phép nhân giữa hai thanh ghi và cộng kết quả với một thanh ghi khác). Các lệnh xử lý dữ liệu ghi các kết quả trực tiếp trong Rd rồi trả về tệp thanh ghi.

Một tính năng quan trọng của ARM là thanh ghi Rm còn có thể đƣợc xử lý trong Shifter (bộ dịch chuyển) trƣớc khi nó đi vào ALU. Shifter và ALU có thể phối hợp với nhau để tính toán các biểu thức và địa chỉ.

Sau khi đi qua các khối chức năng, kết quả trong Rd đƣợc ghi trở lại tệp thanh ghi. Tập lệnh load – store cập nhật tăng địa chỉ thanh ghi trƣớc khi lõi xử lý đọc hoặc ghi giá trị vào thanh ghi từ vị trí nhớ tuần tự tiếp theo. Lõi vi xử lý tiếp tục thực hiện các lệnh cho đến khi xảy ra một ngắt ngoại lệ hoặc có thay đổi dòng chảy thực hiện bình thƣờng.

Cách tổ chức của nhân ARM không thay đổi nhiều trong khoảng 1983-1995: đến ARM7-sử dụng dòng chảy lệnh sử dụng 3 tác vụ. Từ 1995 trở về sau, đã xuất hiện một vài nhân ARM mới đƣợc giới thiệu có dòng chảy lệnh sử dụng 5 tác vụ. Các dòng ARM sau này có thể có dòng chảy lệnh 6 tác vụ (ARM10), 9 tác vụ (ARM11) hoặc 13 tác vụ (ARM Cortex).

26

Một phần của tài liệu Giáo trình kỹ thuật vi xử lý (Trang 25 - 27)

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

(115 trang)