Tổ chức bên trong máy tính
3.1.1. Mô hình cơ bản của máy tính
3.1.2. Bộ xử lý trung tâm – CPU
3.1.3. Bộ nhớ
3.1.4. Hệ thống vào-ra
3.1.5. Liên kết hệ thống (buses)
3.2. Phần mềm máy tính
3.2.1. Dữ liệu và giải thuật
3.2.2. Chương trình và ngôn ngữ lập trình
3.2.3. Phần mềm máy tính
42 trang |
Chia sẻ: Mr Hưng | Lượt xem: 1031 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Tin học đại cương - Phần 1: Tin học căn bản - Chương 03: Hệ thống máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
11
TIN HỌC ĐẠI CƯƠNG
PHẦN 1: TIN HỌC CĂN BẢN
Chương 03: Hệ thống máy tính
2
Chương 03: Hệ thống máy tính
3.1. Tổ chức bên trong máy tính
3.1.1. Mô hình cơ bản của máy tính
3.1.2. Bộ xử lý trung tâm – CPU
3.1.3. Bộ nhớ
3.1.4. Hệ thống vào-ra
3.1.5. Liên kết hệ thống (buses)
3.2. Phần mềm máy tính
3.2.1. Dữ liệu và giải thuật
3.2.2. Chương trình và ngôn ngữ lập trình
3.2.3. Phần mềm máy tính
23
Chương 03: Hệ thống máy tính
3.1. Tổ chức bên trong máy tính
3.1.1. Mô hình cơ bản của máy tính
3.1.2. Bộ xử lý trung tâm – CPU
3.1.3. Bộ nhớ
3.1.4. Hệ thống vào-ra
3.1.5. Liên kết hệ thống (buses)
3.2. Phần mềm máy tính
3.2.1. Dữ liệu và giải thuật
3.2.2. Chương trình và ngôn ngữ lập trình
3.2.3. Phần mềm máy tính
4
3.1.1. Mô hình cơ bản của máy tính
a. Chức năng của hệ thống máy tính
b. Cấu trúc của hệ thống máy tính
c. Hoạt động của máy tính
35
a. Chức năng của hệ thống máy tính
Xử lý dữ liệu
Lưu trữ dữ liệu
Trao đổi dữ liệu
Điều khiển
6
a. Chức năng của hệ thống máy tính
Xử lý dữ liệu:
Chức năng quan trọng nhất của máy tính
Dữ liệu có thể có rất nhiều dạng khác nhau
và có yêu cầu xử lý khác nhau.
Lưu trữ dữ liệu:
Dữ liệu đưa vào máy tính được xử lý ngay
hoặc có thể được lưu trong bộ nhớ.
Khi cần chúng sẽ được lấy ra xử lý.
47
a. Chức năng của hệ thống máy tính (tiếp)
Trao đổi dữ liệu:
Trao đổi dữ liệu giữa các thành phần bên trong và
bên ngoài thông qua thiết bị ngoại vi Quá trình
vào ra (input-output)
Các thiết bị vào-ra được coi là nguồn cung cấp dữ
liệu hoặc nơi tiếp nhận dữ liệu.
Khi dữ liệu được vận chuyển trên khoảng cách xa
với các thiết bị hoặc máy tính gọi là truyền dữ liệu
(data communication).
Điều khiển:
Máy tính cần phải điều khiển ba chức năng trên.
8
b. Cấu trúc của hệ thống máy tính
59
Các thành phần cơ bản của máy tính
Bộ xử lý trung tâm – CPU (Central Processor Unit)
Điều khiển các hoạt động của máy tính và thực hiện
xử lý dữ liệu.
Bộ nhớ chính (Main Memory)
Lưu trữ chương trình và dữ liệu.
Hệ thống vào ra (Input-Output System):
Trao đổi thông tin giữa thế giới bên ngoài với máy tính.
Liên kết hệ thống (System Interconnection):
Kết nối và vận chuyển thông tin giữa CPU, bộ nhớ
chính và hệ thống vào ra của máy tính với nhau.
10
c. Hoạt động của máy tính
Hoạt động cơ bản của máy tính là
thực hiện chương trình.
Chương trình gồm một tập các lệnh
được lưu trữ trong bộ nhớ
611
Chương 03: Hệ thống máy tính
3.1. Tổ chức bên trong máy tính
3.1.1. Mô hình cơ bản của máy tính
3.1.2. Bộ xử lý trung tâm – CPU
3.1.3. Bộ nhớ
3.1.4. Hệ thống vào-ra
3.1.5. Liên kết hệ thống (buses)
3.2. Phần mềm máy tính
3.2.1. Dữ liệu và giải thuật
3.2.2. Chương trình và ngôn ngữ lập trình
3.2.3. Phần mềm máy tính
12
a. Chức năng và hoạt động
Chức năng
Điều khiển hoạt động của toàn bộ hệ thống máy tính
Xử lý dữ liệu
Nguyên tắc hoạt động cơ bản: CPU hoạt động
theo chương trình nằm trong bộ nhớ chính, bằng
cách:
Nhận lần lượt lệnh từ bộ nhớ chính
Sau đó tiến hành giải mã lệnh và phát các tín hiệu điều
khiển thực thi lệnh
Trong quá trình thực thi lệnh, CPU có thể trao đổi dữ
liệu với bộ nhớ chính hay hệ thống vào-ra.
713
b. Cấu trúc cơ bản của CPU
14
Các thành phần cơ bản của CPU
Khối điều khiển (Control Unit – CU)
Điều khiển hoạt động của máy tính theo chương trình đã định
sẵn
Khối tính toán số học và logic (Arithmetic – Logic
Unit - ALU):
Thực hiện các phép toán số học và các phép toán logic trên
các dữ liệu cụ thể
Tập các thanh ghi (Register File - RF)
Lưu trữ các thông tin tạm thời phục vụ cho hoạt động của CPU
Bus bên trong (Internal Bus)
Kết nối các thành phần bên trong CPU với nhau
Đơn vị ghép nối bus (Bus Interface Unit – BIU)
Kết nối và trao đổi thông tin với nhau giữa các bus bên trong
với các bus bên ngoài.
815
Bộ vi xử lý (Microprocessor)
Bộ vi xử lý
CPU được chế tạo trên một vi mạch và được gọi là bộ vi xử lý.
Có thể gọi CPU là bộ vi xử lý
Tuy nhiên, các bộ vi xử lý hiện nay có cấu trúc phức tạp hơn
nhiều so với một CPU cơ bản.
Tốc độ của bộ vi xử lý
Số lệnh được thực hiện trong 1s
MIPS (Milliions of Intructions per Second)
Khó đánh giá chính xác
Tần số xung nhịp của bộ xử lý
Bộ xử lý hoạt động theo một xung nhịp (clock) có tần số xác định
Tốc độ của bộ xử lý được đánh giá gián tiếp thông qua tần số
xung nhịp
16
Tốc độ bộ vi xử lý (tiếp)
917
Intel 4004 - Bộ vi xử lý 4 bit
18
INTEL 8008
Intel 8008 - Bộ vi xử lý 8 bit
10
19
INTEL 8080
Intel 8080 - Bộ vi xử lý 8 bit
20
Intel 80286 - Bộ vi xử lý 16 bit
11
21
Intel 80386 - Bộ vi xử lý 16 bit
22
Intel 80486 - Bộ vi xử lý 32 bit
12
23
Pentium – 32 bit
24
More
Pentium
Pro
III
IV
13
25
Itanium
64-bit Intel
Microprocessors
Itanium - Bộ vi xử lý 64 bit
26
Chương 03: Hệ thống máy tính
3.1. Tổ chức bên trong máy tính
3.1.1. Mô hình cơ bản của máy tính
3.1.2. Bộ xử lý trung tâm – CPU
3.1.3. Bộ nhớ
3.1.4. Hệ thống vào-ra
3.1.5. Liên kết hệ thống (buses)
3.2. Phần mềm máy tính
3.2.1. Dữ liệu và giải thuật
3.2.2. Chương trình và ngôn ngữ lập trình
3.2.3. Phần mềm máy tính
14
27
3.1.3. Bộ nhớ máy tính
Chức năng: Lưu trữ chương trình và dữ liệu
Các thao tác cơ bản với bộ nhớ:
Thao tác đọc (read)
Thao tác ghi (write)
Các thành phần chính
Bộ nhớ trong (Internal Memory)
Bộ nhớ ngoài (External Memory)
28
Các thành phần bộ nhớ máy tính
15
29
a. Bộ nhớ trong
Chức năng và đặc điểm
Chức các 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: ROM và RAM
Các loại bộ nhớ trong:
Bộ nhớ chính
Bộ nhớ cache (bộ nhớ đệm nhanh)
30
Bộ nhớ chính
Là thành phần nhớ tồn tại trên mọi hệ thống
máy tính
Chứa các chương trình và dữ liệu đang
được CPU sử dụng
Tổ chức thành các ngăn nhớ được đánh địa chỉ
Ngăn nhớ thường được tổ chức theo Byte
Nội dung của ngăn nhớ có thể thay đổi,
song địa chỉ vật lý của ngăn nhớ luôn cố
định
Thông thường, bộ nhớ chính gồm 2 phần:
ROM
RAM
16
31
Bộ nhớ đệm nhanh (Cache memory)
Là thành phần nhớ tốc độ nhanh nhưng được
đặt đệm giữa CPU và bộ nhớ chính nhằm tăng
tốc độ truy cập bộ nhớ của CPU
Tốc độ cache nhanh hơn bộ nhớ chính nhưng
dung lượng nhỏ hơn
Cache thường được chia ra thành một số mức:
cache L1, cache L2,
Hiện nay cache được tích hợp trên các chip vi
xử lý
Cache có thể có hoặc không
32
b. Bộ nhớ ngoài
Chức năng và đặc điểm
Lưu giữ tài nguyên phần mềm của máy tính,
bao gồm: Hệ điều hành, các chương trình và
dữ liệu
Bộ nhớ ngoài được kết nối với hệ thống dưới
dạng các thiết bị vào ra
Dung lượng lớn
Tốc độ chậm
17
33
b. Bộ nhớ ngoài (tiếp)
Các loại bộ nhớ ngoài:
Bộ nhớ từ: Đĩa cứng, đĩa mềm
Bộ nhớ quang: Đĩa CD, DVD,
Bộ nhớ bán dẫn: Flash disk, memory card
34
Chương 03: Hệ thống máy tính
3.1. Tổ chức bên trong máy tính
3.1.1. Mô hình cơ bản của máy tính
3.1.2. Bộ xử lý trung tâm – CPU
3.1.3. Bộ nhớ
3.1.4. Hệ thống vào-ra
3.1.5. Liên kết hệ thống (buses)
3.2. Phần mềm máy tính
3.2.1. Dữ liệu và giải thuật
3.2.2. Chương trình và ngôn ngữ lập trình
3.2.3. Phần mềm máy tính
18
35
3.1.4. Hệ thống vào-ra
Chức năng: Trao đổi thông tin giữa máy tính với
thế giới bên ngoài.
Các thao tác cơ bản
Vào dữ liệu (Input)
Ra dữ liệu (Output)
Các thành phần chính:
Các thiết bị vào-ra (IO devices) hay còn gọi là thiết bị
ngoại vi (Peripheral devices)
Các mô-đun ghép nối vào-ra (IO Interface modules)
36
Cấu trúc cơ bản của hệ thống vào-ra
19
37
Các thiết bị vào ra
Chức năng: Chuyển đổi dữ liệu giữa bên
trong và bên ngoài máy tính
Các thiết bị ngoại vi cơ bản:
Thiết bị vào: Bàn phím, chuột, máy quét,
Thiết bị ra: Màn hình, máy in,
Thiết bị nhớ: Các ổ đĩa,
Thiết bị truyền thông: Modem,
38
Mô-đun ghép nối vào ra
Các thiết bị vào ra không kết nối trực tiếp với
CPU mà được kết nối thông qua các mô-đun
ghép nối vào-ra.
Trong các mô đun ghép nối vào-ra có các cổng
vào-ra (IO Port)
Các cổng này cũng được đánh địa chỉ bởi CPU,
có nghĩa là mỗi cổng cũng có một địa chỉ xác
định.
Mỗi thiết bị vào-ra kết nối với CPU thông qua
cổng tương ứng với địa chỉ xác định.
20
39
Chương 03: Hệ thống máy tính
3.1. Tổ chức bên trong máy tính
3.1.1. Mô hình cơ bản của máy tính
3.1.2. Bộ xử lý trung tâm – CPU
3.1.3. Bộ nhớ
3.1.4. Hệ thống vào-ra
3.1.5. Liên kết hệ thống (buses)
3.2. Phần mềm máy tính
3.2.1. Dữ liệu và giải thuật
3.2.2. Chương trình và ngôn ngữ lập trình
3.2.3. Phân loại phần mềm máy tính
40
Liên kết hệ thống (buses)
CPU, bộ nhớ chính và hệ thống vào-ra
cần phải kết nối với nhau để trao đổi thông
tin
Việc kết nối này được thực hiện bằng một
tập các đường kết nối gọi là bus
Thực tế bus trong máy tính khá phức tạp,
nó được thể hiện bằng các đường dẫn
trên các bản mạch, các khe cắm trên bản
mạch chính, các cáp nối,
21
41
Liên kết hệ thống (tiếp)
Độ rộng của bus: Là số đường dây của
bus có thể truyền thông tin đồng thời.
Về chức năng, bus được chia làm 3 loại
chính: Bus địa chỉ, bus dữ liệu và bus điều
khiển
42
Chương 03: Hệ thống máy tính
3.1. Tổ chức bên trong máy tính
3.1.1. Mô hình cơ bản của máy tính
3.1.2. Bộ xử lý trung tâm – CPU
3.1.3. Bộ nhớ
3.1.4. Hệ thống vào-ra
3.1.5. Liên kết hệ thống (buses)
3.2. Phần mềm máy tính
3.2.1. Dữ liệu và giải thuật
3.2.2. Chương trình và ngôn ngữ lập trình
3.2.3. Phần mềm máy tính
22
43
3.2. Phần mềm máy tính
Máy tính hoạt động theo một qui trình tự
động đã định sẵn gọi là chương trình
(program) hay còn gọi là Phần mềm máy
tính (Software Computer).
44
Chương 03: Hệ thống máy tính
3.1. Tổ chức bên trong máy tính
3.1.1. Mô hình cơ bản của máy tính
3.1.2. Bộ xử lý trung tâm – CPU
3.1.3. Bộ nhớ
3.1.4. Hệ thống vào-ra
3.1.5. Liên kết hệ thống (buses)
3.2. Phần mềm máy tính
3.2.1. Dữ liệu và giải thuật
3.2.2. Chương trình và ngôn ngữ lập trình
3.2.3. Phần mềm máy tính
23
45
3.2.1. Dữ liệu và giải thuật
Mỗi bài toán phải giải quyết thường
bao gồm 2 phần:
Phần dữ liệu
Liên quan đến các thông tin cụ thể của bài
toán
Phần xử lý:
Thao tác phải được máy tính tiến hành
nhằm đáp ứng yêu cầu người dùng
Giải thuật/Thuật toán (Algorithm)
46
a. Dữ liệu
Dữ liệu:
Đầu vào (Input): Các dữ liệu được cung
cấp để xử lý
Đầu ra (Output): Kết quả xử lý
24
47
b. Giải thuật
Thuật toán để giải một bài toán là một dãy
hữu hạn các thao tác và trình tự thực hiện
các thao tác đó sao cho sau khi thực hiện
dãy thao tác này theo trình tự đã chỉ ra,
với đầu vào (input) ta thu được kết quả
đầu ra (output) mong muốn.
48
a.1. Mô tả giải thuật/thuật toán
Cách 1: Diễn giải tuần tự các bước
Cách 2: Lưu đồ/sơ đồ khối
Cách 3: Các ngôn ngữ lập trình như Pascal,
C/C++ hay Java. Tuy nhiên, không nhất thiết
phải sử dụng đúng ký pháp của các ngôn
ngữ đó mà có thể được bỏ một số ràng buộc.
Cách 4: Giả mã (pseudocode) gọi là ngôn
ngữ mô phỏng chương trình PDL
(Programming Description Language).
25
49
Ví dụ 1
Bài toán: Đưa ra kết luận về tương quan
của hai số a và b (>, < hay =).
Đầu vào: Hai số a và b
Đầu ra: Kết luận a>b hay a<b hay a=b.
Ý tưởng:
So sánh a và b rồi đưa ra kết luận
50
Ví dụ 1- Mô tả tuần tự các bước
B1: Nhập số a và số b.
B2: Nếu a> b, hiển thị “a>b” và kết thúc
B3: Nếu a=b, hiển thị “a=b” và kết thúc
B4: (a<b) Hiển thị “a<b” và kết thúc.
26
51
Ví dụ 1 - Mô tả bằng lưu đồ thuật toán
Biểu diễn thao
tác so sánh
Thể hiện thao tác bắt
đầu hoặc kết thúc Nhập a, b
a>b
a=b
Hiển thị “a>b”
Hiển thị “a=b”
Hiển thị “a<b”
Đ
Đ
S
S
52
Ví dụ 2
Bài toán: Đưa ra tổng, tích, hiệu, thương
của hai số a và b.
Đầu vào: Hai số a và b
Đầu ra: Tổng, tích, hiệu và thương của a và b.
Ý tưởng:
Tính tổng, tích, hiệu của a và b
Nếu b khác 0, đưa ra thương
Nếu b bằng 0, đưa ra thông báo không thực
hiện được phép chia
27
53
Ví dụ 2- Mô tả tuần tự các bước
B1: Nhập số a và số b.
B2: s a + b; d a – b; p a * b
Hiển thị
Tổng là s
Hiệu là d
Tích là p
B3: Nếu b = 0, hiển thị “Không thực hiện được
phép chia” và kết thúc
B4: (b0) Hiển thị “Thương là a/b” và kết thúc
54
Ví dụ 2 - Mô tả bằng lưu đồ thuật toán
Biểu diễn thao
tác so sánh
Thể hiện thao tác bắt
đầu hoặc kết thúc
Nhập a, b
b = 0
Hiển thị
“Không thực hiện được
phép chia”
Hiển thị “Thương là a/b”
s a + b; d a – b;
p a * b;
Hiển thị
“Tổng là s, Hiệu là d,
Tích là p”
Biểu diễn thao tác
tính toán đơn giản
hoặc phức tạp
28
55
Ví dụ 3
Bài toán: Giải phương trình bậc I
Đầu vào: Hai hệ số a, b
Đầu ra: Nghiệm của phương trình ax + b = 0
Ý tưởng:
Lần lượt xét a = 0 rồi xét b = 0 để xét các
trường hợp của phương trình
56
Ví dụ 3 - Mô tả tuần tự các bước
B1: Nhập a và b.
B2: Nếu a0 thì hiển thị “Phương trình có
1 nghiệm duy nhất x = -b/a”.
B3: (a=0) Nếu b 0 thì hiển thị “Phương
trình vô nghiệm” và kết thúc
B4: (a=0)(b=0) Hiển thị “Phương trình vô
số nghiệm” và kết thúc
29
57
Ví dụ 3 - Mô tả bằng lưu đồ thuật toán
Nhập a và b
a0 Hiển thị
“Nghiệm là: x = -b/a”
b0
S
S
Đ
Đ Hiển thị
“Phương trình vô nghiệm”
Hiển thị
“Phương trình vô số nghiệm”
58
Ví dụ 4
Bài toán: Tìm giá trị lớn nhất của một dãy
số nguyên có N số
Đầu vào: Số số nguyên dương N và N số
nguyên a1, a2,, aN
Đầu ra: số nguyên lớn nhất của dãy ak, k
trong khoảng [1N]
Ý tưởng:
Khởi tạo giá trị Max = a1
Lần lượt so sánh Max với ai với i=2,3,, N;
nếu ai > Max ta gán giá trị mới cho Max
30
59
Ví dụ 4 - Mô tả tuần tự các bước
B1: Nhập N và dãy số a1, a2,,aN.
B2: Max a1; i=2.
B3: Nếu i > N, Hiển thị Max là giá trị lớn
nhất của dãy và kết thúc
B4: Nếu ai > Max, Max ai
B5: Tăng i lên 1 đơn vị.
B6: Quay lên B3.
B7: Kết thúc.
60
Ví dụ 4 - Mô tả bằng lưu đồ thuật toán
Nhập N và
dãy số a1, a2,,aN
i > N Hiển thị “Max là số lớn nhất”
Max a1; i=2
ai > Max
i i + 1
S
S
Đ
Max ai
Đ
31
61
Ví dụ 5
Bài toán: Sắp xếp bằng phương pháp tráo
đổi (Exchange Sort)
Đầu vào: Dãy A gồm N số nguyên a1, a2,, aN
Đầu ra: Dãy A dược sắp lại theo thứ tự không giảm.
Ý tưởng:
Với mỗi cặp số liên tiếp trong dãy, nếu số trước lớn
hơn số sau ta đổi chỗ chúng cho nhau.
Việc đó được lặp cho đến khi không có sự đổi chỗ
nào cho nhau
62
Ví dụ 5 - Mô tả tuần tự các bước
B1: Nhập số N và dãy số a1,a2,,aN
B2: M N.
B3: Nếu M < 2 thì thuật toán kết thúc và hiển thị
dãy đó.
B4: M M – 1, i 0.
B5: Tăng i lên 1 đơn vị.
B6: Nếu i > M thì quay lại B3.
B7: Nếu ai > ai+1 thì tráo đổi hai số đó cho nhau
B8: Quay lên B5.
32
63
Ví dụ 5 -
Mô tả bằng
lưu đồ
thuật toán
Nhập N và
dãy số a1, a2,,aN
M < 2 Hiển thị Dãy đã sắp xếp
M N
i > M
S
S
Đ
ai ai+1
Đ
M M – 1, i 0
i i + 1
ai > ai+1
S
Đ Đ
64
Bài tập
Bài toán: Giải phương trình bậc II
Đầu vào: Ba hệ số a, b, c
Đầu ra: Nghiệm của phương trình
ax2 + bx + c = 0
Ý tưởng:
Lần lượt xét a = 0, b = 0 rồi xét c=0 để xét các
trường hợp của phương trình
33
65
b. Các tiêu chí giải thuật cần thỏa mãn
Tính hữu hạn: giải thuật phải dừng sau một
thời gian hữu hạn.
Khi kết thúc, giải thuật phải cung cấp kết quả
đúng đắn.
Tính hiệu quả:
Thời gian tính toán nhanh
Sử dụng ít tài nguyên không gian như bộ nhớ, thiết
bị,
Mang tính phổ dụng, dễ hiểu, dễ cài đặt và mở rộng
cho các lớp bài toán khác.
66
c. Các cấu trúc cơ bản trong lập trình cấu trúc
Cấu trúc tuần tự
Cấu trúc rẽ nhánh
Cấu trúc lặp
34
67
Cấu trúc tuần tự
Các bước được thực hiện theo 1 trình tự tuyến
tính, hết bước này đến bước khác
Bước 1
Bước 2
Bước n
68
Cấu trúc rẽ nhánh
Việc thực hiện bước nào phụ thuộc vào điều
kiện xác định.
Ví dụ: Tìm max của 2 số a, b.
Nếu a > b thì max là a, ngược lại max sẽ là b.
Diễn giải:
B1: Nhập 2 số a, b.
B2: Nếu a > b thì Max = a và đi đến bước kết thúc (B4).
B3: (a <= b) Max b.
B4: Kết thúc.
Max a
a>b
Max b
35
69
Cấu trúc lặp
Một tác động/ nhiệm vụ
có thể được thực hiện
lặp nhiều lần.
Số lần lặp có thể biết
trước hoặc không biết
trước.Tuy nhiên số lần
lặp phải hữu hạn.
Điều kiện
Thực hiện công việc
trong vòng lặp
Thực hiện công việc
khi thoát khỏi vòng lặp
70
Cấu trúc lặp (tiếp)
Nhập N và
dãy số a1, a2,,aN
i > N Hiển thị “Max là số lớn nhất”
Max a1; i=2
ai > Max
i i + 1
S
S
Đ
Max ai
Đ
Ví dụ: Tìm số lớn nhất
của một dãy có n số
Lần lượt phải so sánh số
Max tạm thời (lúc đầu Max
được gán bằng phần tử
thứ nhất, a1) với ai, với i
từ 2, 3,, n.
Việc so sánh này được
thực hiện lặp nhiều lần
giữa Max và ai.
Khi kết thúc quá trình lặp,
ta sẽ thu được Max là số
lớn nhất của dãy n số.
36
71
Chương 03: Hệ thống máy tính
3.1. Tổ chức bên trong máy tính
3.1.1. Mô hình cơ bản của máy tính
3.1.2. Bộ xử lý trung tâm – CPU
3.1.3. Bộ nhớ
3.1.4. Hệ thống vào-ra
3.1.5. Liên kết hệ thống (buses)
3.2. Phần mềm máy tính
3.2.1. Dữ liệu và giải thuật
3.2.2. Chương trình và ngôn ngữ lập trình
3.2.3. Phần mềm máy tính
72
3.2.2. Chương trình và ngôn ngữ lập trình
Lập trình:
Để máy có thể hiểu và tiến hành xử lý được ta phải
biến các bước thao tác thành các chỉ thị (statement)
và biểu diễn trong dạng mà máy tính hiểu được.
Chương trình:
Giải thuật được biếu diễn dưới dạng một tập các chỉ
thị của một ngôn ngữ nào đó.
Ngôn ngữ lập trình:
Ngôn ngữ dùng để lập trình: Dùng để trao đổi với
máy tính, máy tính hiểu và thực thi nhiệm vụ đã chỉ ra
37
73
3.2.2. Chương trình và ngôn ngữ lập trình
(tiếp)
Cấu trúc dữ liệu:
Cách thức tổ chức để lưu trữ dữ liệu.
Niklaus E. Wirth người sáng lập ra trường
phái lập trình cấu trúc và NNLT Pascal:
Chương trình = Cấu trúc dữ liệu
+ Giải thuật
74
a. Các loại ngôn ngữ lập trình
Ngôn ngữ máy:
Mỗi loại máy tính đều có ngôn ngữ máy riêng.
Loại ngôn ngữ duy nhất để viết chương trình
mà máy tính hiểu trực tiếp và thực hiện được.
Các chỉ thị (lệnh) của ngôn ngữ này viết bằng
mã nhị phân hay mã hec-xa. Nó gắn chặt với
kiến trúc phần cứng của máy và do vậy nó
khai thác được các đặc điểm phần cứng.
Không thuận lợi cho người lập trình do tính
khó nhớ của mã, tính thiếu cấu trúc,
38
75
a. Các loại ngôn ngữ lập trình (tiếp)
Hợp ngữ:
Hợp ngữ cho phép người lập trình sử dụng
một số từ gợi nhớ viết tắt để thể hiện các câu
lệnh thực hiện.
Ví dụ: để cộng nội dung của 2 thanh ghi AX
và BX rồi ghi kết quả vào AX, ta có thể dùng
câu lệnh hợp ngữ sau: ADD AX, BX
Một chương trình hợp ngữ phải được dịch ra
ngôn ngữ máy nhờ chương trình hợp dịch
trước khi máy tính có thể thực hiện.
76
a. Các loại ngôn ngữ lập trình (tiếp)
Ngôn ngữ bậc cao:
Ít phụ thuộc vào kiến trúc phần cứng máy tính, gần
với tiếng Anh tự nhiên, có tính độc lập cao để khắc
phục những hạn chế của hợp ngữ
Các chương trình viết bằng ngôn ngữ này, trước khi
để máy có thể thực thi cần phải chuyển đổi sang
ngôn ngữ máy. Quá trình chuyển đổi đó gọi là quá
trình dịch.
Ví dụ: FORTRAN, COBOL, ALGOL60, BASIC,
Pascal, Foxpro, Visual Foxpro, Visual Basic, C, Visual
C, C++, Java, C#, Python,
39
77
b. Hai phương thức dịch
Thông dịch (Interpreter):
Bộ thông dịch đọc từng lệnh của chương trình nguồn, phân tích
cú pháp của câu lệnh đó và nếu đúng thì thực hiện.
Quá trình bắt đầu từ lệnh đầu tiên của chương trình đến lệnh
cuối cùng nếu không có lỗi.
Bộ thông dịch này giống như vai trò của 1 thông dịch viên
(translator).
Biên dịch (Compiler):
Trình biên dịch dịch toàn bộ chương trình nguồn sang ngôn ngữ
đích.
Với chương trình đích này, máy đã có thể hiểu được và biết
cách thực thi.
Quá trình biên dịch sẽ tạo ra chương trình đích chỉ khi các lệnh
trong chương trình nguồn không có lỗi.
78
c. Qui trình giải quyết một bài toán
trên máy tính
40
79
Chương 03: Hệ thống máy tính
3.1. Tổ chức bên trong máy tính
3.1.1. Mô hình cơ bản của máy tính
3.1.2. Bộ xử lý trung tâm – CPU
3.1.3. Bộ nhớ
3.1.4. Hệ thống vào-ra
3.1.5. Liên kết hệ thống (buses)
3.2. Phần mềm máy tính
3.2.1. Dữ liệu và giải thuật
3.2.2. Chương trình và ngôn ngữ lập trình
3.2.3. Phần mềm máy tính
80
a. Quy trình phát triển phần mềm máy tính
B1: Xác định bài toán:
Xác định yêu cầu người dùng
B2: Phân tích bài toán:
Tìm hiểu nhiệm vụ (chức năng) mà phần mềm cần
xây dựng phải có và các dữ liệu cần thiết.
Xây dựng các giải pháp khả thi.
Tìm hiểu hệ thống là gì? Và làm gì? (What)
B3: Thiết kế hệ thống:
Thực hiện thiết kế kiến trúc hệ thống, thiết kế các mô
đun chương trình, thiết kế giao tiếp, thiết kế an
toàn,
Thiết kế mô đun chính là xây dựng giải thuật cho mô
đun đó và cách diễn tả giải thuật.
Hệ thống cần được làm như thế nào? (How)
41
81
a. Quy trình phát triển phần mềm máy tính
(tiếp)
B4: Xây dựng chương trình:
Viết mã nguồn (source code) cho các mô đun theo
ngôn ngữ lập trình đã xác định.
B5: Kiểm thử chương trình:
Nhằm kiểm tra tính đúng đắn của từng mô đun và cả
hệ thống trước khi bàn giao cho khách hàng.
B7: Triển khai:
Cài đặt, triển khai cho khách hàng (người dùng) sử
dụng chương trình
Viết tài liệu hướng dẫn sử dụng cho phần mềm
B8: Bảo trì:
Sửa các lỗi trong quá trình người sử dụng dùng thử
chương trình trong thời gian đầu.
82
b. Phân loại phần mềm máy tính
Phân loại theo quan điểm sử dụng chung:
Phần mềm hệ thống:
Phần mềm điều khiển hoạt động bên trong của máy tính và
cung cấp môi trường giao tiếp giữa người dùng và máy tính
nhằm khai thác hiệu quả phần cứng phục vụ cho nhu cầu sử
dụng.
Loại phần mềm này đòi hỏi tính ổn định, tính an toàn cao.
Chẳng hạn các hệ điều hành máy đơn hay hệ điều hành
mạng, các tiện ích hệ thống,
Phần mềm ứng dụng:
Phần mềm dùng để giải quyết các vấn đề phục vụ cho các
hoạt động khác nhau của con người như quản lý, kế toán,
soạn thảo văn bản, trò chơi.
Nhu cầu về phần mềm ứng dụng ngày càng tăng và đa
dạng.
42
83
b. Phân loại phần mềm máy tính (tiếp)
Phân loại theo đặc thù ứng dụng và môi
trường:
Phần mềm thời gian thực (Real-time SW)
Phần mềm nghiệp vụ (Business SW)
Phần mềm tính toán KH&KT (Eng.&Scie. SW)
Phần mềm nhúng (Embedded SW)
Phần mềm trên Web (Web-based SW)
Phần mềm trí tuệ nhân tạo (AI SW)
84
Câu hỏi
Các file đính kèm theo tài liệu này:
- thdc_phan_1_bai_3_6894.pdf