lOMoARcPSD| 59908026
Bài 5. Các phương pháp vào ra
lOMoARcPSD| 59908026
Ni dung
Phương pháp vào – ra d liu
B iu khin vào ra
Kiến trúc máy vi tính PC
Tp lnh trên máy vi tính PC
lOMoARcPSD| 59908026
Phương pháp
vào-ra theo ngt
Cu trúc ca h thng vào
ra d liu theo ngt cng
S ngt-> Địa ch
Bảng véc tơ ngắt
lOMoARcPSD| 59908026
Phương pháp vào-ra theo ngt
Quá trình phc v ngt và vào/ra d liệu theo phương pháp ngắt cng :
- CPU ang thc hiện chưương trình hin hành.
- Thiết b vào-ra có yêu cu phc v phát ra tín hiu IRQ cho PIC.
- Thiết b PIC phát ra tín hiu INT cho CPU, òi CPU phc v.
- CPU hoàn thành nt lnh ang thc hin.
- CPU phát tín hiu INTA (Interrupt Acknowledge) tr li PIC, báo sn sàng phc v
quá trnh ngt. Bit c IF trong thanh ghi trạng thái PSW ược t xung 0 khi ngt
ược phc v.
Phương pháp vào-ra theo ngt
Quá trình phc v ngt và vào/ra d liệu theo phương pháp ngắt cng :
lOMoARcPSD| 59908026
- CPU ct gi ni dung con tr lnh PC và ni dung thanh ghi trng thái PSW vào
ngăn xếp ( còn khôi phc li khi ri khỏi chưương trỡnh phc v ngt ).
- PIC phát ra a ch (hoc s ngt i din cho a ch) của chưương trỡnh con phc v
ngắt tưương ứng vi tín hiu IRQ, cho CPU .
- Da trên a ch hoc s ngt này CPU np giá tr mi cho con tr lnh PC và bt u
thc hiện chưương trỡnh con phc v ngt, thc hin vào/ra d liu vi thiết b
vào-ra.
- Chưương trỡnh con phc v ngắt ưưîc kết thúc bng lnh IRET. Khi CPU nhp và
thc hin lnh IRET, CPU khôi phc li ni dung con tr lnh PC và thanh ghi trng
thái PSW.
Bng cách ó CPU quay li tiếp tc thc hiện chưương trỡnh b ngt.
lOMoARcPSD| 59908026
Phưương pháp vào-ra kiu truy nhp trc
tiếp b nh
Phương pháp DMA- Direct Memory Access
Quá trình vào/ra d liu trc tiếp gia b nh và thiết b ngoi vi không qua CPU.
Trong quá trình DMA vic chuyn d liệu ưưîc iều khin bi mt thiết b phn cng
là b iu khin DMAC (Direct Memory Access Controller). Thiết b DMAC thay thế
CPU óng vai trò ch bus, iu khin quá trnh chuyn d liu trc tiếp gia thiết b
vào-ra và b nh chính qua bus h thng.
Nhng thi im CPU có th trao quyn s dng bus cho DMAC trong mt chu k
lnh
Cu trúc h thng vào-ra d liu theo kiu
lOMoARcPSD| 59908026
DMA.
Quá trình DMA ưîc thực hiện nhưư sau :
- CPU thc hin các lnh vào-ra np các giá tr ban u cho hai thanh ghi AR DC, ng thi
xác ịnh hưướng truyn d liu gia b nh thiết b vào-ra cho DMAC. DMAC sn sàng
iu khin truyn d liu.
- Thiết b vào-ra phát tín hiu DRQ cho DMAC.
- DMAC phát tín hiu HOLD = 1 cho CPU, òi CPU áp ng.
- CPU thc hin nt chu k máy.
- CPU phát tín hiu HLDA tr li cho DMAC t tách ra khi h thng bus. Quyn iu
khin h thng bus thuc v DMAC.
- DMAC phát tín hiu DACK tr li thiết b yêu cu, phát i ch ô nh lên bus a ch, phát
các tín hiu iu khin ghi/c thiết b vào-ra và phát tín hiu iu khin c/ghi b nh, qua
ó iu khin quá trnh chuyn d liu trc tiếp gia thiết b o-ra và b nh. Sau mi
t d liệu ưưîc truyền, giá tr của AR tăng lên và giá trị ca DC gim i.
Cu trúc h thng vào-ra d liu theo kiu
lOMoARcPSD| 59908026
DMA.
- Nếu DC còn chưưa gim v 0 và thiết bo-ra chưa sẵn sàng gi hoc nhn d liu tiếp theo,
DMAC tr li quyn iu khin bus cho CPU bng cách t HOLD = 0. CPU nm li quyn iu khin
bus.
- Khi DC gim v 0, DMAC kết thúc quá trnh DMA bng vic phát tín hiu HOLD = 0 cho CPU,
tr quyn iu khin bus cho CPU. CPU nm li quyn iu khin bus tiếp tc làm vic nh
thường.
lOMoARcPSD| 59908026
B x lý vào-ra
B x lý vào-ra IOP (Input-Output Processor) là mt dng m rng của các phưương
pháp iu khin vào-ra d liu.
Mt phát trin logic tiếp theo của các phưương pháp iều khin vào-ra : module
giao din tr thành b x vào-ra vi mt tp các ch th chuyên bit cho iu khin
vào-ra d liu.
CPU ra lnh cho b x lý vào-ra thc hiện chưương trỡnh iu khin vào-ra.
B x lý vào-ra nhp và thc hin lnh ca
chưương trỡnh iu khin vào-ra, không cn ến s can thip ca CPU. CPU ch thc
hin vài lnh cho phép và kết thúc hot ng ca IOP.
lOMoARcPSD| 59908026
Cu trúc ca h thng máy tính có IOP:
IOCR (Input Output Communication Region) : vng nh truyn thng, dng
truyn thng ip gia hai b x lý.
(VD : a ch của chưương trỡnh iu khin vào-ra cn thc hin, a ch ca thiết b
vàora ưược s dng
CÂU HỎI CHƯƠNG 5
1)Ti sao khi thc hin vào/ra (nhp/xut) d liu vi các thiết b ngoi vi ca máy
tính phi áp dng một trong các phương pháp vào-ra d liu?
lOMoARcPSD| 59908026
2)Trong phương pháp vào-ra theo thăm dò, biện pháp nào ược s dng ơn vị x
trung tâm bt nhịp ược vi hot ng ca thiết b ngoi vi ?
3)Cơ chế ơn vị x lý trung tâm bt nhịp ược vi hot ng ca thiết b ngoi vi
phương pháp vào-ra theo ngt cng là gì ?
4) Điu kin có th thc hin vào ra d liệu theo phương pháp ngắt cng là gì ?
lOMoARcPSD| 59908026
Chương 6 Kiến
trúc máy vi tính PC và ơn vị
x lý trung tâm
lOMoARcPSD| 59908026
lOMoARcPSD| 59908026
Đơn vị x lý trung tâm Pentium
lOMoARcPSD| 59908026
Đơn vị x lý trung tâm
Đưng ng thc hin lnh ca Pentium gm 5 giai on :
1- Nhp lnh. Lệnh ưưîc nhập t cache và ưưa vào vùng ệm trưước gii mã.
2- Gii mã 1. Lệnh ưưîc giải mã to ra t iu khin. T iu khiển ơn giản s gây ra
vic thc hin trc tiếp lnh. T iu khin phc tp s ưưîc xử lý tiếp. D báo r
nhánh cũng ưưîc thực hin trong giai on này)
3- Gii mã 2. T iu khin phc tạp ưîc gii tiếp to ra các vi thao tác (micro-
ops) dùng cho giai on thc thi lệnh (Địa ch toán hạng cũng ưưîc tạo ra giai on
này.)
4- Thc thi lnh. Lệnh ược thc thi ALU. (Nếu cn, cache d liệu cũng ược truy
nhp giai on này.)
5- Ghi kết qu. Kết qu tính toán ược ghi tr li vào các thanh ghi CPU
lOMoARcPSD| 59908026
Đơn vị x lý trung tâm
Điu kiện cơ bản thc hin ng thi hai lnh trong Pentium là c hai lnh phi là
loại ơn giản.
c lệnh ơn giản là các lnh: chuyn d liu tc thi t thanh ghi hoc t b nh
ti thanh ghi, chuyn giá tr tc thi t thanh ghi ti b nh, lnh s hc nguyên,
lệnh tăng giảm, lnh bo v và khôi phc thanh ghi t ngăn xếp, lnh nhy không
iu kin và nhy gn có iu kin, lnh gọi chưương trình con, lệnh ly a ch hiu
dng v.v.
Vi các lnh du chm ng, hai giai on u tiên nhp và gii mã lệnh ưîc thực hin
trên kênh U, sau ó ược chuyn sang FPU. Không lnh du chm ộng nào ược thc
hin song song.
lOMoARcPSD| 59908026
Đơn vị x lý trung tâm
Quá trình x lý song song mc lnh th hin qua thut toán sau :
Gii mã ng thi hai lnh I1 và I2
lOMoARcPSD| 59908026
Nếu nhng iu sau úng :
I1 và I2 là các lệnh ơn giản
I1 không phi là lnh nhy
Đích của I1 không phi là ngun ca I2
Đích của I1 không phi là ích của I2 thì ưa I1 vào kênh U và I2 vào kênh V
Các trưường hp khác th ưưa I1 vào kênh U
Tập các thanh ghi cơ bản
lOMoARcPSD| 59908026
Các thanh ghi a năng EAX, EBX, ECX, EDX , EBP, ESI, EDI, ESP
lOMoARcPSD| 59908026
Con tr lnh EIP (Instruction Pointer). EIP mt thanh ghi 32 bit. EIP cha a ch offset
ca ô nh cha lnh tiếp theo trong on mã lnh.
Thanh ghi c trng thái EFLAGS. EFLAGS là thanh ghi 32 bit. Thanh ghi trng thái EFLAGS
cha các bit mang thông tin phn nh trng thái ca b x lý và mt s bit iu khin.
Các thanh ghi iu khin 32 bit CR0, CR1, CR2, CR3, CR4
CR0 iu khin và ch th h thng (VD : bit PE-Protect Enable,
bit PG-Paging Enable, bit TS-Task chuyn nhim v)
CR1: chưa sử dng , CR2 ghi nh a ch trang vật lý chưa ược np, CR3 là thanh ghi nền thư
mc trang PDR, CR4 cho php m rng kiến trc ca CPU (m rng trang ến 4 Mb)
Các thanh ghi qun lý b nh GDTR, LDTR, TR, IDTR

