Tài liệu Giới thiệu ARM ppt

24 385 3
Tài liệu Giới thiệu ARM ppt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Giới thiệu ARM -Ф Người viết: Bùi Trung Hiếu Webmaster: Khoa học tuổi trẻ Lời mở đầu: Ứng dụng cho hệ thống nhúng ngày trở nên phức tạp, đơn giản điều khiển chốt đèn giao thông định thời, đếm số người vào cửa, điều khiển động ON-OFF, hiển thị câu thông báo LCD v.vv xu tất yếu, nhân điều khiển cần có cấu hình mạnh hơn, đáp ứng thời gian thực tốt nhân điều khiển 8bit dùng! Như phân tích số viết trước, ta đa phần sử dụng nhân điều khiển bit cho ứng dụng, thế, vơ tình thu hẹp khả điều khiển hệ thống nhúng Chính hạn chế dung lượng nhớ chương trình-dữ liệu ảnh hưởng khơng tới phạm vi ứng dụng Khi dùng vi điều khiển 8bit làm điều khiển PID kinh điển cố gắng không nhỏ từ người lập trình, đừng nói đến việc dùng vào ứng dụng dựa sở lý thuyết điều khiển đại, địi độ xác cao, đáp ứng thời gian thực tốt! Tất nhiên, với vi điều khiển 8bit, bạn dùng để điều khiển mờ lị nhiệt, hay đối tượng có mức quán tính lớn! Đi kèm với việc điều khiển cố gắng giải thuật phức tạp lên Bạn cịn hồi nghi? Cứ thử đi, ban đầu, bạn thu nhỏ giải thuật điều khiển lý thuyết toán học, cố gắng hạn chế dung lượng nhớ chương trình làm tăng thời gian xử lý cần nhiều ô nhớ trung gian Tuy nhiên, bạn sử dụng nhân 8bit có tần số dao động lớn kết chấp nhận được! Nếu nhân 8bit hỗ trợ tính tốn số thực kết cịn tốt hơn! Khơng thể nói với nhân điều khiển 8bit, ta chẳng làm nên trò trống gì, vậy, phủ nhận kết lâu phần đơng dân lập trình vi điều khiển-nhất sinh viên ta, động, sáng tạo! Chỉ nói rằng, kết bị hạn chế ta ứng dụng vào công nghệ cao: truyền thông đa phương tiện, xử lý âm thanh, hình ảnh, thiết bị hỗ trợ cá nhân , ứng dụng mobile robot linh hoạt, tự hành ‘biết ứng xử’ vv… Yêu cầu hệ thống cần linh động, tiêu tốn lượng, nhỏ gọn, cấu hình mạnh tính phức tạp đặt Nhu cầu thị trường cần, người làm kĩ thuật bỏ qua thời buổi cạnh tranh nay! Và thế, mời bạn vào khám phá cõi mới! Những bước vấp ngã! Và thế, tơi cần giúp sức, phê bình đóng góp người, biết đâu, đấy, tơi có lỡ vào ngõ cụt, cịn có tiếng kêu vịng tay đón đất mẹ! Thân chào! Ví dụ đưa tơi chưa tính đến sai số sensor Theo tính tốn ban đầu tơi ta dư sức dùng nhân điều khiển bit cho việc điều khiển mờ lò nhiệt với tập biến ngôn ngữ ngõ vào ngõ tuần tự, biến ngơn ngữ có cấp điều khiển với thời gian lấy mẫu khoảng 0.5 giây Giới thiệu ARM – Bùi Trung Hiếu Các đề mục chính: Danh mục hình vẽ: Danh mục bảng: A ARM - Đơi nét lịch sử hình thành phát triển: B Sơ lược thiết kế nhân điều khiển: B.I Đôi nét thiết kế phần cứng: B.II Cấu trúc máy tính số sử dụng chương trình lưu trữ: B.III Dạng đơn giản xử lý: B.IV Sơ qua cách thiết kế cấu trúc tập lệnh: IV.1 Cấu trúc lệnh có địa chỉ: IV.2 Cấu trúc lệnh có địa chỉ: IV.3 Cấu trúc lệnh có địa chỉ: IV.4 Cấu trúc lệnh có địa chỉ: IV.5 Cấu trúc lệnh không truy cập địa chỉ: B.V Các chế độ định địa chỉ: B.VI Cấu trúc lệnh CISC RISC: VI.1 Nêu vấn đề: VI.2 Thiết kế tập lệnh dựa CISC RISC: i Chu kì lệnh: ii So sánh CISC RISC: ii.a Kiến trúc tập lệnh RISC: ii.b Tổ chức tập lệnh RISC: ii.c Điểm mạnh xử lý dùng tập lệnh RISC: ii.d Tần số hoạt động tối đa RISC CISC: 10 ii.e Những điểm bất tiện RISC: 10 C Kiến trúc tổ chức ARM: 10 C.I Sơ lược tên gọi: 10 C.II Sự kế thừa cấu trúc: 10 II.1 Cấu trúc bản: 10 II.2 Mơ hình thiết kế ARM: 10 i Thanh ghi trạng thái chương trình tại(CPSR) 11 II.3 Cấu trúc load-store: 11 II.4 Tập lệnh ARM: 11 II.5 ARM C-Compiler: 12 D Lập trình hợp ngữ cho ARM: 12 D.I Lệnh xử lý liệu: 12 D.II Chỉ lệnh chuyển liệu: 13 D.III Định địa gián tiếp qua ghi: 13 D.IV Khởi tạo địa pointer: 13 D.V Định địa stack 13 D.VI Các lệnh điều khiển dòng lệnh: 13 D.VII Viết chương trình đơn giản: 13 ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu E Cách tổ chức thực thi tập lệnh ARM: 14 E.I E.II F Dịng chảy lệnh có tác vụ: 14 Dịng chảy lệnh có tác vụ: 14 Tập lệnh ARM: 15 F.I Kiểu liệu: 15 F.II Chế độ hoạt động: 15 F.III Thực thi điều kiện: 16 F.IV Ngắt phần mềm: 17 F.V Lệnh xử lý liệu: 17 V.1 Mã hóa nhị phân: 17 V.2 Phân tích: 17 i Opcode: 18 ii Điều kiện: 18 F.VI Lệnh nhân: 18 VI.1 Mã hóa nhị phân: 18 VI.2 Phân tích: 18 i Opcode: 18 ii Lệnh hợp ngữ: 19 F.VII Lệnh chuyển liệu: byte không dấu word: 19 VII.1 Mã hóa nhị phân: 19 VII.2 Lệnh hợp ngữ: 19 F.VIII Lệnh chuyển liệu: byte có dấu nửa word: 19 VIII.1 Mã hóa nhị phân: 19 VIII.2 Chú thích: 20 VIII.3 Lệnh hợp ngữ: 20 F.IX Lệnh chuyển liệu nhiều ghi: 20 IX.1 Mã hóa nhị phân: 20 IX.2 Chú thích: 21 IX.3 Lệnh hợp ngữ: 21 F.X Lệnh hoán đổi giá trị nhớ ghi: 21 X.1 Mã hóa nhị phân: 21 X.2 Chú thích: 21 X.3 Lệnh hợp ngữ: 21 X.4 Chú ý: 21 F.XI Lệnh chuyển giá trị từ ghi trạng thái vào ghi đa dụng: 21 XI.1 Mã hóa nhị phân: 21 XI.2 Chú thích: 21 XI.3 Lệnh hợp ngữ: 21 XI.4 Chú ý: 21 F.XII Lệnh chuyển giá trị từ ghi đa dụng vào ghi trạng thái: 21 XII.1 Mã hóa nhị phân: 21 XII.2 Lệnh hợp ngữ: 22 XII.3 Chú ý: 22 F.XIII i ii iii iv F.XIV G Vùng không dùng lệnh: 22 Số học: 22 Điều khiển: 22 Load-store: 22 Vùng lệnh không dùng tới: 23 Ghi chú: 23 Hỗ trợ kiến trúc ARM cho ngôn ngữ cấp cao: 23 ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu H Tập lệnh Thumb: 23 I Bộ nhớ cache: 23 I.I Cache gì?-Vì phải dùng cache: 23 I.II Một số hình ảnh cache: 23 J Kết luận: 24 K Tài lệu tham khảo chính: 24 Danh mục hình vẽ: Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình 1: Mơ hình máy tính số sử dụng chương trình lưu trữ 2: Cấu trúc chuẩn cho lệnh MU0 3: Ví dụ đường truyền liệu MU0 4: Cấu trúc lệnh có địa 5: Cấu trúc lệnh có địa 6: Cấu trúc lệnh có địa 7: Cấu trúc lệnh có địa 8: Cấu trúc lệnh không truy cập địa 9: Thực thi lệnh theo cấu trúc dòng chảy 10: Các ghi ARM 11 11: Cấu trúc ghi trạng thái chương trình 11 12: Cấu trúc công cụ hỗ trợ phát triển .12 13: Các lệnh toán học 12 14: Các lệnh logic .13 15: Tác vụ chuyển giá trị ghi 13 16: Chức so sánh 13 17: Chỉ lệnh chu kì máy sử dụng dịng chảy lệnh có tác vụ .14 18: Dòng chảy lệnh tác vụ áp dụng trường hợp 1chỉ lệnh có nhiều chu kì máy .14 19: Cách tổ chức dòng chảy lệnh có tác vụ với ARM9TDMI 15 20: Vị trí bit điều kiện lệnh 32bit .16 21: Ngắt phần mềm 17 22: Cấu trúc lệnh 17 23: Mã hóa nhị phân cho lệnh nhân 18 24: Mã hóa nhị phân cho cấu trúc truyền liệu dạng byte không dấu word 19 25: Mã hóa nhị phân chuyển liệu dạng byte có dấu nửa word 20 26: Mã hóa nhị phân lệnh chuyển liệu nhiều ghi 20 27: Mã hóa nhị phân lệnh đổi giá trị nhớ ghi 21 28: Mã hóa nhị phân lệnh chuyển giá trị ghi trạng thái vào ghi đa dụng 21 29: Mã hóa nhị phân lệnh chuyển giá trị ghi đa dụng vào ghi trạng thái 22 30: Vùng lệnh số học mở rộng 22 31: Vùng lệnh điều khiển mở rộng 22 32: Vùng lệnh chuyển liệu mở rộng 22 33: Vùng không định nghĩa mã lệnh 23 34: Cache dùng chung cho vùng nhớ liệu địa 23 35: Cache có vùng nhớ liệu địa tách rời 24 Danh mục bảng: Bảng Bảng Bảng Bảng Bảng Bảng Bảng 1: 2: 3: 4: 5: 6: 7: Bảng thống kê loại lệnh thường dùng Các chế độ hoạt động ARM sử dụng ghi 16 Các địa dùng cho hệ thống 16 Các điều kiện .17 Bảng Opcode 18 Giả lệnh hợp ngữ cho phép nhân 18 Mã hóa loại liệu 20 ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu A ARM - Đôi nét lịch sử hình thành phát triển: Ngày 26/4/1985, mẫu sản phẩm ARM sản xuất công ty kĩ thuật VLSI, SanJose, bang Califonia chuyển tới trung tâm máy tính Acorn Cambridge, Anh Quốc Một vài sau, chương trình thử nghiệm thành cơng họ khui sâm banh ăn mừng! Nửa thập niên sau đó, ARM phát triển nhanh chóng để làm nhân máy tính để bàn Acorn, tảng cho máy tính hỗ trợ giáo dục Anh Trong thập niên 1990, phát triển Acorn Limited, ARM thành thương hiệu đứng đầu giới ứng dụng sản phẩm nhúng đòi hỏi tính cao, sử dụng lượng giá thành thấp Chính nhờ trội thị phần thúc đẩy ARM liên tục phát triển cho nhiều phiên Những thành công quan trọng việc phát triển ARM thập niên sau này: o Giới thiệu ý tưởng định dạng lệnh nén lại (thumb) cho phép tiết kiệm lượng giá thành hệ thống nhỏ o Giới thiệu họ điều khiển ARM9, ARM10 ‘Strong ARM’ o Phát triển môi trường làm việc ảo ARM PC o Các ứng dụng cho hệ thống nhúng dựa nhân xử lý ARM ngày trở nên rộng rãi Hầu hết nguyên lý hệ thống chip (Systems on chip-SoC) cách thiết kế xử lý đại sử dụng ARM, ARM đưa số khái niệm Việc sử dụng trạng thái nhận lệnh-giải mã-thực thi chu kì máy mang tính quy phạm để thiết kế hệ thống xử lý thực Do đó, nhân xử lý ARM sử dụng rộng rãi hệ thống phức tạp B Sơ lược thiết kế nhân điều khiển: Việc thiết kế nhân điều khiển đa dụng mong ước hầu hết kĩ sư Điều đó, đòi hỏi nghiên cứu tỉ mỉ, chi tiết, đầy mâu thuẫn thỏa hiệp Trong phần này, ta bàn số khái niệm xung quanh việc thiết kế phần cứng cho nhân điều khiển, thiết kế tập lệnh, cấu trúc máy tính số thực thi lệnh dạng stored-program B.I Đôi nét thiết kế phần cứng: Máy tính thiết bị hoạt động tốc độ cao Những vi xử lý đại bao gồm đến vài triệu transistor chúng đóng ngắt đến hàng trăm triệu lần giây Tất chúng (Transistor) phải hồn hảo, chẳng có Transistor phép sai lệch hoạt động ngẫu nhiên, sai lệch nhỏ dù Transistor gây sai lệch cho hệ thống! Bạn tưởng tượng-so sánh đội quân tinh nhuệ thiện chiến huấn luyện công phu dàn quân khắp chiến tuyến, vị trí khơng chiến đấu làm đội quân thất thủ! Như thế, ta thấy phức tạp đến mức vi điều khiển! Tuy nhiên, công nghệ bắt đầu vào chế tạo bán dẫn kích thước micro, nano được, trình phát triển lâu dài, từ ống chân khơng, Transistor, vài Transistor, mạch tích hợp (IC) đến mạch tích hợp cao (VLSI) với vài triệu Transistor hiệu ứng trường chip đơn lẻ! B.II Cấu trúc máy tính số sử dụng chương trình lưu trữ: Xem hình sau: ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu Hình 1: Mơ hình máy tính số sử dụng chương trình lưu trữ Ta thích cách dễ hiểu nguyên lý hoạt động xử lý dạng này: o Bộ xử lý đưa địa cho ghi (PC) truy cập vào vùng nhớ, nhận lệnh thực thi, lệnh thực thi chứa địa liệu chương trình , ghi dùng địa để truy cập vào vùng nhớ để lấy liệu, liệu dùng để xử lý nhân tính tốn , kết cuối ghi ngược lại nhớ địa định trước địa trung gian, qua ghi tích lũy o Bạn tưởng tượng nhớ kho hàng, chứa tất đơn hàng hàng hóa vào sổ sách Tất hàng hóa bán thị trường theo trình tự đơn đặt hàng, người chủ quản lý biết số thứ tự đơn hàng Để bán sản phẩm, đọc số thứ tự đơn hàng, số thứ tự đại diện cho khách hàng cụ thể, người ta vào kho, đối chiếu số thứ tự đơn hàng để biết tên khách hàng, yêu cầu khách hàng Số hàng hóa, loại hàng hóa cần phải lấy… o Ta nói cụ thể số để dễ hình dung: Người chủ quản lý thực xong đơn hàng thứ 3, anh đọc tiếp: “Đến đơn hàng thứ 4” o Người ta vào kho hàng lấy đơn hàng thứ Trong đơn hàng thứ ghi: khách hàng Nguyễn Văn A, ông A cần mua 10 áo lơng thú, 100 quần bị Người quản lý nhìn vào đơn hàng đọc tiếp: “10 áo lông thú” o Anh phụ trách lô hàng áo lông thú vào kho lấy đủ số lượng yêu cầu Người quản lý đọc: “100 quần bò” o Anh phụ trách lơ hàng quần bị vào kho lấy số lượng o Người chủ lô hàng cho qua máy đếm loại hàng, đọc tên khách hàng đến nhận hàng tiếp tục đọc: “Đến đơn hàng thứ 5”…vv… Trong ví dụ trên, người quản lý làm nhiệm vụ ghi PC, đơn hàng lệnh thực thi, người quản lý kho hàng địa truy cập vào vùng nhớ liệu, máy đếm hàng làm nhiệm vụ ALU, để hoàn thành lệnh, ta phải truy cập nhớ liệu lần … Nếu ta làm việc ghi, có mức 0-1 ghi thay đổi sau lần truy cập vào vùng nhớ xử lý qua ALU ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu B.III Dạng đơn giản xử lý: Có thể gồm phần sau: i Program Counter (PC): ghi giữ địa lệnh ii Thanh ghi tích lũy (ACC): giữ giá trị liệu làm việc iii Đơn vị xử lý số học (ALU): thực thi lệnh nhị phân cộng, trừ, gia tăng… iv Thanh ghi lệnh (IR): giữ lệnh thực thi Nhân xử lý đơn giản MU0 phát triển đại học Manchester-Anh Quốc nhân xử lý có lệnh dài 16bit, với 12bit địa bit opcode; cấu trúc chuẩn cho lệnh có dạng: Hình 2: Cấu trúc chuẩn cho lệnh MU0 Ví dụ đơn giản thiết kế đường truyền liệu nhân xử lý MU0: Hình 3: Ví dụ đường truyền liệu MU0 Ta xét việc thiết kế cấp chuyển đổi mức ghi(RTL): PC đến lệnh cần thực thi, load vào IR, giá trị chứa IR đến vùng địa ô nhớ, nhận giá trị, kết hợp với giá trị chứa ACC qua đơn vị xử lý ALU để tạo giá trị mới, chứa vào ACC Mỗi lệnh vậy, tùy vào số lần truy cập nhớ mà tốn số chu kì xung nhịp tương đương Sau lệnh thực thi, PC tăng thêm B.IV Sơ qua cách thiết kế cấu trúc tập lệnh: IV.1 Cấu trúc lệnh có địa chỉ: Hình 4: Cấu trúc lệnh có địa Ví dụ: ADD d, s1, s2, next_i ;d := s1 +s2 IV.2 Cấu trúc lệnh có địa chỉ: Hình 5: Cấu trúc lệnh có địa Ví dụ: ADD d, s1, s2 ; d := s1 + s2 IV.3 Cấu trúc lệnh có địa chỉ: Hình 6: Cấu trúc lệnh có địa Ví dụ: ADD d, s1 ; d := d + s1 ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu IV.4 Cấu trúc lệnh có địa chỉ: Hình 7: Cấu trúc lệnh có địa Ví dụ: ADD s1 IV.5 ; accumulator := accumulator + s1 Cấu trúc lệnh khơng truy cập địa chỉ: Hình 8: Cấu trúc lệnh khơng truy cập địa Ví dụ: ADD ; top_of_stack := top_of_stack +next_on_stack B.V Các chế độ định địa chỉ: Các chế độ định địa bản, bạn tham khảo sách Vi xử lý thầy Hồ Trung Mỹ Có thể tùy nhà sản xuất đưa chế độ khác Tuy nhiên, mức B.VI Cấu trúc lệnh CISC RISC: Máy tính hiểu mức 0/1 transistor cụ thể, người sử dụng muốn thực chương trình đấy, phải nạp mã lệnh 0-1 vào nhớ cho máy tính Có cách để làm việc ấy: Viết dạng mã máy 0-1 nạp vào nhớ Cách khó thực thi Viết dạng tên gợi nhớ hợp ngữ, sau biên dịch mã máy, cấp gần với ngơn ngữ máy khó thực với chương trình phức tạp Tuy nhiên, cấu trúc gọn nhẹ Viết ngơn ngữ cấp cao, sau dùng trình biên dịch để dịch mã máy Cách dễ với người viết chương trình làm chương trình có dung lượng lớn viết ASM Và thách thức nhà sản xuất phần mềm, phần cứng bắt tay để chương trình biên dịch thật chuẩn tắc, nhỏ gọn, không tạo nhiều code trung gian VI.1 Nêu vấn đề: Trong suốt thập niên 1980, nhà thiết kế cố gắng thu hẹp khoảng cách ngôn ngữ cấp cao người ngôn ngữ máy, họ đưa cấu trúc lệnh phức tạpCISC, có chế độ định địa khác nhau, lệnh thực thi cần nhiều lần định địa để lấy liệu, đó, tốn nhiều chu kì xung nhịp cho lệnh Nếu việc giảm thiểu ranh giới tập lệnh vi điều khiển ngôn ngữ cấp cao cách hay để máy tính hoạt động hiệu quả, nhà thiết kế phải để tối ưu tốc độ xử lý? VI.2 Thiết kế tập lệnh dựa CISC RISC: Nếu muốn biết cách làm để vi xử lý hoạt động nhanh hơn, ta phải biết vi xử lý dùng hầu hết thời gian chúng vào việc gì? Chúng ta dễ nghĩ rằng: ‘Vi xử lý tất nhiên dùng hầu hết thời gian để tính toán’; nghĩa thời gian hầu hết ALU Thật ra, theo thống kê suy đốn hồn toàn sai lầm: Loại lệnh Sử dụng Chuyển liệu 43% Điều khiển dịng chảy 23% Tính tốn số học 15% So sánh 13% Phép toán logic 5% Khác 1% Bảng 1: Bảng thống kê loại lệnh thường dùng ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu i Chu kì lệnh: Thơng thường, để thực thi lệnh, q trình bao gồm bước sau: Nhận lệnh từ nhớ Giải mã lệnh, xác định tác động cần có kích thước lệnh Truy cập tốn hạng u cầu từ ghi Kết hợp toán hạng với để tạo thành kết hay địa nhớ Truy cập vào nhớ cho toán hạng liệu cần thiết Viết kết ngược lại băng ghi ii So sánh CISC RISC: ii.a Kiến trúc tập lệnh RISC: Có đặc điểm quan trọng sau: ◊ Kích thước lệnh cố định với vài định dạng ◊ Sử dụng kiến trúc load-store lệnh xử lý liệu hoạt động ghi cách ly với lệnh truy cập nhớ ◊ Gồm số lớn ghi đa dụng 32 bit, cho phép cấu trúc loadstore hoạt động hiệu ii.b Tổ chức tập lệnh RISC: ◊ Giải mã lệnh logic kết nối phần cứng ◊ Thực thi lệnh theo cấu trúc dịng chảy Hình 9: Thực thi lệnh theo cấu trúc dòng chảy ◊ Một lệnh thực thi chu kì xung nhịp ii.c Điểm mạnh xử lý dùng tập lệnh RISC: ◊ Kích thước miếng bán dẫn nhỏ hơn: xử lý đơn giản địi hỏi transistor hơn, đó, kích thước cần dùng nhỏ lại, dành vùng diện tích trống để tăng chức nhớ cache, chức quản lý nhớ, vv… ◊ Thời gian phát triển sản phẩm ngắn ◊ Cấu hình mạnh hơn: điều khó tin, nhiên, để ý lập luận: ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu • Những vật nhỏ có tần số hoạt động tự nhiên lớn • Khi ta đặt lệnh phức tạp, gần gũi với ngơn ngữ cấp cao, thế, vơ tình làm lệnh khác phức tạp lên, để thực thi lệnh cần tốn nhiều chu kì xung nhịp Trong đó, dùng RISC chu kì xung nhịp cho lệnh, ta phân nhỏ vấn đề phức tạp thành vấn đề đơn giản cách giải tốt ii.d Tần số hoạt động tối đa RISC CISC: ◊ Như ví von trên, RISC nhỉnh hơn, nhiên, có giai đoạn CISC có tần số xung nhịp lớn RISC, vậy, thời gian để hoàn tất lệnh CISC chậm RISC lệnh CISC cần nhiều chu kì xung nhịp để hồn tất ii.e Những điểm bất tiện RISC: ◊ Khơng phải RISC có điều thuận lợi, có vài bất cập, mà cụ thể là: • Mã lệnh RISC khơng phong phú CISC • Khơng thể thực thi mã lệnh x86 ◊ Điểm bất tiện thứ kể khó để sửa đổi, phải dùng phần mềm hỗ trợ sở cho RISC, nhiên, với máy tính IBM, bị từ chối ◊ Điểm bất tiện thứ phát sinh cấu trúc tập lệnh RISC cố định, trở nên nghiêm trọng phải giải cơng việc phức tạp Nếu khơng có nhớ phụ cache dẫn tới việc cần nhiều băng thơng nhớ chính, điều làm tiêu tốn nhiều lượng C Kiến trúc tổ chức ARM: C.I Sơ lược tên gọi: ARM lúc đầu đặt tên theo công ty Acorn ARM=Acorn RISC Machine (dịch môm na máy sử dụng tập lệnh đơn giản cơng ty Acorn) Sau này, có thêm nhiều công ty phát triển số lý khác, người ta thống gọi ARM=Advance RISC Machine C.II Sự kế thừa cấu trúc: Với mô hình RISC Berkeley RISC I II, Stanford MIPS, ARM kế thừa: II.1 Cấu trúc bản: Cấu trúc load-store Chỉ lệnh có chiều dài cố định Cấu trúc lệnh có địa Thay dùng chu kì xung nhịp cho tất lệnh, ARM thiết kế để cho tối giản số chu kì xung nhịp cho lệnh, tăng phức tạp cho lệnh đơn lẻ II.2 Mơ hình thiết kế ARM: Để phục vụ mục đích người dùng: r0-r14: 15 ghi đa dụng, r15 ghi PC, ghi trạng thái chương trình (CPSR) Các ghi khác giữ lại cho hệ thống ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu Hình 10: Các ghi ARM i Thanh ghi trạng thái chương trình tại(CPSR) Hình 11: Cấu trúc ghi trạng thái chương trình Thanh ghi CPSR người dùng sử dụng chứa bit điều kiện N: Negative- cờ bật bit cao kết xử lý ALU Z: Zero- cờ bật kết cuối ALU C: Carry- cờ bật kết cuối ALU lớn giá trị 32bit tràn • V: Overflow-cờ báo tràn sang bit dấu II.3 Cấu trúc load-store: Cũng hầu hết xử lý dùng tập lênh RISC khác, ARM sử dụng cấu trúc load-store Điều có nghĩa là: tất lệnh thực ghi Chỉ có lệnh copy giá trị từ nhớ vào ghi chép lại giá trị từ ghi vào nhớ có ảnh hưởng tới nhớ Các xử lý CISC cho phép giá trị ghi cộng với giá trị nhớ, đơi cịn cho phép giá trị nhớ cộng với giá trị ghi ARM không hỗ trợ cấu trúc lệnh dạng ‘từ nhớ đến nhớ’ Vì thế, tất lệnh ARM thuộc loại sau: Chỉ lệnh xử lý liệu: thay đổi giá trị ghi Chỉ lệnh truyền liệu: copy giá trị từ ghi vào nhớ chép giá trị từ nhớ vào ghi. Chỉ lệnh điều khiển dịng lệnh: Bình thường, ta thực thi lệnh chứa vùng nhớ liên tiếp, lệnh điều khiển dòng lệnh cho phép chuyển sang địa khác thực thi lệnh, tới nhánh cố định, lưu trở lại địa để phục hồi chuỗi lệnh ban đầu đè lên vùng code hệ thống II.4 Tập lệnh ARM: Tất lệnh ARM 32bit: • Có cấu trúc dạng load-store • • • ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu • • • • • Cấu trúc lệnh định dạng địa (nghĩa địa tốn hạng nguồn tốn hạng đích địa riêng biệt) Mỗi lệnh thực thi điều kiện Có lệnh load-store nhiều ghi đồng thời Có khả dịch bit kết hợp với thực thi lệnh ALU chu kì máy Thumb code II.5 ARM C-Compiler: Hình 12: Cấu trúc công cụ hỗ trợ phát triển D Lập trình hợp ngữ cho ARM: D.I Lệnh xử lý liệu: Lệnh xử lý liệu ARM cho phép thực thi lệnh số học, logic ghi Những phép tốn dạng có tóan tử tham gia sinh kết Trong tóan hạng nguồn, tốn hạng thứ ghi, giá trị tức thời, tóan hạng dịch bit trước tham gia vào phép tính số học mà tính chu kì máy +Tất tốn hạng có chiều dài 32bit +Nếu kết có chiều dài 32bit +ARM sử dụng cấu trúc lệnh có địa • Các lệnh tóan học Hình 13: Các lệnh tốn học ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu • Các lệnh logic • Tác vụ chuyển giá trị ghi • Chức so sánh: Hình 14: Các lệnh logic Hình 15: Tác vụ chuyển giá trị ghi Hình 16: Chức so sánh • … D.II Chỉ lệnh chuyển liệu: Chỉ lệnh chuyển liệu tương tự lệnh số học, có dạng chuyển liệu ghi, ghi địa trực tiếp o Chỉ lệnh load store ghi o Chỉ lệnh load store nhiều ghi o Chỉ lệnh trao đổi giá trị ghi D.III Định địa gián tiếp qua ghi: o Ví dụ: LDR r0, [r1] STR r0, [r1] ;r0 := mem32[r1] ;mem32[r1] := r0 D.IV Khởi tạo địa pointer: D.V Định địa stack D.VI Các lệnh điều khiển dòng lệnh: o Chỉ lệnh rẽ nhánh o Nhánh điều kiện vv… Do phần tương đối đơn giản, không muốn trọng vào nên ta lược bỏ qua Bạn xem thêm sách tiếng Anh D.VII Viết chương trình đơn giản: Xét chương trình sau: AREA HelloW,CODE,READONLY ;Khai bao vung code SWI_SwiteC EQU &0 ;Ki tu xuat o R0 SWI_Exit EQU &11 ;Ket thuc chuong trinh ENTRY ;Diem bao hieu vao chuong trinh START ADR R1,TEXT ;R1 chi den vung dia chi cua TEXT LOOP LDRB R0,[R1],#1 ;R0:=[R1];R1:=R1+1 CMP R0,#0 ;R0 chi toi gia tri cuoi hay chua SWINE SWI_WriteC ;Neu chua ket thuc in BNE LOOP ;thi quay nguoc lai vong lap SWI SWI_Exit ;Quay nguoc ve lai chuong trinh quan ly TEXT ="Hello World",&0a,&0d,0 ;Khai bao doan Text END ;Chuong trinh ket thuc ;Do không trọng tới ASM nên lược qua phần ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu E Cách tổ chức thực thi tập lệnh ARM: Cách tổ chức nhân ARM không thay đổi nhiều khoảng 1983-1995:đến ARM7sử dụng dòng chảy lệnh sử dụng tác vụ Từ 1995 trở sau, xuất vài nhân ARM giới thiệu có dịng chảy lệnh sử dụng tác vụ E.I Dòng chảy lệnh có tác vụ: Fetch-decode-Excute Hình 17: Chỉ lệnh chu kì máy sử dụng dịng chảy lệnh có tác vụ Hình 18: Dòng chảy lệnh tác vụ áp dụng trường hợp 1chỉ lệnh có nhiều chu kì máy E.II Dịng chảy lệnh có tác vụ: Thời gian để xử lý thực thi chương trình: Tprog = Ninst × CPI fclk Trong CPI số xung nhịp trung bình cần cho lệnh, Ninst số lệnh thực thi chương trình, fclk tần số xung nhịp Với cơng thức trên, ta có cách để giảm thời gian thực thi chương trình: +Tăng tần số xung nhịp: điều đòi hỏi trạng thái tác vụ dòng chảy lệnh đơn giản, và, đó, số tác vụ tăng thêm +Giảm CPI: điều đòi hỏi lệnh cần nhiều dòng chảy lệnh với tác vụ không đổi, tác vụ cần đơn giản hơn, kết hợp lại với ARM đưa cấu trúc dịng chảy lệnh có tác vụ, với cách mơ tựa cấu trúc von Neumann, với vùng nhớ liệu chương trình riêng biệt Từ cấu trúc lệnh có tác vụ chia nhỏ lại thành tác vụ làm cho chu kì xung nhịp thực công việc đơn giản trạm, cho phép tăng chu kì xung nhịp hệ thống Sự tách rời nhớ chương trình nhớ liệu cho phép giảm đáng kể tài nguyên chiếm lệnh chu kì máy Hình 19: Cách tổ chức dịng chảy lệnh có tác vụ với ARM9TDMI F Tập lệnh ARM: F.I Kiểu liệu: ARM hỗ trợ loại liệu: +8 bit có dấu khơng dấu +16 bit có dấu khơng dấu +32 bit có dấu khơng dấu Như phần đề cập, tóan tử ARM có 32 bit, vậy, làm việc với liệu ngắn hơn,các bit cao toán tử thay bit ‘0’ F.II Chế độ hoạt động: ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu Bảng 2: Các chế độ hoạt động ARM sử dụng ghi Bảng 3: Các địa dùng cho hệ thống F.III Thực thi điều kiện: Điều kiện cần thực thi nằm bit cao lệnh Hình 20: Vị trí bit điều kiện lệnh 32bit Tổ hợp điều kiện định bit nằm ghi trạng thái chương trình Opcode [31:28] 0000 0001 Mnemonic extension EQ NE Bằng Không Z=1 Z=0 0010 CS/HS Có nhớ, cao số khơng có dấu C=1 0011 CC/LO Xóa cờ nhớ, thấp số có dấu C=0 0100 Ml Trừ/âm N=1 0101 0110 PL VS Cộng/dương hay zero Cờ tràn N=0 V=1 0111 VC Không tràn V=0 1000 HI Lớn số không dấu C=1 Z=0 1001 LS Bé số không dấu C=0 Z =1 1010 GE Lớn hoạc bàng số có dấu N=V 1011 LT Nhỏ số có dấu N≠V 1100 GT Lớn số có dấu Z=0 N=V 1101 LE- Nhỏ số có dấu Z=1 N≠V 1110 AL Luôn Tùy định 1111 NV Khơng sử dụng! Khơng tồn Giải thích ©2006 Khoa học tuổi trẻ Trạng thái cờ để thực thi Giới thiệu ARM – Bùi Trung Hiếu Bảng 4: Các điều kiện F.IV Ngắt phần mềm: Các lệnh ngắt phần mềm gọi chương trình giám sát Nó đưa vi xử lý vào chế độ giám sát địa 0x0008 Hình 21: Ngắt phần mềm Trường 24bit vector không ảnh hưởng tới hoạt động lệnh tác động tới code hệ thống Nếu vào chế độ giám sát, vi xử lý sẽ: +Lưu địa PC vào ghi r14 +Lưu giá trị ghi trạng thái chương trình chương trình vào ghi SPSR +Vào chế độ giám sát khơng cho phép ngắt bình thường xảy cách gán CPSR[4:0]=100112 CPSR[7]=1 +gán PC=0x08 thực thi lệnh Để trở lại chương trình bình thường sau SWI: +Copy giá trị ghi r14 vào PC +Lấy lại giá trị CPSR từ SPSR F.V Lệnh xử lý liệu: V.1 Mã hóa nhị phân: Xem cấu trúc lệnh xử lý liệu: Hình 22: Cấu trúc lệnh V.2 Phân tích: Như nói phần trước, lệnh ARM có 32bit, tốn tử nguồn tóan tử đích Tốn tử nguồn thứ ghi, tốn tử nguồn thứ ghi, ghi dịch(hoặc xoay) bit, giá trị cụ thể ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu i Opcode: Có tất 16 lệnh opcode=[00002-11112]; tham khảo cụ thể bàng bảng sau: Opcode Giả lệnh Ý nghĩa Tác động 0000 0001 AND EOR Logical bit-wise AND Logical bit-wise exclusive OR Rd:=Rn AND Op2 Rd := Rn EOR Op2 0010 SUB Subtract Rd := Rn – Op2 0011 RSB Reverse subtract Rd := Op2 - Rn 0100 ADD Add Rd := Rn + Op2 0101 ADC Add with carry Rd := Rn + Op2 + C 0110 SBC Subtract with carry Rd := Rn – Op2 + C - 0111 RSC Reverse subtract with carry Rd := Op2 - Rn + C - 1000 TST Test Sec onRn AND Op2 1001 TEQ Test equivalence Sec on Rn EOR Op2 1010 CMP Compare Sec on Rn - Op2 1011 CMN Compare negated Sec on Rn + Op2 1100 ORR Logical bit-wise OR Rd := Rn OR Op2 1101 MOV 1110 BIC 1111 MVN Move Rd := Op2 Bit clear Rd:=Rn ANDNOT Op2 Move negated Rd:=NOT Op2 Bảng 5: Bảng Opcode ii Điều kiện: Bị ảnh hưởng bit cờ, trạng thái cờ quy định: +Cờ N=1 kết âm +cờ Z=1 kết +Cờ C bật kết có nhớ từ ALU(ADD, ADC, SUB, SBC, RSB, RSC, CMP, CMN) hay từ kết phép dịch bit Nếu phép dịch bit, cờ C giữ giá trị trước +Cờ V bị ảnh hưởng phép tốn số học V=1 có tràn từ bit 30 sang 31 Nó quan trọng phép tốn học bù có dấu F.VI Lệnh nhân: VI.1 Mã hóa nhị phân: Hình 23: Mã hóa nhị phân cho lệnh nhân VI.2 Phân tích: i Opcode: Giả lệnh hợp ngữ ghi từ 21-23 cho bảng sau: Opcode [23:21] 000 001 Mnemonic MUL MLA Ý nghĩa Tác động Nhân kết 32-bit Nhân -tích lũy cho giá trị kết 32 bit Rd:=(Rm*Rs)[31:0] Rd:=(Rm*Rs + Rn)[31:0] 100 UMULL Nhân không dấu 64bit RdHi: RdLo := Rm * Rs 101 UMLAL Nhân tích lũy giá trị không dấu 64bit RdHi: RdLo += Rm * Rs 110 SMULL Nhân có dấu 64 bit RdHi: RdLo := Rm * Rs 111 SMLAL Nhân tích lũy giá trị 64bit RdHi: RdLo+=Rm*Rs Bảng 6: Giả lệnh hợp ngữ cho phép nhân ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu ii Lệnh hợp ngữ: MUL{}{S} Rd, Rm, Rs MLA{}{S} Rd, Rm, Rs, Rn {}{S} RdHi, RdLo, Rm, Rs với lệnh(UMULL, UMLAL, SMULL, SMLAL) F.VII Lệnh chuyển liệu: byte khơng dấu word: VII.1 Mã hóa nhị phân: Hình 24: Mã hóa nhị phân cho cấu trúc truyền liệu dạng byte không dấu word VII.2 Lệnh hợp ngữ: Dạng định số trước: LDRlSTR{}{B} Rd, [Rn, ]{!} Dạng định số sau: LDRlSTR{}{B}{T} Rd, [Rn], Dạng tương đối nhờ ghi PC: LDRlSTR{}{B} Rd, LABEL F.VIII Lệnh chuyển liệu: byte có dấu nửa word: VIII.1 Mã hóa nhị phân: ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu Hình 25: Mã hóa nhị phân chuyển liệu dạng byte có dấu nửa word VIII.2 Chú thích: Bảng 7: Mã hóa loại liệu Bit S H cho biết loại liệu truyền quy ước bảng VIII.3 Lệnh hợp ngữ: Định dạng số trước: LDR|STR{}H|SHI SB Rd, [Rn, ] { ! } Định dạng số sau: LDRlSTR{}H|SHlSB Rd, [Rn], F.IX Lệnh chuyển liệu nhiều ghi: IX.1 Mã hóa nhị phân: Hình 26: Mã hóa nhị phân lệnh chuyển liệu nhiều ghi ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu IX.2 Chú thích: Danh sách ghi bao gồm mảng 16 bit thay cho 16 ghi từ R0 đến R15 U=1 địa tăng ngược lại, P=1, địa tăng trước ngược lại IX.3 Lệnh hợp ngữ: LDMISTM{} Rn{!}, F.X Lệnh hoán đổi giá trị nhớ ghi: X.1 Mã hóa nhị phân: Hình 27: Mã hóa nhị phân lệnh đổi giá trị nhớ ghi X.2 Chú thích: B=1=>load byte khơng dấu, B=0=>load word ô nhớ định địa Rn tới Rd, chứa giá trị từ Rm vào ô nhớ tương ứng Rd Rm ghi X.3 Lệnh hợp ngữ: SWP{}{B} Rd, Rm,Rn X.4 Chú ý: +Thanhghi PC không dùng lệnh +Thanh ghi Rn phải khác với ghi Rm ghi Rd F.XI Lệnh chuyển giá trị từ ghi trạng thái vào ghi đa dụng: XI.1 Mã hóa nhị phân: Hình 28: Mã hóa nhị phân lệnh chuyển giá trị ghi trạng thái vào ghi đa dụng XI.2 Chú thích: R=1=>Rd=SPSR R=0=>Rd=CPSR XI.3 Lệnh hợp ngữ: MRS{} Rd, CPSR MRS{} Rd, SPSR XI.4 Chú ý: +Chỉ truy cập giá trị SPSR nhờ lệnh +Khi chỉnh sửa giá trị CPSR SPSR phải ý bit không sử dụng F.XII Lệnh chuyển giá trị từ ghi đa dụng vào ghi trạng thái: XII.1 Mã hóa nhị phân: ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu Hình 29: Mã hóa nhị phân lệnh chuyển giá trị ghi đa dụng vào ghi trạng thái XII.2 Lệnh hợp ngữ: MSR{} CPSR_f, # MSR{}, SPSR_f, # MSR{} CPSR_, Rm MSR{} SPSR_, Rm Với : • c – Điều khiển field-PSR[7:0] • x – Phần mở rộng field-PSR[15:8] (không sử dụng mơ hình ARMs tại) • s - trạng thái field - PSR[23:16] (khơng sử dụng mơ hình ARMs tại) • f- Cờ field -PSR[31:24] XII.3 Chú ý: +Người lập trình khơng thay đổi giá trị CPSR[23:0] +Tránh truy cập SPSR không thật cần thiết F.XIII Vùng không dùng lệnh: i Số học: Hình 30: Vùng lệnh số học mở rộng ii Điều khiển: Hình 31: Vùng lệnh điều khiển mở rộng iii Load-store: Hình 32: Vùng lệnh chuyển liệu mở rộng ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu iv Vùng lệnh không dùng tới: Hình 33: Vùng khơng định nghĩa mã lệnh F.XIV Ghi chú: Để biết thêm chi tiết khoa học phần này, bạn đọc File: Assemler Guide ARM Developer Suite có trang http://www.arm.com load G Hỗ trợ kiến trúc ARM cho ngôn ngữ cấp cao: H Tập lệnh Thumb: I Bộ nhớ cache: Phần này, ta tóm lược xem thử lại dùng nhớ phụ cache? Nó giúp ích cho ta? I.I Cache gì?-Vì phải dùng cache: Nói cách nhanh chóng đơn giản nhất, cache nhớ trung gian nhớ ghi đa dụng, có đáp ứng nhanh, chứa dịng lệnh hay dùng Khi mà việc truy cập địa hay giá trị vào nhớ DRAM ROM bị giới hạn đáp ứng phần cứng, cache coi giải pháp tốt để thích nghi Cấu trúc nhớ cache phân loại riêng biệt, loại chứa chung vùng liệu lệnh, loại tách rời chúng thành nhớ riêng biệt, Ta thường gọi cấu trúc von Neuman cấu trúc Harvard I.II Một số hình ảnh cache: Hình 34: Cache dùng chung cho vùng nhớ liệu địa ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu Hình 35: Cache có vùng nhớ liệu địa tách rời J Kết luận: Trong phần trên, xét qua cách khái quát ARM, từ lịch sử hình thành-phát triển đến số diễn tả phần cứng-phần mềm Dù cố gắng kiến thức có giới hạn nên cịn nhiều sai sót, mong bạn lượng thứ! Trong sau, tơi cụ thể vào lập trình với LPC2214, sử dụng chương trình Keil-uV3 tool ARM Mọi đóng góp trao đổi xin gửi về: Bùi Trung Hiếu Email : buitrunghieu@khvt.com Cell : (+84)98.3210.906 YM : khvt_sites K Tài lệu tham khảo chính: ARM-SoC Architecture - Steve Furber- Addison Wesley Publishing-ISBN: 0-201-67519-6 ARM Developer Suite -Assemler Guide – ©2001 ARM Limited ©2006 Khoa học tuổi trẻ ... giá thành hệ thống nhỏ o Giới thiệu họ điều khiển ARM9 , ARM1 0 ‘Strong ARM? ?? o Phát triển môi trường làm việc ảo ARM PC o Các ứng dụng cho hệ thống nhúng dựa nhân xử lý ARM ngày trở nên rộng rãi... phần ©2006 Khoa học tuổi trẻ Giới thiệu ARM – Bùi Trung Hiếu E Cách tổ chức thực thi tập lệnh ARM: Cách tổ chức nhân ARM không thay đổi nhiều khoảng 1983-1995:đến ARM7 sử dụng dòng chảy lệnh sử... rời nhớ chương trình nhớ liệu cho phép giảm đáng kể tài nguyên chiếm lệnh

