1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giao trinh kin truc may tinh and qun l

237 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giao trình Kỹ Trúc Máy Tính Và Quản Lý Hệ Thống
Trường học Trường Đại học Thái Bình
Chuyên ngành Kỹ thuật máy tính và Quản lý hệ thống
Thể loại Giáo trình
Năm xuất bản 2016
Thành phố Thái Bình
Định dạng
Số trang 237
Dung lượng 6,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 2

L 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 3

th ô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 4

C 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 5

Hì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 6

Hì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 7

1

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 8

2.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 9

Hì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 10

Hì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 11

Ngoà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 12

C 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 13

mứ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 14

Sau đâ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 15

WR

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 17

Trong 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 18

Vớ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 19

Việ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 20

1.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) 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 21

Chẳ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 22

nhiề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 23

Phầ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 24

Thô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 25

2.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 26

Cá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 27

3 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 28

Mư 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 29

3.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 31

H ă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 32

5 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 33

5.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 34

6 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 35

Víă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 39

C 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 40

Sau 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ý

Ngày đăng: 21/12/2022, 14:29

🧩 Sản phẩm bạn có thể quan tâm

w