CHƯƠNG` 1. GIỚI THIỆU CHUNG
1.1. Khái niệm kiến trúc tổ chức máy tính
Kiến trúc máy tính Tổ chức máy tính hai khái niệm (thuật ngữ)
cần được phân biệt rõ khi tả một hệ thống máy tính
Kiến trúc máy tính (KTMT) thiết kế các khái niệm cấu trúc hoạt
động căn bản của một hệ thống máy tính, KTMT một bản thiết kế (blueprint)
tả tính chất chức năng về các yêu cầu về những s thi hành thiết kế cho
những bộ phận khác nhau của một máy tính như: CPU hoạt động nội tại n thế
nào? Truy cập địa chỉ trong ô nhớ như thế nào?
KTMT đề cập đến những đ cập đến những thuộc tính lập trình
viên thể quan sát được. i cách khác đó thuộc tính ảnh hưởng trực tiếp đến
việc thi hành một chương trình. dụ: tập chỉ thị của máy tính, số bit được sử
dụng đ biểu diễn dữ liệu, chế nhập/ xuất, kỹ thuật định địa chỉ ô nhớ .v.v.
Tóm lại, Kiến trúc máy tính (computer architecture) đề cập đến các
thuộc tính của hệ thống máy tính dưới góc nhìn của con người lập trình. Hay nói
cách khác ảnh hưởng trực tiếp đến quá trình thực hiện logic của chương trình
bao gồm: tập lệnh, biểu diễn dữ liệu, các cơ chế vào/ra, kỹ thuật gán địa chỉ…
Kiến trúc máy tính gồm 3 phần chính:
+ Kiến trúc tập lệnh (Instruction set architecture, ISA) hình ành
trừu tượng được nhìn từ góc độ lập trình viên sử dụng ngôn ngữ máy (hợp ngữ).
Bao gồm tập lệnh, cách đánh địa chỉ bộ nhớ (memory address mode), các thanh ghi,
các định dạng địa chỉ dữ liệu.
+ Vi kiến trúc (Microachitecture) hay còn gọi tổ chức máy
tính(computer Ogranization) tả bậc thấp
+ Thiết kế hệ thống (System Design) bao gồm tất cả các thành phần
phần cứng khác nhau trong máy tính như: các đường kết nối hệ thống Bus
Switch, bộ điều kiển bộ nhớ (memory controller), chế CPU off-load (truy nhập
bộ nhớ trực tiếp), các vấn đề về đa xử (multi-processing).
Tổ chức máy tính (computer Ogranization) tả các bộ phận cấu
thành của hệ thống máy tính được kết nối với nhau như thế nào thông qua thực
hiện kiến trúc tập lệnh. dụ: trong kiến trúc bộ nhân thuộc tính của hệ thống
1
xử lý. Bộ nhân sẽ được tổ chức riêng bên trong máy tính hoặc được tính nhiều lần
trong bộ cộng để được kết quả nhân tương ứng
Cấu trúc máy tính (Computer contruction) những thành phần của
máy tính những liên kết giữa các thành phần, bao gồm: Bộ xử lý, bộ nhớ, hệ
thống ra vào liên kết giũa các hệ thống.
Ngoài ra chúng ta cần nắm các định nghĩa chính của máy tính như:
Máy tính (computer) thiết bị điện tử thực hiện các công việc sau:
nhận thông tin vào (input), xử thông tin theo chương trình nhớ sẵn trong bộ nhớ
máy tính (processing), đưa thông tin ra (output).
Chương trình (program) 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 đó. Máy tính thực
hiện theo lệnh trong chương trình.
Phần mềm (software) bao gồm chương trình d liệu
Phần cứng (hardware) bao gồm tất cả các thành phần vật cấu thành
nên hệ thống máy tính
Phần dẻo (Firmware) phần chứa cả 2 thành phần trên
1.2. Cấu trúc chức năng của máy nh
Máy tínhlà một hệ thống phức tạp với hàng triệu thành phần điện tử
sở. Chìa khóa chính đ t máy tính ràng sự nhận thức về bản chất phân
cấp của hầu hết các hệ thống phức tạp. Một hệ thống phân cấp một tập hợp gồm
các hệ thống con liên quan với nhau, trong đó mỗi hệ thống con lại tính phân
cấp v cấu trúc.
Bản chất phân cấp của một hệ thống phức tạp giữ vai trò chính trong
việc thiết kế tả nó. Tại mỗi cấp, hệ thống bao gồm một tập hợp các thành
phần con cùng với những mối liên hệ giữa chúng. đây hai yếu tố được quan
tâm đến cấu trúc chức năng
1.2.1. Cấu trúc của máy tính
mức đơn giản nhất, máy tính thể được xem như một thực thể
tương tác theo một cách thức nào đó với môi trường bên ngoài. Một cách tổng
quát, các mối quan hệ của với môi trường bên ngoài thể phân loại thành các
thiết bị ngoại vi hay đường liên lạc
2
Cấu trúc máy tính gồm các thành phần cách thức các thành phần liên kết
lài với nhau bao gồm:
Bộ xử Đơn vị xử trung tâm (CPU: Central Processing Unit ):
điều khiển hoạt động của máy tính thực hiện các chức năng xử dữ liệu. CPU
thường được đề cập đến với tên gọi bộ x lý
Bộ nhớ chính (ổ nhớ: storage, bộ nhớ: memory): chứa chương trình
dữ liệu (bộ nhớ gồm bộ nhớ điện tĩnh non-volatile memory và bộ nhớ điện động
volatile memory).
Hệ thống ra/ vào các thành phần nhập xuất:dùng để di chuyển dữ
liệu giữa máy tính môi trường bên ngoài.
Các thành phần kết nối hệ thống: cungcấp chế liên lạc giữa CPU,
bộ nhớ chính các thành phần nhập xuất. dụ như bộ nhớ đệm cache (vùng nhớ
tạm thời).
Hình 1. Cấu trúc tổng quát của máy nh
Máy tính thể một hoặc nhiều thành phần nói trên, dụ như
thể có nhiều CPU. Trước đây đa phần máy tính chỉ một CPU, nhưng gần đây
với dự gia tăng sử dụng nhiều CPU trong hệ thống máy đơn t CPU luôn đối
tượng quan trọng cần được khảo sát đây thành phần phức tạp nhất của hệ
thống
a. CPU (Central Processing Unit)
3
Hình 1. Bộ xử trung tâm của máy tính CPU
Đơn vị điều khiển (control Unit): điều khiển hoạt động của CPU
do đó điều khiển hoạt động của máy tính.
Đơn vị luận số học (ALU Arithmetic and Logic Unit): thực
hiện các chức năng xử dữ liệu của máy tính.
Tập thanh ghi: cung cấp nơi lưu trữ bên trong CPU.
Thành phần nối kết nội CPU: chế cung cấp khả năng liên lạc giữa đơn
vị điều khiển, ALU tập thanh ghi.
Trong các thành phần của CPU, đơn v điều khiển lại giữ vai trò quan trọng
nhất. Sự cài đặt đơn vị này dẫn đến một khái niệm nền tảng trong việc chế tạo b
vi xử lý máy tính (VXL8086, VXL80186, …80586, pemtium 1, 2,3,4, core, core
2duo..).
Hình 1. Đơn vị điều khiển CPU
4
Đơn vị điều khiển (khối điều khiển) của CPU nhiệm vụ thông dịch các
lệnh của chương trình điều khiển hoạt động xử được điều tiết bởi xung nhịp
đồng hồ hệ thống. Đây phần cốt lõi của bộ xử được cấu tạo từ các mạch logic
so sánh với các linh kiện bán dẫn như transistor tạo thành
Khối điều khiển thực hiện điều khiển các khối điều khiển tầng số xung
nhịp. Mạch xung nhịp đồng hồ hệ thống dùng để đồng bộ các thao tác xử trong
ngoài CPU theo khoản thời gian không đổi. Khoản thời gian chờ giữa hai xung
gọi chu kỳ xung nhịp. Tốc độ theo xung nhịp hệ thống tạo ra c tín hiệu chuẩn
thời gian gọi tốc độ xung nhịp. Tốc độ đồng hồ tính bằng triệu đơn vị mỗi giây
(MHz).
Tốc độ của máy tính phụ thuộc vào ?
+ Tốc độ y tính phụ thuộc vào chủ yếu tốc độ của CPU, nhưng cũng
phụ thuộc vào các thành phần khác như bộ nhớ RAM, bo mạch đồ họa, cứng…
+ Tốc độ CPU liên hệ đến tầng số đồng hồ làm việc của (tính bằng các
đơn vị như MHz, GHz…), tầng số xung nhịp(f
0
= 1/T
0
, T
0
chu kỳ xung nhịp)càng
cao nghĩa tốc độ xử càng cao. Tuy nhiên còn phụ thuộc vào nhân CPU
dòng CPU.
dụ: CPU Intel Core 2 Duo (2 nhân) tần số 2,6 GHz thể xử nhanh
hơn CPU Intel Pentium 4 (1 nhân) 3,4 GHz.
Dòng Intel Core 2 Duo (2 nhân) 2,6 GHz GHz lại yếu hơn dòng Core
i3 (2 nhân) với cùng 2,6 GHz GHz rất nhiều.
Hiện nay, n sản xuất CPU như Intel dùng khái niệm đánh giá trên hiệu
suất làm việc cho các dòng Core i3, i5, i7, i9.
Bài toán: Một máy tính intel tốc độ 2GHz. Tính chu kỳ xung nhp
f
0
= 2.10
9
Hz, nên T
0
= 1/ f
0
= ½.10
9
= 0.5ns
Tốc độ của CPU phụ thuộc vào yếu tố nào?
+ Số nhân xử (2,4,10,22 nhân...), càng nhiều nhân càng mạnh.
+ Công nghệ sản xuất (32 nm, 22 nm,14 nm..), càng nhỏ càng tiết kiệm điện
hiệu năng cao hơn (nm nanomet = 1/tỷ mét = 10
-9
m)
+ Công nghệ làm tăng tốc độ xử của CPU (pipeline, turbo
boost, siêu phân luồng, v.v.).
+ Bộ nhớ đệm - bộ nhớ dùng để lưu các lệnh/dữ liệu thường dùng hay
khả năng sẽ được dùng trong tương lai gần, giúp giảm bớt thời gian chờ đợi của
CPU.
5
+ Đồ họa tích hợp
+ TDP ( (Thermal Design Power = công suất thoát nhiệt), lượng nhiệt
chip xử tỏa ra h thống làm mát cần phải giải tỏa. TDP thường cho biết mức
tiêu thụ điện của con chip, con số này càng thấp càng tốt.
b. Bộ nhớ trong (Intenal memory)
- Chứa thông tin CPU thể trao đổi trực tiếp.
- Tốc độ rất nhanh.
- Dung lượng không lớn.
- Sử dụng bộ nhớ bán dẫn Ram Rom
b1. Bộ nhớ RAM
Ram: Random access memory cho phép truy xuất đọc/ghi ngẫu nhiên bất kỳ
vị trí nào trong bộ nhớ dựa theo địa chỉ b nhớ
Ram bộ nhớ chính của máy tính hệ thống điều khiển, dùng lưu
trữ các thông tin thay đổi đang sử dụng. Ram một đặt tính thời gian thực hiện
thao tác đọc ghi đối với mỗi ô nhớ như nhau cho đang bất k vị t nào
trong ô nhớ
Mỗi ô nhớ Ram đều 1 địa chỉ, thông thường 1 byte, tuy nhiên hệ
hệ thống thể đọc ra hay ghi vào nhiều byte cùng 1 lúc
Thông số của Ram ph thuộc vào dung lượng Bus. Dung lượng
tính bằng MB GB (256mb,512 mb,1gb,2gb,3gb,4gb,8gb...), dung lượng của
RAM càng lớn càng tốt cho hệ thống, tuy nhiên không phải tất c các hệ thống
phần cứng hệ điều hành đều hỗ trợ các loại RAM dung lượng lớn.
Bus hệ thống hỗ trợ truyền nhận dữ liệu. Bus hai loại là:
BUS Speed BUS Width. BUS Speed chính BUS Ram tốc đ dữ liệu xử
trong một giây. BUS Width chiều rộng của bộ nhớ, các loại RAM DDR, DDR2,
DDR3, DDR4 hiện nay đều BUS Width cố định 64.
b2. Bộ nhớ ROM
Rom: Real Only Memory bộ nhớ không thay đổi được trong máy
tính. Dữ liệu trong Rom không thể sửa đổi sau khi sản xuất, Rom còn gọi phần
sụn (firmware). Trong Rom chứa một chương trình cố định chương trình Settup
(thường khi khởi động nhấn F2 hoặc Del để vào chương trình) hay gọi chương
trình BIOS. Rom chứa chương trình ban đầu khởi chạy khi máy được bật.
c. Bộ nhớ đệm (Cache Memory)
6
Cache Memory bộ nhớ tồn tại trên CPU được xem nơi lưu trữ
gần nhất với các nhân xử của CPU, chúng tốc độ trích xuất hay truyền tải dữ
liệu rất nhanh nhưng dung lượng thấp.
+ Cache memory b nhớ bán dẫn tốc độ nhanh được đặt đệm
giữa CPU bộ nhớ chính nhằm tăng tốc truy xuất của CPU tới bộ nhớ chính.
+ Dung lượng nhỏ hơn rất nhiều so với bộ nhớ chính
+ Tốc độ nhanh hơn rất nhiều lần
+ Ngày nay Cache memory được tích hợp vào trong bộ vi xử
trong suốc với người s dụng
+ Bộ nhớ Cache thường chia làm 2 mức
+ Bộ nhớ Cache thể hoặc không
1.2.2. Chức năng của máy tính
Một hệ thống máy tính bao gồm bốn chức năng bản: xử dữ liệu,
lưu trữ dữ liệu, di chuyển dữ liệu điều khiển dữ liệu.
Di chuyển
dữ li
d
u
f
Lưu trữ
dữ liệu
Điều khiển
dữ liệu
Xử
dữ liệu
Hình 1.1. Các chức năng bản của máy tính
Xử d liệu: máy tính phải khả năng xử dữ liệu, Dữ liệu thể
rất nhiều dạng phạm vi yêu cầu xử cũng rất rộng. Tuy nhiên, chúng ta sẽ
thấy rằng chỉ một số phương pháp bản trong xử dữ liệu (th công, tự
động,điện tử,.. )
Lưu trữ dữ liệu:máy tính cũng cần phải khả năng lưu trữ dữ liệu.
Ngay cả khi máy tính đang xử dữ liệu, vẫn phải lưu trữ tạm thời tại mỗi
thời điểm phần dữ liệu đang được xử lý. Do vậy ít nhất chúng ta cần chức năng
lưu trữ ngắn hạn. Tuy nhiên, chức năng lưu trữ dài hạn cũng tầm quan trọng
tương đương, dữ liệu cần được lưu trữ trên máy cho những lần cập nhật tìm
kiếm kế tiếp.
7
Di chuyển dữ liệu: máy tính phải khả năng di chuyển dữ liệu giữa
thế giới bên ngoài. Khả năng này được thể hiện thông qua việc di chuyển dữ
liệu giữa máy tính với các thiết bị nối kết trực tiếp hay từ xa đến nó. Tùy thuộc vào
kiểu kết nối cự ly di chuyển dữ liệu, chúng ta tiến trình nhập xuất dữ liệu hay
truyền dữ liệu
+ Tiến trình nhập xuất dữ liệu: thực hiện việc di chuyển dữ liệu
trong cự ly ngắn giữa máy tính thiết bị kết nối trực tiếp.
+ Tiến trình truyền dữ liệu: thực hiện việc di chuyển dữ liệu trong
cụ ly xa giữa máy tính thiết bị kết nối từ xa.
Điều khiển: bên trong hệ thống máy tính, đơn vị điều khiển nhiệm
vụ quản các tài nguyên máy tính điều phối sự vận hành của các thành phần
chức năng phù hợp với yêu cầu nhận được từ người sử dụng
Tương ứng với các chức năng bản trên thì máy tính các hoạt
động thể xảy ra:
a. Hoạt động n một thiết bị di chuyển dữ liệu
Máy tính hoạt động n một thiết b di chuyển dữ liệu nhiệm vụ đơn
giản chuyển dữ liệu từ bộ phận ngoại vi hay đường liên lạc này sang bộ phận
ngoại vi hay đường liên lạc khác
Hình 1.2. Máy tính - thiết bị di chuyển dữ liệu
b. Hoạt động như một thiết bị lưu trữ dữ liệu
Dữ liệu được di chuyển từ môi trường ngoài vào lưu trữ máy tính (quá trình
ghi dữ liệu) ngược lại (quá trình đọc d liệu)
8
Điều khiển dữ liệu
Lưu trữ
dữ liệu
Di chuyn
Xử
dữ liệu
Hình 1.3. Máy tính - thiết bị lưu trữ dữ liệu
c. Hoạt động xử - lưu trữ dữ liệu
Máy tính được dùng đ xử dữ liệu thông qua các thao tác lưu tr
Hình 1.4. Máy tính thiết bị xử dữ liệu lưu tr
d. Hoạt động xử trao đổi dữ liệu
Máy tính được dùng xử dữ liệu thông qua kết hợp giữa việc lưu trữ liên
lạc với môi trường bên ngoài
9
Hình 1.5. Máy tính - Thiết bị xử lý/ trao đổi dữ liệu với môi trường ngoài
1.3. Lịch sử phát triển máy tính
Thế hệ không
Thế hệ máy tính điện từ (1642 - 1945)
Blaise Pascal người công chính trong tạo ra máy làm toán đầu
tiên (1623- 1662). Năm 1642, khi Pascal 19 tuổi đã tạo ra máy tính hoàn toàn bằng
khí lúc đó chỉ làm được 2 phép tính cộng và trừ. 30 năm sau, Baron Gottfried
von Leibniz (1646-1716) đã thêm vào 2 phép toán nhân chia đó tiền thân
của máy tính bỏ túi (calculator) ngày nay
150 sau, Charles Babbage (1792-1871), giáo toán học Đại học
Cambridge, đã thiết kế xây dựng được máy sai phân (difference engine). Máy
gồm 4 b phận: bộ nhớ, bộ tính toán, ngõ vào (bộ đọc bìa đục lỗ) ngõ ra (bộ
xuyên bìa hay máy in). Nguyên lý: bộ tính toán nhận các toán hạng t bộ nhớ sau
đó thực hiện cộng trừ nhân chia chuyển kết quả về bộ nhớ, tất cả thực hiện bằng
khí, cái mới trong máy này đọc các lệnh từ bìa đục lỗ xử chúng. Máy
được lập trình nhờ vào 1 ngôn ngữ đơn giản gọi hợp ngữ do Ada Augusta
Lovelace người trợ của Babagge người đầu tiên viết chương trình cho
máy nh. Tuy nhiên Babagge không thể tạo ra máy tính hoàn toàn như ý do công
nghệ thế kỷ XIX không thể đáp ứng được. Tuy vậy, những ý tưởng của Babagge
đã đặt nền móng cho máy tính điện tử ngày nay.
Trong những năm 1930, một kỹ người Đức tên Konrad Zuse đã tạo
ra một số máy tính làm bằng le điện t chưa biết công trình của Babagge.
Tuy nhiên tất cả đều bị phá hủy năm 1944 trong cuộc ném bom Berlin.
10
Tại Hoa kỳ, Howard Aiken nhờ các công trình của Babagge ông đã
tìm thấy trong thư viện. Ông quyết định tạo ra 1 máy tính bằng le trước đó
Babagge không thể thực hiện được.
Máy tính đầu tiên của Ailen Mark 1, được hoàn tất vào năm
1944 Harvard gồm 72 từ , mỗi từ 23 số thập phân chu k lệnh 6 sec. Sau
đó Ailen hoàn tất máy Mark 2 máy tính le trở nên lỗi thời
Thế hệ thứ nhất (1945 -1955)
Máy tính được xây dựng trên sở đèn điện tử mỗi đèn tượng trưng cho
1 bit nhị phân. Do đó máy khối lượng rất lớn, tốc đ chậm tiêu thụ điện năng
lớn. Như máy ENIAC khối lượng 30 tấn, tiêu thụ công suất 140KW.
Năm 1953, IBM sản xuất ra máy tính 701, sau đó máy 704 ra đời đến
năm 1958 thì máy 709 trở thành công ty máy tính hàng đầu thế giới.
Thế hệ thứ hai (1955 -1965)
Máy tính được xây dựng trên sở các đèn bán dẫn (transistor), máy tính
đầu tiên thế hệ này có tênlà TX-0 (transistorized experimental computer 0).
Năm 1964, máy tính 6600 do công ty CD tốc độ cải thiện so với dòng
trước đó bên trong CPU chế chạy song song thực sự
Thế hệ thứ ba (1965 -1980)
Máy tính dùng mạch IC (integrated circuit)
Mạch tích hợp IC còn gọi vi mạch tích hợp được phát minh cho phép vài
chục transistor được đặt trong một chip đơn.
Vào năm 1964, hãng IBM giới thiệu máy tính system 360 dùng vi mạch,
máy được dùng trong cả thương mại khoa học. Đổi mới của system 360 đa
lập trình (multi-programming), vài chương trình trong bộ nhớ đồng thời để khi
một chương trình đang chờ việc xuất nhập hoàn tất. Máy system 360 không
gian địa chỉ lớn cho 2
24
byte nhớ (16 megabyte).
Các loại mạch thế hệ này : mạch SSI (Small Scale Integration) chứa vài
chục linh kiện, mạch MSI (Medium Scale Integration) chứa vài trăm linh kiện
Đặc trưng y tính thế hệ 3:
+ Tính tương thích cao: các máy tính trong cùng một họ thể chạy các
chương trình, phần mềm của nhau.
+Đặc tính đa chương trình: Tại một thời điểm thể vài chương trình
nằm trong b nhớ một trong số đó được cho chạy trong khi các chương trình
khác chờ hoàn thành các thao tác vào/ra.
+ Không gian địa chỉ rất lớn
11
Thế hệ thứ (1980 -nay) khuynh hướng hiện đại
Thế hệ thứ được đánh dấu bằng các IC mật độ tích hợp cao (LSI:
Large Scale Integration) thể chứa hàng ngàn linh kiện. Các IC mật độ tích hợp
rất cao (VLSI: Very Large Scale Integration) thể chứa hơn 10 ngàn linh kiện
trên mạch. Hiện nay, các chip VLSI chứa hàng triệu linh kiện.
Với sự xuất hiện của bộ vi xử (microprocessor) chứa cả phần thực hiện
phần điều khiển của một bộ xử lý, sự phát triển của công nghệ bán dẫn các máy vi
tính đã được chế tạo khởi đầu cho các thế hệ máy tính nhân. Các bộ nhớ bán
dẫn, bộ nhớ cache, bộ nhớ ảo được dùng rộng rãi. Các kỹ thuật cải tiến tốc độ xử
của máy tính không ngừng được phát triển: kỹ thuật ống dẫn, kỹ thuật hướng,
xử song song mức đ cao,…
Hiện nay máy tính thể chia làm 5 loại
Loại
MIPS
Megabyte
y
Thông dụng
Máy vi nh
1
1
IBM PC
Xử văn bản
Máy tính mini
2
4
PDP-11/84
Điều khiển thời gian thực
Siêu mini
10
32
SUN_4
Máy chủ mạng
Mainframe
30
128
IBM 300
Ngân hàng, trường học
Siêu máy nh
125
1024
Cray 2
Dự báo thời tiết
MIPS: Milion of Instruction Per Second : triệu phép nh trong 1 giây
Mainframe: máy tính xử dữ liệu lớn
Hai họ sản xuất linh kiện (CPU) nổi tiếng Intel Motorola. Intel
cho ra đời CPU 8080 vào năm 1976 được IBM chọn làm CPU cho máy tính đầu
tiên IBM PC phát triển 8086 ->80186 ->80286, 80386, 80486, 80486DX. m
1992, intel cho ra đời chíp Pentium phát triển Pentium 4 (Pentium 32 bit địa
chỉ 64 bit dữ liệu).
1.4. Kiến trúc VonNeumann
Kiến trúc Von Neumann hay gọi hình Von-Neumann(kiến trúc Princeton)
kiến trúc máy tính dựa trên tả của nhà toán học vật John Von Neumann
những người khác trong bản thảo đầu tiên báo cáo về EDVAC (Electronic
Discrete Variable Automatic Computer). Kiến trúc Von Neumann được xem
kiến trúc giống hình kiến trúc y tính ngày nay, bao gồm:
+ Một đơn v x lý trung tâm chứa đơn v logic số học và thanh ghi bộ xử .
+ Một đơn vị điều khiển chứa thanh ghi lệnh bộ đếm chương trình
+ Bộ nhớ lưu trữ dữ liệu lệnh xử
+ Lưu trữ khối ngoài
12
+ chế đầu vào và đầu ra.
Khác với ENIAC (Electronic Numerical Intergator And Computer) thì
EDVAC sử dụng hệ nhị phân đầu tiên, được thiết kế đ trở thành một máy nh
lưu trữ chương trình
EDVAC: nhị phân
ENIAC: thập phân
Hình 1. hình ENIAC EDVAC
Máy tính dùng kiến trúc Von-Neumann
Input Output
Equipment
Arithmeticand logic
Unit
Main Memory
Program Control
Unit
Hình 1. Kiến trúc Von-Neumann nguyên thủy
Đặc điểm kiến trúc Von-Neumann
+ Lệnh dữ liệu được lưu trữ trong bộ nhớ đọc ghi chia sẻ (bộ nhớ
duy nhất dùng để lưu trữ cả lệnh dữ liệu)
+ Bộ nhớ được đánh địa chỉ theo ng.
+ Các lệnh của chương trình thực hiện tuần tự.
Đặc điểm quá trình thực hiện kiến trúc Von-Neumann
+ CPU đọc (fetch) lệnh từ bộ nhớ
+ CPU giải thực hiện lệnh; nếu lệnh yêu cầu dữ liệu thì CPU đọc dữ
liệu t bộ nhớ.
+ CPU ghi kết quả thực hiện lệnh vào bộ nhớ (nếu có)
1.5. Kiến trúc Harvard, Sự khác biệt giữa Von-Neumann Harvard
13
kiến trúc máy tính Harvard chia bộ nhớ máy tính m 2 phần riêng lẻ: bộ
nhớ lưu chương trình (Program Memory) bộ nhớ lưu dữ liệu (Data memory).
Hai h thống Bus riêng để kết nối CPU với bộ nhớ lưu chương trình bộ nhớ lưu
dữ liệu. Máy tính đầu tiên của kiến trúc Harvard Harvard Mark 1, bao gồm:
+ Các lệnh đặt trong bìa đục lỗ 24 bit
+ Dữ liệu thì chứa trong các thẻ 23 t
+ Giới hạn dung lượng dữ liệu chứa trong CPU
+ Không cho phép truy cập vào khu vực chứa lệnh
+ Mọi việc tạo, sữa chữa, load..v.v chương trình phải làm offline
Sự khác biệt giữa Von-Neumann Harvard
Đơn vị xử trung tâm (CPU)
Đơn v điu khin (
B
C
U
n
)
h chính
(Main memory) Các thiết bị o/ra (I/O)
Đơn v số học –logic (ALU)
thanh ghi
Bus hệ thống
Hình 1. Kiến trúc Von-Neumann hiện đại
Program Memory
Bus 14 bit
CPU
Bus 8 bit
Data Memory
Hình 1. Kiến trúc Harvard
- Về hướng dẫn xử thì Von-Neumann cần đến 2 chu kỳ đồng hồ để hoàn
thành một hướng dẫn (chu kỳ 1: lấy lệnh từ bộ nhớ rồi giải mã, Chu kỳ 2: lấy d
liệu từ bộ nhớ). Đối với kiến trúc Harvard thì chỉ cần 1chu kỳ nếu như đường
ống phù hợp.
- Chi phí thì kiến trúc Von-Neumann tiết kiệm hơn nhiều chỉ cần 1 hệ
thống bus trong khi kiến trúc Harvard cần 2 hệ thống bus
14
Kiến trúc Von-Neumann chủ yếu được sử dụng trong mọi máy tính chúng ta
nhìn thấy từ máy từ máy tính bàn đến máy tính xách tay máy trạm với hiệu suất
cao. Kiến trúc Harvard xử trong vi điều khiển xử tín hiệu số (DSP: Digital
Single processing)
1.6. Các hệ số đếm tổ chức lưu trữ dữ liệu trên máy nh
1.6.1.
Các hệ đếm chuyển đổi giữa các hệ đếm
a. Hệ nhị phân
Hệ nhị phân hay hệ đếm số 2 chỉ 2 con số 0 1. hệ đếm
dựa theo vị trí. Giá trị của 1 số nhị phân bằng giá trị của nhân với trọng số của
nó. Chấm số gọi chấm nhị phân trong hệ đếm 2. Mỗi một số nhị phân được
gọi Bit (Binary Digit). Bit ngoài cùng bên trái (MSB, Most Signficant Bit) Bit
trọng số lớn nhất ngược lại Bit ngoài cung bên phải (Least Signficant Bit)
trọng số nhỏ nhất.
2
3
2
2
2
1
2
0
2
-1
2
-2
MSB 1 0 1 0 . 1 1 LSB
Chấm nhị phân
Số nhị phân (1010.11)
2
thể biểu diễn thành
(1010.11)
2
= 1*2
3
+0*2
2
+1*2
1
+0*2
0
+1*2
-1
+1*2
-2
= 10.75
10
b. Hệ thập lục phân (cơ số 16)
Các hệ máy tính hiện đại thường dùng một hệ đếm khác h thập lục
phân. Hệ thập lục phân hệ đếm dựa vào vị trí với số 16. Hệ này dùng các con
số từ 0 đến 9 các tự từ A đến F như trong bảng sau:
Bảng 1. Hệ thập lục phân
Thập lục phân
Thập phân
Nhị phân
0
0
0000
1
1
0001
2
2
0010
3
3
0011
4
4
0100
5
5
0101
6
6
0110
7
7
0111
8
8
1000
9
9
1001
15
A
10
1010
B
11
1011
C
12
1100
D
13
1101
E
14
1110
F
15
1111
c. Cách chuyển đổi giữa các hệ đếm
c1. Biến đổi từ hệ nhị phân sang thập phân
dụ : Biến đổi số nhị phân (11001)2 thành số thập phân:
Trọng số vị trí: 2
4
2
3
2
2
2
1
2
0
Giá trị vị trí:
16 8
4
2
1
Số nhị phân:
1 1
0
0
1
Số thập phân: 1*2
4
+ 1*2
3
+ 0*2
2
+ 0*2
1
+ 1*2
0
= (25)
10
c2. Biến đổi thập lục phân thành thập phân
Các số thập lục phân thể được biến đổi thành thập phân bằng cách
tính tổng của các con số nhân với giá trị vị trí của
dụ : Biến đổi các số a.(5B)16. b. (2AF)16 thành thập phân.
a. Số thập lục phân: 5 B
Trọng số vị trí: 16
1
16
0
Giá trị vị trí : 16 1
Số thập phân: 5*16 + B*1 = (91)
10
.
b. Số thập lục phân: 2 A F
Trọng số vị trí: 16
2
16
1
16
0
Giá trị vị trí : 256 16 1
S thập phân: 2*256 + A*16 + F*1 = (687)
10
.
c.3. Biến đổi thập phân thành thập lục phân
Để biến đổi các số thập phân thành thập lục phân, ta sử dụng phương pháp
chia lặp (như phép chia nhị phân), với s 16
dụ : Biến đổi (1776)
10
thành thập lục phân.
1776/16 = 111 + 0 (LSB).
111/16 = 6 + 15 hoặc F.
6/16 = 0 + 6 (MSB).
Số thập lục phân: (6F0)
16
.
c.4. Biến đổi thập lục phân thành nhị phân
16
Các số thập lục phân rất dễ đổi thành nhị phân. Thực ra các số thập lục phân
cũng chỉ là một cách biểu diễn các s nhị phân thuận lợi hơn thôi (bảng 1). Để
đổi 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ó.
dụ: Đổi số thập lục (DF6)
16
thành nhị phân:
D F 6
1101 1111 0110
(DF6)16 = (110111110110)
2
.
c.5. Biến đổi nhị phân thành thập lục phân
Để biến đổi một số nhị phân thành số thập lục phân tương đương thì chỉ cần
gộp lại thành từng nhóm gồm 4 bit nhị phân, bắt đầu từ dấu chấm nhị phân
dụ: Biến đổi số nhị phân (1111101000010000)2 thành thập lục phân.
1111 1010 0001 0000
F A 1 0 Số thập lục phân: (FA10)
16
.
d. Hệ BCD (Binary Code decimal)
Giữa hệ thập phân 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 hoá bằng hệ nhị phân, rất thích hợp cho các thiết bị đo 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) đ hoá một số hệ thập phân giá trị nằm trong khoảng
từ 0..9. Như vậy đây ta không dùng hết các tổ hợp thể của 4 bit; tầm
quan trọng của các số BCD nên các bộ vi xử thường các lệnh thao tác với
chúng.
dụ: (35)
10
= (00110101)
2
1.6.2.
Tổ chức lưu trữ dữ liệu trên máy tính
Tất cả mọi dữ liệu đều được hóa thành nhị phân là nguyên tắc chung
của máy tính.
Dữ liệu được phân thành 2 loại:
+ Dữ liệu nhân tạo: do con người quy ước
+ Dữ liệu tự nhiên: tồn tại khách quan với con người
Người ta đã xây dựng bộ để biểu diễn cho c tự cũng như các
con số các hiệu đặc biệt khác. Các đó gọi bộ tự số. Bảng
ASCII 7 bit được dùng phổ biến trong các hệ máy tính hiện nay. Với
7 bit nên 27 = 128 tổ hợp mã. Mỗi tự (chữ hoa và chữ thường) cũng như các
17
con số thập phân từ 0..9 các hiệu đặc biệt khác đều được biểu diễn bằng một
số n bảng 2
a. bảng ASCII (American Standard Code Information Interchange)
Bảng tự điều khiển ASCII
Hệ 2
(Nh phân)
Hệ
10
(Thập
phân)
Hệ
16
(Thập
lục
phân)
Viết
tắt
Truy nhập
bàn phím
Tên nghĩa tiếng Anh
Tên/Ý nghĩa tiếng
Việt
000 0000
0
00
NUL
^@
Null character
tự rỗng
000 0001
1
01
SOH
^A
Start of Header
Bắt đầu Header
000 0010
2
02
STX
^B
Start of Text
Bắt đầu văn bản
000 0011
3
03
ETX
^C
End of Text
Kết thúc văn bản
000 0100
4
04
EOT
^D
End of Transmission
Kết thúc truyền
000 0101
5
05
ENQ
^E
Enquiry
Truy vấn
000 0110
6
06
ACK
^F
Acknowledgement
Sự công nhận
000 0111
7
07
BEL
^G
Bell
Tiếng
kêu
000 1000
8
08
BS
^H
Backspace
Xoá ngược
000 1001
9
09
HT
^I
Horizontal Tab
Thẻ
ngang
000 1010
10
0A
LF
^J
New Line
Dòng mi
000 1011
11
0B
VT
^K
Vertical Tab
Thẻ
dọc
000 1100
12
0C
FF
^L
Form feed
Cấp
giấy
000 1101
13
0D
CR
^M
Carriage return
Chuyển dòng/ Xuống
dòng
000 1110
14
0E
SO
^N
Shift Out
Ngoài mã
000 1111
15
0F
SI
^O
Shift In
hóa/Trong
001 0000
16
10
DLE
^P
Data Link Escape
Thoát liên kết dữ
liệu
001 0001
17
11
DC1
^Q
Device Control 1 oft.
XON
001 0010
18
12
DC2
^R
Device Control 2
001 0011
19
13
DC3
^S
Device Control 3 oft.
XOFF
001 0100
20
14
DC4
^T
Device Control 4
18
001 0101
21
15
NAK
^U
Negative
Acknowledgement
001 0110
22
16
SYN
^V
Synchronous Idle
001 0111
23
17
ETB
^W
End of Trans. Block
001 1000
24
18
CAN
^X
Cancel
001 1001
25
19
EM
^Y
End of Medium
001 1010
26
1A
SUB
^Z
Substitute
001 1011
27
1B
ESC
^[ hay ESC
Escape
001 1100
28
1C
FS
^\
File Separator
001 1101
29
1D
GS
^]
Group Separator
Nhóm Separator
001 1110
30
1E
RS
^^
Record Separator
001 1111
31
1F
US
^_
Unit Separator
111 1111
127
7F
DEL
DEL
Delete
Xóa
Phần biểu diễn các tự, dấu, các con số tự đặc biệt
Hệ 2
(Nhị phân)
Hệ
10
(Thập
phân)
Hệ
16
(Thập lục phân)
Đồ hoạ
(Hiển th
ra được)
010 0000
32
20
Khoảng trống (
)
010 0001
33
21
!
010 0010
34
22
"
010 0011
35
23
#
010 0100
36
24
$
010 0101
37
25
%
010 0110
38
26
&
010 0111
39
27
'
010 1000
40
28
(
010 1001
41
29
)
010 1010
42
2A
*
010 1011
43
2B
+
010 1100
44
2C
,
010 1101
45
2D
-
010 1110
46
2E
.
19
010 1111
47
2F
/
011 0000
48
30
0
011 0001
49
31
1
011 0010
50
32
2
011 0011
51
33
3
011 0100
52
34
4
011 0101
53
35
5
011 0110
54
36
6
011 0111
55
37
7
011 1000
56
38
8
011 1001
57
39
9
011 1010
58
3A
:
011 1011
59
3B
;
011 1100
60
3C
<
011 1101
61
3D
=
011 1110
62
3E
>
011 1111
63
3F
?
100 0000
64
40
@
100 0001
65
41
A
100 0010
66
42
B
100 0011
67
43
C
100 0100
68
44
D
100 0101
69
45
E
100 0110
70
46
F
100 0111
71
47
G
100 1000
72
48
H
100 1001
73
49
I
100 1010
74
4A
J
100 1011
75
4B
K
100 1100
76
4C
L
100 1101
77
4D
M
100 1110
78
4E
N
100 1111
79
4F
O
101 0000
80
50
P
20

Preview text:

CHƯƠNG` 1. GIỚI THIỆU CHUNG
1.1. Khái niệm kiến trúc và tổ chức máy tính