Ngày đăng: 25/01/2014, 18:20

Hình ảnh liên quan

Hình 1: Mô hình máy tính số sử dụng chương trình lưu trữ - Tài liệu Giới thiệu ARM ppt

Hình 1.

Mô hình máy tính số sử dụng chương trình lưu trữ Xem tại trang 6 của tài liệu.
Hình 3: Ví dụ về đường truyền dữ liệu của MU0 - Tài liệu Giới thiệu ARM ppt

Hình 3.

Ví dụ về đường truyền dữ liệu của MU0 Xem tại trang 7 của tài liệu.
Hình 2: Cấu trúc chuẩn cho chỉ lệnh của MU0 - Tài liệu Giới thiệu ARM ppt

Hình 2.

Cấu trúc chuẩn cho chỉ lệnh của MU0 Xem tại trang 7 của tài liệu.
Hình 8: Cấu trúc chỉ lệnh không truy cập địa chỉ - Tài liệu Giới thiệu ARM ppt

Hình 8.

Cấu trúc chỉ lệnh không truy cập địa chỉ Xem tại trang 8 của tài liệu.
Hình 10: Các thanh ghi của ARM - Tài liệu Giới thiệu ARM ppt

Hình 10.

Các thanh ghi của ARM Xem tại trang 11 của tài liệu.
Hình 12: Cấu trúc của bộ công cụ hỗ trợ phát triển. - Tài liệu Giới thiệu ARM ppt

