Phân loại các hệ thống máy tính theo kiến trúc Ngoàinguyên lý máy trìnhtự theoVonNeumann, tronggiai đoạn gần đâycòn phát triểncác máy tính theo nguyên lý song song.Theo MichaelFlymn có t
Trang 1Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
CHƯƠNG I GIỚI THIỆU CHUNG VỀ MÁY TÍNH ĐIỆN TỬ
1.1.Sự ra đời và phát triển của máy tính
Trướccôngnguyênđãxuấthiện cáccôngcụxửlýsốđểtínhtoáncácvấnđề
sốhọc
Giữa thế kỷ 17 nhà bác học Pháp B.Pascal (1823-1662) đã có nhiều đónggóptrong cơgiớihóatínhtoánsốhọc.Ông đãlàmramộtmáytínhmớivớinguyên
lý mới “bánhxe răng cưa” Các bánh xe của Pascal có 10 vị trí(từ 0-9) và xếp đặt
kếtiếpnhau.Cácmáynàygiúpchoviệctínhtiềnđượcnhanhchóng
Tiếp theo đó nhà bác học Đức Leibniz (1646-1716) đã chế ra máy tính cơhọccóthểnhânvàkhaicănbậc2
Thế kỷ 19: Nhà bác học Anh C.Babbage (1791-1871) đã nghĩ đến tự độnghóa các máy tính cơ học, tự động thực hiện liên tiếp các phép tính Máy củaBabbage cầndùng băngđụclỗ đểxác địnhphéptính thựchiện Kiểumáy tínhnàyđược gọilà máy tínhchương trìnhngoài (ngược vớimáy tính hiệnnay là máy tínhchương trình trong) thực hiện luôn một loạt phép tính cố định trong một chươngtrình.MáytínhnàyđãcóđủCPU,bộnhớvàthiếtbịvào/ra
Trong thế chiến lần thứ 2, nhiều hãng và trương đại học ởMỹ đã xây dựngcácmáytínhbằngrơledựatrênnguyênlýBabbage
John Mauchly và học trò J Presper Eckert ở trường Đại học Pennsylvaniatheo yêu cầu thiết kế máy tính để tính đường đạn.Mauchly gặpAtanasoff-1941 và
sửdụng nguyênlýmáyABC (Atanasoff-BerryComputer,máy tínhđưara1930)đểphát triển và đưa ra máy tính ENIAC (Electronic Numerical Integrator andCalculator, năm 1943- 1946) Máy tính ENIACđược xây dựng từcác đèn điện tử.Máy nặng 30 tấn, trải rộng trên diện tích 170 m2, công suất tiêu thụ 200 kW, thựchiệnđược5000phéptính/giây.ENIACđượccoilàmáytínhđiệntửđầutiên
Nhà toánhọcVon Neumannlà ngườitư vấntrongchế tạoENIAC đãnghiêncứumáytínhENIACvàđưaraquanniệmmới
1) Chương trìnhđược ghitrước vàobộnhớ:Máytính cóbộnhớ đểlưutrữmộtchương trình trước khi thực hiện và ghi kết quả trung gian Chương trìnhđược thựchiệntheotrìnhtự
2) Ngắtrẽnhánh:Máytựđộngrẽnhánhnhờcácquyếtđịnhlogic
13
Trang 2Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
Phầnlớn cácmáytínhngàynayđềulàmviệctrênnguyênlýVonNeumann
Từkhi rađờiđến nay,máytínhđã trảiqua5thếhệ Các thếhệcủamáy tínhđiệntửbaogồm:
1) Thếhệ1(1951-1958):Ðènđiệntửchânkhông
2) Thế hệ2(1959-1964):Bándẫn,Assembller,Cobol(59)
3) Thếhệ3(1965-1970):Viđiệntửcỡ nhỏvàvừa(SSI,MSI)
4) Thếhệ4(1971đếnnay):Viđiệntửcỡlớnvàsiêulớn(LSI,VLSI, MSI,GSI)5) Thế hệ 5 (1980-1990): Dự án xây dựng máy tính thế hệ 5 với tính năng xử lýsong song trí tuệ nhân tạo và ngôn ngữ tự nhiên Tuy nhiên dự án này khôngthànhcôngnhưmụctiêuđãđềra
1.2.Phân loại các hệ thống máy tính
1.2.1 Phân loại các hệ thống máy tính theo hiệu năng (khả năng tính toán)
Dựa trên khả năng tính toán của MTÐT, người ta chia làm 4 loại: Máy tính
cá nhân (Personal Computer), Máy tính Mini (Minicomputer), Máy tính lớn(Mainframe)vàMáytínhsiêulớn(Supercomputer).Cácthôngsốđặctrưngđểđánhgiáhiệunăngcủamáytínhlà:
− Tốcđộ(khảnăngtínhtoán)
− Độdàicủatừxửlý
− Dunglượngbộnhớtrong
− Dunglượngbộnhớngoài
a Máy tính cá nhân
Máytínhcánhânthườnglàmáytínhmộtngườisửdụng
Ví dụ:
MáyvitínhPentiumIVvới
− Tốc độ được đặc trưng bằng tần số của đồng hồ 1,4GHz;1,5GHz; 2,8GHz; 3,1GHz
- Độdàitừxửlý32bit
− Dunglượngbộnhớtrong:64MB,128MB,256MB,
− Dunglượngđĩacứng:20GB,40GB,80GB
23
Trang 3Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
b Máy tính cỡ vừa (Mini)
Một máy tính Mini thường có khả năng cho 20 – 100 người đồng thời sửdụng
MáytínhMinicóhiệunăngsửdụngthườnggấp10lầnmáytínhcánhân.Cấuhìnhcủamộtmáytínhminicóthểđược thểhiệnnhưtrênhình 1.1.
ThiÕtbÞ®Çucuèi
ThiÕtbÞ®ÇucuèiThiÕtbÞ®Çucuèi
Thôngthườngmáytínhlớncócụmxửlý:
- Bộ tiền xử lý (The-Front end-Processor) làm nhiệm vụ thu thậpvà xử lý số
bộdữliệutớitừcácthiếtbịđầucuốitrướckhiđưavàochobộxửlýchủ
- Bộ xử lý chủ (Host processor) làm nhiệm vụxử lýchính vàđiều khiển toàn
bộhệthống
- Bộ xử lý phụ trợ (The-back end-Processor) làmnhiệmvụ quảnlý tệp, cơsở
dữliệuvàmáyin
Máytínhlớncókhảnăngtínhtoángấp10lầnmáyMini
Ví dụ:MáytínhIBM4381,IBMRS/400
Cấuhìnhcủamộtmáytínhlớnđượcthểhiệnnhưtrênhình 1.2.
33
Trang 4Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
d Máy tính siêu lớn
Máytínhsiêulớncáccấutrúchướngvàotăngtốcđộxửlýbằngcách:
- Dùnglinhkiệnnhanhhơn
- Rútngắnkhoảngcáchgiữacáclinhkiện
- Kiếntrúcmáynàykhácvớicácloạimáymini
- Máytínhsiêulớnphảilàmviệctrongphònglạnh
Ví dụ:Máytính Cray5,5triệuUSD;Compag200triệuUSD– hàngngànbộ
xửlý
Máytínhsiêulớncókhảnăngtínhtoánlớnhơn 10lầnmáytínhlớn
Ứng dụng:
- Phântíchsốliệuđộngđất
- Môphỏngdòngkhícủamáybay
- Nghiêncứusứcnổcủaphảnứnghạtnhân
- Nghiêncứumôphỏng,tạodạngcơnbãotrongdựbáothờitiết
- Kiếntạonhữngmôhìnhchuyểnđộngtrongvũtrụ
43
Trang 5Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
1.2.2 Phân loại các hệ thống máy tính theo kiến trúc
Ngoàinguyên lý máy trìnhtự (theoVonNeumann), tronggiai đoạn gần đâycòn phát triểncác máy tính theo nguyên lý song song.Theo MichaelFlymn có thểphânloạimáytínhnhưsau:
a) Các kiểu nguyên lí xử lí
Cơsơđểphânloạidựatrêntínhđơnxâu hayđaxâucủalệnhvàdữliệudoMichaelFlynn đề xuất Trong đó xâu lệnh (instruction stream) là một tập tuần tự các lệnh(instruction)được thựchiện bởi một CPUvà xâu dữliệu (datastream) làchuỗi các
dữliệumàxâulệnhcầncó.Cóbốnloại kiếntrúcnhưsau:
SISD (single instrucction stream, single data stream).
TheonguyênlýVonNeumann–máytínhtuầntự
Một thờiđiểm chỉ có một lệnh được thực hiện, tương tự như khi sảnxuấtôtô,mộtngườilàmtấtcảcáccôngviệc
Đây là mô hình máy tínhvon Neumann, còn gọi là thiết kế kiểu máy tính nối tiếp,trong đó chỉ một lệnh thực hiện ở một thời điểm SISD qui chiếu loại máy serialscalar computer Tất cả các máy SISD sử dụng một bộ đếm chương trình, PC(ProgramCounter), đểtạoraquátrìnhthựchiệnliêntiấpcáclệnh.Saumỗilầnlệnhlấy được từ bộ nhớ, PC tự động cập nhật giá trị mới để có địa chỉ lệnh tiếp theo.(Tứcthựchiệntheothứtựliêntiếp(serialorder))
MISD (multiple instruction stream, single data stream).
Nhiềulệnhcùngthaotáctrênmộtmảngdữliệu
Trongthựctếlàkiếntrúcmàsốliệuđượcđưaquamộtchuỗicácđơn
vịxửlý
Ví dụ tương tựdây chuyền sản xuất mỗi người công nhân thựchiện
một nhiệm vụhoặc một tập hợp nhiệm vụ dựatrên kết quả củangười trướcđó
Cáckiếntrúcđườngốngnhưsystolic arrayvàvectorprocessorthuộcloạiMISD
Làloạikiếntrúcvớikhảnăngthựchiệnvàilệnhthaotáctrênmộtxâudữliệu Cách
tổchứckiểumáynàynhưthếnào:cóhaicáchdiễnđạt
-Xemxétmộtlớpcácmáytính,trongđócácđơnvịxửlíriêngbiệtnhậncáclệnh riêng biệt thao tác trên cùng một dữ liệu Đây là loại máy thách thức các nhàkiếntrúcmáytính,vàchưacómáynào loạinàytrongthựctế
53
Trang 6Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
- Có thể xem xét khác như sau: đó là lớp các máy tính, trong đó dữ liệu điqua liên tiếp các đơn vị xử lí Các máy tính kiến trúc kiểu đường ống (pipelined),hay các bộ xử lí vector,thuộc lớp máy này: Xửlí vector là thực hiện quacác tầng,mỗi tầng thựchiện mộtchức năngxác định và tạora mộtkết quả trunggian Lído
để nóikiểukiếntrúc nàylàMISDvìrằngcác thànhphầncủamột vectorđượcnhìnnhận, thuộcvào cùng mộtdữ liệu, và tấtcả các tầngbiểu diễn đalệnh áp dụngchovector đó.(Vídụ:dâychuyềnlắp ráp…)
SIMD ( single instuction stream, multiple data stream).
Chỉmộtbiểulệnhgiốngnhauxửlýnhiềusốliệuđồngthời
Mộtđơnvị điềukhiểnkhởiđộngnhiềuđơn vịxửlý,tương tựnhưMISDhỗtrợ xử lý vector Mỗi một phần tử của vector được đưa vào đơn vị xử lýriêngđểthựchiệnđồngthời
Tương tự như trong dây chuyền sản xuất ô tô, nhiều công nhân cùng làmmộtsốcôngviệc Mỗicôngnhântựxâydựngôtôbằngcáchcùngthựchiệnmộtnhiệmvụgiốngnhautạimộtthờiđiểm
Ví dụ tính lương cho 1.000 người thì máy SISD phải thực hiện 1.000 vònglặp,còntrênmáySIMDcóthểthựchiệnsongsong1.000dòngsốliệu
Môt lệnh đơn được sử dụng để xử lí nhiều dữliệu đồng thời Trong loại máy này,một đơn vị điều khiển kích hoạt nhiều đợn vụ xử lí riêng biệt SIMD hổ trợ xử lívector như nóitrên: gán các thành phầncủa vector cho từngđơn vịxử lí riêngbiệt
để các đơn vị này tính toán đồng thời Ví dụ tính lương theo giờ cho 1000 ngườilàm:
-trênmáySISD:cầmlàm1000lầntuầntự;
- trên máySIMD: thựchiện song songđồng thờitrên1000 xâuxử liệukhácnhau(mỗitínhtoánchomộtlaođộng)
( ví dụ: Nhiều lao động làm cùng mộtviệc như nhau đồng thời, sau khixong việc,
họnhậncôngviệcmới)
MIMD ( multiple instruction stream, multiple data stream).
Máycónhiềuđơn vịxửlý–nhiềulệnhkhácnhauđượcdùngđểxửlýnhiều
sốliệuđồngthời.Ðâylàmáyphứctạp nhấtnhưngcũnghứahẹnnhấtđểđạtđượckếtquảthôngquaxửlýtươngtranh
Tương tự như trongdây chuyền sản xuất ô tô, mỗi người công nhân tự xâydựngôtômộtcáchđộclậptheotậphợpcáclệnhriêngcủamình
63
Trang 7Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
Là loạimáycónhiều đơnvị xửlí,nhiều lệnhdùngđểxửlínhiều dữliệu đồngthời.Loại máy này phứctạp nhất, tính đồng thờiởđây làvì không chỉ cácbộ xử líhoạtđộng đồng thời, mà nhiều chương trình (tiến trình) được thực hiện trong cùng mộtkhung thờigian (Ví dụ: Mỗi người không làm cùng một việc đồng thời, mà thựchiệnđộclậptậpcácchỉthịchoriênghọ)
b Các kiểu máy tính
Tuy nhiên cho tới ngày nay cách phân loại trên chỉ ở mức độ tương đối Thực tếkiến trúc máy mang mầu sắc pha trộn Hình sau cho thấy cách phân loại các kiếntrúcxửlíthườngthấy:
Hybrid
Special purpose
MulticomputerMulti-multiprocessorDataflowwmachineArrayprocessorPipelinedvectorprocessorSystolicarrayMIMD-SIMDmachineMIMD-SISDmachineArtificialneuralnetworkFuzzylogicprocessor
1 multiprocessor: LàmộtmáysongsongvớinhiềuCPU,chiasẻbộnhớ hệthống.Mỗi CPUcó thểlậpđể chạymột phầncủamột chươngtrình, haychạy mộtchươngtrìnhkhácvớichươngtrìnhchạytrênCPUkhác.Môhìnhsau:
73
Trang 8Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
hiện
2.mulicomputer: Là một máy song song, trong đó mỗi CPU có một bộ nhớriêng
biệt, trong khi đó bộ nhớ chính phân phối riêng phần cho từng CPU Đặc điểm là
các CPU khôngthể truynhập vàobộ nhớcủa nhau.Đây làsự phânbiệt cơ bản với
máyđaxửlínóitrước đó
Interconnection network (IN)
Trang 9Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
Trong hình, mỗi nút (PNs) có CPU Pn và Mn riêng biệt NI là mạng kết nối.Data sẽđược cáclệnhchuyểnchuyểntừPNnàyđếnPNkiacó kếtnốivớinó.NếuchuyểndatatớimộtPNkhôngkếtnối,thìdataphảiđiquamộtPNtrunggian
3 Multi-multiprocessor: Là phối hợp của hai kiểu cấu trúc trên (multiprocessor,
vàmulicompute), trongđómỗimộtnútlàmộtđaxửlí(multiprocessor)
4.Data flow machine: Làloạikiếntrúc,trongđómộtlệnhsẳnsàngthựchiệnkhidatacho cáctoán hạng(operand) của lệnhđã sẳnsàng Data gọi làsẳn có làdo kếtquả kết quả thựchiện lệnh trước đó và chuyển data đó cho các toán hạng của lệnhđangđợi.Vớicáchthứcnhưvậy,kiếntrúctạoraluồngdữliệu.ỞđâytathấykhôngcầncóbộđếmchươngtrìnhnhưtrongmôhìnhvonNeumann
Cáclệnh luồngdữliệu làtự chứađựngtrong bảnthân lệnh, có nghĩalà lệnhkhôngquichiếuvàobộnhớchính,màmangtheocácgiátrịcủabiếntrongbảnthânlệnh.Trongkiếntrúcnàyviệcthựchiệnmộtlệnhkhôngtácđộngđếncáclệnh khácđangsẳn sàngthực hiện Nhưvậy sẽcó nhiềulệnh đang sẳnsàng có thểđược thựchiệnđồngthờivàkếtquảlàcótiềmnăngtínhtoánđồngthờirấtcao
PE
PE PE
I&D
I&D
Mangphânphôi
IN IN
I&D
Mangtrongtài
dulieu
Lệnhvàcác toánhạngđược giữtrong bộnhớlệnhvà data(I&D) Mộtkhilệnh sẳnsàng thực hiện, lệnh được gởi đến một trong các thành phần xử lí (PE) qua mạngphân phôi IN.Mỗi PE là một CPU với bộ nhớ riêng hạn chế Khi thực hiện lệnh ,
PEtínhtoánvàgởikếtquảtớimạngđích(IN)đếnđíchnhậndata
93
qua) Lenhvadulieubonho
Trang 10Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
5 Array processor (Xử lí đa chiều):
Bao gồm một tập các nút xử lí (PNs) và một bộ xử lí vô hướng (scalar CPU) làmviệc dưới sự kiểm soát của đơn vị xử lí trung tâm (Control Unit CU) CU tìm cáclệnhtrong bộnhớ, giải mãlệnh và gởicác lệnhđó choCPU vôhướng hay cho cácnútphụthuộc vào kiểulệnh Nếu làlệnh vôhướng, thichuyển choCPU vôhướng,còn thì chuyển cho tất cả các nút PNs Các PN thực hiện cùng một lệnh đồng thờitrêncác dữliệu khác nhau đã cótrong bộ nhớ của nó Nhưvậy xử líđa chiều chỉcần một chương trình (một code) cho tất cả các nút , không cần nhân bản chươngtrìnhchomỗinút
Ýtương đằng sau xửlí đa chiều là để khai thác tínhsong song trong tập dữliệuđãcho, chứkhôngphảiđểthựchiệnsongsongtrìnhtựcủathựchiệnlệnh.Tínhtoán song song thực hiện bằng cách gán cho mỗi CPU tới một phần dữ liệu Nếudata là vector, thì data đó đơn giản là một thành phần vector Xử lí đa chiều tăngcường hiệu năng bằng cách thao tác tất cả các phần dữ liệu (đã gán cho mỗi CPU)đồngthời.Cácphéptoánsố học,logic đềucóthểthựchiệntrênvector,nênxửlíđachiềucòngọilàxửlívector
Lenh vo
Lenhvector
huong
1M1
2M2
PNs nút
nMn
CU-Donvidiêukhiên
Du lieu lenhtu bonhoBônhochinh
6 Pipelined vector procesor (Xử lí vector kiểu đường ống) Làkhảnăngxửlícáctoánhạngvector(chuỗicácdataliên tục)cóhiệuquảcao Đólàđiểmkhácbiệtvới
xử lí đa chiều: đa chiều được điều khiển bằng lệnh (lệnh kiểu vector), còn xử lívectorkiểuđườngốnglạiđượcđiềukhiểnbởichuỗidữliệuliêntục
Trang 11Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
CPUvohuong
LenhvohuongLenhvector
CU-DonvidiêukhiênPipe
CUlấylệnhtừbộnhớ,giảimãlệnhvàtuỳloạilệnhsẽchuyểnchocácCPU
7 Systolic array: Bao gồm số lượng lớn các thành phần xử lí giống như nhau(processing elemtnePE) Mỗi PEcó bộnhớ gioéihạn,và đểkhông giớihạnsố PE,mỗiPEchieđượcnốiđếncáclánggiềngcủanóbởi mạngIN.Nhưvậytanhậnthấycách nối giống kiến trúc đường ống, ví dụ như ở trường tuyến tính hay trường haichiều Trong hệ thống này, các dữ liệu hay các kết quả từng phần đi qua các PEtrong thời gian thực hiện của một vài chu kì xử lí Ở mỗi chu kì, một số PE thựchiện một số các thao tác như sanhu (ví dụ như nhân hay chia) trên các dữ liệu củacácPEđó,vàgởi cáckếtquảtừngphầntớicácPElánggiềng
Trang 128 Hybrid architecture: Là kếthợpcác đặcthùcủacác kiếntrúckhácnhauđể tạo
rahiệunăngtốtnhấtchotínhtoánsongsong.Cóhaikiểutínhtoánsongsong:
- kiểm soát song song: hai hay nhiều tính toán (operatons) thực hiện đồngthờitrêncácCPUkhácnhau;
- dữliệu song song: cùng một tính toán thực hiện trên các phần của dữliệubởinhiềuCPUđồngthời
MIMD là mô hình lí tưởng của kiểm soát song song,nó thích hợp cho bàitoán cần nhiều tính toán khác nhau thực hiện đồng thờitrên một dữ liệu tách biệt.MáySIMDthíchhợpcho xuẻlíxửlísốliệusongsong,thíchhợp chobàitoánkiểucùng một thaotác xử lí đồng thời trên các phần khác nhau của một dữ liệu SIMD
hổtrợ xửlívectorquathiếtkếđường ống
Trongthựctếxửlídữliệusongsonglàrấtlớn,vìquátrìnhđótỉlệvớilượng
dữliệu đưavào tính toán.Tuy nhiên không phải lúc nào giải pháp này cũng thànhcông,dođócầnsửdụngphốihợp cảhaicáchnóitrên.Vídụ,mộtsốứngdụngchạytốtkhichiachia nhỏđểmỗi phầncủaứngdụng dùngxửlídữliệu songsong,trongkhitấtcảcác phầnlại chạytheokiểukiểm si\oátsong songtheokiếntrúc ống.Mộtnhómcác CPU lấy dữliệu, thựchiện các tính toán banđầu, sau đó chuyểnkết quảcho nhosm thứ hai, và nhóm hai tính toán, chuyển tiếp … cho tới khi có kết quảcuối.Cácmáykếthợp cảhaiMIMDvàSIMD,chohiệuquảđángghinhận
9 Các thiết bị đặc biệt
9.1Mạng neuron nhân tạo (Artificial neural network (ANN)): Được
xây dựngtừ vô số các thành phần tính toán hoạt động song song,có khả năng học
và tự thích nghi với sự thay đổi của môi trường tính toán và đương đầu với hổnloạn.Cấu trúc mạng neuron nhân tạo hứahẹn giải quyết được các vấn đề mà máyvon Neumann khó có thể thực hiện được (ví dụ như mô phỏng thông tin tự nhiên,nhận dạng mẫu gene, … những vấn đề cần có năng lực tính toán kiểu con ngườimớithựchiệnđược)
Trang 13Không giống như von Neumann, trong đó thành phần cơ bản là CPU,ANN
là kiến trúc kết nối (mạng neuron) giữacác PE Với mộtbài toán cho trước, ta cầnxác định giá trị chính xác cho các trọng lượng để mạng có thể thực hiện các tínhtoáncầnthiết.Thôngthườngviệcxácđịnhgiátrịđượctiếnhànhbằngphươngphápđiều chỉnh tương tác của trọng lượng theo hướng cải thiện hiệu năng của mạngneuron Luật điềuchỉnh trọng lượng gọilà luật học(learning rule) vàtoàn bộ quátrìnhđểcóđượcgiátrịchínhxáccủatrọnglượnggọilàquátrìnhhọc(learning)
9.2 Logic mờ (Fuzzy logic processor): là các nguyên lí hình thức củalập luận gần đúng Trong khi trước đây ta có lập luận hai giá trị (true và false).Logic mờ nổlực giải quyết hiệu quảvới tínhphức tạp của quátrình nhận thức củacon người,vànó vượt quamộtsố cácphiền phứcphốihợp vớilogicnhị nguyêncổđiển không thể phản ánh được quá trình nhận thức thực của con người Tuy cácphầnmềm pháttriểntrênlogic mờmanglại mộtsố kếtquảtốchovàiứngdụng,thìcácứngdụnghiệunăngcaođangcầncácbộxửlílogicmờchuyêndụng
1.2.2 Processor performance
The performance of the processor, which can be considered as the central nervoussystem of the units that compose the computer system, is measured using thenumber of instructions that can be executedd in a unit of time as an index Theseindexesareindicatedbelow
(1) MIPS
Trang 14Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
MIPSisanacronymofMillionInstructionsPerSecond,andindicatesinmillion
unitsthenumberofinstructionsthatcanbeexecutedinonesecond.Inotherwords,
a1MIPSprocessorisaprocessorthatcanexecuteonemillioninstructionsper
second.Basically,thelargerthenumberofinstructionsthatcanbeexecuted,the
higherthevalue.ThetermMIPSismainlyusedtoindicatetheperformanceof
processorsofhighendmainframecomputers.However,itismeaninglesstousethis
indextocompareprocessorsof
differenttypesofmachinesthatexecutedifferentinstructioncontents
The clock reciprocal number is called clock frequency Clock frequency is used as
anindextomeasuretheperformanceofapersonalcomputer
(4) CPI (Cycles Per Instruction)
A CPI is the number of clocks required to execute instruction This index indirectlyindicates the execution time of one instruction
Literature Architecture:
John L Hennessy and David A Patterson, Computer Architecture: A Quantitative Approach, third edition, Morgan Kaufmann, New York, 2003 See www.mkp.com/CA3
David A Patterson and John L Hennessy, Computer Organization and
Design: The Hardware Interface Text for COEN 171
Gerrit A Blaauw and Frederick P Brooks, Jr., Computer Archtecture:
Concepts and Evolution, Addison Wesley, 1997
Trang 15Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
William Stallings, Computer Organization and Architecture, Prentice Hall, 2000.
Miles J Murdocca and Vincent P Heuring, Principles of Computer
Architecture, Prentice Hall, 2000
John D Carpinelli, Computer Systems Organization and Architecture, Addison Wesley, 2001.
Davis A Palterson & John L Hannesy, Computer Organization and design: The hardware / Software interface, 1998.
Andrew S Tanenbaun, Structred Computer Organization, 4 th ,1998.James M feldman, Charles T Retter, Computer Architecture Adesignned text based
on generic RISC 1994.
Trang 16Máy tính mẫu (hình 1.3 và hình 1.4) này được mô phỏng theomột máy tínhcủa trường đại học Virginia Technology nhằm mục đích trang bị những khái niệm
cơ bảnbanđầuđểnhậpmônvàocấutrúcmáytính
Trang 17Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
Máytínhmẫucócácđặcđiểmsau:
- Địachỉtừ000-999(nhưvậyđịachỉcó3chữsố)
- Mỗiônhớcókhảnănglưutrữđược5chữsố
- Cóhaithanhghiliênquantớibộnhớ
MAR (Memory address register) có 3 chữ số chứa địa chỉ của ô nhớ cần truynhập
MDR (Memory date-register) có 5 chữ số chứa số liệu của ô nhớ có địa chỉ ởMARtrongphéptruynhập
Trang 18NộidungcủathanhghiMDRđược chuyểnvàoônhớcóđịachỉởMDR.
Trongmáytínhmẫuđơn vịđiềukhiểngồm:
Trang 19Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
- Thanh đếm chương trình PC (Program counter) chứa địa chỉ của lệnh sẽđượcthựchiện.PCchứađược 3chữsố000-999
- Thanh ghi lệnh IR (Instruction register)chứalệnhđangthực hiện
Độdàicủathanhghilà5chữsố:
RẽnhánhPC
- Bộ giải mã lệnh ID (Instruction Decoder) giảimã lệnh để nhận biết lệnhsẽphảilàmgì
- Bộ tạo tín hiệu điều khiển (RD, WR) sinh ra các tín hiệu để điều khiển các
bộphậntrongmáytínhvàcácthiếtbịngoạivinhằm thựchiệnlệnhđãđượcgiảimã
+CờOF(overflow):cờtràn
- Thiếtbịvào:Máyvàobìacóđịachỉ000
- Thiếtbịra:Máyđụcbìacóđịachỉ000
193
Trang 20dungACC vàkếtquảgiữởACC
củaônhớ,kếtquảgiữởACC
←(IR2-4) Nhảykhôngđiềukiện
←(IR2-4)nếuZF=1PC
Nhảynếukếtquảphéptínhlà0(ACC)=0
←(IR2-4)nếuSF=1 Nhảynếukếtquảphéptínhâm
Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
e Bàn điều khiển Console
- ChophépđưasốliệuvàoACCvàbộnhớbằngtay(store)
- Khởiđộngchương trình(Start)
- Dừngchươngtrình(Stop)
- Hiểnthịkếtquảbằngđènled
a Tậplệnh của máy tính mẫu
- Máytínhmẫucó13lệnh
- Lệnhcóđộdài5chữsốchialàm2phần:
+MãlệnhOP(operationcode)(2chữsố)
OPchobiếtmáycầnlàmgìthựchiệnphéptínhnào
+Toánhạngoperand(operationaddress)(3chữsố)
Operand cho biết địa chỉ ô nhớ chứa số liệu hay số liệu trực tiếp tham giaphéptính
- Sauđâylàcáclệnhchủyếucủamáytínhmẫu:
203
Trang 21←(IR2-4)nếuOF=1PC
Quátrìnhnhậnvàthựchiệnlệnhgọilàchukỳlệnh
Mỗichukỳlệnhbaogồmnhiềuchukỳmáy
Mộtchukỳmáybaogồmnhiềunhịp
Mộtchukỳlệnhmáytínhmẫuthựchiệncáccôngviệcsau:
1 Nhậnlệnhtừbộnhớ
2 Thựchiệnlệnh
3 ThayđổinộidungcủathanhghiPC
Bước1làgiốngnhauchotấtcảcáclệnh
Mô tả hoạt động của các lệnh
Trang 22Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
063
ralệnhREAD20000
Mộtchươngtrìnhđượcđặttrongbộnhớdướidạngmộtchuỗicáclệnhcóđịachỉ liên tiếp nhau Khi một lệnh đã được nhận vào CPU và thực hiện thì nội dungcủa thanh đếm chương trình PC sẽ thay đổi cho phép thực hiện tiếp chương trình
Cáclệnhrẽnhánhcókhảnăngthayđổithứtựtừnglệnh.Trongmáytínhmẫu
- LệnhJMPlàlệnhnhảykhôngđiềukiện
- LệnhJZ, JS,JOlàcáclệnhnhảycóđiềukiện
Ví dụ:lệnhJMP(73)=07080(Hình 1.6)
223
Trang 23Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
233
Trang 24Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
Cáclệnhvào/rathựchiệntraođổisốliệugiữaCPUvàthiếtbịngoạivi
Lệnh vào số liệu
mãlệnh địachỉthiếtbịvào
Địachỉcủathiếtbịvàolà000
Trang 25Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
Tatìmthấysựhoạtđộngcủamáyquavídụcụthểsau(hình 1.7):
Đọc2sốthậpphânavàbtừthiếtbịvàovàxếptheothứtựtừbéđếnlớnvàocácônhớ300và301
Chươngtrìnhlưutrữtrongbộnhớbắtđầuởđịachỉ100
Sốliệulưutrữtrongbộnhớbắtđầuởđịachỉ300
253
Trang 26Địa chỉ Mê mây Mê ngữ Ghi chú
105 09107 JS nhảyđếnônhớ*nếuđm(tứclăb<a)
106 00000 STOP dừngmâynếua<b
108 02400 STORE 400 lưuavăo310
110 02300 STORE 300 lưubvăo300
112 02301 STORE 301 lưuavăo301
Kiến trúc Mây tính NV Tam, HT Cước IOIT, VAST
Chương trình dưới dạng mê mây:
- Tất cả những gì mang tính chất vật liệu trong mây tính gọi lă phần cứng
(Hardward).
- Tấtcảnhữnggìmangtínhchấtphivậtliệugọilăphầnmềm(Software).
- ChươngtrìnhđiềukhiểnphầncứngnạptrongmạchROMgọilăFirmware.
- Ngôn ngữ mây: CPU chỉ hiểu câc lệnh của ngôn ngữ mây Ðó lă chuỗi câc
sốnhịphđn
- Hợpngữdùngkýhiệuđểbiểudiễnlệnh,thanhghivẵnhớ
- Ngônngữmâyvăhợpngữlăđặctrưngchotừnghọmây
- Ngônngữbậccaocho phĩpngườilập trìnhviếtchươngtrình giốngvănbảncủangônngữtựnhiín, cóthểchuyểnđổigiữacâchọmây
- Từcâch nhiền của ngýờisử dụnghệ điều hănh lă câchtổ chức, điều khiểncâc bộ phận (phần cứng vă phần mềm) của mây tính hợp lý để tạo ra câcdịchvụcóhiệuquả
- BUSđịachỉ
- BUSsốliệu
263
Trang 27Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
- BUSđiềukhiển
- ROM(ReadOnlyMemory)
- RAM(RandomAccesMemory)
Qua phân tích hoạt động của máy tính đơn giản ta thấy các khối bên trongCPU và bên ngoài máy tính được kết nối bằng tập hợp tín các tín hiệu gọi là BUS
hệthống (System Bus).Tất cả cáctín hiệu mang các bit địachỉ gọi là BUS địa chỉ(BUSđ/c)(AddressBus).TấtcảcáctínhiệumangcácbitsốliệugọilàBUSsốliệu(BUS s/l) (Data Bus) Tất cả tín hiệu điều khiển gọi là BUS điều khiển (BUS đ/k)(ControlBus)
273
Trang 28Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
CHƯƠNG II
XỬ LÝ SỐ LIỆU, BIỂU DIỄN THÔNG TIN VÀ
LỆNH TRONG MÁY TÍNH ĐIỆN TỬ
Chúng ta đã biết máy tính điện tử thực hiện các lệnh để xử lý các số liệu.Lệnhvàsốliệuđượcbiểudiễnbởi chuỗicácbitnhịphân
2.1 Hệ thống số
a Dạng tổng quát của hệ nhị phân
N=ap-12p -1+ap-22p -2 +a121+a0
Trong đóa0, a1,a2, ,ap-2 ,ap-1có giátrị 1hay 0là hệsố,p cógiá trịlà sốnguyên, 2
làcơsố
Ví dụ:số1101b
1.23+1.22+0.21+1.20
8 + 4 + 0 + 1 =13
Từkháiniệmbittacómộtsốkháiniệmsau:
-Tổhợpcủa4bitgọilànibble
-Tổhợpcủa8bitgọilàbyte
-Tổhợpcủa2bytetrở thànhtừ
-Tổhợpcủa4bytetrở thànhtừđúp
-Tổhợpcủa8bytetrở thànhtừkép
-VXL(Bộvixửlý)xửlýsốliệucóđộdài1bytegọilàVXL8bit
-VXLxửlýsốliệucóđộdài2bytes(Word) gọilàVXL16bit
-VXLxửlýsốliệucóđộdài4bytes(DoubleWord)gọilàVXL32bit
-VXL xửlýsốliệucóđộdài8bytes (QuadWord)gọilàVXL64bit
Muốn chuyểnmộtsố thậpphânsang sốnhị phântachuyển đổiphần nguyên
và phần thậpphân riêng Thuậttoán chuyển đổirút ra từdạng tổngquát của số nhịphân
Ví dụ:chuyểnđổisốthậpphân125,625
283
Trang 29Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
Tathựchiệnchuyểnriêngphầnnguyênvàphầnlẻ
Quy tắc chuyển phần nguyên:
- Lấysốcầnchuyểnchiacho2vàghinhớphầndư
- Lấythươngcủaphépchiatrênchiacho2vàghinhớphầndư
- Làmnhưvậychotớikhiđượcthươngbằng0
- Lấydãycácsốdưtheotrìnhtựđảongượctađượcsốnhịphâncầntìm
Quy tắc chuyển đổi phần thập phân:
- Lấyphầnthậpphâncầnchuyểnnhân2,ghiphầnnhớphầnnguyên
- Lấyphầnthậpphâncủatíchnhân2,ghinhớphần nguyêncủatích
- Làmnhưvậychotớikhiđượctíchchẵnlà1
- Lấydãy cácphần nguyêncủa tíchtheo chiềuthuận ta đượcsố nhịphân củaphầnthậpphâncầntìm
Quy tắc rút ra từ dạng tổng quát của số nhị phân
Muốn chuyểnsố nhịphân sang thậpphân tatính cácgiá trị2i tươngứng vớicácchữsốkhác0thứicủasốnhịphân
Cộngcácsốtínhđượcchotakếtquảsốthậpphâncầntìm
Ví dụ: 110101,1101=1.25+1.24+1.22+1.20+1.2-1+1.2-2+1.2-4
=32 + 16 + 4 + 1 + 0,5 + 0,25 +0,0625
293
Trang 30-3-2-1
+0+1+2
+127-0-1-2
-125-126-127
Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
=53,8125
Nếu dùng số nhị phân để biểu diễn số có giá trị lớn ta sẽ thu được số nhịphân quádài Trong thựctế người tadùng nhóm4 bit nhịphân thành 1số hệ mườisáu.ĐểphânbiệtvớihệkhácthêmchữHhayhvàosausố
Có2cáchbiểudiễnsốnguyên:
- Biểudiễnsốnguyêntheodấuvàđộlớn
- Biểu diễn số nguyên theo số bù 2: cho phép biểu diễn số âm 1 cách thích
Trang 31Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
Nhận xét:
- Nếubiểudiễnsốcódấutheokiểudấuvàđộlớn(signandmagnitude)tacó1 bit
dùng làm dấu còn 7 bit biểu diễn giátrị của số Một byteta có thể biểu diễn số
âmvàsốdươngnằmtrongkhoảng-127 0,+0 +127
- Số bù 2 dùng cả 8 bit để biểu diễn giá trị của số được mã hóa Một byte biểu
diễnđượcsốâm,sốdươngtrongkhoảng-128 0 +127
- Một số nguyên biểu diễn theo hệ 2 có giá trị khác nhau nếu kiểu đó là mã để
biểu diễn số theo kiểu hệ nhị phân có dấu và mãbù 2 Cả 2 cách biểudiễn này
đềucóbitD7=1chosốâmvàD7=0chosốdương
Trang 32Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
2.2 Thuật toán các phép tính (cộng, trừ, nhân, chia)
Trang 3317 100010001 00010001
Nhận xét:Bộcộngtrừ8bitthểhiệntrênhình2.1.
323
Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
Cấutrúccủabộcộngvàbộtrừvềcơbản giốngnhaunêntrongMTĐTngười
Tổngcácthànhphầnlàkếtquảcủaphépnhân
Trang 34Thuật toán cộng và dịch của phép nhân:
Nhânbitthấp nhấtcủa sốnhânvới số bịnhân.NếuLSB =0 (LeastSignificantBit)thìthành phầnnày bằng0,nếu LSBkhác 0thì thànhphần nàychính bằng sốbịnhân
Mỗithànhphầnthứitiếptheocủatổngtíchlũyđược tínhtươngtựnhưngphảidịchtráiibit
Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
Phép chia là phép ngược của phép nhân nên có thể thực hiện bằng phép trừ
vàdịchliêntiếpchođếnkhikhôngthểtrừđượcnữa
ĐểthựchiệnđượcbằngALUvớicácphầntửcộngvàdịchtathựchiệnđượcthuậttoánsau:
Đổisốchiathànhsốbù2củanó
Lấysốbịchiatrừđisốchia(cộngvớisốbù2củasốchia)
Nếu kết quả có bit dấu bằng 0 (số bị chia chia được cho số chia) thì bit tươngứngcủathươnglà1
Nếukếtquảcóbitdấulà1(sốbịchiakhôngchiađượcchosốchia)thìbittươngứng củathương là 0 và taphải khôi phục lạigiá trị ban đầucủa số bị chia bằngcáchcộngkếtquảnàyvớisốchiaởmãnhịphân
Dịch trái kết quả thu được và làm lại bước 2 cho đến khi kết quả cuối cùng là 0hoặcnhỏhơnsốchia
Ví dụ: 36:7 mãnhịphâncủa7: 111b; mãbù2của7: 1001b
36:7=5dư1
2.3 Cộng trừ số BCD (Binary Coded Decimal)
Ngườitadùng4bitnhịphânđểmãhóa1chữsốthậpphân(BCDnén)
Trang 35Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
Muốncộng 2 số BCD,trước hết cộng chúng nhưcộng 2 số nhị phânsau đóhiệuchỉnhkếtquảchođúngvới biểudiễnsốBCD
TrườnghợpnàykếtquảsaivìcónhớbitD3sangbitD4
Trong máy vi tính họ Intel thì cờ nhớ phụ AF =1 (Auxiliary Flag) Cả 2trường hợp trên phải thực hiện phép hiệu chỉnh thập phân (để kết quả là 2 số thậpphân).Muốnvậyphảicộngkếtquảvới6
Ởví dụ 1:
00001110
Trang 37a Số thập phân dấu phẩy động
Phần định trị chứa những chữsố có nghĩa cần thiết để định nghĩa chính xác giá trịtương đối của số.Phần định trị làsố có dấu thường dùng1 chữ số để biểu diễndấu
Phầnsốmũchobiếtđộlớncủanhữngchữsốcủaphầnđịnhtrị
Phầnsốmũ,trongnhiềumáytínhbiểudiễndấunhưsau:
-Chọn1sốđểđịnhnghĩasốmũlà0
-Cácsốlớnhơnsốđólàsốmũcódấudương
-Cácsốnhỏhơnlàsốmũcódấuâm
-Nếuphầnđịnhtrịdịchvềphíaphảithìsốmũphảiđượctănglêntươngứng
=0,625.2 =5/8.8 =5
Trang 38Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
2.5 Biểu diễn thông tin
2.5.1 Biểu diễn ký tự
Để biểu diễn thôngtin mà conngười dễ hiểu máytính phải cógiao diện thíchhợp.Cáchtraođổithôngtintruyềnthốngnhấtlàbộchữviết
MãASCIIdùng7bitđểmãhóavàbitD7đểkiểmtrachẵnlẻ
6 MãASCIIđược chuẩnhóa bởiANSI(American NationalStandard Institute
Trang 39Cácdấukhác 7B-7F
MãASCIImởrộng8bit-256kýtự
+ĐủđểbiểudiễnchữcáicủatiếngĐức,Pháp
+TạmđủchotiếngViệt,nhưngthiếuđốivớitiếngHán,Hàn,Nhật
MãUnicodedohãng Xeroxđềnghị
8 Dùng2byteđể mãhóakýtự.Khôngchứacáckýtựđiềukhiển
9 PhânbổmãtrongchuẩnUnicode
Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
+Cácchữcáicóâmtiết làkýtự tổnghợp (compositecharacter).Vídụ:â =
Đồ họa điểm (Pixel graphics)
-Biểudiễnhìnhảnhbằngmatrậnđiểm
- Cách ghi thông tin của điểm ảnh lên tệp để lưu trữgọi là khuôn dạng ảnhkhácnhautacó:
BMP BitMapảnhnhịphân
PCX PCpaintbrushX
GIF GraphicImageFile
Trang 40Đồ họa vector (Vector gralphics)
Biểu diễn hình ảnh bằng phương pháp này sẽ khắc phục nhược điểm củaphương pháptrên
- Biểudiễnhìnhảnhtừcácđốitượngcơ bảnnhưđiểm,đường thẳng,đagiácmặt, khối
- Máy tính sẽ dựavào công thức toánđể dựng lại hìnhảnh từ các đốitượng
cơ bản
-Chophépbiểudiễnhiểnthịđốitượng3chiều(3D-graphics)
Biểu diễn hình ảnh động(video)
Có thể biểu diễn bằng đồ hoạ điểm ảnh hay đồ họa vector nhưng hình ảnhchuyểnđộngcóyếutốthờigian
Do thị giáccon người cóđộ trễnhất định nênchỉ cần 30ảnh trongmột giây
là người ta có cảm giác hình ảnh chuyển động trơn tru Như vậy để hiển thị ảnh
393
Kiến trúc Máy tính NV Tam, HT Cước IOIT, VAST
chuyển độngmáy tínhcần cungcấp bộnhớđểlưu 30ảnhtĩnh vàcác thiếtbị ngoại
vicũng cầnđủnhanhđểxửlýsốlượng30ảnhtĩnhtrong1giây
Để khắc phục người tanén videosố hóa lại, có nhiều phương pháp nén nên
cónhiềukhuôndạngvideo,vídụnhư:
MPEG
Cácthuậttoánnéntậptrung2yếutố:
-Néntừngảnhtĩnh
-Nénnhữngphầnkhôngthayđổitheothờigian
Phương pháp định hướng đối tựợng (vector) dùng để biểu diễn hình ảnhchuyểnđộngđặcbiệtlàảnhkhônggianbachiều
b Biểu diễn âm thanh
Thính giácconngười chỉphânbiệtđược tốiđatần số fmax= 20KHz.TheoNyquistthìtầnsốtríchmẫuphảibằng hoặclớnhơn2lầntầnsốsóngâmthanh
Tần sốtrích mẫungày naytheo chuẩncủacông nghệCD (CompactDisk) là
44 KHz Độlớn củabiên độ trích mẫu được mã hóabằng 8 bit nhị phân.CD dùng
16bit
KhuôndạngâmthanhthườnggặplàWAVE,MPEG
Âm thanh cũng có thể phân tích thành nhiều đốitượng vàmã hóa Kỹ thuật