Tải bản đầy đủ (.docx) (23 trang)

so sánh bộ vi xử lý arm và intel x86

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (116.75 KB, 23 trang )

TRƯƠ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

Thành Viên

MSSV

1


MỤC LỤC

2


I.
1.
-

-

ARM
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ác
thiết kế nhúng. Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARM


chiế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ày
việ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ến
ARM trở thành cấu trúc 32-bit được sản xuất nhiều nhất trên thế giới. CPU
ARM đượ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ơi
cầm tay, và máy tính cầm tay) cho đến các thiết bị ngoại vi máy tính (ổ đĩa
cứ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.

2.

Quá Trình Hình Thành Và Phát Triển

-

Việc thiết kế ARM được bắt đầu từ năm 1983 trong một dự án phát triển của
công ty máy tính Acorn.

-

Nhóm thiết kế, dẫn đầu bởi Roger Wilson và Steve Furber, bắt đầu phát triển
một bộ vi xử lý có nhiều điểm tương đồng với Kỹ thuật MOS 6502 tiên tiến.
Acorn đã từng sản xuất nhiều máy tính dựa trên 6502, vì vậy việc tạo ra một
chip như vậy là một bước tiến đáng kể của công ty này.

-

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 64
Mbyte địa chỉ và 16 thanh ghi 32-bit. Một trong những thanh ghi này đóng
vai 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ếm
khoả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

3


suấ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 đầu
hợ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ới
gọi là Advanced RISC Machines. Vì lý do đó bạn thường được giải thích
ARM là chữ viết tắt của Advanced RISC Machines thay vì Acorn RISC
Machine. Advanced RISC Machines trở thành công ty ARM Limited khi
cô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ở cho
PDA hiệu Apple Newton. Vào năm 1994, Acorn dùng ARM 610 làm CPU

trong 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õi
ARM 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ới
ARM. Dreamcast cũng tạo ra một chip xử lý âm thanh được thiết kế bởi
Yamaha với lõi ARM7. Bên cạnh đó, Gameboy Advance của Nintendo, dùng
ARM7TDMI ở 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ệ Strong

ARM. Hoạt động ở tần số 233 MHz mà CPU này chỉ tiêu tốn khoảng 1 watt
cô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ện
tụng, Intel cũng được chấp nhận sản xuất ARM và Intel đã nắm lấy cơ hội
4


nà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át
triể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ến
trúc ARM đã báo cáo 7.9 tỉ bộ vi xử lý ARM đã được mua, hiện diện trong
95% 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ản
quyề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ựa
trên kiến trúc ARM bao gồm Qualcomm Snapdragon, nVidia Tegra,
MediaTek và Texas Instruments OMAP.

5


II.


INTEL X86

-

Thuật ngữ x86 dùng để chỉ tới kiến trúc tập lệnh của dòng vi xử lý 8086 của
Intel. 8086 được Intel đưa ra năm 1978.

-

Intel xem dòng phát triển 8086 là IA-32. Kiến trúc x86 này rất phổ biến cho
các thế hệ máy tính cá nhân đang hiện hữu trong nhiều gia đình. Kiến trúc
x86 gần như chiếm toàn bộ thị phần máy tính cá nhân, máy workstation và
cả 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ất
tốt từ Intel nên x86 được rất nhiều lập trình phần mềm viết chương trình
chạ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ếu
kiến trúc x86 được Intel gọi là IA-32 thì Intel còn có thế hệ không cùng kiến
trú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ật
ngữ x86 lấy từ hai số cuối của họ 8086. Rất nhiều thay đổi và mở rộng được

thê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ường
hàm ý nhị phân tương đương với bộ tập lệnh 32 bit của 80386. Điều này đôi
khi 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òng
x86 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áy
chủ,trạm dựa trên RISC. Một lượng lớn phần mềm bao gồm hệ điều hành
như MS DOS, Windows, Linux, BSD, Solaris và Mac OS X hỗ trợ phần
cứng x86.
6


-

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ủa
thiết kế CISC khẳng định tương thích ngược. Bộ tập lệnh không phải thuộc
loạ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ủa

phiê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ân
cũ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ều
hà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ức
tạp để đề án đặt tên của nó và các thuật ngữ như "iAPX" của tham vọng
như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 (đối
với các máy tính đơn tấm mạch), và iSBX (đối với Ban multimodule dựa
trên 8086 kiến trúc) - tất cả cùng nhau dưới tiêu đề Microsystem 80. Tuy
nhiê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ững

nă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ười
dùng hoặc người dùng đơn nhỏ máy tính, chủ yếu là để đối phó với những
7


thà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ân
của văn phòng phẩm và di động, và cũng được sử dụng trong các máy tính
tầm trung , máy trạm , máy chủ và mới nhất siêu máy tính cụm của Top500
danh 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ới
phầ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ọi
mặ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 trong
mộ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ự án
ban đầ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 x86
microarchitectures , 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ộng
của chip x86 như tám lõi Intel Xeon và 12 lõi AMD Opteron được gạch chân
x86 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 được
thà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.

8


3. Quá Trình Hình Thành Và Phát Triển
-

Tại thời điểm khác nhau, các công ty như IBM , NEC , [h] AMD , TI , STM ,
Fujitsu , OKI , Siemens , Cyrix , Intersil , C & T , NexGen , UMC , và DM &
P bắt đầu thiết kế hoặc sản xuất x86 vi xử lý (CPU ) dành cho máy tính cá
nhân cũng như các hệ thống nhúng. Triển khai x86 như là bản sao hiếm khi
đơn giản nhưng thường sử dụng nội bộ khác nhau microarchitectures cũng
như các giải pháp khác nhau ở các cấp điện tử và vật lý. Khá tự nhiên, vi xử
lý 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ất
hiệ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 , National
Semiconductor , 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ương
hiệu (trong đó, không giống như các con số, có thể được đăng ký thương
hiệu) cho các thiết lập mới của họ superscalar thiết kế x86; với các chương
trình đặt tên x86 đã được dọn khỏi về mặt pháp lý, các nhà cung cấp x86
khá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ợp
tá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ên
thự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ác
thiế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
9


hiể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ới
Pentium đáng kể trên mã số nguyên. [J] AMD sau đó quản lý để thành lập

chính nó như là một contender nghiêm trọng với K6 bộ xử lý, dẫn tới sự rất
thành công Athlon và Opteron . Cũng có những ứng cử viên khác, chẳng hạn
như 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ủa
Centaur, 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ảng
cùng thời gian như bộ xử lý của Intel đầu tiên "trong trật tự" kể từ khi P5
Pentium , các Intel Atom.

10


4. 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 đến
các địa chỉ unaligned được phép cho tất cả các kích cỡ từ hợp lệ. Kích thước
bả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 bao
gồ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 trong
thế 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ợp
thườ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ện
trong 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à cho
phép sử dụng hiệu quả bộ nhớ Cache lệnh. Các số lượng tương đối nhỏ các
thanh 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ương
pháp quan trọng của toán hạng truy cập, đặc biệt là trên stack. Do đó nhiều
cô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ường
hợp các dữ liệu truy cập là có sẵn trong bộ nhớ cache cấp cao nhất.

11


III.

SO SÁNH ARM VÀ X86

1. Bộ Xử Lí Trung Tâm
-

CPU (central processing unit - Bộ xử lí trung tâm) vẫn giữ nguyên vai trò

của nó từ trước tới nay, là “bộ não” của thiết bị điện toán. Nhiệm vụ của nó
là thực thi chuỗi các lệnh để điều khiển phần cứng trên thiết bị như màn
hình, modem nhận sóng di động,... nhằm làm cho nguyên một khối thiết bị
trở thành chiếc điện thoại thông minh, hay máy tính bảng trở nên sống động.
Thiết bị di động luôn là vật phức tạp, yêu cầu CPU phải thực thi hàng triệu
tập lệnh để có thể vận hành như chúng ta mong muốn. Tốc độ xử lí và mức
tiêu thụ điện năng là hai yếu tố cực kỳ quan trọng. Tốc độ ảnh hưởng đến trải
nghiệm người dùng trong khi mức tiêu thụ điện năng lại ảnh hưởng đến thời
gian dùng pin. Thiết bị di động hoàn hảo phải có được cả về tốc độ lẫn tiêu
tốn ít điện năng.

-

Đó là lý do tại sao chọn lựa CPU là rất quan trọng. Một CPU ngốn điện sẽ
khiến pin mau hết, nhưng một CPU hiệu quả và mạnh mẽ sẽ cho bạn cả hai
thứ: tốc độ và thời gian dùng pin lâu.

-

Ở mức cao nhất, sự khác biệt đầu tiên giữa CPU của ARM và Intel(x86) là
ARM dùng RISC (Reduced Instruction Set Computing – tập lệnh rút gọn) và
Intel dùng CISC (Complex Instruction Set Computing – tập lệnh đầy đủ).
Nói ngắn gọn, RISC gọn hơn, cụ thể hơn trong khi CISC lớn hơn, phức tạp
hơn. Điều này có nghĩa là mỗi tập lệnh cần chuyển dịch ra từng lệnh đơn mà
CPU có thể thực thi, ví dụ thêm nội dung vào hai thanh ghi (register). CISC
diễn đạt một ý tưởng duy nhất nhưng CPU phải cần đến 3 hay 4 lệnh cơ bản
hơn nữa thì mới có thể thực thi được. Ví dụ, một CPU CISC nhận được lệnh
là cùng lúc thêm vào 2 số lưu trong bộ nhớ chính. Để làm điều này, CPU
CISC cần lấy số từ địa chỉ 1 (1 công việc), lấy số từ địa chỉ 2 (công việc thứ
2), thêm hai số vào bộ nhớ (công việc thứ 3) và cứ tiếp tục như thế.

12


-

Mọi CPU hiện đại sử dụng một khái niệm gọi là microcode (vi mã), là một
tập lệnh nội hàm của CPU dùng để mô tả các công việc chi tiết như trên mà
CPU có thể thực hiện. Đó là những công việc ở cấp thấp nhất, nhỏ nhất mà
CPU thực sự phải làm. Trên bộ xử lý RISC, các công việc trong tập lệnh
phức tạp và các công việc trong tập lệnh microcode rất gần nhau. Còn trên
CISC, các lệnh phức tạp cần phải chia nhỏ thành các lệnh microcode nhỏ
hơn. Điều này có nghĩa là bộ giải mã tập lệnh phải làm việc nhiều hơn trên
bộ nhớ CISC, còn bộ xử lý RISC thì xử lý đơn giản hơn, cũng có nghĩa là ít
tốn điện và hiệu quả cao hơn.

13


2. Cấu Trúc Tập Lệnh

Bộ xử lý arm ( Tập lệnh risc )
- Bộ xử lý có kích thước miếng bán
dẫn nhỏ hơn: bộ xử lý đơn giản đòi hơi
ít transistor hơn, do đó kích thước cần
dùng sẽ nhỏ hơn, dành vùng để tăng
các chức năng khác (bộ nhớ cache,
quản lý bộ nhớ )
- Thời gian phát sinh một sản phẩm
ngắn hơn (do kỹ thuật đơn giản hơn)
- Cấu hình mạnh hơn: câu lệnh đơn

giản RISC chỉ cần một chu kỳ xung
nhịp để thực thi một lệnh
- RISC đọc các xung/nhịp nhanh hơn
tuy. Tuy nhiên bộ xử lý có kiến trúc vi
xử lí RISC cần có một thanh RAM
nhanh, đây là một hướng đi mới đầy
tiềm năng
- Đòi hỏi phải có các phần mềm hỗ trợ
mềm để xử lí các phần chương trình do
phần cứng để lại.
- Hệ thống dễ bị chậm nếu thực hiện
các công việc phức tạp
- Tiết kiệm năng lượng nên chiế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ày việc tiêu tán
công suất thì là rất thấp
- Tốc độ xử lý nhanh hơn
-

Bộ xử lý x86 ( Tập lệnh cisc )
- Câu lệnh tuy phức tập nhưng tập lệnh
chương trình ngắn gọn hơn -> để tốn
bộ nhớ hơn khi lưu trữ
- CISC hoạt động rất mạnh về khả năng
tích hợp các mã lệnh để tăng hiệu suất
của mình
- Thực hiện được các lệnh phức tạp
- Lập trình đơn giản hơn với câu lệnh ít
và dễ dàng hơn
- Bộ vi xử lí của phần cứng có khả

năng hiểu và thực hiện một chuỗi thứ
tự các hoạt động cần làm
- Quá trình thực thi lệnh được xử lý
trực tiếp trên bộ nhớ và không yêu cầu
người lập trình phải gọi một cách rõ
ràng để sử dụng (tải và lưu trữ chức
năng của nó)
- Sử dụng rất nhiều code trong ROM
để giải mã các lệnh khi thực thi

14


3. Phạm Vi Xử Dụng
-

ARM các thiết bị cầm tay điển hình là điện thoại di động

-

X86 chủ yếu máy tính cá nhân
< bảng so sánh>

Năng
lượng

Giá cả

Máy vi tính
bộ vi xử lý máy tính mạnh hơn

thường đòi hỏi một lượng lớn
năng lượng và làm mát. Máy tính
được trang bị để cung cấp các
yêu cầu đối với các bộ xử lý, vì
vậy có thể tính năng khả năng
tính toán cao hơn.

Giá cho một máy tính (máy tính
để bàn hoặc máy tính xách tay)
có thể rất khác nhau, tùy thuộc
vào khả năng của mình, lưu trữ,
và các tính năng. Một máy tính
mạnh hơn sẽ đắt hơn, nhưng giá
máy tính có thể dao động từ $
300 đến $ 2000.
Kích thước Máy tính để bàn sử dụng màn
màn hình
hình với kích thước màn hình
lớn. màn hình kích thước tiêu
chuẩn là từ 17 "và 24" ở hầu hết
các trường hợp, nhưng màn hình
lớn hơn có thể được sử
dụng. Chúng bao gồm một TV
hoặc máy chiếu. Máy tính xách
tay có đặc trưng là màn hình
kích thước lên đến 17 ".

Điện thoai thông minh
Điện thoại thông minh nhỏ gọn
hơn và không có khả năng cung

cấp lượng điện năng và làm mát
bộ vi xử lý mạnh hơn yêu cầu. Họ
là những hạn chế để xử lý điện áp
thấp hơn, mặc dù các bộ xử lý của
loại hình này đang trở nên tiên
tiến hơn và mạnh mẽ.
điện thoại di động, đặc biệt là
điện thoại thông minh, có thể thay
đổi trong giá dựa trên sức mạnh
và tính năng khác nhau, nhưng
không nhiều như các máy
tính. Giá cả có thể được $ 100 đến
$ 500 trong hầu hết trường hợp
với hợp đồng.
Điện thoại thông minh, do kích
thước nhỏ hơn, tính năng kích
thước màn hình nhỏ hơn từ 2.5
"đến 4.8", với một vài trường hợp
ngoại lệ. Để có được một kích
thước màn hình lớn hơn (lên đến
10 "), bạn sẽ phải dấn thân vào thị
trường tablet, mà đôi khi có thể
tính năng khả năng gọi điện thoại,
nhưng đó không phải là tiêu
chuẩn.

15


Khả năng

di chuyển

Lưu trữ

Kết nối

Hệ điêu
hành

Máy tính để bàn không được coi
là di động. Họ không phải là dễ
dàng để di chuyển xung
quanh. Máy tính xách tay được
cầm tay, trọng lượng nhẹ, và dễ
dàng để đặt trong một chiếc ba
lô. Tuy nhiên, máy tính xách tay
với màn hình lớn hơn (17 "+) có
thể là cồng kềnh và khó khăn
hơn để thực hiện, trọng lượng
lên đến bảy hay tám pounds.
Ổ cứng máy tính đã có hơn một
terabyte (TB) và tiếp tục gia tăng
kích thước. Ngay cả các máy
tính cơ bản nhất đi kèm với một
ổ đĩa cứng 250 gigabyte (GB)
hôm nay.Điều này áp dụng cho
cả máy tính xách tay máy tính để
bàn và. Đối với hầu hết mọi
người, lưu trữ sẽ không là một
vấn đề, vì ngay cả 250 GB là quá

đủ cho nhiều người sử dụng.

Điện thoại thông minh, trong khi
lớn hơn một chiếc điện thoại di
động tiêu chuẩn một chút, vẫn
còn nhiều di động hơn so với bất
kỳ máy tính. Họ rất nhẹ và có thể
phù hợp trong ví hoặc túi quần dễ
dàng. Chúng được thiết kế để
được ở khắp mọi nơi với bạn, vì
vậy định nghĩa của di động.

Một số điện thoại thông minh đi
kèm với xây dựng trong lưu trữ,
từ 8 GB đến 64 GB. Trong một số
trường hợp, một khe cắm mở rộng
có thể có sẵn để thêm một chip bộ
nhớ bổ sung cho khả năng lưu trữ
nhiều hơn. Điện thoại thông minh,
nói chung, sẽ cung cấp dung
lượng lưu trữ ít hơn so với một
máy tính, nhưng đối với hầu hết
người dùng, lưu trữ được cung
cấp là đầy đủ hơn. Như các chip
bộ nhớ tăng kích cỡ, như vậy sẽ
khả năng lưu trữ của một điện
thoại thông minh.
Mặc dù máy tính có thể kết nối
Điện thoại thông minh có một kế
với 3G, 4G hoặc mạng điện thoại hoạch dữ liệu cho phép chúng

khác, máy tính không đi kèm với được kết nối với Internet mọi lúc,
các trang thiết bị cần thiết. Hầu
miễn là điện thoại nhận được tín
hết các máy tính xách tay dựa
hiệu từ một tháp điện thoại di
trên wi-fi tín hiệu để kết nối với động.
Internet.
Máy tính đến với một hệ điều
Viên nén đi kèm với một hệ điều
hành đầy đủ hơn đặc trưng do có hành hơn rút gọn xuống do có khả
sức mạnh và yêu cầu bộ nhớ máy năng tính toán hạn chế hơn và bộ
tính. Cả hai máy tính để bàn và
nhớ. Các androi OS và Apple IOS
máy tính xách tay có thể chạy
là những hệ thống đầy đủ hoạt
một phiên bản đầy đủ tính năng
động cho người dùng máy, nhưng
của một hệ điều hành, với các
không phải là hệ điều hành đầy đủ
16


Nhập dữ
liệu và
người sử
dụng đầu
vào

tùy chọn để lựa chọn hệ điều
hành trên máy tính.


tính năng tìm thấy trong máy
tính.Ngay cả hệ điều hành
Windows được tìm thấy trên điện
thoại thông minh chọn là một
phiên bản rút gọn của được tìm
thấy trên một máy tính.a

Một máy tính sử dụng một bàn
phím để nhập dữ liệu mà hầu hết
người dùng đã quen thuộc với và
thoải mái sử dụng. Con chuột
cũng có sẵn để di chuyển dễ
dàng và nhấn chuột.

Điện thoại thông minh tính năng
một bàn phím cảm ứng trên màn
hình đó là nhỏ hơn nhiều so với
một máy tính tiêu chuẩn. Bàn
phím nhỏ hơn có thể làm cho gõ
khó khăn hơn cho người sử dụng,
đặc biệt là đối với những người có
ngón tay to. Một số điện thoại
thông minh được trang bị bàn
phím trượt ra, với các phím thực
tế để báo chí.Một lần nữa, bàn
phím này là nhỏ hơn nhiều so với
một bàn phím máy tính và vẫn có
thể là khó khăn cho một số người
dùng.


17


4. Điện Năng Sử Dụng
-

Sự khác biệt lớn tiếp theo giữa bộ xử lý ARM và Intel(x86) là ARM ngay từ
ban đầu đã được thiết kế với mục đích hiệu quả về điện năng. Và ARM đã
tinh thông về công nghệ hướng đến yếu tố này. Tuy vậy, Intel lại rất “sành”
trong việc thiết kế ra những bộ xử lý mạnh mẽ dành cho máy tính bàn và
máy chủ. Đến nay, Intel vẫn dẫn đầu ngành trong thị trường máy bàn và máy
chủ từ 20 năm qua. Tuy vậy, khi đến với di động, Intel lại tiếp tục sử dụng
cùng cấu trúc tập lệnh CISC mà họ dùng cho máy bàn và chỉnh sửa cấu trúc
ấy cho hợp với thiết bị di động.

-

Bộ xử lý Intel i7 trung bình sản sinh nhiệt lượng khoảng 45W. Một chip SoC
của điện thoại thông minh chạy nền ARM (gồm cả GPU) có ngưỡng nhiệt
lượng tối đa khoảng 3W, ít hơn 15 lần so với Intel i7. Intel hiện nay có được
đội ngũ kỹ sư giỏi, hùng hậu. Bộ xử lý Atom mới nhất của họ có thiết kế
nhiệt tương tự với bộ xử lý nền ARM, nhưng để làm được điều đó thì họ phải
sử dụng quy trình sản xuất 22 nm mới nhất. Theo hướng này, chỉ số nanomet
càng thấp thì càng hiệu quả về điện năng. Bộ xử lý ARM cũng có những đặc
tính nhiệt lượng tương tự nhưng ở quy trình xử lý nanomet lớn hơn. Ví dụ,
Qualcomm Snapdragon 805 sử dụng quy trình 28 nm.

18



5. Điện Toán 64-Bit
-

Khi nói đến điện toán 64-bit, cũng có vài khác biệt quan trọng giữa ARM và
Intel. Bạn cần biết Intel thậm chí không phải là công ty phát minh ra bản 64bit của tập lệnh x86 của họ. Trước đây còn có tên là x86-64 (hoặc đôi khi chỉ
vắn tắt là x64), tập lệnh này thực chất do AMD thiết kế. Câu chuyện là Intel
muốn đi lên điện toán 64-bit nhưng nếu sử dụng kiến trúc 32-bit x86 để tạo
ra bản 64-bit là không hiệu quả. Vì vậy, Intel khởi động một dự án bộ xử lý
64-bit mới tên là IA64. Và kết quả là dòng bộ xử lý Itanium ra đời. Trong khi
đó, AMD biết họ không thể sản xuất được bộ xử lý tương thích IA64 nên
AMD đi trước một bước khi mở rộng thiết kế x86 để có thể tương thích được
với bộ định địa chỉ và thanh ghi 64-bit. Kết quả là kiến trúc mang tên
AMD64 ra đời, trở thành chuẩn 64-bit không chính thức dành cho bộ xử lý
x86.

-

Dự án IA64 chưa bao giờ đạt được thành công mỹ mãn và đến nay đã đi vào
ngõ cụt. Cuối cùng, Intel cũng phải chấp nhận AMD64. Các sản phẩm di
động hiện thời của Intel là bộ xử lý 64-bit sử dụng tập lệnh 64-bit do AMD
thiết kế nhưng có vài khác biệt nhỏ.

-

Còn với ARM, câu chuyện lại khác đi. Nhận thấy nhu cầu điện toán 64-bit
cho di động, ARM công bố kiến trúc ARMv8 64-bit hồi năm 2011. Đây là
kết quả của quá trình nhiều năm nghiên cứu về kiến trúc tập lệnh (ISA,
instruction set architecture) ARM thế hệ tiếp theo. Kiến trúc ARMv8 sử dụng
hai trạng thái thực thi, AArch32 và AArch64.


-

Giống như tên của hai trạng thái này, ARMv8 chạy mã 32-bit bằng AArch32
và mã 64-bit bằng AArch64. Điểm nhấn của thiết kế ARM là bộ xử lý có thể
chuyển đổi qua lại giữa hai trạng thái rất mượt trong suốt quá trình vận hành.
Bộ giải mã cho các lệnh 64-bit hoàn toàn mới, không cần tương thích với bộ
giải mã 32-bit. Tuy vậy, bộ xử lý này lại có vấn đề về khả năng tương thích
ngược.

19


6. Điện Toán Không Đồng Nhất
-

Kiến trúc big.LITTLE (kiểu chơi chữ: ý nói nhỏ nhưng lớn, lớn nhưng nhỏ)
của ARM là một cải tiến mà Intel không thể bắt kịp. Trong big.LITTLE, các
nhân CPU không cần cùng loại. Trước nay, một bộ xử lý nhân đôi hay nhân
tứ có 2 hoặc 4 nhân cùng loại. Vì vậy, bộ xử lý Atom nhân đôi có hai nhân
x86-64 giống nhau, đều có tốc độ xử lý như nhau và sử dụng cùng mức năng
lượng. Nhưng với big.LITTLE, ARM đưa ra khái niệm điện toán không đồng
nhất (heterogeneous computing) cho thiết bị di động. Điều này có nghĩa là
các nhân có thể khác nhau về tốc độ xử lý lẫn điện năng tiêu thụ. Khi thiết bị
di động không phải làm nhiều việc thì nhân điện năng thấp chạy, nhưng khi
tải các ứng dụng nặng như game thì nhân tốc độ cao sẽ vào cuộc.

-

Nhưng đây mới là điều kỳ diệu. Khi nói về thiết kế CPU, có một loạt quyết

định quan trọng về mặt thiết kế ảnh hưởng trực tiếp đến tốc độ xử lý và
lượng điện năng tiêu tốn của bộ xử lý. Khi một lệnh được giải mã và chuẩn
bị được đưa vào thực thi thì CPU (cả ARM lẫn Intel) sử dụng luồng pipeline,
điều này nghĩa là mỗi một phần của quy trình giải mã lệnh ấy đều đang được
xử lý song song. Nên giai đoạn 1 là CPU đi lấy lệnh từ bộ nhớ, sau đó giai
đoạn 2 là lọc ra loại lệnh nào cần được kiểm tra và giải mã, giai đoạn 3 là
lệnh đó sẽ được thực thi, và cứ tiếp tục vòng lặp như vậy. Điểm hay của
luồng xử lý pipeline là trong khi lệnh đầu tiên đang ở giai đoạn 2 thì lệnh
tiếp theo đã nằm ở giai đoạn 1. Khi lệnh đầu tiên đang ở giai đoạn 3 thì lệnh
thứ 2 đã đến giai đoạn 2 và lệnh thứ 3 đang ở giai đoạn 1, liên tục như vậy.

-

Để đẩy nhanh tiến độ thì luồng pipeline này được chỉnh sửa để lệnh có thể
được thực thi theo một trật tự khác một chương trình thông thường. Có một
nguyên tắc logic để quy định lệnh tiếp theo là gì dựa trên nội dung của lệnh
trước đó. Cả Intel và ARM đều đưa ra nguyên tắc logic riêng nhưng đó là
công nghệ phức tạp. Phức tạp ở đây có ý là tốn nhiều điện năng để xử lý.
Trên bộ xử lý Intel, các nhà thiết kế chọn cách áp dụng một lệnh nào đó có
cần được sắp xếp để thực thi hay không. Nhưng với điện toán bất đồng thì
không là vấn đề. Nhân ARM Cortex-A53 đưa hết các lệnh vào thực thi mà
không cần sắp xếp, nghĩa là ít tốn điện năng hơn; còn nhân Cortex-A57 thì
sắp xếp lệnh đầu vào, nghĩa là chạy nhanh hơn nhưng tốn nhiều điện năng
20


hơn. Trong bộ xử lý big.LITTLE, có cả hai nhân Cortex-A53 và Cortex-A57
và hai nhân này được sử dụng tuỳ vào nhu cầu. Bạn không cần đến một lệnh
thực thi cực nhanh nào chỉ để âm thầm đồng bộ email nhưng bạn lại cần lệnh
đó khi chơi game. Vậy nhân thích hợp cần dùng đúng thời điểm.

-

Nguyên tắc sử dụng logic phức tạp trong bộ xử lý để tăng tốc độ xử lý và
logic đơn giản để tiết kiệm điện không chỉ đơn thuần là áp dụng cho dòng
lệnh pipeline. Nguyên tắc này cũng áp dụng cho các đơn vị tính toán dấu
chấm động cho đến logic SIMD (như NEON trên ARM và SSE/MMX trên
Intel) và cách mà bộ đệm cache L1 và L2 chạy. Intel đưa ra một giải pháp
cho mỗi chip Atom SoC, còn ARM thông qua đối tác của họ, đưa ra được
nhiều cấu hình nhân xử lý, nhiều nhân trong số này có thể đặt đồng thời trên
một tấm silicon.

21


7. Tính Tương Thích
-

ARM hiện dẫn đầu thị trường về bộ xử lý di động. Các đối tác của ARM đã
xuất khoảng 50 tỉ chip dựa trên thiết kế của ARM cho mọi thiết bị di động và
thiết bị nhúng trên thị trường. Đối với Android, ARM là chuẩn không chính
thức và hiện thực này đang tạo ra vấn đề đối với Intel và MIPS. Mặc dù
Android sử dụng Java là ngôn ngữ lập trình chủ đạo nhưng nó cũng cho phép
các nhà lập trình tận dụng mã nguồn (như C, C++) hiện thời để tạo ứng dụng.
Nhưng nhìn chung, những ứng dụng được thiết kế riêng (native) đều được
biên dịch cho bộ xử lý ARM, còn với Intel và MIPS thì không. Để giải quyết
điều này, Intel và MIPS cần dùng một phần mềm chuyển dịch chuyên biệt để
chuyển đổi các lệnh ARM thành mã nguồn cho bộ xử lý của họ. Điều này lại
tác động đến hiệu năng. Tính đến nay, MIPS và Intel có thể khẳng định tính
tương thích chip của họ với các app trên Play Store đạt khoảng 90%. Con số
này đạt gần đến 100% đối với 150 app nằm trong top đầu. Một mặt, đây có

thể là dấu hiệu tốt nhưng mặt khác, nó lại cho thấy sự thống trị của ARM mà
các nhà thiết kế bộ xử lý khác cần phải tạo thêm một lớp tương thích nữa.

22


8. Kết Luận
-

Tạo một CPU là ngành kinh doanh phức tạp. ARM, Intel và MIPS đều đang
nỗ lực hết mình để mang ra thị trường công nghệ tốt nhất cho thiết bị di
động. Tuy nhiên, rõ ràng ARM đang đi đầu. Họ tập trung tốt và điện năng
tiêu tốn của bộ xử lý, thiết lập 64-bit gọn đẹp, điện toán không đồng nhất và
họ gần như trở thành chuẩn trong ngành điện toán di động.

23



×