Hình 12.

Cấu trúc của bộ công cụ hỗ trợ phát triển Xem tại trang 12 của tài liệu.
Hình 14: Các lệnh logic - Tài liệu Giới thiệu ARM ppt

Hình 14.

Các lệnh logic Xem tại trang 13 của tài liệu.
Hình 17: Chỉ lệnh một chu kì máy sử dụng dòng chảy lệnh có 3 tác vụ - Tài liệu Giới thiệu ARM ppt

Hình 17.

Chỉ lệnh một chu kì máy sử dụng dòng chảy lệnh có 3 tác vụ Xem tại trang 14 của tài liệu.
Hình 19: Cách tổ chức dòng chảy lệnh có 5 tác vụ với ARM9TDMI - Tài liệu Giới thiệu ARM ppt

Hình 19.

Cách tổ chức dòng chảy lệnh có 5 tác vụ với ARM9TDMI Xem tại trang 15 của tài liệu.
Bảng 2: Các chế độ hoạt động của ARM và sử dụng thanh ghi - Tài liệu Giới thiệu ARM ppt

Bảng 2.

Các chế độ hoạt động của ARM và sử dụng thanh ghi Xem tại trang 16 của tài liệu.
Bảng 3: Các địa chỉ dùng cho hệ thống - Tài liệu Giới thiệu ARM ppt

