Xem mẫu
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT VINH
KHOA ĐIỆN TỬ Nội dung
Bài giảng
1. Giới thiệu
2. Bộ vi xử lý
Kiến trúc máy tính
Computer Organization And Architecture 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
TS. Lê Thế Vinh [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 1 5 August 2010 2
1. Giới thiệu 1. Giới thiệu
1.1. Kiến trúc máy tính 1.1. Máy tính
+ Kiến trúc máy tính nói về thiết kế, các khái niệm, cấu trúc hoạt
động căn bản của một hệ thống máy tính (wiki) Personal Computer -PC
+ "Computer Systems and Architecture" is a study of the
evolution of computer architecture and the factors
influencing the design of hardware and software elements 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)
5 August 2010 3 5 August 2010 4
1. Giới thiệu 1. Giới thiệu
1.1. Máy tính 1.1. Máy tính
Vector supercomputers Symmetric multiprocessors
5 August 2010 5 5 August 2010 6
L.T.Vinh 1
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
1. Giới thiệu 1. Giới thiệu
1.1. Máy tính 1.1. Kiến trúc máy tính Computer
CPU Main
memory
System
Computer interconnection
I/O
unit
CPU
Registers
ALU
Sơ đồ khối
Internal CPU
Interconnection
CU
CU
Sequencing
logic CU register &
decoders
Parallel computers Control
memory
5 August 2010 7 5 August 2010 8
1. Giới thiệu 1. Giới thiệu
1.1. Kiến trúc máy tính 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
7 lớp chức năng + 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 9 5 August 2010 10
1. Giới thiệu 1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng 1.1. Kiến trúc máy tính 7 lớp chức năng
Mức mạch logic số Mức mạch logic số: Ví dụ
+ Các mạch logic số thực
hiện các hàm logic cơ bản Collector
của đại số Boolean
Base High (+5v hay 1): Tạo kết nối
+ Là các mạch cổng:
AND,OR, XOR, NOT… Base Base Low (0v hay 0): Ngắt kết nối
+ Mạch chốt, mạch mã 50 tỉ transistor trên một chip 1cm2
(Coder), mạch giải mã Switch Emitter
(Decoder).
+ Mạch phần tử nhớ
(Flip_Flop)
5 August 2010 11 5 August 2010 12
L.T.Vinh 2
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
1. Giới thiệu 1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
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ức mạch logic số: Ví dụ
+5 Cổng NOT Mạch tổ hợp
v Output 1. Để thiết kế các IC: Ta dùng các thành phần logic
_
A gọi là cổng (gate)
A
2. Cổng được chế tạo từ một hoặc nhiều transistor tùy
theo công nghệ chế tạo
Input 3. Ta có các cổng AND, OR, NOT, NAND, NOR,
Input High (+5v or 1) Output Low (0v or 0) XOR, Mạch giải mã, mạch mã hóa, mạch ưu tiên,
Input Low (0v or 0) Output High (+5v or 1) mạch dồn, mạch phân, mạch cộng toàn phần, mạch
Ground Output ngược lại với Input lật SR
5 August 2010 13 5 August 2010 14
1. Giới thiệu 1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng 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ô Mức kiến trúc tập lệnh
+ Bao gồm các khối chức + Xác định giao tiếp phần
năng như đơn vị số học mềm_phần cứng mà người lập
logic trình nhìn nhận được ở mức
+ Ví dụ: ALU, thanh ghi (khối ngôn ngữ máy
thanh ghi), tệp thanh ghi + ISA bao gồm:
(Register file). © Tập lệnh máy (Instructions
+ Các bộ nhớ: Cache (Bộ nhớ Set)
đệm), Main (ROM, RAM). © Kiểu lấy địa chỉ (Addressing
Models)
+ Các đường dẫn thông tin
(Bus bên trong) © Khuôn dạng dữ liệu (Format)
© Các nguyên tắc vận hành
+ Đơn vị điều khiển CU
(Operation prescripts)
5 August 2010 15 5 August 2010 16
1. Giới thiệu 1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng 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ụ
Hệ điều hành
CHẲNG HẠN TẬP LỆNH GỒM: + Bộ nhớ ảo (Virtual
1 - Gán trị Memory)
2 - Lệnh có điều kiện + BIOS: Hệ thống vào ra cơ
3 - Vòng lặp bản
4 - Thâm nhập bộ nhớ ngăn xếp + Các lệnh ảo, máy tính ảo
5 - Các thủ tục mô phỏng quá trình xử lý
+ Quản lý các các quá trình
VD: Bật đèn LED (Process)
ORG 2000h + Tập lệnh ảo để kết nối
MOV SP,#50h mạng hay xử lý song song
MOV PSW,#0 ; Bank 0
CLR P1.3 ; Led on
END
5 August 2010 17 5 August 2010 18
L.T.Vinh 3
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
1. Giới thiệu 1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng 1.1. Kiến trúc máy tính 7 lớp chức năng
Hợp ngữ Hợp ngữ: Ví dụ
+ Là ngôn ngữ máy phụ thuộc Ví dụ:
vào phần cứng ORG 2000H
+ Dạng ký tự tượng trưng của
ngôn ngữ máy dùng với một số
MOV SP,#50H Ngôn ngữ
lập trình
vi lệnh (Micro Instruction) và MOV PSW,#00H
các thủ tục (Procedure) CLR P1,00H ; LED on
+ Các chương trình viết ở dạng ; SETB P1,0FH ;LED off
hợp ngữ có thể can thiệp vào
phần cứng của máy tính
END
5 August 2010 19 5 August 2010 20
1. Giới thiệu 1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng 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, Ngôn ngữ hướng đối tượng: Ví dụ
hướng bài toán ứng dụng
+ Là các ngôn ngữ bậc cao C,
C++,Pascal... 1. §èi t-îng (Object)
+ Các ngôn ngữ mô tả: HTML,
2. Sù kiÖn (Event)
XML…
+ Các ngôn ngữ thủ tục (scripts): 3. Thuéc tÝnh (Properties)
Java scripts, Visual Basic, C#...
4. Ph-¬ng thøc (Method)
5. Líp (Class)
5 August 2010 21 5 August 2010 22
1. Giới thiệu 1. Giới thiệu
Trao đổi 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
5 August 2010 23 5 August 2010 24
L.T.Vinh 4
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
1. Giới thiệu 1. Giới thiệu
1.2. Các thế hệ máy tính 1.2. Các thế hệ máy tính
Máy tính ENIAC
Sự phát triển của máy tính chia ra 4 thế hệ: Sự tiến bộ của (Electronic Numerical Integrator and
các công nghệ chế tạo các linh kiện cơ bản của máy tính như: Computer)
bộ xử lý, bộ nhớ, các ngoại vi,…- đặc trưng bằng một sự thay Tg xây dựng: 1943-1946,
đổi cơ bản về công nghệ được sử dụng đến 1955 (thầy
trò Eckert và Mauchly, ĐH
Pennsylvania, USA)
• Thế hệ 1: (1946-1955) Máy tính dùng đèn chân không Đặc điểm chính:
(Vacumm Tube) - Nặng 30 tấn, V~160m3
• Thế hệ 2: (1955-1965) Máy tính dùng Transitor (20x2x2m) và P= 140kW.
• Thế hệ 3: (1966 – 1980) Máy tính dùng mạch tích hợp IC - 5000 nghìn phép cộng/s.
- Sử dụng hệ thập phân.
(Intergrated Circuit) - Lập trình bằng công tắc.
• Thế hệ 4: (1980 - nay) Máy tính dùng mạch tích hợp cực lớn - Sử dụng 18000 bóng đèn => Sau đó: GS toán học John Von Neumann đã
VLSI (Very Large Scale Intergrated ) điện tử (vacuum tubes) đưa ra ý tưởng thiết kế máy tính IAS (Princeton
Institute for Advanced Studies)
5 August 2010 25 5 August 2010 26
1. Giới thiệu 1. Giới thiệu
1.2. Các thế hệ máy tính 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ớ
Máy tính Von Neumann dữ liệu và bộ nhớ chương trình.
• Máy tính IAS Các bus điều hành độc lập
• Máy có mô hình cơ bản là máy tính này nay Chạy nhanh hơn, bởi vì nó có thể
• Thế kế 1947 hoàn thành 1952 thực hiện ngay lệnh tiếp theo khi
vừa kết thúc lệnh trước đó.
5 August 2010 27 5 August 2010 28
1. Giới thiệu 1. Giới thiệu
1.2. Các thế hệ máy tính 1.2. Các thế hệ máy tính
Máy tính thế hệ 4 (1980- nay):
So sánh: • Các sản phẩm của công nghệ VLSI(Very Large Scale
Integrated)
Mô hình kiến trúc • Bộ vi xử lý được chế tạo trên một con chip
Harvard • Vi mạch điều khiển tổng hợp (Chipset)
và Von Neumann? • 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
5 August 2010 29 5 August 2010 30
L.T.Vinh 5
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
1. Giới thiệu 1. Giới thiệu
1.2. Các thế hệ máy tính 1.2. Các thế hệ máy tính
5 August 2010 31 5 August 2010 32
1. Giới thiệu 1. Giới thiệu
1.2. Các thế hệ máy tính 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 Intel 80286 (1980)
8-bit connection. It ran at a
whopping 4 MHz and A 16-bit processor capable of
could address only 1 MB of addressing up to 16 MB of RAM.
RAM.
5 August 2010 33 5 August 2010 34
1. Giới thiệu 1. Giới thiệu
1.2. Các thế hệ máy tính 1.2. Các thế hệ máy tính
386 (1988) Intel 486 (1991)
The 486 initially ran at clock speeds of
It could only access 16 megabytes of memory. 25 MHz (SX only) and 33 MHz. As it
The 386 processor was manufactured in many was developed the 486 was enhanced
different versions and ran at speeds from 16 with a clock doubled processor core
Mhz through to 40 Mhz. (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.
5 August 2010 35 5 August 2010 36
L.T.Vinh 6
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
1. Giới thiệu 1. Giới thiệu
1.2. Các thế hệ máy tính 1.2. Các thế hệ máy tính
Tên thương mại là, không hàm ý nghĩa gì khác ngoài Một số đặc điểm của VXL Intel
pent tiếng Hy lạp là số 5
Intel Pentium
This was the first Intel
processor not to use the
x86 naming system.
5 August 2010 37 5 August 2010 38
1. Giới thiệu 1. Giới thiệu
1.2. Các thế hệ máy tính 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 39 5 August 2010 40
1. Giới thiệu 1. Giới thiệu
1.3. Phân loại máy tính 1.3. Phân loại máy tính
Máy để bàn: Máy tính nhúng
• là loại máy thông dụng nhất hiện nay. • được đặt trong nhiều thiết bị khác nhau để điều khiển
• bao gồm máy tính cá nhân (PC: Persional Computer) và trạm
thiết bị làm việc
(Workstation Computer).
• giá mua 100$ đến 10.000$ • được thiết kế chuyên dụng
Máy chủ • ví dụ: điện thoại di động, bộ điều khiển các thiết gia
• là máy phục vụ(server) đinh, Router định tuyến,…
• 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 41 5 August 2010 42
L.T.Vinh 7
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
Nội dung 1. Giới thiệu
1.4. Thông tin và sự mã hóa
1. Giới thiệu Một số khái niệm
- Thông tin: được hiểu là nội dung chứa
2. Bộ vi xử lý đựng bên trong một sự kiện
3. Ghép nối máy tính với các T.Bị - Tín hiệu: mô tả các biểu hiện vật lý của
tin tức
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
t/h tương tự: liên tục cả về biên độ
[2]. Võ Văn Chín, BG Kiến trúc máy tính, ĐH Cần thơ, 1997 và thời gian
[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 t/h số: gián đoạn cả về biên độ và
[5]. M. Morris Mano (Atmiya Infotech), Computer Organization & Architecture, E-book
[6]. MIT, Computer System Architecture, 2005, OpenCourseWare
thời gian
5 August 2010 43 5 August 2010 44
1. Giới thiệu 1. Giới thiệu
1.4. Thông tin và sự mã hóa 1.4. Thông tin và sự mã hóa
a) Hệ đếm
a) Hệ đếm Hệ 2, hệ 10, hệ 16 v.v.
Hệ thập phân, cơ số 10 (Decimal System): Con người sử Ví dụ:
dụng (1011)2 = 1x23 + 0x22 + 1x21 + 1x20 = 8 + 2 + 1 =11
Hệ nhị phân, cơ số 2 (Binary System): Máy tính sử dụng (4F)16 = 4FH = 4x161 + 15x160 = 64 + 15 = 79
Hệ mười sáu, cơ số 16 (Hexadecimal System): Dùng để
viết gọn số nhị phân
5 August 2010 45 5 August 2010 46
1. Giới thiệu 1. Giới thiệu
1.4. Thông tin và sự mã hóa 1.4. Thông tin và sự mã hóa
a) Hệ đếm
b) Mã hóa (do con người định nghĩa, quy định)
Để đổi một số X hệ 10 sang hệ cơ số a (Y),
Ví dụ: Mã ASCII, mã BCD, mã nhị phân v.v
ta chia liên tiếp X cho a, ghi lại số dư b0, b1,
Mã ASCII dùng 8 bit (binary digit) để mã hoá
..., bn, khi đó Y=bn ... bi... b1b0
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
5 August 2010 47 5 August 2010 48
L.T.Vinh 8
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
1. Giới thiệu 1. Giới thiệu
1.4. Thông tin và sự mã hóa 1.4. Thông tin và sự mã hóa
5 August 2010 49 5 August 2010 50
1. Giới thiệu 1. Giới thiệu
1.4. Thông tin và sự mã hóa 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 Mã hoá và lưu trữ dữ liệu trong máy tính
Dùng để viết gọn cho số nhị phân: cứ một nhóm 4 bit Nguyên tắc chung về mã hoá dữ liệu
sẽ được thay thế bằng 1 chữ số Hexa 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 51 5 August 2010 52
Byte, bit MSB, LSB và trạng thái 0, trạng thái 1 Biểu diễn số nguyên
MSB Với một Byte/Word
LSB
+ 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).
8 Bits = 1 Byte + 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).
On
Off
ON bits are said to be in a 1 state
OFF bits are said to be in a 0 state
5 August 2010 53 5 August 2010 54
L.T.Vinh 9
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
Số bù 1 và bù 2 Vì sao bù 2 là biểu diễn số âm?
* Số bù 1: Là kết quả phép đảo bits. Lấy con số gốc + bù 2 = 0
0000 0000 0000 0101 msb sẽ bị mất do word chỉ có khả năng lưu giá
Bù 1: 1111 1111 1111 1010 trị 16 bits.
Số bù 2: Kết quả phép cộng số bù 1 và 1 Nếu ta lấy bù 2 thêm lần nữa sẽ cho ra giá trị
Bù 1: 1111 1111 1111 1010 gốc.
+ 1 Biểu diễn dạng không dấu đơn giản chỉ là phép
Bù 2: 1111 1111 1111 1011 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 55 5 August 2010 56
1.4. Thông tin và sự mã hóa – Ví dụ
Dạng byte – 8 bit 1 ký tự theo bảng mã ASCII
‘a’ 97 = 61Hex = 01100001
Có thể biểu diễn dạng: ‘A’ 65 = 41Hex = 01000001
Số nguyên không dấu 8bit
Ví dụ cho dạng byte 10111000
Có giá trị từ 0 28-1=255 Số nguyên không dấu tương ứng
Số nguyên có dấu 10111000 = 128 + 32 + 16 + 8 = 184
Số nguyên có dấu (xét bit dấu = bit 7 = 1)
7 6 5 4 3 2 1 0
Lấy bù: 01000111
+ 1
bit dấu 0: Số dương
1: Số âm
01001000 = 64 + 8 = 72
Có giá trị từ: -27 27-1 (-128 127) Số nguyên có dấu là: -72
Nhận xét: 256 – 184 = 72
5 August 2010 57 5 August 2010 58
1.4. Thông tin và sự mã hóa – Ví dụ 1.4. Thông tin và sự mã hóa – Ví dụ
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
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
8 bit cao (byte cao) 8 bit thấp (byte thấp)
bit dấu = bit cao nhất = bit 15
Có giá trị: -215215-1 (-3276832767)
word = (byte cao)x28 + (byte thấp)
5 August 2010 59 5 August 2010 60
L.T.Vinh 10
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
1. Bộ mã ASCII
5 August 2010 61 5 August 2010 62
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 63 5 August 2010 64
1. Giới thiệu
1.5. Mạch logic cơ bản
Hµm logic PhÇn tö logic B¶ng Ch©n lý
1/ NOT
2/ AND
3/ OR
4
5 August 2010 65 5 August 2010 66
L.T.Vinh 11
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
3- C¸c phÐp to¸n, phÇn tö logic c¬ b¶n
Cổng AND
PhÇn tö logic Hµm logic
+5v Output là 1 nếu và chỉ nếu
Input-1 là 1 và
4/ NAND
Input-2 là 1
Input-1 5/ NOR
Output = Input1 AND
Input2 6/ XOR
7/ Hµm
AND Gate
Input-2
A t-¬ng
B AB ®-¬ng
Output
5
5 August 2010 67 5 August 2010 68
4- BiÓu diÔn hµm logic b»ng s¬ ®å
Mét sè vÝ dô:
Bé céng 2 sè nhÞ ph©n 1 bit
6 15b
5 August 2010 69 5 August 2010 70
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
Bé so s¸nh 2 sè nhÞ ph©n 1 bit Cấu trúc đa bus
15c
5 August 2010 71 5 August 2010 72
L.T.Vinh 12
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
Bus đồng bộ và bus không đồng bộ Minh họa hệ thống Bus
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 73 5 August 2010 74
Bus địa chỉ Bus dữ liệu
Chức năng: vận chuyển địa chỉ để xác định ngăn nhớ
hay cổng vào-ra. 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
Độ rộng bus địa chỉ: xác định dung lượng bộ nhớ cực
vào-ra.
đại của hệ thống.
Độ 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 75 5 August 2010 76
Bus điều khiển Chu kỳ bus
Chức năng: vận chuyển các tín hiệu điều khiển Mỗi chu kỳ bus là 1 tác vụ xảy ra trên bus để truyền tải
data.
Các loại tín hiệu điều khiển
Mỗi lần CPU cần lệnh (hoặc data) từ bộ nhớ hoặc I/O,
+ Các tín hiệu phát ra từ CPU để điều khiển chúng phải thực thi 1 chu kỳ bus để có được thông tin
môđun nhớ và môđun vào-ra hoặc ghi thông tin ra bộ nhớ hoặc ra I/O.
+ Các tín hiệu từ môđun nhớ hay môđun vào-ra Mỗi chu kỳ bus gồm 2 bước :
gửi đến yêu cầu CPU. + Bước 1 : gửi địa chỉ
+ Bước 2 : truyền data từ địa chỉ đã được định vị.
5 August 2010 77 5 August 2010 78
L.T.Vinh 13
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
Chu kỳ Bus 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 79 5 August 2010 80
Nội dung
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 Bộ vi xử lý:
tác vụ sẽ được thực thi (đọc/ghi/đến mem/đến
I/O). 1. Cấu trúc phần mềm
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 2. Thi hành lệnh
ứ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. 3. Tập lệnh
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 81 5 August 2010 82
2. Bộ vi xử lý 2. Bộ vi xử lý
2.1. Kiến trúc phần mềm – ghi chú về phần cứng 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
5 August 2010
Cấu trúc của một hệ máy tính đơn giản 83 5 August 2010 84
L.T.Vinh 14
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
2. Bộ vi xử lý 2. Bộ vi xử lý
2.1. Kiến trúc phần mềm 2.2. Thi hành lệnh
Chu trình lệnh
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ị. Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh
từ bộ nhớ chính.
+ Tập lệnh là tập hợp các lệnh mã máy (mã nhị phân) Bộ đếm chương trình PC (Program
hoàn chỉnh có thể hiểu và được xử lý bới bộ xử lý Counter) của CPU giữ địa chỉ của lệnh sẽ
trung tâm, thông thường các lệnh trong tập lệnh được nhận.
CPU nhận lệnh từ ngăn nhớ được trỏ bởi
được trình bày dưới dạng hợp ngữ. Mỗi lệnh chứa
PC (Program Counter).
thông tin yêu cầu bộ xử lý thực hiện, bao gồm: mã
Lệnh được nạp vào thanh ghi lệnh IR
tác vụ, địa chỉ toán hạng nguồn, địa chỉ toán hạng (Instruction Register)
kết quả, lệnh kế tiếp. Sau khi lệnh được nhận vào, nội dung PC tự
động tăng để trỏ sang lệnh kế tiếp.
+ Kiểu định vị chỉ ra cách thức thâm nhập toán hạng.
5 August 2010 85 5 August 2010 86
CPU thực hiện lệnh theo từng bước Minh họa quá trình nhận lệnh
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 87 5 August 2010 88
2. Bộ vi xử lý
CPU thực hiện lệnh theo từng bước
2.3. Tập lệnh
Bước 4
Nếu lệnh sử dụng một từ trong một bộ nhớ phải xác Giới thiệu chung
định xem từ đó nằm ở đâu
Bước 5 + Mỗi bộ xử lý có tập lệnh xác định.
Nếu tồn tại, đọc từ đó vào một thanh ghi bên trong + Một tập lệnh thường có vài chục đến vài nghìn lệnh
CPU, đa phần đọc vào thanh ghi A
+ Mỗi lệnh là chuỗi nhị phân mà bộ xử lý có thể phân tích và
Bước 6
hiểu để thực hiện thao tác mà lệnh đó yêu cầu.
Thực hiện lệnh
Bước 7 + Các lệnh khi viết được ánh xạ ra thành các ký hiệu gợi nhớ.
Cất giữ kết quả lệnh ADD, MOV, IN, OUT, SHL, ROL,…
Bước 8 + Giống câu lệnh của hợp ngữ (Lập trình ASSEMBLY)
Quay lại bước đầu tiên
5 August 2010 89 5 August 2010 90
L.T.Vinh 15
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
Các kiểu thao tác 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
• Thao tác chuyển dữ liệu
+ Lệnh Load Nạp dữ liệu từ bộ nhớ -> bộ xử lý
• Thao tác xử lý số học và logic
+ Lệnh XCHG Trao đổi nội dung của hai toán hạng cho
• Thao tác vào ra dữ liệu qua cổng nhau
• Thao tác điều khiển rẽ nhánh + Lệnh PUSP Cất nội dung của một toán hạng nguồn vào
• Thao tác điều khiển hệ thống stack
• Thao tác xử lý số dấu chấm động + Lệnh POP Lấy nội dung ở đỉnh Stack ra toán hạng đích
• Thao tác chuyên dụng khác: xử lý ảnh, âm thanh, + Lệnh Set, Clear
tiếng nói,…
5 August 2010 91 5 August 2010 92
Một số lệnh
Một số lệnh Các lệnh vào ra
+ Lệnh Input
Các lệnh số học + Lệnh Output
+ Lệnh ADD: cộng Các lệnh chuyển điều khiển
+ Lệnh SUB: trừ + Lệnh Jump
+ Lệnh MUL: nhân + Lệnh Call
+ Chia DIV: chia + Lệnh Return : trở về từ chương trình con
Các lệnh logic Các lệnh điều khiển hệ thống
+ Lệnh Test Thực hiện lệnh AND thiết lập cờ + 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
+ Lệnh Shift Dịch trái, hoặc phải
khi thoả mãn thì tiếp tục thực hiện
+ Lệnh Rotate Quay trái hoặc quay phải + Lệnh NOP (No Operation): không thực hiện gì cả
+ Lệnh Convert Chuyển đổi dữ liệu từ dạng này sang dạng khác + Lệnh Lock : Cấm không cho chuyển nhượng BUS
+ Lệnh AND, OR, XOR, NOT,…. + Lệnh Unlock: cho phép chuyển nhượng BUS
5 August 2010 93 5 August 2010 94
Ví dụ lập trình cho LED nhấp nháy 2. Bộ vi xử lý
(Cho 8051)
ORG 2000h
MOV SP,#50h
MOV PSW,#0 ; Bank 0
LOOP: CLR P1.3 ; Led on
CALL
SETB
DELAY
P1.3 ; Led off
Sử dụng ngăn xếp
CALL DELAY khi gọi chương
JMP LOOP
DELAY: PUSH PSW
trình con (thủ tục,
MOV PSW,#18h; Bank 3 hàm)
MOV R7,#0
DLY1:MOV R6,#0
DLY2:NOP
NOP
NOP
DJNZ R6,DLY2
DJNZ R7,DLY1
POP PSW
RET
END
5 August 2010 95 5 August 2010 96
L.T.Vinh 16
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
Nội dung 2. Bộ vi xử lý
2.1. Tổ chức phần cứng
2. Bộ vi xử lý (tiếp): CPU 8088
EU : khối thực hiện
1. Tổ chức phần cứng lệnh(Execution Unit)
ALU : khối số học và
2. Xử lý và truyền dữ liệu logic(Arithmetic anh Logic
Unit)
3. Một số máy tính lớn CU: Khối điều khiển
BIU : khối phối ghép
bus(Bus Interface Unit)
5 August 2010 97 5 August 2010 98
2. Bộ vi xử lý 2. Bộ vi xử lý
CPU: 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 99 5 August 2010 100
2. Bộ vi xử lý 2. Bộ vi xử lý
+ BIU đưa ra địa chỉ, đọc mã lệnh từ bộ nhớ, đọc/ghi CU:
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 ALU:
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 101 5 August 2010 102
L.T.Vinh 17
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
2. Bộ vi xử lý 2. Bộ vi xử lý
CU: sơ đồ khối
Bộ thanh ghi
5 August 2010 103 5 August 2010 104
2. Bộ vi xử lý 2. Bộ vi xử lý
Thanh ghi truy cập bộ nhớ Thanh ghi chuyển tải lệnh
Thanh ghi trạng thái
5 August 2010 105 5 August 2010 106
2. Bộ vi xử lý 2. Bộ vi xử lý
2.2. Xử lý và truyền dữ liệu 2.2. Xử lý và truyền dữ liệu
5 giai đoạn thực hiện lệnh: 5 giai đoạn thực hiện lệnh:
5 August 2010 107 5 August 2010 108
L.T.Vinh 18
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
2. Bộ vi xử lý 2. Bộ vi xử lý
Đọc lệnh: 2.2. Xử lý và truyền dữ liệu
Giải mã lệnh và thi hành lệnh
Lưu kết quả:
5 August 2010 109 5 August 2010 110
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 111 5 August 2010 112
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 Bit D (direction) chỉ hướng cho thanh ghi REG.
chuyển MOV đích, nguồn dùng để truyền dữ liệu giữa 2 thanh + D=1 chỉ dữ liệu đi đến REG.
ghi hoặc giữa ô nhớ và thanh ghi. + 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.
5 August 2010 113 5 August 2010 114
L.T.Vinh 19
- ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
Bảng mã thanh ghi Bảng mã thanh ghi
5 August 2010 115 5 August 2010 116
Ví dụ Ví dụ
Mã hoá các lệnh:
a/ MOV CL,[BX];
b/ MOV 0F3H[SI],CL;
5 August 2010 117 5 August 2010 118
2. Bộ vi xử lý
Cơ chế xử lý xen kẽ liên tục dòng mã lệnh
(instruction pipelining)
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)
5 August 2010 119 5 August 2010 120
L.T.Vinh 20
nguon tai.lieu . vn