Cấu trúc của một mạch nhớ đọc/ghi tĩnh SRAM

Một phần của tài liệu kiến trúc máy tính giới thiệu chung về máy tính điện tử (Trang 52 - 151)

Tậphợpcủanhiềuthanhghitrongmộtmạchviđiệntửgọilàmạchnhớ.

a.Cácthànhphầnbảncủamộtmạchnhớ

Tậphợpcácônhớ

Cácônhớđượctổchứctheo2 phươngpháp

Phương phápchọntuyếntính(linearSelection)

-Tổchứctheotừ -Sốhàngbằngsốtừ

-Phảicóbộgiảimã1từnđểcó1đầuraduynhấttừmộttổhợp nđầuvào - Mạchnhớkiểu chọntuyến tínhchỉ có1 bộgiải mã hàngnhưngbộ giảimã phứctạp,giáthànhcao.

-Thờigianthâmnhậpnhanh

-Phươngphápnàychỉdùngvới bộnhớdunglượngnhỏ.

Phương phápchọntrùnghợp(CoincidentSelection)

Ônhớchỉđượcchọnnếuđồngthờiđượcchọnhàngvàcột. -Cácbộgiảimãđơn giảngiáthànhrẻ

523

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST

-Thời gian thâm nhập dài hơn (chậm). Giải mã gồm hai bước giải mã hàng trước,giảimãcộtsau

Phươngphápnàydùngchocácmạchnhớ dunglượnglớn Bộgiảimãđịachỉchophépchọntớitừngônhớ(DEC)

Phầnlogicđọcghi(L.R/W)chophépđọc/ghinộidungcủatừngônhớ

Bộđệm địa chỉ (MAR)và đệm số liệu (MDR)cho phép ghép nốimạch nhớ vớicácmạchlogickháchayghépcácmạchnhớ(vớinhautronghệthống máyvitính).

Phầnchọnmạch chophép mởrộng dunglượng bộnhớ(CS)bằng cáchghép nhiềumạchnhớvới nhau.

b.Cáctínhiệu củamạchnhớ1kB

-ĐịachỉA0...A9(Sốônhớ cóthểđịachỉ210=1024) -Tínhiệuđọc MRDđưanộidungcủaônhớ raMDR -TínhiệughiMWRghisốliệuvàomộtônhớ

-CStínhiệuchọnmạch

c.Quátrìnhđọcghimạchnhớ

Quátrìnhđọcmạchnhớ

CPUđưađịachỉvàomạchnhớ(A0...A9) ĐưatínhiệuCSvềtíchcực(CS=0) Đưatínhiệuđọcvềtíchcực(MRD=0)

SauthờigianthâmnhậptA,nộidungcủaônhớcầnđọcsẽởđầuraD0... D7.

Quátrìnhghimạchnhớ

-CPUđưađịachỉcủaônhớcầnghivàomạchnhớ (A0...A9) -ĐưatínhiệuCSvềtíchcực(CS=0)

-ĐưasốliệuvàoD0... D7

-Ra lệnhghi đưatínhiệu MWR về tíchcực, sốliệu từD0...D7 được ghivào ô nhớcóđịachỉởA0...A9

3.2.2. Nguyêncấutrúc củamộtmạchDRAM

533 (adsbygoogle = window.adsbygoogle || []).push({});

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST

Cấu trúccủa mạchnhớ DRAM so vớimạchnhớSRAM cócác đặctính như thường tổchứctheobit(haycụũmbit)vàđịachỉtổchứctheokiểudồnkênh.

VídụmạchDRAM1Mbit, cần20đườngđịachỉA0...A19

Đểtiếtkiệmchânnốingườitadùngphươngphápdồnkênh(Multiplex) A0...A9địachỉhàngchọnbởiRAS(Row Address Strob)

A10...A19 địachỉcộtchọnbởiCAS(ColumnAddressStrob)

Mạch nhớDRAMđược làm tươi khiđọc dữliệu, ghi dữliệu, haybằng cách làmtươicảhàng...

