Hoạt động của DMA
Khi cần vào ra dữ liệu thì CPU nhờ DMAC tiến hành vào
ra dữ liệu với thông tin cho biết như sau:
1. Địa chỉ thiết bị vào ra
2. Địa chỉ đầu của mảng nhớ chứa dữ liệu và DMAC nạp thanh ghi địa chỉ
3. Số từ dữ liệu cần truyền và DMAC nạp vào bộ đếm dữ liệu
4. CPU sẽ thực hiện việc khác
5. DMAC điều khiển việc trao đổi dữ liệu sau khi truyền
một từ dữ liệu thì nội dung thanh ghi địa chỉ tăng lên và
nội dung bộ đếm dữ liệu giảm xuống một đơn vị.
6. Khi bộ đếm bằng dữ liệu bằng 0, DMAC gởi tín hiệu
ngắt CPU để báo kết thúc DMA
Bạn đang xem trước 20 trang tài liệu Bài giảng Kiến trúc máy tính - ĐH sư phạm kỹ thuật Vinh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
lements of
computer systems. Topics may include: instruction set
design; processor micro-architecture and pipelining; cache
and virtual memory organizations; protection and sharing;
I/O and interrupts; in-order and out-of-order superscalar
architectures; VLIW machines; vector supercomputers;
multithreaded architectures; symmetric multiprocessors; and
parallel computers. (MIT)
1.1. Kiến trúc máy tính
5 August 2010 4
1. Giới thiệu
1.1. Máy tính
Personal Computer -PC
5 August 2010 5
1. Giới thiệu
1.1. Máy tính
Vector supercomputers
5 August 2010 6
1. Giới thiệu
1.1. Máy tính
Symmetric multiprocessors
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 2
5 August 2010 7
1. Giới thiệu
1.1. Máy tính
Parallel computers
5 August 2010 8
1. Giới thiệu
1.1. Kiến trúc máy tính
Computer
Computer
CPU Main
memory
I/O
unit
System
interconnection
CPU
Registers
ALU
CU
Internal CPU
Interconnection
CU
Sequencing
logic CU register &
decoders
Control
memory
Sơ đồ khối
5 August 2010 9
1. Giới thiệu
1.1. Kiến trúc máy tính
7 lớp chức năng
5 August 2010 10
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức transistor và dây
nối
+ Là mức thấp nhất của
kiến trúc chức năng của
máy tính.
+ Các ống bán dẫn là
thành phần tích cực
chính cùng với mạch
nối dây tạo nên các
mạch logic số ở mức
trên
5 August 2010 11
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức mạch logic số
+ Các mạch logic số thực
hiện các hàm logic cơ bản
của đại số Boolean
+ Là các mạch cổng:
AND,OR, XOR, NOT
+ Mạch chốt, mạch mã
(Coder), mạch giải mã
(Decoder).
+ Mạch phần tử nhớ
(Flip_Flop)
5 August 2010 12
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức mạch logic số: Ví dụ
Collector
Base
EmitterSwitch
Base High (+5v hay 1): Tạo kết nối
Base Low (0v hay 0): Ngắt kết nối
50 tỉ transistor trên một chip 1cm2
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 3
5 August 2010 13
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức mạch logic số: Ví dụ
Input High (+5v or 1) Output Low (0v or 0)
Input Low (0v or 0) Output High (+5v or 1)
Output ngược lại với Input
+5
v
Input
Ground
Output
Cổng NOT
A
_
A
5 August 2010 14
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức mạch logic số: Ví dụ
Mạch tổ hợp
1. Để thiết kế các IC: Ta dùng các thành phần logic
gọi là cổng (gate)
2. Cổng được chế tạo từ một hoặc nhiều transistor tùy
theo công nghệ chế tạo
3. Ta có các cổng AND, OR, NOT, NAND, NOR,
XOR, Mạch giải mã, mạch mã hóa, mạch ưu tiên,
mạch dồn, mạch phân, mạch cộng toàn phần, mạch
lật SR
5 August 2010 15
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức kiến trúc vi mô
+ Bao gồm các khối chức
năng như đơn vị số học
logic
+ Ví dụ: ALU, thanh ghi (khối
thanh ghi), tệp thanh ghi
(Register file).
+ Các bộ nhớ: Cache (Bộ nhớ
đệm), Main (ROM, RAM).
+ Các đường dẫn thông tin
(Bus bên trong)
+ Đơn vị điều khiển CU
5 August 2010 16
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức kiến trúc tập lệnh
+ Xác định giao tiếp phần
mềm_phần cứng mà người lập
trình nhìn nhận được ở mức
ngôn ngữ máy
+ ISA bao gồm:
© Tập lệnh máy (Instructions
Set)
© Kiểu lấy địa chỉ (Addressing
Models)
© Khuôn dạng dữ liệu (Format)
© Các nguyên tắc vận hành
(Operation prescripts)
5 August 2010 17
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức kiến trúc tập lệnh: Ví dụ
CHẲNG HẠN TẬP LỆNH GỒM:
1 - Gán trị
2 - Lệnh có điều kiện
3 - Vòng lặp
4 - Thâm nhập bộ nhớ ngăn xếp
5 - Các thủ tục
VD: Bật đèn LED
ORG 2000h
MOV SP,#50h
MOV PSW,#0 ; Bank 0
CLR P1.3 ; Led on
END
5 August 2010 18
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Hệ điều hành
+ Bộ nhớ ảo (Virtual
Memory)
+ BIOS: Hệ thống vào ra cơ
bản
+ Các lệnh ảo, máy tính ảo
mô phỏng quá trình xử lý
+ Quản lý các các quá trình
(Process)
+ Tập lệnh ảo để kết nối
mạng hay xử lý song song
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 4
5 August 2010 19
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Hợp ngữ
+ Là ngôn ngữ máy phụ thuộc
vào phần cứng
+ Dạng ký tự tượng trưng của
ngôn ngữ máy dùng với một số
vi lệnh (Micro Instruction) và
các thủ tục (Procedure)
+ Các chương trình viết ở dạng
hợp ngữ có thể can thiệp vào
phần cứng của máy tính
5 August 2010 20
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Hợp ngữ: Ví dụ
Ngôn ngữ
lập trình
Ví dụ:
ORG 2000H
MOV SP,#50H
MOV PSW,#00H
CLR P1,00H ; LED on
; SETB P1,0FH ;LED off
END
5 August 2010 21
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Ngôn ngữ hướng đối tượng,
hướng bài toán ứng dụng
+ Là các ngôn ngữ bậc cao C,
C++,Pascal...
+ Các ngôn ngữ mô tả: HTML,
XML
+ Các ngôn ngữ thủ tục (scripts):
Java scripts, Visual Basic, C#...
5 August 2010 22
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Ngôn ngữ hướng đối tượng: Ví dụ
1. §èi t-îng (Object)
2. Sù kiÖn (Event)
3. Thuéc tÝnh (Properties)
4. Ph-¬ng thøc (Method)
5. Líp (Class)
5 August 2010 23
1. Giới thiệu
Trao đổi
5 August 2010 24
1. Giới thiệu
1.1. Kiến trúc máy tính Mô hình kiến trúc
máy tính
Các máy tính điện tử số
thường có 2 loại kiến
trúc
Von Neumann
Harvard
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 5
5 August 2010 25
1. Giới thiệu
1.2. Các thế hệ máy tính
Sự phát triển của máy tính chia ra 4 thế hệ: Sự tiến bộ của
các công nghệ chế tạo các linh kiện cơ bản của máy tính như:
bộ xử lý, bộ nhớ, các ngoại vi,- đặc trưng bằng một sự thay
đổi cơ bản về công nghệ
• Thế hệ 1: (1946-1955) Máy tính dùng đèn chân không
(Vacumm Tube)
• Thế hệ 2: (1955-1965) Máy tính dùng Transitor
• Thế hệ 3: (1966 – 1980) Máy tính dùng mạch tích hợp IC
(Intergrated Circuit)
• Thế hệ 4: (1980 - nay) Máy tính dùng mạch tích hợp cực lớn
VLSI (Very Large Scale Intergrated )
5 August 2010 26
1. Giới thiệu
1.2. Các thế hệ máy tính
Máy tính ENIAC
(Electronic Numerical Integrator and
Computer)
Tg xây dựng: 1943-1946,
được sử dụng đến 1955 (thầy
trò Eckert và Mauchly, ĐH
Pennsylvania, USA)
Đặc điểm chính:
- Nặng 30 tấn, V~160m3
(20x2x2m) và P= 140kW.
- 5000 nghìn phép cộng/s.
- Sử dụng hệ thập phân.
- Lập trình bằng công tắc.
- Sử dụng 18000 bóng đèn
điện tử (vacuum tubes)
=> Sau đó: GS toán học John Von Neumann đã
đưa ra ý tưởng thiết kế máy tính IAS (Princeton
Institute for Advanced Studies)
5 August 2010 27
1. Giới thiệu
1.2. Các thế hệ máy tính
Máy tính Von Neumann
• Máy tính IAS
• Máy có mô hình cơ bản là máy tính này nay
• Thế kế 1947 hoàn thành 1952
5 August 2010 28
1. Giới thiệu
1.2. Các thế hệ máy tính
Máy tính Harvard
Tách bộ nhớ dữ liệu và bộ nhớ
chương trình=> CPU có thể vừa đọc
một lệnh, vừa truy cập dữ liệu từ bộ
nhớ cùng lúc.
Bus riêng để truy cập vào bộ nhớ
dữ liệu và bộ nhớ chương trình.
Các bus điều hành độc lập
Chạy nhanh hơn, bởi vì nó có thể
thực hiện ngay lệnh tiếp theo khi
vừa kết thúc lệnh trước đó.
5 August 2010 29
1. Giới thiệu
1.2. Các thế hệ máy tính
So sánh:
Mô hình kiến trúc
Harvard
và Von Neumann?
5 August 2010 30
1. Giới thiệu
1.2. Các thế hệ máy tính
Máy tính thế hệ 4 (1980- nay):
• Các sản phẩm của công nghệ VLSI(Very Large Scale
Integrated)
• Bộ vi xử lý được chế tạo trên một con chip
• Vi mạch điều khiển tổng hợp (Chipset)
• Bộ nhớ bán dẫn độc lập( ROM, RAM) thiết kế thành Module
• Các bộ vi điều khiển chuyên dụng.
• Bộ vi xử lý đầu tiên của Intel 4004 năm1971
• Bộ xử lý được coi hoàn thiện nhất là 8088/8086 năm
1978,1979 đây được coi là ngày sinh nhật của các máy tính sau
này
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 6
5 August 2010 31
1. Giới thiệu
1.2. Các thế hệ máy tính
5 August 2010 32
1. Giới thiệu
1.2. Các thế hệ máy tính
5 August 2010 33
1. Giới thiệu
1.2. Các thế hệ máy tính
Intel 8088 (1979)
This is the chip used in the
first PC. It was 16-bit, but
it talked to the cards via a
8-bit connection. It ran at a
whopping 4 MHz and
could address only 1 MB of
RAM.
5 August 2010 34
1. Giới thiệu
1.2. Các thế hệ máy tính
Intel 80286 (1980)
A 16-bit processor capable of
addressing up to 16 MB of RAM.
5 August 2010 35
1. Giới thiệu
1.2. Các thế hệ máy tính
386 (1988)
It could only access 16 megabytes of memory.
The 386 processor was manufactured in many
different versions and ran at speeds from 16
Mhz through to 40 Mhz.
5 August 2010 36
1. Giới thiệu
1.2. Các thế hệ máy tính
Intel 486 (1991)
The 486 initially ran at clock speeds of
25 MHz (SX only) and 33 MHz. As it
was developed the 486 was enhanced
with a clock doubled processor core
(486 DX-2) allowing it to run at speeds
of 50, 66 and 75 MHz, and then tripled
(DX-4) which ran up to 100 MHz.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 7
5 August 2010 37
1. Giới thiệu
1.2. Các thế hệ máy tính
Intel Pentium
This was the first Intel
processor not to use the
x86 naming system.
Tên thương mại là, không hàm ý nghĩa gì khác ngoài
pent tiếng Hy lạp là số 5
5 August 2010 38
1. Giới thiệu
1.2. Các thế hệ máy tính
Một số đặc điểm của VXL Intel
5 August 2010 39
1. Giới thiệu
1.2. Các thế hệ máy tính
5 August 2010 40
1. Giới thiệu
1.3. Phân loại máy tính
Phân loại theo phương pháp truyền thống
• Máy vi tính ( Microcomputer)
• Máy tính nhỏ (Minicomputer)
• Máy tính lớn (Mainframe Computer)
• Siêu máy tính (Super Computer)
•Phân loại theo phương pháp hiện đại
• Máy tính để bàn (Desktop Computer)
• Máy chủ (Servers)
• Máy tính nhúng (Embedded Computer)
5 August 2010 41
1. Giới thiệu
1.3. Phân loại máy tính
Máy để bàn:
• là loại máy thông dụng nhất hiện nay.
• bao gồm máy tính cá nhân (PC: Persional Computer) và trạm
(Workstation Computer).
• giá mua 100$ đến 10.000$
Máy chủ
• là máy phục vụ(server)
• dùng trong mạng theo mô hình Clent/Server
• có tốc độ, hiệu năng, bộ nhớ và độ tin cậy cao
• giá vài chục nghìn đến vài chục triệu đô
5 August 2010 42
1. Giới thiệu
1.3. Phân loại máy tính
Máy tính nhúng
• được đặt trong nhiều thiết bị khác nhau để điều khiển
thiết bị làm việc
• được thiết kế chuyên dụng
• ví dụ: điện thoại di động, bộ điều khiển các thiết gia
đinh, Router định tuyến,
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 8
5 August 2010 43
Nội dung
1. Giới thiệu
2. Bộ vi xử lý
3. Ghép nối máy tính với các T.Bị
Tài liệu tham khảo:
[1]. Nguyễn Đình Việt, Kiến trúc máy tính, NXB Giáo dục, 2000
[2]. Võ Văn Chín, BG Kiến trúc máy tính, ĐH Cần thơ, 1997
[3]. Trần Thị Kim Huệ, BG Kiến trúc máy tính, ĐH Sư phạm Hà Nội, 2008
[4]. Trần Quang Vinh, Cấu trúc máy tính, NXB Giáo dục, 2003
[5]. M. Morris Mano (Atmiya Infotech), Computer Organization & Architecture, E-book
[6]. MIT, Computer System Architecture, 2005, OpenCourseWare
5 August 2010 44
1. Giới thiệu
1.4. Thông tin và sự mã hóa
Một số khái niệm
- Thông tin: được hiểu là nội dung chứa
đựng bên trong một sự kiện
- Tín hiệu: mô tả các biểu hiện vật lý của
tin tức
t/h tương tự: liên tục cả về biên độ
và thời gian
t/h số: gián đoạn cả về biên độ và
thời gian
5 August 2010 45
1. Giới thiệu
1.4. Thông tin và sự mã hóa
a) Hệ đếm
Hệ thập phân, cơ số 10 (Decimal System): Con người sử
dụng
Hệ nhị phân, cơ số 2 (Binary System): Máy tính sử dụng
Hệ mười sáu, cơ số 16 (Hexadecimal System): Dùng để
viết gọn số nhị phân
5 August 2010 46
1. Giới thiệu
1.4. Thông tin và sự mã hóa
a) Hệ đếm
Hệ 2, hệ 10, hệ 16 v.v.
Ví dụ:
(1011)2 = 1x23 + 0x22 + 1x21 + 1x20 = 8 + 2 + 1 =11
(4F)16 = 4FH = 4x161 + 15x160 = 64 + 15 = 79
5 August 2010 47
1. Giới thiệu
1.4. Thông tin và sự mã hóa
a) Hệ đếm
Để đổi một số X hệ 10 sang hệ cơ số a (Y),
ta chia liên tiếp X cho a, ghi lại số dư b0, b1,
..., bn, khi đó Y=bn ... bi... b1b0
5 August 2010 48
1. Giới thiệu
1.4. Thông tin và sự mã hóa
b) Mã hóa (do con người định nghĩa, quy định)
Ví dụ: Mã ASCII, mã BCD, mã nhị phân v.v
Mã ASCII dùng 8 bit (binary digit) để mã hoá
256 ký tự
số 5 có mã ASCII là 35H = 0011 0101
Mã BCD dùng 4 bit để mã hoá 1 chữ số thập
phân
số 73 có mã BCD là 0111 0011
Mã nhị phân dùng n bit để mã hoá 2n phần tử
tin tức
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 9
5 August 2010 49
1. Giới thiệu
1.4. Thông tin và sự mã hóa
5 August 2010 50
1. Giới thiệu
1.4. Thông tin và sự mã hóa
5 August 2010 51
1. Giới thiệu
1.4. Thông tin và sự mã hóa
16 chữ số: 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F
Dùng để viết gọn cho số nhị phân: cứ một nhóm 4 bit
sẽ được thay thế bằng 1 chữ số Hexa
5 August 2010 52
1. Giới thiệu
1.4. Thông tin và sự mã hóa
Mã hoá và lưu trữ dữ liệu trong máy tính
Nguyên tắc chung về mã hoá dữ liệu
Mọi dữ liệu đưa vào máy tính đều được mã hoá thành số nhị
phân
Độ dài từ dữ liệu (word)
Độ dài từ dữ liệu là số bit được sử dụng để mã hoá loại dữ
liệu tương ứng
Thường là bội của 8 bit
VD: 8, 16, 32, 64 bit
8 bits = 1 Byte (1 keyboard character)
1,024 bytes = 1 Kilobyte (1K) = 210 characters
1,024 K = 1 Megabyte (MB) = 220 characters
1,024 MB = 1 Gigabyte (GB) = 230 characters
5 August 2010 53
Byte, bit MSB, LSB và trạng thái 0, trạng thái 1
8 Bits = 1 Byte
On
Off
ON bits are said to be in a 1 state
OFF bits are said to be in a 0 state
MSB LSB
5 August 2010 54
Biểu diễn số nguyên
Với một Byte/Word
+ 1 bit MSB (Most Significant Bit): là bit cuối cùng bên trái (bit 7
đối với Byte, và 15 với Word).
+ 1 bit LSB (Least Significant Bit): ngược lại, nằm cuối cùng bên
phải
Biểu diễn một số nguyên dùng hết 1 word (16 bits) mà không
cần sử dụng bit xác định dấu.
+ Số nguyên lớn nhất ta có là 1111 1111 1111 1111 = 65535. LSB
mang giá trị 0 cho số chẵn và 1 cho số lẻ
+ Đối với số nguyên có dấu, sử dụng msb làm bit xác định dấu (0:
Dương). Giá trị này lưu trên máy tính dạng số bù 2 (với số âm).
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 10
5 August 2010 55
Số bù 1 và bù 2
* Số bù 1: Là kết quả phép đảo bits.
0000 0000 0000 0101
Bù 1: 1111 1111 1111 1010
Số bù 2: Kết quả phép cộng số bù 1 và 1
Bù 1: 1111 1111 1111 1010
+ 1
Bù 2: 1111 1111 1111 1011
5 August 2010 56
Vì sao bù 2 là biểu diễn số âm?
Lấy con số gốc + bù 2 = 0
msb sẽ bị mất do word chỉ có khả năng lưu giá
trị 16 bits.
Nếu ta lấy bù 2 thêm lần nữa sẽ cho ra giá trị
gốc.
Biểu diễn dạng không dấu đơn giản chỉ là phép
tính chuyển cơ số.
Dạng có dấu chuyển tính dưới dạng bits, lấy
bù 2.
5 August 2010 57
Dạng byte – 8 bit
Có thể biểu diễn dạng:
Số nguyên không dấu 8bit
Có giá trị từ 0 28-1=255
Số nguyên có dấu
bit dấu
Có giá trị từ: -27 27-1 (-128127)
01234567
0: Số dương
1: Số âm
5 August 2010 58
1 ký tự theo bảng mã ASCII
‘a’ 97 = 61Hex = 01100001
‘A’ 65 = 41Hex = 01000001
Ví dụ cho dạng byte 10111000
Số nguyên không dấu tương ứng
10111000 = 128 + 32 + 16 + 8 = 184
Số nguyên có dấu (xét bit dấu = bit 7 = 1)
Lấy bù: 01000111
+ 1
01001000 = 64 + 8 = 72
Số nguyên có dấu là: -72
Nhận xét: 256 – 184 = 72
1.4. Thông tin và sự mã hóa – Ví dụ
5 August 2010 59
Dạng word – 16 bit
Có thể biễu diễn dạng:
Số nguyên không dấu 16bit:
Có giá trị: 0 216-1=65535
Số nguyên có dấu 16bit
Có giá trị: -215215-1 (-3276832767)
word = (byte cao)x28 + (byte thấp)
89101112131415 01234567
8 bit cao (byte cao) 8 bit thấp (byte thấp)
bit dấu = bit cao nhất = bit 15
1.4. Thông tin và sự mã hóa – Ví dụ
5 August 2010 60
1.4. Thông tin và sự mã hóa – Ví dụ
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 11
5 August 2010 61
1. Bộ mã ASCII
5 August 2010 62
5 August 2010 63
Các ví dụ
Ví dụ 1:
Biểu diễn các số nguyên có dấu sau
đây bằng 8 bit: A = +58 ; B = -80
5 August 2010 64
5 August 2010 65 5 August 2010 66
1. Giới thiệu
1.5. Mạch logic cơ bản
4
1/ NOT
2/ AND
3/ OR
Hµm logic PhÇn tö logic B¶ng Ch©n lý
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 12
5 August 2010 67
Cổng AND
+5v Output là 1 nếu và chỉ nếu
Input-1 là 1 và
Input-2 là 1
Output = Input1 AND
Input2
Output
Input-1
Input-2
AND Gate
A
ABB
5 August 2010 68
5
4/ NAND
5/ NOR
6/ XOR
7/ Hµm
t-¬ng
®-¬ng
3- C¸c phÐp to¸n, phÇn tö logic c¬ b¶n
PhÇn tö logic Hµm logic
5 August 2010 69
4- BiÓu diÔn hµm logic b»ng s¬ ®å
6
Mét sè vÝ dô:
5 August 2010 70
15b
Bé céng 2 sè nhÞ ph©n 1 bit
5 August 2010 71
15c
Bé so s¸nh 2 sè nhÞ ph©n 1 bit
5 August 2010 72
1. Giới thiệu
1.6. Liên kết hệ thống
Khái niệm chung về bus: Là tập hợp các đường kết nối
dùng để vận chuyển thông tin giữa các thành phần của
máy tính với nhau.
Độ rộng bus: Là số đường dây của bus có thể truyền
các bit thông tin đồng thời (chỉ dùng cho bus địa chỉ và
bus dữ liệu)
Phân loại cấu trúc bus:
Cấu trúc đơn bus
Cấu trúc đa bus
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 13
5 August 2010 73
Bus đồng bộ và bus không đồng bộ
Bus đồng bộ
+ Bus có đường tín hiệu Clock
+ Các sự kiện trên bus được xác định bởi
xung nhịp Clock.
Bus không đồng bộ
+ Không có đường tín hiệu Clock
+ Kết thúc một sự kiện này trên bus sẽ
kích hoạt cho một sự kiện tiếp theo.
5 August 2010 74
Minh họa hệ thống Bus
5 August 2010 75
Bus địa chỉ
Chức năng: vận chuyển địa chỉ để xác định ngăn nhớ
hay cổng vào-ra.
Độ rộng bus địa chỉ: xác định dung lượng bộ nhớ cực
đại của hệ thống.
5 August 2010 76
Bus dữ liệu
Chức năng: vận chuyển lệnh từ bộ nhớ đến CPU vận
chuyển dữ liệu giữa CPU, các môđun nhớ và môđun
vào-ra.
Độ rộng bus dữ liệu: xác định số bit dữ liệu có thể
được trao đổi đồng thời.
5 August 2010 77
Bus điều khiển
Chức năng: vận chuyển các tín hiệu điều khiển
Các loại tín hiệu điều khiển
+ Các tín hiệu phát ra từ CPU để điều khiển
môđun nhớ và môđun vào-ra
+ Các tín hiệu từ môđun nhớ hay môđun vào-ra
gửi đến yêu cầu CPU.
5 August 2010 78
Chu kỳ bus
Mỗi chu kỳ bus là 1 tác vụ xảy ra trên bus để truyền tải
data.
Mỗi lần CPU cần lệnh (hoặc data) từ bộ nhớ hoặc I/O,
chúng phải thực thi 1 chu kỳ bus để có được thông tin
hoặc ghi thông tin ra bộ nhớ hoặc ra I/O.
Mỗi chu kỳ bus gồm 2 bước :
+ Bước 1 : gửi địa chỉ
+ Bước 2 : truyền data từ địa chỉ đã được định vị.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 14
5 August 2010 79
Chu kỳ Bus
4 chu kỳ bus cơ bản :
+ Đọc bộ nhớ (memory Read)
+ Ghi bộ nhớ (memory Write)
+ Đọc I/O (I/O Read)
+ Ghi I/O (I/O Write)
Các tín hiệu cần thiết để thực hiện các chu kỳ bus được sinh ra
bởi CPU hoặc DMA Controller hoặc bộ làm tươi bộ nhớ
Mỗi chu kỳ Bus đòi hỏi tối thiểu trọn vẹn 2 xung đồng hồ hệ
thống.
Đây là mốc tham chiếu theo thời gian để đồng bộ hoá tất cả các
tác vụ bên trong máy tính.
5 August 2010 80
Chu kỳ Bus
5 August 2010 81
Chu kỳ Bus
Xung đầu tiên gọi là Address time, địa chỉ truy
xuất sẽ được gửi đi cùng với tín hiệu xác định loại
tác vụ sẽ được thực thi (đọc/ghi/đến mem/đến
I/O).
Cuối xung thứ 2, CPU sẽ kiểm tra đường tín hiệu
Ready. Nếu thiết bị cần truy xuất sẵn sàng đáp
ứng tác vụ, thiết bị này sẽ kích 1 tín hiệu lên đường
Ready để báo cho CPU biết và chu kỳ bus hoàn tất.
Khi 1 thiết bị không sẵn sàng, không có tín hiệu
trên đường Ready, CPU phải chờ, có thể phải tiêu
tốn thêm 1 hay nhiều xung clock
5 August 2010 82
Nội dung
Bộ vi xử lý:
1. Cấu trúc phần mềm
2. Thi hành lệnh
3. Tập lệnh
5 August 2010 83
2. Bộ vi xử lý
2.1. Kiến trúc phần mềm – ghi chú về phần cứng
Cấu trúc của một hệ máy tính đơn giản
5 August 2010 84
2. Bộ vi xử lý
Chương trình, bộ nhớ,thanh ghi,ngăn xếp
+Thanh ghi dữ
liệu:AX 16 bit
(AH, AL), BX,
+Thanh ghi
đoạn: CS, DS,
SS, ES
+ Th. Ghi con
trỏ và chỉ số:
SP (ngăn xếp),
BP, IP, SI, DI
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 15
5 August 2010 85
2. Bộ vi xử lý
Kiến trúc phần mềm của bộ xử lý, bao gồm: tập lệnh,
dạng các lệnh và các kiểu định vị.
+ Tập lệnh là tập hợp các lệnh mã máy (mã nhị phân)
hoàn chỉnh có thể hiểu và được xử lý bới bộ xử lý
trung tâm, thông thường các lệnh trong tập lệnh
được trình bày dưới dạng hợp ngữ. Mỗi lệnh chứa
thông tin yêu cầu bộ xử lý thực hiện, bao gồm: mã
tác vụ, địa chỉ toán hạng nguồn, địa chỉ toán hạng
kết quả, lệnh kế tiếp.
+ Kiểu định vị chỉ ra cách thức thâm nhập toán hạng.
2.1. Kiến trúc phần mềm
5 August 2010 86
2. Bộ vi xử lý
2.2. Thi hành lệnh
Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh
từ bộ nhớ chính.
Bộ đếm chương trình PC (Program
Counter) của CPU giữ địa chỉ của lệnh sẽ
được nhận.
CPU nhận lệnh từ ngăn nhớ được trỏ bởi
PC (Program Counter).
Lệnh được nạp vào thanh ghi lệnh IR
(Instruction Register)
Sau khi lệnh được nhận vào, nội dung PC tự
động tăng để trỏ sang lệnh kế tiếp.
Chu trình lệnh
5 August 2010 87
CPU thực hiện lệnh theo từng bước
Bước 1
Đọc lệnh tiếp theo vào bộ nhớ chính vào thanh ghi
lệnh IR (Lệnh IR nằm trong bộ nhớ chính)
Bước 2
Thay đổi bộ đếm chương trình để trỏ tới lệnh tiếp
theo
MOV A, (M)
ADD A, (M+)
Bước 3
Giải mã lệnh: CPU xác định kiểu lệnh đọc vào bộ nhớ
5 August 2010 88
Minh họa quá trình nhận lệnh
5 August 2010 89
CPU thực hiện lệnh theo từng bước
Bước 4
Nếu lệnh sử dụng một từ trong một bộ nhớ phải xác
định xem từ đó nằm ở đâu
Bước 5
Nếu tồn tại, đọc từ đó vào một thanh ghi bên trong
CPU, đa phần đọc vào thanh ghi A
Bước 6
Thực hiện lệnh
Bước 7
Cất giữ kết quả lệnh
Bước 8
Quay lại bước đầu tiên
5 August 2010 90
2. Bộ vi xử lý
2.3. Tập lệnh
Giới thiệu chung
+ Mỗi bộ xử lý có tập lệnh xác định.
+ Một tập lệnh thường có vài chục đến vài nghìn lệnh
+ Mỗi lệnh là chuỗi nhị phân mà bộ xử lý có thể phân tích và
hiểu để thực hiện thao tác mà lệnh đó yêu cầu.
+ Các lệnh khi viết được ánh xạ ra thành các ký hiệu gợi nhớ.
ADD, MOV, IN, OUT, SHL, ROL,
+ Giống câu lệnh của hợp ngữ (Lập trình ASSEMBLY)
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 16
5 August 2010 91
Các kiểu thao tác
• Thao tác chuyển dữ liệu
• Thao tác xử lý số học và logic
• Thao tác vào ra dữ liệu qua cổng
• Thao tác điều khiển rẽ nhánh
• Thao tác điều khiển hệ thống
• Thao tác xử lý số dấu chấm động
• Thao tác chuyên dụng khác: xử lý ảnh, âm thanh,
tiếng nói,
5 August 2010 92
Các lệnh chuyển dữ liệu
+ Lệnh Mov Sao chép dữ liệu từ toán hạng nguồn -> đích
+ Lệnh Load Nạp dữ liệu từ bộ nhớ -> bộ xử lý
+ Lệnh XCHG Trao đổi nội dung của hai toán hạng cho
nhau
+ Lệnh PUSP Cất nội dung của một toán hạng nguồn vào
stack
+ Lệnh POP Lấy nội dung ở đỉnh Stack ra toán hạng đích
+ Lệnh Set, Clear
5 August 2010 93
Một số lệnh
Các lệnh số học
+ Lệnh ADD: cộng
+ Lệnh SUB: trừ
+ Lệnh MUL: nhân
+ Chia DIV: chia
Các lệnh logic
+ Lệnh Test Thực hiện lệnh AND thiết lập cờ
+ Lệnh Shift Dịch trái, hoặc phải
+ Lệnh Rotate Quay trái hoặc quay phải
+ Lệnh Convert Chuyển đổi dữ liệu từ dạng này sang dạng khác
+ Lệnh AND, OR, XOR, NOT,.
5 August 2010 94
Các lệnh vào ra
+ Lệnh Input
+ Lệnh Output
Các lệnh chuyển điều khiển
+ Lệnh Jump
+ Lệnh Call
+ Lệnh Return : trở về từ chương trình con
Các lệnh điều khiển hệ thống
+ Lệnh Halt : dừng thực hiện chương trình
+ Lệnh Wait : tạm dừng thực hiện chương trình, lặp kiểm tra cho đến
khi thoả mãn thì tiếp tục thực hiện
+ Lệnh NOP (No Operation): không thực hiện gì cả
+ Lệnh Lock : Cấm không cho chuyển nhượng BUS
+ Lệnh Unlock: cho phép chuyển nhượng BUS
Một số lệnh
5 August 2010 95
Ví dụ lập trình cho LED nhấp nháy
(Cho 8051)
ORG 2000h
MOV SP,#50h
MOV PSW,#0 ; Bank 0
LOOP: CLR P1.3 ; Led on
CALL DELAY
SETB P1.3 ; Led off
CALL DELAY
JMP LOOP
DELAY: PUSH PSW
MOV PSW,#18h; Bank 3
MOV R7,#0
DLY1:MOV R6,#0
DLY2:NOP
NOP
NOP
DJNZ R6,DLY2
DJNZ R7,DLY1
POP PSW
RET
END
5 August 2010 96
2. Bộ vi xử lý
Sử dụng ngăn xếp
khi gọi chương
trình con (thủ tục,
hàm)
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 17
5 August 2010 97
Nội dung
2. Bộ vi xử lý (tiếp):
1. Tổ chức phần cứng
2. Xử lý và truyền dữ liệu
3. Một số máy tính lớn
5 August 2010 98
2. Bộ vi xử lý
2.1. Tổ chức phần cứng
CPU 8088
EU : khối thực hiện
lệnh(Execution Unit)
ALU : khối số học và
logic(Arithmetic anh Logic
Unit)
CU: Khối điều khiển
BIU : khối phối ghép
bus(Bus Interface Unit)
5 August 2010 99
2. Bộ vi xử lý
CPU:
5 August 2010 100
2. Bộ vi xử lý
Thực hiện lệnh gồm:
+ Đọc mã lệnh,
+ Giải mã lệnh
+ Thực hiện lệnh.
(Sau đó lưu kết quả và ô nhớ)
Khi CPU hoạt động, EU sẽ cung cấp
thông tin về địa chỉ cho BIU để khối
này đọc lệnh và dữ liệu, còn bản thân
EU thì giải mã lệnh và thực hiện lệnh.
5 August 2010 101
2. Bộ vi xử lý
+ BIU đưa ra địa chỉ, đọc mã lệnh từ bộ nhớ, đọc/ghi
dữ liệu từ/vào cổng hoặc bộ nhớ. BIU chịu trách nhiệm
đưa địa chỉ ra bus và trao đổi dữ liệu với bus.
+ EU có khối điều khiển(CU - Control Unit), có mạch
giải mã lệnh. Mã lệnh đọc vào từ bộ nhớ được đưa đến
đầu vào của bộ giải mã, các thông tin thu được từ đầu
ra được đưa đến mạch tạo xung điều khiển, kết quả là ta
thu được các dãy xung khác nhau (tuỳ theo mã lệnh) để
điều khiển hoạt động của các bộ phận bên trong và bên
ngoài CPU. Trong EU còn có khối số học và
logic(ALU) dùng để thực hiện các thao tác khác nhau
với các toán hạng của lệnh.
5 August 2010 102
2. Bộ vi xử lý
ALU:
CU:
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 18
5 August 2010 103
2. Bộ vi xử lý
CU: sơ đồ khối
5 August 2010 104
2. Bộ vi xử lý
Bộ thanh ghi
5 August 2010 105
2. Bộ vi xử lý
Thanh ghi truy cập bộ nhớ
5 August 2010 106
2. Bộ vi xử lý
Thanh ghi chuyển tải lệnh
Thanh ghi trạng thái
5 August 2010 107
2. Bộ vi xử lý
5 giai đoạn thực hiện lệnh:
2.2. Xử lý và truyền dữ liệu
5 August 2010 108
2. Bộ vi xử lý
5 giai đoạn thực hiện lệnh:
2.2. Xử lý và truyền dữ liệu
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 19
5 August 2010 109
2. Bộ vi xử lý
Đọc lệnh:
Giải mã lệnh và thi hành lệnh
Lưu kết quả:
5 August 2010 110
2. Bộ vi xử lý
2.2. Xử lý và truyền dữ liệu
5 August 2010 111
Cấu trúc mã lệnh
Một lệnh mô tả bằng mã nhị phân có thể dài từ 1 đến 6 byte.
Cấu trúc chung của một mã lệnh bao gồm:
+ Prefix đi trước mã lệnh.
+ Mã toán (Operation Code: Opcode): Mã chỉ ra thao tác mà bộ
vi xử lý cần phải thực hiện, phân biệt đó là lệnh gì.
+ Ví dụ với lệnh dịch chuyển MOV có mã toán là 100010.
+ Địa chỉ toán hạng (Operand Address): Chỉ ra nơi chứa các
toán hạng mà mã thao tác sẽ tác động.
+ Toán hạng (operand) cho biết cái gì được xử lý (nội dung của
thanh ghi hay bộ nhớ). Địa chỉ trực tiếp (2 byte).
+ Toán hạng nguồn: dữ liệu vào của thao tác
+ Toán hạng đích: dữ liệu ra của thao tác
5 August 2010 112
5 August 2010 113
Cấu trúc mã lệnh
Nội dung của mã lệnh được quy định khá chặt chẽ.
Ví dụ: dưới đây cho thấy cấu trúc nhị phân của một lệnh dịch
chuyển MOV đích, nguồn dùng để truyền dữ liệu giữa 2 thanh
ghi hoặc giữa ô nhớ và thanh ghi.
5 August 2010 114
Bit D (direction) chỉ hướng cho thanh ghi REG.
+ D=1 chỉ dữ liệu đi đến REG.
+ D=0 thì chỉ dữ liệu đi từ REG.
Bit W (Word) chỉ xem thanh ghi được dùng là 8 bit
hay 16 bit (1 word). W=1 có nghĩa là thanh ghi 16 bit
được dùng.
Hai bit MOD (mode, chế độ) và Ba bit R/M
(register/memory, thanh ghi/bộ nhớ) tạo ra 5 bit, dùng
để chỉ chế độ địa chỉ của lệnh.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 20
5 August 2010 115
Bảng mã thanh ghi
5 August 2010 116
Bảng mã thanh ghi
5 August 2010 117
Ví dụ
Mã hoá các lệnh:
a/ MOV CL,[BX];
b/ MOV 0F3H[SI],CL;
5 August 2010 118
Ví dụ
5 August 2010 119 5 August 2010 120
2. Bộ vi xử lý
BIU có thêm một bộ nhớ đệm lệnh với
dung lượng 4 byte dùng để chứa các mã
lệnh đọc được nằm sẵn để chờ EU xử lý
(còn được gọi là hàng đợi lệnh - Queue)
Cơ chế xử lý xen kẽ liên tục dòng mã lệnh
(instruction pipelining)
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 21
5 August 2010 121
Kỹ thuật pipelining
Bộ xử lý gồm các phần tử xử lý độc lập Processing
Elements/Stage
Được ứng dụng để thiết kế quá trình xử lý lệnh
song song từng công đoạn (Instruction pipelining)
5 August 2010 122
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 123
Phân loại theo Flynn
Phân 4 nhóm dựa trên số lượng chuỗi lệnh và
số lượng chuỗi dữ liệu
SISD (Single Instruction, Single Data): Một
chuỗi lệnh, một chuỗi dữ liệu
SIMD (Single Instruction, Multiple Data):
Máy tính mảng, máy tính xử lý vector (tính
toán vector, các bài toán Vector)
MISD: Nhiều lệnh 1 dữ liệu
MIMD: Nhiều chuỗi lệnh và nhiều chuỗi dữ
liệu ->kiến trúc song song
MultiProcessor Parallel Computer
Multicomputer Distributed system
5 August 2010 124
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 125
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 126
2. Bộ vi xử lý
2.3. Máy tính lớn
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 22
5 August 2010 127
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 128
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 129
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 130
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 131
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 132
2. Bộ vi xử lý
2.3. Máy tính lớn
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 23
5 August 2010 133
Phân loại kiến trúc máy tính song song
5 August 2010 134
Các cấp kiến trúc máy tính song song
(a) On-chip parallelism
(b) Coprocessor
(c) Multiprocessor
(d) Multicomputer
(e) Grid
5 August 2010 135
Phân loại theo cấu trúc kết nối máy tính
Một hệ thống máy tính có thể được xem như:
+ Một tập hợp n>=1 bộ xử lý, hay đơn vị xử lý trung tâm (CPU):
P1,P2,P3Pn
+ M>=0 (đơn vị nhớ chia sẻ) M1, M2Mn kết nối trong mạng N
Chia thành hai loại
+ Máy tính chia sẻ bộ nhớ ( Share Memory Computer)
+ Máy tính phân tán bộ nhớ ( Distributed Memory Computer)
5 August 2010 136
Máy tính chia sẻ bộ nhớ
+ Hệ thống máy tính có một
bộ nhớ chung và n bộ XL
kết nối với nhau qua mạng
N
Máy tính phân tán bộ nhớ
+ Mỗi một bộ XL kết nối với
một bộ nhớ riêng biệt
Phân loại theo cấu trúc kết nối máy tính
5 August 2010 137
Bộ nhớ dùng chung (shared memory)
5 August 2010 138
Bộ nhớ dùng chung (tt)
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 24
5 August 2010 139
Distributed system
5 August 2010 140
Multicomputer
a. Multicomputer với 16 CPU, mỗi CPU có bộ nhớ riêng-> máy tính
bộ nhớ phân tán
b. Một hình ảnh được chia thành 16 phần trên 16 bộ nhớ
5 August 2010 141
Multiprocessor
a. Multiprocessor với 16 CPU dùng chung 1 bộ nhớ -> máy tính chia
sẻ bộ nhớ
b. Một hình ảnh được chia thành 16 phần cho 16 CPU xử lý
5 August 2010 142
NUMA multiprocessor
Máy tính NUMA dựa trên hai cấp bus
5 August 2010 143
Kiến trúc Cluster
5 August 2010 144
So sánh giữa Multiprocessor và MultiComputer
Giống nhau: Cùng thực hiện một nhiệm vụ chung, hay
những nhiệm vụ được chia sẻ
Khác nhau:
Đa xử lý (Multiprocessor): là một máy tính nhiều lệnh,
nhiều dữ liệu (MIMD)
Nâng cao hiệu suất xử lý, khi thực hiện một nhiệm vụ quá
lớn, thời gian kéo dài các tác vụ được chia sẻ và các
PE(CPU) thực hiện song song.
Tăng độ tin cậy, độ sẵn sàng của máy tính, là sự sẵn sàng
hoạt động liên tục của máy tính khi có bất kỳ sự cố nào
trong hệ thống.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 25
5 August 2010 145
Kiến trúc song song đều cho khả năng tăng
tốc độ tính toán của máy tính hoặc VXL
Tăng độ tin cậy vì khi có một bộ XL hay khi
bộ nhớ bị hỏng thì quá trình tính toán chung
vẫn thực hiện bình thường do các thành phần
còn lại vẫn đảm nhiệm chức năng của thành
phần bị hỏng
Nhược điểm là phức tạp về cấu trúc và khó
khăn cho quản lý
5 August 2010 146
Các CPU cũ đã xử lý mỗi lúc một lệnh
+ Lệnh trước đã được lấy về và được xử lý hoàn toàn rồi
một lệnh mới mới được đọc về.
+ Việc xử lý một lệnh có thể được hoàn tất trong vài chu
kỳ xung nhịp (số chu kỳ xung nhịp đích xác bao nhiêu
là tuỳ thuộc vào lệnh cụ thể)
Kỹ thuật xử lý theo đường ống (pipelining)
Xử lý lệnh liên tiếp (Intruction Pipelining) cho phép
lệnh mới bắt đầu được xử lý trong khi các lệnh hiện tại
vẫn đang được xử lý.
CPU có thể được thực hiện vài lệnh trong cùng một
chu kì xung nhịp.
Đối với một chu kì xung nhịp cho trước bất kỳ, có thể
có vài lệnh “In the pipeline” cùng một lúc.
Xử lý theo đường ống cho phép CPU tận dụng các tài
nguyên xử lý trong khi một lệnh nào đó đang được
hoàn tất.
5 August 2010 147
2. Bộ vi xử lý
Một số câu hỏi, bài tập
5 August 2010 148
2. Bộ vi xử lý
Một số câu hỏi, bài tập
5 August 2010 149
Nội dung
1. Giới thiệu
2. Bộ vi xử lý
3. Ghép nối máy tính với các T.Bị
Tài liệu tham khảo:
[1]. Nguyễn Đình Việt, Kiến trúc máy tính, NXB Giáo dục, 2000
[2]. Võ Văn Chín, BG Kiến trúc máy tính, ĐH Cần thơ, 1997
[3]. Trần Thị Kim Huệ, BG Kiến trúc máy tính, ĐH Sư phạm Hà Nội, 2008
[4]. Trần Quang Vinh, Cấu trúc máy tính, NXB Giáo dục, 2003
[5]. M. Morris Mano (Atmiya Infotech), Computer Organization & Architecture, E-book
[6]. MIT, Computer System Architecture, 2005, OpenCourseWare
5 August 2010 150
3. Ghép nối máy tính với thiết bị
Thiết bị ngoại vi
Thiết bị ngoại vi là tên chung nói đến một số
loại thiết bị bên ngoài thùng máy được gắn
kết với máy tính với tính năng nhập xuất (IO)
hoặc mở rộng khả năng lưu trữ (như một
dạng bộ nhớ phụ).
Thiết bị ngoại vi của máy tính có thể là:
Thiết bị cấu thành lên máy tính và không thể
thiếu được ở một số loại máy tính.
Thiết bị có mục đích mở rộng tính năng hoặc khả
năng của máy tính.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 26
5 August 2010 151
3. Ghép nối máy tính với thiết bị
Một số loại thiết bị ngoại vi
Có nhiều các thiết bị ngoại vi của máy tính, dưới đây liệt kê một
số thiết bị ngoại vi thường gặp hoặc quan trọng cấu thành
lên máy tính như sau:
1. Màn hình máy tính
2. Ổ cứng gắn ngoài hoặc ổ cứng di động
3. Các loại thiết bị nhớ mở rộng: Bút nhớ USB...
4. Ổ quang (CD, DVD)
5. Chuột (máy tính)
6. Bàn phím máy tính
7. Máy in
8. video camera cho mục đích an ninh, giám sát được khi được kết nối với
máy tính. Webcam
9. Modem các loại (cho quay số, ADSL...)
10. Loa máy tính
5 August 2010 152
Common System Components
This figure shows
several devices that
are common com-
ponents of a com-
puter system.
5 August 2010 153
3. Ghép nối máy tính với thiết bị
Hệ thống vào-ra (Input/Output System)
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
Vào dữ liệu (Input)
Ra dữ liệu (Output)
Các thành phần chính
Các thiết bị ngoại vi (Peripheral Devices)
Các môđun vào-ra (IO Modules)
5 August 2010 154
Các thiết bị ngoại vi
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ị ngoại vi (TBNV) cơ bản
+ Thiết bị vào: bàn phím, chuột, máy quét
+ Thiết bị ra: màn hình, máy in
+ Thiết bị nhớ: các ổ đĩa
+ Thiết bị truyền thông: MODEM
5 August 2010 155
Modul vào-ra
Chức năng
+ Nối ghép các TBNV với máy
tính.
+ Mỗi môđun vào-ra có một
hoặc một vài cổng vào-ra (I/O
Port).
+ Mỗi cổng vào-ra được đánh
một địa chỉ xác định.
+ Các TBNV được kết nối và
trao đổi dữ liệu với máy tính
thông qua các cổng vào-ra.
5 August 2010 156
Bộ nhớ máy tính
Chức năng: lưu trữ chương trình và dữ liệu.
Các thao tác cơ bản với bộ nhớ:
+ Đọc (Read)
+ Ghi (Write)
Các thành phần chính:
+ Bộ nhớ trong (Internal Memory)
+ Bộ nhớ ngoài (External Memory)
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 27
5 August 2010 157
Phân lớp hệ thống nhớ
5 August 2010 158
Bộ nhớ trong (Internal memory)
Chức năng và đặc điểm
+ Chứa các thông tin mà CPU có thể trao đổi
trực tiếp
+ Tốc độ rất nhanh
+ Dung lượng không lớn
+ Sử dụng bộ nhớ bán dẫn
Các loại bộ nhớ trong
+ Bộ nhớ chính
+ Bộ nhớ cache (bộ nhớ đệm nhanh)
5 August 2010 159
Bộ nhớ chính (Main memory)
+ Chứa các chương trình và
dữ liệu đang được CPU sử
dụng.
+ Tổ chức thành các ngăn
nhớ được đánh địa chỉ.
+ Ngăn nhớ thường được tổ
chức theo byte.
+ 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.
5 August 2010 160
Bộ nhớ chính
Bộ nhớ RAM (Random access memory)
+ Tốc độ truy cập nhanh
+ Lưu trữ giữ liệu tạm thời,
+ Dữ liệu sẽ bị mất vĩnh viễn khi không còn nguồn điện
cung cấp.
Bộ nhớ ROM (Read Only Memory)
+ Lưu trữ các chương trình mà khi mất nguồn điện
cung cấp sẽ không bị (xóa) mất.
+ Ngày nay còn có công nghệ FlashROM tức bộ nhớ
ROM không những chỉ đọc mà còn có thể ghi lại
được, nhờ có công nghệ này BIOS được cải tiến
thành FlashBIOS.
5 August 2010 161
RAM
Các ô nhớ có thể đọc hoặc ghi trong khoảng thời
gian bằng nhau cho dù chúng ở bất kỳ vị trí nào
trong ô nhớ.
Mỗi ô nhớ có một địa chỉ ghi 1byte, nhưng hệ
thống nhớ có thể đọc ra hay viết vào nhiều byte
Phân loại
+ SRAM (Static RAM): Chế tạo theo công nghệ
CMOS, vẫn lưu dữ liệu nếu có điện
+ DRAM (Dynamic RAM): Dùng nguyên tắc tích
điện của tụ điện C được tạo ra bởi bản mạch
Transistor và đế của vi mạch
5 August 2010 162
SRAM
Dung lượng của SRAM 2n x m (bit)
n : là số bit địa chỉ
m: là số bit dữ liệu
+ Bộ nhớ SRAM thường được tổ
chức theo ma trận vuông số hàng
và số cột bằng nhau, giao điểm
của hàng và cột chính là 1 ô bit
nhớ
Mỗi bit trong 1 thanh SRAM được chứa trong 4 transistor tạo
thành 2 cặp chéo nhau. Ô chứa có 2 trạng thái 0 và 1.
Ngoài ra còn 2 transistor được sử dụng điều khiển quyền truy
cập tới 1 ô nhớ trong quá trình đọc và ghi. Tổng cộng, cần 6
transistor để chứa 1 bit bộ nhớ.
Truy cập tới cell được kích hoạt bởi word line (WL) điều khiển 2
transistor truy cập M5 và M6, được kết nối tới các đường bit: BL
và BL đảo.
Đường bit được sử dụng để truyền dữ liệu cho cả đọc và ghi (có
thể có một trong hai)
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 28
5 August 2010 163
DRAM
Dùng kỹ thuật CMOS mỗi
bit nhớ, mỗi bit nhớ có một
transistor và một tụ điện
Việc ghi nhớ dựa vào việc
duy trì nạp vào tụ điện và
việc đọc một bit nhớ làm nội
dung bit này bị hủy
Sau mỗi lần đọc ô nhớ, bộ
phận điều khiển bộ nhớ viết
lại ô nhớ đó nội dung vừa
đọc do đó chu kỳ bộ nhớ
động ít nhất gấp đôi thời
gian thâm nhập ô nhớ
5 August 2010 164
DRAM
Việc lưu giữ thông tin trong bit nhớ chỉ là tạm thời vì tụ
điện sẽ phóng hết điện tích vào và làm tươi bộ nhớ sau
mỗi 2µs
Làm tươi bộ nhớ là đọc ô nhớ và viết lại nội dung đó
vào ô nhớ. Việc làm tươi bộ nhớ được thực hiện tự
động bởi một vi mạch bộ nhớ.
+ SDRAM (Synchronous DRAM)
+ DDR SDRAM (Double Data Rate SDRAM
+ RDRAM (Rambus RAM): Hoạt động đồng bộ theo một
hệ thống lặp và truyền dữ liệu theo một hướng.
5 August 2010 165
ROM
Được chế tạo bằng công nghệ bán dẫn, chương trình trong ROM
được viết vào lúc chế tạo
ROM chứa chương trình khởi động máy tính
PROM (Programable ROM)
+ Chế tạo bằng các mối nối (cầu chì - có thể làm đứt bằng điện).
+ Chương trình nằm trong PROM có thể được viết vào bởi người
sử dụng bằng thiết bị đặc biệt và không thể xóa được.
EPROM (Erasable Programable ROM)
+ Chế tạo bằng nguyên tắc phân cực tĩnh điện.
+ Chương trình nằm trong ROM có thể được viết vào (bằng điện)
và có thể xóa (bằng tia cực tím - trung hòa tĩnh điện) để viết lại
bởi người sử dụng.
EEPROM (Electrically Erasable Programable ROM)
+ Chế tạo bằng công nghệ bán dẫn.
+ Chương trình nằm trong ROM có thể được viết vào và có thể xóa
(bằng điện) để viết lại bởi người sử dụng.
5 August 2010 166
Bộ nhớ đệm nhanh (Cache memory)
+ Bộ nhớ có tốc độ nhanh, dung lượng nhỏ hơn bộ nhớ chính được đặt
đệm giữa CPU và bộ nhớ chính
+ Thường nằm trong CPU, một số cache cũ có thể nằm ngoài CPU
+ Các cache trên đế cắm kiểu slot 1,
+ Cache dạng thanh, có thể tháo rời giống các thanh RAM ngày nay.
5 August 2010 167
Cache thường được chia thành một số mức.
+ Cache L1: On-chip cho VXL, nằm bên trong CPU.
+ Cache L2: Off-chip của hệ thống nhớ phân lớp, nằm
bên ngoài CPU.
+ Cache L3 (L3 chỉ có ở một số CPU) có tốc độ truy
xuất gần bằng tốc độ truyền dữ liệu trong CPU, mức
trung gian giữa cache L2 và bộ nhớ.
+ Cache có thể có (hoặc không) được tích hợp trên chip
vi xử lý
5 August 2010 168
Thao tác đọc bộ nhớ, bộ xử lý gởi một địa chỉ
và nhận một dữ liệu từ bộ nhớ trong.
Thao tác ghi bộ nhớ, bộ xử lý viết một dữ liệu
vào một ô nhớ với một địa chỉ được chỉ ra
trong bộ nhớ.
Để cho chương trình vận hành bình thường
thì cache phải chứa một phần con của bộ nhớ
trong để bộ xử lý có thể thâm nhập vào các
lệnh hoặc dữ liệu thường dùng từ bộ nhớ
cache.
Do dung lượng của bộ nhớ cache nhỏ nên nó
chỉ chứa một phần chương trình nằm trong
bộ nhớ trong.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 29
5 August 2010 169
Bộ nhớ ngoài (External memory)
Chức năng và đặc điểm
+ 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
+ Tốc độ chậm
Các loại bộ nhớ ngoài (SAM: Sequential Access
Memory)
+ Bộ nhớ từ: đĩa cứng, đĩa mềm
+ Bộ nhớ quang: đĩa CD, DVD
+ Bộ nhớ bán dẫn: Flash disk, memory card
5 August 2010 170
Auxiliary Storage
Floppy Disk
No longer standard
Hard (fixed) disk
30 Gb and higher
5400rpm, 7200 rpm
Removable storage
CD-ROM
CD-R/CD-RW
DVD/DVD-R/DVD-RW
(Digital Video Disk HD)
Zip disks
Tape
USB
5 August 2010 171
Disk Storage
Based on bytes per track
per sector
1 track on 1 Sector
contains 512 bytes
Track-sector on each
surface (top & bottom)
Storage = 1,024 bytes per
track-sector (top &
bottom) = 1K
5 August 2010 172
Disk Storage
Cylinder
Same track on each
surface make up a
cylinder
All data in one
cylinder can be read
without moving
read/write arm
5 August 2010 173
3. Ghép nối máy tính với thiết bị
Thiết bị ngoại vi
Thiết bị ngoại vi là tên chung nói đến một số
loại thiết bị bên ngoài thùng máy được gắn
kết với máy tính với tính năng nhập xuất (IO)
hoặc mở rộng khả năng lưu trữ (như một
dạng bộ nhớ phụ).
Thiết bị ngoại vi của máy tính có thể là:
Thiết bị cấu thành lên máy tính và không thể
thiếu được ở một số loại máy tính.
Thiết bị có mục đích mở rộng tính năng hoặc khả
năng của máy tính.
5 August 2010 174
3. Ghép nối máy tính với thiết bị
Một số loại thiết bị ngoại vi
Có nhiều các thiết bị ngoại vi của máy tính, dưới đây liệt kê một
số thiết bị ngoại vi thường gặp hoặc quan trọng cấu thành
lên máy tính như sau:
1. Màn hình máy tính
2. Ổ cứng gắn ngoài hoặc ổ cứng di động
3. Các loại thiết bị nhớ mở rộng: Bút nhớ USB...
4. Ổ quang (CD, D+D)
5. Chuột (máy tính)
6. Bàn phím máy tính
7. Máy in
8. video camera cho mục đích an ninh, giám sát được khi được kết nối với
máy tính. Webcam
9. Modem các loại (cho quay số, ADSL...)
10. Loa máy tính
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 30
5 August 2010 175
Common System Components
This figure shows
se+eral devices that
are common com-
ponents of a com-
puter system.
5 August 2010 176
3. Ghép nối máy tính với thiết bị
Hệ thống vào-ra (Input/Output System)
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
vào dữ liệu (Input)
Ra dữ liệu (Output)
Các thành phần chính
Các thiết bị ngoại vi (Peripheral Devices)
Các môđun vào-ra (IO Modules)
5 August 2010 177
3. Ghép nối máy tính với thiết bị
Thiết bị ngoại vi
Chức năng: phương tiện chuyển đổi thông tin giữa bên
trong và bên ngoài máy tính
Đặc điểm các thiết bị
Trên thị trường tồn tại rất nhiều các thiết bị ngoại
vi khác nhau về: Nguyên tắc hoạt động, tốc độ, định
dạng dữ liệu truyền, v.v. Đồng thời các thiết bị này có
tốc độ làm việc chậm hơn CPU và RAM rất nhiều. Chính
vì lý do trên cần có Module vào ra để ghép nối các thiết
bị ngoại vi vào hệ thống của máy tính.
5 August 2010 178
3. Ghép nối máy tính với thiết bị
Modul vào-ra
Chức năng
+ Nối ghép các TBNV với máy tính.
+ Mỗi môđun vào-ra có một hoặc một vài cổng
vào-ra (I/O Port).
+ Mỗi cổng vào-ra được đánh một địa chỉ xác
định.
+ Các TBNV được kết nối và trao đổi dữ liệu với
máy tính thông qua các cổng vào-ra.
5 August 2010 179
3. Ghép nối máy tính với thiết bị
Module I/O
Chức năng: Nối ghép thiết bị ngoại vi với máy tính.
+ Điều khiển và định thời
+ Trao đổi thông tin với CPU
+ Trao đổi thông tin với thiết bị ngoại vi
+ Đệm giữa máy tính với thiết bị ngoại vi
+ Phát hiện lỗi của các thiết bị ngoại vi.
5 August 2010 180
3. Ghép nối máy tính với thiết bị
Cấu trúc chung:
Thanh ghi đệm dữ liệu: đệm dữ liệu trong quá trình trao đổi
Cổng nối ghép vào ra: kết nối thiết bị ngoại vi, mỗi cổng có địa
chỉ xác định và chuẩn kết nối riêng phụ thuộc sơ đồ chân.
Thanh ghi trạng thái/điều khiển: lưu trữ thông tin trạng thái cho
các cổng vào ra
Khối logic điều khiển: điều khiển Module vào ra
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 31
5 August 2010 181
3. Ghép nối máy tính với thiết bị
Cấu trúc tổng quát của thiết bị ngoại vi:
+ Bộ chuyển đổi tín hiệu: chuyển đổi dữ liệu giữa bên
trong và bên ngoài Máy tính
+ Bộ đệm dữ liệu: nơi lưu trữ dữ liệu trung gian giữa Máy
tính và thiết bị ngoại vi, đặt bên trong thiết bị ngoại vi.
+ Khối logic điều khiển: điều khiển hoạt động của thiết bị
ngoại vi theo tín hiệu từ Module I/O gởi tới thiết bị.
5 August 2010 182
3. Ghép nối máy tính với thiết bị
Ví dụ cổng LPT:
• Các đường dẫn của cổng song được nối với 3 thanh
ghi 8 bit khác nhau:
+ Thanh ghi dữ liệu (Địa chỉ cơ sở)
+ Thanh ghi trạng thái (Địa chỉ cơ sở +1)
+ Thanh ghi điều khiển (Địa chỉ cơ sở +2)
• Các đại chỉ cổng có thể là:
LPT1: 378h (379h ; 37Ah)
LPT2: 3BCh
LPT3: 278h
LPT4: 2BCh
5 August 2010 183
3. Ghép nối máy tính với thiết bị
Lập trình cho thiết bị:
• Hợp ngữ:
Để xuất ra dữ liệu: OUT DX, AL hoặc OUT DX, AX
Để nhập vào dữ liệu: IN AL, DX hoặc IN AX, DX
(DX chứa địa chỉ; AL chứa giá trị)
• Turbo C
Để xuất ra dữ liệu: outportb(đia_chỉ, giá_trị)
Để nhập vào dữ liệu: bien = inportb(địa_chỉ)
• Turbo Pascal
Để xuất ra dữ liệu: port[đia_chỉ]:= giá_trị
Để nhập vào dữ liệu: bien:=port[địa_chỉ]
5 August 2010 184
3. Ghép nối máy tính với thiết bị
Ví dụ cổng COM:
• Các thanh ghi chính:
+ Thanh ghi đệm (Buffer Register) Địa chỉ cơ sở
+ Thanh ghi trạng thái (Status Register) ĐCCS+5
+ Thanh ghi điều khiển (Control Register) ĐCCS+3
• Các địa chỉ cổng có thể là:
COM1: 3F8h (3FDh ; 3FBh)
COM2: 2F8h
COM3: 3E8h
COM4: 2E8h
5 August 2010 185
3. Ghép nối máy tính với thiết bị
Các phương pháp ĐK vào/ra
• Phân loại:
1. Vào ra bằng chương trình
2. Vào ra bằng ngắt
3. Truy cập bộ nhớ trực tiếp DMA
5 August 2010 186
3. Ghép nối máy tính với thiết bị
Các phương pháp ĐK vào/ra
1. vào ra bằng chương trình
Nguyên tắc chung:
+ Sử dụng lệnh vào ra trong chương trình để trao đổi dữ liệu với
cổng vào ra.
+ Khi CPU thực hiện chương trình gặp lệnh vào ra thì CPU điều
khiển trao đổi dữ liệu với cổng vào ra.
Lệnh I/O:
+ với không gian địa chỉ vào ra riêng biệt: sử dụng các lệnh vào
ra chuyên dụng
+ với không gian vào ra dùng chung bộ nhớ thì các lệnh trao đổi
dữ liệu sử dụng như ngăn nhớ.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 32
5 August 2010 187
3. Ghép nối máy tính với thiết bị
Hoạt động vào ra bằng chương trình
+ CPU gặp lệnh trao đổi vào ra, yêu cầu thao tác vào ra
+ Module vào ra thao tác vào ra
+ Module vào ra thiết lập các bit trạng thái(State)
+ CPU kiểm tra các bit trạng thái:
Nếu chưa sẵn sàng thì quay lại kiểm tra lại
Nếu sẵn sàng thì chuyển sang trao đổi dữ liệu với Module
vào ra
5 August 2010 188
3. Ghép nối máy tính với thiết bị
Các phương pháp ĐK vào/ra
Nhận xét:
+ CPU trực tiếp điều
khiển vào ra: đọc trạng
thái, kiểm tra trạng
thái, thực hiện trao đổi.
+ Trong trường hợp
nhiều thiết bị cùng cần
trao đổi dữ liệu và
thiết bị chưa sẵn sàng
tốn rất nhiều thời gian
CPU
+ việc thực hiện trao đổi
đơn giản
5 August 2010 189
3. Ghép nối máy tính với thiết bị
Các phương pháp ĐK vào/ra
2. Vào ra bằng ngắt
Nguyên tắc chung:
+ CPU không phải đợi trạng thái sẵn sàng của
Module vào ra.
+ Module vào ra khi nó sẵn sàng phát ra tín hiệu
yêu cầu ngắt CPU
+ CPU thực hiện chương trình vào ra tương ứng để
trao đổi dữ liệu.
+ CPU trở lại chương trình đang bị ngắt.
5 August 2010 190
3. Ghép nối máy tính với thiết bị
Các phương pháp ĐK vào/ra
3. Truy nhập bộ nhớ trực tiếp
(DMA: Direct Memory Access)
Với nhược điểm chính của hai phương pháp trên là:
CPU tham gia trực tiếp vào trao đổi dữ liệu và việc trao đổi
lượng dữ liệu nhỏ. Để khắc phục hai phương pháp trên một
phương pháp mới có tên DMA sẽ sử dụng thêm một
Module phần cứng có DMAC (DMA Controller). Vì vậy
khi trao đổi dữ liệu không qua CPU.
5 August 2010 191
3. Ghép nối máy tính với thiết bị
Các phương pháp ĐK vào/ra
Truy nhập bộ nhớ trực tiếp
5 August 2010 192
3. Ghép nối máy tính với thiết bị
Các phương pháp ĐK vào/ra
Các thành phần của DMAC
+ Thanh ghi dữ liệu: chứa dữ
liệu trao đổi.
+ Thanh ghi địa chỉ: chứa địa
chỉ của ngăn nhớ dữ liệu
+ Bộ đếm dữ liệu: chứa số từ dữ
liệu cần trao đổi
+ Khối logic điều khiển: điều
khiển hoạt động của
DMAC
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 33
5 August 2010 193
3. Ghép nối máy tính với thiết bị
Các phương pháp ĐK vào/ra
Hoạt động của DMA
Khi cần vào ra dữ liệu thì CPU nhờ DMAC tiến hành vào
ra dữ liệu với thông tin cho biết như sau:
1. Địa chỉ thiết bị vào ra
2. Địa chỉ đầu của mảng nhớ chứa dữ liệu và DMAC nạp
thanh ghi địa chỉ
3. Số từ dữ liệu cần truyền và DMAC nạp vào bộ đếm dữ
liệu
4. CPU sẽ thực hiện việc khác
5. DMAC điều khiển việc trao đổi dữ liệu sau khi truyền
một từ dữ liệu thì nội dung thanh ghi địa chỉ tăng lên và
nội dung bộ đếm dữ liệu giảm xuống một đơn vị.
6. Khi bộ đếm bằng dữ liệu bằng 0, DMAC gởi tín hiệu
ngắt CPU để báo kết thúc DMA
5 August 2010 194
3. Ghép nối máy tính với thiết bị
Các phương pháp ĐK vào/ra
5 August 2010 195
3. Ghép nối máy tính với thiết bị
5 August 2010 196
3. Ghép nối máy tính với thiết bị
5 August 2010 197
3. Ghép nối máy tính với thiết bị
5 August 2010 198
3. Ghép nối máy tính với thiết bị
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 34
5 August 2010 199
Chúc các anh chị học tốt
Các file đính kèm theo tài liệu này:
- ltvinh_computerorganizationandarchitectur_7897.pdf