Chương IX: Hướng dẫn l p ráp một máy tính cá nhân, cách lựa chọn cấu hình máy và chuẩn bị cho việc l p ráp, sử dụng kỹ thu t l p ráp máy tính, cách bảo trì phần c ng, cách cấu hình CMOẮ
Trang 2L I NịI Đ U
M áy tính đang ngày càng trở thành một công cụ không thể thiếu cũng như
kh ông thể thay thế được trong đời sống thường nh t ng dụng công nghệ thông tin trong sinh ho ạt hàng ngày, trong sản xuất ra c a cải v t chất cũng như trong công
vi ệc điều hành, quản lý ngày càng phổ biến Có thể nói mọi người, không phân biệt
gi ới tính hay tuổi tác, đều tìm được ở công cụ s c bỨn này một niềm h ng khởi, say m ê kể cả trong giải quyết công việc cũng như học hỏi, nghiên c u sáng tạo hay
gi ải trí Cấu tạo máy tính ngày càng hiện đại, tinh vi, ph c tạp, bao gồm nhiều thành
ph ần ch c năng và đòi hỏi sự liên kết, hợp tác c a nhiều ngành khoa học, công nghệ
m ũi nhọn tạo nên Kiến trúc máy tính (Computer Architecture) là ngành khoa
h ọc nghiên cứu nguyên lý hoạt động, tổ chức (organization) máy tính từ các
th ành phần chức năng cơ bản – cấu trúc và tổ chức phần cứng, tập lệnh – mà qua
đó, các l p trình viên có thể nh n thấy, sử dụng, khai thác và sáng tạo để đáp ng tốt hơn, đầy đ hơn những yêu cầu c a người dùng
M ột máy tính không chỉ bao gồm các thành phần v t lý, các khổi ch c năng –
th ường được gọi là phần cứng (hardware) – mà còn bao gồm một khối lượng đồ sộ
c ác chương trình điều hành, quản lý, tiện ích và ng dụng, được gọi là phần mềm (software)
N ội dung giáo trình được trình bày trong 11 chương
Chương I: Nh c lại những kiến th c cơ bản về mạch điện tử số, các cổng
logic, m ạch flip-flop, v.v…, những phần tử cơ bản nhất cấu thành các mạch ch c
n ăng trong máy tính Các kiến th c cơ bản về mạch tổ hợp, mạch tuần tự, mạch
c ộng dữ liệu nhị phân, thanh ghi dịch, …, cũng được trình bày Những kiến th c
n ày rất cần thiết để sinh viên dễ dàng n m b t nguyên lý làm việc c a các khối ch c
n ăng cơ bản trong máy tính
Chương II: Giới thiệu những kiến th c tổng quan về kiến trúc máy tính, b t
đầu từ nguyên lý kiến trúc, ch c năng, nhiệm vụ và các thành phần cơ bản tạo nên một máy tính theo nguyên lý Von Neumann Nội dung chương phân biệt hai khái
ni ệm kiến trúc, tổ ch c máy tính với cấu trúc máy tính để dễ dàng n m b t các yêu
c ầu hiểu biết về CPU, về bộ nhớ, về các thiết bị ngoại vi và liên kết hệ thống giữa
c ác đơn vị ch c năng này Nguyên lý và phương th c biểu diễn các thông tin số,
th ông tin không số cũng được trình bày trong chương này
Chương III: Trình bày kiến trúc và các bước thiết kế kiến trúc đơn vị xử lý
trung tâm CPU, đơn vị điều khiển CU thông qua việc phân tích hoạt động ch c năng
th ực thi lệnh, thực thi chương trình
Chương IV: Phân tích kiến trúc t p lệnh và phương th c CPU thực hiện lệnh,
chu kỳ lệnh trong thực hiện chương trình, thông qua đó c ng cố sâu thêm những
hi ểu biết về nguyên lý kiến trúc, chuẩn bị kiến th c cơ sở cho l p trình hệ thống
Th ông qua truy xuất bộ nhớ để lấy lệnh, lấy dữ liệu, phân tích các phương pháp định
v ị ô nhớ trong cấu trúc lệnh
Chương V: Trình bày khái niệm BUS trong ch c năng các kênh truyền dẫn
Trang 3th ông tin, dữ liệu liên kết các thành phần ch c năng c a một máy tính Nội dung
ch ương đề c p các mối liên kết thông qua hệ thống BUS giữa CPU với bộ nhớ, giữa CPU v ới các thiết bị ngoại vi và các yêu cầu về định thời cho hoạt động trao đổi
th ông tin, dữ liệu Ch c năng truy c p trực tiếp bộ nhớ (Direct Memory Access),
ch c năng quản lý và điều khiển quá trình ng t cũng được phân tích trong
ch ương này Trên cơ sở phân tích các nội dung trên, đưa ra yêu cầu thiết kế, xây
d ựng hệ thống BUS nhằm đảm bảo cho hệ thống máy tính hoạt động ổn định
Chương VI: Trình bày tổ ch c và quản lý bộ nhớ Các khái niệm phần tử
nh ớ, tạo từ nhớ từ các chip nhớ được đề c p cụ thể Nội dung cũng đề c p phương
th c quản lý bộ nhớ theo phân đoạn, phân trang, quản lý bộ nhớ trong chế độ bảo
vệ, quản lý theo đ c quyền truy xuất Các phương pháp tổ ch c và quản lý bộ nhớ cache, th ành phần nâng cao đáng kể hiệu suất hoạt động c a CPU, được khảo sát kỹ trong ch ương này
Chương VII: Phân tích yêu cầu cơ bản c a một vài thiết bị ngoại vi ch yếu
nh ư thiết bị nh p liệu, thiết bị hiển thị kết quả xử lý
Chương VIII: Giới thiệu tổng quan về bo mạch ch , các kiểu mainboard
chính, các chuẩn mainboard, các thành phần trên mainboard, giới thiệu công nghệ tích hợp, chuẩn đoán và xử lý sự cố mainboard
Chương IX: Hướng dẫn l p ráp một máy tính cá nhân, cách lựa chọn cấu
hình máy và chuẩn bị cho việc l p ráp, sử dụng kỹ thu t l p ráp máy tính, cách bảo trì phần c ng, cách cấu hình CMOẮ Ắetup Ultility
Chương X: Hướng dẫn cài đ t và bảo trì hệ thống, lựa chọn hệ điều hành,
cách phân vùng và định dạng đĩa c ng, cách cài đ t hệ điều hành, cách cài đ t trình điều khiển, cách cài đ t các phần mềm thông dụng, cách sao lưu và phục hồi
hệ điều hành, giới thiệu một số tiện ích thông dụng, cách cài đ t nhiều hệ điều hành trên cùng một máy tính
Nhóm tác giả xin chân thành cảm ơn các bạn đồng nghiệp đã trao đổi, góp ý cho chúng tôi trong quá trình hoàn thiện giáo trình M c dù có nhiều cố g ng tham khảo và nghiên c u các tài liệu liên quan, nhưng sẽ không tránh được những thiếu sót Mong quý bạn đọc đóng góp ý kiến để giáo trình ngày một hoàn thiện hơn Xin chân thành cám ơn!
ắhái Bình, tháng 01 năm 2016
KhoaăCôngăngh ăthôngătin
Trang 4C H NG I NH NG KI NăTH CăC ăS
Hình I.1 Sơ đồ nguyên lý mạch tạo phần tử NAND
NAND, OR, XOR, v.v…Từăcác phần tử này, ng i ta xây dựng đ ợcăcácăm ch t
hợp (Combinational Circuits) cácăm ch lật (FlipFlop) với những đ cătính chuyển đ i
tr ng thái khác nhau nh R-S FlipFlop, D-FlipFlop, T- FlipFlop, J-K FlipFlop mà
nh chúng, ta xâyădựng đ ợc các m ch tuần tựă(Sequencial Circuits) và các máyă
hữu h n (Finite State Machine), những m ch tích hợp t o nên cácăđơn v chứcănĕng cơăb n trong máy tính
Hình I.2 Một số phần tử logic cơ bản
Trang 5Hình I.3 Các phần tử mạch lật (FlipFlop) thông dụng
Đ c biệt, m ch logic 3 tr ng thái (Three-State Logic Circuit) là một m ch có ứng dụng rất quan tr ng trong việc liên kếtă các phần tử chức nĕng của máy tính
M ch logic 3 tr ng thái có thể minh ho theo mô hình và b ng chân thực sau (Hình I.4), tr ng thái có ký hiệu "HZ" là tr ng thái thứă3 của m ch, tr ng thái tr kháng cao (High Impedance), khi màălối vào có thể coi nh đ ợc tách khỏi lối ra của m ch (không kết nối) Có hai lo i m ch 3 tr ng thái:, lo i m ch có tín hiệu EN là tích
cực cao, ứng với EN = "1" (Active High), lo i thứ hai là m ch có tín hiệu EN tích
cực thấp ứng với EN
= "0" (Active Low)
Trang 6Hình I.4 Phần tử 3 trạng thái (Three-State component) và bảng chân lý
2.1 M ch logic tổ h p (Combinational Circuit)
M ch logic t hợp là một m ch điện tử số mà giá tr các biến đầu ra chỉă
phụ thuộc vào t hợp giáătr của cácăbiến ăđầu vào (Hình I.5)
Hình I.5 Mạch logic tổ hợp
Cácăbiến vào i 0 , i 1 , …, i n nhận giáătr làă"1" ho că"0" t ơng ứng với giáătr của
một biến nh phân, trong m ch điện, chúng đ ợc thể hiện bằng cácătr ng thái "có điện áp" ho că"không cóăđiện áp"
Các giá tr của đầu ra là hàmătrực tiếp của các biến đầu vào, và đ ợcăthay đ i
gần nh tức th i khi có sự thay đ i giá tr của biến đầu vào (chỉ trễămột kho ng th i gian rất nhỏ - hàng nano giây - do sự trễăcủa các linh kiệnăt o nên m ch điện) Có
thể nói t p các giá trị đầu vào i 0 ÷ i n được áp vào các lối vào c a mạch tổ hợp
logic gây nên sự biến đổi trạng thái (giá trị) c a các biến đầu ra F 0 ÷ F m Các
m ch t hợp thông dụng th ng thấy làă m ch mư hoá, m ch gi i mư, m ch d n kênh, v.v…
Trang 71
2.2 M ch tu năt (Sequencial Circuit)
M ch nàyă còn đ ợc g i là m ch dưy Giá tr của biến ra phụ thuộc không
những vào giá tr các biến số đầu vào th i điểmăđang xét, mà còn phụ thuộc vào
tr ng thái tr ớc đó của m ch Để duy trì đ ợc tr ng thái củaăcác biến số vào tr ớc
đó, m ch cần thêm các phần tử nhớ Mô hình của m ch nh sau:
Zi = Fi (x1, x2,ă…,ăxn , y1 , y2 ,ă…,ăyp);
Yj = Gj (x1, x2,ă…,ăxn , Y1 , Y2 ,ă…,ăYp)
Trong đó: Fi là hàm truyền đ t của m ch và Gj là hàm truyền đ t tr ng thái;
xi (iă=ă1,ă2,ă…,n),ăZi (iă=ă1,ă2,ă…,ăm)ălàăcácătínăhiệuăvàoăvàătínăhiệuăraăcủaăm ch; y1 , y2 , …, yp : tr ngăthái của m ch tr ớc khi biến đ i;
Y1 , Y2 , …, Yp: tr ng thái của m ch sau khi biến đ i
Các phần tử nhớ là các phần tử logic có hai tr ng tháiă n đ nh ứng vớiăcác giá
tr của biến nh phân "0" và "1", th ng là các m ch FlipFlop lo i RS, JK ho căD
Yp
Trang 82.3 Máy h u h n (Finite State Machine)
Máy hữu h n là một lo iăă m chăă logic khácăă có tr ng thái trong (internal state), đầu ra của lo i m ch này là hàmăcủa giá tr ăđầu vào t i th i điểm đang xét
và tr ng thái trong hiện t i khi có tác động của tín hiệu vào M ch đ ợcăt o thành
từ một m ch t hợp logic vàăcác phầnătử trễ, thông th ng là các phần tử Flop trên m ch h i tiếp nh làănhững phần tử l u giữ tr ng thái trong của m ch
Flip-2.4 Thanh ghi (Register)
Thanhăghiălàămộtăm chăđiệnătửăđ căbiệtăcóăkh ănĕngăl uăgiữăcácăgiáătr ăcủaămộtădữăliệuănh ăphânăđ ợcăbiểuădiễnăbằngătr ngătháiăt năt iăhayăkhôngăt năt iăđiệnăáp.ăPhầnătửăcơăb năt oănênămộtăthanhăghiălàăD-FlipFlop.ăTrênăhìnhăvẽămôăt ,ădữăliệuănh ăphână4ăbităD3D2D1D0ă(t ăhợpăcủaăhaiăgiáătr ă"0"ăvàă"1"ătrênălốiăvàoăDăt ơngăứngăcủaăcácăD-FlipFlop)ăsẽăđ ợcăchuyểnătớiălốiăraăQ3Q2Q1Q0ăvàăl uăgiữănh ăt ăhợpătínăhiệuăđiềuă khiểnă ghiă Writeă WR,ă tínă hiệuă xungă nh pă đ ngă h ă CLKă vàă tínă hiệuă choă phépăEnableăENă(Hìnhă1.7)
Hình I.7 Mạch tạo thanh ghi 4 bit
L uăýărằng, tínăhiệu ra của thanh ghi đ ợcăđ a qua phần tử 3 tr ng thái đểăt o
kh ănĕng kết nối với những dữăliệu lối ra của cácăthành phần khác
ô nhớădữăliệu, vì mỗi khi giá tr dữ liệu nh phân từ lối vào đ ợcăghi vào thanh ghi,
dữ liệu đó không thay đ i cho đến th i điểmămột dữ liệu mới đ ợc ghi vào Dữ liệu
l uăgiữ trong ôănhớăcó thểăđ c ra đ ợc
Hình I.9 là sơăđ ănguyên lý của một thanh ghi d ch cóăkh ănĕng ghi d ch theo
các h ớng trái, ph i ho c l u giữ (Load) các dữăliệu nh phân 4 bit D3D2D1D0 song song
2.5 M chăc ng hai s li uănh phơn (Binary Adder)
M ch cộng đầy đủ 2 bit nh phân có thể xây dựng nh một m ch t ăhợp logic thực hiện phép cộng hai số nh phân theo quy tắc trong b ng sau, trong đó Carry In là phần nhớ từ phép cộng của hàng bên ph i tr ớc đó, Operand A là giá
tr của bit trong toán h ng A, Operand B là giá tr của bit trong toán h ng B Kết
qu phép cộng 2 bit cho ta t ng Sum vàăbit nhớ Carry Out
Trang 9Hình I.8 Sơ đồ nguyên lý mạch tạo thanh ghi dịch 4 bit
Trongă víă dụă làăphépă cộngăhaiăsốănh ăphână0100Bă(giáă tr ă bằngă4ă trongăhệăthậpăphân)ăvớiăsốă0110Bă(giáătr ăbằngă6ătrongăhệăthậpăphân).ăHàngătrênălàăgiáătr ăcủaăbitănhớătheoăquyăluậtăcộngăđưănêu.ăKếtăqu ăchoătaălàă1010Bă(tứcăbằngă10ătrongăhệăthậpăphân)
Hình I.9 Sơ đồ mạch logic thực hiện phép cộng 2 bit nhị phân – Half Adder (HA)
Từăquyătắcătrên,ăgi ăthiếtătaăxâyădựngăđ ợcămộtăm chăcộngăđầyăđủăthựcăhiệnăphépătoánăcộngănh ăb ngăgiáătr ăcủaăhàmăSi vàăCi vàăkýăhiệuălàămộtăm chăcộngăđầyăđủă(Fullăadder)ăvớiăcácăđầuăvàoălàăAi , Bi vàăCi ,ăđầuăraălàăSi vàăCi+1,ătaăcóăthểăxâyădựngăm chăcộngăhaiădữăliệuănh ăphână4ăbităbằngăcách nốiănốiătiếpă4ăm chăcộngăđầyăđủănh ăHình I.11 ,ăho căm chăcộngăhaiăsốănh ăphânăn bităvớiăn m chăcộngăđầyăđủ.
Trang 10Hình I.10 Sơ đồ mạch logic thực hiện phép cộng 2 bit có nhớ từ hàng trước – FullAdder (FA)
Hình I.11 Sơ đồ mạch logic thực hiện phép cộng 2 dữ liệu 4 bit
Hình I.12 Sơ đồ mạch logic thực hiện phép giải mã chọn 1 trong 4 tổ hợp
Trang 11Ngoài ra, có thể tham kh o thêmăcác m ch d n kênh, m ch mư hoá vàă
gi i mư trong các tài liệu Kỹă thuật điện tử số đ ợc nêu trong tài liệu tham
kh o ăcuối giáo trình này
L u đ trong Hình I.13 cho ta thấyăsơ l ợc các b ớc cơ b n trong quáă
trình thiết kế một máy tính và ph măvi nghiên cứu về Kiến trúc và t chức
máy tính
Hình I.13
Trang 12C H NGăII GI I THI U CHUNG
1 M áy tính và kiến trúc máy tính
1.1 M ăđ u
Máyătínhăđ ợcăcấuăthànhătừăcácăm chăđiệnătửătíchăhợpă(integratedăcircuitsă– IC)
rấtăphứcăt păliênăkếtăvớiănhauăquaăhệăthốngăăăkênhăăătruyềnăăădẫnăđ ợcăg iălàăhệăthốngăBUS.ăCácăkhốiăchứcă nĕngă cơă b nă đ ợcăxâyădựngăvớiăcôngănghệătíchăhợpămậtăđộălớnăg măăđơnăăv ăăxửăălýăătrungătâmă(CPU – Central Proccessingă Unit),ă khốiă
t oă xungă nh pă (Clock),ă
bộ nhớă (Memorry)ă vàăcácă chipă t oă cácă c ngă(Portă Chips)ă ghépă nốiăthiếtă b ă ngo iă viă nh ă
minhăho ătrênăHình II.1
CPUăđ ợcăxâyădựngătừăcácăm chăđiệnătửăphứcăt p,ăcóăkh ănĕngăthựcăthiătấtăc ăcácălệnhătrongătậpălệnhăđ ợcămôăphỏngătr ớc.ăBộănhớăđ ợcăxâyădựngătừăcácăchipănhớ,ăcóăkh ănĕngăl uăgiữăcácălệnhăcủaăch ơngătrìnhăvàădữăliệu.ăCácăchipăt oăc ngăđiềuăkhiểnăviệcătruyăxuấtăđếnăcácăthiếtăb ăngo iăviănh ăbànăphímă(Keyboard),ăchuột (Mouse),ămànăhìnhă(Monitor),ămáyăină(Printer),ăcácă ăđĩaă(DiskăDrivers).ăCPUăchỉătruyăxuấtădữăliệuăđếnătừă(input)ăvàăđiăraă(output)ăthiếtăb ăngo iăviăthôngăquaăcácăchipă
t oăc ng
Cấuătrúcăchứcănĕngăcủaămáyă
tínhă đ ợcă môă phỏngă trênă Hình II.1, HệăđiềuăăhànhăăvàăăNgônăăngữălậpă trìnhă bậcă caoă điềuă khiểnă ho tăđộngă củaă cácă m chă điệnă tửă trongămáyătính.ăKhiăcấpăngu n,ăch ơngătrìnhă kh iăt oăhệăthốngăsẽăn păhệăđiềuă hành (boot hệ thống), ngôn
ngữ lập trình sẽ đ ợc t i vào bộ
nhớ nh ăhệăđiều hành
Trang 13mức trên cùng, máyă tính có thể thực thi các ch ơng trình ứng dụng.ă Các
b năvẽ,ă…,ă đ ợc viếtăbằng các ngôn ngữălập trình khác nhau nh C, C++, ho c là
liên kết giữa các ngôn ngữ Ng i ta sửădụng ngôn ngữălậpătrình trong mối liên kết
là ngôn ngữ duy nhất bao g măcác chỉălệnh (Instruction) mà phần cứng có thểăhiểu
và thực thi, đ ợc t o ra từ cácăt ăhợp các số biểu diễn theo hệ nh phân Các mư nh
phân nàyăđ ợc g i là mưălệnh, chúng t o nên tập lệnh của CPU, giá tr “0” ho c “1”
tửălogic trong m ch điện Cần hiểu rằng, tất c các CPU đều làmăviệc với mư máy
Một khi sửădụng ngôn ngữălập trình bậc cao, sửădụng các phát biểu (Statements), các
ch ơng trình d ch (Compiler) sẽ chuyển đ i (d ch) chúngăra mư máy đểăCPU hiểu
2 Đơn v điều khiển (CU - Control Unit), điều khiển m i ho t động
của tất c các thành phần trong hệ thống máy tính theo ch ơng trình
mà máy tính cần thực hiện
3 Đơn v số h c và Logic (ALU – Arithmetic & Logic Unit), thực hiện các thao tác xử lý dữ liệu thông qua các phép toán số h c và Logic theo sự điều khiển của Đơn v điều khiển Đơn vị điều khiển CU và đơn vị số học-logic ALU được tích hợp trong một chip IC và được gọi
l à Đơn vị xử lý Trung tâm (CPU-Central Proccessing Unit)
4 Thiết b vào (Input Device) thực hiện nhiệm vụ thu nhận cácăthông tin, dữ liệu từ thế giớ bên ngoài, biến đ i thành d ng t ơng thích
ghi vào bộ nhớ
5 Thiết b ra (Output Device) thực hiện nhiệm vụ đ a thông tin, dữ
dụng yêu cầu Thi ết bị vào và thiết bị ra được gọi chung là nhóm thiết
b ị ngoại vi (Peripherals)
Trang 14Sau đâyă ta sẽ tìm hiểu nguyên lý kiến trúc và ho t động của một máy tính
thông qua một máy tính đơn gi n nhất
Máy tính, d ng đơn gi n nhất, đ ợc cấu thành từ bốn khối chức nĕng cơă
b n sau:
Khối điều khiển và xử lý dữ liệu: Khối chức nĕng nàyăđ ợc tích hợp trong
Proccessing Unit)
Khối l u trữădữăliệu đ ợcăg i là b ộ nhớ (Memory)
Khối chức nĕng cung cấp dữ liệu cho máy tính xử lý, ho c ph n ánh dữ
liệu đư đ ợc xử lý do máy tính cung cấp, đ ợc g i là kh ối các thiết bị nhập
xu ất (I/O devices)
Các kênh truyền dẫn cung cấp sựăliên l c và trao đ i dữ liệu giữa cácăkhối
trên, đ ợc g i làăk ênh liên kết hệ thống (BUS)
Trong một máy tính, mỗi khối thực hiện các chức nĕng nói trên có thểăt n t i nhiều đơn v , d ới các d ng khácănhau, trong đó CPU là quan tr ng nhất
Đơn v xử lý trung tâm (CPU) có thể xử lý đ ợc các lệnh với khuôn d ng từ
lệnh, giả sử với độ dài 8 bit, nh sau:
Lệnh đ ợcăt o từ hai phần: Mư lệnh vàăđ a chỉ toán h ng
Mư lệnh là một giáătr nh phân 4 bit, mỗi t hợp là một lệnh có chức nĕng khác nhau, phần chứa đ a chỉ toán h ng cũng là một giá tr nh phân 4 bit, xácăđ nh v trí
của ô nhớ trong bộ nhớ Phần đ a chỉ xác đ nh toán h ng màălệnh trực tiếp xử lý Đơn v xử lý trung tâm g m hai thành phần chức nĕng: Đơn v số h c- logic ALU (Arithmetic-Logic Unit) vàăđơn v điều khiển CU (Control Unit) (Hình II.2.)
Đơn v điều khiển CU cóăchức nĕng lấy lệnh theo tuần tự đ ợcăl u giữătừ trong
bộ nhớ, gi i mư lệnh và t o các tín hiệu điều khiển ho t động củaăcácăkhối chức
nĕng bên trong và bên ngoài CPU
Lệnh đ c từ ô nhớ đ ợc đ a vào thanh ghi lệnh IR, đ ợc gi i mư t iăkhối gi i
mưălệnhăIDăđểăxácăđ nh công việc CPU cần thực hiện
Trang 15WR
Hình II.2 Sơ đồ cấu trúc máy tính đơn giản
Đơn v điều khiển CU g m thanh ghi lệnh IR (Instruction Register), làă nơi
chứa lệnh mà CPU đ c về từ ô nhớ lệnh, bao g măc phần mư lệnh vàăphần đ a chỉ
toán h ng, khối gi i mư lệnh ID (Instruction Decoder), m chăgi i mư này gi i mư
lệnh để xác đ nh nhiệm vụ mà lệnh yêu cấu CPU xử lý, t o các tín hiệu điều khiển các tác vụ của CPU khi thực thi lệnh và thanh đếmăch ơng trình PC (Program Counter) Thanh đếmă ch ơng trình PC làm nhiệm vụ con trỏ lệnh (Instruction Pointer), chứa đ a chỉ của ô nhớ chứa lệnh sẽ thực thi trong tuần tự thực hiện
ch ơng trình Do vậy sau khi CPU đ c đ ợc một lệnh từăbộ nhớ ch ơng trình, sau khi đ ợc gi i mư, thông qua điều khiển của CU thì PC đ ợcătĕng nội dung lên để chỉ
vào ôănhớ chứa lệnh tiếp theo Trong tr ng hợp g p lệnh rẽ nhánh hay lệnh g i
ch ơng trình con, nội dung thanh đếm PC thay đ i tuỳ theo giá tr ă đ a chỉ mà
lập trình
CPU có cácăthanh ghi: thanh ghi gộp (Acc – Accummulator), thanh ghi t măth i TEMP (temporary), thanh ghi đệm đ a chỉ MAR (Memory Address Register), thanh ghi đệm bộ nhớ MBR (Memory Buffer Register), và thanh ghi c Flags Thanh ghi Acc đ ợc sửădụng để chứa nội dung một toán h ng, và thông th ng là nơi chứa kết
qu thực hiện phép toán, thanh ghi t măth i chứa nội dung toán h ng thứ hai trong
các phép toán hai ngôi Nội dung thanh ghi MAR là đ a chỉ của ô nhớ mà CPU
Trang 16đang truy xuất, còn nội dung thanh ghi MBR là dữăliệu đ c đ ợc từăbộ nhớ ho c sẽ
đ ợc ghi vào ô nhớ.ăThanh ghi c Flags g măcác bit biểu diễn tr ng thái của kết qu
c ăcó 3 bit, đó làăbit dấu (S – Sign) biểu diễnăgiáătr dữ liệuălàăâm hay d ơng, bit
kh ông ( Z-Zero) biểu diễn kết qu phép toán khác 0 hay bằng 0, bit nhớ (C – Carry)
biểu diễn tr ng thái kết qu phép toán có bit nhớ hay không có bit nhớ.ăGiáătr các bit c tr ng thái đ ợcăđ nh nghĩa nh sau:
Kết qu ălàămột số âm: (S) = 1 ; dấu ngo căthểăhiện nội dung của bit
Kết qu ăbằng 0: (Z) = 1
Kết qu ăcó nhớ: (C) = 1
Ho t động thực thi một lệnh trong ch ơng trình của máy tính có thểătóm tắt
nh sau:
Ch ơng trình và số liệu ban đầu đ ợc l u giữ bộ nhớ trung tâm, đóălàăbộ
1 Bắt đầu ch ơng trình, lệnh đầu tiên của ch ơng trình trong
điều khiển (CU) Tác vụ đ ợc g i là tác vụ nh n l ệnh (Instruction
Fetch)
2 CU tiến hành gi i mư lệnh, xácăđ nh nội dung phép toán cần xửălý là
phép tính nào, trên các dữăliệu nào Đâyălà tác vụ gi ải mã lệnh (ID –
Instruction Decoder)
3 Nếu lệnh đòi hỏi làm việc với các toán h ng (đ ợc xác đ nh trong
lệnh), CU xác đ nh đ a chỉ t ơng ứng của toán h ng trong vùng nhớ
dữ liệu ho c đ ợc nhập vào từ thiết b ngo i vi Tácăvụ nàyăđ ợc
g i là t ạo địa chỉ toán hạng (GOA - Generate Operand Address)
4 Sau khi đ a chỉ toán h ng đ ợc t o, CU phát các tín hiệu điềuăkhiển
tới các thành phần liên quan đểănhận toán h ng, đ t vàoăcác thanh ghi xác đ nh trong CPU Tác vụ đ ợc g i là nh n t oán hạng
(Operand Fetch)
5 CU phát cácă tín hiệuă điều khiển tới Đơnă v ă Sốă h c-Logic (ALU) ALU thực hiện phép toán đ ợc yêu cầu trong mư lệnh Tácă
vụ này g i là th ực hiện (Execute)
6 Kết qu xử lý đ ợc đ t trong thanh ghi gộp (Acc) ho c đ ợc l u
vào bộ nhớ trong tuỳă thuộc sự xác đ nh nơi l u giữă thể hiện đích (destination) trong lệnh Tácăvụ đ ợcă g i là Ghi l ại kết quả (Write
Back)
Trang 17Trong tr ng hợp CU gi i mư lệnh và đó là lệnh rẽ nhánh ch ơng trình,
CU tính đ a chỉ ô nhớ chứa lệnh cần thực hiện tiếp và phát tín hiệu điều khiển để
nhận lệnh về, công việc đ ợc tiến hành tuần tựănh ătừ b ớc Nếu không ph i làălệnh
rẽ nhánh ch ơng trình, CPU phát cácătín hiệu điều khiển để lấyăvề lệnh kế tiếp trong
ô nhớ đứng ngay sau lệnh vừ thực hiện, ho t động xẩy ra nh từ b ớc 2
Khi máy tính đ ợc sử dụngăđể giám sát hayăđiều khiển một quá trình thực,
việcăgiao tiếp giữa máy tính và con ng i đ ợc mô t đơn gi n hoá nh Hình II.3 Thông qua ch ơngătrình giao tiếp và các thiết b Vào/Ra, con ng i làm nhiệm
vụ giám sát ho căđiềuăkhiển ho tăđộng của máy mócăho c quá trình
H ình II.3 Giao diện Máy tính - Con người - Máy móc
ămứcăđộăđơnăgi năvàăph ăbiếnănhất,ăconăng iăgiaoătiếpătrựcătiếpăvớiămáyătínhăthôngăquaăcácăthiếtăb ăVàoăvàăthiếtăb ăRaăcủaănó.ăCácăthiếtăb ănàyăđ ợcăg iămộtătênăchungălàăthiếtăb ăngo iăviă(Peripheralsăho căI/OăDevices).ăConăng iăgửiăyêuăcầuă(lệnhăho cădữăliệu)ăvàoămáyătínhăbằngăcáchăsửădụngăthiếtăb ănhậpădữăliệu,ămáyătínhăxửălýădữ liệuăvàăsauăkhiăthựcăhiệnăxongăgửiătr ăkếtăqu ăraăthiếtăb ăxuấtădữăliệu.ă ămứcăđộăcaoăhơnăconăng iăsửădụngămáyătínhăđểăđiềuăkhiểnămộtăđốiăt ợngăthứăbaă(máyămócăho căthiếtăb ).ăConăng iăgửiătínăhiệuăđiềuăkhiểnăvàoămáyătính,ămáyătínhăxửălýăcácădữăliệuăđ ợc cung cấp vàătrực tiếp gửi yêu cầu tới thiết b để thiết b
thực hiện các thao tác đáp ứng yêu cầu của con ng i Máy tính cũng có thể
gửi kết qu xử lý ra thiếtăb xuất đểăcon ng i kiểm tra l i yêu cầu của mình
Trang 18Với một mức độ tựăđộng hóa cao hơn, con ng i chỉ gửi ch ơng trình điều khiển thiết b vào máy tính một lần, máy tính nhận dữ liệu, xử lý dữ liệu và gửi yêu
cầu tới thiết b Về phần mình, thiết b , sau khi đáp ứng yêu cầu của con ng i sẽ
gửi tr kết qu về máy tính và trên cơ s đó máyătính sẽ xửălý vàăgửi các tín hiệu điều khiển tiếp theo tới thiết b
Máy tính nhận thông tin từ bên ngoài, xử lý thông tin nhận đ ợc vàăgửi tr l i kết
qu Đây là mối quan hệ trao đ i hai chiều, song luôn luôn xuất phát từ yêu cầu
1.2 C h c nĕng c a máy tính
l ệnh do người lập trình cung cấp Ch ương trình là t p hợp các lệnh được người l p
tr ình chọn lọc và s p xếp theo một tuần tự ch t chẽ thông qua nguyên t c xử lý,
gi ải quyết một vấn đề cụ thể (hay còn gọi là thu t giải)
Để thực hiện chức nĕng này, ch ơng trình đ ợc l u giữătrong bộ nhớ,ăviệc thực
hiện ch ơng trình thực chất làăcác tác vụ thực thi lệnh theo tuần tựăđư đ ợc ng i
lập trình quy đ nh Quá trình thực thi 1 lệnh, nh đư trình bàyă ătrên, g m cácăgiai
đo n sau:
1 Nhận lệnh IF-Instruction Fetch
2 Gi i mưălệnh ID-Instruction Decoder
3 T o đ a chỉ toán h ng GOA-Generate Operand Address
4 Nhận toán h ng OF-Operand Fetch
Generate Operand Address
Operand Fetch Execute
Write Back
Th iăgian
Trang 19Việc đ m b o thực hiện ch ơng trình theo tuần tự, nh đư nói trên, là do
CU đ m nhận thông qua việc điều khiển sự thay đ i nội dung của thanh đếm
ch ơng trình PC Tuần tự cácălệnh trong ch ơng trình làădo ng iălập trình quyết
đ nh thông qua việc viết ch ơng trình theo thuật gi i
Khi thực hiện một ch ơng trình, thông th ng máy tính thực hiện các công
việc sau:
Thứ nhất, X ử lý dữ liệu: Xử lý các yêu cầu của con ng i/thiết b trênăcơ s các
dữ liệu đ ợc nhập vào Đâyălà chức nĕng quan tr ng nhất Dữ liệuăcó thể nhiều
d ng khác nhau và các yêu cầu xửălý cũng rất khác biệt Tuy nhiên máy tính chỉ có
thể thực hiện đ ợcămột số l ợng hữu h n các thao tácăxửălý cơăb n, ng iălập trình dựa trênăcác kh nĕng xử lý dó mà t o ra những kh nĕng xửălý các vấn đề lớn hơnă
và phức t p hơn thông qua công việc lập trình
Thứăhai, L ưu trữ dữ liệu: Muốn công việc xửălý dữăliệu đ t hiệu qu ăcao, máy tính ph i có kh nĕng l u trữăt măth i dữ liệu vàăl u trữ dữăliệu dài h n để tái sử
dụng sau này
Thứ ba, Di chuy ển dữ liệu: Để phục vụ việc xử lý, dữă liệu ph i có thểă di chuyển từ điểmănày tới điểmăkhác bên trong máy tính Ngoài ra, để có dữăliệu cho
xử lý và gửi kết qu ra bên ngoài, máy tính ph i có kh nĕng trao đ i dữ liệu với
môi tr ng bên ngoài
Thứ t , Điều khiển: Để thực hiện cóăhiệu qu ăba chức nĕng nói trên,ăcác tácăvụ
máy tính thực hiện ph iăđ ợc điều khiển một cách đ ng bộ vàăhợp lý Quy trình điều khiển nàyă sẽ đ ợc thực hiện nh con ng i cung cấp lệnh cho máy tính thi hành thông qua một đơn v điều khiển bên trong máy tính
Kiến trúc máy tính ph i đ ợc thiết kế đểă máy tính có kh nĕng thực hiện
những công việcănày
Hình II.4 Kênh dữ liệu liên kết các thành phần chức năng
Trang 201.3 Ki nătrúcămáy tính vƠ c u trúc máy tính
Để tìm hiểu kiến trúc máy tính, cần phân biệt rõ sự khác nhau cơ b n, thuộc vềănguyên lý giữa ki ến trúc (architecture) và t ổ ch c và cấu trúc (organization &
structure) của một máy tính:
Ki ến trúc máy tính nghiên c u những thuộc tính c a một hệ thống màăng i
lập trình có thể nhìn thấy đ ợc, nh ững thuộc tính quyết định trực tiếp đến việc
th ực thi một chương trình tính toán, xử lý dữ liệu
C ấu trúc máy tính nghiên c u về các thành phần ch c năng và sự kết nối
gi ữa chúng để tạo nên một máy tính, nhằmăthực hiện những chức nĕng vàătính nĕng
kỹ thuật của kiến trúc
Những thuộc tính liên quan đến kiến trúc bao g m tập lệnh cơ bản mà
CPU c ó thể thực hiện, số bit được sử dụng để biểu diễn các loại dữ liệu khác
máy tính l i bao g m các thuộc tính kỹ thuật mà ng iălập trình không nhận biết
đ ợc nh ăcác tín hiệu điều khiển, giao diện giữa máy tính và thiết b ngo i vi, công nghệ xây dựng bộ nhớ,ăv.v…
Trang 21Chẳng h n việc quyết đ nh máy tính có cần một lệnh cơ b n để thực hiện phép
nhân hay không là vấn đề vềăkiến trúc Còn thể hiện lệnh nhân bằng các đơn v vật
lý cụ thể nào (chẳng h n, một đơn v thuộc phần cứng đ c biệt, hay thực hiện l p nhiều phép cộng) l i làăvấn đềăvề cấu trúc
Để làm ví dụ minh h a sự khác biệt đó ta có thể xemăcác máy tính ăTrung tâm nghiên cứu nào đó Các máy tính này cóăthểăcó kiến trúc rất giống nhau theo quan điểmăcủa ng i lập trình Chúng có cùng số thanh ghi (tức làăthiết b l u trữ
t măth i), có cùng một tập lệnh cơ b n và d ng các toán h ng đ ợc n p vào bộ nhớ
giống nhau Tuy nhiên các hệ thống này khác nhau vềăm t cấu trúc: số bộ vi xử lýă
khác nhau, kích th ớc bộ nhớ của chúng cũng khácăhẳn nhau,ăcách thứcădữ liệu đ ợc truyền từ bộănhớăđếnăbộ vi xử lý cũng không giống nhau
Ki ến trúc máy tính thường được ng dụng trong khoảng thời gian dài, hàng
ch ục năm; trong khi cấu trúc thường thay đổi cùng với sự phát triển c a công
ngh ệ Trên cùng một kiến trúc, các hãng chế tạo máy tính có thể đưa ra nhiều loại
m áy tính khác nhau về cấu trúc, do đó các đ c trưng về hiệu suất, giá thành cũng
kh ác nhau Các sản phẩm c a IBM là một ví dụ điển hình Kiến trúc máy tính c a
IBM v ẫn còn được ng dụng cho tới ngày nay và là ngọn cờ c a thương hiệu IBM.
Trong lĩnh vực máy PC, ng i ta th ng không phân biệt rõ ràng giữa kiến
trúc và cấu trúc vì sự khác biệt giữa hai khái niệmănày đư rút ngắn đáng kể Sự phát triển của công nghệăkhông chỉ tác động lên cấu trúc mà còn t oăđiều kiệnăphátătriển
các kiến trúc m nh hơn và nhiều tính nĕng hơn; vàădo đóătác động qua l i giữa kiến
trúcăvà cấu trúc th ng xuyên hơn
Ngoài kiếnătrúc máy tính và cấu trúc máy tính còn có một lĩnh vực làăkỹăthuật
máy tính nghiên cứu việc xâyădựng cụ thể các hệ thống: chẳng h n nh độ dài dây
dẫn t o BUS, kích cỡ các vi m ch, v.v Ng i lập trình th ng cần đến kiến
thức về kiến trúc, đôi khi cần những hiểu biết về cấuătrúc, nh ng th ng rất ít khi
cần đến những hiểu biết vềăkỹ thuật máy tính
Hiểu kiến trúc máy tính có thể giúp ng i lập trình nhận biết khi nàoăch ơng
trình của mình t o ra ch y ch a đ t hiệu suất tối đa của hệ thống, hiểu đ ợcăcác
kỹ nĕngălàm tĕng hiệu suất ch ơng trình, v.v
1.4 Ki nătrúcămáy tính Von Neumann
John von Neumann (Neumann J ános, 28 tháng 12, 1903 – 8 tháng 2, 1957) là
đư có nhiều đóng góp vào các chuyên ngành vật lý l ợng tử, gi i tích hàm, lý thuyết
tập hợp, kinh tế, khoa h c máy tính, gi i tích số, thủy động lực h c, thống kêă và
Trang 22nhiều lĩnh vực toán h c khác Đáng chú ý nhất, von Neumann là nhà tiên phong của
m áy tính kỹ thu t số hiện đ i vàăáp dụng củaălý thuyết toán tử (operator theory)ăvào
cơăh căl ợng tử
Nĕm 1945, ông đưă đ a ra một đề ngh vềăkiến trúc máy tính nh sau:
Lệnh (Instruction) và dữ liệu
(Data) ph ải được lưu giữ trong một bộ
nh ớ ghi/đọc được.
ắừng ô nhớ trong bộ nhớ phải
được định vị bằng địa c hỉ Sự định địa
ch ỉ là tuần tự và không phụ thuộc vào nội dung c a ừng ô nhớ.
Ch ương trình xử lý, giải bài toán phải thực hiện tuần tự từ lệnh này đến
l ệnh tiếp theo, từ lệnh b t đầu đến lệnh cuối cùng.
2 T ổng quan về kiến trúc máy tính
g m đơn v xử lý trung tâm, bộ nhớăvàăcácăthiết b vào/ra đ ợcăkết nối với nhau Hệ
thống đ ng truyền dẫn liên kết các khối là một trong những vấn đề mà cácă
hưng chếăt o máy tính g p nhiều nan gi i nhất Đểănắm đ ợcănhững kiến thức cơăb n
vềăkiến trúc, chúng ta sẽăbắt đầu bằng việcătìm hiểu về h ớng phát triển kiến trúc
nhớ, thiết b vào/ra, đơn v điều khiển truy cập trựcătiếp bộ nhớ, đơn v điều khiển
ngắt, đơn v t o xung nh p, đơn v diều khiển, v.v…
2.1 Li ênăk tăcác kh i kh i ch c nĕng
2.1.1 B x lỦ trung tơm (CPU) vƠ b nh
Nói đến máy tính tức là bàn luận về sự phối hợp giữa thực hiện xử lý (processing) d ữ liệu và đưa ra kết lu n (making decisions) Việc xử lý vàăđ a ra
kết luận đ ợc thực hiện b i Đơn vị xử lý trung tâm hay còn g i làă CPU của
máy tính Vậy thì “bộ nưo” của máy tính chính là CPU CPU không ph i là
một bộ phận chức nĕng biết suy nghĩ và biết thực hiện công việc, song nó có kh ă
nĕng thực hiện những ý đ và công việcăcủa ng i sửădụng thông qua các lệnh
l à t p hợp các lệnh được chọn lọc và s p xếp theo một tuần tự ch t chẽ thông qua
ngu yên t c xử lý, giải quyết một vấn đề cụ thể (hay còn gọi là thu t giải) Ch ơng
trình và dữ liệu t ơng ứng đ ợcăl u giữ trong bộ nhớ của máy tính Bộ nhớ đ ợcăchia ra thành 2 phần:
Trang 23Phần lưu giữ chương trình được gọi là bộ nhớ chương trình hay
Program Memory.
Ph ần lưu giữ dữ liệu (dữ liệu để xử lý và dữ liệu kết quả) được gọi là bộ
nh ớ dữ liệu hay Data Memory.
Nh ăvậy,ăCPUăcầnăcóăbộănhớăđểăl uăgiữăch ơngătrìnhăvàădữăliệu.ăTheoăhìnhăvẽ,ăthấyărằngăCPUăchỉăđ căch ơngătrình,ăsongăvớiădữăliệu,ănóăph iăđ căraăđểăxửălýăvàăph iăghiăl iăkếtăqu ,ăt ơngăứngăvớiăcácămũiătênămộtăchiềuăvàămũiătênăhaiăchiềuătrênăhình
2.1.2 CPU, b nh vƠ thi t b vƠo/ra
CPU liênă l că với cácă thiết b bên ngoàiă (hay còn g iă là thiết bị ngoại vi – peripherals) để đ c dữ liệu, lệnh và đ a ra kết qu đư đ ợc xử lý, ví dụănh bàn
phím, máy in, màn hình Chức nĕng của các thiết b này là giao diện giữa ng i
sử dụng và máy tính Các thiết b này đ ợc g i chung làăthiết bị vào/ra, hay thiết
b ị nh p/xuất, (I/O device) Một máy tính có thể cóărất nhiều thiết b vào/ra
Hình II.6 CPU trong liên kết với bộ nhớ, thiết bị vào/ra
và khả năng truy cập trực tiếp bộ nhớ
Trang 24Thông th ng,ăcác thiết b vào/ra không t ơng thích đ ợc với CPU vềăm t mức
tín hiệu (điện áp thể hiện mức logic “0” ho c “1”) và tốc độ v.v…,ădo đó ta cần ph i
b sung vào giữa chúngă các khối phối ghép (hay còn g i làă giao diện – I/O interface)
2.1.3 CPU, b nh , thi t b vƠo ra vƠ kh nĕng truy c p tr c ti p b nh
Rõ ràng, việcătrao đ i dữăliệu giữa bộ nhớ và thiết b ngo i vi đều ph i thông qua CPU M c dù có lúc nào đó CPU không cóăyêu cầu dữ liệu, nh ng nó điều khiển
quá trình trao đ i dữ liệu của m i thành phần trong máy tính
Điều đó làm cho CPU tham gia vào m i ho t động và tốc độ xử lý của CPU
chậm đi rất nhiều
Để gi i quyết vấn đềănày, kiến trúc máy tính đ a ra gi i pháp thiết b ăvào/ra
đ ợc phép truy cập trực tiếp bộ nhớ (DMA-Direct Memory Access) Để thay thế CPU trong việc truy cập trực tiếp vào bộ nhớ, thiết b vào/ra đ ợc ghép thêmăđơn v ă điều khiển truy cập trực tiếp bộ nhớ DMAC (DMA Controler) Cơ chế này
thực sự mang l i hiệu qu lớn trong các hệ thống máy tính thu thập và xử lý
những khối dữ liệu phức t p và đ ợc thực hiện nh sau:
Khi thiết b vào ra yêu cầu truyăcập vào bộ nhớ, thay vì CPU tham gia vào
toàn bộ quá trình này, thiếtăb vào/ra đ a ra yêu cầu thựcăhiệnătruyăcập trực tiếp bộ
CPU nhận yêu cầu, thực hiện việc trao quyền sử dụng đ ng truyềnădẫn
dữăliệu cho thiết b vào/ra (tức là treo d ng truyền dẫn dữ liệu giữa bộ nhớ, thiết b
vào/ra và CPU), sau đó gửi thông báo nhận biết và đ ng ý cho thiết b vào/ra qua DMA Acknowledge Line) Những tín hiệu trao đ i này đ ợcăg i là tín hiệu bắt tay (Handshaking)
Thiết b vào/ra thực hiện việc Ghi ho c Đ c bộ nhớ trực tiếp qua
đ ng truyền dẫnădữăliệu không thông qua CPU Nh ăvậy CPU có thểătiếp tục thực
hiện các thao tácăxử lý khác
Hình II.7 CPU, bộ nhớ, thiết bị vào ra và khả năng sử dụng ngắt
Trang 252.1.4 CPU, b nh , thi t b vƠo ra vƠ kh nĕng s d ng ng t
Khối chức nĕng tiếp theo thực hiện việc đáp ứng yêu cầu phục vụ của CPU đối vớiă các thiết b ă vào/ra làă thiếtă b ă điều khiểnă ngắtă (Interrupt Controller)
Để hiểu ngắt cần thiết nh thế nào, ta xét những kh ănĕng sau:
Thiết b vào/ra chỉ cần đến CPU khi có sự trao đ i dữ liệu giữa CPU với thiết b vào/ra
Một số thiết b vào/ra ho t động rất chậmăso với kh nĕng xử lý của CPU,
do vậy, việc CPU ph i ch đợi để trao đ i dữ liệu làmămất rấtănhiều th i gian
Dựa trên thực tế này, kiến trúc máy tính đề ngh một gi i pháp hữu hiệu
nhằm làm tĕng hiệuăsuất ho t động xửălýădữ liệuăcủa CPU cũng nh của máy tính nói chung Gi i pháp dựa trên quy trình sau:
Thiết b ngo i vi muốn làm việc với CPU ph i gửi yêu cầu ngắt đến CPU thông qua tín hiệu yêu cầu ngắt (Interrupt Request Signal)
CPU t mădừng tiến trình đang thực hiện, gửi tín hiệu chấp nhận phục vụ
ngắt cho thiết b vào/ra
CPU tiến hành phục vụ thiết b vào/ra thực chất là thực hiện việc trao đ i dữă
liệu, khi thực hiện xong thì quay về tiếp tục công việc đang bỏăd
2.1.5 Kh i xung nh p (Clock) vƠ kh i điều khiển (Control)
Đư có thể nhìn thấy rằng, chỉ cần thêm vào 2 khối cơ b n nữa là ta cóămột cấu
trúc máy tính hoàn chỉnh: Khối xung nh p (Clock) và khối điều khiển (Control)
Có thể nói khối điều khiển là sợi chỉ xuyên suốt, chỉ đ o m i ho t động của tất
bao gi xẩy ra bất cứăsựătranh chấp nào Khối t oănh p Clock thực hiện việc đ nh
th i cho m i ho t động trong máyătính đ ợcăđ ng bộ hoá
2.2 Ki nătrúcămáy tính nhìnăt gócăđ c uătrúc c ăb n
Một hệ thống máy tính ph i cóăcácătính nĕng cơ b n sau:
1 Kh nĕng thực hiện Vào/Ra - là khâu nối hay giao diện giữa ng i sửădụng
vàămáy tính
2.ăăKh ănĕngăNg t - choăphépămáyătínhăho tăđộngăhiệuăsuấtăhơnăvàămềmădẻoăhơn
3 Kh nĕng Truy C p Trực tiếp Bộ Nhớ - cho phép các thiết b vào/ra làmă
việc với bộ nhớ mà không nh h ng đến tiến trình thực hiệnăch ơng trình
của CPU
Trang 26Cácăkh i ch c nĕng ch y u gồm:
1 CPU - đó là bộ nưo của máy tính
2 B ộ nhớ - nơi l u giữ m i dữ liệu của máy tính
3 Kh ối điều khiển - Điều khiển sựăl u thông của các dòng dữ liệu trong tiến
trình, đ m b o không xẩy ra tranh chấp giữaăcác khối chức nĕng
4 Logic y êu cầu ng t thiết lập quan hệ phục vụ hợp lý của CPU với cácăthiết
b vào/ra
5 Kh ối phối ghỨp vào/ra thực hiện việc đ ng nhất hoá cácălo i tín hiệu, đ nh
th i giữa CPU vàăcácăthiết b vào/ra
6 T ạo nhịp Clock thực hiện việc đ nh th i cho toàn bộ hệ thống
Hình II.8 Kiến trúc Máy tính nhìn từ góc độ cấu trúc
Đểămôăt ăsơăđ ăt ăchứcănguyênălý.ăThuậtăngữăđ ợcădùngănhằmăminhăho ănhữngăkhốiăchứcănĕngăcầnăthiếtăvàăcácăkênhătruyềnădẫnăliênăkếtăchúngăđểăcấuăthànhămộtămáyătính
Trong các ch ơng tiếp theo, chúng ta sẽ tìm hiểu phần kiến trúc các BUS hệ
thống, kiến trúc CPU, kiến trúc khối điều khiển ắKiến trúc” nôm na có nghĩa là các sơ đ c ác tổ hợp liên kết các khối-chức năng và cấu hình hệ thống.
Trang 273 Bi ểu diễn thông tin trong máy tính
Các máyătính xử lý các thông tin số và chữ Các thông tin đ ợc biểuădiễn d ới
d ng mư nhất đ nh B n chất vật lý của việc biểu diễn thông tin làăđiện áp (“0” ứng
với không có điện áp, “1” ứng với điện áp mức quy chuẩn trong m ch điện
tử) và việc mư hoá các thông tin số và chữăđ ợc tuânătheo chuẩn quốc tế M ã hiệu
để mã hoá các thông tin cho máy tính xử lý là các giá trị c a biến nhị phân "0" ho c
"1", t ương ng với biến logic "False" ho c "True" Một biến chỉ nhận một trong hai giá tr duy nhất là “0” ho că“1” đ ợc g i là một bit (Binary Digit) Hai tr ng
thái này của bit, thực chấtă là các giá tr t ơng ứng với "False" ho c "True", hay
tr ng thái "tắt" hoĕcă"đóng" của một công tắc điện, đ ợc sửădụng để mư hoá cho tất
c các ký tựă (g m số, chữ và các ký tự đ c biệt khác) Các bit đ ợc ghép l i
thành cácăđơn v mang thông tin đầy đủ - các mư tự - cho các ký tự biểu diễn các số,ăcácăký tự chữ vàăcácăký tự đ căbiệt khác
Bită(BInaryădigiT)ălàăđơnăv ăcơăb nămangăthôngătinătrongăhệăđếmănh ăphân.ăCácă
m chăđiệnătửătrongămáyătínhăphátăhiệnăsựăkhácănhauăgiữaăhaiătr ngătháiă(điệnăápămứcă
“1”ăvàăđiệnăápămứcă“0”)ăvàăbiểuădiễnăhaiătr ngătháiăđóăd ớiăd ngămộtătrongăhaiăsốă
nh ăphână“1”ăho că“0”
Nhómă 8ă bită ghépă kềă liềnă nhau,ă t oă thànhă đơnă v ă dữă liệuă cơă s ă củaă máyă tínhă
đ ợcăg iălàă1ăByte.ăDoăđ ợcăl uăgiữăt ơngăđ ơngăvớiămộtăkýătựă(số,ăchữăho căkýătựă
đ căbiệt)ănênăByteăcũngălàăđơnăv ăcơăs ăđểăđoăcácăkh ănĕngăl uăgiữ,ăxửălýăcủaăcácămáyătính.ăCácăthuậtăngữănh ăKiloByte,ăMegaByteăhayăGigaByteăth ngăđ ợcădùngălàmăbộiăsốătrongăviệcăđếmăByte,ădĩănhiênătheoăhệăđếmănh ăphân,ănghĩaălà:
1KiloByte = 1024 Bytes,
1MegaByte = 1024 KiloBytes,
1GigaByte = 1024 MegaBytes
Cácăđơnăv ănàyăđ ợcăviếtătắtăt ơngăứngălàăKB,ăMBăvàăGB
3.1 M ƣ hoá các thông tin không s
Có hai lo i mưăph cập nhất đ ợcăsử dụng làămưăASCIIăvàăEBCDIC
Mư ASCII (American Standard Code for Information Interchange)
dùng 7 bits đểămưăhoáăcácăký tự
Trang 28Mư EBCDIC (Extended Binary Coded Decimal Interchange Code) dùng
c ă8 bits (1 Byte)ăđể mưăhoáăthông tin
Lo i mư tr ớc đây đ ợc dùng nhiều trong ngành b u điện, trong cácămáy teletypeălàămưăBAUDOT, chỉ sử dụng 5 bits đểămưăhoá thông tin
T n t i nhiều lo i mư khác nhau, nh ng hầu nh không đ ợc sử dụng trong cácămáy tính thông dụng…
Hệ đếm thập phân sử dụng 10 kí hiệu khác nhau để biểu diễn các số:
0, 1, 2, ., 9 Để biểu diễn các số lớn hơn 10, hệ đếmăthập phân sử dụng k í
p háp vị trí Theo kí pháp này giáătr mà kí hiệu biểu diễnăphụ thuộc vào v tríăcủa nó trong dưy kí hiệu Ví dụ 2 trong số 29 biểu diễn số 20, nh ng trong 92 biểu diễn
số 2 Cũng cần nhắc l i rằng: tất c các hệ đếm đều tuân thủ kýăpháp v trí
Với các số 0, 1, 2, , 9 và kí pháp v trí chúng ta có thể biễu diễn m i số tự nhiên lớn tùy ý Quy tắc biểu diễn t ng quát một số tự nhiên trong hệăthập phân là
ăđây 10 đ ợc g i làăcơ số của hệ đếm và các số 10-n, , 10-1,101, 102, , 10n
đ ợcăg i làăcácătr ng số
L u ý rằng thay cho 10 chúng ta có thể sử dụng số tự nhiên a bất kỳăvà kí
pháp v trí để biểu diễn m i số cũng với quy tắc trên Khi đó hệ đếm đ ợc g i là
hệ đếm cơ số a Ví dụ nh hệ đếm cơ số 12 dùng để biểu diễn th i gian
Trang 293.3 H ăđ m nh phơn
Máy tính số đ ợc xây dựng từ các m ch điện tử Các m ch điện tửătrong
máy tính phân biệt đ ợc sự khác nhau giữa hai tr ng thái (có dòng điện hay không, điệp áp cao hay thấp, v.v.) và biểu diễn các tr ng thái đóăd ới d ng
một trong hai số 1 ho că0 Vì vậy cácăsố 0 vàă1ărất thích hợp vàăđủăđể biểu diễn
các số tùyăý trong máy tính Việc chế t o một m ch điện tin cậyăcó thểăphân
biệt đ ợc sự khác nhau giữa 1 và 0 t ơng đối dễăvà rẻ, hơn nữa máy tính có
kh ănĕng xử lý nội bộ các số 0 vàă1 rất chính xác
Các số 0 và 1 đ ợc g i là các số nh phân Hệ đếmănh phân là hệ đếmăchỉ
dùng các số 0 và 1 và kí pháp v trí để biểu diễn các số Trong hệ đếmănày
2 là cơ số, các số , 2-2, 2-1, 20, 21, 22, v.v là tr ng số Ví dụ số thậpăphân 26.5 đ ợc biểu diễn trong hệ nh phân với d ng:
(chỉ số d ới biểu diễn cơăsố của hệ đếm)
4 Chuyển đổi giữa các hệ đếm
4.1.ăChuyểnăđổiăh ăth păphơnăsangăh ănh ăphơn
Đểăchuyểnăđ iămộtăsốă ăhệăthậpăphânăsangăhệănh ăphânăcầnăthựcăhiệnăcácăb ớcăsau:
B1.ăăTáchăphầnănguyênăvàăphầnăthậpăphân;
B2.ăăChuyểnăđ iăphầnănguyênăvàăphầnăthậpăphânăsangăhệănh ăphân;
B3.ăăGhépăl iăthànhăkếtăqu
* Ph ơngăthứcăsốăd ăđểăbiếnăđ iăphầnănguyênăcủaăsốăthậpăphânăsangănh ăphân.ă
Víăd :ăĐ iă23.37510ăsangănh ăphân.ăChúngătaăsẽăchuyểnăđ iăphầnănguyênădùngă
Trang 30* Ph ơngăthứcănhânăđểăbiếnăđ iăphầnălẻăcủaăsốăthậpăphânăsangănh ăphân:
0.375 x 2 = 0.75 Phầnănguyênă=ă0 0.75 x 2 = 1.5 Phầnănguyênă=ă1 0.5 x 2 = 1.0 Phầnănguyênă=ă1 Kếtăqu :ă(0.375)10 = (0.011)2 Kếtăqu ăcuốiăcùngănhậnăđ ợcălà:ă23.37510 = 10111.0112
Tuyănhiên,ătrongăviệcăbiếnăđ iăphầnălẻăcủaămộtăsốăthậpăphânăsangăsốănh ăphânătheoăph ơngăthứcănhân,ăcóămộtăsốătr ngăhợpăviệcăbiếnăđ iăsốăl păl iăvôăh n.ăVíădụ:ă0.2
Tr ngăhợpăbiếnăđ iăsốănh ăphânăsangăcácăhệăthốngăsốăkhácănhau,ătaăcóăthểănhómămộtăsốăcácăsốănh ăphânăđểăbiểuădiễnăchoăsốătrongăhệăthốngăsốăt ơngăứng.ă
4.2 Chuy ểnăđổi h nh phơn sang các h Hexa, Octal
Dữ liệu số trong máy tính đ ợc biểu diễn theo hệ đếmănh phân Từănhớ cơ b n
của các lo i máy tính đều tuân thủ chuẩn của IBM, nghĩa là theo từng Byte Mỗi Byte g m 8 bit nh phân Tuy nhiên, cách viết một số liệu nh phân không thích
hợp với chách nhìn và nhận biết độ lớn, nhất là khi dữăliệu là một số có độ dài nhiều Byte Do vậy, ta hay sửădụngăcácăph ơng pháp biểu diễn theo hệ đếm Hexa (hệ đếm
cơ số 16) Một thuận lợi cơ b n đâyălà một ký tự Hexa có thể đ i diện cho một
dữ liệu nh phân 4 bit Nh vậyămỗi byte có thể biểu diễn một số nh phân ho c có
thể tách ra hai nhóm, mỗi nhóm 4 bit và dữ liệu l u trong mỗi byte có thể biểu diễn
d ới d ng hai kýătự số hexa Vì trong hệ hexa cần 16 kí hiệu khác nhau, ngoài các
số 0, 1, ., 9, ng i ta b sung thêmăcác chữ A, B, C, D, E và F với các tr ng số
t ơng ứng trong hệ đếm thập phân là:
AH = 10D, BH = 11D, CH = 12D, DH = 13D, EH = 14D, FH = 15D
Sự tiện dụng của hệ đếmă hexa là chỗ ta dễ dàng chuyển đ i số nh ă phân
thành hexa và ng ợcăl i theo quy tắc sau:
Gi ăsửăchoăsốănh ăphână10001011B.ăĐểăđ iăthànhăsốăhexaătaăchiaădưyănàyăthànhătừngănhómă4ăsố:ă1000ăvàă1011.ăThayăcácănhómă4ăsốăbằngăsốăhexaăt ơngăứngăchoătrongăb ngăsau,ătaăđ ợcă8BH.ăNg ợcăl i,ănếuăcóăsốăC7H,ătaăchỉăđơnă gi nă ghépăcácănhómăsốănh ăphânăt ơngăứngă1100ăvàă0111ăsẽăđ ợcăbiểuădiễnănh ăphână11000111B
Trang 31H ăth păphơn H ănh ăphơn H ăbátăphơn H ăth păl căphơn
d N
MộtăByteă(g mă8ăbit)ăcóăthểăbiểuădiễnăcácăsốătừă0ătớiă255ăvàămộtătừă32ăbităchoăphépăbiểuădiễnăcácăsốătừă0ătớiă4294967295.ă
Trang 325 Các phép tinh với số nhị phân
B = 0 1 0 1 1 0 1 A+B = 1 0 0 0 0 1 1
0011
Trang 335.3 Phépănhơn
- Nhânăthừaăsốăthứănhấtăvớiătừngăchữăsốă(bit)ăcủaăthừaăsốăthứăhaiăsauăđóăcộngăcácătíchăriêngăt oăraătừăcácăphépănhânăđó
Q:=Q+1 R:=R-B
Trang 346 Bi ểu diễn dữ liệu số trong máy tính
6.1 Bi ểuădi năs nguyên
Cóănhiềuăcáchăđểăbiểuădiễnămộtăsốănăbităcóădấu.ăTrongătấtăc ăm iăcáchăthìăbităcaoănhấtăluônăt ợngătr ngăchoădấu
Khiăđó,ăbit dấu có giá trị là 0 thì số nguyên dương, bit dấu có giá trị là 1 thì
số nguyên âm
dn-1 dn-2 dn-3 d2 d1 d0
bítădấuă(+,-) Sốănguyênăcóăbitădn-1 làăbitădấuăvàăcóătr ăsốăt ợngătr ngăb iăcácăbitătừăd0 tớiădn-2
6.1.1 Cáchăbiểuădi năbằngătr ătuy tăđ iăvƠăd uă
Trongăcáchănày,ăbitădn-1 làăbitădấuăvàăcácăbitătừăd0 tớiădn-2choăgiáătr ătuyệtăđối.ăMộtătừănăbităt ơngăứngăvớiăsốănguyênăthậpăphânăcóădấu.ă
Trongăcáchăbiểuădiễnănày,ăsốăâmă-Năđ ợcăcóăbằngăcáchăthayăcácăsốănh ăphână
dicủaăsốăd ơngăNăbằngăsốăbùăcủaănóă(nghĩaălàănếuădi=ă0ăthìăng iătaăđ iănóăthànhă1ăvàăng ợcăl i).ă
Trang 35Víădụ:ă +2510 = 000110012
Sốăbùă1ăcủaă25ălà 11100110
+ 1 Sốăbùă2ăcủaă25ălà 11100111
- BCDăgóiă(PackedăBCD):ăhaiăsốăBCDăđ ợcăl uătrữătrongă1ăbyte
Víădụ :ăsốă35ăđ ợcăl uătrữănh ăsau :
Trang 36
6.2.2 Bi ểuădi năs d u phẩy đ ng (Floatting Point Number)
- T ngăquát : MộtăsốăthựcăXăđ ợcăbiểuădiễnătheoăkiểuăsốădấuăphẩyăđộngănh ăsau :
X = M * RE Mălàăphầnăđ nhătr ă(Mantissa) Rălàăcơăsốă(Radix)
Eălàăphầnămũă(Exponent)
biểuădiễnătheoăchuẩnă IEEEă754ăđ ợcădùngărộngărưiătrongă khoaăh că máyătínhăhiệnănay.ăChuẩnăIEEEă754ăđ nhănghĩaăhaiăd ngăbiểu diễnăsốăphẩy động:ă
Trang 37+ Giáătr ă127ăđ ợcăg iălàăđộălệchă(bias)
+ mă(23ăbit)ălàăphầnălẻăcủaăphầnăđ nhătr ăM
- Cácăbităcủaăeăbằngă0,ăcácăbităcủaămăbằngă0,ăthìăXă=ă 0
- Cácăbităcủaăeăbằngă1,ăcácăbităcủaămăbằngă0,ăthì X =
- Cácăbităcủaăeăbằngă1,ăcònămăcóăítănhấtămộtăbităbằngă1,ăthìănóăkhôngăbiểuădiễnăchoăsốănàoăc ă(NaNă- Not a number)
- Ph măviăbiểuădiễn: 2-127 đếnă2+127
, 10-38đếnă10+38
Trang 38*Cáchă2:
X = (-1)s x M x 2E
Eălàăphầnăbậcă(mũ)ăg măeăbită(be-1be-2…ăb0);
Mălàăphầnăđ nhătr ăg mămăbită(b-1b-2…ăb-m)
1ăbit(dấu) 8ăbită(mũ) 23ăbită(đ nhătr )
Trang 39C H NG III KI NăTRÚCăTRUNGăTÂM X ăLụ (CPU)
1 Kiến trúc CPU
Để cóăhiểu biếtăvềăkiếnătrúc một CPU, cần thiếtăph i đ nh nghĩa các chức
nĕng cơ b n của nó Càng nhiều chức nĕng thì CPU càng phức t p,ăcàng có giá
thành cao Đâyăchính là lý do CPU đ ợc phân lo i thành CPU chuyên dụng Chúng
ta sẽ bắt đầu từ những yêu cầu cơ b n nhất đối vớiăCPU:
Có kiến trúc hợp lý nhất để thoả mãn những yêu cầu tối thiểu trong ch c
n ăng xử lý dữ liệu
Có đầy đ các tính năng để xây dựng một máy tính đáp ng yêu cầu sử dụng
Có khả năng ng dụng được trong thực tế
1.1 C h c nĕng vƠ ki nătrúcăc a CPU
Tr ớc hết, CPU ph i thựcăhiệnăđ ợc các phép tính số h c và phép tính lôgic cơ
b n: c ộng (addition), trừ (subtraction), VÀ logic (AND), đảo giá trị (NOT) và
HO C logic (OR) và các lệnh vào/ra dữ liệu (INP, OUT) Kiếnătrúc CPU ph i
đáp ứng yêu cầu tối thiểu này, ph i có các khối chức nĕng hiện thực hoáăcác phép
tính trên
Khối chức nĕng đầu tiên là ALU (Arithmetic – Logic Unit) thực hiện cácă
Nh vậy, kiến trúc đòi hỏi CPU, ngoài ALU, ph i có các thanh ghi toán
h ng X, Y vàăthanh ghi kết qu ătính toán A
Nếuăchoărằngăđểăđơnăgi năhoáăcấuătrúcăCPU,ătaăsửădụngăthanhăghiăAălàmăthanhăghiăchoă mộtătoánăh ng,ăđ ngăth iălàăthanhă ghiă kếtăqu ă xửălý,ăxâyădựngăl iăđ ngătruyềnădữăliệuătaăcóăCPUăđơnăgi năhơnănh ăhình sau:
Trang 40Sau cùng, cầnăhiểu rằng khi xử lý dữ liệu, tính toán, có những kết quả trung gian (ho c c ác toán hạng) cần đ ợcăl u giữ vì nhiều lý do khác, CPUăcần thêm một
vùng nhớ phụ với tốc độ truy nhập thật cao, ho c còn g i làăcác thanh ghi (đa
dụng), cấu trúc sẽăđ ợc m rộngăthêm nh sau:
Với các thanh ghi (ô nhớ phụ) B, C, D, E, F, G cần thiết ph i có m ạch chọn
thanh ghi (Register Selector) để ch n thanh ghi, tức là ch n đúng ô l u giữ số liệu
cần thiết cho ALU xử lý