Trong ví dụ trên mạch nhớ có dung lượng 1Mbit, để được bộ nhớ có dung lượng 1MBphảighép8mạchnhớ1Mbitvớinhau.

Để xây dựng bộ DRAM đòi hỏi điều khiên phức tạp hơn nên trong công nghiệp, người ta đã sản xuất ra các mạch điều khiển DRAM. Ví dụ mạch điều khiển bộnhớDRAM82C212 cókhả năngquảnlý 4băngnhớ DRAM, độrộng16 bitvà2bitkiểmtrachẵnlẻ.

CácthôngsốcơbảncủamạchDRAMđược môtảtrênhình3.9

TraslàthờigiantừkhitínhiệuRAStrở thànhtíchcựcchotớikhisốliệu ổnđịnh ởđầura

Tcaslàthờigian từkhitínhiệuCAStrở thànhtíchcựcchotớikhisốliệuổnđịnh ởđầura

Tpr làthờigiantừkhisốliệuổnđịnhchotớikhicóthểthayđổitínhiệuRASđể đọcsốliệutiếptheo

TrasclàchokỳđọcmạchDRAM

543

Addrsửdụngcho1Mbits:A0-A19,chiatheoROWvàCOLUM

3.2.3.TổchứccácmạchDRAMthànhcácModul

TrongmáyvitínhcácmạchDRAMđượcghépthànhcácModulnhớnhư: SIMM(SingleIn-lineMemoryModul)

DIMM(DoubleIn-lineMemoryModul). RIMM(RamBusIn-lineMemoryModul)

CácmạchDRAMđượcsửdụnglà: SDRAM(SynchronousDRAM) DDR(DoubleDataRate)

DDR2(DoubleDataRate2).

553

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST CHƯƠNGIV

CÁCPHƯƠNG PHÁP VÀO/RASỐ LIỆU

Hệthốngvào/ra(hình4.1) gồm: -Cácthiếtbịvào/ra

-Cácbộghépnốivào/ra

Trong bộ ghép nối vào/ra các thanh ghi dữ liệu các thanh ghi điều

khiển vàtrạng thái. Các thanh ghinày còn gọilà cổng vào/ra. Các cổngnày được

4.1.Phươngphápvào/rasố liệu doCPUchủđộng

Vào/ra do CPU chủ động còn gọi là vào/ra điều khiển bằng chương trình đượcchiathànhhainhóm:

-Vào/rasốliệubằngchươngtrìnhkhôngđiềukiện -Vào/rasốliệubằngchươngtrìnhcóđốithoại. (adsbygoogle = window.adsbygoogle || []).push({});

563

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST

4.1.1. Vào/rasốliệukhông điềukiện

Vào/rasốliệukhôngđiềukiệncócácđặcđiểmnhư: -CPUchuyểnsốliệuthôngquachươngtrình

-CPUgiảthiếtTBvào/raluônsẵnsàngchuyểnsốliệu

- Việc chuyểnsố liệu được thực hiện giữacác thanh ghi của CPU(ACC) và thanhghi(cổng)củaTBvào/ra

a.Vàosốliệu(hình4.3)

Trong thiếtbịvào/racóthanhghisốliệusốliệukýhiệuDATA.R.

573

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST

Cácbước thựchiện:

-CPUđưaraBUSđ/cđịachỉcủathanhghiDATA.R -CPUđưaraBUSđ/ktínhiệuIORD

- Số liệu từ DATA.R được đưa vào BUS số liệu và dưới tác động của tín hiệu IORDvàđượcđưavàoACCcủaCPU

b.Rasốliệu(hình4.4)

-CPUđưađịachỉcủaTBvào/raraBUSđ/c -CPUđưasốliệucầnghiraBUSs/l

-CPUđưatínhiệuIOWRraBUSđ/k

- Dướitác độngcủa tínhiệuIOWR sốliệuđược ghivào thanh ghiDATA.R của thiếtbịra.

Cơ chế này có hạn chế vì CPU ra lệnh đọc (IORD) hay ghi (IOWR) mà không kiểmtraxemthiếtbịvào/racósẵnsànggửihaynhậnsốliệuhaychưa.

