Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Hanoi University of Science and Technology
Contact Information
n
n
KIẾN TRÚC MÁY TÍNH
n
Computer Architecture
Address: 502-B1
Mobile: 091-358-5533
e-mail:
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: CA-2017
2017
NKK-HUST
Kiến trúc máy tính
NKK-HUST
Mục tiêu học phần
n
n
Tài liệu học tập
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 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.
Sau khi học xong học phần này, sinh viên có
khả năng:
n
n
n
n
n
2017
2
n
[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
Tìm hiểu kiến trúc tập lệnh của các bộ xử lý 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
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
Nguyễn Kim Khánh DCE-HUST
Bài giảng Kiến trúc máy tính
/>Sách tham khảo:
[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)
download tại: />
3
2017
Kiến trúc máy tính
4
1
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
2017
NKK-HUST
Nội dung học phần
Content
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
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
Kiến trúc máy tính
5
NKK-HUST
2017
Kiến trúc máy tính
6
NKK-HUST
Kiến trúc máy tính
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
Chương 1
GIỚI THIỆU CHUNG
Nguyễn Kim Khánh
Trường Đại học Bách khoa Hà Nội
2017
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
7
2017
Kiến trúc máy tính
8
2
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
1.1. Máy tính và phân loại máy tính
n
Mô hình đơn giản của máy tính
Máy tính (Computer) là thiết bị điện tử thực
hiện các công việc sau:
n
n
n
xử lý dữ liệu
Nhận dữ liệu vào,
Xử lý dữ liệu theo dãy các lệnh được nhớ sẵn bên
trong,
Đưa dữ liệu (thông tin) ra.
Các
thiết bị vào
(Input
Devices)
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
n
2017
Kiến trúc máy tính
dữ liệu vào
9
2017
n
Desktop computers, Laptop computers
Máy tính đa dụng
n
n
Thiết bị di động cá nhân (PMD - Personal Mobile
Devices)
n
Máy chủ (Servers) – máy phục vụ
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
n
n
n
Dùng cho tính toán cao cấp trong khoa học và kỹ thuật
Hàng triệu đến hàng trăm triệu USD
n
Máy tính nhúng (Embedded Computers)
n
n
Đặt ẩn trong thiết bị khác
Được thiết kế chuyên dụng
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
n
11
2017
Smartphones, Tablet
Kết nối Internet
Điện toán đám mây (Cloud Computing)
Siêu máy tính (Supercomputers)
n
2017
10
Phân loại máy tính kỷ nguyên sau PC
Máy tính cá nhân (Personal Computers)
n
n
dữ liệu ra
NKK-HUST
n
n
chương trình
đang thực hiện
Kiến trúc máy tính
Phân loại máy tính kỷ nguyên PC
n
Các
thiết bị ra
(Output
Devices)
Bộ nhớ chính
(Main Memory)
NKK-HUST
n
Bộ xử lý
trung tâm
(Central
Processing Unit)
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
Ví dụ: Amazon, Google
Kiến trúc máy tính
12
3
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
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
n
n
n
Phân lớp máy tính
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
Người
sử dụng
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, ...)
NKK-HUST
13
Ngôn ngữ bậc cao
Hợp ngữ
n
n
n
Assembly language
Mô tả lệnh dưới dạng text
n
n
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
Lập lịch cho các nhiệm vụ và chia sẻ tài
nguyên
n
Quản lý bộ nhớ và lưu trữ
n
Điều khiển vào-ra
Phần cứng
2017
Bộ xử lý, bộ nhớ, mô-đun vào-ra
Kiến trúc máy tính
NKK-HUST
Các thành phần cơ bản của máy tính
n
language such as C, Cϩϩ,
Java, or Visual Basic that
is composed of words
and algebraic notation
that can be translated by
a compiler into assembly
language.
n
CPU
Bộ nhớ chính
Giống nhau với tất cả các loại
máy tính
Bộ xử lý trung tâm (Central
Processing Unit – CPU)
n
Assembly
language
program
(for MIPS)
swap:
multi
add
lw
lw
sw
sw
jr
$2, $5,4
$2, $4,$2
$15, 0($2)
$16, 4($2)
$16, 0($2)
$15, 4($2)
$31
Bus hệ thống
n
n
n
2017
Trao đổi thông tin giữa máy tính
với bên ngoài
Bus hệ thống (System bus)
n
15
FIGURE 1.4 C program compiled into assembly language and then assembled into binary
machine language. Although the translation from high-level language to binary machine language is
shown in two steps, some compilers cut out the middleman and produce binary machine language directly.
These languages and this program are examined in more detail in Chapter 2.
Chứa các chương trình đang
thực hiện
Hệ thống vào-ra (Input/Output)
n
00000000101000100000000100011000
00000000100000100001000000100001
10001101111000100000000000000000
10001110000100100000000000000100
10101110000100100000000000000000
10101101111000100000000000000100
00000011111000000000000000001000
Điều khiển hoạt động của máy
tính và xử lý dữ liệu
Bộ nhớ chính (Main Memory)
n
Assembler
Binary machine
language
program
(for MIPS)
14
15
Hệ thống vào-ra
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
Hệ điều hành (Operating System)
Phần cứng
high-level
programming
language A portable
swap(int v[], int k)
{int temp;
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
}
Chương trình dịch (Compiler): dịch mã
ngôn ngữ bậc cao thành ngôn ngữ máy
n
Compiler
Ngôn ngữ máy
n
2017
High-level language – HLL
Mức trừu tượng gần với
vấn đề cần giải quyết
Hiệu quả và linh động
High-level
language
program
(in C)
Được viết theo ngôn ngữ bậc cao
Phần mềm hệ thống
Các mức của mã chương trình
n
n
n
The recognition that a program could be written to translate a more powerful
language into computer instructions was one of the great breakthroughs in the
early days of computing. Programmers today owe their productivity—and their
sanity—to the creation of high-level programming languages and compilers
that translate programs in such languages into instructions. Figure 1.4 shows the
relationships among these programs and languages, which are more examples of
the power of abstraction.
n
Người
lập trình
hệ thống
n
1.3 Below Your Program
n
Phần mềm hệ thống
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
n
n
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.
2017
n
Phần mềm ứng dụng
n
Người
lập trình
Phần mềm ứng dụng
n
Kết nối và vận chuyển thông tin
Kiến trúc máy tính
16
4
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
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
n
n
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
n
Máy tính ENIAC: máy tính đầu tiên (1946)
Máy tính IAS: máy tính von Neumann (1952)
Máy tính dùng transistors (1960s)
Máy tính dùng vi mạch SSI, MSI và LSI (1970s)
n
n
Máy tính đầu tiên: ENIAC và IAS
n
VLSI - Very Large Scale Integration
n
Máy tính dùng vi mạch ULSI (1990s-nay)
n
n
ULSI - Ultra Large Scale Integration
2017
n
Kiến trúc máy tính
17
NKK-HUST
Electronic Numerical Intergator
and Computer
Dự án của Bộ Quốc phòng Mỹ
Do John Mauchly ở đại học
Pennsylvania thiết kế
30 tấn
Xử lý theo số thập phân
2017
n
n
n
Thực hiện tại Princeton Institute
for Advanced Studies
Do John von Neumann thiết kế
theo ý tưởng “stored program”
Xử lý theo số nhị phân
Trở thành mô hình cơ bản của
máy tính
Kiến trúc máy tính
18
NKK-HUST
Máy tính ngày nay
Một số loại vi mạch số điển hình
Massive Cluster
Gigabit Ethernet
n
Bộ vi xử lý (Microprocessors)
n
Vi mạch điều khiển tổng hợp (Chipset)
n
Clusters
n
n
Refrigerators
Sensor
Nets
n
n
n
Routers
Routers
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
19
2017
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
ROM, RAM, Flash memory
Hệ thống trên chip (SoC – System on Chip) hay
Bộ vi điều khiển (Microcontrollers)
n
RobotsRobots
Một hoặc một vài CPU được chế tạo trên một chip
Bộ nhớ bán dẫn (Semiconductor Memory)
Cars
2017
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
Được sử dụng chủ yếu trên smartphone, tablet và các
máy tính nhúng
Kiến trúc máy tính
20
5
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
Sự phát triển của bộ vi xử lý
n
n
n
1971: bộ vi xử lý 4-bit Intel 4004
1972: các bộ xử lý 8-bit
1978: các bộ xử lý 16-bit
n
n
n
n
1.4. Hiệu năng máy tính
Hiệu năng = 1/(thời gian thực hiện)
hay là: P = 1/t
Máy tính cá nhân IBM-PC ra đời năm 1981
“Máy tính A nhanh hơn máy B k lần”
1985: các bộ xử lý 32-bit
2001: các bộ xử lý 64-bit
2006: các bộ xử lý đa lõi (multicores)
n
Định nghĩa hiệu năng P (Performance):
n
PA / PB = tB / tA = k
Ví dụ: Thời gian chạy chương trình:
n
Nhiều CPU trên 1 chip
n
n
n
2017
Kiến trúc máy tính
21
NKK-HUST
2017
Kiến trúc máy tính
Thời gian thực hiện của CPU
Về mặt thời gian, CPU hoạt động theo một xung nhịp
(clock) có tốc độ xác định
n
n
n
2017
Chu kỳ xung nhịp T0 (Clock period): thời gian của một
chu kỳ
Tốc độ xung nhịp f0 (Clock rate) hay là Tần số xung nhịp:
số chu kỳ trong 1s
n f0 = 1/T0
VD: Bộ xử lý có f0 = 4GHz = 4×109Hz
T0 = 1/(4x109) = 0.25x10–9s = 0.25ns
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
Để đơn giản, ta xét thời gian CPU thực hiện
chương trình (CPU time):
Thời gian thực hiện của CPU =
Số chu kỳ xung nhịp x Thời gian một chu kỳ
T0
n
22
NKK-HUST
Tốc độ xung nhịp của CPU
n
10s trên máy A, 15s trên máy B
tB / tA = 15s / 10s = 1.5
Vậy máy A nhanh hơn máy B 1.5 lần
tCPU = n × T0 =
n
f0
n: số chu kỳ xung nhịp
n
Hiệu năng được tăng lên bằng cách:
n
n
23
2017
Giảm số chu kỳ xung nhịp n
Tăng tốc độ xung nhịp f0
Kiến trúc máy tính
24
6
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
Ví dụ
n
n
Hai máy tính A và B cùng chạy một chương trình
Máy tính A:
n
n
n
Ta có:
Tốc độ xung nhịp của CPU: fA = 2GHz
Thời gian CPU thực hiện chương trình: tA = 10s
t=
n
n
f
Số chu kỳ xung nhịp khi chạy chương trình trên máy A:
nA = t A × f A = 10s × 2GHz = 20 ×10 9
Máy tính B:
n
n
Ví dụ (tiếp)
Thời gian CPU thực hiện chương trình: tB = 6s
Số chu kỳ xung nhịp khi chạy chương trình trên máy B (nB) nhiều
hơn 1.2 lần số chu kỳ xung nhịp khi chạy chương trình trên máy
A (nA)
Số chu kỳ xung nhịp khi chạy chương trình trên máy B:
nB = 1.2 × nA = 24 ×10 9
Hãy xác định tốc độ xung nhịp cần thiết cho máy B (fB)?
Tốc độ xung nhịp cần thiết cho máy B:
fB =
2017
Kiến trúc máy tính
25
NKK-HUST
nB 24 ×10 9
=
= 4 ×10 9 Hz = 4GHz
tB
6
2017
Kiến trúc máy tính
26
NKK-HUST
Số lệnh và số chu kỳ trên một lệnh
Ví dụ
Số chu kỳ xung nhịp của chương trình:
n
Số chu kỳ = Số lệnh của chương trình x Số chu kỳ trên một lệnh
n
n = IC × CPI
n
n
n
n
n - số chu kỳ xung nhịp
IC - số lệnh của chương trình (Instruction Count)
CPI - số chu kỳ trên một lệnh (Cycles per Instruction)
n
n
n
n
IC × CPI
f0
Chu kỳ xung nhịp: TA = 250ps
Số chu kỳ/ lệnh trung bình: CPIA = 2.0
Máy tính B:
n
Vậy thời gian thực hiện của CPU:
tCPU = IC × CPI × T0 =
Hai máy tính A và B có cùng kiến trúc tập lệnh
Máy tính A có:
Chu kỳ xung nhịp: TB = 500ps
Số chu kỳ/ lệnh trung bình: CPIB = 1.2
Hãy xác định máy nào nhanh hơn và nhanh hơn
bao nhiêu ?
Trong trường hợp các lệnh khác nhau có CPI khác nhau,
cần tính CPI trung bình
2017
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
27
2017
Kiến trúc máy tính
28
7
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
Ví dụ (tiếp)
Ta có:
CPI trung bình
tCPU = IC × CPITB × T0
n
Hai máy cùng kiến trúc tập lệnh, vì vậy số lệnh của cùng
một chương trình trên hai máy là bằng nhau:
Nếu loại lệnh khác nhau có số chu kỳ khác nhau,
ta có tổng số chu kỳ:
K
ICA = ICB = IC
n = ∑ (CPI i × ICi )
Thời gian thực hiện chương trình đó trên máy A và máy B:
i=1
t A = ICA × CPI A × TA = IC × 2.0 × 250 ps = IC × 500 ps
n
CPI trung bình:
t B = ICB × CPI B × TB = IC ×1.2 × 500 ps = IC × 600 ps
Từ đó ta có:
CPITB =
t B IC × 600 ps
=
= 1.2
t A IC × 500 ps
n
1 K
= ∑ (CPI i × ICi )
IC IC i=1
Kết luận: máy A nhanh hơn máy B 1.2 lần
2017
Kiến trúc máy tính
29
NKK-HUST
2017
Kiến trúc máy tính
NKK-HUST
Ví dụ
n
Ví dụ
Cho bảng chỉ ra các dãy lệnh sử dụng các lệnh
thuộc các loại A, B, C. Tính CPI trung bình?
n
Cho bảng chỉ ra các dãy lệnh sử dụng các lệnh
thuộc các loại A, B, C. Tính CPI trung bình?
Loại lệnh
A
B
C
Loại lệnh
A
B
CPI theo loại lệnh
1
2
3
CPI theo loại lệnh
1
2
3
IC trong dãy lệnh 1
20
10
20
IC trong dãy lệnh 1
20
10
20
IC trong dãy lệnh 2
40
10
10
IC trong dãy lệnh 2
40
10
10
n
Dãy lệnh 1: Số lệnh = 50
n
Số chu kỳ =
= 1x20 + 2x10 + 3x20 = 100
n CPITB = 100/50 = 2.0
n
2017
30
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
31
2017
Kiến trúc máy tính
C
Dãy lệnh 2: Số lệnh = 60
Số chu kỳ =
= 1x40 + 2x10 + 3x10 = 90
n CPITB = 90/60 = 1.5
n
32
8
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
MIPS như là thước đo hiệu năng
Tóm tắt về Hiệu năng
CPU Time =
Instructions Clock cycles Seconds
´
´
Program
Instruction Clock cycle
n
MIPS: Millions of Instructions Per Second
(Số triệu lệnh trên 1 giây)
Thời gian CPU = Số lệnh của chương trình x Số chu kỳ/lệnh
x Số giây của một chu kỳ
tCPU
n
MIPS =
IC × CPI
= IC × CPI × T0 =
f0
Instruction count
Instruction count
Clock rate
=
=
Execution time ×106 Instruction count × CPI ×106 CPI×106
Clock rate
Hiệu năng phụ thuộc vào:
n
n
n
n
n
MIPS =
Thuật giải
Ngôn ngữ lập trình
Chương trình dịch
Kiến trúc tập lệnh
Phần cứng
2017
Kiến trúc máy tính
33
NKK-HUST
f0
CPI ´ 10 6
2017
CPI =
f0
MIPS ´ 10 6
Kiến trúc máy tính
34
NKK-HUST
Ví dụ
Ví dụ
Tính MIPS của bộ xử lý với:
clock rate = 2GHz và CPI = 4
Tính MIPS của bộ xử lý với:
clock rate = 2GHz và CPI = 4
0.5ns
2ns
§
§
§
§
2017
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
35
2017
Chu kỳ T0 = 1/(2x109) = 0.5ns
CPI = 4 à thời gian thực hiện 1 lệnh = 4 x 0.5ns = 2ns
Số lệnh thực hiện trong 1s = (109ns)/(2ns) = 5x108 lệnh
Vậy bộ xử lý thực hiện được 500 MIPS
Kiến trúc máy tính
36
9
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
Ví dụ
Ví dụ
Tính CPI của bộ xử lý với:
clock rate = 1GHz và 400 MIPS
Tính CPI của bộ xử lý với:
clock rate = 1GHz và 400 MIPS
1ns
§
§
§
§
2017
Kiến trúc máy tính
37
NKK-HUST
2017
Kiến trúc máy tính
38
NKK-HUST
Các ý tưởng tuyệt vời trong kiến trúc máy tính
MFLOPS
1. Design for Moore’s Law
Thiết kế theo luật Moore
2. Use abstraction to simplify design
Sử dụng trừu tượng hóa để đơn giản thiết kế
3. Make the common case fast
Làm cho các trường hợp phổ biến thực hiện nhanh
4. Performance via parallelism
Tăng hiệu năng qua xử lý song song
5. Performance via pipelining
Tăng hiệu năng qua kỹ thuật đường ống
6. Performance via prediction
Tăng hiệu năng thông qua dự đoán
7. Hierarchy of memories
Phân cấp bộ nhớ
8. Dependability via redundancy
Tăng độ tin cậy thông qua dự phòng
§ Sử dụng cho các hệ thống tính toán lớn
§ Millions of Floating Point Operations per Second
§ Số triệu phép toán số dấu phẩy động trên một giây
MFLOPS =
Executed floating point operations
Execution time ×106
GFLOPS(109 )
TFLOPS(1012)
PFLOPS (1015)
2017
Chu kỳ T0 = 1/109 = 1ns
Số lệnh thực hiện trong 1 s là 400MIPS = 4x108 lệnh
Thời gian thực hiện 1 lệnh = 1/(4x108)s = 2.5ns
Vậy ta có: CPI = 2.5
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
39
2017
Kiến trúc máy tính
40
10
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
Kiến trúc máy tính
Chương 2
CƠ BẢN VỀ LOGIC SỐ
Hết chương 1
Nguyễn Kim Khánh
Trường Đại học Bách khoa Hà Nội
2017
Kiến trúc máy tính
41
NKK-HUST
2017
42
NKK-HUST
Nội dung của chương 2
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
2017
Kiến trúc máy tính
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
2.1. Các hệ đếm cơ bản
2.2. Đại số Boole
2.3. Các cổng logic
2.4. Mạch tổ hợp
2.5. Mạch dãy
43
2017
Kiến trúc máy tính
44
11
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
2.1. Các hệ đếm cơ bản
n
n
n
2017
1. Hệ thập phân
Hệ thập phân (Decimal System)
à con người sử dụng
Hệ nhị phân (Binary System)
à máy tính sử dụng
Hệ mười sáu (Hexadecimal System)
à dùng để viết gọn cho số nhị phân
Kiến trúc máy tính
Cơ số 10
n
10 chữ số: 0,1,2,3,4,5,6,7,8,9
Dùng n chữ số thập phân có thể biểu diễn
được 10n giá trị khác nhau:
n
45
NKK-HUST
n
00...000
= 0
n
99...999
= 10n - 1
2017
Kiến trúc máy tính
46
NKK-HUST
Dạng tổng quát của số thập phân
Ví dụ số thập phân
A = an an-1 ... a1a0 , a-1 ... a-m
472.38 = 4x102 + 7x101 + 2x100 + 3x10-1 + 8x10-2
n
Giá trị của A được hiểu như sau:
A = an10 n + an−110 n−1 +... + a1101 + a010 0 + a−110 −1 +... + a−m10 −m
n
A=
∑ a 10
i
n
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
Các chữ số của phần nguyên:
n
472 : 10 = 47 dư
2
n
47 : 10 = 4 dư
7
n
4 : 10 = 0 dư
4
Các chữ số của phần lẻ:
i
i=−m
2017
n
47
2017
n
0.38 x 10 = 3.8 phần nguyên =
3
n
0.8 x 10 = 8.0 phần nguyên =
8
Kiến trúc máy tính
48
12
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
Số nhịphân
2. Hệ nhị phân
n
n
n
n
n
Cơ số 2
2 chữ số nhị phân: 0 và 1
Chữ số nhị phân được gọi là bit (binary digit)
bit là đơn vị thông tin nhỏ nhất
Dùng n bit có thể biểu diễn được 2n giá trị khác
nhau:
n
n
n
00...000
11...111
Biểu diễn
số nhị phân
2-bit
3-bit
4-bit
Số
thậpphân
0
00
000
0000
0
1
01
001
0001
1
10
010
0010
2
11
011
0011
3
100
0100
4
101
0101
5
110
0110
6
111
0111
7
1000
8
= 0
= 2n - 1
Các lệnh của chương trình và dữ liệu trong
máy tính đều được mã hóa bằng số nhị phân
2017
Kiến trúc máy tính
49
NKK-HUST
2017
Kiến trúc máy tính
1001
9
1010
10
1011
11
1100
12
1101
13
1110
14
1111
15
50
NKK-HUST
Đơn vị dữ liệu và thông tin trong máy tính
n
n
n
Qui ước mới về ký hiệu đơn vị dữ liệu
bit – chữ số nhị phân (binary digit): là đơn vị thông
tin nhỏ nhất, cho phép nhận một trong hai giá trị: 0
hoặc 1.
byte là một tổ hợp 8 bit: có thể biểu diễn được 256
giá trị (28)
Qui ước các đơn vị dữ liệu:
n
n
n
n
n
n
2017
1-bit
KB (Kilobyte)
MB (Megabyte)
GB (Gigabyte)
TB (Terabyte)
PB (Petabyte)
EB (Exabyte)
= 210 bytes
= 210 KB
= 210 MB
= 210 GB
= 210 TB
= 210 PB
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
Theothập phân
= 1024 bytes
= 220bytes (~106)
= 230bytes (~109)
= 240bytes (~1012)
= 250bytes
= 260bytes
Viết tắt
Giá trị
Đơn vị
Viết tắt
Giá trị
kilobyte
KB
103
kibibyte
KiB
210 =1024
megabyte
MB
106
mebibyte
MiB
220
gigabyte
GB
109
gibibyte
GiB
230
TB
1012
tebibyte
TiB
240
petabyte
PB
1015
pebibyte
PiB
250
exabyte
EB
1018
exbibyte
EiB
260
terabyte
51
2017
Theonhị phân
Đơn vị
Kiến trúc máy tính
52
13
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
Dạng tổng quát của số nhị phân
A = an an−1 ... a1a0 , a−1 ... a−m
Ví dụ số nhị phân
1101001.1011(2) =
với ai=0 hoặc 1
6 5 4 3 2 1 0
= 26 + 25 + 23 + 20 + 2-1 + 2-3
Giá trị của A được tính như sau:
2-4
= 105.6875(10)
n
∑a2
+
= 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625
A = an 2 n + an−1 2 n−1 +... + a1 21 + a0 2 0 + a−1 2 −1 +... + a−m 2 −m
A=
-1 -2 -3 -4
i
i
i=−m
2017
Kiến trúc máy tính
53
NKK-HUST
2017
Kiến trúc máy tính
NKK-HUST
Chuyển đổi số nguyên thập phân sang nhị phân
Phương pháp chia dần cho 2
n
n
n
Phương pháp 1: chia dần cho 2 rồi lấy
phần dư
Phương pháp 2: Phân tích thành tổng
của các số 2i à nhanh hơn
n
2017
54
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
55
2017
Ví dụ: chuyển đổi 105(10)
n
105 : 2 =
52
dư
1
n
52 : 2 =
26
dư
0
n
26 : 2 =
13
dư
0
n
13 : 2 =
6
dư
1
n
6:2 =
3
dư
0
n
3:2 =
1
dư
1
n
1:2 =
0
dư
1
biểu diễn
số dư
theo chiều
mũi tên
Kết quả: 105(10) = 1101001(2)
Kiến trúc máy tính
56
14
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
Chuyển đổi số lẻ thập phân sang nhị phân
Phương pháp phân tích thành tổng của các 2i
Ví dụ 1: chuyển đổi 105(10)
6
5
3
0
n 105 = 64 + 32 + 8 +1 = 2 + 2 + 2 + 2
n
n
0.6875 x 2 = 1.375
phần nguyên = 1
1
n
0.375 x 2 = 0.75
phần nguyên = 0
1
n
0.75
x 2 = 1.5
phần nguyên = 1
n
0.5
x 2 = 1.0
phần nguyên = 1
26
25
24
23
22
21
20
128
64
32
16
8
4
2
0
1
1
0
1
0
0
105(10) = 0110 1001(2)
Ví dụ 2: 17000(10) = 16384 + 512 + 64 + 32 + 8
n
=
Ví dụ 1: chuyển đổi 0.6875(10)
n
27
Kết quả:
n
n
214 + 29 + 26 + 25 + 23
biểu diễn
theo
chiều
mũi tên
Kết quả : 0.6875(10)= 0.1011(2)
17000(10) = 0100 0010 0110 1000(2)
15 14 13 12 11 10 9 8
2017
7 6 5 4
3 2 1 0
Kiến trúc máy tính
57
NKK-HUST
2017
Kiến trúc máy tính
NKK-HUST
3. Hệ mười sáu (Hexa)
Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)
n
n
2017
58
Ví dụ 2: chuyển đổi 0.81(10)
n
0.81 x 2 =
1.62
phần nguyên
=
1
n
0.62 x 2 =
1.24
phần nguyên
=
1
n
0.24 x 2 =
0.48
phần nguyên
=
0
n
0.48 x 2 =
0.96
phần nguyên
=
0
n
0.96 x 2 =
1.92
phần nguyên
=
1
n
0.92 x 2 =
1.84
phần nguyên
=
1
n
0.84 x 2 =
1.68
phần nguyên
=
1
n
Cơ số 16
n
16 chữ số: 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F
n
Dùng để viết gọn cho số nhị phân: cứ một
nhóm 4-bit sẽ được thay bằng một chữ số
Hexa
0.81(10) » 0.1100111(2)
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
59
2017
Kiến trúc máy tính
60
15
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
Quan hệ giữa số nhị phân và số Hexa
Vídụ:
n
10110011(2) =B3(16)
n
00000000(2) =00(16)
n
0010110110011010(2)=2D9A(16)
n
1111111111111111(2)=FFFF(16)
2017
Kiến trúc máy tính
2.2. Đại số Boole
4-bit
Số Hexa
Thậpphân
0000
0
0
0001
1
1
n
0010
2
2
n
0011
3
3
0100
4
4
0101
5
5
0110
6
6
0111
7
7
1000
8
8
1001
9
9
1010
A
10
1011
B
11
1100
C
12
1101
D
13
1110
E
14
1111
F
15
n
n
61
NKK-HUST
n
A AND B :
n
A OR B :
A • B hay AB
A+B
n
NOT A :
A
n Thứ tự ưu tiên: NOT > AND > OR
Thêm các phép toán logic: NAND, NOR, XOR
n
A NAND B:
n
A NOR B :
n
A XOR B:
A•B
A+ B
AÅ B = A• B + A• B
2017
Kiến trúc máy tính
62
NKK-HUST
Các đồng nhất thức của đại số Boole
Phép toán đại số Boole với hai biến
2017
Đại số Boole sử dụng các biến logic và phép toán logic
Biến logic có thể nhận giá trị 1 (TRUE) hoặc 0 (FALSE)
Các phép toán logic cơ bản: AND, OR và NOT
A
B
AANDB
A•B
A
B
AORB
A+B
A
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
1
1
ANANDB
A
B
1
0
0
1
1
0
0
1
1
1
0
1
A
B
0
0
0
1
1
A•B
ANORB
A
A•B=B•A
A+B=B+A
0
1
A • (B + C) = (A • B) + (A • C)
A + (B • C) = (A + B) • ( A + C)
1
0
1•A=A
0+A=A
A•A=0
A+A=1
0•A=0
1+A=1
A•A=A
A+A=A
NOT là phép toán 1 biến
AXORB
A
B
1
0
0
0
A • (B • C) = (A • B) • C
A + (B + C) = (A + B) + C
1
0
0
1
1
A • B = A + B (Định lý De Morgan)
A + B = A • B (Định lý De Morgan)
0
0
1
0
1
1
0
1
1
0
A+B
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
NOTA
AÅ B
63
2017
Kiến trúc máy tính
64
16
Bài giảng Kiến trúc máy tính
NKK-HUST
NKK-HUST
Thực hiện các hàm logic:
n
n
n
n
NOT, AND, OR, NAND, NOR, XOR
Cổng NOT
F
A
NAND
Cổng nhiều đầu vào
Kiến trúc máy tính
FϭA•B
or
F ϭ AB
369
type of electronic circuitry.
A F
FϭA
Typically,
not allA gate types are
used in implementation.
and fabrication
0 Design
1
NOT
F
or
are simpler if only one or two types of gates are
Thus, 1it is0 important to identify
F ϭ used.
AЈ
functionally complete sets of gates. This means that any Boolean function can be impleA B F
mented using only the gates in the set. The following are functionally
complete sets:
0 0 1
AND, OR, XOR, NAND, NOR
2017
Truth Table
A B F
0 0 0
0 1 0
B
1 0 0 11.2 / GATES
1 1 1
A B F
Here we introduce
a
common
term:
we
say
that
to
assert
0 0 0a signal is to cause a
A
F ϭ A ϩ Bfalse (0) 0state
F its logically
1 1 to its logically true
signal line toOR
make aBtransition from
1 0 1
(1) state. The true (1) state is either a high or low voltage1 state,
1 1 depending on the
A
AND
Cổng hai đầu vào:
n
Algebraic
Function
Graphical Symbol
Name
Cổng logic một đầu vào:
n
CA-20172
Ký hiệu các cổng logic
2.3. Các cổng logic (Logic Gates)
n
tions are implemented by the interconnection of gates.
A gate is an electronic circuit that produces an output signal that is a simple Boolean operation on its input signals. The basic gates used in digital logic are
AND, OR, NOT, NAND, NOR, and XOR. Figure 11.1 depicts these six gates. Each
gate is defined in three ways: graphic symbol, algebraic notation, and truth table.
The symbology used in this chapter is from the IEEE standard, IEEE Std 91. Note
that the inversion (NOT) operation is indicated by a circle.
Each gate shown in Figure 11.1 has one or two inputs and one output.
However, as indicated in Table 11.1b, all of the gates except NOT can have more
than two inputs. Thus, (X + Y + Z) can be implemented with a single OR gate
with three inputs. When one or more of the values at the input are changed, the
correct output signal appears almost instantaneously, delayed only by the propagation time of signals through the gate (known as the gate delay). The significance of
this delay is discussed in Section 11.3. In some cases, a gate is implemented with two
outputs, one output being the negation of the other output.
F ϭ AB
F
0 1 1
1 0 1
1 1 0
A B F
0 0 1
A
FϭAϩB
0 1 0
NOR
F
B
1 0 0
• NAND
1 1 0
• NOR
A B F
0 0 0
A
XORbe clear that AND, F
It should
OR, and
a
F ϭ NOT
A B gates constitute
0 1 1
B
1
complete set, because they represent the three operations1of0 Boolean
Kiến trúc máy tính
1 1 0
B
• AND, OR, NOT
• AND, NOT
• OR, NOT
65
2017
functionally
algebra. For
the AND and NOT gates to form a functionally complete set, there must be a way
Figure
11.1OR
Basic
Logic Gates
to synthesize
the
operation
from the AND and NOT operations. This can be
done by applying DeMorgan’s theorem:
66
A + B = A#B
A OR B = NOT ((NOT A) AND (NOT B))
NKK-HUST
NKK-HUST
Tập đầy đủ
n
n
Sử dụng cổng NAND
Là tập các cổng có thể thực hiện được bất kỳ
hàm logic nào từ các cổng của tập đó
Một số ví dụ về tập đầy đủ:
n
{AND, OR, NOT}
n
{AND, NOT}
n
{OR, NOT}
n
{NAND}
n
{NOR}
Similarly, the OR and NOT operations are functionally complete because
they can be used to synthesize the AND operation.
Figure 11.2 shows how the AND, OR, and NOT functions can be implemented
solely with NAND gates, and Figure 11.3 shows the same thing for NOR gates.
For this reason, digital circuits can be, and frequently are, implemented solely with
NAND gates or solely with NOR gates.
A
A
A
A B
B
A
A B
A
A+B
B
B
Figure 11.2 Some Uses of NAND Gates
2017
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
67
2017
Kiến trúc máy tính
68
17
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
Sử dụng cổng NOR
370
Một số vi mạch logic
CHAPTER 11 / DIGITAL LOGIC
1A
A
1B
A
1Y
2A
(A+B)
A
B
2B
A+B
2Y
GND
1A
1B
A B
1Y
2A
B
2B
B
2Y
Figure 11.3 Some Uses of NOR Gates
GND
With gates, we have reached the most primitive circuit level of computer
hardware. An examination of the transistor
combinations used to construct gates
Kiến trúc máy tính
departs from that realm and enters the realm of electrical engineering. For our purposes, however, we are content to describe how gates can be used as building blocks
to implement the essential logical circuits of a digital computer.
69
2017
1A
1B
NC
1C
11.3 COMBINATIONAL CIRCUITS
1D
NKK-HUST
A combinational circuit is an interconnected set of gates whose output at any time
is a function only of the input at that time. As with a single gate, the appearance of
the input is followed almost immediately by the appearance of the output, with only
gate delays.
n
In general terms, a combinational circuit consists of n binary inputs and m
binary outputs. As with a gate, a combinational circuit can be defined in three ways:
NKK-HUST
•
•
n
•
n
n
Các đầu vào (Inputs)
Truth table: For each of the 2 n possible combinations of input signals, the
Các value
đầuofraeach
(Outputs)
binary
of the m output signals is listed.
Graphical
The interconnected
layoutspecification)
of gates is depicted.
Đặc tả symbols:
chức năng
(Functional
Boolean equations: Each output signal is expressed as a Boolean function of
Đặc
thời gian (Timing specification)
its
inputtả
signals.
n
n
Các kiểu mạch logic:
Any
can(Combinational
be implemented in electronic
form as a network of gates.
n Boolean
Mạchfunction
tổ hợp
Circuits)
For any given function, there are a number of alternative realizations. Consider the
n Mạch không nhớ
Boolean function represented by the truth table in Table 11.3. We can express this function by simply
itemizing
the combinations
of values
of A,
and C
cause
F to
be 1:
n Đầu
ra được
xác định bởi
các giá
trịB,hiện
tạithat
của
đầu
vào
ABC + ABC
F + ABC +Circuits)
Mạch dãy (Sequential
n
n
2017
13
3
12
4
11
5
10
6
9
7
8
7400 NAND
VDD
1Y
4B
1A
4A
1B
4Y
2Y
3B
2A
3A
2B
3Y
GND
1
14
2
13
3
12
4
11
5
10
6
9
7
8
7402 NOR
VDD
1A
4Y
1Y
4B
2A
4A
2Y
3Y
3A
3B
3Y
3A
GND
1
14
2
13
3
12
4
11
5
10
6
9
7
8
7404 NOT
VDD
6A
6Y
5A
5Y
4A
4Y
1
14
2
13
3
12
4
11
5
10
6
9
7
8
7408 AND
1
14
2
13
3
12
4
11
5
10
6
9
7
8
VDD
1A
4B
1B
4A
2A
4Y
2B
3B
2C
3A
2Y
3Y
GND
VDD
1CLR
7421 AND4
1
14
2
13
3
12
4
11
5
10
6
9
7
8
7411 AND3
VDD
1A
1C
1B
1Y
1Y
3C
2A
3B
2B
3A
2Y
3Y
GND
Kiến trúc máy tính
2D
1D
2C
1CLK
NC
1PRE
2B
1Q
2A
1Q
2Y
GND
1
2
3
4
14
13
reset
D Q
Q
set
reset
Q D
Q
set
5
12
11
10
6
9
7
8
7474 FLOP
VDD
1A
2CLR
1B
2D
1Y
2CLK
2A
2PRE
2B
2Q
2Y
2Q
GND
1
14
2
13
3
12
4
11
5
10
6
9
7
8
7432 OR
1
14
2
13
3
12
4
11
5
10
6
9
7
8
7486 XOR
VDD
4B
4A
4Y
3B
3A
3Y
70
VDD
4B
4A
4Y
3B
3A
3Y
Figure A.1 Common 74xx-series logic gates
n Implementation of Boolean Functions
n
14
2
Mạch tổ hợp
Mạch logic là mạch bao gồm:
n
1Y
GND
2.4. Mạch tổ hợp
n
1
A
A
2017
585
A.3 Programmable Logic
Mạch tổ hợp là mạch logic trong đó đầu ra chỉ
phụ thuộc đầu vào ở thời điểm hiện tại
Là mạch không nhớ và được thực hiện bằng
các cổng logic
Mạch tổ hợp có thể được định nghĩa theo ba
cách:
n
n
(11.1)
n
Bảng thật (True Table)
Dạng sơ đồ
Phương trình Boole
Mạch có nhớ
Đầu ra được xác định bởi các giá trị trước đó và giá trị hiện tại
của đầu vào
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
71
2017
Kiến trúc máy tính
72
18
1
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
Bộ chọn kênh (Multiplexer - MUX)
This can be rewritten using a generalization of DeMorgan’s theorem:
(X # Y # Z) = X + Y + Z
CHAPTER 11 / DIGITAL LOGIC
Đầuvào
A
0
F = 1A B C2 # 1A B C2 # 1A B C2 # 1A B C2 # 1A B C2
Ví dụ
A
B
1
There are three combinations of input values that cause F to be 1, and if any
one of these combinations occurs, the result is 1. This form of expression, for selfevident reasons, is known as the sum of products (SOP) form. Figure 11.4 shows a
straightforward implementation with AND, OR, and NOT gates.
Another form can also be derived from the truth table. The SOP form
expresses that the output is 1 if any of the input combinations that produce 1 is true.
We can also say that the output is 1 if none of the input combinations that produce
0 is true. Thus,
NKK-HUST
380
1
Đầura
B
C
A
B
C
n
F
0
0
0
0 F
0
0
1
0
B
C
0
1
0
1
Figure 11.11
NAND
Implementation
0
1
1
1 of
F
Table 11.3
1
0
0
0
11.3 / COMBINATIONAL CIRCUITS 381
1
0
1 Another
0 consideration in the
NAND AND NOR IMPLEMENTATIONS
Table 11.7 4-to-1 Multiplexer Truth Table
implementation of Boolean functions
concerns0the types1of gates used. It is sometimes
1
1
S1
F
desirable to implement a Boolean function solely with NAND gates or solely S2
with
NOR gates. Although this may
it has
1 not be1the minimum-gate
1
0 implementation,
Figure 11.4
Sum-of-Products
Implementation
of Table 11.3
0 the
0
D0
advantage of regularity, which can simplify the manufacturing process. Consider
0
again Equation (11.3):
1
1
D1
0
D2
F = A B1C + A BC +1 ABC
F = B(A + C)
n
n
n
2n đầu vào dữ liệu
n đầu vào chọn
1 đầu ra dữ liệu
Mỗi tổ hợp đầu vào chọn (S) xác định đầu vào
dữ liệu nào (D) sẽ được nối với đầu ra (F)
D3
Because the complement of the complement of a value is just the original value,
output signal F. To select one of the four possible inputs, a 2-bit selection code is
2017
F = B(A + C) = (AB + (BC) needed, and this is implemented as two select lines labeled S1 and S2.
Kiến
trúc máy
tính multiplexer is defined by the truth table in Table 11.7.
73 This
An
example
4-to-1
is a simplified form of a truth table. Instead of showing all possible combinations of
input variables, it shows the output as data from line D0, D1, D2, or D3. Figure 11.13
F = (AB)•(BC)
shows an implementation using AND, OR, and NOT gates. S1 and S2 are connected
which has three NAND forms, as illustrated in Figure 11.11.to the AND gates in such a way that, for any combination of S1 and S2, three of the
AND gates will output 0. The fourth AND gate will output the value of the selected
line, which is either 0 or 1. Thus, three of the inputs to the OR gate are always 0,
Multiplexers
and the output of the OR gate will equal the value of the selected input gate. Using
The multiplexer connects
multiple inputs to a single output.this
At regular
any time,
one of theit is easy to construct multiplexers of size 8-to-1, 16-to-1,
NKK-HUST
organization,
so on. representation
inputs is selected to be passed to the output. A general blockand
diagram
Multiplexers
areinput
used in digital circuits to control signal and data routing. An
is shown in Figure 11.12. This represents a 4-to-1 multiplexer. There
are four
theprovide
loading of
the program counter (PC). The value to be loaded into the
lines, labeled D0, D1, D2, and D3. One of these lines is example
selectedisto
the
program counter may come from one of several different sources:
Applying DeMorgan’s theorem,
2017
Kiến trúc máy tính
NKK-HUST
Bộ chọn kênh 4 đầu vào
S2
Bộ giải mã (Decoder)
n
S1
D0
n
D1
4-to-1
MUX
D2
F
D0
n
D3
N đầu vào, 2N đầu ra
Với một tổ hợp của N đầu vào, chỉ có một đầu ra tích cực
(khác với các đầu ra còn lại)
Ví dụ: Bộ giải mã 2 ra 4
2:4
Decoder
D1
S2
S1
Figure 11.12 4-to-1 Multiplexer
Representation
Đầuvàochọn Đầura
2017
S2
S1
F
0
0
1
1
0
1
0
1
D0
D1
D2
D3
A1
A0
F
D2
A1
11
10
01
00
Y3
Y2
Y1
Y0
Y2
0
0
1
0
Y1
0
1
0
0
Y2
A1
0
0
1
1
Figure 11.13 Multiplexer Implementation
F = D0 • S2 • S1+ D1• S2 • S1+ D2 • S2 • S1+ D3• S2 • S1
Nguyễn Kim Khánh DCE-HUST
A0
Y3
D3
Kiến trúc máy tính
74
75
2017
A0
0
1
0
1
Y3
0
0
0
1
Y0
1
0
0
0
Y1
Y0
Kiến trúc máy tính
76
19
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
Thực hiện bộ giải mã 3 ra 8
A
Bộ cộng
383
11.3 / COMBINATIONAL CIRCUITS
000 D
0
n
B
Bộ cộng bán phần 1-bit (Half-adder)
001 D
1
n
C
010 D
2
n
Cộng hai bit tạo ra bit tổng và bit nhớ ra
Bộ cộng toàn phần 1-bit (Full-adder)
n
011 D
3
n
Cộng 3 bit
Cho phép xây dựng bộ cộng N-bit
100 D
4
101 D
5
110 D
6
111 D
7
Figure 11.15 Decoder with 3 Inputs and 23 = 8 Outputs
Kiến trúc máy tính
2017
77
2017
Kiến trúc máy tính
78
A0
A7
NKK-HUST
256 ϫ 8
RAM
256 ϫ 8
RAM
256 ϫ 8
RAM
Bộ cộng bán phần 1-bit
2-to-4
Decoder
Enable
Enable
NKK-HUST
256 ϫ 8
RAM
Enable
Bộ cộng toàn phần 1-bit
Enable
A
A8
A9
0 Figure 11.16
0
1
1
Address Decoding
+0
+1
+0
+1
0
1
1
10
Cout
A
B
1-bit
Half
Adder
2017
Đầu ra
A
B
S
Cout
S = AÅ B
0
0
0
0
C out = AB
0
1
1
1
1
0
1
1
0
Cin
11.3 / COMBINATIONAL CIRCUITS
S
Đầu vào
Đầu ra
A
B
S
Cout
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
79
2017
S = ABC + ABC + ABC + ABC
Cout = AB + AC + BC
387
A
B
C
Cin
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
1-bit
Full
Adder
Cout
S
Đầu vào
B
A
B
C
A
B
C
S
Sum
A
B
C
A
B
A
C
C
Carry
out
B
C
Kiến trúc máy tính
Figure 11.20 Implementation of an Adder
80
Thus we have the necessary logic to implement a multiple-bit adder such as
shown in Figure 11.21. Note that because the output from each adder depends on
the carry from the previous adder, there is an increasing delay from the least significant to the most significant bit. Each single-bit adder experiences a certain amount
of gate delay, and this gate delay accumulates. For larger adders, the accumulated
delay can become unacceptably high.
If the carry values could be determined without having to ripple through all
the previous stages, then each single-bit adder could function independently, and
delay would not accumulate. This can be achieved with an approach known as carry
lookahead. Let us look again at the 4-bit adder to explain this approach.
20
This truth table could easily be implemented in digital logic. However, we are not
interested in performing
A addition on just a single pair of bits. Rather, we wish to
add two n-bit numbers. CThis can be done by putting togetherCarry
a set of adders so that
the carry from one adder is provided as input to the next. A 4-bit adder is depicted
in Figure 11.19.
B
For a multiple-bit adder
to work, each of the single-bit adders must have three
C
inputs, including the carry from the next-lower-order adder. The revised truth table
11.20
Implementation
of an Adder
appears in Table 11.9b. Figure
The two
outputs
can be expressed:
Bài giảng Kiến trúc máy tính
CA-20172
Sum = A BC + ABC + ABC + ABC
NKK-HUST
NKK-HUST
Thus we have
the necessary
logic+toBC
implement a multiple-bit adder such as
Carry
= AB + AC
shown in Figure 11.21. Note that because the output from each adder depends on
Figure 11.20 is an implementation using AND, OR, and NOT gates.
the carry from the previous adder, there is an increasing delay from the least significant to the most significant bit. Each single-bit adder experiences a certain amount
of gate delay,A andBthis gate delay
larger adders,
A2 accumulates.
B2
AFor
B
A0 theB0accumulated
3
3
1
1
delay can become unacceptably high.
If the carry values could be determined without having to ripple through all
Overflow
the previous
stages,Cthen each
single-bit
adder
could CfunctionC independently,
and
0
C3
C2
Cin
C1
Cin
in
in
0
signal
delay would not accumulate. This can be achieved with an approach known as carry
lookahead. Let us look again at the 4-bit adder to explain this approach.
We would like to come up with an expression that specifies the carry input to
any stage of theSadder without reference
to previous
carry values. We
have
S
S
S
Bộ cộng 4-bit và bộ cộng 32-bit
3
2
1
2.5. Mạch dãy
Mạch dãy là mạch logic trong đó đầu ra phụ
thuộc giá trị đầu vào ở thời điểm hiện tại và
đầu vào ở thời điểm quá khứ
n
Là mạch có nhớ, được thực hiện bằng phần
tử nhớ (Latch, Flip-Flop) và có thể kết hợp
với các cổng logic
n
0
Figure 11.19 4-Bit Adder
392
A31 B31 A24 B24 A23 B23
CHAPTER 11 / DIGITAL LOGIC
C23
8-bit
adder
Cout
S31
Figure 11.21
S23
Clock
A15 B15
C15
8-bit
adder
K
S24
A16 B16
S16
A8 B8
C7
8-bit
adder
S15
A 7 B7
A0 B0
8-bit
Cin
Q adder
S8
S7
S0
Construction of a 32-Bit Adder Using 8-Bit Adders
J
Q
2017
Kiến trúc máy tính
81
2017
Kiến trúc máy tính
82
Figure 11.26 J–K Flip-Flop
NKK-HUST
causing the output to be 1; if only the K input is asserted, the result is a reset function,
causing the output to be 0. When both J and K are 1, the function performed is
referred to as the toggle function: the output is reversed. Thus, if Q is 1 and 1 is applied
to J and K, then Q becomes 0. The reader should verify that the implementation of
Figure 11.26 produces this characteristic function.
NKK-HUST
Các Flip-Flop cơ bản
S-R Latch và các Flip-Flop
11.4 / SEQUENTIAL CIRCUITS
Name
Graphical Symbol
S
R
Truth Table
S
R
Qnϩ1
R
Q
0
0
1
1
0
1
0
1
Qn
0
1
–
J
Q
J
K
Qnϩ1
K
Q
0
0
1
1
0
1
0
1
Qn
0
1
Qn
D
Q
D
Qnϩ1
0
1
0
1
Ck
11.4 / SEQUENTIAL CIRCUITS
R
D
Ck
Kiến trúc máy tính
Figure 11.27 Basic Flip-Flops
Nguyễn Kim Khánh DCE-HUST
Figure 11.24
Figure 11.22 The S–R Latch Implemented
with NOR Gates
Q
83
Q
392
Clocked S–R Flip-Flop
S-R Flip-Flop
Q
CHAPTER 11 / DIGITAL LOGIC
First, let us show that the circuit is bistable. Assume that both S and R are 0
Figure 11.24 Clocked S–R Flip-Flop
and that Q is 0. The inputs to the lower NOR gate are Q = 0 and S = 0. Thus, the
Clock
output Q = 1 means that the inputs to the upper NOR gate are Q = 1 and R = 0,
Q
K
which has the output Q = 0. Thus, the state of the circuit is internally consistent
Q
and remains stable as long as S = R = 0. A similar line of reasoning shows that the
Q
state Q = 1, Q = 0 is also stable for R = S = 0.
D
Thus, this circuit can function as a 1-bit memory. We can view the output Q as
Clock
Figure
11.25 D Flip-Flop
Clock
the “value” of the bit. The
inputs S and R serve to write the values 1 and 0, respectively, into memory. To see this, consider the state Q = 0, Q = 1, S = 0, R = 0.
This device is referred to as a clocked S–R flip-flop. Note that the
Suppose that S changes to the value 1. Now the inputs to the lower NOR gatearrangement.
are
Q
R be
and S inputs are passed
to the NOR gates only during the clock pulse.
S = 1, Q = 0. After some time delay ^t, the output of the lower NOR gate
will
J
Q
D
Q = 0 (see Figure 11.23). So, at this point in time, the inputs to the upper NORD
gate
FLIP-FLOP One problem with S–R flip-flop is that the condition R = 1, S = 1
11.25
Flip-Flop
become R = 0,Figure
Q = 0.
AfterDanother
gate delay of ^t the output Q becomes 1. must
This be avoided. One way to do this is to allow just a single input. The D flip-flop
is again a stable state. The inputs to the lower gate are now S = 1, Q = 1, which
Figure 11.26 J–K Flip-Flop
accomplishes this.
Figure 11.25 shows a gate implementation of the D flip-flop. By
maintain
the output
= 0. As
long as Sto=as1 aand
R = 0,
theflip-flop.
outputs will
arrangement.
ThisQdevice
is referred
clocked
S–R
Noteremain
that the
using an inverter, the nonclock inputs to the two AND gates are guaranteed to be
QR
= and
1, QS=inputs
0. Furthermore,
if the
S returns
0, the
outputs
unchanged.
are passed to
NOR to
gates
only
duringwill
theremain
clock pulse.
the opposite of each other.
The R output performs the opposite function. When R goes to 1, it forces
causing theDoutput
to be
1; if only the
K inputtoisas
asserted,
the
result isbecause
a reset function,
flip-flop
is sometimes
referred
the data
flip-flop
it is, in
D
FLIP-FLOP One problem with S–R flip-flop is that the condition R = 1, S = The
1
Q = 0, Q = 1 regardless of the previous state of Q and Q. Again, a time delay
of
causing
the output
tobit
beof0.data.
When
both
J and
K are
1, the function
performed
effect, storage
for one
The
output
of the
D flip-flop
is always equal
to the is
must be avoided. One way to do this is to allow just a single input. The D flip-flop
2^t occurs before the final state is established (Figure 11.23).
referred
to asvalue
the toggle
function:
output
is reversed.
Thus, and
if Q is
1 and 1 is
applied
mostBy
recent
applied
to the the
input.
Hence,
it remembers
produces
the
last
accomplishes this. Figure 11.25 shows a gate implementation of the D flip-flop.
The S–R latch can be defined with a table similar to a truth table, called
aand K, then Q becomes 0. The reader should verify that the implementation of
to
J
using an inverter, the nonclock inputs to the two AND gates are guaranteed
to beIt is also referred to as the delay flip-flop, because it delays a 0 or 1 applied to
input.
characteristic
table,
which
shows
the
next
state
or
states
of
a
sequential
circuit
as
Figure
11.26
produces
this
characteristic
function.
2017
Kiếnitstrúc
the
opposite of each other.
inputmáy
for atính
single clock pulse. We can capture the logic of the D flip-flop in the84
a function of current states and inputs. In the case of the S–R latch, the state can
The D flip-flop is sometimes referred to as the data flip-flop because following
it is, in truth table:
be defined by the value of Q. Table 11.10a shows the resulting characteristic table.
effect, storage for one bit of data. The output of the D flip-flop is always equal to the
Observe that the inputs S = 1, R = 1 are not allowed, because these would proD
Qn ؉ 1
most recent value applied to the input. Hence, it remembers and produces the last
duce an inconsistent output (both Q and Q equal 0). The table can be expressed
input. It is also referred to as the delay flip-flop, because it delays a 0 or 1 applied to
Name
Graphical Symbol
Truth Table
0
0
more compactly, as in Table 11.10b. An illustration of the behavior of the S–R latch
its input for a single clock pulse. We can capture the logic of the D flip-flop in the
1
1
is shown in Table 11.10c.
following truth table:
S
Q
S
R
Qnϩ1
CLOCKED S–R FLIP-FLOP The output of the S–R latch changes, after a brief
J–K FLIP-FLOP Another useful flip-flop is the J–K flip-flop. Like the S–R flip-flop,
D input.
Qn ؉This
1
time delay, in response to a change in the
is referred to as asynchronous
0
0
it has two inputs. However, in this case all possible combinations
ofQinput
values are
n
operation. More typically, events in the digital
computer
are synchronized to a clock
Ck
0
0
S–R
0and Figure 11.27
1
0
flip-flop,
pulse, so that changes occur only when a1clock 1pulse occurs. Figure 11.24 showsvalid.
this Figure 11.26 shows a gate implementation of the J–K
shows its characteristic table (along with those for the1 S–R 0and D1flip-flops). Note
–
1
1
Q same as for the
that the first three combinationsRare the
S–R flip-flop. With no input
J–K FLIP-FLOP Another useful flip-flop is the J–K flip-flop. Like the S–R flip-flop,
asserted, the output is stable. If only the J input is asserted, the result is a set function,
it has two inputs. However, in this case all possible combinations of input values are
valid. Figure 11.26 shows a gate implementation of the J–K flip-flop, and Figure 11.27
J
Q
J
K
Qnϩ1
D Flip Flop
Q
2017
Clock
S
Q
ClockS
S-R Latch
Ck
391
391
Q
Q
S
J–K
11.4 / SEQUENTIAL CIRCUITS
R
Q
S–R
389
Q
J-K Flip-Flop
21
PARALLEL REGISTERS A parallel register consists of a set of 1-bit memories that
can be read or written simultaneously. It is used to store data. The registers that we
have discussed throughout this book are parallel registers.
The 8-bit register of Figure 11.28 illustrates the operation of a parallel register
using D flip-flops. A control signal, labeled load, controls writing into the register
from signal lines, D11 through D18. These lines might be the output of multiplexers,
so that data from a variety of sources can be loaded into the register.
Bài giảng Kiến trúc máy tính
SHIFT REGISTER A shift register accepts and/or transfers information serially.
NKK-HUST
Consider, for example, Figure 11.29, which shows a 5-bit shift register constructed
from clocked D flip-flops. Data are input only to the leftmost flip-flop. With each
clock pulse, data are shifted to the right one position, and the rightmost bit is
transferred out.
Shift registers can be used to interface to serial I/O devices. In addition, they
can be used within the ALU to perform logical shift and rotate functions. In this
NKK-HUST
Thanh ghi 8-bit song song
Thanh ghi dịch 5-bit
393
11.4 / SEQUENTIAL CIRCUITS
Data lines
D18
D17
D16
D15
D14
D13
D12
D11
Serial in
D
Q
Clk
D
Q
D
Clk
394
Clock
Load
Q
D
Clk
Q
D
Clk
Q
D
Clk
CA-20172
Q
D
Clk
Q
D
Clk
Q
D
Clk
D
Q
Clk
D
Q
Clk
D
Q
Clk
D
Q
Serial out
Clk
Q
Clk
CHAPTER 11 / DIGITAL LOGIC
latter capacity, they need to be equipped with parallel read/write circuitry as well
as serial.
D08
D07
D06
D05
Counters
D04
D03
D02
Clock
Figure 11.29 5-Bit Shift Register
D01
Output lines
Another
useful
category
of sequential circuit is the counter. A counter is a register
Figure 11.28
8-Bit
Parallel
Register
2017
NKK-HUST
whose value is easily incremented by 1 modulo the capacity of the register; that is,
after the maximum value is achieved the next increment sets the counter value to 0.
Registers
Thus,
a register made up of n flip-flops can count up to 2n - 1. An example of a
counter
in the CPU
is the
counter.
As an example
of the
useprogram
of flip-flops,
let us first examine one of the essential elecan the
be designated
asynchronous
or synchronous,
depending
mentsCounters
of the CPU:
register. Asaswe
know, a register
is a digital circuit
used on
within
the
way
in
which
they
operate.
Asynchronous
aretypes
relatively
slow because
the CPU to store one or more bits of data. counters
Two basic
of registers
are comthe output of one flip-flop triggers a change in the status of the next flip-flop. In a
monly used: parallel registers and
registers.
Kiếnshift
trúc máy
tính
synchronous counter, all of the flip-flops change state at the same time. Because the
latter
type isREGISTERS
much faster, A
it is
the kind
used inconsists
CPUs. However,
it is
useful
to beginthat
PARALLEL
parallel
register
of a set of
1-bit
memories
the
a description
of an asynchronous
can discussion
be read orwith
written
simultaneously.
It is used tocounter.
store data. The registers that we
85
have discussed
throughout
this bookcounter
are parallel
RIPPLE
COUNTER
An asynchronous
is alsoregisters.
referred to as a ripple counter,
Thethe
8-bit
register
Figureto11.28
illustrates
operation
parallel
because
change
thatofoccurs
increment
the the
counter
startsof
ataone
end register
and
using D flip-flops.
A the
control
labeled11.30
load,shows
controls
writing into the of
register
“ripples”
through to
othersignal,
end. Figure
an implementation
a
from counter
signal lines,
D18.
Thesewith
linesa might
the output
of multiplexers,
4-bit
usingD11
J–Kthrough
flip-flops,
together
timingbe
diagram
that illustrates
its
so that data
from
a variety
of is
sources
caninbethat
loaded
into
the
register.
behavior.
The
timing
diagram
idealized
it does
not
show
the propagation
delay that occurs as the signals move down the series of flip-flops. The output of
SHIFT REGISTER A shift register accepts and/or transfers information serially.
the leftmost flip-flop (Q0) is the least significant bit. The design could clearly be
Consider, for example, Figure 11.29, which shows a 5-bit shift register constructed
extended to an arbitrary number of bits by cascading more flip-flops.
2017
Kiến trúc máy tính
86
NKK-HUST
Bộ đếm 4-bit
from clocked D flip-flops. Data are input only to the leftmost flip-flop. With each
Highpulse, data are shifted to the right one position, and the rightmost bit is
clock
transferred out.
J
Q be used to
J interface
Q
J I/O
Q devices. In Jaddition,
Q
Shift registers
can
to serial
they
can be used within the ALU to perform logical shift and rotate functions. In this
Ck
Clock
Serial in
K
D
Ck
QQ
Clk
QK
D
Q0
Clk
Ck
QD
Q
Q
Clk1
KD
Ck
Q
Q
Clk
D
Q2
QK
Clk
Q Serial out
Hết chương 2
Q3
(a) Sequential circuit
Clock
QClock
0
Figure 11.29 5-Bit Shift Register
Q1
Q2
Q3
(b) Timing diagram
Figure 11.30 Ripple Counter
2017
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
87
2017
Kiến trúc máy tính
88
22
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
Kiến trúc máy tính
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
Chương 3
HỆ THỐNG MÁY TÍNH
Nguyễn Kim Khánh
Trường Đại học Bách khoa Hà Nội
2017
Kiến trúc máy tính
89
NKK-HUST
2017
Kiến trúc máy tính
NKK-HUST
Nội dung của chương 3
3.1. Các thành phần cơ bản của máy tính
n
3.1. Các thành phần cơ bản của máy tính
3.2. Hoạt động cơ bản của máy tính
3.3. Bus máy tính
CPU
Bộ nhớ chính
Bộ xử lý trung tâm (Central
Processing Unit – CPU)
n
n
Bus hệ thống
n
Nguyễn Kim Khánh DCE-HUST
91
2017
Trao đổi thông tin giữa máy tính
với bên ngoài
Bus hệ thống (System bus)
n
Kiến trúc máy tính
Chứa các chương trình đang
thực hiện
Hệ thống vào-ra (Input/Output)
n
n
Điều khiển hoạt động của máy
tính và xử lý dữ liệu
Bộ nhớ chính (Main Memory)
n
Hệ thống vào-ra
2017
90
Kết nối và vận chuyển thông tin
Kiến trúc máy tính
92
23
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
1. Bộ xử lý trung tâm (CPU)
n
Chức năng:
n
n
n
n
điều khiển hoạt động của máy tính
xử lý dữ liệu
Đơn vị
số học và logic
CPU hoạt động theo chương trình nằm trong
bộ nhớ chính.
Đơn vị điều khiển
n
Đơn vị
điều khiển
Nguyên tắc hoạt động cơ bản:
n
n
Các thành phần cơ bản của CPU
n
Bus
hệ thống
n
Đơn vị số học và logic
n
n
n
Là thành phần nhanh nhất trong hệ thống
Tập thanh ghi
Kiến trúc máy tính
93
NKK-HUST
2017
n
Register File (RF)
Gồm các thanh ghi chứa các thông
tin phục vụ cho hoạt động của CPU
Kiến trúc máy tính
94
NKK-HUST
2. Bộ nhớ máy tính
n
n
n
n
Thao tác ghi (Write)
Thao tác đọc (Read)
n
Các thành phần chính:
n
n
n
Bộ nhớ chính (Main memory)
Chức năng: nhớ chương trình và dữ liệu (dưới dạng
nhị phân)
Các thao tác cơ bản với bộ nhớ:
n
n
n
n
Bộ nhớ chính (Main memory)
Bộ nhớ đệm (Cache memory)
Thiết bị lưu trữ (Storage Devices)
n
CPU
Bộ nhớ
đệm
Bộ nhớ
chính
Các
thiết bị
lưu trữ
n
2017
Arithmetic and Logic Unit (ALU)
Thực hiện các phép toán số học và
phép toán logic
Tập thanh ghi
n
2017
Control Unit (CU)
Điều khiển hoạt động của máy tính
theo chương trình đã định sẵn
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
95
2017
Tồn tại trên mọi máy tính
Chứa các lệnh và dữ liệu của
chương trình đang được thực hiện
Sử dụng bộ nhớ bán dẫn
Tổ chức thành các ngăn nhớ
được đánh địa chỉ (thường đánh
địa chỉ cho từng byte nhớ)
Nội dung của ngăn nhớ có thể
thay đổi, song địa chỉ vật lý của
ngăn nhớ luôn cố định
CPU muốn đọc/ghi ngăn nhớ cần
phải biết địa chỉ ngăn nhớ đó
Kiến trúc máy tính
Nội dung
Địa chỉ
01001101
00...0000
01010101
00...0001
10101111
00...0010
00001110
00...0011
01110100
00...0100
10110010
00...0101
0010 1000
00...0110
11101111
00...0111
.
.
.
01100010
11...1110
00100001
11...1111
96
24
Bài giảng Kiến trúc máy tính
CA-20172
NKK-HUST
NKK-HUST
Bộ nhớ đệm (Cache memory)
n
n
n
n
n
n
Thiết bị lưu trữ (Storage Devices)
n
Bộ nhớ có tốc độ nhanh được đặt đệm giữa
CPU và bộ nhớ chính nhằm tăng tốc độ CPU
truy cập bộ nhớ
Dung lượng nhỏ hơn bộ nhớ chính
Sử dụng bộ nhớ bán dẫn tốc độ nhanh
Cache thường được chia thành một số mức (L1,
L2, L3)
Cache thường được tích hợp trên cùng chip bộ
xử lý
Cache có thể có hoặc không
2017
Kiến trúc máy tính
n
Chức năng: Trao đổi
thông tin giữa máy tính
với thế giới bên ngoài
Các thao tác cơ bản:
n
n
Các loại thiết bị lưu trữ
Bộ nhớ từ: ổ đĩa cứng HDD
Bộ nhớ bán dẫn: ổ thể rắn SSD, ổ nhớ flash, thẻ nhớ
Bộ nhớ quang: CD, DVD
n
n
n
97
2017
Kiến trúc máy tính
98
Các thiết bị vào-ra
n
Bus
hệ
thống
Thiếtbị
vào-ra
n
Mô-đun
vào-ra
n
Thiếtbị
vào-ra
Vào dữ liệu (Input)
Ra dữ liệu (Output)
n
Các thiết bị vào-ra
(IO devices)
Các mô-đun vào-ra
(IO modules)
n
n
Mô-đun
vào-ra
Kiến trúc máy tính
Nguyễn Kim Khánh DCE-HUST
Còn được gọi là thiết bị ngoại vi (Peripherals)
Chức năng: chuyển đổi dữ liệu giữa bên trong
và bên ngoài máy tính
Các loại thiết bị vào-ra:
n
Các thành phần chính:
n
2017
Tốc độ chậm
NKK-HUST
n
n
n
n
3. Hệ thống vào-ra
n
n
Lưu giữ tài nguyên phần mềm của máy tính
Được kết nối với hệ thống dưới dạng các thiết bị vào-ra
Dung lượng lớn
n
NKK-HUST
n
Còn được gọi là bộ nhớ ngoài
Chức năng và đặc điểm
Thiếtbị
vào-ra
n
99
2017
Thiết bị vào (Input Devices)
Thiết bị ra (Output Devices)
Thiết bị lưu trữ (Stotage Devices)
Thiết bị truyền thông (Communication Devives)
Kiến trúc máy tính
100
25