Bảng 3.

Các địa chỉ dùng cho hệ thống Xem tại trang 16 của tài liệu.
Hình 21: Ngắt phần mềm - Tài liệu Giới thiệu ARM ppt

Hình 21.

Ngắt phần mềm Xem tại trang 17 của tài liệu.
Có tất cả 16 lệnh opcode=[00002-11112]; tham khảo cụ thể bàng bảng sau: - Tài liệu Giới thiệu ARM ppt

t.

ất cả 16 lệnh opcode=[00002-11112]; tham khảo cụ thể bàng bảng sau: Xem tại trang 18 của tài liệu.
Bảng 5: Bảng Opcode - Tài liệu Giới thiệu ARM ppt

Bảng 5.

Bảng Opcode Xem tại trang 18 của tài liệu.
Hình 24: Mã hóa nhị phân cho cấu trúc truyền dữ liệu dạng byte không dấu hoặc word - Tài liệu Giới thiệu ARM ppt

Hình 24.

Mã hóa nhị phân cho cấu trúc truyền dữ liệu dạng byte không dấu hoặc word Xem tại trang 19 của tài liệu.
Hình 25: Mã hóa nhị phân chuyển dữ liệu dạng byte có dấu và nửa word - Tài liệu Giới thiệu ARM ppt

