Bài giảng Hệ thống máy tính: Chương 1 - Nguyễn Kim Khánh giới thiệu đến các bạn các kiến thức về sự phát triển của máy tính, định nghĩa kiến trúc máy tính, hiệu năng máy tính. Để nắm vững hơn nội dung kiến thức bài giảng mời các bạn cùng tham khảo tài liệu.
Trang 18 September 2009
HỆ THỐNG MÁY TÍNH
Computer System
Nguyễn Kim Khánh, PhD in Computer Engineering
Bộ môn Kỹ thuật máy tính Viện Công nghệ thông tin và Truyền thông Trường Đại học Bách khoa Hà Nội
8 September 2009
Contact
Offices: 322-C1 - DCE, SoICT
Mobile: 091-358-5533
e-mail:
NKK-HUT
Mục tiêu học phần
Giới thiệu các kiến thức cơ bản về hệ thống máy tính bao gồm: kiến trúc bộ nhớ, kiến trúc vào-ra, kiến trúc CPU và các kiến trúc máy tính song song, cũng như các vấn đề cơ bản trong thiết kế một hệ thống máy tính
Sinh viên có khả năng đánh giá được hiệu năng của các họ máy tính, khai thác và sử dụng hiệu quả các loại máy tính và có khả năng tiếp cận để phát triển các hệ máy tính nhúng phục vụ các mục đích chuyên dụng
NKK-HUT Tài liệu tham khảo chính
1 William Stallings - Computer Organization and
Architecture – Designing for Performance – 2003 (6 th edition)
2 Behrooz Parhami - Computer Architecture: From Microprocessors to Supercomputers -2005
3 David A Patterson & John L Hennessy -Computer Organization and Design : The Hardware/Software Interface – 2002 (third edition )
-Computer Architecture: A Quantitative Approach –
2003 (third edition)
Trang 28 September 2009
Tài liệu tham khảo
8 September 2009
Tài liệu tham khảo
NKK-HUT
Nội dung học phần
Chương 1 Giới thiệu chung
Chương 2 Kiến trúc bộ nhớ
Chương 3 Kiến trúc vào-ra
Chương 4 Kiến trúc bộ xử lý
Chương 5 Kiến trúc máy tính tiên tiến
NKK-HUT
Hệ thống máy tính
Chương 1
GIỚI THIỆU CHUNG
Nguyễn Kim Khánh
Trường Đại học Bách khoa Hà Nội
Trang 38 September 2009
1.1 Sự phát triển của máy tính 1.2 Định nghĩa kiến trúc máy tính 1.3 Hiệu năng máy tính
Nội dung
8 September 2009
1.1 Sự phát triển của của máy tính
1 Các thế hệ máy tính
Thế hệ thứ nhất: Máy tính dùng đèn điện tử
chân không (1950s)
Thế hệ thứ hai: Máy tính dùng transistor
(1960s)
Thế hệ thứ ba: Máy tính dùng vi mạch SSI, MSI và LSI(1970s)
Thế hệ thứ tư: Máy tính dùng vi mạch VLSI
(1980s)
Thế hệ thứ năm: Máy tính dùng vi mạch ULSI, SoC (1990s đến nay)
NKK-HUT
Bộ vi xử lý (Microprocessor): CPU được chế tạo trên một chip
Vi mạch điều khiển tổng hợp(Chipset): một hoặc một vài vi mạch thực hiện được nhiều chức năng điều khiển và nối ghép
Bộ nhớ bán dẫn(Semiconductor Memory):
ROM, RAM
Các bộ vi điều khiển(Microcontroller): máy tính chuyên dụng được chế tạo trên 1 chip
Các sản phẩm chính của công nghệ VLSI/ULSI
NKK-HUT Luật Moore
Gordon Moore – người đồng sáng lập Intel
Số transistors trên chip sẽ gấp đôi sau 18 tháng
Giá thành của chip hầu như không thay đổi
Mật độ cao hơn, do vậy đường dẫn ngắn hơn
Kích thước nhỏ hơn dẫn tới độ phức tạp tăng lên
Điện năng tiêu thụ ít hơn
Hệ thống có ít các chip liên kết với nhau, do đó tăng độ tin cậy
Trang 48 September 2009
Tăng trưởng số transistor trong chip CPU
8 September 2009
2 Sự phát triển của bộ vi xử lý
1971: bộ vi xử lý 4-bit Intel 4004
1972-1977: các bộ xử lý 8-bit
1978-1984: các bộ xử lý 16-bit
Khoảng từ 1985: các bộ xử lý 32-bit
Khoảng từ 2000: các bộ xử lý 64-bit
Các bộ xử lý đa lõi (multicores)
Các bộ vi điều khiển (microcontroller)
NKK-HUT
Sự phát triển của Intel x86
4004
Bộ vi xử lý đầu tiên
4-bit
8080
Bộ vi xử lý đa năng đầu tiên
8-bit
Sử dụng trong PC đầu tiên – Altair
8086
5MHz – 29,000 transistors
16-bit
8088 (bus dữ liệu bên ngoài 8-bit) sử dụng trong IBM PC đầu tiên
80286
Đánh địa chỉ bộ nhớ được16 Mbyte
NKK-HUT
Sự phát triển của Intel x86
80386
32-bit
Hỗ trợ đa nhiệm
80486
Tăng cường bộ nhớ cache trên chip
Đường ống lệnh
Có bộ đồng xử lý toán trên chip
Pentium
Siêu vô hướng
Bus dữ liệu 64-bit
Đa lệnh được thực hiện song song
Pentium Pro
Tăng cường tổ chức siêu vô hướng
Dự đoán rẽ nhánh
Phân tích luồng dữ liệu
Suy đoán đông
Trang 58 September 2009
Sự phát triển của Intel x86
Pentium II
Công nghệ MMX
Xử lý đồ họa, video & audio
Pentium III
Thêm các lệnh xử lý dấu phẩy động cho đồ họa 3D
Pentium 4
Tăng cường xử lý số dấu phẩy động và multimedia
Duo Core: 2 bộ xử lý trên chip
Core 2: Kiến trúc 64-bit
Core 2 Quad – 3GHz – 820 triệu transistors
4 bộ xử lý trong 1chip
8 September 2009
1.2 Định nghĩa kiến trúc máy tính
Định nghĩa trước đây về kiến trúc máy tính:
Cách nhìn logic của máy tính từ người lập trình (hardware/software interface)
Kiến trúc tập lệnh (Instruction Set Architecture – ISA)
Là định nghĩa hẹp
NKK-HUT
Định nghĩa của Hennessy/ Patterson
Kiến trúc tập lệnh (Instruction Set Architecture):
nghiên cứu máy tính theo cách nhìn của người lập trình (hardware/software interface).
Tổ chức máy tính (Computer Organization): nghiên cứu thiết kế máy tính ở mức cao,chẳng hạn như hệ thống nhớ, cấu trúc bus, thiết kế bên trong CPU.
Phần cứng (Hardware): nghiên cứu thiết kế logic chi tiết và công nghệ đóng gói của máy tính.
phần cứng máy tính thay đổi rất nhanh
NKK-HUT
Tổ chức cơ bản của máy tính
control
arithmetic
memory
input
output
CPU
Processor Architecture MemoryArchitecture I/O Architecture
software
Instruction Set Architecture
Trang 68 September 2009
Kiến trúc bộ xử lý
Register
Program Counter(PC)
Instruction Reg(IR)
ALU Arithmetic Unit
Controller
Main Memory
Control Signal Status signal
CPU
Program Data
instruction cycle
• instruction fetch
• instruction decode
• operand fetch
• instruction execution
• write result
• update PC
8 September 2009
Kiến trúc bộ nhớ
• Phân cấp hệ thống nhớ
• Nguyên lý cục bộ hóa tham chiếu bộ nhớ
NKK-HUT
Kiến trúc vào-ra
M«-®un vµo-ra
M«-®un vµo-ra
Cæng vµo-ra
ThiÕt bÞ ngo¹i vi
ThiÕt bÞ ngo¹i vi
ThiÕt bÞ ngo¹i vi
nèi ghÐp víi CPU vµ
bé nhí chÝnh
Cæng vµo-ra
Cæng vµo-ra
bus
hÖ thèng
NKK-HUT Kiến trúc vào-ra
Chênh lệch tốc độ giữa thiết bị vào-ra với CPU và bộ nhớ
Các kỹ thuật thực hiện:
Ngắt: rút ngắn thời gian đợi đáp ứng từ thiết bị vào-ra
DMA: Phần cứng dành riêng để truyền dữ liệu giữa thiết bị vào-ra với bộ nhớ chính
Trang 78 September 2009
Kiến trúc máy tính và hệ điều hành user
application program OS
hardware processor memory I/O device
hardware resource management
multi programming support
•OS mode / user mode
•process dispatch
•memory protection
8 September 2009
1.3 Hiệu năng máy tính (performance)
Hiệu năng =
Thời gian thực hiện
1
Hiệu năng =
Thời gian thực hiện của CPU
1
= Số lệnh × (Số chu kỳ của một lệnh) × (Thời gian của một chu kỳ)
= Số lệnh × CPI / (Tần số xung nhịp)
NKK-HUT
CPI (Cycles Per Instruction) CPI là số chu kỳ cần thiết để thực hiện lệnh
Thời gian thực hiện =
Tần số xung nhịp
Số lệnh được thực hiện × CPI
CPI =
Số lệnh được thực hiện Thời gian thực hiện × Tần số xung nhịp
NKK-HUT
Số lệnh được thực hiện
MIPS (Million Instruction Per Second)
Số triệu lệnh được thực hiện trong 1 second
MIPS =
Thời gian thực hiện×106
Trang 88 September 2009
10 6 ・ CPI f
Quan hệ giữa MIPS và CPI
exec time of 1 inst.
Với CPI = 4
program execution time(T)
n inst executed
T=n・CPI・
f
1
MIPS= n
T・10 6
MIPS=
10 6 ・ MIPS
f CPI = exec time of 1 inst.
8 September 2009
Số phép toán số dấu phẩy động được thực hiện
MFLOPS million of floating point operations per second – triệu phép toán số dấu phẩy động trên 1s
MFLOPS =
Thời gian thực hiện×106
GFLOPS(10 9 ) TFLOPS(10 12 )
NKK-HUT
Ví dụ 1
Tính MIPS của bộ xử lý với:
Tần số xung nhịp = 2GHz và CPI = 4
0.5ns
2ns
1 chu kỳ = 1/(2x10-9) = 0,5ns CPI = 4 Æ 1 lệnh = 4x0,5ns = 2ns Vậy bộ xử lý thực hiện được 500MIPS
NKK-HUT
Ví dụ 2 Tính CPI của bộ xử lý với:
Tần số xung nhịp = 1GHz và 400 MIPS
1ns
4x108 lệnh thực hiện trong 1s
Æ 1 lệnh thực hiện trong 1/(4x108)s = 2,5ns
Æ CPI = 2,5
Trang 98 September 2009
Hết chương 1