Ýtưởng của nhà sản xuất lõi ARM là sao cho người sử dụng có thể ghép lõiARM với một số bộ phận tùy chọn nào đó để tạo ra một CPU hoàn chỉnh,một loại CPU mà có thể tạo ra trên những nhà m
Trang 1TRƯƠNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ
HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ
BÀI BÁO CÁO
SO SÁNH BỘ VI XỬ LÝ ARM VÀ INTEL X86
THÀNH PHỐ HÒ CHÍ MINH, THÁNG 11 NĂM 2016
Trang 2MỤC LỤC
Trang 3I. ARM
1. Cấu Trúc ARM
- Cấu trúc ARM (viết tắt từ tên gốc là Advanced RISC Machine) là một loại
cấu trúc vi xử lý 32 bit và 64 bit kiểu RISC được sử dụng rộng rãi trong cácthiết kế nhúng Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARMchiếm ưu thế trong các sản phẩm điện tử di động, mà với các sản phẩm nàyviệc tiêu tán công suất thấp là một mục tiêu thiết kế quan trọng hàng đầu
- Ngày nay, hơn 75% CPU nhúng 32-bit là thuộc họ ARM, điều này khiếnARM trở thành cấu trúc 32-bit được sản xuất nhiều nhất trên thế giới CPUARM được tìm thấy khắp nơi trong các sản phẩm thương mại điện tử, từthiết bị cầm tay (PDA, điện thoại di động, máy đa phương tiện, máy trò chơicầm tay, và máy tính cầm tay) cho đến các thiết bị ngoại vi máy tính (ổ đĩacứng, bộ định tuyến để bàn.) Một nhánh nổi tiếng của họ ARM là các vi xử
lý Xscale của Intel
- Nhóm thiết kế hoàn thành việc phát triển mẫu gọi là ARM1 vào năm 1985,
và vào năm sau, nhóm hoàn thành sản phẩm ‘’thực’’ gọi là ARM2 ARM2 cótuyến dữ liệu 32-bit, không gian địa chỉ 26-bit tức cho phép quản lý đến 64Mbyte địa chỉ và 16 thanh ghi 32-bit Một trong những thanh ghi này đóngvai trò là bộ đếm chương trình với 6 bit cao nhất và 2 bit thấp nhất lưu giữcác cờ trạng thái của bộ vi xử lý Có thể nói ARM2 là bộ vi xử lý 32-bit khảdụng đơn giản nhất trên thế giới, với chỉ gồm 30.000 transistor (so với bộ vi
xử lý lâu hơn bốn năm của Motorola là 68000 với khoảng 68.000 transistor)
Sự đơn giản như vậy có được nhờ ARM không có vi chương trình (mà chiếmkhoảng ¼ đến 1/3 trong 68000) và cũng giống như hầu hết các CPU vào thời
đó, không hề chứa cache Sự đơn giản này đưa đến đặc điểm tiêu thụ công
Trang 4suất thấp của ARM, mà lại có tính năng tốt hơn cả 286 Thế hệ sau, ARM3,được tạo ra với 4KB cache và có chức năng được cải thiện tốt hơn nữa.
- Vào những năm cuối thập niên 80, hãng máy tính Apple Computer bắt đầuhợp tác với Acorn để phát triển các thế hệ lõi ARM mới Công việc này trởnên quan trọng đến nỗi Acorn nâng nhóm thiết kế trở thành một công ty mớigọi là Advanced RISC Machines Vì lý do đó bạn thường được giải thíchARM là chữ viết tắt của Advanced RISC Machines thay vì Acorn RISCMachine Advanced RISC Machines trở thành công ty ARM Limited khicông ty này được đưa ra sàn chứng khoán London và NASDAQ năm 1998
- Kết quả sự hợp tác này là ARM6 Mẫu đầu tiên được công bố vào năm 1991
và Apple đã sử dụng bộ vi xử lý ARM 610 dựa trên ARM6 làm cơ sở choPDA hiệu Apple Newton Vào năm 1994, Acorn dùng ARM 610 làm CPUtrong các máy vi tính RiscPC của họ
- Trải qua nhiều thế hệ nhưng lõi ARM gần như không thay đổi kích thước.ARM2 có 30.000 transistors trong khi ARM6 chỉ tăng lên đến 35.000 Ýtưởng của nhà sản xuất lõi ARM là sao cho người sử dụng có thể ghép lõiARM với một số bộ phận tùy chọn nào đó để tạo ra một CPU hoàn chỉnh,một loại CPU mà có thể tạo ra trên những nhà máy sản xuất bán dẫn cũ vàvẫn tiếp tục tạo ra được sản phẩm với nhiều tính năng mà giá thành vẫn thấp
- Thế hệ thành công nhất có lẽ là ARM7TDMI với hàng trăm triệu lõi được sửdụng trong các máy điện thoại di động, hệ thống video game cầm tay, vàSega Dreamcast Trong khi công ty ARM chỉ tập trung vào việc bán lõi IP,cũng có một số giấy phép tạo ra bộ vi điều khiển dựa trên lõi này
- Dreamcast đưa ra bộ vi xử lý SH4 mà chỉ mượn một số ý tưởng từ ARM(tiêu tán công suất thấp, tập lệnh gọn …) nhưng phần còn lại thì khác vớiARM Dreamcast cũng tạo ra một chip xử lý âm thanh được thiết kế bởiYamaha với lõi ARM7 Bên cạnh đó, Gameboy Advance của Nintendo, dùngARM7TDMI ở tần số 16,78 MHz
- Hãng DEC cũng bán giấy phép về lõi cấu trúc ARM (đôi khi chúng ta có thể
bị nhầm lẫn vì họ cũng sản xuất ra DEC Alpha) và sản xuất ra thế hệ StrongARM Hoạt động ở tần số 233 MHz mà CPU này chỉ tiêu tốn khoảng 1 wattcông suất (những đời sau còn tiêu tốn ít công suất hơn nữa) Sau những kiệntụng, Intel cũng được chấp nhận sản xuất ARM và Intel đã nắm lấy cơ hội
Trang 5này để bổ sung vào thế hệ già cỗi i960 của họ bằng Strong ARM Từ đó,Intel đã phát triển cho chính họ một sản phẩm chức năng cao gọi tên làXscale.
3. Chuẩn Giấy Phép ARM
- Cấu trúc ARM được công ty Anh ARM Holding đăng ký bản quyền Pháttriển đầu tiên vào những năm 1980, đến trong năm 2013 nó là kiến trúc được
sử dụng phổ biến nhất Trong năm 2011 các nhà sản xuất chip dựa trên kiếntrúc ARM đã báo cáo 7.9 tỉ bộ vi xử lý ARM đã được mua, hiện diện trong95% smartphone, 90% ổ đĩa cứng,40% truyền hình kĩ thuật số và set top box,15% trong vi điều khiển,20% trong máy tính di động
- Một mình ARM Holding không sản xuất chip điện tử, nhưng nó đăng kí bảnquyền của nó đến nhà sản xuất bán dẫn.Bộ vi xử lý và hệ thống trên chip dựatrên kiến trúc ARM bao gồm Qualcomm Snapdragon, nVidia Tegra,MediaTek và Texas Instruments OMAP
Trang 6cả server thậm chí siêu máy tính Vì tính phổ biến của nó và hỗ trợ tài liệu rấttốt từ Intel nên x86 được rất nhiều lập trình phần mềm viết chương trìnhchạy trên nó Phần mềm được viết cho x86 bao gồm các nền OS: MS DOS,Window, Linux,BSD và các biến thể Unix.
- Kiến trúc x86 không phổ biến hoặc phù hợp lắm với hệ thống nhúng Nếukiến trúc x86 được Intel gọi là IA-32 thì Intel còn có thế hệ không cùng kiếntrúc là IA-64 hay Itanium Itanium có sự tiến bộ hơn so với x86 với thiết kếban đầu là 64 bit Ngoài Intel sản xuất chip kiến trúc x86 còn có: AMD, VIA
1. Kiến Trúc X86
- Thuật ngữ x86 chỉ đến họ kiến trúc tập lệnh dựa trên bộ vi xử lý 8086 Thuậtngữ x86 lấy từ hai số cuối của họ 8086 Rất nhiều thay đổi và mở rộng đượcthêm vào kiến trúc x86 qua nhiều năm Kiến trúc này được hiện thực trong
bộ vi xử lý từ Intel, AMD, VIA và nhiều tổ chức khác
- Như thuật ngữ trở thành phổ biến sau sự giới thiệu của 80386, nó thườnghàm ý nhị phân tương đương với bộ tập lệnh 32 bit của 80386 Điều này đôikhi khẳng định x86-32 tách biệt với gốc 16 bit x86-16 hoặc từ 64 bit x86-64.Mặc dù bộ vi xử lý x86 sử dụng trong máy tính cá nhân mới và máy chủ
- Mặc dù 8086 chủ yếu phát triển cho hệ thống nhúng và máy tính nhỏ, dòngx86 sớm phát triển tính năng và sức mạnh xử lý Ngày nay x86 phổ biến cảmáy tính cá nhân trạm và di động và thay thế máy tính tầm trung và máychủ,trạm dựa trên RISC Một lượng lớn phần mềm bao gồm hệ điều hànhnhư MS DOS, Windows, Linux, BSD, Solaris và Mac OS X hỗ trợ phầncứng x86
Trang 7- 8086 thực tế là chế độ thực của bộ vi xử lý ngày nay.
- Kiến trúc x86 có độ dài chỉ lệnh không cố định, chủ yếu hai mục đích củathiết kế CISC khẳng định tương thích ngược Bộ tập lệnh không phải thuộcloại CISC đặc trưng nào tuy nhiên, cơ bản mở rộng có tính vị nhân hóa củaphiên bản đơn giản 8 bit 8008,8080 Một byte có thể đánh địa chỉ được và hỗtrợ 2 byte được lưu trong bộ nhớ với trật tự nhỏ về cuối Được truy xuất bộnhớ đến địa chỉ không thẳng hàng với kích thước từ Các phép toán có thểthực hiện với 8, 16, 32, 64 bit tùy theo thế hệ kiến trúc Thực tế bộ tập chỉlệnh không được cải thiện tốt hơn cho việc lập trình Opcode chính của x86
có thể lên đến 3 byte mang lại khá linh động
2. Tổng Quan
- Trong những năm 1980 và đầu những năm 1990, khi 8088 và 80286 vẫn còn
sử dụng phổ biến, x86 hạn thường đại diện bất kỳ 8086 CPU tương thích.Hôm nay, tuy nhiên, x86 thường ngụ ý một khả năng tương thích nhị phâncũng với 32-bit tập lệnh của 80386 Điều này là do thực tế là tập lệnh này đãtrở thành một cái gì đó của một mẫu số chung thấp nhất cho nhiều hệ điềuhành hiện đại và có lẽ cũng vì hạn trở nên phổ biến sau khi sự ra đời của
80386 vào năm 1985
- Một vài năm sau khi giới thiệu của 8086 và 8088, Intel đã thêm một số phứctạp để đề án đặt tên của nó và các thuật ngữ như "iAPX" của tham vọngnhưng xấu số Intel iAPX 432 bộ xử lý đã được thử nghiệm trên 8.086 giađình thành công hơn của chip, áp dụng như một loại tiền tố hệ thống cấp.Một 8086 hệ thống , bao gồm cả coprocessors như 8087 và 8089 , cũng nhưchip hệ thống Intel cụ thể đơn giản hơn, do đó được mô tả như một iAPX 86
hệ thống Cũng có những từ ngữ iRMX (cho các hệ điều hành) , iSBC (đốivới các máy tính đơn tấm mạch), và iSBX (đối với Ban multimodule dựatrên 8086 kiến trúc) - tất cả cùng nhau dưới tiêu đề Microsystem 80 Tuynhiên, đề án đặt tên này khá tạm thời, kéo dài trong một vài năm trong nhữngnăm đầu thập niên 1980
- Mặc dù 8086 chủ yếu được phát triển cho các hệ thống nhúng và đa ngườidùng hoặc người dùng đơn nhỏ máy tính, chủ yếu là để đối phó với những
Trang 8thành công 8080-tương thích Zilog Z80 , dòng x86 sớm lớn trong tính năng
và sức mạnh xử lý Hôm nay, x86 là phổ biến trong cả hai máy tính cá nhâncủa văn phòng phẩm và di động, và cũng được sử dụng trong các máy tínhtầm trung , máy trạm , máy chủ và mới nhất siêu máy tính cụm của Top500danh sách Một số lượng lớn các phần mềm, bao gồm cả hệ điều hành (HĐH)như DOS , của Windows , Linux , BSD , Solaris và OS X , chức năng vớiphần cứng dựa trên x86
- X86 hiện đại là khá phổ biến trong các hệ thống nhúng , tuy nhiên, và nhỏđiện năng thấp ứng dụng (sử dụng pin nhỏ) cũng như các thị trường bộ vi xử
lý với chi phí thấp, chẳng hạn như đồ gia dụng và đồ chơi, thiếu thốn mọimặt x86 đáng kể Đơn giản 8-bit và 16-bit kiến trúc dựa trên phổ biến ở đây,mặc dù tương thích x86 VIA C7 , VIA Nano , AMD 's Geode , Athlon Neo
và Intel Atom là những ví dụ của 32 và 64-bit thiết kế được sử dụng trongmột số tương đối năng lượng thấp và chi phí thấp phân đoạn
- Đã có nhiều nỗ lực, bao gồm cả bản thân Intel, kết thúc sự thống trị thịtrường của các "thanh nha" x86 kiến trúc được thiết kế trực tiếp từ bộ vi xử
lý 8-bit đơn giản đầu tiên Các ví dụ của việc này là iAPX 432 (một dự ánban đầu được đặt tên là "Intel 8800"), các Intel 960 , Intel 860 và Intel /Hewlett-Packard Itanium kiến trúc Tuy nhiên, sự tinh tế liên tục của x86microarchitectures , mạch và sản xuất chất bán dẫn sẽ làm cho nó khó khăn
để thay thế x86 trong nhiều phân đoạn Mở rộng 64-bit của AMD x86 (màIntel cuối cùng đã trả lời với một thiết kế tương thích) và khả năng mở rộngcủa chip x86 như tám lõi Intel Xeon và 12 lõi AMD Opteron được gạch chânx86 như một ví dụ về cách liên tục sàng lọc các tiêu chuẩn công nghiệp đượcthành lập có thể cưỡng lại sự cạnh tranh từ các kiến trúc hoàn toàn mới
Trang 9lý tương thích đầu là 16-bit, trong khi thiết kế 32-bit được phát triển sau này.Đối với các máy tính cá nhân trên thị trường, số lượng thực sự bắt đầu xuấthiện khoảng năm 1990 với i386 và i486 bộ xử lý tương thích, thường đượcđặt tên tương tự như chip ban đầu của Intel Các công ty khác, được thiết kếhoặc sản xuất x86 hoặc x87 vi xử lý, bao gồm ITT Corporation , NationalSemiconductor , Công nghệ Hệ thống ULSI , và Weitek
- Sau khi hoàn toàn pipelined i486 , Intel đã giới thiệu Pentium tên thươnghiệu (trong đó, không giống như các con số, có thể được đăng ký thươnghiệu) cho các thiết lập mới của họ superscalar thiết kế x86; với các chươngtrình đặt tên x86 đã được dọn khỏi về mặt pháp lý, các nhà cung cấp x86khác phải chọn tên khác nhau cho các sản phẩm tương thích x86 của họ, vàbước đầu một số lựa chọn tiếp tục với các biến thể của sơ đồ thứ: IBM hợptác với Cyrix để sản xuất các 5x86 và sau đó là rất hiệu quả 6x86 (M1) và6x86 MX ( MII ) dòng Cyrix thiết kế, mà là những bộ vi xử lý x86 đầu tiênthực hiện đăng ký đổi tên để cho phép thực hiện suy đoán AMD trong khi
đó thiết kế và sản xuất tiên tiến nhưng bị trì hoãn 5k86 ( K5 ), trong đó, nội
bộ, đã được chặt chẽ dựa trên đầu của AMD 29K RISC thiết kế; tương tựnhư NexGen's Nx586 , nó được sử dụng một chiến lược như vậy mà giaiđoạn đường ống dẫn chuyên dụng giải mã lệnh x86 thành thống nhất và dễdàng xử lý vi hoạt động , một phương pháp mà vẫn là cơ sở cho hầu hết cácthiết kế x86 cho đến ngày nay
- Một số phiên bản đầu của các bộ vi xử lý có vấn đề tản nhiệt Các 6x86 cũng
bị ảnh hưởng bởi một vài vấn đề tương thích nhỏ, Nx586 thiếu một đơn vịnổi điểm (FPU) và (sau đó rất quan trọng) pin-tương thích, trong khi K5 cóhiệu suất hơi đáng thất vọng khi nó đã được (cuối cùng) giới thiệu Sự thiếu
Trang 10hiểu biết của khách hàng lựa chọn thay thế cho các dòng Pentium hơn nữađóng góp cho những thiết kế này là tương đối thành công, mặc dù thực tếrằng K5 có khả năng tương thích Pentium rất tốt và 6x86 là nhanh hơn so vớiPentium đáng kể trên mã số nguyên [J] AMD sau đó quản lý để thành lậpchính nó như là một contender nghiêm trọng với K6 bộ xử lý, dẫn tới sự rấtthành công Athlon và Opteron Cũng có những ứng cử viên khác, chẳng hạnnhư Centaur Technology (trước đây là IDT ), Rise Công nghệ, và Transmeta VIA Technologies năng lượng hiệu quả C3 và C7 bộ vi xử lý, được thiết kếbởi các Centaur công ty, đã được bán cho nhiều năm Thiết kế mới nhất củaCentaur, các VIA Nano , là bộ vi xử lý đầu tiên của họ với superscalar vàthực hiện suy đoán Đó là, có lẽ điều thú vị, được giới thiệu vào khoảngcùng thời gian như bộ xử lý của Intel đầu tiên "trong trật tự" kể từ khi P5Pentium , các Intel Atom.
Trang 114. Kiến Trúc Tập Lênh
- Các kiến trúc x86 là một chiều dài hướng dẫn biến, chủ yếu là " CISC " thiết
kế với sự nhấn mạnh về khả năng tương thích ngược Các tập lệnh là khôngđiển hình CISC, tuy nhiên, nhưng về cơ bản là một phiên bản mở rộng củađơn giản tám-bit 8008 và 8080 kiến trúc Byte-giải quyết được kích hoạt và
từ được lưu trữ trong bộ nhớ với cuối nhỏ thứ tự byte Bộ nhớ truy cập đếncác địa chỉ unaligned được phép cho tất cả các kích cỡ từ hợp lệ Kích thướcbản địa lớn nhất cho số nguyên số học và bộ nhớ địa chỉ (hoặc hiệu số ) là
16, 32 hoặc 64 bit tùy thuộc vào thế hệ kiến trúc (bộ vi xử lý mới hơn baogồm hỗ trợ trực tiếp cho các số nguyên nhỏ hơn là tốt) Nhiều giá trị vôhướng có thể được xử lý đồng thời thông qua các đơn vị SIMD có mặt trongthế hệ sau này, như mô tả dưới đây Ngay lập tức giải quyết hiệu số và dữliệu ngay lập tức có thể được thể hiện như số lượng 8-bit cho các trường hợpthường xuyên xảy ra hoặc những bối cảnh mà một -128 127 phạm vi là đủ
Do đó hướng dẫn điển hình là 2 hoặc 3 byte chiều dài (mặc dù một số cónhiều thời gian hơn, và một số là single-byte)
- Để bảo tồn thêm không gian mã hóa, hầu hết các thanh ghi này được thể hiệntrong opcodes sử dụng ba hoặc bốn bit, sau đó thông qua một tiền tố opcode
ở chế độ 64-bit, trong khi nhiều nhất là một toán hạng tới một chỉ dẫn có thể
là một vị trí bộ nhớ Tuy nhiên, điều này bộ nhớ toán hạng cũng có thể làđiểm đến (hoặc một nguồn kết hợp và đích), trong khi các toán hạng khác,các nguồn , có thể là đăng ký hoặc ngay lập tức Trong số các yếu tố khác,điều này góp phần vào một mã kích thước mà các đối thủ máy tám-bit và chophép sử dụng hiệu quả bộ nhớ Cache lệnh Các số lượng tương đối nhỏ cácthanh ghi chung (còn được thừa hưởng từ tổ tiên 8-bit của nó) đã thực hiệnđăng ký, tương đối quyết (sử dụng hiệu nhỏ ngay lập tức) là một phươngpháp quan trọng của toán hạng truy cập, đặc biệt là trên stack Do đó nhiềucông trình được đầu tư trong việc đưa ra như truy cập nhanh như đăng kýtruy cập, tức là một thông hướng dẫn một chu kỳ, trong hầu hết các trườnghợp các dữ liệu truy cập là có sẵn trong bộ nhớ cache cấp cao nhất