Kiến trúc máy tính Tổ chức máy tính là hai khái niệm (thuật ngữ)
cần được phân biệt rõ khi mô tả một hệ thống máy tính
Kiến trúc máy tính (KTMT) thiết kế các khái niệm và cấu trúc hoạt
động căn bản của một hệ thống máy tính, KTMT là một bản thiết kế (blueprint)
mô tả có tính chất chức năng về các yêu cầu về những sự thi hành thiết kế cho
những bộ phận khác nhau của một máy tính như: CPU hoạt động nội tại như thế
nào? Truy cập địa chỉ trong ô nhớ như thế nào?
KTMT đề cập đến những đề cập đến những thuộc tính mà lập trình
viên có thể quan sát được. Nói cách khác đó là thuộc tính ảnh hưởng trực tiếp đến
việc thi hành một chương trình. Ví dụ: tập chỉ thị của máy tính, số bit được sử
dụng để biểu diễn dữ liệu, cơ chế nhập/ xuất, kỹ thuật định địa chỉ ô nhớ .v.v.
Tóm lại, Kiến trúc máy tính (computer architecture) đề cập đến các
thuộc tính của hệ thống máy tính dưới góc nhìn của con người lập trình. Hay nói
cách khác là ảnh hưởng trực tiếp đến quá trình thực hiện logic của chương trình
bao gồm: tập lệnh, biểu diễn dữ liệu, các cơ chế vào/ra, kỹ thuật gán địa chỉ…
Kiến trúc máy tính gồm 3 phần chính:
+ Kiến trúc tập lệnh (Instruction set architecture, ISA) là hình ành
trừu tượng được nhìn từ góc độ lập trình viên sử dụng ngôn ngữ máy (hợp ngữ).
Bao gồm tập lệnh, cách đánh địa chỉ bộ nhớ (memory address mode), các thanh ghi,
các định dạng địa chỉ và dữ liệu.
+ Vi kiến trúc (Microachitecture) hay còn gọi là tổ chức máy
tính(computer Ogranization) là mô tả bậc thấp
+ Thiết kế hệ thống (System Design) bao gồm tất cả các thành phần
phần cứng khác nhau trong máy tính như: các đường kết nối hệ thống Bus và
Switch, bộ điều kiển bộ nhớ (memory controller), cơ chế CPU off-load (truy nhập
bộ nhớ trực tiếp), các vấn đề về đa xử lý (multi-processing).
Tổ chức máy tính (computer Ogranization) là mô tả các bộ phận cấu
thành của hệ thống máy tính được kết nối với nhau như thế nào thông qua thực
hiện kiến trúc tập lệnh. Ví dụ: trong kiến trúc bộ nhân là thuộc tính của hệ thống 1
xử lý. Bộ nhân sẽ được tổ chức riêng bên trong máy tính hoặc được tính nhiều lần
trong bộ cộng để được kết quả nhân tương ứng
Cấu trúc máy tính (Computer contruction) là những thành phần của
máy tính và những liên kết giữa các thành phần, bao gồm: Bộ xử lý, bộ nhớ, hệ
thống ra vào và liên kết giũa các hệ thống.
Ngoài ra chúng ta cần nắm các định nghĩa chính của máy tính như:
Máy tính (computer) là thiết bị điện tử thực hiện các công việc sau:
nhận thông tin vào (input), xử lý thông tin theo chương trình nhớ sẵn trong bộ nhớ
máy tính (processing), đưa thông tin ra (output).
Chương trình (program) 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 đó. Máy tính thực
hiện theo lệnh trong chương trình.
Phần mềm (software) bao gồm chương trình và dữ liệu
Phần cứng (hardware) bao gồm tất cả các thành phần vật lý cấu thành nên hệ thống máy tính
Phần dẻo (Firmware) là phần chứa cả 2 thành phần trên
1.2. Cấu trúc và chức năng của máy tính
Máy tínhlà một hệ thống phức tạp với hàng triệu thành phần điện tử
cơ sở. Chìa khóa chính để mô tả máy tính rõ ràng là sự nhận thức về bản chất phân
cấp của hầu hết các hệ thống phức tạp. Một hệ thống phân cấp là một tập hợp gồm
các hệ thống con có liên quan với nhau, trong đó mỗi hệ thống con lại có tính phân cấp về cấu trúc.
Bản chất phân cấp của một hệ thống phức tạp giữ vai trò chính trong
việc thiết kế và mô tả nó. Tại mỗi cấp, hệ thống bao gồm một tập hợp các thành
phần con cùng với những mối liên hệ giữa chúng. Ở đây có hai yếu tố được quan
tâm đến là cấu trúc chức năng
1.2.1. Cấu trúc của máy tính
Ở mức đơn giản nhất, máy tính có thể được xem như một thực thể
tương tác theo một cách thức nào đó với môi trường bên ngoài. Một cách tổng
quát, các mối quan hệ của nó với môi trường bên ngoài có thể phân loại thành các
thiết bị ngoại vi hay đường liên lạc 2
Cấu trúc máy tính gồm các thành phần và cách thức các thành phần liên kết lài với nhau bao gồm:
Bộ xử lý – Đơn vị xử lý trung tâm (CPU: Central Processing Unit ):
điều khiển hoạt động của máy tính và thực hiện các chức năng xử lý dữ liệu. CPU
thường được đề cập đến với tên gọi bộ xử lý
Bộ nhớ chính (ổ nhớ: storage, bộ nhớ: memory): chứa chương trình và
dữ liệu (bộ nhớ gồm bộ nhớ điện tĩnh non-volatile memory và bộ nhớ điện động volatile memory).
Hệ thống ra/ vào – các thành phần nhập xuất:dùng để di chuyển dữ
liệu giữa máy tính và môi trường bên ngoài.
Các thành phần kết nối hệ thống: cungcấp cơ chế liên lạc giữa CPU,
bộ nhớ chính và các thành phần nhập xuất. Ví dụ như bộ nhớ đệm cache (vùng nhớ tạm thời).
Hình 1. Cấu trúc tổng quát của máy tính
Máy tính có thể có một hoặc nhiều thành phần nói trên, ví dụ như có
thể có nhiều CPU. Trước đây đa phần máy tính chỉ có một CPU, nhưng gần đây
với dự gia tăng sử dụng nhiều CPU trong hệ thống máy đơn thì CPU luôn là đối
tượng quan trọng cần được khảo sát vì đây là thành phần phức tạp nhất của hệ thống
a. CPU (Central Processing Unit) 3
Hình 1. Bộ xử lý trung tâm của máy tính CPU
Đơn vị điều khiển (control Unit): điều khiển hoạt động của CPU và
do đó điều khiển hoạt động của máy tính.
Đơn vị luận lý và số học (ALU – Arithmetic and Logic Unit): thực
hiện các chức năng xử lý dữ liệu của máy tính.
Tập thanh ghi: cung cấp nơi lưu trữ bên trong CPU.
Thành phần nối kết nội CPU: cơ chế cung cấp khả năng liên lạc giữa đơn
vị điều khiển, ALU và tập thanh ghi.
Trong các thành phần của CPU, đơn vị điều khiển lại giữ vai trò quan trọng
nhất. Sự cài đặt đơn vị này dẫn đến một khái niệm nền tảng trong việc chế tạo bộ
vi xử lý máy tính (VXL8086, VXL80186, …80586, pemtium 1, 2,3,4, core, core 2duo…. ).
Hình 1. Đơn vị điều khiển CPU 4
Đơn vị điều khiển (khối điều khiển) của CPU có nhiệm vụ thông dịch các
lệnh của chương trình và điều khiển hoạt động xử lý được điều tiết bởi xung nhịp
đồng hồ
hệ thống. Đây là phần cốt lõi của bộ xử lý được cấu tạo từ các mạch logic
so sánh với các linh kiện bán dẫn như transistor tạo thành
Khối điều khiển thực hiện điều khiển các khối và điều khiển tầng số xung
nhịp. Mạch xung nhịp đồng hồ hệ thống dùng để đồng bộ các thao tác xử lý trong
và ngoài CPU theo khoản thời gian không đổi. Khoản thời gian chờ giữa hai xung
gọi là chu kỳ xung nhịp. Tốc độ theo xung nhịp hệ thống tạo ra các tín hiệu chuẩn
thời gian gọi là tốc độ xung nhịp. Tốc độ đồng hồ tính bằng triệu đơn vị mỗi giây (MHz).
Tốc độ của máy tính phụ thuộc vào gì?
+ Tốc độ máy tính phụ thuộc vào chủ yếu tốc độ của CPU, nhưng nó cũng
phụ thuộc vào các thành phần khác như bộ nhớ RAM, bo mạch đồ họa, ổ cứng…
+ Tốc độ CPU có liên hệ đến tầng số đồng hồ làm việc của nó (tính bằng các
đơn vị như MHz, GHz…), tầng số xung nhịp(f0 = 1/T0, T0 là chu kỳ xung nhịp)càng
cao có nghĩa là tốc độ xử lý càng cao. Tuy nhiên còn phụ thuộc vào nhân CPU dòng CPU.
Ví dụ: CPU Intel Core 2 Duo (2 nhân) có tần số 2,6 GHz có thể xử lý nhanh
hơn CPU Intel Pentium 4 (1 nhân) 3,4 GHz.
Dòng Intel Core 2 Duo (2 nhân) 2,6 GHz GHz lại yếu hơn dòng Core
i3 (2 nhân) với cùng 2,6 GHz GHz rất nhiều.
Hiện nay, nhà sản xuất CPU như Intel dùng khái niệm đánh giá trên hiệu
suất làm việc cho các dòng Core i3, i5, i7, i9.
Bài toán: Một máy tính intel có tốc độ 2GHz. Tính chu kỳ xung nhịp
f0= 2.109Hz, nên T0= 1/ f0= ½.109 = 0.5ns
Tốc độ của CPU phụ thuộc vào yếu tố nào?
+ Số nhân xử lý (2,4,10,22 nhân. .), càng nhiều nhân càng mạnh.
+ Công nghệ sản xuất (32 nm, 22 nm,14 nm. ), càng nhỏ càng tiết kiệm điện
và hiệu năng cao hơn (nm là nanomet = 1/tỷ mét = 10-9m)
+ Công nghệ làm tăng tốc độ xử lý của CPU (pipeline, turbo
boost, siêu phân luồng, v.v.).
+ Bộ nhớ đệm - bộ nhớ dùng để lưu các lệnh/dữ liệu thường dùng hay
có khả năng sẽ được dùng trong tương lai gần, giúp giảm bớt thời gian chờ đợi của CPU. 5 + Đồ họa tích hợp
+ TDP ( (Thermal Design Power = công suất thoát nhiệt), lượng nhiệt
chip xử lý tỏa ra mà hệ thống làm mát cần phải giải tỏa. TDP thường cho biết mức
tiêu thụ điện của con chip, con số này càng thấp càng tốt.
b. Bộ nhớ trong (Intenal memory)
- Chứa thông tin mà CPU có thể trao đổi trực tiếp. - Tốc độ rất nhanh. - Dung lượng không lớn.
- Sử dụng bộ nhớ bán dẫn Ram và Rom b1. Bộ nhớ RAM
Ram: Random access memory
cho phép truy xuất đọc/ghi ngẫu nhiên bất kỳ
vị trí nào trong bộ nhớ dựa theo địa chỉ bộ nhớ
Ram là bộ nhớ chính của máy tính và hệ thống điều khiển, dùng lưu
trữ các thông tin thay đổi đang sử dụng. Ram có một đặt tính là thời gian thực hiện
thao tác đọc ghi đối với mỗi ô nhớ là như nhau cho dù đang ở bất kỳ vị trí nào trong ô nhớ
Mỗi ô nhớ Ram đều có 1 địa chỉ, thông thường là 1 byte, tuy nhiên hệ
hệ thống có thể đọc ra hay ghi vào nhiều byte cùng 1 lúc
Thông số của Ram phụ thuộc vào dung lượng Bus. Dung lượng
tính bằng MB và GB (256mb,512 mb,1gb,2gb,3gb,4gb,8gb. .), dung lượng của
RAM càng lớn càng tốt cho hệ thống, tuy nhiên không phải tất cả các hệ thống
phần cứng và hệ điều hành đều hỗ trợ các loại RAM có dung lượng lớn.
Bus là hệ thống hỗ trợ truyền và nhận dữ liệu. Bus có hai loại là:
BUS Speed và BUS Width. BUS Speed chính là BUS Ram là tốc độ dữ liệu xử lý
trong một giây. BUS Width là chiều rộng của bộ nhớ, các loại RAM DDR, DDR2,
DDR3, DDR4 hiện nay đều có BUS Width cố định là 64. b2. Bộ nhớ ROM
Rom: Real Only Memory là bộ nhớ không thay đổi được trong máy
tính. Dữ liệu trong Rom không thể sửa đổi sau khi sản xuất, Rom còn gọi là phần
sụn (firmware). Trong Rom chứa một chương trình cố định là chương trình Settup
(thường khi khởi động nhấn F2 hoặc Del để vào chương trình) hay gọi là chương
trình BIOS. Rom chứa chương trình ban đầu khởi chạy khi máy được bật.
c. Bộ nhớ đệm (Cache Memory) 6
Cache Memory là bộ nhớ tồn tại trên CPU và được xem là nơi lưu trữ
gần nhất với các nhân xử lý của CPU, chúng có tốc độ trích xuất hay truyền tải dữ
liệu rất nhanh nhưng có dung lượng thấp.
+ Cache memory là bộ nhớ bán dẫn có tốc độ nhanh được đặt đệm
giữa CPU và bộ nhớ chính nhằm tăng tốc truy xuất của CPU tới bộ nhớ chính.
+ Dung lượng nhỏ hơn rất nhiều so với bộ nhớ chính
+ Tốc độ nhanh hơn rất nhiều lần
+ Ngày nay Cache memory được tích hợp vào trong bộ vi xử lý và nó
trong suốc với người sử dụng
+ Bộ nhớ Cache thường chia làm 2 mức
+ Bộ nhớ Cache có thể có hoặc không
1.2.2. Chức năng của máy tính
Một hệ thống máy tính bao gồm bốn chức năng cơ bản: xử lý dữ liệu,
lưu trữ dữ liệu, di chuyển dữ liệu và điều khiển dữ liệu. Lưu trữ dữ liệu Di chuyển Điều khiển dữ liệduf dữ liệu Xử lý dữ liệu
Hình 1.1. Các chức năng cơ bản của máy tính
Xử lý dữ liệu: máy tính phải có khả năng xử lý dữ liệu, Dữ liệu có thể
có rất nhiều dạng và phạm vi yêu cầu xử lý cũng rất rộng. Tuy nhiên, chúng ta sẽ
thấy rằng chỉ có một số phương pháp cơ bản trong xử lý dữ liệu (thủ công, tự động,điện tử,. )
Lưu trữ dữ liệu:máy tính cũng cần phải có khả năng lưu trữ dữ liệu.
Ngay cả khi máy tính đang xử lý dữ liệu, nó vẫn phải lưu trữ tạm thời tại mỗi
thời điểm phần dữ liệu đang được xử lý. Do vậy ít nhất chúng ta cần có chức năng
lưu trữ ngắn hạn. Tuy nhiên, chức năng lưu trữ dài hạn cũng có tầm quan trọng
tương đương, vì dữ liệu cần được lưu trữ trên máy cho những lần cập nhật và tìm kiếm kế tiếp. 7
Di chuyển dữ liệu: máy tính phải có khả năng di chuyển dữ liệu giữa
nó và thế giới bên ngoài. Khả năng này được thể hiện thông qua việc di chuyển dữ
liệu giữa máy tính với các thiết bị nối kết trực tiếp hay từ xa đến nó. Tùy thuộc vào
kiểu kết nối và cự ly di chuyển dữ liệu, chúng ta có tiến trình nhập xuất dữ liệu hay truyền dữ liệu
+ Tiến trình nhập xuất dữ liệu: thực hiện việc di chuyển dữ liệu
trong cự ly ngắn giữa máy tính và thiết bị kết nối trực tiếp.
+ Tiến trình truyền dữ liệu: thực hiện việc di chuyển dữ liệu trong
cụ ly xa giữa máy tính và thiết bị kết nối từ xa.
Điều khiển: bên trong hệ thống máy tính, đơn vị điều khiển có nhiệm
vụ quản lý các tài nguyên máy tính và điều phối sự vận hành của các thành phần
chức năng phù hợp với yêu cầu nhận được từ người sử dụng
Tương ứng với các chức năng cơ bản trên thì máy tính có các hoạt động có thể xảy ra:
a. Hoạt động như một thiết bị di chuyển dữ liệu
Máy tính hoạt động như một thiết bị di chuyển dữ liệu có nhiệm vụ đơn
giản là chuyển dữ liệu từ bộ phận ngoại vi hay đường liên lạc này sang bộ phận
ngoại vi hay đường liên lạc khác Lưu trữ dữ liệu Di chuyển
Điều khiển dữ liệu dữ lidệuf Xử lý dữ liệu
Hình 1.2. Máy tính - thiết bị di chuyển dữ liệu
b. Hoạt động như một thiết bị lưu trữ dữ liệu
Dữ liệu được di chuyển từ môi trường ngoài vào lưu trữ máy tính (quá trình
ghi dữ liệu) và ngược lại (quá trình đọc dữ liệu) 8
Hình 1.3. Máy tính - thiết bị lưu trữ dữ liệu
c. Hoạt động xử lý - lưu trữ dữ liệu
Máy tính được dùng để xử lý dữ liệu thông qua các thao tác lưu trữ
Hình 1.4. Máy tính – thiết bị xử lý dữ liệu lưu trữ
d. Hoạt động xử lý trao đổi dữ liệu
Máy tính được dùng xử lý dữ liệu thông qua kết hợp giữa việc lưu trữ và liên
lạc với môi trường bên ngoài 9
Hình 1.5. Máy tính - Thiết bị xử lý/ trao đổi dữ liệu với môi trường ngoài
1.3. Lịch sử phát triển máy tính Thế hệ không
Thế hệ máy tính cơ và điện từ (1642 - 1945)
Blaise Pascal là người có công chính trong tạo ra máy làm toán đầu
tiên (1623- 1662). Năm 1642, khi Pascal 19 tuổi đã tạo ra máy tính hoàn toàn bằng
cơ khí và lúc đó chỉ làm được 2 phép tính cộng và trừ. 30 năm sau, Baron Gottfried
von Leibniz (1646-1716) đã thêm vào 2 phép toán nhân và chia và đó là tiền thân
của máy tính bỏ túi (calculator) ngày nay
150 sau, Charles Babbage (1792-1871), giáo sư toán học Đại học
Cambridge, đã thiết kế và xây dựng được máy sai phân (difference engine). Máy
gồm 4 bộ phận: bộ nhớ, bộ tính toán, ngõ vào (bộ đọc bìa đục lỗ) và ngõ ra (bộ
xuyên bìa hay máy in). Nguyên lý: bộ tính toán nhận các toán hạng từ bộ nhớ sau
đó thực hiện cộng trừ nhân chia và chuyển kết quả về bộ nhớ, tất cả thực hiện bằng
cơ khí, cái mới trong máy này là đọc các lệnh từ bìa đục lỗ và xử lý chúng. Máy
được lập trình nhờ vào 1 ngôn ngữ đơn giản gọi là hợp ngữ do Ada Augusta
Lovelace là người trợ lý của Babagge và là người đầu tiên viết chương trình cho
máy tính. Tuy nhiên Babagge không thể tạo ra máy tính hoàn toàn như ý do công
nghệ thế kỷ XIX không thể đáp ứng được. Tuy vậy, những ý tưởng của Babagge
đã đặt nền móng cho máy tính điện tử ngày nay.
Trong những năm 1930, một kỹ sư người Đức tên Konrad Zuse đã tạo
ra một số máy tính làm bằng rơ le điện từ dù chưa biết công trình của Babagge.
Tuy nhiên tất cả đều bị phá hủy năm 1944 trong cuộc ném bom ở Berlin. 10
Tại Hoa kỳ, Howard Aiken nhờ các công trình của Babagge ông đã
tìm thấy trong thư viện. Ông quyết định tạo ra 1 máy tính bằng rơ le mà trước đó
Babagge không thể thực hiện được.
Máy tính đầu tiên của Ailen là Mark 1, nó được hoàn tất vào năm
1944 ở Harvard gồm 72 từ , mỗi từ 23 số thập phân và có chu kỳ lệnh là 6 sec. Sau
đó Ailen hoàn tất máy Mark 2 và máy tính rơ le trở nên lỗi thời
Thế hệ thứ nhất (1945 -1955)
Máy tính được xây dựng trên cơ sở đèn điện tử mà mỗi đèn tượng trưng cho
1 bit nhị phân. Do đó máy có khối lượng rất lớn, tốc độ chậm và tiêu thụ điện năng
lớn. Như máy ENIAC có khối lượng 30 tấn, tiêu thụ công suất 140KW.
Năm 1953, IBM sản xuất ra máy tính 701, sau đó máy 704 ra đời và đến
năm 1958 thì máy 709 và trở thành công ty máy tính hàng đầu thế giới.
Thế hệ thứ hai (1955 -1965)
Máy tính được xây dựng trên cơ sở là các đèn bán dẫn (transistor), máy tính
đầu tiên thế hệ này có tênlà TX-0 (transistorized experimental computer 0).
Năm 1964, máy tính 6600 do công ty CD có tốc độ cải thiện so với dòng
trước đó vì bên trong CPU có cơ chế chạy song song thực sự
Thế hệ thứ ba (1965 -1980)
Máy tính dùng mạch IC (integrated circuit)
Mạch tích hợp IC còn gọi là vi mạch tích hợp được phát minh cho phép vài
chục transistor được đặt trong một chip đơn.
Vào năm 1964, hãng IBM giới thiệu máy tính system 360 dùng vi mạch,
máy được dùng trong cả thương mại và khoa học. Đổi mới của system 360 là đa
lập trình (multi-programming), có vài chương trình trong bộ nhớ đồng thời để khi
một chương trình đang chờ việc xuất nhập hoàn tất. Máy system 360 có không
gian địa chỉ lớn cho 224 byte nhớ (16 megabyte).
Các loại mạch ở thế hệ này là : mạch SSI (Small Scale Integration) chứa vài
chục linh kiện, mạch MSI (Medium Scale Integration) chứa vài trăm linh kiện
Đặc trưng máy tính thế hệ 3:
+ Tính tương thích cao: các máy tính trong cùng một họ có thể chạy các
chương trình, phần mềm của nhau.
+Đặc tính đa chương trình: Tại một thời điểm có thể có vài chương trình
nằm trong bộ nhớ và một trong số đó được cho chạy trong khi các chương trình
khác chờ hoàn thành các thao tác vào/ra.
+ Không gian địa chỉ rất lớn 11
Thế hệ thứ tư (1980 -nay) – khuynh hướng hiện đại
Thế hệ thứ tư được đánh dấu bằng các IC có mật độ tích hợp cao (LSI:
Large Scale Integration) có thể chứa hàng ngàn linh kiện. Các IC mật độ tích hợp
rất cao (VLSI: Very Large Scale Integration) có thể chứa hơn 10 ngàn linh kiện
trên mạch. Hiện nay, các chip VLSI chứa hàng triệu linh kiện.
Với sự xuất hiện của bộ vi xử lý (microprocessor) chứa cả phần thực hiện và
phần điều khiển của một bộ xử lý, sự phát triển của công nghệ bán dẫn các máy vi
tính đã được chế tạo và khởi đầu cho các thế hệ máy tính cá nhân. Các bộ nhớ bán
dẫn, bộ nhớ cache, bộ nhớ ảo được dùng rộng rãi. Các kỹ thuật cải tiến tốc độ xử lý
của máy tính không ngừng được phát triển: kỹ thuật ống dẫn, kỹ thuật vô hướng,
xử lý song song mức độ cao,…
Hiện nay máy tính có thể chia làm 5 loại Loại MIPS Megabyte Máy Thông dụng Máy vi tính 1 1 IBM PC Xử lý văn bản Máy tính mini 2 4
PDP-11/84 Điều khiển thời gian thực Siêu mini 10 32 SUN_4 Máy chủ mạng Mainframe 30 128 IBM 300 Ngân hàng, trường học Siêu máy tính 125 1024 Cray 2 Dự báo thời tiết
MIPS: Milion of Instruction Per Second : triệu phép tính trong 1 giây
Mainframe: máy tính xử lý dữ liệu lớn
Hai họ sản xuất linh kiện (CPU) nổi tiếng là Intel và Motorola. Intel
cho ra đời CPU 8080 vào năm 1976 và được IBM chọn làm CPU cho máy tính đầu
tiên IBM PC và phát triển 8086 ->80186 ->80286, 80386, 80486, 80486DX. Năm
1992, intel cho ra đời chíp Pentium và phát triển Pentium 4 (Pentium có 32 bit địa chỉ và 64 bit dữ liệu).
1.4. Kiến trúc VonNeumann
Kiến trúc Von Neumann hay gọi mô hình Von-Neumann(kiến trúc Princeton)
là kiến trúc máy tính dựa trên mô tả của nhà toán học và vật lý John Von Neumann
và những người khác trong bản thảo đầu tiên báo cáo về EDVAC (Electronic
Discrete Variable Automatic Computer). Kiến trúc Von Neumann được xem là
kiến trúc có giống mô hình kiến trúc máy tính ngày nay, bao gồm:
+ Một đơn vị xử lý trung tâm có chứa đơn vị logic số học và thanh ghi bộ xử lý.
+ Một đơn vị điều khiển có chứa thanh ghi lệnh và bộ đếm chương trình
+ Bộ nhớ lưu trữ dữ liệu và lệnh xử lý + Lưu trữ khối ngoài 12
+ Cơ chế đầu vào và đầu ra.
Khác với ENIAC (Electronic Numerical Intergator And Computer) thì
EDVAC sử dụng hệ nhị phân đầu tiên, và được thiết kế để trở thành một máy tính lưu trữ chương trình EDVAC: nhị phân ENIAC: thập phân
Hình 1. Mô hình ENIAC và EDVAC
Máy tính dùng kiến trúc Von-Neumann Arithmeticand logic Input Output Equipment Unit Main Memory Program Control Unit
Hình 1. Kiến trúc Von-Neumann nguyên thủy
Đặc điểm kiến trúc Von-Neumann
+ Lệnh và dữ liệu được lưu trữ trong bộ nhớ đọc ghi chia sẻ (bộ nhớ
duy nhất dùng để lưu trữ cả lệnh và dữ liệu)
+ Bộ nhớ được đánh địa chỉ theo vùng.
+ Các lệnh của chương trình thực hiện tuần tự.
Đặc điểm quá trình thực hiện kiến trúc Von-Neumann
+
CPU đọc (fetch) lệnh từ bộ nhớ
+ CPU giải mã và thực hiện lệnh; nếu lệnh yêu cầu dữ liệu thì CPU đọc dữ liệu từ bộ nhớ.
+ CPU ghi kết quả thực hiện lệnh vào bộ nhớ (nếu có)
1.5. Kiến trúc Harvard, Sự khác biệt giữa Von-Neumann và Harvard 13
Là kiến trúc máy tính Harvard chia bộ nhớ máy tính làm 2 phần riêng lẻ: bộ
nhớ lưu chương trình (Program Memory) và bộ nhớ lưu dữ liệu (Data memory).
Hai hệ thống Bus riêng để kết nối CPU với bộ nhớ lưu chương trình và bộ nhớ lưu
dữ liệu. Máy tính đầu tiên của kiến trúc Harvard là Harvard Mark 1, bao gồm:
+ Các lệnh đặt trong bìa đục lỗ 24 bit
+ Dữ liệu thì chứa trong các thẻ 23 ký tự
+ Giới hạn dung lượng dữ liệu và chứa trong CPU
+ Không cho phép truy cập vào khu vực chứa lệnh
+ Mọi việc tạo, sữa chữa, load. v.v chương trình phải làm offline
Sự khác biệt giữa Von-Neumann và Harvard
Đơn vị xử lý trung tâm (CPU)
Đơn vị điều khiển (BCộUn) hớ chính
(Main memory) Các thiết bị vào/ra (I/O)
Đơn vị số học –logic (ALU) thanh ghi Bus hệ thống
Hình 1. Kiến trúc Von-Neumann hiện đại
Program Memory Bus 14 bit Bus 8 bit Data Memory CPU
Hình 1. Kiến trúc Harvard
- Về hướng dẫn xử lý thì Von-Neumann cần đến 2 chu kỳ đồng hồ để hoàn
thành một hướng dẫn (chu kỳ 1: lấy lệnh từ bộ nhớ rồi giải mã, Chu kỳ 2: lấy dữ
liệu từ bộ nhớ). Đối với kiến trúc Harvard thì chỉ cần 1chu kỳ nếu như có đường ống phù hợp.
- Chi phí thì kiến trúc Von-Neumann tiết kiệm hơn nhiều vì chỉ cần 1 hệ
thống bus trong khi kiến trúc Harvard cần 2 hệ thống bus 14
Kiến trúc Von-Neumann chủ yếu được sử dụng trong mọi máy tính chúng ta
nhìn thấy từ máy từ máy tính bàn đến máy tính xách tay và máy trạm với hiệu suất
cao. Kiến trúc Harvard xử lý trong vi điều khiển và xử lý tín hiệu số (DSP: Digital Single processing)
1.6. Các hệ số đếm và tổ chức lưu trữ dữ liệu trên máy tính
1.6.1. Các hệ đếm và chuyển đổi giữa các hệ đếm
a. Hệ nhị phân
Hệ nhị phân hay hệ đếm cơ số 2 chỉ có 2 con số là 0 và 1. Là hệ đếm
dựa theo vị trí. Giá trị của 1 số nhị phân bằng giá trị của nó nhân với trọng số của
nó. Chấm cơ số gọi là chấm nhị phân trong hệ đếm 2. Mỗi một số nhị phân được
gọi là Bit (Binary Digit). Bit ngoài cùng bên trái (MSB, Most Signficant Bit) là Bit
có trọng số lớn nhất và ngược lại Bit ngoài cung bên phải (Least Signficant Bit) có trọng số nhỏ nhất. 23 2221 20 2-1 2-2 MSB 1 0 1 0 . 1 1 LSB Chấm nhị phân
Số nhị phân (1010.11)2 có thể biểu diễn thành
(1010.11)2 = 1*23+0*22+1*21+0*20+1*2-1+1*2-2 = 10.7510
b. Hệ thập lục phân (cơ số 16)
Các hệ máy tính hiện đại thường dùng một hệ đếm khác là hệ thập lục
phân. Hệ thập lục phân hệ đếm dựa vào vị trí với cơ số là 16. Hệ này dùng các con
số từ 0 đến 9 và các ký tự từ A đến F như trong bảng sau:
Bảng 1. Hệ thập lục phân Thập lục phân Thập phân Nhị phân 0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000 9 9 1001 15 A 10 1010 B 11 1011 C 12 1100 D 13 1101 E 14 1110 F 15 1111
c. Cách chuyển đổi giữa các hệ đếm
c1. Biến đổi từ hệ nhị phân sang thập phân
Ví dụ : Biến đổi số nhị phân (11001)2 thành số thập phân:
Trọng số vị trí: 24 23 22 21 20
Giá trị vị trí: 16 8 4 2 1 Số nhị phân: 1 1 0 0 1
Số thập phân: 1*24 + 1*23 + 0*22 + 0*21 + 1*20 = (25)10
c2. Biến đổi thập lục phân thành thập phân
Các số thập lục phân có thể được biến đổi thành thập phân bằng cách
tính tổng của các con số nhân với giá trị vị trí của nó
Ví dụ : Biến đổi các số a.(5B)16.
b. (2AF)16 thành thập phân. a. Số thập lục phân: 5 B
Trọng số vị trí: 161 160 Giá trị vị trí : 16 1
Số thập phân: 5*16 + B*1 = (91)10. b. Số thập lục phân: 2 A F
Trọng số vị trí: 162 161 160 Giá trị vị trí : 256 16 1
Số thập phân: 2*256 + A*16 + F*1 = (687)10.
c.3. Biến đổi thập phân thành thập lục phân
Để biến đổi các số thập phân thành thập lục phân, ta sử dụng phương pháp
chia lặp (như phép chia nhị phân), với cơ số 16
Ví dụ : Biến đổi (1776)10 thành thập lục phân. 1776/16 = 111 + 0 (LSB). 111/16 = 6 + 15 hoặc F. 6/16 = 0 + 6 (MSB).
Số thập lục phân: (6F0)16.
c.4. Biến đổi thập lục phân thành nhị phân 16
Các số thập lục phân rất dễ đổi thành nhị phân. Thực ra các số thập lục phân
cũng chỉ là một cách biểu diễn các số nhị phân thuận lợi hơn mà thôi (bảng 1). Để
đổ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ó.
Ví dụ: Đổi số thập lục (DF6)16 thành nhị phân: D F 6
1101 1111 0110(DF6)16=(110111110110)2.
c.5. Biến đổi nhị phân thành thập lục phân
Để biến đổi một số nhị phân thành số thập lục phân tương đương thì chỉ cần
gộp lại thành từng nhóm gồm 4 bit nhị phân, bắt đầu từ dấu chấm nhị phân
Ví dụ: Biến đổi số nhị phân (1111101000010000)2 thành thập lục phân. 1111 1010 0001 0000 F A 1
0 Số thập lục phân: (FA10)16.
d. Hệ 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ân, rấ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 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ụ: (35)10 = (00110101)2
1.6.2.Tổ chức lưu trữ dữ liệu trên máy tính
Tất cả mọi dữ liệu đều được mã hóa thành mã nhị phân là nguyên tắc chung của máy tính.
Dữ liệu được phân thành 2 loại:
+ Dữ liệu nhân tạo: do con người quy ước
+ Dữ liệu tự nhiên: tồn tại khách quan với con người
Người ta đã xây dựng bộ mã để biểu diễn cho các ký tự cũng như các
con số Và các ký hiệu đặc biệt khác. Các mã đó gọi là bộ mã ký tự và số. Bảng
mã ASCII
là mã 7 bit được dùng phổ biến trong các hệ máy tính hiện nay. Với mã
7 bit nên có 27 = 128 tổ hợp mã. Mỗi ký tự (chữ hoa và chữ thường) cũng như các 17
con số thập phân từ 0. 9 và các ký hiệu đặc biệt khác đều được biểu diễn bằng một mã số như bảng 2
a. bảng mã ASCII (American Standard Code Information Interchange)
Bảng ký tự điều khiển ASCII Hệ 2 Hệ 10 Hệ 16 Viết Truy nhập Tên/Ý nghĩa tiếng Anh Tên/Ý nghĩa tiếng (Nhị phân) (Thập (Thập lục tắt bàn phím Việt phân) phân) 000 0000 0 00 NUL ^@ Nul character Ký tự rỗng 000 0001 1 01 SOH ^A Start of Header Bắt đầu Header 000 0010 2 02 STX ^B Start of Text Bắt đầu văn bản 000 0011 3 03 ETX ^C End of Text Kết thúc văn bản 000 0100 4 04 EOT ^D End of Transmission Kết thúc truyền 000 0101 5 05 ENQ ^E Enquiry Truy vấn 000 0110 6 06 ACK ^F Acknowledgement Sự công nhận 000 0111 7 07 BEL ^G Bel Tiếng kêu 000 1000 8 08 BS ^H Backspace Xoá ngược 000 1001 9 09 HT ^I Horizontal Tab Thẻ ngang 000 1010 10 0A LF ^J New Line Dòng mới 000 1011 11 0B VT ^K Vertical Tab Thẻ dọc 000 1100 12 0C FF ^L Form feed Cấp giấy 000 1101 13 0D CR ^M Carriage return Chuyển dòng/ Xuống dòng 000 1110 14 0E SO ^N Shift Out Ngoài mã 000 1111 15 0F SI ^O Shift In Mã hóa/Trong mã 001 0000 16 10 DLE ^P Data Link Escape Thoát liên kết dữ liệu 001 0001 17 11 DC1 ^Q Device Control 1 — oft. XON 001 0010 18 12 DC2 ^R Device Control 2 001 0011 19 13 DC3 ^S Device Control 3 — oft. XOFF 001 0100 20 14 DC4 ^T Device Control 4 18 001 0101 21 15 NAK ^U Negative Acknowledgement 001 0110 22 16 SYN ^V Synchronous Idle 001 0111 23 17 ETB ^W End of Trans. Block 001 1000 24 18 CAN ^X Cancel 001 1001 25 19 EM ^Y End of Medium 001 1010 26 1A SUB ^Z Substitute 001 1011 27 1B ESC ^[ hay ESC Escape 001 1100 28 1C FS ^\ File Separator 001 1101 29 1D GS ^] Group Separator Nhóm Separator 001 1110 30 1E RS ^^ Record Separator 001 1111 31 1F US ^_ Unit Separator 111 1111 127 7F DEL DEL Delete Xóa
Phần biểu diễn các ký tự, dấu, các con số và ký tự đặc biệt Hệ 2 Hệ 10 Hệ 16 Đồ hoạ (Hiển thị (Nhị phân) (Thập phân) (Thập lục phân) ra được) 010 0000 32 20 Khoảng trống (␠) 010 0001 33 21 ! 010 0010 34 22 " 010 0011 35 23 # 010 0100 36 24 $ 010 0101 37 25 % 010 0110 38 26 & 010 0111 39 27 ' 010 1000 40 28 ( 010 1001 41 29 ) 010 1010 42 2A * 010 1011 43 2B + 010 1100 44 2C , 010 1101 45 2D - 010 1110 46 2E . 19 010 1111 47 2F / 011 0000 48 30 0 011 0001 49 31 1 011 0010 50 32 2 011 0011 51 33 3 011 0100 52 34 4 011 0101 53 35 5 011 0110 54 36 6 011 0111 55 37 7 011 1000 56 38 8 011 1001 57 39 9 011 1010 58 3A : 011 1011 59 3B ; 011 1100 60 3C < 011 1101 61 3D = 011 1110 62 3E > 011 1111 63 3F ? 100 0000 64 40 @ 100 0001 65 41 A 100 0010 66 42 B 100 0011 67 43 C 100 0100 68 44 D 100 0101 69 45 E 100 0110 70 46 F 100 0111 71 47 G 100 1000 72 48 H 100 1001 73 49 I 100 1010 74 4A J 100 1011 75 4B K 100 1100 76 4C L 100 1101 77 4D M 100 1110 78 4E N 100 1111 79 4F O 101 0000 80 50 P 20