Bài giảng Kiến trúc máy tính. Đại học Hàng Hải Việt Nam1 LỜI NÓI ĐẦU Kiến trúc máy tính là một trong các lĩnh vực khoa học cơ sở của ngành Khoa học máy tính nói riêng và Công nghệ thông tin nói chungTham khảo bài thuyết trình bài giảng kiến trúc máy tính chuyên ngành công nghệ thông tin, công nghệ thông tin, phần cứng phục vụ nhu cầu học tập Bài giảng Kiến trúc máy tính: Chương 7 Bộ nhớ ngoài trình bày về cấu tạo đĩa cứng; các chuẩn giao diện kết nối ổ cứng; cấu tạo, đặc điểm2016 Bài giảng Kiến trúc máy tính Chương 3: Bộ xử lý trung tâm cung cấp cho người học các kiến thức: Mô tả, diễn tiến thi hành lệnh mã máy, ...
Trang 1-0-
MỤC LỤC
Chương I GIỚI THIỆU CHUNG 5
1.1 Tổng quan 5
1.2 Lịch sử phát triển và phân loại 7
1.3 Biểu diễn thông tin trên máy tính 11
1.4 Các thành phần cơ bản trong hệ thống máy tính 20
Chương II BỘ XỬ LÝ TRUNG TÂM 23
2.1 Tổ chức bộ xử lý trung tâm 23
2.2 Tổ chức thanh ghi 24
2.3 Đơn vị số học và logic ALU (Arithmetic and logic unit) 26
2.4 Đơn vị điều khiển CU (Control Unit) 27
2.5 Cấu trúc kết nối - BUS 28
2.6 Tập lệnh và các Mode địa chỉ 30
Chương III HỆ THỐNG NHỚ 34
3.1 Tổng quan 34
3.2 Phân cấp hệ thống nhớ 35
3.3 Bộ nhớ bán dẫn 35
3.4 Cache Memory 38
3.5 Kỹ thuật giải mã địa chỉ 43
Chương IV: HỆ THỐNG VÀO RA 45
4.1 Giới thiệu chung 45
4.2 Ghép nối máy tính với thiết bị ngoại vi 46
4.3 Các phương pháp điều khiển vào ra 48
Chương V THIẾT BỊ NHẬP DỮ LIỆU 53
5.1 Giới thiệu chung 53
5.2 Bàn phím 53
5.3 Chuột 55
Chương VI THIẾT BỊ XUẤT DỮ LIỆU 56
6.1 Những khái niệm cơ bản 56
6.2 Màn hình LCD 57
6.3 Máy in Laser 61
Chương VII THIẾT BỊ LƯU TRỮ NGOÀI 63
7.1 Giới thiệu chung 63
7.2 Đĩa từ (Magetic) 63
7.3 Đĩa Quang (Optical Disk) 66
7.4 Thẻ nhớ: 70
Trang 2-1-
YÊU CẦU VÀ NỘI DUNG CHI TIẾT
Tên học phần: Kiến trúc máy tính và thiết bị ngoại vi Mã HP: 17302
a Số tín chỉ: 3 TC BTL ĐAMH
b Đơn vị giảng dạy: Bộ môn Kỹ thuật Máy tính
c Phân bổ thời gian:
- Tổng số (TS): 45 tiết - Lý thuyết (LT): 42 tiết
- Thực hành (TH): 0 tiết - Bài tập (BT): 0 tiết
- Hướng dẫn BTL/ĐAMH (HD): 0 tiết - Kiểm tra (KT): 3 tiết
d Điều kiện đăng ký học phần:
Học phần học trước: Tin học đại cương
e Mục đích, yêu cầu của học phần:
Kiến thức:
- Các thuật ngữ khoa học cơ bản trong cấu trúc, chức năng của hệ thống máy tính
- Thông tin, phương pháp biểu diễn thông tin trong máy tính
- Có khả năng lắp ráp các thiết bị xây dựng được một hệ thống phần cứng và cấu hình
hệ thống cho phép máy tính hoạt động tối ưu
- Có thể cài đặt được hệ điều hành và các phần mềm ứng dụng, tối ưu hóa hoạt động của ổ đĩa
Thái độ nghề nghiệp:
- Có thể đánh giá được hiệu năng của các họ máy tính, khai thác và sử dụng hiệu quả các loại máy tính hiện hành và có khả năng tiếp cận để phát triển các hệ máy tính nhúng phục vụ các mục đích chuyên dụng
f Mô tả nội dung học phần:
Cung cấp cho người học các kiến thức cơ bản về các phương pháp biểu diễn thông tin trong máy tính, kiến trúc máy tính: kiến trúc tập lệnh, tổ chức của máy tính cũng như những vấn đề cơ bản trong thiết kế một hệ thống máy tính Hệ thống vào ra, các thiết bị ngoại vi, chức năng và cấu trúc trong của chúng cũng như quá trình ghép nối các thiết bị này với máy tính điện tử
g Người biên soạn: Nguyễn Trọng Đức - Bộ môn Truyền thông & Mạng máy tính
h Nội dung chi tiết học phần:
Trang 31.4 Các thành phần cơ bản trong hệ thống máy tính 1
Nội dung tự học (20t):
- Lịch sử phát triển của máy tính
- Sự phát triển của họ VXL Intel x86
- Sự phát triển của thiết bị ngoại vi
- Sự phát triển của các phần mềm máy tính
- Hiệu năng của hệ thống
- Các kiến trúc máy tính tiên tiến
- Các bài tập trong mục 1.2
- Các kĩ thuật tiên tiến: pipeline, scalar
- Cấu trúc bộ xử lý tiên tiến
- Các kiến trúc song song mức lệnh
- Bộ xử lý đa luồng và đa lõi
- Các kiến trúc tập lệnh tiên tiến
Trang 4-3-
TS LT BT TH HD KT Nội dung tự học (16t):
- Mạch tổ hợp, mạch dãy
- Thiết kế các bộ đếm
- Kĩ thuật tăng độ dài từ nhớ
- Các kĩ thuật bộ nhớ tiên tiến
- Bài tập mục 3.4 và 3.6
Nội dung tự học (8t):
- Lập trình ghép nối vào/ra
- Mạch điều khiển ưu tiên ngắt
Nội dung tự học (6t):
- Các thiết bị nhập liệu tiên tiến
Nội dung tự học (6t):
- Các thiết bị xuất dữ liệu tiên tiến
Trang 5-4-
- Các điểm thành phần Xi ≥ 4, bao gồm:
X2: trung bình cộng của bài kiểm tra (03 bài)
Điểm quá trình X: bằng điểm của X2
- Thi kết thúc học phần (điểm Y): Thi trắc nghiệm
- Điểm đánh giá học phần: Z = 0.5X + 0.5Y
- Thang điểm: Thang điểm chữ A+, A, B+, B, C+, C, D+, D, F
k Giáo trình:
1 Nguyễn Đình Việt, Giáo trình kiến trúc máy tính, ĐHQG Hà Nội, 2009
l Tài liệu tham khảo:
1 Nguyễn Kim Khánh, Giáo trình kiến trúc máy tính, ĐHBK Hà Nội
2 Văn thế Minh, Kỹ thuật vi xử lý, NXB giáo dục 1997
3 Hồ Khánh Lâm, Kỹ thuật vi xử lý, Nhà xuất bản Bưu điện, 2005
4 William Stalling, Computer Organization and Architecture 5th, Prentice Hall, 2000
5 Hennesy J.L and Patterson D.A., Computer Architecture A Quantitative Approach,
ThS Ngô Quốc Vinh
Người biên soạn
TS Nguyễn Trọng Đức
o Tiến trình cập nhật Đề cương:
Cập nhật lần 1: ngày / /
Nội dung: Rà soát theo kế hoạch Nhà trường (từ T4/2014) gồm:
- Chỉnh sửa, làm rõ các Mục e, i theo các mục tiêu đổi mới căn
bản
- Mục h: bổ sung Nội dung tự học cuối mỗi chương mục, chuyển
một số nội dung giảng dạy sang phần tự học
- Bổ sung các mục m, n, o
Người cập nhật
Trưởng Bộ môn
Trang 6-5-
Chương I GIỚI THIỆU CHUNG
Kiến trúc máy tính (Computer Architecture) là một khái niệm trừu tượng của một hệ thống tính toán dưới quan điể của người lập trình hoặc người viết chương trình dịch
Nói cách khác, kiến trúc máy tính được xem xét theo khía cạnh mà người lập trình có thể can thiệp vào mọi mức đặc quyền, bao gồm các thanh ghi, ô nhớ các ngắt có thể được thâm nhập thông qua các lệnh
Kiến trúc máy tính = Tổ chức máy tính + kiến trúc tập ệnh 1.1 Tổng qu n
1.1.1 Khái niệm thông tin
- Thông tin: sự cảm hiểu con người về thế giới xung quanh
Khái niệm về thông tin gắn liền với sự hiểu biết một trạng thái cho sẵn trong nhiều trạng thái có thể có vào một thời điểm cho trước
Trong hình trên, chúng ta quy ước có hai trạng thái có ý nghĩa: trạng thái thấp khi hiệu điện thế thấp hơn VL và trạng thái cao khi hiệu điện thế lớn hơn VH Để có thông tin, ta phải xác định thời điểm quan sát trạng thái của tín hiệu Thí dụ, tại thời điểm t1 thì tín hiệu ở trạng thái thấp và tại thời điểm t2 thì tín hiệu ở trạng thái cao
- Dữ liệu: dạng biểu diễn thông tin (chữ viết, hình ảnh, cử chỉ, lời nói ) Đặc biệt trong máy tính dữ liệu được số hoá để có khả năng lưu trữ, xử lý, biến đổi, truyền gửi
- Thông tin khi truyền: theo các dạng năng lượng khác nhau: âm, điện, sóng quang, sóng điện từ
- Vật mang: môi trường dùng để mang thông tin (dạng năng lượng có khả năng lưu trữ, truyền gửi )
- Tín hiệu: vật mang đã chứa thông tin trong nó ~ một hàm đơn trị biến thiên theo thời gian hay tần số
- Tín hiệu liên tục: tín hiệu biến thiên liên tục theo thời gian và có biên độ biến thiên liên tục
- Tín hiệu rời rạc: tín hiệu có biến độc lập rời rạc, ta có thể thu tín hiệu rời rạc bằng cách lấy mẫu rời rạc từ tín hiệu liên tục (tín hiệu lấy mẫu)
- Tín hiệu lượng tử: Tín hiệu có biên độ rời rạc theo các mức lượng tử
- Tín hiệu số: Tín hiệu rời rạc hoá cả về biên độ, tần số lẫn thời gian
1.1.2 Lượng thông tin và sự mã hoá thông tin
Thông tin được đo lường bằng đơn vị thông tin mà ta gọi là bit (Binary digit) Lượng
thông tin được định nghĩa bởi công thức:
Trang 7-6-
I = Log2(N)
Trong đó: I: là lượng thông tin tính bằng bit
N: là số trạng thái có thể có Lượng thông tin là số con số nhị phân cần thiết để biểu diễn số trạng thái có thể có
Do vậy, một con số nhị phân được gọi là một bit Một từ n bit có thể tượng trưng một trạng thái trong tổng số 2n
trạng thái mà từ đó có thể tượng trưng Vậy một từ n bit tương ứng với một lượng thông tin n bit
Phần mềm (software):
Bao gồm các thuật toán và các biểu diễn cho máy tính của chúng ta, đó chính là các chương trình Chương trình có thể được biểu diễn (lưu trữ) trên bìa đục lỗ, băng từ, đĩa từ, … hay các môi trường khác, tuy nhiên cái cơ bản nhất của phần mềm chính là tập hợp các câu lệnh (chỉ thị) tạo nên chương trình chứ không phải là môi trường vật lý được sử dụng để ghi (lưu trữ) chương trình
Chương trình (program): chương trình là dãy các câu lệnh nằm trong bộ nhớ, nhằm mục đích hướng dẫn máy tính thực hiện một công việc cụ thể nào đấy Máy tính thực hiện theo chương trình
Hệ điều hành:
Ngôn ngữ lập trình:
Nhận thông tin vào
Xử lý thông tin theo chương trình được lưu trong bộ nhớ
Đưa thông tin ra
Trang 8-7-
Lệnh máy: Các mạch điện tử của máy tính có thể hiểu và thực hiện trực tiếp được một tập hợp
hữu hạn các lệnh rất đơn giản thường được gọi là chỉ thị (instruction) máy hay lệnh máy, chẳng hạn: Cộng hai số với nhau; Kiểm tra xem một số có bằng không hay không; Vận chuyển một nhóm dữ liệu từ vùng này của bộ nhớ sang một vùng khác
Ngôn ngữ máy: Tập các chỉ thị máy tạo nên ngôn ngữ để giao tiếp với máy tính được gọi là
ngôn ngữ máy (machine language)
Phần cứng (Hardware):
(Các) Chương trình được viết bằng ngôn ngữ máy ở mức 1 có thể được thi hành trực tiếp bởi các mạch điện mà không cần một trình thông dịch hoặc trình biên dịch trung gian nào (cả) Các mạch điện như vậy cùng với bộ nhớ và các thiết bị ngoại vi (vào/ra) tạo thành phần cứng máy của tính (hardware) Phần cứng bao gốm các đối tượng hữu hình như các vi mạch (IC), các bảng (board) mạch in, cáp nối, nguồn điện, bộ nhớ, máy đọc bìa, máy in, terminal,
… chứ không phải là các ý tưởng, các thuật toán hay các câu lệnh (chỉ thị)
Phần dẻo (Firmware):
Phần sụn (hay còn gọi là phần nhão) là dạng trung gian giữa phần cứng và phần mềm,
nó là phần mềm được nhúng vào các mạch điện tử trong quá trình chế tạo ra các mạch điện tử này Firmware được sử dụng khi các chương trình hiếm khi hoặc không bao giờ cần thay đổi Một ví dụ trực quan cho phần sụn này chính là ROM BIOS chứa các chương trình khởi động, các dịch vụ vào/ra cơ sở, dữ liệu về cấu hình của hệ thống, … mà chúng đã tối ưu, hoàn chỉnh mà không cần phải thay đổi nữa (ít thay đổi) Hay các phần mềm trong đồ chơi hoặc trong các dụng cụ máy móc, điện thoại di động, …
Firmware cũng được sử dụng khi các chương trình không được phép mất đi khi mất điện (nguồn nuôi) Trong nhiều máy tính các vi chương trình thuộc Firmware (chẳng hạn như các chương chình con phục vụ ngắt của BIOS)
1.2 Lịch sử phát triển v phân oại
1.2.1 Lịch sử phát triển
Nhiều thế hệ trôi qua con người đã thực hiện các phép toán với các con số chủ yếu bằng tay hay bằng các công cụ tính thô sơ (bảng tính, thước tính,
máy tính cơ khí )
Nhà khoa học Pháp Blase Pascal (1623-1662) là người
đầu tiên chế tạo được một chiếc máy tính hoạt động được
(1642) Đây Hoàn toàn là một chiếc máy tính cơ khí, sử dụng
các bánh răng, năng lượng cung cấp cho máy là sức người -
quay tay Máy tính của Pascal chỉ làm được phép tính cộng
và trừ
Ba mươi năm sau nhà bác học Đức Baron Gottfried von
Leibniz (1646-1716) đã chế tạo thành công một chiếc máy tính cơ
khí khác, ngoài hai phép tính cộng và trừ nó còn có thể thực hiện
phép nhân và chia (sau Blase Pascal 30 năm)
Sau đó, giáo sư Charles Babbage đã thiết kế và xây dựng máy
sai phân (difference engine) Nó đuợc thiết kế để chạy một giải thuật
đơn: phương pháp sai phân hữu hạn sử dụng các đa thức và cũng chỉ
thực hiện các phép toán cộng và trừ Nam 1834, Babbage thiết kế và
xây dựng máy phân tích (analytical engine) Máy phân tích có 4 thành
phần: bộ lưu trữ (bộ nhớ), bộ tính toán, thành phần nhập (đầu đọc thẻ
đục lỗ) và thành phần xuất (in và đục lỗ) Bộ tính toán có thể nhận các
toán hạng từ bộ lưu trữ, thực hiện phép toán cộng, trừ, nhân hay chia
chúng và trả kết quả về bộ lưu trữ
Trang 9-8-
Phát triển tiếp theo của máy phân tích là máy đa năng Máy đọc lệnh từ các thẻ đục lỗ
và thực thi chúng Bằng cách đục lỗ một chương trình khác trên thẻ nhập, máy phân tích có khả năng thực hiện các tính toán khác Lập trình viên máy tính đầu tiên là Ada Lovelace đã tạo ra phần mềm cho máy phân tích
Vào những năm 1930, Konrad Zuse xây dựng một chuỗi các máy tính toán tự động bằng cách sử dụng các relay từ Sau dó, John Atanasoff và George Stibbitz đã thiết kế các máy tính (calculator) Máy của Atanasoff sử dụng số nhị phân và có các tụ điện làm cho bộ nhớ đuợc làm tươi theo chu kỳ Tuy nhiên, máy này bị thất bại do công nghệ phần cứng không tương xứng với ý tuởng thiết kế
Năm 1943, John Mauchley và các học trò của ông đã chế tạo ra chiếc máy tính điện tử đầu tiên ở Mỹ - chiếc máy tính được đặt tên là ENIAC (Electronic Numerial Itergrator And Calculator) Nó gồm 18.000 đèn điện tử, 1500 rơ le, nặng 30 tấn, tiêu thụ công suất điện 140KW Chiếc máy này được xây dựng với mục đích phục vụ quân đội trong chiến tranh thế giới lần thứ 2 nhưng mãi đến năm 1946 nó mới hoàn thành
Cho đến ngày nay máy tính đã có những sự phát triển vượt bậc, ứng dụng trong hầu hết các hoạt động của xã hội với rất nhiều chủng loại thế hệ tuỳ theo công việc Tuy nhiên kể từ
đó đến nay dựa vào công nghệ chế tạo, có thể phân máy tính ra thành các thế hệ sau:
Thế hệ 1: (1946-1959): Bóng đèn điện tử
Về kỹ thuật: Sử dụng đèn điện tử chân không, độ tin cậy thấp, tổn hao năng lượng Tốc độ tính toán từ vài nghìn đến vài trăm nghìn phép tính/giây
Về phần mềm: Chủ yếu dùng ngôn ngữ máy để lập trình
Về ứng dụng: Mục đích nghiên cứu khoa học kỹ thuật
Về phần mềm: Xuất hiện nhiều hệ điều hành khác nhau Xử lí song song Phần mềm đa dạng, chất lượng cao, cho phép khai thác máy tính theo nhiều chế độ khác nhau
Về ứng dụng: Tham gia trong nhiều lĩnh vực của xã hội
Thế hệ thứ 4 (1974-199?):VLSI
Về kỹ thuật: Sử dụng mạch tích hợp cỡ lớn (VLSI - Very large scale integration), thiết kế các cấu trúc đa xử lý Tốc độ đạt tới hơn hàng chục triệu phép tính /giây, Các hệ thống bộ nhớ bán dẫn, bộ nhớ ảo, bộ nhớ cache được sử dụng rộng rãi Áp dụng các kỹ thuật nhằm cải tiến tốc độ vi xử lý: vô hướng, ống dẫn, xử lý song song… (Trong tài liệu này chúng ta chủ yếu đề cập đến các vấn đề liên quan đến cấu trúc máy vi tính tương thích IBM – Máy tính cá nhân PC)
Về ứng dụng : Máy tính đã được áp dụng trong hầu hết các lĩnh vực của xã hội
Thế hệ thứ 5:
Trang 10-9-
Theo đề án của người Nhật chiếc máy tính điện tử thế hệ thứ 5 (người máy Asimo – 2004) có cấu trúc hoàn toàn mới, bao gồm 4 khối cơ bản Một trong các khối cơ bản là máy tính điện tử có cấu trúc như hiện nay và liên hệ trực tiếp với người sử dụng thông qua khối giao tiếp tri thức gồm 3 khối con: bộ xử lý giao tiếp, cơ sở tri thức và khối lập trình
1.2.2 Phân loại máy tính
Máy tính (computer) là một khái niệm tương đối rộng, tuỳ theo cấu trúc, chức năng, hình dáng mà có thể phân ra nhiều loại khác nhau Về căn bản máy tính được phân làm các loại chính sau:
a Phân loại theo khả năng
Siêu máy tính (Super Computer)
Một siêu máy tính là một máy tính vượt trội trong khả năng và tốc độ xử lý Thuật ngữ Siêu Tính Toán được dùng lần đầu trong báo New York World vào năm 1920 để nói đến những bảng tính (tabulators) lớn của IBM làm cho trường Đại học Columbia Siêu máy tính hiện nay có tốc độ xử lý hàng trăm teraflop (một teraflop tương đương với hiệu suất một nghìn tỷ phép tính/giây) hay bằng tổng hiệu suất của 6.000 chiếc máy tính hiện đại nhất hiện nay gộp lại (một máy có tốc độ khoảng từ 3-3,8 gigaflop)
Đây là các máy tính đắt tiền nhất và tính năng kỹ thuật cao nhất Giá bán một siêu máy tính từ vài triệu USD Các siêu máy tính thường là các máy tính vectơ hay các máy tính dùng
kỹ thuật vô hướng và được thiết kế để tính toán khoa học, mô phỏng các hiện tượng Các siêu máy tính được thiết kế với kỹ thuật xử lý song song với rất nhiều bộ xử lý (hàng ngàn đến hàng trăm ngàn bộ xử lý)
Máy tính lớn (mainframe computer):
Là loại máy tính đa dụng, máy tính cỡ lớn, thường là các máy tính chủ trong các hệ thống mạng của công ty hoặc nhà máy Dùng kỹ thuật xử lý song song và có hệ thống vào ra mạnh có khả năng hỗ trợ cho hàng trăm đến hàng ngàn người sử dụng Có khả năng giải những bài toán lớn tốc độ tính toán nhanh Thường được sử dụng cho các ứng dụng quản lý cũng như các tính toán khoa học (quân sự, ngân hàng, khí tượng) Giá một máy tính lớn có thể
từ vài trăm ngàn USD đến hàng triệu USD
Máy tính con (mini computer):
Siêu máy tính IBM Blue Gene/L nhanh nhất thế giới - 2006
Trang 11-10-
Là một dạng thu nhỏ của máy tính lớn, có thể thực hiện được các ứng dụng mà máy tính
cỡ lớn thực hiện Nó có khả năng hỗ trợ hàng chục đến hàng trăm người làm việc Minicomputer được sử dụng rộng rãi trong các ứng dụng thời gian thực, ví dụ trong điều khiển hàng không, trong tự động hoá sản xuất
Máy vi tính (MicroComputer):
Còn gọi là PC (personal computer), là những máy tính nhỏ, sử dụng bộ vi xử lý (họ Intel, Motorola) làm cốt lõi Đặc điểm chung về công nghệ của họ này mức độ tổ hợp lớn VLSI, dùng công nghệ CMOS (complementary metal oxide silicon) để chế tạo các mạch logic Thường dùng cho một người, có thể dùng độc lập hoặc dùng trong mạng máy tính Tốc độ phát triển các vi xử lý 32 bit và 64 bit hiện đại làm khoảng cách giữa máy tính lớn và máy vi tính ngày càng thu hẹp
Các loại máy tính cá nhân: Để đảm bảo tính tương thích, cấu trúc phần cứng bên trong các máy vi tính cá nhân về cơ bản là giống nhau Vì thế chúng chỉ được phân loại theo hình dạng vật lý
Loại để bàn(desktop), loại để bàn thu nhỏ (desktop slim-line)
Loại đặt đứng (tower), mini-tower
Loại xách tay (notebook)
Loại bỏ túi (palmtop, palmpilot)
b Phân loại theo nguyên lý
Máy tính cơ khí
Máy tính tương tự
Máy tính số
c Phân loại theo kiến trúc
Kiến trúc tuần tự (kiến trúc VonNewman cổ điển)
Chức năng của máy tính: xử lí thông tin theo lệnh, để thực thi các lệnh, yêu cầu máy tính phải có:
Đơn vị điều khiển: giải mã lệnh và tạo ra tín hiệu điều khiển
Đơn vị thực hiện: thực hiện các phép toán số học và logic
Đơn vị lưu trữ: lưu trữ dữ liệu khi xử lí
Với kiến trúc tuần tự, bộ xử lí sẽ bao gồm 1 đơn vị điều khiển và 1 đơn vi thực hiện SISD(Single Instruction Stream-Single Data Stream), như vậy:
Thực hiện lần lượt từng lệnh một
Tốc độ chậm
Đây là mô hình cơ bản cho kiến trúc VonNewman cổ điển
Kiến trúc song song
+ SIMD (Single Instruction Stream-Multiple Data Stream)
Đặc điểm:
o Có một đơn vị điều khiển, n phần tử xử lý
Trang 12-11-
o Đơn vị điều khiển: điều khiển đồng thời tất cả các phần tử tại cùng một thời điểm các phần tử xử lý thực hiện cùng một thao tác trên các tập dữ liệu khác nhau
+ MIMD (Multiple Instruction Stream-Multiple Data Stream)
Đặc điểm:
o Máy gồm hai hoặc nhiều bộ vi xử lý tương tự về khả năng, có thể thực hiện
những phép toán khác nhau tren các DL khác nhau
o Tất cả các CPU cùng chia xẻ một bộ nhớ chung Một số bộ nhớ cục bộ cũng có thể được dùng
o Tất cả CPU cùng xử dụng chung các thiết bị vào ra, có thể dùng chung một số kênh hoặc dùng các kênh khác nhau dẫn đến cùng một thiết bị
o Hệ thống được điều khiển bởi hệ thống hoạt động tích hợp Nó cung cấp sự ảnh hưởng lẫn nhau giữa CPU và các chương trình chạy trên chúng ở task, file,các thành phần dữ liệu
+ MISD (Multiple Instruction Stream-Single Data Stream)
Đặc điểm:
o Có nhiều đơn vị điều khiển
o Thực hiện lệnh theo các công đoạn, tại một thời điểm mỗi đơn vị điều khiển xử
lý một công đoạn như vậy có thể tiết kiệm được số chu kỳ máy cần để xử lý lệnh
1.3 Biểu iễn thông tin trên máy tính
1.3.1 Hệ đếm và cơ số đếm
a Hệ đếm bất kỳ
Bất kỳ một hệ đếm nào đều biểu diễn một số nguyên theo nguyên tắc sau:
N = an-1 a0 = a0.s0 + a1.s1 + + an-1.sn-1 = i
n i
(1.1)
Trong đó N là một số nguyên có n chữ số Chữ số ai tại vị trí i (i=0 n-1) được gọi là trị
số (hay còn gọi là trọng số) Giá trị s là cơ số của hệ đếm Hệ đếm được đặt tên theo giá trị cơ
số s Chẳng hạn, với s=2 ta có hệ đếm cơ số 2, với s=10 ta có hệ đếm cơ số 10 và với s=16 ta
Trang 13-12-
có hệ đếm 16 Giá trị s cũng xác định số ký tự cần dùng để biểu diễn trị số Chẳng hạn với s=2
hệ đếm sẽ cần hai ký tự để biểu diễn, vì thế ta có khái niệm hệ nhị phân(chia ra làm hai) Tương tự như vậy, hệ đếm 10 và 16 còn được gọi là hệ thập phân và hệ thập lục phân
b Hệ đếm thập phân
Là hệ đếm quen thuộc nhất của nhân loại Có lẽ hệ đếm này bắt nguồn từ việc người tiền sử dùng mười đầu ngón tay để đếm các đồ vật xung quanh Ngày nay toàn thế giới thống nhất sử dụng những ký tự số Ả Rập để biểu diễn hệ thập phân Các ký tự số đó là: 0, 1, 2, 3, 4,
5, 6, 7, 8, 9 Việc phát minh ra số 0 mới có khả năng biểu diễn số nguyên theo đúng nguyên tắc đã nêu trong phương trình (1.1)
Ngoài ra như chúng ta đã biết một số nền văn minh khác cũng phát minh ra hệ đếm của mình như Trung Quốc, La Mã cổ Tuy nhiên vì không có ký tự số 0 nên các hệ đếm này đều cần nhiều hơn 10 ký tự để biểu diễn số nguyên
Ví dụ biểu diễn số nguyên:
N = 1547d = 1.103 + 5.102 + 3.101 + 7.100
c Hệ đếm nhị phân
Được hình thành trên cơ sở đại số lôgic Boole, xuất hiên từ cuối thế kỷ 19 Hệ đếm này
và các môn toán liên quan đến nó thực sự phát huy được sức mạnh khi có mạch điện hai trạng thái Với hai con số 0, 1 có thể biểu diễn một số nguyên bất kỳ Mỗi ký tự (hay mỗi trị số) của
hệ nhị phân được gọi là một bit (Binary Digit) Đối với máy tính điện tử các bit được biểu diễn bằng một hiệu điện thế tương ứng: mức 0 (0V-1 V), mức 1 (2v-5v)
Để giản tiện trong việc sử dụng số nhị phân, người ta còn đặt nhiều bội số của hệ nhị phân như sau:
4 bit là một nibble
8 bit là một byte
16 bit là một từ (word)
32 bit là một từ kép (double word)
210 bit là một kilobit (Kbit)
220 bit là một Megabit (Mbit)
230 bit là một Gigabit (Gbit)
Ví dụ biểu diễn một số nguyên:
Hệ
thập phân
Hệ nhị phân
Hệ thập lục phân
Hệ thập phân
Hệ nhị phân
Hệ thập lục phân
Trang 14-13-
Ví dụ biểu diễn một số nguyên:
N = 2BC1h = 2.163 + 11.162 + 12.161 + 1.160 = 11201d
1.3.2 Chuyển đổi giữa các hệ cơ số
a Đổi số thập phân ra số nhị phân (hay thập lục phân)
Để đổi số số thập phân ra số nhị phân hay thập lục phân, ta chỉ cần chia số thập phân cho cơ số của hệ (2 hoặc 16).Số dư là trị số, thương số được chia tiếp để tính trị số tiếp theo Trong hệ nhị phân, trị số đầu tiên (ngoài cùng bên phải) được gọi là LSB (Least Significant Bit) và trị số cuối cùng (ngoài cùng bên trái) được gọi là MSB (Most Signifcant Bit)
Kết quả = 113d = 110001b = 71h
Ví dụ 2: Đổi số thập phân 0.625d thành số nhị phân:
0.625*2 = 1.250 nhớ 1 MSB 0.250*2 = 0.500 nhớ 0 0.500*2 = 1.000 nhớ 1 LSB
Kết quả : 0.625d = 0.101b
b Đổi số từ nhị phân sang thập lục phân và ngược lại
Để đổi một số nhị phân thành số thập lục phân tương đương thì chỉ cần chia số nhị phân thành từng nhóm gồm 4 bit nhị phân tính từ vị trí ký tự nhị phân đầu tiên bên phải, sau đó thay thế lần lượt tùng nhóm 4 bít nhị phân đã chia bởi số thập lục phân tương ứng (Tra bảng giá trị tương đương giữa các hệ đếm)
Ví dụ: Đổi số nhị phân 1111101000010000b thành thập lục phân
1111 1010 0001 0000
F A 1 0 Kết quả số thập lục phân: FA10h
Để đổi các số thập lục phân thành nhị phân, chỉ cần thay thế một cách đơn giản từng con số thập lục phân bằng bốn bit nhị phân tương đương của nó (Tra bảng giá trị tương đương giữa các hệ đếm)
Ví dụ: Đổi số thập lục phân DF6h thành nhị phân:
D F 6
1101 1111 0110 Kết quả DF6h = 110111110110b
1.3.3 Các loại mã
a Mã BCD (Binary Code Decimal)
Giữa hệ thập phân và hệ nhị phân còn tồn tại một hệ lai: hệ BCD cho các số hệ thập phân mã hoá bằng hệ nhị phânrất thích hợp cho các thiết bị đo có thêm phần hiển thị số ở đầu
ra dùng các loại đèn hiện số khác nhau Ở đây dùng bốn số hệ nhị phân (bốn bit) để mã hoá một số hệ thập phân có giá trị nằm trong khoảng từ 0 9 Như vậy ở đây ta không dùng hết các
Trang 15-14-
tổ hợp có thể có của 4 bit; vì tầm quan trọng của các số BCD nên các bộ vi xử lý thường có các lệnh thao tác với chúng
Ví dụ: 35d = 00110101b
b Mã ASCII (American Standard Code for Information Interchange)
Đây là loại bảng mã 8 bit, số ký tự biểu diễn là 256 ký tự, mỗi ký tự được xác định
bằng số thứ tự trong bảng mã – gọi là mã ASCII (ví dụ : ký tự „A‟ có mã là 65d hay 41h)
Ngày nay loại bảng mã này ít được sử dụng vì số ký tự thể hiện ít, chỉ đủ dùng cho một quốc gia, gây bất tiện khi chuyển văn bản
Bảng mã ASCII chia làm 2 phần:
Phần đầu (ký tự đọc được) : 128 ký tự đầu (mã từ 0 – 127d)
Trang 16-15-
Ví dụ: Đổi các ký tự BILL thành mã ASCII:
Ký tự B I L L ASCII 1000010 1001001 1001100 1001100 HEXA 42 49 4C 4C
Phần mở rộng (ký tự không đọc được) : 128 ký tự sau (mã từ 128 - 255)
c Bảng mã Unicode
Do các hãng máy tính hàng đầu thế giới kết hợp thiết kế Kích thước bộ mã này là 16 bit
có thể xây dựng bộ mã toàn cầu với số ký tự có thể mã là 216
ký tự với 128 ký tự đầu có mã trùng mã trong bảng mã ASCII
Ví dụ một đoạn trên bẳng mã Unicode
Trang 17-16-
1.3.4 Biểu diễn số
a Biểu diễn số nguyên theo mã nhị phân
Dùng số nhị phân không dấu:
Với n bit nhị phân sẽ biểu diễn 2n
số từ 0 đến 2n-1, sử dụng đủ n bit để biểu diễn giá trị
Số bit Khoảng giá trị Kiểu dữ liệu
8 bit 0 255 Byte
16 bit 0 65535 Word
Dùng số nhị phân có dấu (bit trái nhất là bit dấu)
Với n bit nhị phân sẽ biểu diễn 2n
số từ -2n-1 đến +2n-1-1, chỉ sử dụng n-1 bit để biểu diễn giá trị, còn bit ngoài cùng bên trai dùng để biểu diễn dấu (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)
Số bit Kiểu dữ liệu Khoảng giá trị
8 bit Short integer -128 +127
16 bit Integer -32768 +32767
32 bit Long integer -231 +231-1 (-2147483648 +2147483647)
Số bù 2: (Ý nghĩa: Dùng đổi dấu số nguyên)
- Số bù 1: 1 đổi thành 0, 0 đổi thành 1
- Số bù 2: số bù 1 cộng 1
Ví dụ: đổi số nhị phân nguyên 8 bit +127 sang – 127 Giá trị nhị phân 01111111 ~ +127d
Trang 18b Biểu diễn số thực theo mã nhị phân
Biểu diễn dấu chấm cố định
Cách biểu diễn dấu chấm cố định trong hệ nhị phân hoàn toàn giống cách biểu diễn số thực thông thường của hệ thập phân
R = an-1 a0, b1 bm = i
n i
Quy tắc: ta chuyển đổi từng phần nguyên và lẻ theo quy tắc sau:
o Phần nguyên: Chia liên tiếp phần nguyên cho 2 giữ lại các số dư, Số nhị phân chuyển đổi sẽ là dãy số dư liên tiếp tính từ lần chia cuối về lần chia đầu tiên
o Phần lẻ: Nhân liên tiếp phần lẻ cho 2, giữ lại các phần nguyên tạo thành Phần
lẻ của số Nhị phân sẽ là dãy liên tiếp phần nguyên sinh ra sau mỗi phép nhân tính từ lần nhân đầu đến lần nhân cuối
Ví dụ: Chuyển sang hệ Nhị phân số: 13,625d
Chú ý: việc chuyển đổi từ hệ thập phân sang hệ Nhị phân không phải luôn được gọn
gàng chính xác, trong trường hợp phép tính chuyển đổi kéo dài, thì tùy theo yêu cầu về độ chính xác mà ta có thể dùng phép tính ở mức độ cần thiết thích hợp
Nh n x t :
Các số dấu ph y tĩnh chỉ dùng trong các bài toán yêu cầu độ chính xác không cao và luông cố định, ví dụ điểm môn học trong trường ĐH CN tính chính xác đến 1 số sau dấu ph y (VD : 4,5) Như vậy các điểm sẽ luôn có độ chính xác trong khoảng đó Trong thực tế có các bài toán yêu cầu độ chính xác gần như tuyệt đối như các bài toán trong ngân hàng, trong điều khiển máy bay, vệ tinh, Các bài toán này không thể quy định trước một độ chính xác, người
ta phải sử dụng sô dấu chấm động, khi đó số các số sau dấu ph y là không hạn chế về mặt biểu diễn
Trang 19-18-
VD : 12e-101=12*10-101
Vấn đề là biểu diễn các số dấu chấm động như thế nào trên máy tính với cơ số 2
b Biểu diễn dấu chấm động
Chu n IEEE 754 định nghĩa hai dạng biểu diễn số chấm động:
- Số chấm động chính xác đơn với định dạng được định nghĩa: chiều dài số: 32 bit được chia thành các trường: dấu S (Sign bit - 1 bit), mũ E (Exponent - 8 bit), phần lẻ F (Fraction - 23 bit)
Số này tương ứng với số thực (-1)S
Giá trị ngầm định là: 1,1008906
Phần mũ: 2 8
+22+20 =133 Giá trị thực: 133-127=6
Dấu (bit cao nhất): 0 = số dương
R = 1,1008906.26 = 70,457
Quy tắc đổi ngược lại (số thực sang số dấu ph y động 32 bit):
Chuyển số thập phân về số nhị phân
Đưa về dạng 1.xxxxByyyy (Với B là cơ số 2)
Xác định bit dấu (bít 31): lấy giá trị 0 với số dương, 1 với số âm
Trang 20-19-
Xác định phần mũ (bit từ 30-23): yyyy+7Fh
Xác định phần định trị (bit 22-0): xxxx00 00
- Ví dụ: Biểu diễn số thực 9,75d sang số dạng dấu ph y động
Ta đổi sang dạng nhị phân: 9,75d = 1001.11b = 1,00111B3
Bit dấu: bit 31 = 0
Phần mũ: 3 + 7Fh = 82h = 10000010b Được đưa vào các bit tiếp theo: từ bit
- Ví dụ : biểu diễn số thực -12.625d sang số chấm động chu n IEEE 754 (32 bit):
Đổi số -12.62510 sang nhị phân: -12.625d = -1100.101b = -1,100101B3
Bit dấu : bit 31=1
Phần mũ : Phần mũ: 3 + 7Fh = 82h = 10000010b Được đưa vào các bit tiếp theo: từ bit 30 đến bit 23
Phần định trị: 000101 được đưa vào các bít tiếp theo từ bit 22
Trong máy vi tính, thông tin về hành ảnh, đồ họa được biểu diển theo nguyên tắc:
- Đồ họa điểm (Pixel graphics)
+ Dùng ma trận điểm ảnh (Pixel matrix), tọa độ một điểm ảnh được xác định bởi hàng (Row) và cột (Columme)
+ Tùy theo chất lượng hình ảnh, người ta sử dùng số bit cụ thể (1, 4, 8, 16, 24, 32…) để biểu diễn giá trị của điểm, qua đó sẽ tạo nên chất lượng hình ảnh khác nhau (đen trắng, ảnh xám, màu giả, màu chất lượng cao…)
+ Để lưu trữ hình ảnh chúng ta cần quan tâm đến: Kích thước ảnh, phạm vi áp dụng, dung lượng lưu trữ, mã nén…)
- Đồ họa véc tơ (Vector graphics)
+ Đồ họa véc tơ khắc phục được việc giảm thiểu không gian lưu trữ như đối với đồ họa điểm ảnh
+ Nguyên tắc: chia hình ảnh ra thành các đối tượng (Object) cơ bản như: điểm ảnh, đoạn thẳng, đa giác, đoạn cong, mặt khối… Khi đó hệ thống chỉ cần biết các thông tin cụ thể (tọa độ, phương trình toán học, màu sắc…) qua đó
dễ dàng biểu diễn lại đối tượng một cách nhanh chóng
+ Một đặc điểm quan trọng là đồ họa véc tơ có khả năng dễ dàng biểu diễn các đối tượng đồ họa 3 chiều
Máy tính còn có khả năng biểu diễn hình ảnh chuyển động (như những đoạn phim) Nguyên tắc cơ bản dựa trên phim nhựa (lưu trữ và hiển thị các ảnh theo quy luật, chỉ cần 25 ảnh/ giây sẽ có cảm giác hình ảnh chuyển động) Do số lượng ảnh cần dùng khá lớn nên có nhiều kỹ thuật xử lý hình ảnh đã được áp dụng (MPEG, AVI, FLC…)
Biểu diễn âm thanh
Trang 21-20-
Lấy mẫu của tín hiệu âm thanh theo thời gian cụ thể (fs = fmax) và gán cho mỗi mẫu bởi một giá trị nhị phân cụ thể (lượng tử hóa theo số bít nhị phân xác định)
Hiện nay thường sử dụng fs = 44KHz (theo chu n của công nghệ nhạc CD)
Tương tự như biểu diễn hình ảnh, âm thanh cũng được phân tích thành nhiều đối tượng (trống, kèn, đàn…)
Việc lưu trữ âm thanh hiện nay được dùng theo các chu n MIDI, WAVE, MP3…
số có khả năng thực hiện trên máy tính (hoặc ngược lại)
1.4 Các th nh phần cơ ản trong hệ thống máy tính
Mô hình chung của một máy tính
Mô hình chung của một hệ thống máy tính
Mô hình Von Newman cổ điển
1.4.1 Bộ xử lí trung tâm
Bộ xử lí trung tâm (Central Processing Unit – CPU) có thể được xem như não bộ, một trong những phần tử cốt lõi nhất của máy vi tính Nhiệm vụ chính của CPU là xử lý các chương trình vi tính và dữ kiện CPU có nhiều kiểu dáng khác nhau Ở hình thức đơn giản nhất, CPU là một con chip với vài chục chân Phức tạp hơn, CPU được ráp sẵn trong các bộ mạch với hàng trăm con chip khác CPU là một mạch xử lý dữ liệu theo chương trình được thiết lập trước Nó là một mạch tích hợp phức tạp gồm hàng triệu transistor
Cấu trúc cơ bản CPU
Đơn vị điều khiển (CU:Control Unit): Điều khiển hoạt động của máy tính theo chương trình đã định sẵn
Trang 22-21-
Đơn vị số học và logic (ALU: Arithmetic And Logic Unit): thực hiện các phép toán
số học và logic trên các dữ liệu cụ thể
Tập thanh ghi (RF: Register File): Lưu trữ các thông tin tạm thời phục vụ cho hoạt động của CPU
Đơn vị nối ghép BUS(BIU: Bus Interface Unit): kết nối và trao đổi thông tin giữa Bus bên trong và Bus bên ngoài CPU
RAM (Random access memory), hay Bộ nhớ truy cập ngẫu nhiên:
Tốc độ truy cập nhanh, lưu trữ giữ liệu tạm thời, dữ liệu sẽ bị mất vĩnh viễn khi không còn nguồn điện cung cấp
ROM (Read Only Memory), hay Bộ nhớ chỉ đọc:
Lưu trữ các chương trình mà khi mất nguồn điện cung cấp sẽ không bị (xóa) mất Ngày nay còn có công nghệ FlashROM tức bộ nhớ ROM không những chỉ đọc mà còn có thể ghi lại được, nhờ có công nghệ này BIOS được cải tiến thành FlashBIOS
Cache:
Cache là tên gọi của bộ nhớ đệm – nơi lưu trữ các dữ liệu nằm chờ các ứng dụng hay phần cứng xử lý Mục đích của nó là để tăng tốc độ xử lý Cache là một cơ chế lưu trữ tốc độ cao đặc biệt Nó có thể là một vùng lưu trữ của bộ nhớ chính hay một thiết bị lưu trữ tốc độ cao độc lập
1.4.3 Bộ nh ngoài
Có dung lượng lơn, để lưu các chương trình và dữ liệu lâu dài, như HDD, CDROM Các loại bộ nhớ dựa trên công nghệ FlashROM: Kết hợp với chu n giao tiếp máy tính USB (Universal Serial Bus) tạo ra các bộ nhớ máy tính di động thuận tiện và đa năng như: Các thiết bị giao tiếp USB lưu trữ dữ liệu, thiết bị giao tiếp USB chơi nhạc số, chơi video số; khóa bảo mật qua giao tiếp USB; thẻ nhớ Dung lượng thiết bị lưu trữ FlashROM đã lên tới 32GB (Samsung công bố năm 2005), trong tương lai, có thể FlashROM sẽ dần thay thế các ổ đĩa cứng, các loại đĩa CD, DVD
1.4.4 Hệ thống vào ra (Input Output ystem)
Giúp máy tính trao đổi thông tin với thế giới bên ngoài, bao gồm hai hoạt động chính là nhận thông tin (Input) và gửi thông tin (Output)
Thiết bị vào (Input devices): Các bộ phận thu nhập dữ liệu hay mệnh lệnh như là bàn phím, chuột biến đổi thông tin từ môi trường bên ngoài sang dạng phù hợp để đưa vào máy tính xử lí
Thiết bị ra (Output divices): Các bộ phận trả lời, phát tín hiệu, hay thực thi lệnh ra bên ngoài như là màn hình, máy in, loa, biến đổi dữ liệu sau xử lí sang dạng phù hợp với yêu cầu của người sử dụng
1.4.5 Hệ thống bus
Bus là tập hợp các đường dây truyền tải thông tin theo phương thức song song, mỗi 1 đường dây truyền 1 bit thông tin, số lượng đường dây càng lớn (độ rộng bus) thì khả năng truyền thông tin càng lớn Bus cho phép liên kết các thành phần lại với nhau, thông tin đi ra từ
1 thành phần có thể đến tất cả các thành phần khác kết nối với bus Tại 1 thời điểm chỉ có 1 thành phần được phép sử dụng bus để truyền thông tin, các thành phần khác muốn truyền thông tin thì phải chờ đến lượt hoặc bus ở trạng thái rảnh rỗi
Trang 23-22-
Bus có 2 loại : Bus cục bộ (local bus – internal bus) nối các thành phần cục bộ bên trong
1 thiết bị ; Bus hệ thống (System bus) kết nối các thành phần quan trọng trong hệ thống máy tính (CPU, Memory, I/O)
Bus hệ thống bao gồm 3 loại :
Bus địa chỉ (Address bus) : truyền các thông tin về tín hiệu địa chỉ của bộ nhớ, các thiết bị
Bus dữ liệu (Data bus) : truyền các thông tin về dữ liệu giữa các thành phần, thiết bị với nhau
Bus điều khiển (Control bus) : truyền các thông tin tín hiệu điều khiển, trạng thái giữa CPU và các thành phần khác trong hệ thống máy tính
Mô hình máy tính điện tử
Nội dung tự học
- Lịch sử phát triển của máy tính
- Sự phát triển của họ VXL Intel x86
- Sự phát triển của thiết bị ngoại vi
- Sự phát triển của các phần mềm máy tính
- Hiệu năng của hệ thống
- Các kiến trúc máy tính tiên tiến
- Các bài tập trong mục 1.2
Trang 24Cấu trúc cơ bản của CPU gồm 4 thành phần
chính:
- Đơn vị điều khiển
- Đơn vị xử lý toán học và logic
- Thanh ghi
- Hệ thống BUS
2.1.2 ự thực thi của CPU
CPU là nơi mà phần lớn các tác vụ xử lý được thực hiện Các tác vụ xử lý này được thực thi trong CPU và được lưu trữ trong bộ nhớ (tập lệnh)
Khi có một yêu cầu xử lý, CPU cần phải thực hiện những thao tác sau:
Fetch Instructions (chỉ lệnh tìm nạp): CPU đọc các chỉ lệnh từ
bộ nhớ
Interpret Instructions: Giải mã chỉ lệnh để xác định hành động
nào được yêu cầu
Fetch data (dữ liệu tìm nạp): Thi hành chỉ lệnh (có thể yêu cầu
thực hiện một vài thao tác số học hoặc logic trên dữ liệu)
Write Data: Ghi lại kết quả của sự thi hành (có thể yêu cầu viết
dữ liệu vào bộ nhớ hoặc module vào ra)
Để thực hiện các thao tác trên, CPU cần một số bộ phận làm việc cùng nhau, cung cấp các dữ liệu cũng như các tín hiệu điều khiển thực thi cho nhau :
- Program Counter: chứa địa chỉ của lệnh tiếp theo trong bộ nhớ để thực thi
- Memory Address Register (MAR): lưu địa chỉ của vùng nhớ trong bộ nhớ chính mà
dữ liệu sẽ được ghi vào hoặc dữ liệu sẽ được đọc từ đó
Trang 25- Arithmetic and Logic Unit (ALU): thực hiện các phép toán số học và logic
- Processor Status Register (PSR): lưu giữ trạng thái thực hiện của các phép xử lý
- Intruction Register (IR) : thanh ghi lệnh, lưu giữ các thông tin về nội dung lệnh cần thực thi
Việc thực hiện yêu cầu xử lý (lệnh) sẽ được tiến hành trong 1 chu kỳ lệnh, điều này có nghĩa nội dung của lệnh đã được nạp vào trong CPU, đã được giải mã để xác định các yêu cầu, cũng như các dữ liệu phụ thuộc đầu vào của lệnh cũng được nạp để phục vụ việc thực thi lệnh, kết quả của lệnh (đầu ra) cũng phải được xử lý – lưu trữ
FETCH 1 [MAR] ← [PC]
2 [PC] ← [PC]+1
3 [MBR] ← [MM [MAR]]
4 [IR] ← [MBR]
4a CU ← [IR (opcode)]
EXECUTE 5 [MAR] ← [IR (Địa chỉ)]
Các thanh ghi có thể được chia thành hai nhóm:
User - Visible Registers: các thanh ghi mà người dùng có thể can thiệp được vào
Nhóm thanh ghi đa năng
Nhóm thanh ghi đoạn
Nhóm thanh ghi con trỏ và chỉ số
Các thanh ghi đa năng (general-purpose registers) có thể bị phân chia cho các chức năng khác nhau bởi người lập trình
- Dùng trong tập lệnh trực giao với thao tác (các toán hạng – opcode, thao tác con trỏ động…)
- Dùng cho các chức năng địa chỉ hoá (thanh ghi gián tiếp, dịch chuyển)
- Trong các trường hợp khác (thanh ghi dữ liệu và thanh ghi địa chỉ)
Trang 26-25-
Thanh ghi đoạn: vùng nhớ có thể được chia thành các phần (đoạn) dùng cho ngăn xếp,
dữ liệu hay mã chương trình Địa chỉ của các đoạn được lưu trữ tai các thanh ghi đoạn
Thanh ghi con trỏ và chỉ số: kết hợp với các thanh ghi đoạn để chỉ chính xác địa chỉ
ngăn nhớ có trong mỗi đoạn
2.2.2 Control and Status Registers:
Có rất nhiều thanh ghi CPU khác nhau được sử dụng để điều khiển thao tác của CPU Hầu hết chúng trên đa số máy là không hữu hình với người dùng Một vài thanh ghi có thể hữu hình với các lệnh máy thực thi trong chế độ điều khiển hoặc trong operating-system mode Với các máy tính khác nhau sẽ có tổ chức thanh ghi khác nhau và sử dụng thuật ngữ khác nhau
Bốn thanh ghi là cốt tuỷ đối với sự thi hành lệnh
Program Counter (PC): chứa địa chỉ của một chỉ lệnh được tìm nạp
Thanh ghi lệnh (Instruction Register): chứa chỉ lệnh được tìm nạp gần nhất
Thanh ghi địa chỉ bộ nhớ (Memory Address Register): chứa địa chỉ của các vị trí trong bộ nhớ
Thanh ghi bộ nhớ đệm (Memory Fuffer Register): chứ một từ dữ liệu được ghi vào trong bộ nhớ hoặc từ được đọc gần đây nhất
Ví dụ với bộ xử lý 8086:
Bao gồm:
1 thanh ghi con trỏ lệnh IP (instruction Pointer): Lưu trữ địa chỉ lệnh kế tiếp sẽ được chạy trong đoạn CT hiện thời Mỗi 1 từ lệnh được đọc từ bộ nhớ BIU sẽ thay đổi giá trị IP sao cho nó chỉ đến địa chỉ của từ lệnh kế tiếp trong bộ nhớ
4 thanh ghi đa năng AX,BX, CX, DX
AX: (Accumulator Register) thanh ghi tích luỹ các kết quả tính toán
BX (Base Register) thanh ghi cơ sở: chỉ địa chỉ cơ sở của vùng nhớ thuộc bộ nhớ
CX (Counter Register) thanh ghi đếm: Khai báo số lần 1 thao tác nào đó phải được thực hiện trong các vòng lặp (loop), phép dịch (shift), quay (rotate)
DX (Data Register) thanh ghi số liệu: cùng thanh ghi AX tham gia vào các thao tác của phép nhân hoặc chia các số 16 bit DX còn dùng để chứa địa chỉ
16 bit của các cổng cứng (dài hơn 8 bit) trong các lệnh truy nhập các cổng ngoại vi (I/O port)
Khi cần truy nhập chỉ với 1 byte thì byte cao hay thấp được nhận diện H,L
*Các thanh ghi con trỏ, chỉ số:
SP (Stack pointer) con trỏ ngăn xếp: địa chỉ đỉnh ngăn xếp SP cho phép truy xuất
dễ dàng các địa chỉ trong đoạn ngăn xếp SS (stack segment) Giá trị trong SP mô tả phải offset của địa chỉ ngăn xếp kế tiếp so với địa chỉ hiện tại đang được lưu trong
*Thanh ghi đoạn:
Bộ nhớ được chia thành các đoạn logic (segment) dài 64kb CPU có thể truy nhập 1 lần tới 4 đoạn
Địa chỉ đoạn chứa trong thanh ghi đoạn
Trang 27-26-
Thanh ghi đoạn mã CS (code Segment) nhận diện ĐC bắt đầu của đoạn chương trình hiện hành trong bộ nhớ
DS (data Segment) đoạn DL : địa chỉ bắt đầu đoạn số liệu
SS (Stack Segment) đoạn ngăn xếp: địa chỉ logic đoạn ngăn xếp
EX (extra Segment) đoạn mở rộng: Đ/c DL các chuỗi
*Thanh ghi cờ: Flag Register
9 trong số 16 bit của thanh ghi này được sử dụng, mỗi bit có thể được thiết lập hay xoá
dể chỉ thị kết quả của mỗi thao tác trước đó hoặc trạng thái hiện thời bộ XL
CF Carry : nhớ
PF perity: chẵn lẻ
ZF zero : kết quả phép toán =0
SF sign : 0 dương, 1 âm
OF overflow : tràn
2.3 Đơn vị số học v ogic ALU (Arithmetic n ogic unit)
Đơn vị số học và logic (ALU): thực hiện các thao tác số học và logic
ALU thực hiện phép toán số học và các phép toán logic trên các dữ liệu cụ thể Đó là các phép toán:
Trang 28-27-
2.4 Đơn vị điều khiển CU (Control Unit)
Chức năng: điều khiển máy tính hoạt động theo đúng lệnh và thứ tự của lệnh
Một chương trình khi thi hành bao gồm tập các vi thao tác liên quan đến các thành phần CPU, bao gồm:
Truyền dữ liệu từ một thanh ghi đến thanh ghi khác
Truyền dữ liệu từ một thanh ghi đến một giao diện ngoài (ví dụ system bus)
Truyền dữ liệu từ một giao diện ngoài tới thanh ghi
Thực hiện thao tác số học và logic, sử dụng thanh ghi để nhận và ghi dữ liệu
Tất cả các vi thao tác cần thực hiện trong một chu kỳ lệnh
2.4.1 Tín hiệu điều khiển:
Khi đơn vị điều khiển thực hiện các chức năng điều khiển tác động hệ thống, ngoài các thông tin chỉ lệnh cần thực hiện, nó cần phải có:
- Dữ liệu vào
- Thông tin trạng thái của hệ thống
- Thành phần lưu giữ kết quả ra
CU điều khiển hoạt động của máy tính theo chương trình đã định sẵn Qui trình hoạt động diễn ra như sau
- Điều khiển việc nhận lệnh tiếp theo từ bộ nhớ, đưa vào thanh ghi lệnh
- Tăng nội dung của PC để trỏ sang lệnh tiếp theo
- Giải mã lệnh nằm trong thanh ghi lệnh để xác định thao tác mà lệnh yêu cầu
- Phát ra các tín hiệu điều khiển thực hiện lệnh đó
- Nhận tín hiệu yêu cầu từ bên ngoài, xử lý các tín hiệu đó
Các tín hiệu của đơn vị điều khiển được thể hiện trong hình trên Bao gồm:
- Thanh ghi chỉ lệnh: Xác định mã chỉ lệnh hiện tại được dùng để xác định vi thao tác nào được thực hiện trong chu kì thi hành
- Cờ: Thông báo về trạng thái của CPU và trạng thái kết quả vừa thực hiện thao tác của ALU
Control Signals Within CPU
Flag
Clock
Trang 29-28-
- Các tín hiệu điều khiển từ bus điều khiển: Trong quá trình điều khiển của CU, BUS
hệ thống phải cung cấp các thông tin (tín hiệu): Ngắt và sự công nhận
b Các tín hiệu ra
- Tín hiệu điều khiển trong CPU: có 2 loại:
+ Điều khiển dữ liệu di chuyển từ một thanh ghi tới các thanh ghi khác + Điều khiển ALU thực hiện các chức năng cụ thể
- Các tín hiệu điều khiển điều khiển bus: Cũng có 2 loại:
+ Các tín hiệu điều khiển bộ nhớ + Các tín hiệu điều khiển module vào ra
Để CU thực hiện điều khiển hoạt động của hệ thống, nó cần phải:
Tín hiệu điều khiển mở các cổng cho phép nội dung của MAR đưa vào bus địa chỉ
Bộ nhớ đọc tín hiệu điều khiển trên bus điều khiển
Một tín hiệu điều khiển các cổng cho phép nội dung bus dữ liệu được chứa trong MBR
Các tín hiệu điều khiển thêm một vào nội dung của PC và chứa kết quả trở lại cho
PC
Theo đó, đơn vị điều khiển gửi tín hiệu điều khiển mở các cổng giữa MBR (Memory buffer register) và IR (Instruction Register)
2.4.2 Đơn vị điều khiển vi chương trình
Nguyên tắc: chia lệnh thành các vi lệnh (microcommand), tập hợp của các vi lệnh cho ta một vi chương trình (microprograme), như vậy thay vì thực thi chương trình ban đầu CPU sẽ thực thi tập các vi chương trình tương ứng với chương trình này Việc thực thi các vi chương trình có thể được thực hiện bằng cách tra cứu chúng trong bộ nhớ có sẵn (bộ nhớ điều khiển) Các chức năng chính của đơn vị điều khiển vi chương trình:
2.5 Cấu trúc kết nối - BUS
Một máy tính bao gồm các bộ phận hay các đơn vị của ba thành phần chính: CPU, hệ thống nhớ, thiết bị vào ra, được liên lạc với nhau Về thực chất máy tính được coi là một mạng của các đơn vị cơ bản Hơn nữa cần phải có các đường để kết nối các đơn vị với nhau Tập hợp các đường kết nối các đơn vị được gọi là Interconnection Structure
Cấu trúc kết nối thông dụng nhất được sử dụng trong máy tính là BUS
Trang 30-29-
BUS là tập hợp các đường dây kết nối hai hay nhiều thiết bị với nhau Rất nhiều thiết bị kết nối với BUS, một tín hiệu được truyền đi từ bất kì một thíêt bị nào cũng có thể được gửi đến tất cả các thiết bị kết nối với BUS Nếu có hai thiết bị cùng truyền dữ liệu đồng thời trong một thời điểm, những tín hiệu này sẽ gối lên nhau và sẽ bị sai lạc, như vậy chỉ một thiết bị có thể truyền dữ liệu thành công trong một thời điểm
Trong nhiều trường hợp, BUS thực sự gồm nhiều đường liên lạc, mỗi đường có khả năng truyền các tín hiệu mô tả các giá trị nhị phân 0, 1 Các số nhị phân được truyền liên tục thông qua một đường, một số đường của BUS truyền các bit nhị phân đồng thời (kết nối song song)
Một hệ thống máy tính chứa đựng một số loại BUS khác nhau tuỳ thuộc các đường kết nối giữa các bộ phận ở các mức khác nhau của hệ thống BUS kết nối các bộ phận chính của máy gọi là BUS hệ thống
BUS hệ thống bao gồm từ 50 đến 100 đường truyền riêng biệt, mỗi đường được phân chia một chức năng hay một ý nghĩa riêng biệt Mặc dù có rất nhiều cách thíêt kế BUS khác nhau, nhưng trên bất kỳ cách nào các đường BUS cũng phân loại thành ba nhóm chính: BUS
dữ liệu, BUS địa chỉ, BUS điều khiển, ngoài ra có thể có một số đường cung cấp năng lượng cho các module tham gia BUS
BUS dữ liệu: truyền tải dữ liệu tới các thiết bị Một BUS dữ liệu tiêu biểu bao gồm 8,
16 hay 32 đường, số đường được coi là độ rộng của BUS dữ liệu Mỗi đường chỉ có thể mang một bit dữ liệu tại một thời điểm, số lượng đường xác định số lượng bit có thể được truyền trong một thời điểm
BUS địa chỉ: dùng chỉ định rõ nguồn gốc hay đích đến của dữ liệu trên BUS dữ liệu
Địa chỉ thường là địa chỉ các cổng vào/ra, từ nhớ trong ngăn nhớ
BUS điều khiển: điều khiển việc truy nhập và việc sử dụng các đường địa chỉ và dữ
liệu Các đường dữ liệu và địa chỉ được chia sẻ cho tất cả các bộ phận, phải có sự điều khiển việc sử dụng các đường đó Các tín hiệu điều khiển truyền cả lệnh và thông tin thời gian giữa các module hệ thống Tín hiệu thời gian chỉ ra những thông tin về địa chỉ và dữ liệu hợp lệ Các tín hiệu lệnh định rã thao tác được thực hiện
Những đường điều khiển tiêu biểu:
Memory write: điều khiển dữ liệu trên BUS được viết vào vị trí đã được xác định bằng
địa chỉ
Memory read: điều khiển việc đưa dữ liệu từ một vị trí xác định vào BUS
I/O write: điều khiển đưa dữ liệu từ BUS ra cổng vào/ra đã xác định
I/O read: điều khiển việc nhận dữ liệu từ cổng vào/ra chuyển vào BUS
Transfer ACK: chỉ ra dữ liệu đã được chấp nhận
BUS request: chỉ ra module cần chiếm quyền điều khiển BUS
BUS grant: chỉ ra module đang yêu cầu đã được cấp quyền điều khiển BUS
Interrupt request: yêu cầu ngắt từ thiết bị ngoại vi
Interrupt ACK: chấp nhận ngắt từ CPU
Clock: xung đồng hồ dùng trong quá trình đồng bộ
Reset: khởi động lại các module
Phân loại BU theo đường truyền
BUS đồng bộ: được điều khiển bởi nhịp đồng hồ với chu kì nhất định Hoạt động của
vi xử lý đòi hỏi thời gian là bội số của chu kì máy
BUS không đồng bộ: không hoạt động theo xung đồng hồ nhất định, khi truyền tín hiệu thiết bị truyền phát tín hiệu MSYN báo cho thiết bị nhận chạy nhanh nhất có thể, sau đó khi hoàn thành thiết bị nhận phát lại tín hiệu SSYN
Trang 31Ngôn ngữ máy (Machine Language):
Chương trình đưa vào bộ nhớ cho máy thực hiện theo nhiều dạng, dạng cơ bản nhất mà máy có thể hiểu ngay được gọi là ngôn ngữ máy Tuỳ theo CPU mà ngôn ngữ máy có dạng nhất định, chương trình viết bằng ngôn ngữ máy thực hiện rất nhanh và chiếm ít chỗ trong bộ nhớ, tuy nhiên chương trình khó viết và khó nhớ
Hợp ngữ (Assembly)
Ngôn ngữ giúp lập trình viên viết chương trình đẽ dàng hơn, thay cho ngôn ngữ máy Một lệnh của hợp ngữ tương đương như một lệnh của ngôn ngữ máy nhưng thay viết chương trình dưới dạng nhị phân sẽ dùng kí hiệu tượng trưng
Để biểu diễn các nhóm lệnh CPU, dùng tập lệnh Hợp ngữ dùng cho VXL 8086 Intel
Lệnh bao gồm:
Mã lệnh (opcode): cho biết thao tác phải xử lí
Toán hạng (operand): đối số thực hiện lệnh
2.6.2 Kiến trúc t p lệnh của CPU
Kiến trúc CI C (Complex Instruction Set Computer) - Tập lệnh phức hợp
Lệnh bao gồm 2 toán hạng với độ dài tùy biến
Tích hợp nhiều chức năng trong 1 lệnh
1 lệnh có thể được thực hiện trên nhiều chu kì
Ưu điểm
Hỗ trợ nhiều chế độ địa chỉ
Thay thế hợp ngữ
Sử dụng kĩ thuật điều khiển vi chương trình (Microprogramme)
Tiếp cận ngôn ngữ lập trình cấp cao
Có thể được ánh xạ trực tiếp sang ngôn ngữ lập trình cấp cao
Giảm độ phức tạp của trình biên dịch
Kiến trúc RI C (Reduced Instruction Set Computer)
Đơn giản hóa tập lệnh bằng cách sử dụng các lệnh đơn và giảm số lượng các lệnh
Cố định độ dài các lệnh
Giảm số chu kì dùng cho 1 lệnh
Giảm các chế độ địa chỉ bằng cách tăng số lượng các lệnh truy xuất bộ nhớ
2.6.3 Các nhóm lệnh của CPU
Các nhóm lệnh bao gồm:
Nhóm lệnh vào ra
Trang 32IN Thanh ghi, Địa chỉ cổng
OUT Địa chỉ cổng, Thanh ghi
Vào ra gián tiếp: sử dụng các ngắt mềm, mỗi số hiệu ngắt sẽ tương ứng với 1 chương trình con có sắn
Nhóm lệnh chuyển dữ liệu:
MOVE: copy dữ liệu từ nguồn đến đích
LOAD: nạp dữ liệu từ bộ nhớ đến bộ xử lý
STORE: cất dữ liệu từ bộ xử lý đến bộ nhớ
EXCHANGE: trao đổi nội dung của nguồn và đích
CLEAR: chuyển các bit 0 vào toán hạng đích
SET: chuyển các bit 1 vào toán hạng đích
PUSH: cất nội dung toán hạng nguồn vào ngăn xếp
POP: lấy nội dung đỉnh ngăn xếp đưa đến toán hạng đích
Nhóm lệnh số học:
ADD: cộng hai toán hạng
SUBTRACT: trừ hai toán hạng
MULTIPLY: nhân hai toán hạng
DIVIDE: chia hai toán hạng
ABSOLUTE: lấy trị tuyệt đối toán hạng
NEGATE: đổi dấu toán hạng (lấy bù 2)
INCREMENT: tăng toán hạng thêm 1
DECREMENT: giảm toán hạng đi 1
COMPARE: trừ hai toán hạng để lập cờ
Nhóm lệnh logic, dịch, quay:
AND: thực hiện phép AND hai toán hạng
OR: thực hiện phép OR hai toán hạng
XOR: thực hiện phép XOR hai toán hạng
NOT: đảo bit của toán hạng (lấy bù 1)
TEST: thực hiện phép AND hai toán hạng để lập cờ
SHIFT: dịch trái (phải) toán hạng
ROTATE: quay trái (phải) toán hạng
Nhóm lệnh điều khiển, rẽ nhánh:
JUMP (BRANCH): lệnh nhảy không điều kiện - nạp vào PC một địa chỉ xác định
JUMP CONDITIONAL: lệnh nhảy có điều kiện - điều kiện đúng, nạp vào PC một địa chỉ xác định; điều kiện sai, không làm gì cả
CALL: lệnh gọi chương trình con
Trang 33-32-
RETURN: lệnh trở về từ chương trình con
HALT: dừng thực hiện chương trình
WAIT: tạm dừng thực hiện chương trình, lặp kiểm tra điều kiện cho đến khi thoả mãn thì tiếp tục thực hiện
NO OPERATION: không thực hiện gì cả
LOCK: cấm không cho xin chuyển nhượng bus
UNLOCK: cho phép xin chuyển nhượng bus
Chế độ địa chỉ gián tiếp qua thanh ghi
Chế độ địa chỉ tương đối cơ sở
Chế độ địa chỉ tương đối cơ sở - chỉ số
Chế độ địa chỉ tức thì
Trong chế độ địa chỉ này toán hạng đích là một thanh ghi hay một ô nhớ, còn toán hạng nguồn là một hằng số và ta có thể tìm thấy toán hạng này ở ngay sau mã lệnh ( chính vì vậy chế độ địa chỉ này có tên là chế độ địa chỉ tức thì ) Ta có thể dùng chế độ địa chỉ này để nạp
dữ liệu cần thao tác vào bất kỳ thanh ghi nào ( trừ các thanh ghi đoạn và thanh cờ ) hoặc vào bất kỳ ô nhớ nào trong đoạn dữ liệu DS
Ví dụ:
MOV CL, 100 ; chuyển 100 vào CL
MOV AX, 0FF0H ; chuyển 0FF0H vào AX để rồi đưa
MOV DS, AX ; vào DS ( vì không thể chuyển trực tiếp vào thanh ghi đoạn ) MOV ( BX ), 10 ; chỉ DS:BX
Chế độ địa chỉ thanh ghi
Trong chế độ địa chỉ này người ta dùng các thanh ghi bên trong CPU như là các toán hạng để chứa dữ liệu cần thao tác Vì vậy khi thực hiện lệnh có thể đạt tốc độ truy nhập cao hơn so với các lệnh có truy nhập đên bộ nhớ
Ví dụ:
MOV BX, DX ; chuyển nội dung DX vào BX
MOV DS,AX ; chuyển nội dung AX vào DX
ADD AL,DL ; cộng nội dung AL và DL rồi đưa vào
MOV AL, ( 1234H ) ; chuuyển nội dung ô nhớ DS:1234 vào AL
MOV (4320H ), CX ; chuyển nội dung CX vào 2 ô nhớ liên tiếp DS:4320 và DS:4321
Trang 34-33-
Chế độ gián tiếp qua thanh ghi
Trong chế độ địa chỉ này một toán hạng là một thanh ghi được sử dụng để chứa địa chỉ lệch của ô nhớ chứa dữ liệu, còn toán hạng kia chỉ có thể là thanh ghi mà không được là ô nhớ ( 8088 không cho phép quy chiếu bộ nhớ 2 lần đối với một lệnh )
Ví dụ:
MOV AL, ( BX ) ; chuyển nội dung ô nhớ có địa chỉ DS:BX vào AL
MOV ( SI ), CL ; chuyển nội dung CL vào ô nhớ có địa chỉ DS:SI
MOV ( DI ), AX ; chuyển nội dung AX vào 2 ô nhớ liên tiếp có địa chỉ DS:DI và ; DS: ( DI + 1 )
Chế độ địa chỉ tương đối cơ sở
Trong chế độ địa chỉ này các thanh ghi cơ sở như BX và BP và các hằng số biểu diễn
các giá trị dịch chuyển ( displacement values ) được dùng để tính địa chỉ hiệu dụng của toán
hạng trong các vùng nhớ DS và SS Sự có mặt của các giá trị dịch chuyển xác định tính tương đối ( so với cơ sở ) của địa chỉ
Ví dụ:
MOV CX, ( BX ) +10 ; chuyển nội dung 2 ô nhớ liên
; tiếp có địa chỉ DS: ( BX + 10 ) và DS: ( BX+10 ) vào CX MOV CX, ( BX+10 ) ; một cách viết khác của lệnh trên
MOV CX, 10 ( BX ) ; một cách viết khác của lệnh đầu
MOV AL, ( BP ) +5 ; chuyển nội dung ô nhớ SS: ( BP+5 ) vào AL
ADD AL, Table ( BX ) ; cộng AL với nội dung ô nhớ do BX chỉ ra trong bảng table ; ( bảng này nằm trong DS ), kết quả dựa vào AL
Chế độ địa chỉ tương đối cơ sở - chỉ số
Kết hợp hai chế độ địa chỉ chỉ số và cơ sở ta có chế độ địa chỉ chỉ số cơ sở Trong chế
độ địa chỉ này ta dùng cả thanh ghi cơ sở lẫn thanh ghi chỉ số để tính địa chỉ của toán hạng Nếu ta dùng thêm cả thành phần biểu diển sự dịch chuyển của địa chỉ thì ta có chế độ địa chỉ phức hợp nhất: chế độ địa chỉ tương đối chỉ số cơ sở Ta có thể thấy chế độ địa chỉ này rất phù hợp cho việc dịa chỉ hoá các mảng hai chiều
Ví dụ:
MOV AX, [ BX ] [SI ]+8 ; chuyển nội dung 2 ô nhớ liên tiếp có địa chỉ
; DS:(BX+SI+8 ) và DS:(BX+SI+9 ) vào AX
MOV AX, [BX+SI+8] ; một cách viết khác của lệnh trên
MOV CL, [BP+DI+5] ; chuyển nội dung ô nhớ SS:( BP+DI+5 ) vào CL
Nội dung tự học:
- Các cổng logic cơ bản
- Tốc độ của bộ xử lí
- Các kĩ thuật tiên tiến: pipeline, scalar
- Cấu trúc bộ xử lý tiên tiến
- Các kiến trúc song song mức lệnh
- Bộ xử lý đa luồng và đa lõi
- Các kiến trúc tập lệnh tiên tiến
Trang 35 Khối (block) là đơn vị truyền dữ liệu lớn hơn từ nhớ, thường được dụng truyền
dữ liệu với bộ nhớ ngoài
Phương pháp truy nhập
Sequential access (truy nhập tuần tự): thường được dùng truy cập băng từ
Truy nhập trực tiếp (direct memory): giống như truy nhập tuần tự, truy nhập
trực tiếp bao hàm việc chia sẻ đọc viết cơ khí Những từ nhớ của bản ghi có địa chỉ cơ sở duy nhất trên vị trí vật lý Việc truy nhập được hoàn thành bởi truy nhập trực tiếp là đi đến vùng lân cận chung cộng với tìm kiếm tuần tự, đếm hoặc đợi để đi đến vị trí cuối cùng.Thời gian truy nhập có thể thay đổi được Các loại đĩa sử dụng phương pháp truy nhập trực tiếp
Truy nhập ngẫu nhiên (Random access): mỗi vị trí địa chỉ trong bộ nhớ là độc
nhất Thời gian truy nhập các vị trí đã cho là độc lập với dãy truy nhập ưu tiên
và là hằng số Như vậy, vị trí nào cũng có thể được chọn ngẫu nhiên, và địa chỉ trực tiếp Bộ nhớ chính là truy nhập ngẫu nhiên
Truy nhập liên kết: đây là kiểu truy nhập ngẫu nhiên có thể làm sự so sánh vị
trí bít trong từ cho một phép toán cụ thể và làm việc này cho tất cả các từ đồng thời Vì vậy một từ đựơc tìm lại được dựa vào chính nội dung của nó thay vì địa chỉ của nó.Với truy nhập ngẫu nhiên thông thường, mỗi vị trí có địa chỉ cơ khí của mình, và thời gian tìm là hằng số độc lập với vị trí hay mẫu hình truy nhập ưu tiên Bộ nhớ cache dùng cách truy nhập này
Sự thi hành
Thời gian truy nhập: (access time): đối với truy nhập ngẫu nhiên đó là thời
gian để thực hiện hoạt động đọc ghi Đối vớ truy nhập không phải là ngẫu nhiên thời gian truy nhập là thời gian đưa vị trí đọc viết cơ khí đến vị trí mong muốn
Cycle time (chu kỳ thời gian):
Transfer rate: tốc độ dữ liệu có thể được truyền vào hoặc ra khỏi đơn vị nhớ
Có thể thay đổi/ không thay đổi
Có thể xoá được/ không thể xoá được