Trong hầu hết các máy tính việcchuyển số liệu được thể hiện qua lệnh vào ra riêng:

IN XXX

địachỉthiếtbịvào OUT XXX

địachỉTBra

4.1.2. Vào/rasốliệuđốithoại

Trong thiết bị vào/ra ngoài thanh ghi số liệu còn có thanh ghi trạng thái (Status.R) đểthôngbáo TBvào/rađãsẵnsàngchuyểnsốliệuchưa.

583

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST

a.Vào sốliệuđốithoại(hình4.5)

-CPUđưađịachỉcủathanhghi trạngtháiSTATUS.RraBUSđ/c -CPUđưatínhiệuđọcIORDraBUSđ/k

-NộidungcủaSTATUS.R chuyểntớiBUSs/lvàđược đưavàoACCcủaCPU -CPU phân tích xemthiết bịvào/ra đã sẵn sàngchưa. Nếu sẵn sàngthì CPU ra lệnhđọcsốliệu,nếuchưathì quayvềchờ.

593 (adsbygoogle = window.adsbygoogle || []).push({});

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST

b.Rasốliệuđốithoại(hình4.6)

Cácbước thựchiện:

-CPUđưaIORDraBUSđ/k

-NộidungcủathanhghiSTATUS.RđưavàoBUSs/lvàđược đưavàoACCcủa CPU

-CPUphântíchnộidungcủaACC,cóhaitrườnghợpxảyra: .NếuTBvào/rasẵnsàng,CPUđưasốliệuraTBvào/ra

.NếuTBvào/rachưasẵnsàngCPUquayvềđọcthanhghitrạngthái.

Trong phương pháp vào/ra có đối thoại, nếu thiết bị vào/ra chưa sẵn sàng nhậnhaygửisốliệuthì CPUphảichờ. Nóicáckhácphương phápnàygâylãng phí thờigiancủa CPU.Để giảm bớt thờigian chờ,CPU cóthể dùng phương pháphỏi vòngcácTBvào/ra

c.Vào/rasốliệuđốithoạibằngphương pháphỏivòng(hình4.7)

Vídụ:CPUquảnlý8TBvào/raTB0...TB7

Phương pháp này có ưu điểm là giảm bớt thời gian chờ của CPU nhưng việc đáp ứng yêu cầu chuyển số liệu của các thiết bị là không đều nhau, không có

603

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST

khả năng đáp ứng yêu cầu tức thờicủa thiết bị. Nhược điểm này có thể được khắc phụcbằngphươngphápvào/radothiếtbịvào/rachủđộng.

4.2.Phương phápvào/rasốliệudothiết bịvào/rachủđộng

4.2.1.Nguyênvào/rabằngngắt (hình4.8 hình 4.9)

Nhữnghạn chế của phương pháp vào/ra bằng chương trình được khắc phục bằng phương pháp vào/ra bằng ngắt. Trong phương pháp này TB vào/ra chủ động khởiđộngquátrìnhvào/rasốliệu.

Quátrìnhthựchiệnngắt:

613

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST

-CPUhoạtđộngbìnhthường

- Khi TB vào/ra sẵn sàng chuyển số liệu sẽ gửi yêu ngắt tới CPU bằng tín hiệuINTR(InterruptRequest)

-CPUthựchiệnnốtlệnhđangthựchiệntrướckhitrảlời

- Xác định ngắt và trả lời thiết bị vào/ra bằng tín hiệu INTA (Interrupt Acknowledgement)

-ĐẩyPSW(ProgramStateWord)vàPC(ProgramCounter)vàongănxếp TBvào/ra thôngqua bộđiều khiểnngắt chobiết địachỉ củachương trình conphục vụngắt. CPUnạpđịachỉnàyvàoPC.

- CPU nhảy đến chương trình con phục vụ ngắt (Interrupt Service Routine) ISR

- Chương trình ISR sẽ đẩy các thanh sẽ bị thay đổi trong chương trình con vàongănxếp.

- Chương trình ISR sẽ thực hiện việc chuyển số liệu giữa TB vào/ra và bộ nhớquaCPU(ACC).