Hình 25.

Mã hóa nhị phân chuyển dữ liệu dạng byte có dấu và nửa word Xem tại trang 20 của tài liệu.
Bảng 7: Mã hóa loại dữ liệu - Tài liệu Giới thiệu ARM ppt

Bảng 7.

Mã hóa loại dữ liệu Xem tại trang 20 của tài liệu.
Hình 27: Mã hóa nhị phân chỉ lệnh đổi giá trị của bộ nhớ và thanh ghi - Tài liệu Giới thiệu ARM ppt

Hình 27.

Mã hóa nhị phân chỉ lệnh đổi giá trị của bộ nhớ và thanh ghi Xem tại trang 21 của tài liệu.
Hình 29: Mã hóa nhị phân của lệnh chuyển giá trị thanh ghi đa dụng vào thanh ghi trạng thái - Tài liệu Giới thiệu ARM ppt

Hình 29.

Mã hóa nhị phân của lệnh chuyển giá trị thanh ghi đa dụng vào thanh ghi trạng thái Xem tại trang 22 của tài liệu.
• x– Phần mở rộng của field-PSR[15:8] (không sử dụng ở mô hình ARMs hiện tại). • s - trạng thái field - PSR[23:16] (không sử dụng ở mô hình ARMs hiện tại) - Tài liệu Giới thiệu ARM ppt

x.

– Phần mở rộng của field-PSR[15:8] (không sử dụng ở mô hình ARMs hiện tại). • s - trạng thái field - PSR[23:16] (không sử dụng ở mô hình ARMs hiện tại) Xem tại trang 22 của tài liệu.
Hình 33: Vùng không được định nghĩa trong mã lệnh - Tài liệu Giới thiệu ARM ppt

Hình 33.

Vùng không được định nghĩa trong mã lệnh Xem tại trang 23 của tài liệu.
Hình 35: Cache có vùng nhớ dữ liệu và địa chỉ tách rời nhau <C ấu trúc Harvard> - Tài liệu Giới thiệu ARM ppt

Hình 35.

Cache có vùng nhớ dữ liệu và địa chỉ tách rời nhau <C ấu trúc Harvard> Xem tại trang 24 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan