Bài giảng Hệ thống máy tính - Chương 1: Giới thiệu chung - Nguyễn Kim Khánh
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
Bạn đang xem nội dung tài liệu Bài giảng Hệ thống máy tính - Chương 1: Giới thiệu chung - Nguyễn Kim Khánh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 1
8 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
NKK-HUT
Contact
Offices: 322-C1 - DCE, SoICT
Mobile: 091-358-5533
e-mail:
khanhnk@mail.hut.edu.vn
khanhnk@it-hut.edu.vn
8 September 2009
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.
8 September 2009
NKK-HUT
Tài liệu tham khảo chính
1. William Stallings - Computer Organization and
Architecture – Designing for Performance – 2003 (6th
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)
4. John L. Hennessy & David A. Patterson -
Computer Architecture: A Quantitative Approach –
2003 (third edition)
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 2
8 September 2009
NKK-HUT
Tài liệu tham khảo ...
8 September 2009
NKK-HUT
Tài liệu tham khảo ...
8 September 2009
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
8 September 2009
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
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 3
8 September 2009
NKK-HUT
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
NKK-HUT
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)
8 September 2009
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
8 September 2009
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
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 4
8 September 2009
NKK-HUT
Tăng trưởng số transistor trong chip CPU
8 September 2009
NKK-HUT
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)
8 September 2009
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
8 September 2009
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
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 5
8 September 2009
NKK-HUT
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
NKK-HUT
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
8 September 2009
NKK-HUT
Định nghĩa của Hennessy/ Patterson
Kiến trúc máy tính bao gồm:
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.
Kiến trúc tập lệnh thay đổi chậm, tổ chức và
phần cứng máy tính thay đổi rất nhanh.
8 September 2009
NKK-HUT
Tổ chức cơ bản của máy tính
control
arithmetic
memory
input
output
CPU
Processor
Architecture
Memory
Architecture
I/O Architecture
software
Instruction Set Architecture
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 6
8 September 2009
NKK-HUT
Kiến trúc bộ xử lý
Register
Program Counter(PC)
Instruction Reg(IR)
ALU
Arithmetic Unit
Controller
Main Memory
Control SignalStatus signal
CPU
Program
Data
instruction cycle
• instruction fetch
• instruction decode
• operand fetch
• instruction execution
• write result
• update PC
8 September 2009
NKK-HUT
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ớ
8 September 2009
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
8 September 2009
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
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 7
8 September 2009
NKK-HUT
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
NKK-HUT
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
Thời gian thực hiện của CPU =
= 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)
8 September 2009
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
8 September 2009
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
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 8
8 September 2009
NKK-HUT
106 ・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・106
MIPS=
106 ・MIPS
f
CPI =
exec time of 1 inst.
8 September 2009
NKK-HUT
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(109 )
TFLOPS(1012)
8 September 2009
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
8 September 2009
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
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 9
8 September 2009
NKK-HUT
Hết chương 1