-Saukhichuyểnsốliệuxong,CPUkhôiphụccácthanhghi

tiếpnhiệmvụtrướckhicóngắt. (adsbygoogle = window.adsbygoogle || []).push({});

(VẽkiểukhácvớiInterruptControlerI-8259!)

623

Bằng phươngphápngắt thiếtbịvàorađược phụcvụtheo yêucầucủachúng nên thường sử dụng trongcác ứng dụng thờigian thựcđòi hỏi thờigian khởi động phụcvụngắn.

Vídụ:

Hệthốngbáođộng(từđầucảmbiếnđiềukhiểnlòhơikhinhiệtđộvượtngưỡng) Đồnghồthờigianthực

Báolỗiphầncứng Báomấtnguồnnuôi Báolỗitrongtruyềntin

Mộtsốkháiniệmkhác

- Ưu tiên:Trong cùng một thời điểm có thể có nhiều yêu cầu ngắt nên máy tính (CPU) phải có phương pháp để lập thứ tự phục vụ ngắt đảm bảo cho việc vào/rasố liệucủatoànhệkhôngbịxáotrộn.Thôngthường mỗithiệtbịvào/rađược

633

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST

gắn một mức ưu tiên. Tuỳ theo mức ưu tiên mà CPU xác định thứ tự phục vụ cho cácthiếtbịvào/ra.

- NMI(Non Maskable Interrupt)là yêucầu ngắttức thời,không cấm vàcho phépđượcbằngphầnmềmđược.

- Ngắt mềm dùng lệnh (INT) để gọi các chương trình phục vụ ngắt của hệ thống.

4.2.2. Nguyênthâmnhậpbộnhớtrựctiếp(DMA: DirectMemoryAccess)

Trong cácphương phápvào/ratrìnhbàytrêncócácnhượcđiểmsau:

-Vào/rabằngchươngtrìnhphảichuyểnsốliệugiữathiếtbịvào/ravàbộnhớ thôngquaACC(hình4.10)

Sử dụngphươngphápvào/rađiềukhiểnbằngchươngtrìnhtathấy: -Việcvào/rasốliệuđềuquaACCcủaCPU

-MuốnđọcsốliệutừTBvào/ravàobộnhớphảiqua2bước

(DATA.R)

→ACC

(ACC)

→MEM

-MuốnđưanộidungcủaônhớtớiTBvào/racũngphảiqua2bước

(MEM)

(ACC)

→DATA.RcủaTBvào/ra

Như vậy việc chuyển số liệu giữa thiết bị ngoại vi và bộ nhớ cần hai bước, tốcđộchậm.

Phươngpháp vào/rabằngngắtbảođảm thiếtbịvào/rađượcphụcvụgầnnhư tức thời (trong thời gian ngắn). Nhưng trong chương trình con phục vụ ngắt, quá trìnhchuyểnsốliệuđượcthựchiệnbằngchươngtrìnhnêntốcđộchậm.

643

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST (adsbygoogle = window.adsbygoogle || []).push({});

Phương pháp vào/ra thâm nhập bộ nhớ trực tiếp DMA (Direct Memory

Access) (hình 4.11) khắc phục các nhược điểm trên. Phương pháp này chuyển số liệuvớibộnhớ khôngquaACCcủaCPU

Chương trìnhcon đểchuyển sốliệu giữaTBvào/ra vàbộnhớ được thay đổi bằng đơn vị điều khiển đặc biệt bằng phần cứng DMAC (Direct Memory Access Controller).

QuátrìnhthựchiệnDMA:

653

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST

CPUlàmviệcbìnhthường

Khithiếtbịngoạivimuốnchuyểnsốliệutrựctiếpvớibộnhớ thìgửiyêucầu tớiDMACquatínhiệuDRQ(DMAReqest)

BộđiềukhiểnDMACchuyểnyêucầunàytớiCPUquatínhiệuHOLD CPU thực hiện nốt chu kỳ máy đang thực hiện, treo BUS và trả lời DMAC

bằngtínhiệuHLDA.

