Nội dung bài giảng môn Thiết bị ngoại vi và ghép nối nội dung chương 1: Kiến trúc hệ thống vi xử lý

Nội dung bài giảng môn Thiết bị ngoại vi và ghép nối nội dung chương 1: Kiến trúc hệ thống vi xử lý của Học viện Công nghệ Bưu chính Viễn thông với những kiến thức và thông tin bổ ích giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học vào thực tiễn cuộc sống. Mời bạn đọc đón xem!

lOMoARcPSD|10435767
CHƯƠNG 1 – KIẾN TRÚC HỆ THỐNG VI XỬ LÝ –Y TÍNH LT3
1.1 KIN TRÚC HTHNG VI XLÝ, MÁY TÍNH KINH ĐIỂN
1.1.1 Sơ ồ kiến trúc
Trước hết cn phải c nh máy tính nhân (personal computer), hay y tính ln
(main frame) ng chính mt hthng vi x. Trong thc tế, máy tính thường do
các hãng ln chế tạo theo mt tiêu chun nhất nh, thể hoạt ộng ược vi các hiều
hành c phn mm sn trên thị trường. Mt khác, các hãng thc hin các hiều
hành hay các phn mm, ng thc hin các hiều hành hay các phn mm mi, da
trên cu hình tiêu chun của các y tính mt trên thị trường. Ngoài các máy tính
chun, mt hãng chế tạo y hay mt người sdụng bt kỳ ththc hin mt máy
tính, hay mt hthng vi x s dụng cho các ng dụng riêng như tính toán hay iều
khin các máy móc thiết bị, các hthống như vậy ang ược sdụng rt phbiến trong
dân dụng cũng như công nghiệp.
Sơ ồ kiến trúc hthng vi xhay mt y tính kinh iển bao gm các thành phần
như trên hình 1.1
Hình 1.1: Sơ ồ kiến trúc hthng vi xhay máy tính kinh iển
Hthng bao gm hthng trung m (Central Sub System CS), các giao tiếp kết
ni (Interface) và các thiết bị ngoại vi.
Hthống trung tâm óng vai trò iều khin hoạtng của toàn bhthng, nó bao gm:
Bvi xử lý hay còn gọi là bxử lý trung tâm (Central Processing Unit) là nơi thc hin
c chương trình iều khin hoạt ng của toàn bhthng. Bnh(Memory), các
IC nhn dn, nơi lưu trữ các chương trình cung cp cho CPU hoạt ng, cung cp
các dliu, các biến của chương trình, các hng scn thiết của chương trình CPU
lOMoARcPSD|10435767
thc hin. Các biều khin (controller) iều khin các chế hoạt ộng c bit của hthng,
trong các hthng vi xử lý kinh iển thông thường có các bộ iều khin như: bộ iều khin
Bus, cung cp các tín hiu cho bus hthng. Bnh thi, cung cp các tín hiệu nh
khoảng thi gian cho các hoạt ộng của hthng. Bộ iều khin ngt, iều khin vào ra hoạt
ng theo chế ngt. DMA, iều khin truyn dliu trc tiếp gia bnhngoại vi
….
Các khi mạch trong hthống trung tâm ưc kết ni vi nhau bng c ường dn iện
gọi chung BUS. BUS ược chia thành 03 nhóm là: Bus a chỉ, bus dliu bus iều
khin. Bus dliu sdụng cho vic truyn dliu gia CPU vi các ô nhớ và các thiết
bị ngoại vi. Bus a chỉ xác nh vị trí bnhhay vào ra sẽ truyn dliu vi CPU
Bus iều khin ể ịnh nghĩa các chế ộ hoạt ộng khác nhau của hthng.
Để giao tiếp vi thế gii bên ngoài hthng sdụng khi giao tiếp bao gm: các b
m (Buffer) các cng vào ra. Thông thường CPU thường ược chế tạo vi công ngh
tốc cao ng in mức iện áp logic thp, nên các bệm óng vai trò tương thích
tín hiu svdòng iện iện áp. Ngoài ra các bm còn thc hin vic chỉnh lại dạng
tín hiu skhi bị nhiu. Ở các hthng vi xử lý hoạt ộng vi tc thp có thkhông s
dụng các bộ ệm.
Các cng vào có chức năng giao tiếp vi các thiết bị cp dliu cho CPU, các cng ra
sdụng cho các thiết bị nhn dliu tCPU. Mt sthiết bị thtruyn dliu hai
chiu vi CPU. Các cng o ra ược thc hin bng các vi mạch chuyên dụng, chúng
tạo ra các lung dliu svi mc logic khung truyn theo các chun khác nhau
các thiết bị cùng chun có thgiao tiếp vi máy tính.
Phn cui cùng của hthng vi x máy nh kinh iển các thiết bị bên ngoài
(WideWorld). c thiết bị y thc thiết bị giao tiếp chun giao tiếp gia h
thng vi người sử dụng như: bàn phím, con chuột, màn hình …. Các thiết bị y có th
luôn gn lin (mt khi) vi hthng. Ngoài ra, các thiết bị gn vào y tính ng
thể là các thiết bị ặc bit, chỉ sử dụng trong các ng dụng cụ thể nào ó. Ví dụ nhưu dò
siêu âm sdụng trong bnh vin, các thiết bị iều hin công nghip sdụng trong các
nhà máy.
1.1.1.1 Các hệ thống trung tâm
Như ã cp, thành phn quan trọng nht của hthng trung tâm bvi x hay
còn gọi bx trung tâm (CPU Central Processing Unit). CPU nơi thực hin
c chương trình nh toán iều khin hoạt ng của toàn b hthng. Chương trình
bao gm các lnh xlý c dliu nhị phân như: tính toán shọc logic, di chuyn d
liu (bên trong CPU, gia CPU vi bnhhoc CPU vi vào ra), chuyển iều khiển
chương trình thc hin các giải thut của công vic.
lOMoARcPSD|10435767
Khi hoạt ng CPU thc hin các công vic sau: ly lnh tngoài bnhbng cách
cấp ịa chỉ và tín hiệu iều khiển ọc bnh, giải mã lnh ể xác ịnh công vic mà lnh yêu
cu thc hin, c ịnh vị trí các toán hạng (là các dliu) mà lnh xử lý, thc hin lnh
lưu trữ kết quả trên các thanh ghi hay các ô nhược chỉ nh trong lnh, hoc thc
hin các giao tiếp vào ra theo yêu cu của lnh.
Do óng vai trò iều khin hoạt ộng của toàn bhthng nên CPU là thành phn quan
trọng quyết ịnh ti tốc hoạt ng của hthng. c c tính quan trọng khi ánh giá hay
la chọn mt CPU cho mt hthng vi xử lý bao gm:
- Tốc ộ hoạt ộng: tốc ộ hoạt ộng của CPU phthuc chủ yếu vào công nghbán dn
chế tạo ra nó. Thông thường CPU áp ng vi xung nhịp càng cao sẽ tốc hoạt
ng càng cao. Tuy nhiên, tốc xlnh trên một ơn vị thi gian còn phụ thuc
vào cả cu trúc bên trong của CPU. dụ CPU hai lõi bên trong sẽ thc hiện
ược nhiu lệnh hơn CPU tốc ộ cao hơn nhưng một lõi. Hin nay tốc ộ hoạt ộng của
CPU thường ược tính bng hàng triu lnh trên giây MIPS
(Milion of Instruction Per Second).
- Độ ln dliu CPU thxược trong mt lnh (hay ln toán hạng):
ln này phụ thuc vào cu trúc BUS dliu, cu trúc bphn xlý dliu
(ALU, DSP, Image Processing ..), ln các thanh ghi bên trong CPU. Thông
thường, ln toán hạng của CPU sẽ bng với ộ ln BUS dliu. Tuy nhiên, trong
mt số CPU ộ ln BUS dliu thường nhỏ hơn ộ ln toán hạng. Ví dụ, CPU 8088
ln toán hạng 16 bit nhưng chỉ có BUS dliu 8 bit.
- Kiến trúc bvi x: CPU ược chế tạo vi nhiu loại kiến trúc khác nhau. Đầu
tiên c CPU ược chế tạo vi kiến trúc tp lệnh ầy ủ CISC (Complete Instruction
Set Computer). Vi cu trúc y CPU thc hiện ược nhiu lệnh hơn nhưng sẽ
cu trúc phc tạp hơn làm hoạtng của chậm n. CPU tp lnh rút gọn ra
i có cu trúc ơn giản hơn hoạt ộng nhanh hơn nhưng sẽ thc hiện ưc ít lệnh hơn.
Ngoài ra, thông thường các CPU loại RISC (Reduct Instrution Set Computer)
thường i lnh bng nhau htrcho hoạt ng ường ng (Pipe line). Các CPU
khi mới ra i có cu trúc Von Neumann, cu trúc này sdụng chung hthng BUS
cho cả dliu và chương trình. Các CPU hiện ại thường có cu trúc Hardvard, vi
mt BUS riêng cho vic truy cp chương trình và mt BUS riêng cho vic truy cp
dliu. Vi cu trúc Hardvard CPU thng thời c lnh các toán hạng
trong bnh. Vi các ng dụng a phương tiện, có thsử dụng các CPU có cu trúc
htrvic xlý tín hiu s, chúng thường ưc gọi là các bxử lý n hiu s(DSP
Digital Signal Processing). Các CPU htrợ mạnh cho vic xử lý hình nh scòn
ược gọi các bxnh (Image Processing). Để thc hin các ng dụng nhỏ,
cho các hthng nhúng các hãng phát trin các bvi iều khin (MCU Micro
lOMoARcPSD|10435767
Controller Unit), bao gm mt hthng vi xược óng gói trong mt vi mạch
(single chip). Các bvi iều khin hiện ang chiếm doanh thu cao nht trên thị trường
linh kin bán dn trên toàn thế gii.
- Các tín hiu kết ni: Khi thc hin các hthng vi xcn quan tâm ti các tín
hiu kết ni của CPU. Thông thường, do cn s dụng các bộ ệm bên ngoài nên các
tín hiu của CPU thường ược ghép a hp (Multiplex), dụ như tín hiu i chỉ
dliu cùng chung mt chân, tín hiệu a chỉ iều khin ng chung mt chân.
Ngoài ra, còn cn phải quan tâm ti các tín hiệu iều khiển như RD/WR, IRQ,
HOLD … c ịnh ược cu hình hoạt ộng của hthng.
- Tp thanh ghi: tp thanh ghi của CPU óng vai trò quan trọng trong vic lp trình
cho hthng bng các lnh hp ng, mt khác chức năng của các thanh ghi sẽ tạo
ra các kiu hoạt ộng khác nhau khi lp trình.
- Tp lnh: tp lnh của CPU sử dụng thc hin các chương trình hp ngữ chạy trên
hthng. Vic sdụng các lnh hp ng scho phép người sdụng tác ng sau
nht ti cu hình phn cng của hthng, nht ti các thành phn giao tiếp các
thiết bị ngoại vi. c chương trình hp ngn cho phép chương trình dung
lượng nhỏ hơn thc hiện nhanh hơn khi thc hiện chương trình bng các ngôn
ng cp cao.
- Các chế ộ ịa chỉ: Các chế ộ a chỉ của CPU cho phép vic truy cp dliu trong b
nhược thc hin theo nhiu cách khác nhau, nghĩa là cho phép thc hin các
kiu biến khác nhau trong chương trình như: biến mảng, biến con trỏ, biến chui
….
- Ngun: Các chế ngun của CPU cho phép hoạt ng nhng chế tiêu thụ
năng ng khác nhau. nhưng thời gian không cn thiết phải thc hin chương
trình CPU thchuyn qua c chế tiết kim ngun nhm tiết kim năng lượng
trong các hthống di ộng.
Thành phn quan trọng thhai trong hthng bnhn dn. Bnhtrong h
thng vi x lý là c vi mạch scó khả năng lưu trữ các dliu 0, 1. Trong hthng vi
xbnhn dn sdụng lưu trữ các chương trình cung cp cho CPU hoạt ng,
lưu trữ các hng và biến của chương trình, và sử dụng cho việc lưu trữ nhanh chóng các
dliu tạm thi trong quá trình tính toán như ngăn xếp. c c tính quan trọng của b
nhn dn bao gm: dung lượng nh, ln Bus dliu tốc truy xut dliu.
Ngay nay, các bnhn dn thường dung lượng rt ln lên ti hàng trăm MB/vi
mạch. Tốc ộ truy xut dliu nhanh trong khoảng vài nsec, ln bus dliu thường là
1, 8 hoc 16 bit.
Bnhn dẫn ược chia thành hai loại chính bnhchỉ c (ROM Read Only
Memory) và bnhớ có thọc ghi ược, hay bnhtruy cp ngu nhiên (RAM Random
lOMoARcPSD|10435767
Access Memory). Trong hthng vi x, khi hoạt ng CPU chỉ thể ọc ược dliu
tROM nhưng có thể ọc và ghi dliu vi RAM, vic ghi dliu vào ROM cn có các
chế ộ làm vic c bit.
Dliu ghi trong bnhROM sẽ không bị mt khi mt ngun cung cp, do ó thông
thường bnhROM ược sdụng lưu trữ các chương trình hoc dliu không cho
phép mt khi mt ngun. Như trong máy tính bnhROM BIOS sdụng lưu trữ các
chương trình iều khin các thiết bị vào ra, hoc keyboard ROM sdụng u trữ mã phím
nhn. Trong các hthng vi xử lý khác ROM ưc sdụng lưu trữ c chương trình khởi
ng hthng. BnhROM cũng ược chia thành nhiu loại khác nhau Mask ROM,
PROM, EPROM, EEPROM.
Mask ROM loại ROM ưc ghi dliu ngay khi sản xut, dliệu ã ược ghi sẽ
không xoá hoặc thay ổi ược, vi loại ROM này khi mun sa cha, thayi hay nâng cấp
chương trình, cn phải t hàng lại từ nhà sản xut, vì thế rt bt tin cho người sử dụng
. PROM (Programmable ROM) là loại ROM thlp trình ược mt ln, do trong ma
trn nhớ các bit ược lưu trữ dưới dạng các cu chì, nên khi ã lp trình làm ứt các cu chì
sẽ không thni lại ược na. PROM giúp người sử dụng có thtsa chữa thay ổi hay
nâng cp c chương trình, tuy nhiên mi ln dliu thay i cn phải sdụng mt vi
mạch mi nên sẽ làm tăng chi phí hthng. Để khc phc EPROM ra i vi các bit trong
ma trn nhược thc hin bng các kênh dn MOSFET, ghi ROM thng iện
trường cao y c iện ttdo của kênh dn vcc cng làm kênh dn không dẫn iện.
Để kênh dn dẫn iện trlại người ta cung cấp năng lưng cho c iện ttdo bng tia
cc tím, các iện ttdo thvượt qua lp ô xit silic ch iện mỏng quay vkênh
dn. Vi nguyên hoạt ng này bnhEPROM thlp trình xoá nhiu ln rt
tin dụng cho người s dụng khi thc hin các hthng vi x. EEPROM loại b
nhROM có thlp trình ược nhiu ln, nhưng c iện ttdo trên kênh dn bị ẩy qua
cc công và quay về ề bằng năng lượng iện trường ln.
BnhRAM cũng ược chia thành hai loại chính RAM nh (SRAM Static RAM)
RAM ộng (DRAM Dinamic RAM). SRAM lưu trữ các các bit nhbng các Flip
Flop nên dliu sẽ không bị mt khi vi mạch nhcòn ược cp ngun. Các SRAM
thi gian truy xut nhanh, khoảng 80 3 ns, tuy nhiên chúng tiêu thụ công sut ln
có giá thành cao, vy SRAM chỉ ược sdụng cho các hthng nhỏ hoc dùng m b
nhm trong các hthng ln. Bnhm sẽ truyn khi dliu vi bnhchính
cung cp cho CPU khi yêu cu. BnhDRAM lưu trữ c bit nhbng các tụ iện
nhỏ, thlưu trữ ưc mt dung lượng ln trên mt din tích nhỏ thì c tụ iện càng
nhỏ càng tt. Do vic chế tạo các tụ bán dn kơn giản nên DRAM có giá thành rẻ, vì
vy chúng ưc sdụng làm bnhchính trong các hthng lớn như máy tính nhân
hay máy chủ. Nhưng do các tụ iện nhỏ nên lượng iện tích lưu trữ sẽ ít và chúng dễ dàng
lOMoARcPSD|10435767
bị rò qua các mạch c ghi dliu. Thông thường dliu mc 1 trong DRAM chỉ lưu trữ
ược trong khoảng 10 20 msec, do ó sử dụng DRAM người ta thiết kế c biều khin
DRAM nạp lại (làm tươi lại) các bit 1 sau khoảng thi gian 7.5 msec. phải làm
chu kỳ làm tươi nên việc sdụng DRAM khá phc tạp, tốc truy xut thp t50 70
nsec. Ngày nay các vi mạch DRAM ược chế to vi dung lượng khá ln, có thlên ti
1 Gbyte/vi mạch.
Ngoài các loại b nh chính u trên hin y còn mt sloại bnhn dn
khác như:
- Flash Memory: là loại EEPROM thcho phép ghi xoá dliu theo tng khi,
giá thành của Flash rẻ hơn nhiều so vi EEPROM thông thường do ó hin nay
Flash ang ược ng dụng nhiu trong các hthng vi xnhư: làm ROM BIOS
cho máy tính nhân, b nh ngoài truy cp qua USB hoc thẻ nh (Stick
memory), làm cng cho các máy tính xách tay với ộ chng sc cao, sử dụng cho
thiết bị trgiúp nhân s(PDA Personal Digital Assistants), các thiết bị âm
thanh hay y nh, máy quay phim ktuht s. Khi sdụng m các thiết bị nh
ngoài di ộng như Flash USB hay thẻ nh, các bnhFlask còn bn cao do
không bị hỏng do sc, thct gicác iều kin môi trường khc nhit v
nhiệt ộ, áp sut, ộ ẩm.
- EEPROM ni tiếp (Serial EEPROM): loại bnhEEPROM c ghi dliu ni
tiếp, thông thường loại b nh y s dụng các giao tiếp ni tiếp: I2C, SPI,
Microwire, UNI/O hay 1- wire. Loại bnhy thường sử dụng ể lưu các dliu
cn thiết khi mt nguồn như các bảng tham số hoạt ộng (parameter), hay các bảng
cu hình hoạt ộng cho hthng vi xử lý.
- Dual port RAM, Quad Port RAM: là các loại bnhRAM cho phép nhiu chu k
truy cập ng thi (tương ng hai và bn chu ktruy cập ng thi). Thông thường
công nghRAM này sdụng thc hin các thanh ghi trong CPU, cho phép tăng
tốc ộ truy cp dliu.
- RAMDAC (Random Acess Memory Digital to Analogue Converter) chip nh
kết hp gia RAM và bbiến ổi sơng tự. Loại bnhớ này thường ược sdụng
trong các card màn hình của y tính, chúng thường ược sdụng cha bảng màu
tạo ra mức iện áp tương tự tuỳ theo màu sc mun hin thị trên màn hình màu.
Dliu màu cung cp từ CPU ưc sdụng làm ịa chỉ cung cp cho RAMDAC, d
liu s trong DAC sẽ ược truy cp biến i thành mc iện áp ngõ ra của
RAMDAC, mc tín hiu này sẽ ng i mt trong ba súng iện t, tương ứng vi
mt trong ba màu , lục, lam của màn hình CRT.
lOMoARcPSD|10435767
- PCMCIA (Personal Computer Memory Card International Association) cng
thiết kế cho vic giao tiếp vi các loại thnhSRAM hoc Flash. Sau y, cng
PCMCIA ược sử dụng cho các ng dụng giao tiếp vi các thiết bị vào ra như
Modem, Wireless ….
Khi cui cùng trong hthng trung tâm là các bộ iều khin (Controller). Các biều
khin nhim vụ iều khin các nh năng c bit nhm nâng cao hiệu năng của hthng.
Trong mt hthng vi xkinh iển thông thường các biều khiển như: biều khin
Bus (Bus controller), biều khin ngt, biều khin thâm nhp trc tiếp bnh(DMAC
Direct Memory Acess Controller), bnh thi (PIT-
Programmable Interval Timer),
Mạch quản lý bnh….
Biều khin BUS thường nhn các tín hiu trạng thái tCPU tạo ra các tín hiu
iều khin bnhvào ra như: các tín hiệu c ghi bnh, c ghi o ra, tín hiu chp
nhn yêu cu ngt. Ví dụ trong hthng 8088 sử dụng bộ iều khin BUS
8288.
Biều khin ngt s dụng cho việc iều khin chế ngt của hthng. Khi yêu
cu hoạt ộng trước hết các thiết bị vào ra gi ti biều khin ngt yêu cu ngt. Bộ iều
khin ngt sẽ có nhiu ngõ vào nhn nhiu yêu cu ngt tc vào ra khác nhau. Bộ iều
khin ngt có thể ược lp trình trước thc hin các chức năng như: xưu tiên cho các
ngun yêu cu ngt, cho phép hoc cm các ngun yêu cu ngt, tạo vector ngt riêng
bit cho các ngun ngắt …. Sau khi ã xc yêu cu ngt, biều khin ngt sẽ gi
yêu cu ngt ti CPU, và nếu ưc CPU chp nhn nó sẽ gi tín hiu chp nhn ti thiết
bị có yêu cu, kèm theo vector ngt của thiết bị ó ể CPU có thể tìm và thc hiện chương
trình ngắt tương ứng phục vụ hoạt ộng của thiết bị.
B iều khin thâm nhp trc tiếp b nh (DMAC Direct Memory Access
Controller) cho phép chế truyn dliu trc tiếp gia thiết bị o ra bnhn
dn. Các ngoại vi thc hin truyn dliu trc tiếp vi bnhthông thường là các b
nhngoài (Đĩa cng, ĩa mềm…) hoặc các thiết bị mạng. DMAC ng có nhiu ngõ vào
nhn các yêu cu DMA tnhiu kênh ngoại vi khác nhau. cũng ược lp trình t
CPU thc hin các chức năng như: xlý ưu tiên, cho phép hoc cm các kênh DMA,
nhập a chỉ của bnho ra, cũng như ln khi dliu sẽ truyn trong chu k
DMA. Khi các yêu cu DMA tthiết bị ngoại vi, sau khi x theo tính năng ã ược
lp trình, DMAC sẽ gi yêu cu ti CPU (bng tín hiu HOLD). Nếu CPU chp nhn
yêu cu này sẽ dng hoạt ng, treo các BUS lên trạng thái trkháng cao trả li
DMAC bng tín hiu chp nhn (HOLDA Hold Acknowledge). Khi ó DMAC sẽ cung
cp các tín hiệu a chỉ ng thi cho bnho ra, cùng vi tín hiệu c bnh ghi
vào ra, hoặc c vào ra ghi bnhmt ch ng thi, truyn dliu gia bnh
vào ra chỉ trong mt chu kỳ. Khi mt dliệu ược c ghi xong, bộ ếm ịa chỉ của DMAC
lOMoARcPSD|10435767
sẽ tộng tăng lên chun bị thc hin việc c ghi dliu kế tiếp trong khi. Khi khi
dliệu ã truyn xong, tín hiu yêu cu tDMAC sẽ hết tích cc CPU sẽ iều khin
hoạt ộng của hthng trở lại.
Bộ ịnh thi có thlp trình (PIT Programmable Interval Timer): là vi mạch có th
lp trình tCPU to ra các khoảng thi gian nh thi cho hoạt ng nào ó của hthng.
Vic c nh các khoảng thi gian sẽ ược tính toán và ghi vào các thanh ghi của PIT, sau
khi ược cho phép chạy, PIT thc hin vic ếm thi gian và thông báo cho CPU khi thi
gian kết thúc.
Biều khiển RAM ng, nhận a chỉ t CPU sau ó cung cấp theo a chỉ ng ct
ti vùng nhRAM ng truy cp dliu theo yêu cu của CPU. Ngoài ra các biều
khiển RAM ng còn tng thc hin các chu klàm tươi theo quy nh cho vùng nh
RAM ộng mà nó quản lý.
Đơn vị quản bnh(MMU Memory Management Unit) vi mạch xvic
truy cp bnhyêu cu tCPU. Nó có chức năng chuyển i c a chỉ o cung cp t
CPU trong các chế ộ khác nhau thành ịa chỉ vt lý ể truy cp bnh.
Ngoài các bộ iều khin thông dụng ktrên, trong mt shthng vi xử lý n có các
bộ iều khiển ặc bit khác.
Các khi mạch của hthống trung tâm ược kết ni vi nhau bng hthng các ường
dây dẫn iện, chúng ược chia thành ba nhóm chính gọi Bus dliu, Bus ịa chỉ Bus
iều khin.
Bus dliu c ường dây sdụng cho vic truyn dliu gia c khi, dliu
này bao gm các lnh truyn tbnhti CPU, các hng biến của chương trình
truyn gia CPU và bnh, các dliệu iều khin truyn gia CPU và thiết bị ngoại vi.
Như vậy bus dliu Bus hai chiu, slượng ường y trên bus dliu sẽ xác nh s
bit có thtruyền ồng thi mt ln. Thông thường CPU có bao nhiêu bit sẽ có bấy nhiêu
ường trên bus dliu, c ưng y ược ni tCPU ti tt cả c vi mạch nhc b
iều khin và qua các bộ ệm ti tt cả các vào ra.
CPU có một bus a chỉ duy nht truyn dliu gia CPU vi tt cảc bnh
vào ra và các bộ iều khin, do ó khi mt dliu trên bus cn phải xác ịnh nó ược truyn
gia CPU và vị trí nào trên hthng. Để xác ịnh ược các vị trí y hthng sdụng bus
a chỉ. Bus a ch bus mt chiu nhiều ường, a chỉ thtạo ra tCPU, DMAC,
hay các biều khin khác cung cp ti các bnhhay các vi mạch vào ra cho phép
mt vị trí duy nht trong hthng truyn dliu. Nếu bus ịa chỉ có N ường, hthng sẽ
quản lý ược 2
N
a chỉ bnh, và kèm theo tín hiệu iều khin chọn bnhhoc vào ra h
thng sẽ quản lý thêm ược cực ại 2
N
a chỉ vào ra.
Bus iều khin cung cp nhiu tín hiệu iều khin vi các nh năng khác nhau, c
nh các chế hoạt ng của hthống. Trong bus a chỉ nhưng tín hiu mt chiu t
lOMoARcPSD|10435767
CPU cp ra, hoc CPU nhn vào, nhng tín hiu cp tc biều khin, tbnh
hoc từ vào ra.
Mt số tín hiệu iều khiển iển hình trong hthng vi xử lý như:
- MEMRD (Memory Read): tín hiu tCPU hoc biều khin Bus cung cp ti
bnhyêu cu bnhcung cp dliu CPU ly vào bên trong nó.
- MEMWR (Memory Write): là tín hiu tCPU hoc bộ iều khin Bus cung cp ti
bnhyêu cu bnhnhn dliu ghi vào bên trong nó.
- IORD (Input Output Read), IOWR (Input Output Write): là tín hiu yêu cầu c ghi
vào ra.
- INTR (Interrupt Request): tín hiu yêu cu ngt tbiều khin ngt hoc tthiết
bị vào ra cung cp ti CPU.
- INTA (Interrupt Acknowledge): Tín hiu chp nhn yêu cu ngt tCPU trả li
cho thiết bị ngoại vi hoc bộ iều khin ngt.
- HOLD: tín hiu yêu cầu DMA ược DMAC gi ti CPU yêu cầu CPU ngưng hoạt
ng ể DMAC iu khin quá trình truyn dliu trc tiếp gia bnhớ và cng vào
ra.
- HOLDA (Hold Acknowledge): tín hiu chp nhn yêu cu DMA tCPU trả li
cho bộ iều khin DMA.
-
1.1.1.2 Thiết bị ngoại vi: Thiết bị vào, Thiết bị ra, Thiết bị vào/ra, Thiết bị lưu
trữ.
Các thiết bị ngoại vi ược ni ti các cng vào ra trong hvi x, theo chức năng
chúng thchia thành hai loại chính: Các thiết bị s dụng giao tiếp gia hthng vi
người sdụng như n phím, màn hình, con chuột …. Để người s dụng ththam
gia vào quá trình iều khin hthng hoc nhn các trạng thái kết quả ththng. Ngoài
ra còn có các thiết bị chp hành sự iều khin của hthng vi xử lý, thc hin mt công
vic nào ó như máy in in văn bản, y vẽ in bản ồ, hay các hthng máy móc sản
xut khác.
Theo chiu truyn dliu các thiết bngoại vi thchia thành: các thiết bị chỉ
truyn dliu cho hthng, còn gọi các thiết bị o, dụ các phím nhn. Các thiết
bị chỉ nhn dliu ththng, còn gi thiết bị ra, dụ như các bhin thị led ơn
hay led by oạn. Tuy nhiên, hiện nay a số c thiết bị ngoại vi là các hthng vi x
chuyên dụng, còn gọi các hthng nhúng (embed system), các hthng này thường
truyn dliu vi hthng chính bng các cng vào ra, và chúng thường truyn dliu
hai chiu gọi là các thiết bị va vào va ra. dụ trong hthng y tính, bàn phím là
lOMoARcPSD|10435767
mt hthng vi xử lý nhim vụ nhn tma trn phím nhn tạo ra mã quét phím
(scan code) gi ti cng bàn phím, ngoài ra các phím chưa ược ọc sẽ nm trong bm
bàn phím. Máy in giao tiếp vi y tính bằng ba a chỉ, một a chỉ cho dliu, một a
chỉ thông báo trạng thái và mt cng ể iều khin các tính năng máy in….
Ngoài ra các thiết bị giao tiếp vi máy tính còn các thiết bị nhngoài. cng
(HDD), mm (FDD), quang gn cùng khi vi hp y tính là các thiết bị ngoại vi
nhim vụ lưu trữ dliu. Các thiết bị nhngoài như Flash disk, HDD box, thẻ nh
ng là các thiết bị ngoại vi lưu trữ.
Mt số các thiết bị vào ra cơ bản của hthng máy tính kinh iển có thkể ến như:
- Các thiết bị o bản: Bàn phím (keyboard), màn hình cảm ng (touch screen),
tm nhn chạm (keypad), Chut (mouse), bi hướng (track ball), chut chạm
(touch pad), Thiết bị o ồ hoạ (Graphic input): camera, máy quét (scanner), u c
vạch (barcode reader), Ngõ vào âm thanh (Microphone), Giải iều chế n hiu
(Demodulator trong modem), Cảm biến (sensor), bbiến i tín hiu (transducer),
btruyn tín hiu (transmitter), Các thiết bị vào số khác: Bshoá (Digitizer), bút
quang (Light pen), cn trò chơi (joytick), ầu ọc vân tay (finger reader).
- Các thiết bị ra cơ bản: Màn hình, bhin thị iểm, Led 7 oạn, LCD, ma trn led,
CRT, y in (kim, phun, laser, thermal transfer, ploter), loa (speaker, horn …),
iều chế n hiu (modulator trong modem), btruyền ộng iện (Actuator), ng
(motor), relay, khởi ộng t(contactor), van (valve) …
- Các thiết bị lưu trữ: Thiết blưu trữ t(Băng từ, FDD, HDD, RAID), thiết bị lưu
trquang (CD, DVD, Magnetic optic), thiết bị nhớ bán dn (Flash chip, PCMCIA
card).
1.1.1.3 Kỹ thuật ghép nối
Do CPU thc hin việc iều khin toàn bhoạt ng của hthng, nên thường ược
thc hin vi công nghcao tốc hoạt ng nhanh. Mt khác, cu trúc kết ni h
thng trung tâm thc hin theo Bus. Còn các thiết bị ngoại vi thì tutheo chức năng sử
dụng trong thc tế, sẽ ược thiết kế khác nhau m bảo sao cho giá thành hạ, stin dụng
cao. Do ó gia hthng trung tâm và thiết bị ngoại vi thường có skhác nhau v: mc
tín hiu, tốc ộ truyn thông tin, kiu truyền thông tin …. Như vậy, ể các thiết bị ngoại vi
thm việc ược vi hthng, cn giao tiếp (Interface) gia chúng vi hthng
trung m. Các giao tiếp ược thc hin vi hai thành phn chính là: phn cng các
cng o ra thc hin bng các vi mạch chuyên dụng, phn mm y dng thc
hin các khung truyn dliệu tương ứng gia hai bên.
Thông thường phn cng trong mt hthng vi xử lý sẽ bao gm các loại như:
lOMoARcPSD|10435767
- Cng vào ra song song: dliệu ường truyền ng thi trên nhiều ường dây th
thng ti các thiết bị ngoại vi. Các vi mạch phn cng của các cng song song sẽ
mng thi c ường y dliu của hthng trung tâm kết ni vi thiết bị
ngoại vi. Do phải sử dụng nhiều ường dây ồng thi nên các cng vào ra song song
ngày càng ít ưc sdụng, nht khi cn truyn dliu qua khoảng các ln. Mt
scng vào ra song song tiêu biu như: LPT, IDE, ….
- Cng vào ra ni tiếp: theo mt chiu truyn dliu sẽ ược truyn tun ttrên một
ường y dẫn iện. Cng truyn này có c ưu iểm như: tiết kim dây dn, không bị
nhiu xuyên kênh giữa ường truyn các bit như cổng song song. Vi c ưu iển
trên cng ni tiếp hiện nay ang ược phát trin khá mạnh vi c cơ chế truyn khác
nhau, các cu hình phn cng khác nhau. Mt scng truyn ni tiếp thường thấy
như: cng COM, cng USB, cng IEEE 1394, cổng SCSI ….
- Cng giao tiếp tương t: cng y dùng giao tiếp vi các thiết bị cung cp tín
hiệu tương tự. Để nhn các tín hiệu tương tự o hthng cn phải bbiến i
tương tự sang s(ADC Analogue to Digital Converter), thông thường các ADC
biến ổi mt mc tín hiệu tương tự thành 8, 12 hoc 16 bit dliu scung cp cho
CPU. Để cung cp các tín hiệu tương tự hthng sdụng các bbiến i ssang
tương tự (DAC Digital to Analogue Converter). Các giao tiếp tương tự phbiến
như: Micro phone, loa (Speaker), nhiệt ộ CPU, …
Ngoài các vi mạch thc hin các chức năng cổng vào ra, các cng vào ra còn có th
thc hin bng các hthng vi xchuyên dụng còn gọi các hthng nhúng. Đối
vi các hthng máy tính, phn cng vào ra còn ththc hin bng các vi mạch phn
cng cm vào các khe cm trên bo mạch chính như: ISA, PCI, AGP, MC ….
Phn mềm iều khin giao tiếp thc hin bng c chương trình truy cp trc tiếp
vào các vi mạch phn cng cng vào ra. Các chương trình iều khin cng vào ra trên h
thng máy tính, hoc các hthng vi xchuyên dụng, ng thkhai thác các tài
nguyên phn mm sn trong hthống như: các m iều khin thiết bị trong ROM
BIOS, các hàm iều khin thiết bị của hiều hành DOS, các hàm iều khin thiết bị tương
thích trong WINDOWS như các SPI API. Ngoài ra còn thsdụng c chương
trình chuyên dụng của các hãng chuyên cung cp phn cng phn mềm iều khin thiết
bị như: Siemens, Omron, ABB, …
1.1.2 Kiến trúc máy tính hiệu năng cao
Sơ ồ khi mt máy tính hiện ại hiu năng cao mô tả trên hình 1.2. Trên hình vẽ CPU
kết ni vi bnhvi mạch iều khin bus PCI (PCI brigde) bng bus ni (local bus).
Thông thường bnhm L1 (SRAM) ược chế tạo sn trong CPU, dliu tbnh
chính (DRAM) sẽ ược biều khin quản bnh(MMU), iều khin truyn khi vi
lOMoARcPSD|10435767
bnhm L2 và bnhm L1, CPU sẽ chỉ thao tác ọc ghi dliu trên các bnhm
không ọc trc tiếp tbnhớ chính.
Hình 1.2: Sơ ồ khối máy tính hiện ại
Bộ iều khin bus PCI, m các tín hiu tbus ni và tạo thêm các tín hiu cn thiết
giao tiếp vi các thiết bị tốc cao như: Bo mạch giao tiếp màn hình, giao tiếp cng
chun IDE, bo mạch giao tiếp mạng ni b, bo mạch âm thanh, giao tiếp cổng USB ….
Ngoài ra trên bo mạch chính còn cha sn các khe cm, ể có thcm thêm các bo mạch
giao tiếp vi các thiết bị ngoại vi khác. Để giao tiếp vi các thiết bị tc thp, tiêu
thụ dòng ln và m bảo giá thành hạ cn sử dụng vi mạch chuyển ổi ttín hiu bus PCI
thành tín hiu bus ISA. Các thiết bị giao tiếp vi bus y có thkể ến như: vi mạch giao
tiếp y in (LPT ports), vi mạch giao tiếp ni tiếp (COM ports hay Async Ports), vi
mạch giao tiếp con chut, vi mạch giao tiếp cổng ĩa mm, vi mạch giao tiếp bàn phím
và các khe cm mrng khi cn thiết. Tuy nhiên trên bo mạch chủ c máy tính hin
nay không còn sử dụng các khe cm mrng cho bus ISA.
lOMoARcPSD|10435767
Hình 1.3: Sơ ồ khối máy tính Pentium
Hình 1.4: Sơ ồ khi máy tính Pentium 4
Hình 1.3 mô tả sơ khi máy tính Pentium, trong cu hình y bnhm L2 kết ni
vi CPU qua bus riêng (cahe bus), bnhchính giao tiếp vi CPU qua PCI brigde.
lOMoARcPSD|10435767
Trong thêm vi mạch giao tiếp cng SCSI, sdụng cho vic giao tiếp vi các
cng loại mi các thiết bị chế tạo theo chun này. Bàn phím, con chut, y in
nhiu thiết bị khác ang dần chuyển ổi qua chun giao tiếp USB.
Vi cu hình Pentium 4 việc iều khin các loại bus ều ược tích hp trong mt vi mạch
(bridge chip). Trong hthng pentium 4 xut hin thêm bus AGP sdụng cho giao tiếp
bo mạch màn hình tốc cao, htrmạnh cho video. Bus ATA giao tiếp vi vi mạch
giao tiếp ATA, sdụng giao tiếp vi các cng DVD loại y. Bnhm L2 ược
tích hp ngay trong CPU nên cache bus ng nm trong CPU.
Ngoài ra còn mt sbus chuyên dụng khác như VESA bus sử dụng cho bo mạch
màn hình, bus MCA mrng thiết bị, FireWire bus sdụng cho thiết bị ni bhoc
mrộng …. Bảng 1.1 cho biết ặc tính kỹ thut của mt sbus thông dụng.
Bảng 1.1: Đặc tính kỹ thuật một số bus thông dụng
1.1.2.1 Bus nội bộ
Bus ni n ược gọi là bus hthng (system bus), bus chủ (hoist bus) hay bus bvi
xử lý (processor bus). Bus ni bao gm nhng ường kết ni gia bvi xvi khi b
nhớ chính (main memory) và bộ iều khin bus PCI (PCI brigde). Các ường tín hiu trên
bus y, ược ni trc tiếp tCPU ti các vi mạch nhvi mạch iều khin PCI,
không qua các bm bus. Độ ln của bus tuỳ theo hthng thlên ti 64 bit a chỉ
và 64 bit dliu, tốc ộ truyn lên ti 32 Mbps.
c hthng hiện i, biều khin bnh(MMU) ược tích hp ngay trong CPU
do ó bus y ược gọi là bus bnh(memory bus), ni trc tiếp các n hiu tCPU ti
các vi mạch nhớ RAM ng và không sử dụng ni ti bộ iều khin PCI.
1.1.2.2 Bus tốc ộ cao
Bus tốc ộ cao hay còn gọi là bus kết ni các thiết bị ngoại vi (PCI Peripheral
lOMoARcPSD|10435767
Componant Interconnect), là bus do PCI brigde cung cp là bus chính kết ni các thiết
bị phn cng vào mt hthng vi xử lý. Trong máy tính, các thiết bị có thkết ni thông
qua các vi mạch phn cng ni ghép PCI nm ngay trên bo mạch chính, hoc bng các
bo mạch giao tiếp qua khe cm PCI.
Như trong bảng 1.1, bus PCI ã ược phát trin qua nhiu thế h, tốc truyn dliu
tuỳ thuc vào tng thế hệ có th t132 MBps ti 1GBps, có kim tra chn lẻ cho a chỉ
và dliu. Các tín hiệu iều khiển ưc thiết kế ể chương trình phn mm thtnhn
dạng các thiết bị phn cng cm vào hthng, thc hin nh năng cắm chạy (Plus
and Play). Bus PCI ược sdụng cho khá nhiu các hthng máy tính chuẩn như IBM,
Dec Alpha, Power PC, Spark ….
1.1.2.3 Bus mở rộng
Bus mrng hay còn ưc gọi là bus chun (standard bus) hay bus vào ra (I/O bus) là
bus ược thiết kế cho các thiết bị hoạt ng vi tốc thp. Các thiết bị ng thgiao
tiếp thông qua các vi mạch nm ngay trên bo mạch chính, hoc qua các bo mạch giao
tiếp trên các khe cm.
Các bus mrng thc tế bao gm: bus ISA ược thiết kế bởi IBM năm 1981, vào m
1983 trthành bus mrng cho máy tính PC XT, năm 1984 trthành bus mrng
16 bit cho máy tính IBM AT và m 1988 ược mrng thành chun EISA vi
32 bit. Năm 1987, IBM còn phát trin bus mrng MCA (Micro Channel Architecture)
vi tốc cao hơn, tuy nhiên ây mt chuẩn óng không ược công bsdụng cho
người sử dụng.
1.2 HOẠT ĐỘNG CA H THNG
1.2.1 Lưu ồ tổng quát
Hoạt ộng của hthng ược thc hin bằng lưu ồ tng quát như trên hình 1.5. Khi h
thng bắt ầu ược cp ngun hoc khi hthng bắt ầu ược khởi ộng lại (reset). Trước hết
bộ ếm chương trình và các vector ịa chỉ hthng ược thiết lp lại giá trị mặc ịnh. Ngoài
ra hthng còn thc hin các chương trình thiết lp khác cho qui trình reset.
Tiếp theo CPU ly mu yêu cu DMA tại ngõ vào của nó, nếu có yêu cu DMA CPU
sẽ ngưng hoạt ng quá trình DMA ược thc hin. Khi không yêu cu DMA, hoặc
khi DMA ã ược thc hin xong, CPU kim tra các yêu cu ngt. Vi các ngt che, CPU
kim tra cche ngt, nếu cche ược thiết lp nh trạng cho phép, hoặc ối vi c ngt
không che, CPU sẽ chuyn iều khin qua hoạt ng chương trình phục vụ ngt. Khi
không có ngt, hoc khi chương trình phục vụ ngắt ã ược thc hin xong, CPU sẽ thc
hin các lnh của chương trình chính. Quá trình thc hin mt lnh bao gm các công
vic: ly lnh tbnh, giải mã lnh c nh công vic cn thc hin thc hin lệnh
lOMoARcPSD|10435767
ó và lưu trữ kết quả của lnh. Khi thc hin xong mt lnh, quá trình hoạt ộng của CPU
sẽ ược lp lại tbước kim tra yêu cu DMA.
1.2.2 Thiết lp lại hthng - Reset
Quá trình thiết lp lại hthng (reset) sẽ xảy ra do các nguyên nhân sau: Hthng
ược cp ngun lần ầu, ngun hthng bị ngưng cung cp sau mt khoảng thi gian sau
ó ược cung cp trở lại, khi reset cng hthng bng cách cung cp tín hiu xung ti ngõ
vào reset của CPU, hoc khi khởi ộng lại bng phn mm.
Khi xảy ra reset, thông thường CPU sẽ thc hin một chương trình ghi sn trong b
nhROM, tutheo hthng cụ thchương trình y thược gọi là: chương trình
giám sát (monitoring), phn dẻo (firm ware) hoc trên y nh ược gọi chương
trình iều khin o ra cơ sở của hthng (BIOS Base Input Output System). Chương
trình này sẽ thc hin quy trình tkim tra khi bt ngun (POST Power On Self Test).
Hình 1.5: Lưu ồ tng quát hoạt ộng của hthng vi xử lý
Qui trình POST thường thc hin các công vic như:
- Xác nhn nguyên nhân gây ra reset thc hin các quy trình xử lý thích hp.
- Tìm kiếm kim tra dung lượng các loại bnhcủa hthng trung tâm, thông
báo kết quả kim tra và li.
lOMoARcPSD|10435767
- Tìm chạy c chương trình khi tạo các tham shoạt ng cho các vi mạch
iều khin bus, các bộ iều khin (controller), các vi mạch iều khin các cng vào
ra và các thiết bị trong hthng.
- Tìm nạp hiều nh tbnhngoài chuyển iều khin hthng cho hiều
hành.
1.2.3 Ly lnh và thc hiện lệnh
Hthng vi xlý hoạt ng bng cách thc hin c chương trình. c chương trình
là tp hp các lnh ược sp xếp theo mt giải thut hp lý ể thc hin mt nhim vụo
ó. Thc hin mt lnh có nghĩa CPU thc hin mt chc năng xử bản trên các
dliu nhị phân. Trước khi ưc thc hin, c chương trình phải ược chuyn vào bnh
của h thng trung m. Vic chuyển chương trình vào bnhtrung m ththc hin
bng nhiu ch như: ghi vào các bnhROM bng các hthng ghi dliu. Truyn
tc thiết bị nh(HDD, CD-ROM, Flash disk …) vào vùng nhớ RAM của hthng
trung tâm. Truyn ti tmt hthng vi xử lý khác, dụ như truyền ty tính xung
PLC….
Khi hoạt ộng CPU sẽ lặp i lặp lại vic thc hin các công vic: ly lnh, giải lnh,
thc hin lnh lưu trữ kết quả. Để ly lnh, CPU cn cung cấp a chỉ n hiệu iều
khiển ọc cho bnhớ và mã lnh sẽ ược ly vào trong CPU cha vào thanh ghi lnh (hay
ng i lnh). Địa chỉ ly lệnh ược CPU gitrong bếm chương trình (PC Program
Counter) và cung cấp ra bus ịa chỉ, sau khi ly mt ô nhlnh PC sẽ tự ộng tăng lên 1
chun bị ly vào ô nhkế tiếp. Khi chế chuyển iều khiển chương trình PC sẽ ược
thay ổi CPU ly lnh tại vi trí mi trong bnh.
Dliu do lnh cung cp sẽ ược cung cp ti các mạch iện tphn cng bên trong
CPU cho kết quả cn thiết. Các loại lnh mà CPU thc hin có thchia thành ba nhóm
chính là:
- Các lnh di chuyn dliu thc hin vic di chuyn dliu hai chiu gia: các
thanh ghi bên trong CPU, gia CPU và bnh, gia CPU và vào ra.
- Các lnh xdliu thc hin các phép biến ổi dliu nhị phân theo các hàm
shọc logic như: cng, tr, nhân, chia, and, or, xor, not hay quay dịch d
liu.
- Các lệnh iều khin bao gm: các lnh nhảy, các lnh rẽ nhánh, các lnh chương
trình con và các lệnh iều khin hoạt ộng của CPU.
lOMoARcPSD|10435767
1.2.4 Ngắt - Interrupt
Ngt chế cho phép CPU ngưng thực hin một chương trình hin tại, chuyn
qua hoạt ộng vi một chương trình con khác gọi là chương trình phục vụ ngt
(ISR Interrupt Service Routine). Trong hthng vi xc ngt sxảy ra trong các
trường hp:
- Xảy ra li khi thc hin các lnh của chương trình (li chia cho 0, li tràn s
…), quá trình ngắt xử lý các li này thường ược gọi là các ngoại l
(exception).
- Xảy ra li phn cng do s hư hỏng bus hay các vi mạch iện ttrong hthng.
Các ngt này thường cũng ược gọi là các ngoi l.
- Khi các bộ iều khin cng vào ra yêu cầu ược phục vụ: ở các ngt này các cng
vào ra khác nhau sẽ có các chương trình phục vụ riêng, và CPU cn tính
toán ại chỉ ể chuyn hoạt ộng tới chương trình ngt thích hp. Các ngt này ưc
gọi là các ngt phn cng.
- Khi chương trình chính thc hin lnh gọi chương trình ngt, ngt này thường
ược gọi là ngt mm.
Các ngt phn cng bao gm hai loại chính là ngt có che ược bng phn mm (INT
Interrupt), và ngắt không che ược bng phn mm (NMI Non Maskable
Interrupt). Vi ngt INT, khi có yêu cu ngt CPU sẽ kim cngt (IF Interrupt Flag),
nếu cngắt ược thiết lp ISR sẽ ược thc hin, còn nếu không yêu cu ngt sẽ bị bỏ qua,
CPU vn tiếp tục hoạt ộng trên chương trình hin tại. Đối vi NMI, CPU bt buc phải
ngưng chương trình hin tại chuyn qua ISR.
Trước khi chuyển iều khiển qua chương trình phục vụ ngt, CPU lưu lại các thông
tin cn thiết của chương trình hin hành bao gm bếm chương trình các ctrạng
thái. Các thông tin này sẽ cho phép CPU tiếp tục hoạt ng thc hin nhim vụ ang bỏ
d, của chương trình hin hành, sau khi thc hiện xong chương trình ngt. CPU sẽ ngưng
thực hiện chương trình ngt phc hi c thông tin lưu trữ quay về chương trình chính
khi gp lnh kết thúc chương trình ngt (IRET Interrupt Return).
1.2.5 Thâm nhp trc tiếp bnh- DMA
Trong máy tính, chu kthâm nhp trc tiếp bnh (DMA Direct Memory Access)
thc hin vic truyn dliu trc tiếp gia thiết bị o ra và bnhchính, mà không
thông qua CPU. Nếu không DMA, khi mun ly mt dliu to ra ghi vào b
nh, hoc ngược lại tbnhghi ti vào ra, CPU phải thc hin mt chu kỳ ọc dliu
vào bên trong nó, mt chu kghi dliu tbên trongra ngoài. Công vic y sẽ
rt y mt thi gian khi cn truyn mt khi dliu ln như c mt tp tin t cng
vào bnh. Khi DMA, biều khin DMA (DMAC DMA controller) syêu cầu
lOMoARcPSD|10435767
CPU ngưng hoạt ng, DMAC sẽ cấp a chỉ ồng thi hai tín hiệu c vào ra (IORD) và ghi
bnh(MEMWR), thc hin việc c vào ra ghi trc tiếp ti bnhkhông
thông qua trung gian. DMAC ng ththc hin vic c bnhghi trc tiếp ti
vào ra.
DMA thường sdụng truyn dliu tc thiết bị lưu trữ ngoài vi bnh chính,
hoc gia bnhchính các thiết bị o ra truyn khi dliu khác như các thiết bị
mạng.
1.2.6 Các trạng thái hoạt ộng của hthng
Các trạng thái hoạt ng của hthng vi xử lý bao gm: c ghi bnh, c ghi vào ra,
thc hin cuh káp ng ngt, thc hin chu kỳ áp ng DMA, trạng thái chờ và trạng
thái bus ri.
Khi ọc bnhCPU cung cấp ịa chỉ, cp tín hiệu ọc bnh(MEMR) và nhn dliu
tbnho các thanh ghi bên trong nó. Khi ghi d liu, CPU cung cấp a chỉ, cung
cp dliu và cp tín hiu yêu cu ghi bnh, dliu sẽ ược lưu trữ o ô nhớ chỉ ịnh.
Tương tự vi các chu kỳ ọc ghi vào ra CPU sẽ cp các tín hiu yêu cu c vào ra (IOR)
hoc ghi vào ra (IOW). Tuy nhiên, các chu kỳ c ghi bnho ra y sẽ din ra
trong nhiu chu kxung nhịp, nếu tốc CPU quá cao bnhvào ra không áp
ng kịp, thì chúng phải trách nhim thông báo cho CPU biết, CPU chèn thêm các
trạng thái chờ vào chu kỳ ọc ghi.
Hình
1.6:
Các chu kghi vào ra (a) và ghi vào ra có trạng thái ch
(b)
Hình 1.6a tả mt chu kỳ ghi dliu ti vào ra không trạng thái ch. Tại chu
kỳ xung nhịp thnht CPU cung cấp ịa chỉ (Addr). Ti chu kỳ xung nhịp th2 nó cung
cp tín hiu ghi vào ra (IOW xung mc 0), cung cp dliu ra bus (Data). Dliu
IOW sẽ ược ginguyên trạng thái cho ến xung nhịp th4, ể hoàn tt chu kghi d
liu ti vào ra trong 4 chu kỳ xung nhịp ca CPU, khi tín hiu sn sàng (Ready) cung
lOMoARcPSD|10435767
cp từ vào ra luôn ginguyên trạng thái mc 1 trong sut chu kỳ ghi. Trong chu kỳ ghi,
tại chu kỳ xung nhịp th3, CPU sẽ kim tra trạng thái của ngõ vào Ready. Nếu ngõ vào
này không còn mc tích cc (mc 1), CPU sẽ hiu là vào ra chưa nhận kịp dliu, và
nó sẽ chèn thêm các xung nhịp chcho ến khi tín hiu ready tích cc trở lại (hình 1.6b).
Ngoài các trạng thái làm vic vi thế gii bên ngoài như c ghi bnh, c ghi vào ra
và DMA, khi thc hin các lnh xử lý ngay bên trong CPU, các tín hiu kết ni vi bên
ngoài của sẽ ở trạng thái không tích cc, trạng thái này ược gọi trạng thái bus ri
(bus idle).
| 1/20

