Bài giảng Kiến trúc máy tính - Nguyễn Kim Khánh (Bản đầy đủ)
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Hanoi University of Science and Technology
KIẾN TRÚC MÁY TÍNH
Computer Architecture
Nguyễn Kim Khánh
Bộ môn Kỹ thuật máy tính
Viện Công nghệ Thông tin và Truyền thông
Department of Computer Engineering (DCE)
School of Information and Communication Technology (SoICT)
Version: CA2020
NKK-HUST
Contact Information
n
Address: 502-B1
n
n
Mobile: 091-358-5533
CA2020
Kiến trúc máy tính
2
NKK-HUST
Mục tiêu học phần
n Sinh viên được trang bị các kiến thức cơ sở về
kiến trúc tập lệnh và tổ chức bên trong của máy
tính, cũng như những nguyên tắc cơ bản trong
thiết kế máy tính.
n Sau khi học xong học phần này, sinh viên có
khả năng:
n
n
n
Tìm hiểu kiến trúc tập lệnh của các máy tính cụ thể
Lập trình hợp ngữ
Đánh giá hiệu năng máy tính và cải thiện hiệu năng
của chương trình
n
n
Khai thác và quản trị hiệu quả các hệ thống máy tính
Phân tích và thiết kế máy tính
Kiến trúc máy tính
CA2020
3
NKK-HUST
Tài liệu học tập
n Bài giảng Kiến trúc máy tính: CA2020.pdf
n Sách tham khảo:
[1] William Stallings
Computer Organization and Architecture – 2013, 9th edition
[2] David A. Patterson, John L. Hennessy
Computer Organization and Design – 2012, Revised 4th edition
[3] David Money Harris, Sarah L. Harris
Digital Design and Computer Architecture – 2013, 2nd edition
[4] Andrew S. Tanenbaum
Structured Computer Organization – 2013, 6th edition
n Phần mềm lập trình hợp ngữ và mô phỏng cho MIPS:
MARS (MIPS Assembler and Runtime Simulator)
CA2020
Kiến trúc máy tính
4
NKK-HUST
Nội dung học phần
Chương 1. Giới thiệu chung
Chương 2. Cơ bản về logic số
Chương 3. Hệ thống máy tính
Chương 4. Số học máy tính
Chương 5. Kiến trúc tập lệnh
Chương 6. Bộ xử lý
Chương 7. Bộ nhớ máy tính
Chương 8. Hệ thống vào-ra
Chương 9. Các kiến trúc song song
CA2020
Kiến trúc máy tính
5
NKK-HUST
Content
Chapter 1. Introduction
Chapter 2. The Basics of Digital Logic
Chapter 3. Computer Systems
Chapter 4. Computer Arithmetic
Chapter 5. Instruction Set Architecture
Chapter 6. The Processors
Chapter 7. Computer Memory
Chapter 8. Input-Output Systems
Chapter 9. Parallel Architectures
CA2020
Kiến trúc máy tính
6
NKK-HUST
Kiến trúc 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
CA2020
Kiến trúc máy tính
7
NKK-HUST
Nội dung của chương 1
1.1. Máy tính và phân loại máy tính
1.2. Khái niệm kiến trúc máy tính
1.3. Sự tiến hóa của công nghệ máy tính
1.4. Hiệu năng máy tính
CA2020
Kiến trúc máy tính
8
NKK-HUST
1.1. Máy tính và phân loại máy tính
n Máy tính (Computer) là thiết bị điện tử thực
hiện các công việc sau:
n
Nhận dữ liệu vào,
n
Xử lý dữ liệu theo dãy các lệnh được nhớ sẵn bên
trong,
n
Đưa dữ liệu (thông tin) ra.
n Dãy các lệnh nằm trong bộ nhớ để yêu cầu
máy tính thực hiện công việc cụ thể gọi là
chương trình (program).
à Máy tính hoạt động theo chương trình
CA2020
Kiến trúc máy tính
9
NKK-HUST
Mô hình đơn giản của máy tính
xử lý dữ liệu
Bộ xử lý
trung tâm
(Central
Các
Các
Processing Unit)
thiết bị vào
(Input
Devices)
thiết bị ra
(Output
Devices)
Bộ nhớ chính
(Main Memory)
dữ liệu ra
dữ liệu vào
chương trình
đang thực hiện
CA2020
Kiến trúc máy tính
10
NKK-HUST
Phân loại máy tính kỷ nguyên PC
n Máy tính cá nhân (Personal Computers)
n
Desktop computers, Laptop computers
n
Máy tính đa dụng
n Máy chủ (Servers) – máy phục vụ
n
n
n
Dùng trong mạng để quản lý và cung cấp các dịch vụ
Hiệu năng và độ tin cậy cao
Hàng nghìn đến hàng triệu USD
n Siêu máy tính (Supercomputers)
n
Dùng cho tính toán cao cấp trong khoa học và kỹ thuật
n
Hàng triệu đến hàng trăm triệu USD
n Máy tính nhúng (Embedded Computers)
n
Đặt ẩn trong thiết bị khác
n
Được thiết kế chuyên dụng
CA2020
Kiến trúc máy tính
11
NKK-HUST
Phân loại máy tính kỷ nguyên sau PC
n Thiết bị di động cá nhân (PMD - Personal Mobile
Devices)
n
Smartphones, Tablet
n
Kết nối Internet
n Điện toán đám mây (Cloud Computing)
n
n
n
Sử dụng máy tính qui mô lớn (Warehouse Scale
Computers), gồm rất nhiều servers kết nối với nhau
Cho các công ty thuê một phần để cung cấp dịch vụ
phần mềm
Software as a Service (SaaS): một phần của phần
mềm chạy trên PMD, một phần chạy trên Cloud
CA2020
Kiến trúc máy tính
12
NKK-HUST
1.2. Khái niệm kiến trúc máy tính
n Kiến trúc máy tính bao gồm:
n
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
n
Tổ chức máy tính (Computer Organization) hay
Vi kiến trúc (Microarchitecture): nghiên cứu thiết kế
máy tính ở mức cao (thiết kế CPU, hệ thống nhớ,
cấu trúc bus, ...)
n
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.
n Cùng một kiến trúc tập lệnh có thể có nhiều sản
phẩm (tổ chức, phần cứng) khác nhau
Kiến trúc máy tính
CA2020
13
NKK-HUST
Phân lớp máy tính
n Phần mềm ứng dụng
n
Được viết theo ngôn ngữ bậc cao
Người
sử dụng
Người
lập trình
n Phần mềm hệ thống
Người
lập trình
hệ thống
n
Chương trình dịch (Compiler): dịch mã
ngôn ngữ bậc cao thành ngôn ngữ máy
Phần mềm ứng dụng
Phần mềm hệ thống
Phần cứng
n
Hệ điều hành (Operating System)
n
Lập lịch cho các nhiệm vụ và chia sẻ tài
nguyên
n
n
Quản lý bộ nhớ và lưu trữ
Điều khiển vào-ra
n Phần cứng
n
Bộ xử lý, bộ nhớ, mô-đun vào-ra
CA2020
Kiến trúc máy tính
14
NKK-HUST
Các mức của mã chương trình
High-level
language
swap(int v[], int k)
{int temp;
n Ngôn ngữ bậc cao
program
(in C)
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
}
n
High-level language – HLL
n
Mức trừu tượng gần với
vấn đề cần giải quyết
Compiler
n
Hiệu quả và linh động
Assembly
language
program
swap:
multi $2, $5,4
n Hợp ngữ
add
lw
lw
sw
sw
jr
$2, $4,$2
$15, 0($2)
$16, 4($2)
$16, 0($2)
$15, 4($2)
$31
(for MIPS)
n
Assembly language
Mô tả lệnh dưới dạng text
n
n Ngôn ngữ máy
Assembler
n
n
n
Machine language
Mô tả theo phần cứng
Các lệnh và dữ liệu được
mã hóa theo nhị phân
Binary machine
language
program
00000000101000100000000100011000
00000000100000100001000000100001
10001101111000100000000000000000
10001110000100100000000000000100
10101110000100100000000000000000
10101101111000100000000000000100
00000011111000000000000000001000
(for MIPS)
CA2020
Kiến trúc máy tính
15
NKK-HUST
Các thành phần cơ bản của máy tính
n Giống nhau với tất cả các loại
máy tính
n Bộ xử lý trung tâm (Central
CPU
Bộ nhớ chính
Processing Unit – CPU)
n
Điều khiển hoạt động của máy
tính và xử lý dữ liệu
Bus hệ thống
n Bộ nhớ chính (Main Memory)
n
Chứa các chương trình đang
thực hiện
Hệ thống vào-ra
n Hệ thống vào-ra (Input/Output)
n
Trao đổi thông tin giữa máy tính
với bên ngoài
n Bus hệ thống (System bus)
n
Kết nối và vận chuyển thông tin
CA2020
Kiến trúc máy tính
16
NKK-HUST
1.3. Sự tiến hóa của công nghệ máy tính
n Máy tính dùng đèn điện tử chân không (1950s)
n
Máy tính ENIAC: máy tính đầu tiên (1946)
n
Máy tính IAS: máy tính von Neumann (1952)
n Máy tính dùng transistors (1960s)
n Máy tính dùng vi mạch SSI, MSI và LSI (1970s)
n
n
n
SSI - Small Scale Integration
MSI - Medium Scale Integration
LSI - Large Scale Integration
n Máy tính dùng vi mạch VLSI (1980s)
n
VLSI - Very Large Scale Integration
n Máy tính dùng vi mạch ULSI (1990s-nay)
n
ULSI - Ultra Large Scale Integration
CA2020
Kiến trúc máy tính
17
NKK-HUST
Máy tính đầu tiên: ENIAC và IAS
n Electronic Numerical Intergator
and Computer
n Thực hiện tại Princeton Institute
for Advanced Studies
n Dự án của Bộ Quốc phòng Mỹ
n Do John von Neumann thiết kế
theo ý tưởng “stored program”
n Xử lý theo số nhị phân
n Do John Mauchly ở đại học
Pennsylvania thiết kế
n 30 tấn
n Trở thành mô hình cơ bản của
máy tính
Kiến trúc máy tính
n Xử lý theo số thập phân
CA2020
18
NKK-HUST
Máy tính ngày nay
Massive Cluster
Clusters
Gigabit Ethernet
Sensor
Nets
Cars
Rob
Robots
Routers
CA2020
Kiến trúc máy tính
19
NKK-HUST
Một số loại vi mạch số điển hình
n Bộ vi xử lý (Microprocessors)
n
Một hoặc một vài CPU được chế tạo trên một chip
n Vi mạch điều khiển tổng hợp (Chipset)
n
Vi mạch thực hiện các chức năng nối ghép các thành
phần của máy tính với nhau
n Bộ nhớ bán dẫn (Semiconductor Memory)
n
ROM, RAM, Flash memory
n Hệ thống trên chip (SoC – System on Chip) hay
Bộ vi điều khiển (Microcontrollers)
n
Tích hợp các thành phần chính của máy tính trên một
chip vi mạch
n
Được sử dụng chủ yếu trên smartphone, tablet và các
máy tính nhúng
CA2020
Kiến trúc máy tính
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Nguyễn Kim Khánh (Bản đầy đủ)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_giang_kien_truc_may_tinh_nguyen_kim_khanh_ban_day_du.pdf