DMACtrảlờithiếtbịvào/rabằngtínhiệuDACK,làmchủBUSsinhra -BUSđ/c(Cáctínhiệuđịachỉ)

-Cáctínhiệuđiềukhiển

-ĐiềukhiểnchuyểnsốliệugiữabộnhớvàTBvào/ra Sốliệuchuyểngiữabộnhớvàthiếtbịvào/rathường làcảmộtkhối.

Khi chuyển xong số liệu DMAC đưa tín hiệu TC (Terminal Count) thành tíchcựcđểbáomộtquátrìnhDMAkếtthúc

Có thể minh họa hoạt động của phương pháp vào/ra số liệu bằng DMAnhư

663

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST 4.3.Địachỉthiếtbị vào/ra

Bộ nhớ là tập hợp các thanh ghi, quá trình chuyển số liệu giữa CPU và bộ nhớ thựcchấtlàquátrìnhchuyểnsố liệugiữacácthanhghiACC củaCPUvàcácô nhớ.

Trong các thiết bị vào/ra đều có thanh ghi số liệu, việc chuyển số liệu giữa CPUvàTBvào/rathựcchấtcũnglàchuyểnsốliệugiữacácthanhghi.

Trong nhiềuhệmáytínhcókhảnăngcó +địachỉriêngchoTBvào/ravà +địachỉriêngchobộnhớ

Cáchệthốngnhưvậygọilàhệthốngcóvào/ratáchbiệt. Cáchệthốngnàythườngcólệnhvào/rariêng.

IN XXX

địachỉthiếtbịvào OUT XXX

địachỉTBra

Trong một số trường hợp (đặc biệt là các hệ vi xử lý họ MOTOROLA) không có không gian địa chỉriêng cho TB vào/ramà phải dùng không gianđịa chỉ

củabộnhớthaychokhônggianđịachỉTBvào/ra.

Trong các hệ thống này một số ô nhớ đặc biệt không dùng như ô nhớ mà dùng như các thanh ghi cho TB vào/ra. Các ô nhớ này còn gọi là các ô nhớ giả (Pseudo). Quátrình chuyểnsố liệu giữaCPU vàTB vào/ra được thựchiện nhờ các lệnhchuyểnsốliệugiữaCPUvàbộnhớ.

673

KiếntrúcMáytính NVTam,HTCước.IOIT,VAST CHƯƠNG V

CẤUTRÚC CỦAĐƠNVỊ XỬLÝTRUNGTÂM (adsbygoogle = window.adsbygoogle || []).push({});

5.1.HọVi xửlý Intel80x86

Với sự tiến bộ của công nghệ vi điện tử, toàn bộ CPU được cấy bên trong một mạch vi điện tử. Mạch vi điện tử như vậy còn gọi là Microprocessor (MPU), (MP). Họ vi xử lý Intel 80x86 được sử dụng để xây dựng dòng máy tính cá nhân IBM-PC (Personal Computer), được sử dụng rộng rãi nhất hiện nay. Bảng sau đây sẽgiớithiệuquátrìnhpháttriểnvàtínhnăngcơbảncủahọvixửlýIntel80x86.

PC/AT Compatibility

→ Pentiu m → Pro Pentiu m → II Pentiu m → 4 Addr-BUS 20 24 32 32 32 36 36 36 VIRTUAL SIZE 1 MEG 16 MEG* 4 GIG* 4 GIG* 4GIG* 64 GIG* 64 GIG* 64 GIG* MEMSIZE NA 1GIG 64 TERA 64 TERA 64 TERA 64 TERA 64 TERA 64 TERA D-BUS REGSIZE 8 16 32 32 64 64 64 64 16 16 32 32 32 32 32 32 4 4 6 6 6 6 6 6 #SEG.REG S 8087 80287 80387 On Chip On Chip On Chip On Chip On Chip MATH 4.77,8 8,12 16,25, 33 33,50 50,60, 66 60,66 66,100 100/40

Một phần của tài liệu kiến trúc máy tính giới thiệu chung về máy tính điện tử (Trang 52 - 151)