Kiến trúc máy tính
Chương I – a: Tổng quan về môn học
Về môn học
Dành cho những sinh viên yêu thích môn học, thích
điểm cao và không thích nhìn lưng giảng viên.
Yêu cầu: Có kiến thức về lập trình cơ bản C/C++
hoặc Java.
Mục tiêu môn học
Tìm hiểu chức năng và hoạt động của các thành phần cơ bản trong hệ
thống máy tính bao gồm Bộ xử lý (processor), bộ nhớ (memory), vào /
ra (input/output).
Bắt buộc phải hiểu: Đánh giá hiệu năng (performance)
Giao diện phần cứng / phần mềm
Có thể viết chương trình bằng hợp ngữ.
Những vấn đề trọng tâm
Hợp ngữ MIPS
Mức logic số
Thiết kế bộ xử lý
Kỹ thuật đường ống
Bộ nhớ đệm cache
Vào / ra
Tại sao lại dùng
MIPS? Tôi không sở
hữu máy tính MIPS…
MIPS đơn
giản, x86 thì
không
Nội dung chương 1
Lịch sử phát triển của máy tính
Khái niệm cơ bản về kiến trúc máy tính
Tìm hiểu bên trong máy tính
Tìm hiểu bên trong bộ vi xử lý
Tìm hiểu chương trình thực thi trên máy tính
Kiến trúc máy tính là gì?
Tại sao phải quan tâm?
Phân loại như thế nào?
Lịch sử phát triển của máy tính
Cơ
•Blaise Pascal (1642)
•1642 - 1945
ENIAC (1946)
18.000 bóng đèn
1500 rơle
30 tấn
140 kw
Transistor (1958)
•Burroughs 6500
•NCR, CDC 6600
IC(Integrated
Circuit)
•LSI – VLSI
•Xử lý song song
Khái niệm cơ bản về kiến trúc máy tính
Phần
cứng
Phần mềm
hệ thống
Phần mềm
ứng dụng
Phân loại
Chức
năng
Máy tính
chuyên
dụng
Máy tính
nhúng
Cấu trúc
bộ xử lý
RISC CISC
Cấu tạo
Von
newmann
Harvard
Kiến trúc vonNeumann
HUST-FET, 01/11/2013
10
Chương 1 – Thành phần cơ bản của máy tính
Central
Processing
Unit (CPU)
Memory
(ROM/RAM)
I/O
Devices
DRAM
SRAM
ROM
EEPROM
Flash
Intel 80X86
Motorola 680X
PowerPC
ASIP
…
Màn hình
Máy in
Bàn phím
Con chuột
Ổ cứng
Sensor,
Actor
…
PCI
PCIe
SCSI
USB
…
Bộ xử lý
trung tâm
CPU
Bộ nhớ
Memory
Phối ghép
vào/ra
(I/O)
Bus dữ liệu
Bus địa chỉ
Bus điều khiển
Thiết bị
vào/ra
Kiến trúc Havard
HUST-FET, 01/11/2013
11
Bộ xử lý
trung tâm
CPU
Bộ nhớ
dữ liệu
Phối ghép
vào/ra
(I/O)
Bus dữ liệu
Bus địa chỉ
Bus điều khiển
Thiết bị
vào/ra
Bus địa chỉ
Bus điều khiển
Bus dữ liệu
Bộ nhớ
lệnh
DEC Alpha, AMD 29k, ARC, ARM, Atmel AVR, MIPS, PA-RISC,
Power(PowerPC), SuperH, và SPARC
ARM (Acorn RISC Machine)
MIPS (Microprocessor without Interlocked Pipeline Stages)
Có bao nhiêu SV biết về ARM?
Hãy tra wikipedia để có khái niệm sơ bộ về ARM.
From ARM
Kiến trúc RISC (Reduce Instruction
Set Computer)
Các máy tính nhúng thông dụng nhất
trên thế giới
“big.LITTLE” là gì ?
Big processor cores (Lõi xử lý lớn): Hiệu năng tính toán cao.
Little processor cores (Lõi xử lý nhỏ): Năng lượng tiêu thụ thấp.
From ARM
Big
Little
Tại sao phát triển lõi big.Little?
Pin điện thoại sẽ dùng
được lâu nhất có thể
Kiến trúc LITTLE và BIG
LITTLE
• Đơn giản
• Ít các đơn vị chức năng
• Xử lý chậm
• Đường ống ngắn
BIG
• Phức tạp
• Nhiều đơn vị chức năng
• Đường ống dài
• Xử lý nhanh
Mở rộng: Thiết kế
nhiều transitor với
cùng chi phí và sử
dụng hiệu quả
Why should they do this?
Answer:
Không thể tăng công
suất tiêu thụ. Cần cải
thiện hiệu suất nguồn.
Cách tốt nhất là sử dụng
tất cả transistors nhàn
rỗi.
Kiến trúc máy tính
Chương I – b: Tổng quan về môn học
Bài học bắt đầu từ các câu hỏi
Khối nào nằm bên trong máy tính?
– Processor (CPU)
– Memory (RAM)
– Input / Output
(keyboard,
network, monitor,
printer)
– Storage (hard
disk)
Cấu tạo của máy tính
Cấu tạo bộ xử lý
Bộ xử lý cơ bản: Bộ nhớ, Khối
điều khiển, Khối tính toán
Ví dụ: Biên dịch chương trình
HUST-FET, 01/11/2013
6
High-level language program (in C)
swap (int v[], int k)
(int temp;
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
)
Assembly language program (for MIPS)
swap: sll $2, $5, 2
add $2, $4, $2
lw $15, 0($2)
lw $16, 4($2)
sw $16, 0($2)
sw $15, 4($2)
jr $31
Machine (object, binary) code (for MIPS)
000000 00000 00101 0001000010000000
000000 00100 00010 0001000000100000
, , ,
C compiler
assembler
one-to-many
one-to-one
Các khối xử lý cơ bản
Bộ xử lý cơ bản: Bộ nhớ,
Khối điều khiển, Khối tính
toán