Preview text:

lOMoARcPSD| 10435767
CHƯƠNG 1 – KIẾN TRÚC HỆ THỐNG VI XỬ LÝ – MÁY TÍNH LT3
1.1 KIẾN TRÚC HỆ THỐNG VI XỬ LÝ, MÁY TÍNH KINH ĐIỂN
1.1.1 Sơ ồ kiến trúc
Trước hết cần phải xác ịnh máy tính cá nhân (personal computer), hay máy tính lớn
(main frame) cũng chính là một hệ thống vi xử lý. Trong thực tế, máy tính thường do
các hãng lớn chế tạo theo một tiêu chuẩn nhất ịnh, ể có thể hoạt ộng ược với các hệ iều
hành và các phần mềm sẵn có trên thị trường. Mặt khác, các hãng thực hiện các hệ iều
hành hay các phần mềm, cũng thực hiện các hệ iều hành hay các phần mềm mới, dựa
trên cấu hình tiêu chuẩn của các máy tính có mặt trên thị trường. Ngoài các máy tính
chuẩn, một hãng chế tạo máy hay một người sử dụng bất kỳ có thể thực hiện một máy
tính, hay một hệ thống vi xử lý sử dụng cho các ứng dụng riêng như tính toán hay iều
khiển các máy móc thiết bị, các hệ thống như vậy ang ược sử dụng rất phổ biến trong
dân dụng cũng như công nghiệp.
Sơ ồ kiến trúc hệ thống vi xử lý hay một máy tính kinh iển bao gồm các thành phần như trên hình 1.1
Hình 1.1: Sơ ồ kiến trúc hệ thống vi xử lý hay máy tính kinh iển
Hệ thống bao gồm hệ thống trung tâm (Central Sub System – CS), các giao tiếp kết
nối (Interface) và các thiết bị ngoại vi.
Hệ thống trung tâm óng vai trò iều khiển hoạt ộng của toàn bộ hệ thống, nó bao gồm:
Bộ vi xử lý hay còn gọi là bộ xử lý trung tâm (Central Processing Unit) là nơi thực hiện
các chương trình ể iều khiển hoạt ộng của toàn bộ hệ thống. Bộ nhớ (Memory), là các
IC nhớ bán dẫn, là nơi lưu trữ các chương trình cung cấp cho CPU hoạt ộng, cung cấp
các dữ liệu, các biến của chương trình, các hằng số cần thiết của chương trình mà CPU lOMoARcPSD| 10435767
thực hiện. Các bộ iều khiển (controller) iều khiển các chế ộ hoạt ộng ặc biệt của hệ thống,
trong các hệ thống vi xử lý kinh iển thông thường có các bộ iều khiển như: bộ iều khiển
Bus, cung cấp các tín hiệu cho bus hệ thống. Bộ ịnh thời, cung cấp các tín hiệu ịnh
khoảng thời gian cho các hoạt ộng của hệ thống. Bộ iều khiển ngắt, iều khiển vào ra hoạt
ộng theo chế ộ ngắt. DMA, iều khiển truyền dữ liệu trực tiếp giữa bộ nhớ và ngoại vi ….
Các khối mạch trong hệ thống trung tâm ược kết nối với nhau bằng các ường dẫn iện
gọi chung là BUS. BUS ược chia thành 03 nhóm là: Bus ịa chỉ, bus dữ liệu và bus iều
khiển. Bus dữ liệu sử dụng cho việc truyền dữ liệu giữa CPU với các ô nhớ và các thiết
bị ngoại vi. Bus ịa chỉ ể xác ịnh vị trí bộ nhớ hay vào ra sẽ truyền dữ liệu với CPU và
Bus iều khiển ể ịnh nghĩa các chế ộ hoạt ộng khác nhau của hệ thống.
Để giao tiếp với thế giới bên ngoài hệ thống sử dụng khối giao tiếp bao gồm: các bộ
ệm (Buffer) và các cổng vào ra. Thông thường CPU thường ược chế tạo với công nghệ
tốc ộ cao có dòng iện và mức iện áp logic thấp, nên các bộ ệm óng vai trò tương thích
tín hiệu số về dòng iện và iện áp. Ngoài ra các bộ ệm còn thực hiện việc chỉnh lại dạng
tín hiệu số khi bị nhiễu. Ở các hệ thống vi xử lý hoạt ộng với tốc ộ thấp có thể không sử dụng các bộ ệm.
Các cổng vào có chức năng giao tiếp với các thiết bị cấp dữ liệu cho CPU, các cổng ra
sử dụng cho các thiết bị nhận dữ liệu từ CPU. Một số thiết bị có thể truyền dữ liệu hai
chiều với CPU. Các cổng vào ra ược thực hiện bằng các vi mạch chuyên dụng, chúng
tạo ra các luồng dữ liệu số với mức logic và khung truyền theo các chuẩn khác nhau ể
các thiết bị cùng chuẩn có thể giao tiếp với máy tính.
Phần cuối cùng của hệ thống vi xử lý – máy tính kinh iển là các thiết bị bên ngoài
(WideWorld). Các thiết bị này có thể là các thiết bị giao tiếp chuẩn ể giao tiếp giữa hệ
thống với người sử dụng như: bàn phím, con chuột, màn hình …. Các thiết bị này có thể
luôn gắn liền (một khối) với hệ thống. Ngoài ra, các thiết bị gắn vào máy tính cũng có
thể là các thiết bị ặc biệt, chỉ sử dụng trong các ứng dụng cụ thể nào ó. Ví dụ như ầu dò
siêu âm sử dụng trong bệnh viện, các thiết bị iều hiển công nghiệp sử dụng trong các nhà máy.
1.1.1.1 Các hệ thống trung tâm
Như ã ề cập, thành phần quan trọng nhất của hệ thống trung tâm là bộ vi xử lý hay
còn gọi là bộ xử lý trung tâm (CPU – Central Processing Unit). CPU là nơi thực hiện
các chương trình ể tính toán và iều khiển hoạt ộng của toàn bộ hệ thống. Chương trình
bao gồm các lệnh xử lý các dữ liệu nhị phân như: tính toán số học logic, di chuyển dữ
liệu (bên trong CPU, giữa CPU với bộ nhớ hoặc CPU với vào ra), chuyển iều khiển
chương trình ể thực hiện các giải thuật của công việc. lOMoARcPSD| 10435767
Khi hoạt ộng CPU thực hiện các công việc sau: lấy lệnh từ ngoài bộ nhớ bằng cách
cấp ịa chỉ và tín hiệu iều khiển ọc bộ nhớ, giải mã lệnh ể xác ịnh công việc mà lệnh yêu
cầu thực hiện, xác ịnh vị trí các toán hạng (là các dữ liệu) mà lệnh xử lý, thực hiện lệnh
và lưu trữ kết quả trên các thanh ghi hay các ô nhớ ược chỉ ịnh trong lệnh, hoặc thực
hiện các giao tiếp vào ra theo yêu cầu của lệnh.
Do óng vai trò iều khiển hoạt ộng của toàn bộ hệ thống nên CPU là thành phần quan
trọng quyết ịnh tới tốc ộ hoạt ộng của hệ thống. Các ặc tính quan trọng khi ánh giá hay
lựa chọn một CPU cho một hệ thống vi xử lý bao gồm:
- Tốc ộ hoạt ộng: tốc ộ hoạt ộng của CPU phụ thuộc chủ yếu vào công nghệ bán dẫn
chế tạo ra nó. Thông thường CPU áp ứng với xung nhịp càng cao sẽ có tốc ộ hoạt
ộng càng cao. Tuy nhiên, tốc ộ xử lý lệnh trên một ơn vị thời gian còn phụ thuộc
vào cả cấu trúc bên trong của CPU. Ví dụ CPU có hai lõi bên trong sẽ thực hiện
ược nhiều lệnh hơn CPU tốc ộ cao hơn nhưng một lõi. Hiện nay tốc ộ hoạt ộng của
CPU thường ược tính bằng hàng triệu lệnh trên giây MIPS
(Milion of Instruction Per Second).
- Độ lớn dữ liệu mà CPU có thể xử lý ược trong một lệnh (hay ộ lớn toán hạng): ộ
lớn này phụ thuộc vào cấu trúc BUS dữ liệu, cấu trúc bộ phận xử lý dữ liệu
(ALU, DSP, Image Processing ..), và ộ lớn các thanh ghi bên trong CPU. Thông
thường, ộ lớn toán hạng của CPU sẽ bằng với ộ lớn BUS dữ liệu. Tuy nhiên, trong
một số CPU ộ lớn BUS dữ liệu thường nhỏ hơn ộ lớn toán hạng. Ví dụ, CPU 8088
có ộ lớn toán hạng 16 bit nhưng chỉ có BUS dữ liệu 8 bit.
- Kiến trúc bộ vi xử lý: CPU ược chế tạo với nhiều loại kiến trúc khác nhau. Đầu
tiên các CPU ược chế tạo với kiến trúc tập lệnh ầy ủ CISC (Complete Instruction
Set Computer). Với cấu trúc này CPU thực hiện ược nhiều lệnh hơn nhưng sẽ có
cấu trúc phức tạp hơn làm hoạt ộng của nó chậm hơn. CPU có tập lệnh rút gọn ra
ời có cấu trúc ơn giản hơn hoạt ộng nhanh hơn nhưng sẽ thực hiện ược ít lệnh hơn.
Ngoài ra, thông thường các CPU loại RISC (Reduct Instrution Set Computer)
thường có ộ dài lệnh bằng nhau hỗ trợ cho hoạt ộng ường ống (Pipe line). Các CPU
khi mới ra ời có cấu trúc Von Neumann, cấu trúc này sử dụng chung hệ thống BUS
cho cả dữ liệu và chương trình. Các CPU hiện ại thường có cấu trúc Hardvard, với
một BUS riêng cho việc truy cập chương trình và một BUS riêng cho việc truy cập
dữ liệu. Với cấu trúc Hardvard CPU có thể ồng thời ọc mã lệnh và các toán hạng
trong bộ nhớ. Với các ứng dụng a phương tiện, có thể sử dụng các CPU có cấu trúc
hỗ trợ việc xử lý tín hiệu số, chúng thường ược gọi là các bộ xử lý tín hiệu số (DSP
– Digital Signal Processing). Các CPU hỗ trợ mạnh cho việc xử lý hình ảnh số còn
ược gọi là các bộ xử lý ảnh (Image Processing). Để thực hiện các ứng dụng nhỏ,
cho các hệ thống nhúng các hãng phát triển các bộ vi iều khiển (MCU – Micro lOMoARcPSD| 10435767
Controller Unit), bao gồm một hệ thống vi xử lý ược óng gói trong một vi mạch
(single chip). Các bộ vi iều khiển hiện ang chiếm doanh thu cao nhất trên thị trường
linh kiện bán dẫn trên toàn thế giới.
- Các tín hiệu kết nối: Khi thực hiện các hệ thống vi xử lý cần quan tâm tới các tín
hiệu kết nối của CPU. Thông thường, do cần sử dụng các bộ ệm bên ngoài nên các
tín hiệu của CPU thường ược ghép a hợp (Multiplex), ví dụ như tín hiệu ại chỉ và
dữ liệu cùng chung một chân, tín hiệu ịa chỉ và iều khiển cùng chung một chân.
Ngoài ra, còn cần phải quan tâm tới các tín hiệu iều khiển như RD/WR, IRQ,
HOLD … ể xác ịnh ược cấu hình hoạt ộng của hệ thống.
- Tập thanh ghi: tập thanh ghi của CPU óng vai trò quan trọng trong việc lập trình
cho hệ thống bằng các lệnh hợp ngữ, mặt khác chức năng của các thanh ghi sẽ tạo
ra các kiểu hoạt ộng khác nhau khi lập trình.
- Tập lệnh: tập lệnh của CPU sử dụng thực hiện các chương trình hợp ngữ chạy trên
hệ thống. Việc sử dụng các lệnh hợp ngữ sẽ cho phép người sử dụng tác ộng sau
nhất tới cấu hình phần cứng của hệ thống, nhất là tới các thành phần giao tiếp các
thiết bị ngoại vi. Các chương trình hợp ngữ còn cho phép chương trình có dung
lượng nhỏ hơn và thực hiện nhanh hơn khi thực hiện chương trình bằng các ngôn ngữ cấp cao.
- Các chế ộ ịa chỉ: Các chế ộ ịa chỉ của CPU cho phép việc truy cập dữ liệu trong bộ
nhớ ược thực hiện theo nhiều cách khác nhau, có nghĩa là cho phép thực hiện các
kiểu biến khác nhau trong chương trình như: biến mảng, biến con trỏ, biến chuỗi ….
- Nguồn: Các chế ộ nguồn của CPU cho phép nó hoạt ộng ở những chế ộ tiêu thụ
năng lượng khác nhau. Ở nhưng thời gian không cần thiết phải thực hiện chương
trình CPU có thể chuyển qua các chế ộ tiết kiệm nguồn nhằm tiết kiệm năng lượng
trong các hệ thống di ộng.
Thành phần quan trọng thứ hai trong hệ thống là bộ nhớ bán dẫn. Bộ nhớ trong hệ
thống vi xử lý là các vi mạch số có khả năng lưu trữ các dữ liệu 0, 1. Trong hệ thống vi
xử lý bộ nhớ bán dẫn sử dụng ể lưu trữ các chương trình cung cấp cho CPU hoạt ộng,
lưu trữ các hằng và biến của chương trình, và sử dụng cho việc lưu trữ nhanh chóng các
dữ liệu tạm thời trong quá trình tính toán như ngăn xếp. Các ặc tính quan trọng của bộ
nhớ bán dẫn bao gồm: dung lượng nhớ, ộ lớn Bus dữ liệu và tốc ộ truy xuất dữ liệu.
Ngay nay, các bộ nhớ bán dẫn thường có dung lượng rất lớn lên tới hàng trăm MB/vi
mạch. Tốc ộ truy xuất dữ liệu nhanh trong khoảng vài nsec, ộ lớn bus dữ liệu thường là 1, 8 hoặc 16 bit.
Bộ nhớ bán dẫn ược chia thành hai loại chính là bộ nhớ chỉ ọc (ROM – Read Only
Memory) và bộ nhớ có thể ọc ghi ược, hay bộ nhớ truy cập ngẫu nhiên (RAM – Random lOMoARcPSD| 10435767
Access Memory). Trong hệ thống vi xử lý, khi hoạt ộng CPU chỉ có thể ọc ược dữ liệu
từ ROM nhưng có thể ọc và ghi dữ liệu với RAM, việc ghi dữ liệu vào ROM cần có các
chế ộ làm việc ặc biệt.
Dữ liệu ghi trong bộ nhớ ROM sẽ không bị mất khi mất nguồn cung cấp, do ó thông
thường bộ nhớ ROM ược sử dụng ể lưu trữ các chương trình hoặc dữ liệu không cho
phép mất khi mất nguồn. Như trong máy tính bộ nhớ ROM BIOS sử dụng lưu trữ các
chương trình iều khiển các thiết bị vào ra, hoặc keyboard ROM sử dụng lưu trữ mã phím
nhấn. Trong các hệ thống vi xử lý khác ROM ược sử dụng lưu trữ các chương trình khởi
ộng hệ thống. Bộ nhớ ROM cũng ược chia thành nhiều loại khác nhau Mask ROM, PROM, EPROM, EEPROM.
Mask ROM là loại ROM ược ghi dữ liệu ngay khi sản xuất, dữ liệu ã ược ghi sẽ
không xoá hoặc thay ổi ược, với loại ROM này khi muốn sửa chữa, thay ổi hay nâng cấp
chương trình, cần phải ặt hàng lại từ nhà sản xuất, vì thế rất bất tiện cho người sử dụng
. PROM (Programmable ROM) là loại ROM có thể lập trình ược một lần, do trong ma
trận nhớ các bit ược lưu trữ dưới dạng các cầu chì, nên khi ã lập trình làm ứt các cầu chì
sẽ không thể nối lại ược nữa. PROM giúp người sử dụng có thể tự sửa chữa thay ổi hay
nâng cấp các chương trình, tuy nhiên mỗi lần dữ liệu thay ổi cần phải sử dụng một vi
mạch mới nên sẽ làm tăng chi phí hệ thống. Để khắc phục EPROM ra ời với các bit trong
ma trận nhớ ược thực hiện bằng các kênh dẫn MOSFET, ể ghi ROM có thể dùng iện
trường cao ẩy các iện tử tự do của kênh dẫn về cực cổng làm kênh dẫn không dẫn iện.
Để kênh dẫn dẫn iện trở lại người ta cung cấp năng lượng cho các iện tử tự do bằng tia
cực tím, ể các iện tử tự do có thể vượt qua lớp ô xit silic cách iện mỏng quay về kênh
dẫn. Với nguyên lý hoạt ộng này bộ nhớ EPROM có thể lập trình và xoá nhiều lần rất
tiện dụng cho người sử dụng khi thực hiện các hệ thống vi xử lý. EEPROM là loại bộ
nhớ ROM có thể lập trình ược nhiều lần, nhưng các iện tử tự do trên kênh dẫn bị ẩy qua
cực công và quay về ề bằng năng lượng iện trường lớn.
Bộ nhớ RAM cũng ược chia thành hai loại chính là RAM tĩnh (SRAM – Static RAM)
và RAM ộng (DRAM – Dinamic RAM). SRAM lưu trữ các các bit nhớ bằng các Flip –
Flop nên dữ liệu sẽ không bị mất khi vi mạch nhớ còn ược cấp nguồn. Các SRAM có
thời gian truy xuất nhanh, khoảng 80 – 3 ns, tuy nhiên chúng tiêu thụ công suất lớn và
có giá thành cao, vì vậy SRAM chỉ ược sử dụng cho các hệ thống nhỏ hoặc dùng làm bộ
nhớ ệm trong các hệ thống lớn. Bộ nhớ ệm sẽ truyền khối dữ liệu với bộ nhớ chính và
cung cấp cho CPU khi có yêu cầu. Bộ nhớ DRAM lưu trữ các bit nhớ bằng các tụ iện
nhỏ, ể có thể lưu trữ ược một dung lượng lớn trên một diện tích nhỏ thì các tụ iện càng
nhỏ càng tốt. Do việc chế tạo các tụ bán dẫn khá ơn giản nên DRAM có giá thành rẻ, vì
vậy chúng ược sử dụng làm bộ nhớ chính trong các hệ thống lớn như máy tính cá nhân
hay máy chủ. Nhưng do các tụ iện nhỏ nên lượng iện tích lưu trữ sẽ ít và chúng dễ dàng lOMoARcPSD| 10435767
bị rò qua các mạch ọc ghi dữ liệu. Thông thường dữ liệu mức 1 trong DRAM chỉ lưu trữ
ược trong khoảng 10 – 20 msec, do ó ể sử dụng DRAM người ta thiết kế các bộ iều khiển
DRAM ể nạp lại (làm tươi lại) các bit 1 sau khoảng thời gian 7.5 msec. Vì phải làm có
chu kỳ làm tươi nên việc sử dụng DRAM khá phức tạp, tốc ộ truy xuất thấp từ 50 – 70
nsec. Ngày nay các vi mạch DRAM ược chế tạo với dung lượng khá lớn, có thể lên tới 1 Gbyte/vi mạch.
Ngoài các loại bộ nhớ chính nêu trên hiện này còn có một số loại bộ nhớ bán dẫn khác như:
- Flash Memory: là loại EEPROM có thể cho phép ghi và xoá dữ liệu theo từng khối,
giá thành của Flash rẻ hơn nhiều so với EEPROM thông thường do ó hiện nay
Flash ang ược ứng dụng nhiều trong các hệ thống vi xử lý như: làm ROM BIOS
cho máy tính cá nhân, bộ nhớ ngoài truy cập qua USB hoặc thẻ nhớ (Stick
memory), làm ổ cứng cho các máy tính xách tay với ộ chống sốc cao, sử dụng cho
thiết bị trợ giúp cá nhân số (PDA – Personal Digital Assistants), các thiết bị âm
thanh hay máy ảnh, máy quay phim kỹ tuhật số. Khi sử dụng làm các thiết bị nhớ
ngoài di ộng như Flash USB hay thẻ nhớ, các bộ nhớ Flask còn có ộ bền cao do
không bị hư hỏng do sốc, có thể cất giữ ở các iều kiện môi trường khắc nhiệt về
nhiệt ộ, áp suất, ộ ẩm.
- EEPROM nối tiếp (Serial EEPROM): là loại bộ nhớ EEPROM ọc ghi dữ liệu nối
tiếp, thông thường loại bộ nhớ này sử dụng các giao tiếp nối tiếp: I2C, SPI,
Microwire, UNI/O hay 1- wire. Loại bộ nhớ này thường sử dụng ể lưu các dữ liệu
cần thiết khi mất nguồn như các bảng tham số hoạt ộng (parameter), hay các bảng
cấu hình hoạt ộng cho hệ thống vi xử lý.
- Dual port RAM, Quad Port RAM: là các loại bộ nhớ RAM cho phép nhiều chu kỳ
truy cập ồng thời (tương ứng hai và bốn chu kỳ truy cập ồng thời). Thông thường
công nghệ RAM này sử dụng ể thực hiện các thanh ghi trong CPU, cho phép tăng
tốc ộ truy cập dữ liệu.
- RAMDAC (Random Acess Memory Digital to Analogue Converter) là chip nhớ
kết hợp giữa RAM và bộ biến ổi số tương tự. Loại bộ nhớ này thường ược sử dụng
trong các card màn hình của máy tính, chúng thường ược sử dụng ể chứa bảng màu
ể tạo ra mức iện áp tương tự tuỳ theo màu sắc muốn hiển thị trên màn hình màu.
Dữ liệu màu cung cấp từ CPU ược sử dụng làm ịa chỉ cung cấp cho RAMDAC, dữ
liệu số trong DAC sẽ ược truy cập và biến ổi thành mức iện áp ngõ ra của
RAMDAC, mức tín hiệu này sẽ dùng ể lái một trong ba súng iện tử, tương ứng với
một trong ba màu ỏ, lục, lam của màn hình CRT. lOMoARcPSD| 10435767
- PCMCIA – (Personal Computer Memory Card International Association) là cổng
thiết kế cho việc giao tiếp với các loại thể nhớ SRAM hoặc Flash. Sau này, cổng
PCMCIA ược sử dụng cho các ứng dụng giao tiếp với các thiết bị vào ra như Modem, Wireless ….
Khối cuối cùng trong hệ thống trung tâm là các bộ iều khiển (Controller). Các bộ iều
khiển có nhiệm vụ iều khiển các tính năng ặc biệt nhằm nâng cao hiệu năng của hệ thống.
Trong một hệ thống vi xử lý kinh iển thông thường có các bộ iều khiển như: bộ iều khiển
Bus (Bus controller), bộ iều khiển ngắt, bộ iều khiển thâm nhập trực tiếp bộ nhớ (DMAC
– Direct Memory Acess Controller), bộ ịnh thời (PIT- Programmable Interval Timer),
Mạch quản lý bộ nhớ ….
Bộ iều khiển BUS thường nhận các tín hiệu trạng thái từ CPU ể tạo ra các tín hiệu
iều khiển bộ nhớ và vào ra như: các tín hiệu ọc ghi bộ nhớ, ọc ghi vào ra, tín hiệu chấp
nhận yêu cầu ngắt. Ví dụ trong hệ thống 8088 sử dụng bộ iều khiển BUS 8288.
Bộ iều khiển ngắt sử dụng cho việc iều khiển chế ộ ngắt của hệ thống. Khi có yêu
cầu hoạt ộng trước hết các thiết bị vào ra gửi tới bộ iều khiển ngắt yêu cầu ngắt. Bộ iều
khiển ngắt sẽ có nhiều ngõ vào nhận nhiều yêu cầu ngắt từ các vào ra khác nhau. Bộ iều
khiển ngắt có thể ược lập trình trước thực hiện các chức năng như: xử lý ưu tiên cho các
nguồn yêu cầu ngắt, cho phép hoặc cấm các nguồn yêu cầu ngắt, tạo vector ngắt riêng
biệt cho các nguồn ngắt …. Sau khi ã xử lý các yêu cầu ngắt, bộ iều khiển ngắt sẽ gửi
yêu cầu ngắt tới CPU, và nếu ược CPU chấp nhận nó sẽ gửi tín hiệu chấp nhận tới thiết
bị có yêu cầu, kèm theo vector ngắt của thiết bị ó ể CPU có thể tìm và thực hiện chương
trình ngắt tương ứng phục vụ hoạt ộng của thiết bị.
Bộ iều khiển thâm nhập trực tiếp bộ nhớ (DMAC – Direct Memory Access
Controller) cho phép chế ộ truyền dữ liệu trực tiếp giữa thiết bị vào ra và bộ nhớ bán
dẫn. Các ngoại vi thực hiện truyền dữ liệu trực tiếp với bộ nhớ thông thường là các bộ
nhớ ngoài (Đĩa cứng, ĩa mềm…) hoặc các thiết bị mạng. DMAC cũng có nhiều ngõ vào
ể nhận các yêu cầu DMA từ nhiều kênh ngoại vi khác nhau. Nó cũng ược lập trình từ
CPU ể thực hiện các chức năng như: xử lý ưu tiên, cho phép hoặc cấm các kênh DMA,
nhập ịa chỉ của bộ nhớ và vào ra, cũng như ộ lớn khối dữ liệu sẽ truyền trong chu kỳ
DMA. Khi có các yêu cầu DMA từ thiết bị ngoại vi, sau khi xử lý theo tính năng ã ược
lập trình, DMAC sẽ gửi yêu cầu tới CPU (bằng tín hiệu HOLD). Nếu CPU chấp nhận
yêu cầu này nó sẽ dừng hoạt ộng, treo các BUS lên trạng thái trở kháng cao và trả lời
DMAC bằng tín hiệu chấp nhận (HOLDA – Hold Acknowledge). Khi ó DMAC sẽ cung
cấp các tín hiệu ịa chỉ ổng thời cho bộ nhớ và vào ra, cùng với tín hiệu ọc bộ nhớ – ghi
vào ra, hoặc ọc vào ra – ghi bộ nhớ một cách ồng thời, ể truyền dữ liệu giữa bộ nhớ và
vào ra chỉ trong một chu kỳ. Khi một dữ liệu ược ọc ghi xong, bộ ếm ịa chỉ của DMAC lOMoARcPSD| 10435767
sẽ tự ộng tăng lên ể chuẩn bị thực hiện việc ọc ghi dữ liệu kế tiếp trong khối. Khi khối
dữ liệu ã truyền xong, tín hiệu yêu cầu từ DMAC sẽ hết tích cực và CPU sẽ iều khiển
hoạt ộng của hệ thống trở lại.
Bộ ịnh thời có thể lập trình (PIT – Programmable Interval Timer): là vi mạch có thể
lập trình từ CPU ể tạo ra các khoảng thời gian ể ịnh thời cho hoạt ộng nào ó của hệ thống.
Việc xác ịnh các khoảng thời gian sẽ ược tính toán và ghi vào các thanh ghi của PIT, sau
khi ược cho phép chạy, PIT thực hiện việc ếm thời gian và thông báo cho CPU khi thời gian kết thúc.
Bộ iều khiển RAM ộng, nhận ịa chỉ từ CPU sau ó cung cấp theo ịa chỉ hàng và cột
tới vùng nhớ RAM ộng ể truy cập dữ liệu theo yêu cầu của CPU. Ngoài ra các bộ iều
khiển RAM ộng còn tự ộng thực hiện các chu kỳ làm tươi theo quy ịnh cho vùng nhớ RAM ộng mà nó quản lý.
Đơn vị quản lý bộ nhớ (MMU – Memory Management Unit) là vi mạch xử lý việc
truy cập bộ nhớ yêu cầu từ CPU. Nó có chức năng chuyển ổi các ịa chỉ ảo cung cấp từ
CPU trong các chế ộ khác nhau thành ịa chỉ vật lý ể truy cập bộ nhớ.
Ngoài các bộ iều khiển thông dụng kể trên, trong một số hệ thống vi xử lý còn có các
bộ iều khiển ặc biệt khác.
Các khối mạch của hệ thống trung tâm ược kết nối với nhau bằng hệ thống các ường
dây dẫn iện, chúng ược chia thành ba nhóm chính gọi là Bus dữ liệu, Bus ịa chỉ và Bus iều khiển.
Bus dữ liệu là các ường dây sử dụng cho việc truyền dữ liệu giữa các khối, dữ liệu
này bao gồm các mã lệnh truyền từ bộ nhớ tới CPU, các hằng biến của chương trình
truyền giữa CPU và bộ nhớ, các dữ liệu iều khiển truyền giữa CPU và thiết bị ngoại vi.
Như vậy bus dữ liệu là Bus hai chiều, số lượng ường dây trên bus dữ liệu sẽ xác ịnh số
bit có thể truyền ồng thời một lần. Thông thường CPU có bao nhiêu bit sẽ có bấy nhiêu
ường trên bus dữ liệu, các ường này ược nối từ CPU tới tất cả các vi mạch nhớ các bộ
iều khiển và qua các bộ ệm tới tất cả các vào ra.
CPU có một bus ịa chỉ duy nhất ể truyền dữ liệu giữa CPU với tất cả các bộ nhớ và
vào ra và các bộ iều khiển, do ó khi một dữ liệu trên bus cần phải xác ịnh nó ược truyền
giữa CPU và vị trí nào trên hệ thống. Để xác ịnh ược các vị trí này hệ thống sử dụng bus
ịa chỉ. Bus ịa chỉ là bus một chiều có nhiều ường, ịa chỉ có thể tạo ra từ CPU, DMAC,
hay các bộ iều khiển khác cung cấp tới các bộ nhớ hay các vi mạch vào ra ể cho phép
một vị trí duy nhất trong hệ thống truyền dữ liệu. Nếu bus ịa chỉ có N ường, hệ thống sẽ
quản lý ược 2N ịa chỉ bộ nhớ, và kèm theo tín hiệu iều khiển chọn bộ nhớ hoặc vào ra hệ
thống sẽ quản lý thêm ược cực ại 2N ịa chỉ vào ra.
Bus iều khiển cung cấp nhiều tín hiệu iều khiển với các tính năng khác nhau, ể xác
ịnh các chế ộ hoạt ộng của hệ thống. Trong bus ịa chỉ có nhưng tín hiệu một chiều từ lOMoARcPSD| 10435767
CPU cấp ra, hoặc CPU nhận vào, có những tín hiệu cấp từ các bộ iều khiển, từ bộ nhớ hoặc từ vào ra.
Một số tín hiệu iều khiển iển hình trong hệ thống vi xử lý như:
- MEMRD (Memory Read): là tín hiệu từ CPU hoặc bộ iều khiển Bus cung cấp tới
bộ nhớ yêu cầu bộ nhớ cung cấp dữ liệu ể CPU lấy vào bên trong nó.
- MEMWR (Memory Write): là tín hiệu từ CPU hoặc bộ iều khiển Bus cung cấp tới
bộ nhớ yêu cầu bộ nhớ nhận dữ liệu ghi vào bên trong nó.
- IORD (Input Output Read), IOWR (Input Output Write): là tín hiệu yêu cầu ọc ghi vào ra.
- INTR (Interrupt Request): là tín hiệu yêu cầu ngắt từ bộ iều khiển ngắt hoặc từ thiết
bị vào ra cung cấp tới CPU.
- INTA (Interrupt Acknowledge): Tín hiệu chấp nhận yêu cầu ngắt từ CPU trả lời
cho thiết bị ngoại vi hoặc bộ iều khiển ngắt.
- HOLD: tín hiệu yêu cầu DMA ược DMAC gửi tới CPU yêu cầu CPU ngưng hoạt
ộng ể DMAC iều khiển quá trình truyền dữ liệu trực tiếp giữa bộ nhớ và cổng vào ra.
- HOLDA (Hold Acknowledge): tín hiệu chấp nhận yêu cầu DMA từ CPU trả lời cho bộ iều khiển DMA. - …
1.1.1.2 Thiết bị ngoại vi: Thiết bị vào, Thiết bị ra, Thiết bị vào/ra, Thiết bị lưu trữ.
Các thiết bị ngoại vi ược nối tới các cổng vào ra trong hệ vi xử lý, theo chức năng
chúng có thể chia thành hai loại chính: Các thiết bị sử dụng ể giao tiếp giữa hệ thống với
người sử dụng như bàn phím, màn hình, con chuột …. Để người sử dụng có thể tham
gia vào quá trình iều khiển hệ thống hoặc nhận các trạng thái kết quả từ hệ thống. Ngoài
ra còn có các thiết bị chấp hành sự iều khiển của hệ thống vi xử lý, ể thực hiện một công
việc nào ó như máy in ể in văn bản, máy vẽ ể in bản ồ, hay các hệ thống máy móc sản xuất khác.
Theo chiều truyền dữ liệu các thiết bị ngoại vi có thể chia thành: các thiết bị chỉ
truyền dữ liệu cho hệ thống, còn gọi là các thiết bị vào, ví dụ các phím nhấn. Các thiết
bị chỉ nhận dữ liệu từ hệ thống, còn gọi là thiết bị ra, ví dụ như các bộ hiển thị led ơn
hay led bảy oạn. Tuy nhiên, hiện nay a số các thiết bị ngoại vi là các hệ thống vi xử lý
chuyên dụng, còn gọi là các hệ thống nhúng (embed system), các hệ thống này thường
truyền dữ liệu với hệ thống chính bằng các cổng vào ra, và chúng thường truyền dữ liệu
hai chiều gọi là các thiết bị vừa vào vừa ra. Ví dụ trong hệ thống máy tính, bàn phím là lOMoARcPSD| 10435767
một hệ thống vi xử lý có nhiệm vụ nhận mã từ ma trận phím nhấn tạo ra mã quét phím
(scan code) gởi tới cổng bàn phím, ngoài ra các phím chưa ược ọc sẽ nằm trong bộ ệm
bàn phím. Máy in giao tiếp với máy tính bằng ba ịa chỉ, một ịa chỉ cho dữ liệu, một ịa
chỉ thông báo trạng thái và một cổng ể iều khiển các tính năng máy in….
Ngoài ra các thiết bị giao tiếp với máy tính còn có các thiết bị nhớ ngoài. Ổ cứng
(HDD), ổ mềm (FDD), ổ quang gắn cùng khối với hộp máy tính là các thiết bị ngoại vi
có nhiệm vụ lưu trữ dữ liệu. Các thiết bị nhớ ngoài như Flash disk, HDD box, thẻ nhớ
cũng là các thiết bị ngoại vi lưu trữ.
Một số các thiết bị vào ra cơ bản của hệ thống máy tính kinh iển có thể kể ến như:
- Các thiết bị vào cơ bản: Bàn phím (keyboard), màn hình cảm ứng (touch screen),
tấm nhấn chạm (keypad), Chuột (mouse), bi vô hướng (track ball), chuột chạm
(touch pad), Thiết bị vào ồ hoạ (Graphic input): camera, máy quét (scanner), ầu ọc
mã vạch (barcode reader), Ngõ vào âm thanh (Microphone), Giải iều chế tín hiệu
(Demodulator trong modem), Cảm biến (sensor), bộ biến ổi tín hiệu (transducer),
bộ truyền tín hiệu (transmitter), Các thiết bị vào số khác: Bộ số hoá (Digitizer), bút
quang (Light pen), cần trò chơi (joytick), ầu ọc vân tay (finger reader).
- Các thiết bị ra cơ bản: Màn hình, bộ hiển thị iểm, Led 7 oạn, LCD, ma trận led,
CRT, máy in (kim, phun, laser, thermal transfer, ploter), loa (speaker, horn …),
iều chế tín hiệu (modulator trong modem), bộ truyền ộng iện (Actuator), ộng cơ
(motor), relay, khởi ộng từ (contactor), van (valve) …
- Các thiết bị lưu trữ: Thiết bị lưu trữ từ (Băng từ, FDD, HDD, RAID), thiết bị lưu
trữ quang (CD, DVD, Magnetic optic), thiết bị nhớ bán dẫn (Flash chip, PCMCIA card).
1.1.1.3 Kỹ thuật ghép nối
Do CPU thực hiện việc iều khiển toàn bộ hoạt ộng của hệ thống, nên thường ược
thực hiện với công nghệ cao ể có tốc ộ hoạt ộng nhanh. Mặt khác, cấu trúc kết nối hệ
thống trung tâm thực hiện theo Bus. Còn các thiết bị ngoại vi thì tuỳ theo chức năng sử
dụng trong thực tế, sẽ ược thiết kế khác nhau ảm bảo sao cho giá thành hạ, sự tiện dụng
cao. Do ó giữa hệ thống trung tâm và thiết bị ngoại vi thường có sự khác nhau về: mức
tín hiệu, tốc ộ truyền thông tin, kiểu truyền thông tin …. Như vậy, ể các thiết bị ngoại vi
có thể làm việc ược với hệ thống, cần có giao tiếp (Interface) giữa chúng với hệ thống
trung tâm. Các giao tiếp ược thực hiện với hai thành phần chính là: phần cứng là các
cổng vào ra thực hiện bằng các vi mạch chuyên dụng, và phần mềm xây dựng ể thực
hiện các khung truyền dữ liệu tương ứng giữa hai bên.
Thông thường phần cứng trong một hệ thống vi xử lý sẽ bao gồm các loại như: lOMoARcPSD| 10435767
- Cổng vào ra song song: dữ liệu ường truyền ồng thời trên nhiều ường dây từ hệ
thống tới các thiết bị ngoại vi. Các vi mạch phần cứng của các cổng song song sẽ
mở ể ồng thời các ường dây dữ liệu của hệ thống trung tâm kết nối với thiết bị
ngoại vi. Do phải sử dụng nhiều ường dây ồng thời nên các cổng vào ra song song
ngày càng ít ược sử dụng, nhất là khi cần truyền dữ liệu qua khoảng các lớn. Một
số cổng vào ra song song tiêu biểu như: LPT, IDE, ….
- Cổng vào ra nối tiếp: theo một chiều truyền dữ liệu sẽ ược truyền tuần tự trên một
ường dây dẫn iện. Cổng truyền này có các ưu iểm như: tiết kiệm dây dẫn, không bị
nhiễu xuyên kênh giữa ường truyền các bit như cổng song song. Với các ưu iển
trên cổng nối tiếp hiện nay ang ược phát triển khá mạnh với các cơ chế truyền khác
nhau, các cấu hình phần cứng khác nhau. Một số cổng truyền nối tiếp thường thấy
như: cổng COM, cổng USB, cổng IEEE 1394, cổng SCSI ….
- Cổng giao tiếp tương tự: cổng này dùng ể giao tiếp với các thiết bị cung cấp tín
hiệu tương tự. Để nhận các tín hiệu tương tự vào hệ thống cần phải có bộ biến ổi
tương tự sang số (ADC – Analogue to Digital Converter), thông thường các ADC
biến ổi một mức tín hiệu tương tự thành 8, 12 hoặc 16 bit dữ liệu số cung cấp cho
CPU. Để cung cấp các tín hiệu tương tự hệ thống sử dụng các bộ biến ổi số sang
tương tự (DAC – Digital to Analogue Converter). Các giao tiếp tương tự phổ biến
như: Micro phone, loa (Speaker), nhiệt ộ CPU, …
Ngoài các vi mạch thực hiện các chức năng cổng vào ra, các cổng vào ra còn có thể
thực hiện bằng các hệ thống vi xử lý chuyên dụng còn gọi là các hệ thống nhúng. Đối
với các hệ thống máy tính, phần cứng vào ra còn có thể thực hiện bằng các vi mạch phần
cứng cắm vào các khe cắm trên bo mạch chính như: ISA, PCI, AGP, MC ….
Phần mềm iều khiển giao tiếp có thực hiện bằng các chương trình truy cập trực tiếp
vào các vi mạch phần cứng cổng vào ra. Các chương trình iều khiển cổng vào ra trên hệ
thống máy tính, hoặc các hệ thống vi xử lý chuyên dụng, cũng có thể khai thác các tài
nguyên phần mềm sẵn có trong hệ thống như: các hàm iều khiển thiết bị trong ROM
BIOS, các hàm iều khiển thiết bị của hệ iều hành DOS, các hàm iều khiển thiết bị tương
thích trong WINDOWS như các SPI và API. Ngoài ra còn có thể sử dụng các chương
trình chuyên dụng của các hãng chuyên cung cấp phần cứng và phần mềm iều khiển thiết
bị như: Siemens, Omron, ABB, …
1.1.2 Kiến trúc máy tính hiệu năng cao
Sơ ồ khối một máy tính hiện ại hiệu năng cao mô tả trên hình 1.2. Trên hình vẽ CPU
kết nối với bộ nhớ và vi mạch iều khiển bus PCI (PCI brigde) bằng bus nội (local bus).
Thông thường bộ nhớ ệm L1 (SRAM) ược chế tạo sẵn trong CPU, dữ liệu từ bộ nhớ
chính (DRAM) sẽ ược bộ iều khiển quản lý bộ nhớ (MMU), iều khiển truyền khối với lOMoARcPSD| 10435767
bộ nhớ ệm L2 và bộ nhớ ệm L1, CPU sẽ chỉ thao tác ọc ghi dữ liệu trên các bộ nhớ ệm
mà không ọc trực tiếp từ bộ nhớ chính.
Hình 1.2: Sơ ồ khối máy tính hiện ại
Bộ iều khiển bus PCI, ệm các tín hiệu từ bus nội và tạo thêm các tín hiệu cần thiết ể
giao tiếp với các thiết bị tốc ộ cao như: Bo mạch giao tiếp màn hình, giao tiếp ổ cứng
chuẩn IDE, bo mạch giao tiếp mạng nội bộ, bo mạch âm thanh, giao tiếp cổng USB ….
Ngoài ra trên bo mạch chính còn chừa sẵn các khe cắm, ể có thể cắm thêm các bo mạch
giao tiếp với các thiết bị ngoại vi khác. Để giao tiếp với các thiết bị có tốc ộ thấp, tiêu
thụ dòng lớn và ảm bảo giá thành hạ cần sử dụng vi mạch chuyển ổi từ tín hiệu bus PCI
thành tín hiệu bus ISA. Các thiết bị giao tiếp với bus này có thể kể ến như: vi mạch giao
tiếp máy in (LPT ports), vi mạch giao tiếp nối tiếp (COM ports hay Async Ports), vi
mạch giao tiếp con chuột, vi mạch giao tiếp cổng ĩa mềm, vi mạch giao tiếp bàn phím
và các khe cắm ể mở rộng khi cần thiết. Tuy nhiên trên bo mạch chủ các máy tính hiện
nay không còn sử dụng các khe cắm mở rộng cho bus ISA. lOMoARcPSD| 10435767
Hình 1.3: Sơ ồ khối máy tính Pentium
Hình 1.4: Sơ ồ khối máy tính Pentium 4
Hình 1.3 mô tả sơ ồ khối máy tính Pentium, trong cấu hình này bộ nhớ ệm L2 kết nối
với CPU qua bus riêng (cahe bus), bộ nhớ chính giao tiếp với CPU qua PCI brigde. lOMoARcPSD| 10435767
Trong sơ ồ có thêm vi mạch giao tiếp cổng SCSI, sử dụng cho việc giao tiếp với các ổ
cứng loại mới và các thiết bị chế tạo theo chuẩn này. Bàn phím, con chuột, máy in và
nhiều thiết bị khác ang dần chuyển ổi qua chuẩn giao tiếp USB.
Với cấu hình Pentium 4 việc iều khiển các loại bus ều ược tích hợp trong một vi mạch
(bridge chip). Trong hệ thống pentium 4 xuất hiện thêm bus AGP sử dụng cho giao tiếp
bo mạch màn hình tốc ộ cao, hỗ trợ mạnh cho video. Bus ATA giao tiếp với vi mạch
giao tiếp ATA, sử dụng giao tiếp với các ổ cứng và ổ DVD loại này. Bộ nhớ ệm L2 ược
tích hợp ngay trong CPU nên cache bus cũng nằm trong CPU.
Ngoài ra còn có một số bus chuyên dụng khác như VESA bus sử dụng cho bo mạch
màn hình, bus MCA ể mở rộng thiết bị, FireWire bus sử dụng cho thiết bị nội bộ hoặc
mở rộng …. Bảng 1.1 cho biết ặc tính kỹ thuật của một số bus thông dụng.
Bảng 1.1: Đặc tính kỹ thuật một số bus thông dụng 1.1.2.1 Bus nội bộ
Bus nội còn ược gọi là bus hệ thống (system bus), bus chủ (hoist bus) hay bus bộ vi
xử lý (processor bus). Bus nội bao gồm những ường kết nối giữa bộ vi xử lý với khối bộ
nhớ chính (main memory) và bộ iều khiển bus PCI (PCI brigde). Các ường tín hiệu trên
bus này, ược nối trực tiếp từ CPU tới các vi mạch nhớ và vi mạch iều khiển PCI, mà
không qua các bộ ệm bus. Độ lớn của bus tuỳ theo hệ thống có thể lên tới 64 bit ịa chỉ
và 64 bit dữ liệu, tốc ộ truyền lên tới 32 Mbps.
Ở các hệ thống hiện ại, bộ iều khiển bộ nhớ (MMU) ược tích hợp ngay trong CPU
do ó bus này ược gọi là bus bộ nhớ (memory bus), nối trực tiếp các tín hiệu từ CPU tới
các vi mạch nhớ RAM ộng và không sử dụng nối tới bộ iều khiển PCI.
1.1.2.2 Bus tốc ộ cao
Bus tốc ộ cao hay còn gọi là bus kết nối các thiết bị ngoại vi (PCI – Peripheral lOMoARcPSD| 10435767
Componant Interconnect), là bus do PCI brigde cung cấp là bus chính ể kết nối các thiết
bị phần cứng vào một hệ thống vi xử lý. Trong máy tính, các thiết bị có thể kết nối thông
qua các vi mạch phần cứng nối ghép PCI nằm ngay trên bo mạch chính, hoặc bằng các
bo mạch giao tiếp qua khe cắm PCI.
Như trong bảng 1.1, bus PCI ã ược phát triển qua nhiều thế hệ, tốc ộ truyền dữ liệu
tuỳ thuộc vào từng thế hệ có thể từ 132 MBps tới 1GBps, có kiểm tra chẵn lẻ cho ịa chỉ
và dữ liệu. Các tín hiệu iều khiển ược thiết kế ể chương trình phần mềm có thể tự nhận
dạng các thiết bị phần cứng cắm vào hệ thống, thực hiện tính năng cắm là chạy (Plus
and Play). Bus PCI ược sử dụng cho khá nhiều các hệ thống máy tính chuẩn như IBM,
Dec Alpha, Power PC, Spark ….
1.1.2.3 Bus mở rộng
Bus mở rộng hay còn ược gọi là bus chuẩn (standard bus) hay bus vào ra (I/O bus) là
bus ược thiết kế cho các thiết bị hoạt ộng với tốc ộ thấp. Các thiết bị cũng có thể giao
tiếp thông qua các vi mạch nằm ngay trên bo mạch chính, hoặc qua các bo mạch giao tiếp trên các khe cắm.
Các bus mở rộng thực tế bao gồm: bus ISA ược thiết kế bởi IBM năm 1981, vào năm
1983 nó trở thành bus mở rộng cho máy tính PC XT, năm 1984 trở thành bus mở rộng
16 bit cho máy tính IBM AT và năm 1988 ược mở rộng thành chuần EISA với
32 bit. Năm 1987, IBM còn phát triển bus mở rộng MCA (Micro Channel Architecture)
với tốc ộ cao hơn, tuy nhiên ây là một chuẩn óng không ược công bố ể sử dụng cho người sử dụng.
1.2 HOẠT ĐỘNG CỦA HỆ THỐNG
1.2.1 Lưu ồ tổng quát
Hoạt ộng của hệ thống ược thực hiện bằng lưu ồ tổng quát như trên hình 1.5. Khi hệ
thống bắt ầu ược cấp nguồn hoặc khi hệ thống bắt ầu ược khởi ộng lại (reset). Trước hết
bộ ếm chương trình và các vector ịa chỉ hệ thống ược thiết lập lại giá trị mặc ịnh. Ngoài
ra hệ thống còn thực hiện các chương trình thiết lập khác cho qui trình reset.
Tiếp theo CPU lấy mẫu yêu cầu DMA tại ngõ vào của nó, nếu có yêu cầu DMA CPU
sẽ ngưng hoạt ộng ể quá trình DMA ược thực hiện. Khi không có yêu cầu DMA, hoặc
khi DMA ã ược thực hiện xong, CPU kiểm tra các yêu cầu ngắt. Với các ngắt che, CPU
kiểm tra cờ che ngắt, nếu cờ che ược thiết lập ở tình trạng cho phép, hoặc ối với các ngắt
không che, CPU sẽ chuyển iều khiển qua hoạt ộng ở chương trình phục vụ ngắt. Khi
không có ngắt, hoặc khi chương trình phục vụ ngắt ã ược thực hiện xong, CPU sẽ thực
hiện các lệnh của chương trình chính. Quá trình thực hiện một lệnh bao gồm các công
việc: lấy lệnh từ bộ nhớ, giải mã lệnh ể xác ịnh công việc cần thực hiện và thực hiện lệnh lOMoARcPSD| 10435767
ó và lưu trữ kết quả của lệnh. Khi thực hiện xong một lệnh, quá trình hoạt ộng của CPU
sẽ ược lặp lại từ bước kiểm tra yêu cầu DMA.
1.2.2 Thiết lập lại hệ thống - Reset
Quá trình thiết lập lại hệ thống (reset) sẽ xảy ra do các nguyên nhân sau: Hệ thống
ược cấp nguồn lần ầu, nguồn hệ thống bị ngưng cung cấp sau một khoảng thời gian sau
ó ược cung cấp trở lại, khi reset cứng hệ thống bằng cách cung cấp tín hiệu xung tới ngõ
vào reset của CPU, hoặc khi khởi ộng lại bằng phần mềm.
Khi xảy ra reset, thông thường CPU sẽ thực hiện một chương trình ghi sẵn trong bộ
nhớ ROM, tuỳ theo hệ thống cụ thể chương trình này có thể ược gọi là: chương trình
giám sát (monitoring), phần dẻo (firm ware) hoặc trên máy tính nó ược gọi là chương
trình iều khiển vào ra cơ sở của hệ thống (BIOS – Base Input Output System). Chương
trình này sẽ thực hiện quy trình tự kiểm tra khi bật nguồn (POST – Power On Self Test).
Hình 1.5: Lưu ồ tổng quát hoạt ộng của hệ thống vi xử lý
Qui trình POST thường thực hiện các công việc như: -
Xác nhận nguyên nhân gây ra reset ể thực hiện các quy trình xử lý thích hợp. -
Tìm kiếm và kiểm tra dung lượng các loại bộ nhớ của hệ thống trung tâm, thông
báo kết quả kiểm tra và lỗi. lOMoARcPSD| 10435767 -
Tìm và chạy các chương trình khởi tạo các tham số hoạt ộng cho các vi mạch
iều khiển bus, các bộ iều khiển (controller), các vi mạch iều khiển các cổng vào
ra và các thiết bị trong hệ thống. -
Tìm nạp hệ iều hành từ bộ nhớ ngoài và chuyển iều khiển hệ thống cho hệ iều hành.
1.2.3 Lấy lệnh và thực hiện lệnh
Hệ thống vi xử lý hoạt ộng bằng cách thực hiện các chương trình. Các chương trình
là tập hợp các lệnh ược sắp xếp theo một giải thuật hợp lý ể thực hiện một nhiệm vụ nào
ó. Thực hiện một lệnh có nghĩa là CPU thực hiện một chức năng xử lý cơ bản trên các
dữ liệu nhị phân. Trước khi ược thực hiện, các chương trình phải ược chuyển vào bộ nhớ
của hệ thống trung tâm. Việc chuyển chương trình vào bộ nhớ trung tâm có thể thực hiện
bằng nhiều cách như: ghi vào các bộ nhớ ROM bằng các hệ thống ghi dữ liệu. Truyền
từ các thiết bị nhớ (HDD, CD-ROM, Flash disk …) vào vùng nhớ RAM của hệ thống
trung tâm. Truyền tới từ một hệ thống vi xử lý khác, ví dụ như truyền từ máy tính xuống PLC….
Khi hoạt ộng CPU sẽ lặp i lặp lại việc thực hiện các công việc: lấy lệnh, giải mã lệnh,
thực hiện lệnh và lưu trữ kết quả. Để lấy lệnh, CPU cần cung cấp ịa chỉ và tín hiệu iều
khiển ọc cho bộ nhớ và mã lệnh sẽ ược lấy vào trong CPU chứa vào thanh ghi lệnh (hay
hàng ợi lệnh). Địa chỉ lấy lệnh ược CPU giữ trong bộ ếm chương trình (PC – Program
Counter) và cung cấp ra bus ịa chỉ, sau khi lấy một ô nhớ lệnh PC sẽ tự ộng tăng lên 1 ể
chuẩn bị lấy vào ô nhớ kế tiếp. Khi có cơ chế chuyển iều khiển chương trình PC sẽ ược
thay ổi ể CPU lấy lệnh tại vi trí mới trong bộ nhớ.
Dữ liệu do lệnh cung cấp sẽ ược cung cấp tới các mạch iện tử phần cứng bên trong
CPU ể cho kết quả cần thiết. Các loại lệnh mà CPU thực hiện có thể chia thành ba nhóm chính là: -
Các lệnh di chuyển dữ liệu thực hiện việc di chuyển dữ liệu hai chiều giữa: các
thanh ghi bên trong CPU, giữa CPU và bộ nhớ, giữa CPU và vào ra. -
Các lệnh xử lý dữ liệu thực hiện các phép biến ổi dữ liệu nhị phân theo các hàm
số học và logic như: cộng, trừ, nhân, chia, and, or, xor, not hay quay dịch dữ liệu. -
Các lệnh iều khiển bao gồm: các lệnh nhảy, các lệnh rẽ nhánh, các lệnh chương
trình con và các lệnh iều khiển hoạt ộng của CPU. lOMoARcPSD| 10435767
1.2.4 Ngắt - Interrupt
Ngắt là cơ chế cho phép CPU ngưng thực hiện một chương trình hiện tại, ể chuyển
qua hoạt ộng với một chương trình con khác gọi là chương trình phục vụ ngắt
(ISR – Interrupt Service Routine). Trong hệ thống vi xử lý các ngắt sẽ xảy ra trong các trường hợp: -
Xảy ra lỗi khi thực hiện các lệnh của chương trình (lỗi chia cho 0, lỗi tràn số
…), quá trình ngắt ể xử lý các lỗi này thường ược gọi là các ngoại lệ (exception). -
Xảy ra lỗi phần cứng do sự hư hỏng bus hay các vi mạch iện tử trong hệ thống.
Các ngắt này thường cũng ược gọi là các ngoại lệ. -
Khi các bộ iều khiển cổng vào ra yêu cầu ược phục vụ: ở các ngắt này các cổng
vào ra khác nhau sẽ có các chương trình phục vụ riêng, và CPU cần tính
toán ại chỉ ể chuyển hoạt ộng tới chương trình ngắt thích hợp. Các ngắt này ược
gọi là các ngắt phần cứng. -
Khi chương trình chính thực hiện lệnh gọi chương trình ngắt, ngắt này thường
ược gọi là ngắt mềm.
Các ngắt phần cứng bao gồm hai loại chính là ngắt có che ược bằng phần mềm (INT
– Interrupt), và ngắt không che ược bằng phần mềm (NMI – Non Maskable
Interrupt). Với ngắt INT, khi có yêu cầu ngắt CPU sẽ kiểm cờ ngắt (IF – Interrupt Flag),
nếu cờ ngắt ược thiết lập ISR sẽ ược thực hiện, còn nếu không yêu cầu ngắt sẽ bị bỏ qua,
CPU vẫn tiếp tục hoạt ộng trên chương trình hiện tại. Đối với NMI, CPU bắt buộc phải
ngưng chương trình hiện tại ể chuyển qua ISR.
Trước khi chuyển iều khiển qua chương trình phục vụ ngắt, CPU lưu lại các thông
tin cần thiết của chương trình hiện hành bao gồm bộ ếm chương trình và các cở trạng
thái. Các thông tin này sẽ cho phép CPU tiếp tục hoạt ộng thực hiện nhiệm vụ ang bỏ
dở, của chương trình hiện hành, sau khi thực hiện xong chương trình ngắt. CPU sẽ ngưng
thực hiện chương trình ngắt phục hồi các thông tin lưu trữ ể quay về chương trình chính
khi gặp lệnh kết thúc chương trình ngắt (IRET – Interrupt Return).
1.2.5 Thâm nhập trực tiếp bộ nhớ - DMA
Trong máy tính, chu kỳ thâm nhập trực tiếp bộ nhớ (DMA – Direct Memory Access)
ể thực hiện việc truyền dữ liệu trực tiếp giữa thiết bị vào ra và bộ nhớ chính, mà không
thông qua CPU. Nếu không có DMA, khi muốn lấy một dữ liệu từ vào ra ghi vào bộ
nhớ, hoặc ngược lại từ bộ nhớ ghi tới vào ra, CPU phải thực hiện một chu kỳ ọc dữ liệu
vào bên trong nó, và một chu kỳ ghi dữ liệu từ bên trong nó ra ngoài. Công việc này sẽ
rất gây mất thời gian khi cần truyền một khối dữ liệu lớn như ọc một tập tin từ ổ cứng
vào bộ nhớ. Khi có DMA, bộ iều khiển DMA (DMAC – DMA controller) sẽ yêu cầu lOMoARcPSD| 10435767
CPU ngưng hoạt ộng, DMAC sẽ cấp ịa chỉ ồng thời hai tín hiệu ọc vào ra (IORD) và ghi
bộ nhớ (MEMWR), ể thực hiện việc ọc vào ra và ghi trực tiếp tới bộ nhớ mà không
thông qua trung gian. DMAC cũng có thể thực hiện việc ọc bộ nhớ và ghi trực tiếp tới vào ra.
DMA thường sử dụng truyền dữ liệu từ các thiết bị lưu trữ ngoài với bộ nhớ chính,
hoặc giữa bộ nhớ chính và các thiết bị vào ra truyền khối dữ liệu khác như các thiết bị mạng.
1.2.6 Các trạng thái hoạt ộng của hệ thống
Các trạng thái hoạt ộng của hệ thống vi xử lý bao gồm: ọc ghi bộ nhớ, ọc ghi vào ra,
thực hiện cuh kỳ áp ứng ngắt, thực hiện chu kỳ áp ứng DMA, trạng thái chờ và trạng thái bus rỗi.
Khi ọc bộ nhớ CPU cung cấp ịa chỉ, cấp tín hiệu ọc bộ nhớ (MEMR) và nhận dữ liệu
từ bộ nhớ vào các thanh ghi bên trong nó. Khi ghi dữ liệu, CPU cung cấp ịa chỉ, cung
cấp dữ liệu và cấp tín hiệu yêu cầu ghi bộ nhớ, dữ liệu sẽ ược lưu trữ vào ô nhớ chỉ ịnh.
Tương tự với các chu kỳ ọc ghi vào ra CPU sẽ cấp các tín hiệu yêu cầu ọc vào ra (IOR)
hoặc ghi vào ra (IOW). Tuy nhiên, các chu kỳ ọc ghi bộ nhớ và vào ra này sẽ diễn ra
trong nhiều chu kỳ xung nhịp, nếu tốc ộ CPU quá cao mà bộ nhớ và vào ra không áp
ứng kịp, thì chúng phải có trách nhiệm thông báo cho CPU biết, ể CPU chèn thêm các
trạng thái chờ vào chu kỳ ọc ghi. Hình 1.6:
Các chu kỳ ghi vào ra (a) và ghi vào ra có trạng thái chờ (b)
Hình 1.6a mô tả một chu kỳ ghi dữ liệu tới vào ra không có trạng thái chờ. Tại chu
kỳ xung nhịp thứ nhất CPU cung cấp ịa chỉ (Addr). Tới chu kỳ xung nhịp thứ 2 nó cung
cấp tín hiệu ghi vào ra (IOW xuống mức 0), và cung cấp dữ liệu ra bus (Data). Dữ liệu
và IOW sẽ ược giữ nguyên trạng thái cho ến xung nhịp thứ 4, ể hoàn tất chu kỳ ghi dữ
liệu tới vào ra trong 4 chu kỳ xung nhịp của CPU, khi tín hiệu sẵn sàng (Ready) cung lOMoARcPSD| 10435767
cấp từ vào ra luôn giữ nguyên trạng thái mức 1 trong suốt chu kỳ ghi. Trong chu kỳ ghi,
tại chu kỳ xung nhịp thứ 3, CPU sẽ kiểm tra trạng thái của ngõ vào Ready. Nếu ngõ vào
này không còn ở mức tích cực (mức 1), CPU sẽ hiểu là vào ra chưa nhận kịp dữ liệu, và
nó sẽ chèn thêm các xung nhịp chờ cho ến khi tín hiệu ready tích cực trở lại (hình 1.6b).
Ngoài các trạng thái làm việc với thế giới bên ngoài như ọc ghi bộ nhớ, ọc ghi vào ra
và DMA, khi thực hiện các lệnh xử lý ngay bên trong CPU, các tín hiệu kết nối với bên
ngoài của nó sẽ ở trạng thái không tích cực, trạng thái này ược gọi là trạng thái bus rỗi (bus idle).