+ John von Neumann Ý tưởng thiết kế được đưa ra vào năm 1945 Khái niệm chương trình lưu trữ Do các nhà thiết kế ENIAC, đặc biệt là nhà toán học John von Neumann Chương trình đượ
Trang 1+ Chương 2
Lịch sử phát triển của máy tính
Trang 2+
NỘI DUNG
1 Lịch sử phát triển của Máy tính
Thế hệ đầu tiên: ống chân không Thế hệ thứ hai: Transitor
Thế hệ thứ ba: mạch tích hợp Các thế hệ tiếp theo
2 Thiết kế hiệu suất
Tốc độ vi xử lý Cân bằng Hiệu suất Cải tiến trong Tổ chức và Kiến trúc Chip
3 Đa lõi, MICs và GPGPUs
4 Sự phát triển của kiến trúc Intel x86
5 Hệ thống nhúng và ARM
6 Đánh giá hiệu suất
Tốc độ đồng hồ và số lệnh trên giây Tiêu chuẩn
Luật Amdahl Luật Little
Trang 3+
1.1 Thế hệ đầu tiên: Ống chân không
a, ENIAC - Electronic Numerical Integrator And Computer
Được thiết kế và xây dựng tại trường ĐH Pennsylvania
Bắt đầu từ 1943 – hoàn thành năm 1946
Bởi giáo sư John Mauchly và học trò John Eckert
Là máy tính điện tử số đầu tiên trên thế giới
Phòng thí nghiệm đạn đạo quân đội (BRL) cần thiết bị có thể cung cấp
bảng quỹ đạo chính xác cho một loại vũ khí mới trong khoảng thời gian cho phép
Đã không kịp hoàn thành phục vụ chiến tranh Được tháo rời vào năm 1955
Nhiệm vụ đầu tiên của nó là thực hiện một loạt các tính toán giúp xác định tính khả thi của bomb hydrogen
Trang 4ENIAC
Nặng 30 tấn Chiếm 1500 m2 diện tích sàn Gồm 18000 đèn điện tử, 1500 công tắc điện tử
Tiêu thụ 140 kWh
Có khả năng thực hiện 5000 phép tính trên 1s
Tính toán trên số thập phân
Bộ nhớ gồm 20 thanh ghi, mỗi cái có thể giữ 1 số 10 chữ số Lập trình bằng tay bằng cách đấu nối các đầu cắm điện và dùng
các ngắt điện
Trang 5+
John von Neumann
Ý tưởng thiết kế được đưa ra vào năm 1945
Khái niệm chương trình lưu trữ
Do các nhà thiết kế ENIAC, đặc biệt là nhà toán học John von
Neumann
Chương trình được lưu vào trong bộ nhớ cùng với dữ liệu
ALU điều khiển để tính toán trên dữ liệu nhị phân
Bộ điều khiển dịch các tập lệnh trong bộ nhớ và thi hành, điều khiển hoạt động của các thiết bị vào ra
Máy tính IAS
Hoàn thiện vào năm 1952 bởi viện nghiên cứu cao cấp Princeton
Là nền tảng cho các máy tính hiện đại ngày nay
b EDVAC (Electronic Discrete Variable Computer)
Trang 6Cấu trúc của Máy von Neumann
Main Memory
(M)
Central Processing Unit (CPU)
Logic Unit (CA)
Arithmetic-Program Control Unit (CC)
Figure 2.1 Structure of the IAS Computer
I/O Equip- ment (I, O)
Trang 8+
Cấu trúc
của máy tính
Addresses
Control signals
Instructions and data
MAR
MBR
MQ
Arithmetic-logic circuits
Arithmetic-logic unit (ALU)
Program control unit
Figure 2.3 Expanded Structure of IAS Computer
output equipment
Input-Main memory M
Trang 9+ Các loại thanh ghi
• Chứa word sắp lưu vào bộ nhớ hoặc sắp được gửi ra cổng I/O
• Có thể nhận một word từ bộ nhớ hoặc từ các cổng I/O
Thanh ghi đệm dữ liệu
• Chứa mã lệnh của lệnh sắp được thực thi
Thanh ghi tập lệnh (IR)
• Được sử dụng để tạm thời lưu trữ lệnh nằm bên tay phải của 1 từ trong bộ nhớ
Thanh ghi đệm chứa
Trang 10+
Tập lệnh trong IAS
Trang 11+
Máy tính thương mại
1947 – Thành lập Công ty máy tính Eckert-Mauchly để sản xuất máy tính thương mại
UNIVAC I
Là máy tính thương mại thành công đầu tiên
Được dùng cho cả các ứng dụng khoa học và thương mại
Uỷ quyền bởi Cục điều tra dân số Mỹ để tính toán vào năm 1950
UNIVAC II – hoàn thành vào cuối những năm 1950
Có dung lượng bộ nhớ lớn hơn, nhanh hơn, hiệu suất cao hơn
Tương thích ngược
c UNIVAC - Universal Automatic Computer
Trang 13 Được phát minh bởi Bell Labs vào năm 1947
Mãi đến cuối những năm 1950, máy tính bán dẫn hoàn toàn mới chính thức đưa vào thị trường thương mại
1.2 Thế hệ thứ hai: Transistor
Trang 14 Di chuyển dữ liệu tới thiết
bị ngoại vi và thư viện
PDP-1 là máy tính đầu tiên của DEC
Bắt đầu sự xuất hiện của máy tính mini – dòng máy thống trị ở thế hệ máy tính thứ ba
Trang 15
IBM 700/7000 Series
Example Members of the IBM 700/7000 Series
Trang 16Memory
Figure 2.5 An IBM 7094 Configuration
Data channel
Mag tape units
Card punch
Line printer
Card reader Drum
Disk
Disk
tapes
Hyper-Teleprocessing equipment
Data channel
Data channel
Data channel
Trang 171.3 Thế hệ thứ ba: Mạch tích hợp
Lịch sử phát triển máy tính
Linh kiện rời
Các transistor đơn lẻ, đóng gói khép kín
Được chế tạo rời, đóng gói trong riêng và được hàn hoặc nối với nhau lên trên bảng mạch
Quá trình sản xuất tốn kém và cồng kềnh
Hai thành viên quan trọng nhất của thế hệ máy tính thứ ba
là IBM System/360 và DEC PDP-8
Trang 18+
Vi điện tử
Boolean logic function Input
Activate signal
(a) Gate
Figure 2.6 Fundamental Computer Elements
Output
Binary storage cell Input
Read Write
(b) Memory cell
Output
Trang 19+
Mạch tích hợp
Máy tính bao gồm các cổng, các cell nhớ và đường kết nối giữa các bộ phận
Cổng và các cell nhớ được xây dựng bằng những linh kiện điện tử kỹ thuật số đơn giản
Lưu trữ dữ liệu – trên các
cell nhớ
Xử lý dữ liệu –qua các cổng
Di chuyển dữ liệu – Dữ liệu
được di chuyển trên các
đường dẫn giữa các bộ
phận của máy tính đi vào/ra
bộ nhớ và từ bộ nhớ qua
cổng tới bộ nhớ
Điều khiển – tín hiệu điều
khiển được truyền trên các
đường dẫn giữa các bộ
phận
Các linh kiện như điện trở, transistor và dây dẫn có thể chế tạo từ chất bán dẫn như silicon
Nhiều transistor có thể được sản xuất cùng lúc trên một tấm khuôn silicon
Trang 20+
Mối quan hệ
giữa Tấm khuôn,
Chip,
và Cổng
Trang 21Computer Generations
Các thế hệ máy tính
Trang 22+ Sự phát triển của Chip
Figure 2.8 Growth in Transistor Count on Integrated Circuits
(DRAM memory)
1 1947
50 55 60 65 70 75 80 85 90 95 2000 05 11
10 100 1,000 10.000 100,000
Trang 23Moore’s Law
1965; Gordon Moore – đồng sáng lập Intel
Số lượng transistor trên mỗi chip tăng gấp đôi sau mỗi năm với giá thành không đổi
Tốc độ sau
đó chậm lại còn gấp đôi sau mỗi 18 tháng vào những năm
1970 và duy trì cho đến ngày nay
Hệ quả của quy luật Moore:
Giá mạch nhớ và mạch logic máy tính giảm rất mạnh
Rút ngắn chiều dài đường dẫn điện, tăng tốc
độ hoạt động
Máy tính nhỏ gọn hơn và thuận tiện cho
sử dụng ở nhiều môi trường
Giảm yêu cầu
về điện năng tiêu thụ
và bộ làm mát
Kết nối giữa các chip ít hơn
Trang 24+
Đặc tính của họ System/360
Trang 26Sự phát triển của PDP-8
Trang 27+
Cấu trúc bus DEC - PDP-8
Figure 2.9 PDP-8 Bus Structure
Console
controller CPU
Omnibus
Main memory
I/O module
I/O module
Trang 28VLSI
Very Large Scale Integration
ULSI
Ultra Large Scale Integration
Bộ nhớ bán dẫn
Bộ vi xử lý
Trang 29+ Bộ nhớ bán dẫn
Kể từ năm 1970 bộ nhớ bán dẫn đã trả qua 13 thế hệ phát triển
Mỗi thế hệ sau lại tăng mật độ bộ nhớ lên gấp 4 lần so với thế hệ trước cùng với giảm giá
thành và thời gian truy câp
1974, giá 1 bit của bộ nhớ bán dẫn thấp hơn giá của bộ nhớ lõi
Giá bộ nhớ tiếp tục giảm mạnh khi mật độ bộ
nhớ vật lý tăng nhanh Sự phát triển công nghệ bộ nhớ và xử lý làm thay đổi bản chất của máy tính gần 1 thập kỉ
1970, Fairchild ra mắt bộ nhớ bán dẫn dung lượng tương đối lớn đầu tiên
Kích thước chip
bằng đơn lõi Có thể chứa 256 bits nhớ Không xoá được Tốc độ nhanh hơn lõi
Trang 30+
Vi xử lý
Mật độ các thành phần trên chip xử lý tiếp tục tăng
Ngày càng nhiều thành phần đặt trên chip dẫn đến càng ít chip cần thiết để xây dựng một bộ xử lý máy tính
1971 Intel phát triển dòng 4004
Chip đầu tiên chứa được tất cả thành phần của CPU trên 1 chip đơn
Sự ra đời của bộ vi xử lý 4 bit
1972 Intel phát triển dòng 8008
Vi xử lý 8 bit đầu tiên
1974 Intel phát triển dòng 8080
Vi xử lý đa năng đầu tiên
Nhanh hơn, tập lệnh phong phú hơn, khả năng định địa chỉ rộng hơn
Trang 31Quá trình phát triển của vi xử lý Intel
a 1970s Processors
b 1980s Processors
Trang 32c 1990s Processors
d Recent Processors
Quá trình phát triển của vi xử lý Intel
Trang 33+
2 CÁC ĐẶC TÍNH THIẾT KẾ MÁY TÍNH
Trang 34Thi hành lệnh theo suy đoán
Kĩ thuật xây dựng bộ vi xử lý hiện đại bao gồm:
Trang 35+
2.2 Cân bằng Hiệu suất
Điều chỉnh kiến trúc và tổ chức để bù đắp cho sự chênh lệch giữa khả năng khác nhau của các thành phần
Ví dụ về kiến trúc bao gồm:
Tăng số lượng bit được lấy ra tại 1 thời điểm bằng cách làm cho
DRAMs “rộng hơn” thay vì “sâu hơn” và bằng cách sử dụng đường bus
Trang 36Tốc độ dữ liệu của các thiết bị I/O điển hình
Trang 37+
2.3 Cải tiến kiến trúc và tổ chức Chip
Tăng tốc độ phần cứng của bộ vi xử lý
Cơ bản là do thu hẹp kích thước cổng logic
Nhiều cổng hơn, đóng gói chặt chẽ hơn, tăng tốc độ đồng hồ
Thời gian truyền tín hiệu giảm
Tăng kích thước và tốc độ cache
Dành một phần của chip vi xử lý
Thời gian truy cập cache giảm đáng kể
Thay đổi cấu trúc và tổ chức bộ vi xử lý
Trang 38+
Tốc độ đồng hồ và mật độ Logic
Tiêu thụ điện năng
Tăng khi mật độ cổng logic và tốc độ đồng hồ tăng
Toả nhiệt
Trễ RC (Resistance – điện trở & Capacitance – điện dung)
Tốc độ dòng electrons chạy trên chip giới hạn bởi điện dung và điện trở (RC) của đường dây kim loại kết nối chúng
Trễ tăng khi tích RC tăng
Dây kết nối mảnh hơn, điện trở tăng
Dây đặt gần nhau hơn, điện dung tăng
Trang 39Power (W) Cores
Trang 403 Chip đa lõi
tiềm năng tăng hiệu suất cho máy mà không làm tăng tốc độ đồng hồ
Tăng gấp đôi số lượng bộ vi xử lý, tăng gấp đôi hiệu suất
thay vì một bộ xử lý phức tạp
ba cấp cache trên một chip
Trang 41+
Đa lõi tích hợp (MIC)
Đơn vị xử lý đồ hoạ (GPU)
Sự nhảy vọt về hiệu suất
đặt ra thách thức trong
phát triển phần mềm để
khai thác hết tính năng
của xử lý đa lõi
Chiến lược MIC và đa lõi
yêu cầu các bộ xử lý đa
năng phải gộp đồng nhất
trên một chip đơn
Lõi được thiết kế để thi hành song song các thao tác trên
dữ liệu đồ hoạ
đồ hoạ rời, nó được sử dụng
để mã hoá và giải mã đồ hoạ 2D và 3D cũng như xử lý
video
vector cho những ứng dụng yêu cầu tính toán lặp
Đa lõi tích hợp (MIC) Đơn vị xử lý đồ hoạ (GPU)
Trang 42 Là kết quả sau nhiều thập kỉ nghiên cứu máy tính tập lệnh
phức tạp (Complex instruction set computers - CISCs)
Kết hợp các nguyên tắc thiết kế phức tạp chỉ có ở các siêu
máy tính hoặc hệ thống lớn
Một cách thiết kê bộ xử lý khác là máy tính tập lệnh rút gọn
(Reduced instruction set computer - RISC)
Kiến trúc ARM được sử dụng rộng rãi trong các hệ thống
nhúng và là một trong những hệ thống RISC mạnh nhất, thiết kết tối ưu nhất trên thị trường
Trên thị trường, Intel là nhà sản xuất số một về các vi xử lý cho các hệ thống không phải hệ nhúng
4 Kiến trúc x86
Khái quát
Trang 43+
Sự phát triển
của x86
8080
Vi xử lý đa năng đầu tiên
máy 8-bit với đường dữ liệu tới bộ nhớ 8-bit
Được dùng trên máy tính cá nhân đầu tiên (Altair)
8086
Máy 16-bit
Sử dụng cache cho lệnh, hoặc hàng đợi
Hiện diện đầu tiên của kiến trúc x86
Máy 32 bit đầu tiên của Intel
Bộ xử lý Intel đầu tiên hỗ trợ thao tác đa nhiệm
80486
Kĩ thuật cache và ống dẫn lệnh (pipeline) phức tạp hơn
Tích hợp sẵn bộ xử lý toán học
Trang 44Sự phát triển của x86 - Pentium
• Đổi tên thanh ghi tích cực
• Dự đoán nhánh
• Phân tích dòng dữ liệu
• Thi hành lệnh theo suy đoán
Pentium II
• Kĩ thuật MMX
• Thiết kế đặc biết
để xử lý video, audio và
dữ liệu đồ hoạ
Pentium III
• Thêm vào các lệnh dấu phẩy động để
hỗ trỡ các phần
mềm đồ hoạ 3D
Pentium 4
• Thêm các lệnh dấu phẩy động
và những cải tiến khác cho
đa phương tiện
Trang 45Sự phát triển của x86 (2)
Core
Vi xử lý Intel x86 đầu tiên
có dual core – tức là thực hiện hai bộ xử lý trên một chip đơn
Trang 47Ví dụ về các hệ thống nhúng
Automotive
Ignition system Engine control Brake system
Consumer electronics
Digital and analog televisions Set-top boxes (DVDs, VCRs, Cable boxes) Personal digital assistants (PDA s)
Kitchen appliances (refrigerators, toasters, microwave ovens) Automobiles
Toys/games Telephones/cell phones/pagers Cameras
Global positioning systems Industrial control Robotics and controls systems for manufacturing
Sensors Medical
Infusion pumps Dialysis machines Prosthetic devices Cardiac monitors
Office automation
Fax machine Photocopier Printers Monitors Scanners
Trang 48+ Hệ thống nhúng
Hệ thống từ nhỏ đến
lớn, kéo theo nhiểu ràng buộc về giá thành
và nhiều yêu cầu để
tối ưu hoá và tái sử dụng khác nhau
Độ bền ngắn hoặc dài
Không quá nghiêm ngặt với các yêu cầu và
sự kết hợp các yêu cầu chất lượng khác nhau như độ an toàn, tin cậy, thời gian thực và độ
tổ hợp and hay or
Các mô hình tính toán khác nhau từ hệ thống
sự kiện rời rạc đến hệ thống kết hợp hybrid
Yêu cầu và ràng buộc
Trang 49+ Tổ chức của hệ thống nhúng
Auxiliary Systems (power, cooling)
Memory
FPGA/
ASIC
Human interface
Diagnostic port
D/A Conversion
A/D conversion
Electromechanical backup and safety
Processor Software
External environment Figure 2.12 Possible Organization of an Embedded System
Trang 50PDA, các thiết bị cầm tay
rộng rãi nhất
năm 1985 và ARM3 năm 1989
thành lập ARM Ltd
Trang 51Family Notable Features Cache Typical MIPS @
MHz
ARM1 32-bit RISC None
ARM2 Multiply and swap
instructions;
Integrated memory management unit, graphics and I/O processor
floating-4 KB unified 28 MIPS @ 33 MHz
ARM7 Integrated SoC 8 KB unified 60 MIPS @ 60 MHz
ARM8 5-stage pipeline; static
branch prediction
8 KB unified 84 MIPS @ 72 MHz
ARM9 16 KB/16 KB 300 MIPS @ 300
MHz ARM9E Enhanced DSP
instructions 16 KB/16 KB 220 MIPS @ 200 MHz ARM10E 6-stage pipeline 32 KB/32 KB
ARM11 9-stage pipeline Variable 740 MIPS @ 665
MHz Cortex 13-stage superscalar
pipeline Variable 2000 MIPS @ 1 GHz XScale Applications
processor; 7-stage pipeline
Trang 52Các hạng mục thiết kế ARM
Thiết kế bộ xử lý ARM cần phải đáp ứng ba hạng mục sau:
Platforms ứng dụng
hành mở bao gồm Linux, Palm
OS, Symbian OS, và Windows
CE trong các ứng dụng không dây và ảnh số
và các thiết bị thanh toán
Trang 53+
6 ĐÁNH GIÁ HIỆU SUẤT MÁY
Trang 54+
6.1 Đồng hồ hệ thống
Trang 556.2 Chuẩn so sánh (Benchmark)
Ví dụ: xét 1 câu lệnh ngôn ngữ lập trình bậc cao như sau:
A = B + C /* giả sử tất cả giá trị nằm trong bộ nhớ chính*/
Với kiến trúc tập lệnh truyền thống, theo kiến trúc CISC (Complex instruction set computer -CISC), lệnh này có thể được biên
dịch thành 1 lệnh sau trong bộ xử lý
add mem(B), mem(C), mem (A)
Trên một máy RISC điển hình, phần biên dịch sẽ như sau:
load mem(B), reg(1);
load mem(C), reg(2);
add reg(1), reg(2), reg(3);
store reg(3), mem (A)
Trang 56+ Đặc tính mong muốn của chuẩn so sánh
Viết bằng ngôn ngữ bậc cao, có thể
chạy trên các thiết bị khác nhau
Đại diện cho một kiểu lập trình riêng,
ví dụ lập trình hệ thống, lập trình số học hoặc lập trình thương mại
Có thể so sánh dễ dàng
Được sử dụng rộng rãi
Trang 57 Xác định và duy trì các bộ tiêu chuẩn nổi tiếng
so sánh và nghiên cứu
Trang 58+
SPEC
CPU2006
Bộ tiêu chuẩn SPEC nổi tiếng nhất
ứng dụng chuyên dụng bộ xử lý
Thích hợp để đo hiệu suất cho các ứng dụng dành phần nhiều thời gian để tính toán hơn là I/O
phẩy động được viết bằng C, C ++,
và Fortran; 12 chương trình số nguyên viết bằng C và C ++
Thế hệ bộ vi xử lý thứ năm của SPEC
Trang 59+
6.3 Luật
Amdahl
Gene Amdahl [AMDA67]
Giải quyết sự tăng tốc của chương trình sử dụng nhiều bộ
xử lý so với sử dụng 1 bộ xử lý
Mô tả các vấn đề mà nền công nghiệp phải đối mặt khi phát triển bộ xử lý đa lõi
môi trường thi hành lệnh song song để tận dụng sức mạnh của xử lý song song
Có thể khái quát hoá để đánh giá và thiết kế các nâng cấp về
kĩ thuật trong hệ thống máy tính
Trang 60+
6.4 Luật Little
định và không có rò rỉ
Nếu máy chủ (server) đang rỗi, mọi đối tượng được xử lý ngay lập tức, nếu không thì các đối tượng đươc chuyển đến hàng đợi
Có thể có một hàng đợi cho một server hoặc nhiều server, hay
cũng có thể có nhiều hàng đợi với mỗi hàng đợi cung cấp cho
nhiều server
bình nhân với thời gian mà một đối tượng ở trong hệ thống
Mối quan hệ yêu cầu rất ít giả thiết
Với tính đơn giản và tổng quát, hàng đợi là cực kì hữu dụng