Chương 1
TỔNG QUAN VỀ TỔ CHỨC
MÁY TÍNH
Outline
Giới thiệu
Các ký hiệu và thuật ngữ cơ
bản
Những quan niệm về hệ thống
máy tính
Quan niệm của người dùng
Quan niệm của người lập trình
Những lợi ích của các ngơn
ngữ lập trình bậc cao
Tại sao chương trình lại dịch
ra ngôn ngữ assembly?
10/2005
Quan niệm của người kiến
trúc
Quan niệm của người thực
hiện
Vi xử lý
Chu kỳ thực hiện lệnh
Kỹ thuật đường ống
RSIC và CISC
Memory
Basic memory operations
Design issues
Input/Output
Interconnection: The glue
Historical Perspective
Technological Advances
DCE - Lecture Notes Computer Interfacing
2
Sơ đồ khối máy tính đơn giản
10/2005
Các phần chính: CPU, Memory, I/O
Buses: address bus, data bus, và control bus.
DCE - Lecture Notes Computer Interfacing
3
Cấu trúc máy tính theo mơ hình Von Neumman
Các thế hệ máy tính điện tử đầu tiên, việc “lập trình”
ứng với việc đấu dây và thiết lập mạch cứng -> Khơng
có chương trình được lưu trữ
Cấu trúc máy tính Von Neumman có 3 đặc trưng
chính:
(1) Gồm 3 hệ thống phần cứng: một bộ xử lý trung tâm (CPU);
một hệ thống bộ nhớ chính (main memory) và một hệ thống
vào ra (I/O system)
(2) Có khả năng lưu trữ một dãy các câu lệnh xử lý
(3) Có một luồng đơn (có thể là vật lý hoặc logic) nối giữa các
thành phần hệ thống
Bộ xử lý trung tâm bao gồm có một đơn vị điều khiển (control
unit), một đơn vị xử lý toán học (ALU), một tập các thanh ghi
và một bộ đếm chương trình (program counter)
10/2005
DCE - Lecture Notes Computer Interfacing
4
Cấu trúc máy tính theo mơ hình Von Neumman
10/2005
DCE - Lecture Notes Computer Interfacing
5
Chu kỳ thực hiện lệnh
(1)
(2)
(3)
(4)
Đơn vị điều khiển nạp lệnh kế tiếp từ bộ nhớ, sử dụng bộ đếm chương trình
để xác định lệnh đó được đặt ở đâu
Lệnh được giải mã thành ngơn ngữ mà ALU có thể hiểu được
Bất kỳ toán hạng nào cần để thực hiện câu lệnh đều được nạp vào từ bộ
nhớ và đặt vào các thanh ghi trong CPU
ALU thực thi các câu lệnh và đặt kết quả vào thanh ghi hoặc bộ nhớ
10/2005
DCE - Lecture Notes Computer Interfacing
6
Central Processing Unit (CPU)
Chức năng
Điều khiển MT hoạt động theo
chương trình
Xử lý dữ liệu
Nguyên tắc
Nhận lệnh từ chương trình nằm
trong bộ nhớ chính
Giải mã lệnh
Thực hiện lệnh tuần tự
Bao gồm
CU – Control Unit
ALU – Arithmetic and Logic Unit
Bus Interface Unit - Bus nội bộ
10/2005
DCE - Lecture Notes Computer Interfacing
7
Khối điều khiển (CU - Control Unit)
Điều khiển hoạt động của CPU và các thành phần khác
Đọc lệnh từ chương trình trong bộ nhớ chính (instruction fetch)
Giải mã lệnh (instruction decode)
Thực thi lệnh đã giải mã một cách tuần tự (instruction excution)
10/2005
DCE - Lecture Notes Computer Interfacing
8
Khối tính tốn (ALU - Arithmetic Logic Unit)
Thực hiện các phép toán số học và logic
Các phép toán số học: +,-,*,/
Các phép toán logic: NOT, AND, OR,…
Các phép so sánh
…
Dữ liệu
Số nguyên (integer)
Số dấu phảy tĩnh (fixed point number)
Số dấu phảy động (floating point number)
10/2005
DCE - Lecture Notes Computer Interfacing
9
Tập thanh ghi (Registers)
Là bộ nhớ nhỏ, tốc độ nhanh
Lưu trữ tốn hạng, kết quả và các thơng số khác trong q trình
tính tốn của CPU
Bao gồm
Con trỏ chương trình (PC - Program Counter)
Các thanh ghi đa chức năng
Thanh ghi chỉ số (index register)
Thanh ghi cờ (flag register)
10/2005
DCE - Lecture Notes Computer Interfacing
10
Bộ nhớ chính (main memory)
Chứa chương trình và dữ liệu đang xử lý
Được kết nối và có thể trao đổi dữ liệu trực tiếp với CPU
Được tổ chức thành các ngăn nhớ, đánh địa chỉ trực tiếp bởi CPU
Bao gồm
ROM (Read Only Memory)
‐
‐
CPU chỉ đọc bộ nhớ này
Chứa các chương trình, dữ liệu cơ bản của máy tính
‐
‐
CPU có thể đọc và ghi bộ nhớ này
Chứa dữ liệu, chương trình được nạp, đang thực hiện
RAM (Random Access Memory)
10/2005
DCE - Lecture Notes Computer Interfacing
11
Memory
Là một chuỗi có thứ tự của các byte
Số thứ tự trong chuỗi gọi là địa chỉ nhớ (memory address)
Bộ nhớ định địa chỉ theo byte
‐ Mỗi byte có một địa chỉ riêng
‐ Hầu hết các vi xử lý hỗ trợ chế độ này
Không gian nhớ
Xác định bởi độ rộng bus dữ liệu
Pentium có bus dữ liệu 32 bit
‐ Không gian địa chỉ = 4GB (2
32
)
Itanium hỗ trợ bus địa chỉ 64-bit
‐ Không gian địa chỉ 2
64
10/2005
byte
DCE - Lecture Notes Computer Interfacing
12
Memory (cont’d)
10/2005
DCE - Lecture Notes Computer Interfacing
13
Memory (cont’d)
Đơn vị nhớ
Địa chỉ (Address)
Dữ liệu (Data)
Tín hiệu điều khiển (Control signals)
‐
‐
10/2005
Đọc (Read)
Ghi (Write)
DCE - Lecture Notes Computer Interfacing
14
Memory (cont’d)
Chu kỳ đọc
1.
2.
3.
4.
5.
Đặt địa chỉ lên bus địa chỉ
Kích hoạt tín hiệu điều khiển đọc địa chỉ (/MEMR)
Chờ bộ nhớ đọc xong dữ liệu
‐ Introduce wait states if using a slow memory
Đọc dữ liệu trên bus dữ liệu
Xố tín hiệu đọc bộ nhớ
Với VXL Pentium, một lần đọc bộ nhớ chiếm 3 chu kỳ đồng hồ
‐ Clock 1: bước 1 và 2
‐ Clock 2: bước 3
‐ Clock 3 : bước 4 và 5
10/2005
DCE - Lecture Notes Computer Interfacing
15
Memory (cont’d)
Chu kỳ ghi
1.
2.
3.
4.
Đặt địa chỉ lên bus địa chỉ
Đặt dữ liệu lên bus dữ liệu
Kích hoạt tín hiệu ghi bộ nhớ (/MEMW)
Chờ bộ nhớ gị xong dữ liệu
‐
Introduce wait states if necessary
5. Xố tín hiệu ghi bộ nhớ
Với VXL Pentium, một lần ghi bộ nhớ chiếm 3 chu kỳ đồng hồ
‐
‐
‐
10/2005
Clock 1: bước 1 và 3
Clock 2: bước 2
Clock 3 : bước 4 và 5
DCE - Lecture Notes Computer Interfacing
16
Input/Output
Các thiết bị ngoại vi (I/O devices) được ghép nối với máy
tính qua các bộ điều khiển ghép nối (I/O controller)
Khối ghép nối thực hiện các thao tác vào/ra cụ thể ở mức thấp
10/2005
DCE - Lecture Notes Computer Interfacing
17
Bus
Di chuyển dữ liệu trong hệ thống
Từ:
Thiết bị vào tới CPU
CPU tới bộ nhớ
Từ bộ nhớ tới thiết bị ra
Giống như hệ thống đường cao tốc
Các bit được di chuyển trên đường
Tốc độ và độ rộng bus
Buses operate at different speeds and have different widths
‐
Original PC had buses at 4.77 MHz
‐
‐
Became a standard, called ISA
Improved over time
‐
Became 16 bits wide and 8 MHz
1990’s Intel introduced the PCI bus
10/2005
8 bits wide
Originally 32 bits wide
Now, 64 bits and runs at 133 MHz
DCE - Lecture Notes Computer Interfacing
18
Chương 2
Các phương pháp trao đổi
tin
Các vấn đề trong trao đổi tin
Các thiết bị ngoài rất đa dạng
Lượng dữ liệu trao đổi khác nhau rất nhiều (keyboard x disk drive)
Khác nhau về tốc độ – Thời gian truy cập, tốc độ truyền dữ liệu
Khác nhau về định dạng dữ liệu
Khác nhau về phương thức truyền tin
Hầu như tất cả các các thiết bị ngồi có thời gian truy cập (access time)
chậm hơn CPU và RAM, nhưng một số có tốc độ truyền dữ liệu (transfer
rates) rất cao
Cần có một khối ghép nối để giao tiếp giữa thiết bị với CPU và bộ nhớ
Cần các chương trình điều khiển thiết bị (device drivers) – Là phần mềm làm
nhiệm vụ điều khiển truyền thông giữa CPU và thiết bị
10/2005
DCE - Lecture Notes Computer Interfacing
20
Các phương pháp vào/ra
Mục đích:
Tối thiểu hố thời gian sử dụng của CPU với chi phí chấp nhận được
Đảm bảo tốc độ truyền dữ liệu mà không mất mát dữ liệu
Các phương pháp chính:
Hỏi vịng (Programmed I/O – Polling)– Hoàn toàn do CPU điều khiển
Ngắt vi xử lý (Interrupt-driven I/O)– CPU điều khiển truyền dữ liệu nhưng
do thiết bị ngoài khở xướng
Trực tiếp khối nhớ (Direct Memory Access - DMA) – Không sử dụng
CPU nhằm tối ưu tốc độ truyền dữ liệu giữa TBN và bộ nhớ
Kênh vào ra (I/O Channels - Dedicated Peripheral Computers)- CPU chỉ
đưa ra các lệnh vào ra ở mức cao, điều khiển truyền dữ liệu sẽ do một
thiết bị chuyên dụng đảm nhiệm
10/2005
DCE - Lecture Notes Computer Interfacing
21
Hỏi vòng (Polling)
1.
2.
MVT đưa tin điều khiển
TBN.
MVT chờ và kiểm tra trạng
thái sẵn sàng trao đổi tin
của TBN bằng cách:
Đọc tin về trạng thái sẵn
sàng của TBN.
Kiểm tra trạng thái sẵn sàng.
Nếu chưa, MVT lại đọc và
kiểm tra trạng thái sẵn sàng.
3.
10/2005
Chương trình
S
MVT trao đổi tin với TBN.
DCE - Lecture Notes Computer Interfacing
TBN đã sẵn
sàng ?
Đ
Trao đổi tin
22
Ngắt vi xử lý (Interrupt)
1.
2.
4.
5.
10/2005
Chương trình
Ngắt
DCE - Lecture Notes Computer Interfacing
Chương trình con
phục vụ ngắt
3.
MVT đang thưc hiện chuỗi lệnh
của một chương trình nào đó.
TBN có u cầu trao đổi tin, sẽ gửi
tín hiệu yêu cầu trao đổi tin ( yêu
cầu ngắt INTR)
MVT (cụ thể là VXL ) đưa tín hiệu
chấp nhận (xác nhận ngắt INTA)
Chương trình chính bị ngắt, MVT
chuyển sang chương trình con
phục vụ ngắt tức là chương trình
con trao đổi tin cho TBN đã u
cầu.
Chương trình chính lai tiếp tục
thực hiện ở chỗ bị ngắt.
23
Ngắt trong máy PC
Các loại ngắt
Ngắt cứng: còn gọi là ngắt ngồi vì do ngun nhân bên ngồi.
‐ Ngắt NMI ( Non maskable Interrupt) - Ngắt không che được
‐ Ngắt INTR
‐ Ngắt reset
Ngắt mềm: (hay ngắt bên trong do lệnh của chương trình)
‐ Ngắt do lệnh: đó là ngắt khi thực hiện các lệnh CALL, HLT, INT
‐ Ngắt logic hay các ngoại trừ
‐ Ngắt của hệ điều hành (INT 10, INT 16, INT 21, .v.v. .)
10/2005
DCE - Lecture Notes Computer Interfacing
24
Các ngắt cứng trong máy PC
Số hiệu ngắt
10/2005
IRQ
Chức năng
08
Hardware IRQ0
System Timer
09
Hardware IRQ1
Keyboard
0A
Hardware IRQ2
Redirected
0B
Hardware IRQ3
Serial Comms. COM2/COM4
0C
Hardware IRQ4
Serial Comms. COM1/COM3
0D
Hardware IRQ5
Reserved/Sound Card
0E
Hardware IRQ6
Floppy Disk Controller
0F
Hardware IRQ7
Parallel Comms.
70
Hardware IRQ8
Real Time Clock
71
Hardware IRQ9
Redirected IRQ2
72
Hardware IRQ10
Reserved
73
Hardware IRQ11
Reserved
74
Hardware IRQ12
PS/2 Mouse
75
Hardware IRQ13
Math's Co-Processor
76
Hardware IRQ14
Hard Disk Drive
77
Hardware IRQ15
Reserved
DCE - Lecture Notes Computer Interfacing
25