Preview text:

lOMoAR cPSD| 59908026
Bài 5. Các phương pháp vào ra lOMoAR cPSD| 59908026 Nội dung
Phương pháp vào – ra dữ liệu Bộ iều khiển vào ra Kiến trúc máy vi tính PC
Tập lệnh trên máy vi tính PC lOMoAR cPSD| 59908026 Phương pháp vào-ra theo ngắt
• Cấu trúc của hệ thống vào
ra dữ liệu theo ngắt cứng
• Số ngắt-> Địa chỉ • Bảng véc tơ ngắt lOMoAR cPSD| 59908026
Phương pháp vào-ra theo ngắt
Quá trình phục vụ ngắt và vào/ra dữ liệu theo phương pháp ngắt cứng :
- CPU ang thực hiện chưương trình hiện hành.
- Thiết bị vào-ra có yêu cầu phục vụ phát ra tín hiệu IRQ cho PIC.
- Thiết bị PIC phát ra tín hiệu INT cho CPU, òi CPU phục vụ.
- CPU hoàn thành nốt lệnh ang thực hiện.
- CPU phát tín hiệu INTA (Interrupt Acknowledge) trả lời PIC, báo sẵn sàng phục vụ
quá trỡnh ngắt. Bit cờ IF trong thanh ghi trạng thái PSW ược ặt xuống 0 khi ngắt ược phục vụ.
Phương pháp vào-ra theo ngắt
Quá trình phục vụ ngắt và vào/ra dữ liệu theo phương pháp ngắt cứng : lOMoAR cPSD| 59908026
- CPU cất giữ nội dung con trỏ lệnh PC và nội dung thanh ghi trạng thái PSW vào
ngăn xếp ( ể còn khôi phục lại khi rời khỏi chưương trỡnh phục vụ ngắt ).
- PIC phát ra ịa chỉ (hoặc số ngắt ại diện cho ịa chỉ) của chưương trỡnh con phục vụ
ngắt tưương ứng với tín hiệu IRQ, cho CPU .
- Dựa trên ịa chỉ hoặc số ngắt này CPU nạp giá trị mới cho con trỏ lệnh PC và bắt ầu
thực hiện chưương trỡnh con phục vụ ngắt, thực hiện vào/ra dữ liệu với thiết bị vào-ra.
- Chưương trỡnh con phục vụ ngắt ưưîc kết thúc bằng lệnh IRET. Khi CPU nhập và
thực hiện lệnh IRET, CPU khôi phục lại nội dung con trỏ lệnh PC và thanh ghi trạng thái PSW.
Bằng cách ó CPU quay lại tiếp tục thực hiện chưương trỡnh bị ngắt. lOMoAR cPSD| 59908026
Phưương pháp vào-ra kiểu truy nhập trực tiếp bộ nhớ
Phương pháp DMA- Direct Memory Access
Quá trình vào/ra dữ liệu trực tiếp giữa bộ nhớ và thiết bị ngoại vi không qua CPU.
Trong quá trình DMA việc chuyển dữ liệu ưưîc iều khiển bởi một thiết bị phần cứng
là bộ iều khiển DMAC (Direct Memory Access Controller). Thiết bị DMAC thay thế
CPU óng vai trò chủ bus, iều khiển quá trỡnh chuyển dữ liệu trực tiếp giữa thiết bị
vào-ra và bộ nhớ chính qua bus hệ thống.
Những thời iểm CPU có thể trao quyền sử dụng bus cho DMAC trong một chu kỳ lệnh
Cấu trúc hệ thống vào-ra dữ liệu theo kiểu lOMoAR cPSD| 59908026 DMA.
Quá trình DMA ưîc thực hiện nhưư sau : -
CPU thực hiện các lệnh vào-ra nạp các giá trị ban ầu cho hai thanh ghi AR và DC, ồng thời
xác ịnh hưướng truyền dữ liệu giữa bộ nhớ và thiết bị vào-ra cho DMAC. DMAC sẵn sàng
iều khiển truyền dữ liệu. -
Thiết bị vào-ra phát tín hiệu DRQ cho DMAC. -
DMAC phát tín hiệu HOLD = 1 cho CPU, òi CPU áp ứng. -
CPU thực hiện nốt chu kỳ máy. -
CPU phát tín hiệu HLDA trả lời cho DMAC và tự tách ra khỏi hệ thống bus. Quyền iều
khiển hệ thống bus thuộc về DMAC. -
DMAC phát tín hiệu DACK trả lời thiết bị yêu cầu, phát iạ chỉ ô nhớ lên bus ịa chỉ, phát
các tín hiệu iều khiển ghi/ọc thiết bị vào-ra và phát tín hiệu iều khiển ọc/ghi bộ nhớ, qua
ó iều khiển quá trỡnh chuyển dữ liệu trực tiếp giữa thiết bị vào-ra và bộ nhớ. Sau mỗi
từ dữ liệu ưưîc truyền, giá trị của AR tăng lên và giá trị của DC giảm i.
Cấu trúc hệ thống vào-ra dữ liệu theo kiểu lOMoAR cPSD| 59908026 DMA. -
Nếu DC còn chưưa giảm về 0 và thiết bị vào-ra chưa sẵn sàng gửi hoặc nhận dữ liệu tiếp theo,
DMAC trả lại quyền iều khiển bus cho CPU bằng cách ặt HOLD = 0. CPU nắm lại quyền iều khiển bus. -
Khi DC giảm về 0, DMAC kết thúc quá trỡnh DMA bằng việc phát tín hiệu HOLD = 0 cho CPU,
trả quyền iều khiển bus cho CPU. CPU nắm lại quyền iều khiển bus và tiếp tục làm việc bình thường. lOMoAR cPSD| 59908026 Bộ xử lý vào-ra
Bộ xử lý vào-ra IOP (Input-Output Processor) là một dạng mở rộng của các phưương
pháp iều khiển vào-ra dữ liệu.
Một phát triển logic tiếp theo của các phưương pháp iều khiển vào-ra là : module
giao diện trở thành bộ xử lý vào-ra với một tập các chỉ thị chuyên biệt cho iều khiển vào-ra dữ liệu.
CPU ra lệnh cho bộ xử lý vào-ra thực hiện chưương trỡnh iều khiển vào-ra.
Bộ xử lý vào-ra nhập và thực hiện lệnh của
chưương trỡnh iều khiển vào-ra, không cần ến sự can thiệp của CPU. CPU chỉ thực
hiện vài lệnh cho phép và kết thúc hoạt ộng của IOP. lOMoAR cPSD| 59908026
• Cấu trúc của hệ thống máy tính có IOP:
IOCR (Input Output Communication Region) : vựng nhớ truyền thụng, dựng ể
truyền thụng iệp giữa hai bộ xử lý.
(VD : ịa chỉ của chưương trỡnh iều khiển vào-ra cần thực hiện, ịa chỉ của thiết bị vàora ưược sử dụng CÂU HỎI CHƯƠNG 5
1)Tại sao khi thực hiện vào/ra (nhập/xuất) dữ liệu với các thiết bị ngoại vi của máy
tính phải áp dụng một trong các phương pháp vào-ra dữ liệu? lOMoAR cPSD| 59908026
2)Trong phương pháp vào-ra theo thăm dò, biện pháp nào ược sử dụng ể ơn vị xử lý
trung tâm bắt nhịp ược với hoạt ộng của thiết bị ngoại vi ?
3)Cơ chế ể ơn vị xử lý trung tâm bắt nhịp ược với hoạt ộng của thiết bị ngoại vi ở
phương pháp vào-ra theo ngắt cứng là gì ?
4) Điều kiện ể có thể thực hiện vào ra dữ liệu theo phương pháp ngắt cứng là gì ? lOMoAR cPSD| 59908026 Chương 6 Kiến
trúc máy vi tính PC và ơn vị xử lý trung tâm lOMoAR cPSD| 59908026 Kiến trúc máy vi tính PC lOMoAR cPSD| 59908026
Đơn vị xử lý trung tâm Pentium lOMoAR cPSD| 59908026
Đơn vị xử lý trung tâm
Đường ống thực hiện lệnh của Pentium gồm 5 giai oạn :
1- Nhập lệnh. Lệnh ưưîc nhập từ cache và ưưa vào vùng ệm trưước giải mã.
2- Giải mã 1. Lệnh ưưîc giải mã ể tạo ra từ iều khiển. Từ iều khiển ơn giản sẽ gây ra
việc thực hiện trực tiếp lệnh. Từ iều khiển phức tạp sẽ ưưîc xử lý tiếp. Dự báo rẽ
nhánh cũng ưưîc thực hiện trong giai oạn này)
3- Giải mã 2. Từ iều khiển phức tạp ưîc giải mã tiếp ể tạo ra các vi mã thao tác (micro-
ops) dùng cho giai oạn thực thi lệnh (Địa chỉ toán hạng cũng ưưîc tạo ra ở giai oạn này.)
4- Thực thi lệnh. Lệnh ược thực thi ở ALU. (Nếu cần, cache dữ liệu cũng ược truy nhập ở giai oạn này.)
5- Ghi kết quả. Kết quả tính toán ược ghi trở lại vào các thanh ghi CPU lOMoAR cPSD| 59908026
Đơn vị xử lý trung tâm
• Điều kiện cơ bản ể thực hiện ồng thời hai lệnh trong Pentium là cả hai lệnh phải là loại ơn giản.
• Các lệnh ơn giản là các lệnh: chuyển dữ liệu tức thời từ thanh ghi hoặc từ bộ nhớ
tới thanh ghi, chuyển giá trị tức thời từ thanh ghi tới bộ nhớ, lệnh số học nguyên,
lệnh tăng giảm, lệnh bảo vệ và khôi phục thanh ghi từ ngăn xếp, lệnh nhảy không
iều kiện và nhảy gần có iều kiện, lệnh gọi chưương trình con, lệnh lấy ịa chỉ hiệu dụng v.v.
• Với các lệnh dấu chấm ộng, hai giai oạn ầu tiên nhập và giải mã lệnh ưîc thực hiện
trên kênh U, sau ó ược chuyển sang FPU. Không lệnh dấu chấm ộng nào ược thực hiện song song. lOMoAR cPSD| 59908026
Đơn vị xử lý trung tâm
• Quá trình xử lý song song mức lệnh thể hiện qua thuật toán sau :
Giải mã ồng thời hai lệnh I1 và I2 lOMoAR cPSD| 59908026
Nếu những iều sau úng :
I1 và I2 là các lệnh ơn giản
I1 không phải là lệnh nhảy
Đích của I1 không phải là nguồn của I2
Đích của I1 không phải là ích của I2 thì ưa I1 vào kênh U và I2 vào kênh V
Các trưường hợp khác thỡ ưưa I1 vào kênh U
Tập các thanh ghi cơ bản lOMoAR cPSD| 59908026
Các thanh ghi a năng EAX, EBX, ECX, EDX , EBP, ESI, EDI, ESP lOMoAR cPSD| 59908026
• Con trỏ lệnh EIP (Instruction Pointer). EIP là một thanh ghi 32 bit. EIP chứa ịa chỉ offset
của ô nhớ chứa lệnh tiếp theo trong oạn mã lệnh.
• Thanh ghi cờ trạng thái EFLAGS. EFLAGS là thanh ghi 32 bit. Thanh ghi trạng thái EFLAGS
chứa các bit mang thông tin phản ảnh trạng thái của bộ xử lý và một số bit iều khiển.
• Các thanh ghi iều khiển 32 bit CR0, CR1, CR2, CR3, CR4
CR0 iều khiển và chỉ thị hệ thống (VD : bit PE-Protect Enable,
bit PG-Paging Enable, bit TS-Task chuyển nhiệm vụ)
CR1: chưa sử dụng , CR2 ghi nhớ ịa chỉ trang vật lý chưa ược nạp, CR3 là thanh ghi nền thư
mục trang PDR, CR4 cho phộp mở rộng kiến trỳc của CPU (mở rộng trang ến 4 Mb)
Các thanh ghi quản lý bộ nhớ GDTR, LDTR, TR, IDTR