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ớ.. Chức năng của hệ thống máy tính tiếp Trao đổi dữ liệu: bên ngoài thông qua thiết bị ngoại
Trang 1TIN 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
KHOA C¤NG NGHÖ
INFORMATION TECHNOLOGY
Trang 2 Nguyễn Thị Thu Trang, SE-FIT-HUT
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
Trang 3Chươ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
Trang 4 Nguyễn Thị Thu Trang, SE-FIT-HUT
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
Trang 5a 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
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ý
Trang 6 Nguyễn Thị Thu Trang, SE-FIT-HUT
a Chức năng của hệ thống máy tính (tiếp)
Trao đổi dữ liệu:
bên ngoài thông qua thiết bị ngoại vi Quá trình
vào ra (input-output)
liệu hoặc nơi tiếp nhận dữ liệu
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:
Trang 7b Cấu trúc của hệ thống máy tính
Trang 8 Nguyễn Thị Thu Trang, SE-FIT-HUT
Các thành phần cơ bản của máy tính
Bộ xử lý trung tâm – CPU (Central Processing 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.
Việc kết nối và vận chuyển này được thực hiện bằng
một tập các đường kết nối gọi là bus
Trang 9c 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ớ
Trang 10 Nguyễn Thị Thu Trang, SE-FIT-HUT
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
Trang 11 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
liệu với bộ nhớ chính hay hệ thống vào-ra.
Trang 12 Nguyễn Thị Thu Trang, SE-FIT-HUT
b Cấu trúc cơ bản của CPU
Bus bên trong
Bus bên ngoài
Control Unit (CU)
Điều khiển hoạt động của
Bus Interface Unit
Kết nối và trao đổi thông tin giữa các bus bên trong với các bus bên ngoài với nhau
Trang 13Bộ vi xử lý (Microprocessor)
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.
Độ dài thanh ghi của CPU quy định đó là bộ vi
xử lý bao nhiêu bit.
Ví dụ: Một số bộ vi xử lý của hãng Intel:
Các bộ VXL 4 bit: 4004, 4040
Các bộ VXL 8 bit: 8008, 8080, 8085
Các bộ VXL 16 bit: 8086, 8088, 80186, 80188, 80288
Các bộ VXL 32 bit: họ 80386, 80486, các họ Pentium I, II, III và IV
Các bộ VXL 64 bit: Itanium, Itanium 2, Pentium D, Xeon, Intel Core 2
Trang 14 Nguyễn Thị Thu Trang, SE-FIT-HUT
Intel 4004 - Bộ vi xử lý 4 bit
Trang 15INTEL 8008Intel 8008 - Bộ vi xử lý 8 bit
Trang 16 Nguyễn Thị Thu Trang, SE-FIT-HUT
INTEL 8080Intel 8080 - Bộ vi xử lý 8 bit
Trang 17Intel 80286 - Bộ vi xử lý 16 bit
Trang 18 Nguyễn Thị Thu Trang, SE-FIT-HUT
Intel 80386 - Bộ vi xử lý 16 bit
Trang 19Intel 80486 - Bộ vi xử lý 32 bit
Trang 20 Nguyễn Thị Thu Trang, SE-FIT-HUT
Pentium – 32 bit
Trang 22 Nguyễn Thị Thu Trang, SE-FIT-HUT
Itanium
64-bit Intel Microprocessor
Itanium - Bộ vi xử lý 64 bit
Trang 23Chươ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
Trang 24 Nguyễn Thị Thu Trang, SE-FIT-HUT
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ớ:
Các thành phần chính
Trang 25Các thành phần bộ nhớ máy tính
Trang 27Tổ 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
Trang 28 Nguyễn Thị Thu Trang, SE-FIT-HUT
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ố
Trang 29b 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à
Trang 31Chươ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
Trang 32 Nguyễn Thị Thu Trang, SE-FIT-HUT
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
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)
Trang 33Cấu trúc cơ bản của hệ thống vào-ra
Trang 34 Nguyễn Thị Thu Trang, SE-FIT-HUT
Các thiết bị vào ra (ngoại vi)
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,…
Trang 35Mô-đ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
Trang 36 Nguyễn Thị Thu Trang, SE-FIT-HUT
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
Trang 37Liê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,…
Trang 38 Nguyễn Thị Thu Trang, SE-FIT-HUT
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
Trang 39Chươ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
Trang 41Chươ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
Trang 42 Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.1 Dữ liệu và giải thuật
Mỗi bài toán phải giải quyết
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
Trang 44 Nguyễn Thị Thu Trang, SE-FIT-HUT
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.
Trang 45c 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
Trang 46 Đầ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
Trang 47Ví 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.
Trang 48 Nguyễn Thị Thu Trang, SE-FIT-HUT
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
S
Trang 49Ví 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
Trang 50 Nguyễn Thị Thu Trang, SE-FIT-HUT
Ví dụ 2- Mô tả tuần tự các bước
Trang 51Ví 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
Biểu diễn thao tác
tính toán đơn giản
hoặc phức tạp
Đ
S
Trang 52 Nguyễn Thị Thu Trang, SE-FIT-HUT
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
Trang 53Ví dụ 3 - Mô tả tuần tự các bước
B1: Nhập a và b.
B2: Nếu a<>0 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
Trang 54 Nguyễn Thị Thu Trang, SE-FIT-HUT
Ví dụ 3 - Mô tả bằng lưu đồ thuật toán
Nhập a và b
“Nghiệm là: x = -b/a”
b<>0 S
Trang 55 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
Trang 56 Nguyễn Thị Thu Trang, SE-FIT-HUT
Ví dụ 4 - Mô tả tuần tự các bước
B1: Nhập N và dãy số a 1 , a 2 ,…,a N
B2: Max ← a 1 ; 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 a i > Max, Max ← a i
B5: Tăng i lên 1 đơn vị.
B6: Quay lên B3.
B7: Kết thúc.
Trang 57Ví dụ 4 - Mô tả bằng lưu đồ thuật toán
Trang 58 Đầu vào: Dãy A gồm N số nguyên a1, a2,…, aN
Ý tưởng:
không lớn hơn số sau ta đổi chỗ chúng cho nhau.
nào cho nhau
Trang 59Ví dụ 5 - Mô tả tuần tự các bước
B6: Nếu i > M thì quay lại B3.
B7: Nếu a i > a i +1 thì tráo đổi hai số đó cho
nhau
Trang 62 Nguyễn Thị Thu Trang, SE-FIT-HUT
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ả:
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.
Trang 63c 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
Trang 64 Nguyễn Thị Thu Trang, SE-FIT-HUT
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
…
Trang 68 Nguyễn Thị Thu Trang, SE-FIT-HUT
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
Trang 693.2.2 Chương trình và ngôn ngữ lập trình
Lập trình:
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:
thị của một ngôn ngữ nào đó.
Ngôn ngữ lập trình:
máy tính, máy tính hiểu và thực thi nhiệm vụ đã chỉ ra
Trang 70Niklaus 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
Trang 71a 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,…
Trang 72 Nguyễn Thị Thu Trang, SE-FIT-HUT
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
Trang 73a Các loại ngôn ngữ lập trình (tiếp)
Ngôn ngữ bậc cao:
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ữ
để 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.
Pascal, Foxpro, Visual Foxpro, Visual Basic, C, Visual
C, C++, Java, C#, Python,…
Trang 74 Nguyễn Thị Thu Trang, SE-FIT-HUT
b Hai phương thức dịch
Thông dịch (Intepreter):
cú pháp của câu lệnh đó và nếu đúng thì thực hiện.
cuối cùng nếu không có lỗi.
trong chương trình nguồn không có lỗi
Trang 75c Qui trình giải quyết một bài toán
trên máy tính
Trang 76 Nguyễn Thị Thu Trang, SE-FIT-HUT
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
Trang 77a Quy trình phát triển phần mềm máy tính
B1: Xác định bài toán:
B2: Phân tích bài toán:
xây dựng phải có và các dữ liệu cần thiết
B3: Thiết kế hệ thống:
đun chương trình, thiết kế giao tiếp, thiết kế an toàn,
…
đun đó và cách diễn tả giải thuật.
Trang 78 Nguyễn Thị Thu Trang, SE-FIT-HUT
a Quy trình phát triển phần mềm máy tính
hệ thống trước khi bàn giao cho khách hàng.
chương trình trong thời gian đầu.
Trang 79b Phân loại phần mềm máy tính
Phân loại theo phương thức hoạt động:
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
Trang 80 Nguyễn Thị Thu Trang, SE-FIT-HUT
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
Phần mềm trên Web (Web-based SW)
Phần mềm trí tuệ nhân tạo (AI SW)
Trang 81Câu hỏi