Slide này là cái nhìn tổng quan nhất về cấu tạo và nguyên lý hoạt động của một chiếc máy tính. Đồng thời giúp chúng ta hiểu hơn về hệ điều hành, một thành phần không thể thiếu đối với một máy tính cơ bản. Slide gồm 2 phần : Kiến trúc máy tính và hệ điều hành Phần 1: Kiến trúc máy tính Chương 1: giới thiệu chung. Chương 2: Kiến trúc, tổ chức và quản lý bộ nhớ. Chương 3: Hệ thống BUS và thiết bị ngoại vi. Phần 2: Hệ điều hành Chương 1: Tổng quan về hệ điều hành. Chương 2: Một số dịch vụ cơ bản của hệ điều hành. Chương 3: Tiến trình và điều độ tiến trình. Chương 4: Quản lý bộ nhớ. Chương 5: Quản lý tệp và thư mục.
Trang 1KIẾN TRÚC MÁY TÍNH
Computer Architecture
& Operating Systems
Nguyễn Trung Đồng Tel 098 341 0866
Email: dongnt@hn.vnn.vn
Trang 2KIẾN TRÚC MÁY TÍNH & HỆ ĐIỀU HÀNH
Chương 4: Quản lý bộ nhớ Chương 5: Quản lý tệp tin và thư mục
Trang 3KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH
Phần 1
KIẾN TRÚC MÁY TÍNH
(Computer Architecture)
31/07/2013 Nguyễn Trung Đồng Computer
Architecture
3
Trang 431/07/2013 Nguyễn Trung Đồng Computer Architecture
4
Tài liệu tham khảo (KTMT)
[ 1 ] Nguyễn Trung Đồng Giáo trình Kiến trúc máy tính –
trang web http://www.tailieu.vn
[ 2 ] Hoàng Xuân Dậu Bài giảng Kiến trúc máy tính
3 Nguyễn Trung Đồng Giáo trình Kỹ thuật Vi xử lý – NXB
KHKT Hà Nội 2010
4 James M Feldman, Charles T Retter Computer
Architecture – MITPress & McGraw Hill, Singapore 1994
5 David Hergert, Nancy Thibeault PC Architecture from
Assembly langueage to C – Prentice-Hall, Inc New Jersey 1997
6 Kai Hwang Advanced Computer Architecture
Parallelism Scalability Programmability – McGraw-Hill International Editions – 1993
Trang 531/07/2013 Nguyễn Trung Đồng Computer Architecture
5
Kiến trúc máy tính nghiên cứu những thuộc tính hệ thống mà người lập trình có thể nhìn thấy được, những thuộc tính quyết định trực tiếp đến việc thực thi một
Cấu trúc và tổ chức máy tính nghiên cứu về các thành phần chức năng và sự kết nối giữa chúng để tạo nên một
thuật của kiến trúc
Kiến trúc và Tổ chức máy tính
Trang 61 Lệnh (Instruction) và
dữ liệu (Data) phải được lưu giữ trong một bộ nhớ ghi/đọc được.
2 Từng ô nhớ trong bộ nhớ phải được định vị bằng địa chỉ Sự định vị bằng địa chỉ là tuần tự và không phụ thuộc vào nội dung của ô nhớ.
3 Chương trình xử lý, giải bài toán phải thực hiện tuần tự từ lệnh này đến lệnh tiếp theo, từ lệnh bắt đầu đến lệnh cuối cùng
Trang 7Kiến trúc
Harward
Kiến trúc máy tính Harvard chia bộ nhớ trong thành hai phần riêng rẽ: 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 được sử dụ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ỗi hệ thống bus đều có đầy đủ ba thành phần để truyền dẫn các tín hiệu địa chỉ, dữ liệu và điều khiển
31/07/2013
7 Nguyễn Trung Đồng Computer Architecture
Trang 831/07/2013 Nguyễn Trung Đồng Computer Architecture
8
Cấu trúc một hệ thống máy tính
Trang 931/07/2013 Nguyễn Trung Đồng Computer Architecture
9
Trang 1031/07/2013 Nguyễn Trung Đồng Computer Architecture
10
Trang 1131/07/2013 Nguyễn Trung Đồng Computer Architecture
11
Trang 1231/07/2013 Nguyễn Trung Đồng Computer Architecture
12
Chức năng của máy tính
Thực hiện chương trình thông qua xử lý một tập lệnh do người lập trình cung cấp Chương trình là tập hợp các lệnh được người lập trình chọn lọc và sắp xếp theo một tuần tự chặt chẽ thông qua nguyên tắc xử lý, giải quyết một vấn đề cụ thể (hay còn gọi là thuật giải)
1 Xử lý dữ liệu: Xử lý các yêu cầu của con người/thiết bị trên cơ sở
các dữ liệu được nhập vào Đây là chức năng quan trọng nhất
2 Lưu trữ dữ liệu: Muốn công việc xử lý dữ liệu đạt hiệu quả cao,
máy tính phải có khả năng lưu trữ tạm thời dữ liệu và lưu trữ dữ liệu dài hạn
3 Di chuyển dữ liệu: Để phục vụ việc xử lý, dữ liệu phải có thể di
chuyển từ điểm này tới điểm khác bên trong máy tính, phải có khả năng trao đổi dữ liệu với môi trường bên ngoài
4 Điều khiển: Các tác vụ máy tính thực hiện phải được điều khiển
…
Trang 1331/07/2013 Nguyễn Trung Đồng Computer Architecture
13
Trang 1431/07/2013 Nguyễn Trung Đồng Computer Architecture
14
Trang 1531/07/2013 Nguyễn Trung Đồng Computer Architecture
15
Trang 1631/07/2013 Nguyễn Trung Đồng Computer Architecture
16
Trang 1731/07/2013 Nguyễn Trung Đồng Computer Architecture
17
Trang 181 16-bit Processors and Segmentation (1978) 16-bit processors, the 8086 and
8088
2 The Intel® 286 Processor (1982) The Intel 286 processor introduced protected mode operation into the IA-32 architecture
3 The Intel® 386™Processor (1985) The Intel386 processor was the first 32-bit
processor in the IA-32 architecture family
4 The Intel® 486™ Processor (1989) The Intel486™processor added more parallel execution capability by expanding the Intel386 processor’s instruction decode and execution units into five pipelined stages
5 The Intel® Pentium® Processor (1993) The introduction of the Intel Pentium
processor added a second execution pipeline to achieve superscalar
performance (two pipelines, known as U and V The on-chip first-level cache
doubled, with 8 KBytes devoted to code and another 8 KBytes devoted to data
6 The P6 Family of Processors (1995-1999) The P6 family of processors was
based on a superscalar microarchitecture that set new performance standards The Intel Pentium Pro processor is three-way superscalar
7 The Intel® Pentium 4 Processor Family (2000-2006) The Pentium 4 processor
family is based on Intel® NetBurst microarchitecture
LỊCH SỬ PHÁT TRIỂN CÁC BỘ XỬ LÝ CỦA HÃNG INTEL ®
(tính riêng với các loại được phát triển thành Máy vi tính)
Không kể chip-slide, µP4004, µP4040, µP8080, µP8085 và Single Chip µComputer
Trang 198 The Intel® Xeon® Processor (2001- 2007) Intel® Xeon processors (with
exception for dual-core Intel® Xeon processor LV, Intel® Xeon processor
5100 series) are based on the Intel® NetBurst microarchitecture; The Intel® Pentium® M Processor (2003-2006) The Intel® Pentium M
processor family is a high performance, low power mobile processor family with microarchitectural enhancements over previous generations
of IA-32 Intel mobile processors
9 The Intel® Pentium® Processor Extreme Edition (2005) The Intel®
Pentium processor Extreme Edition introduced dual-core technology
10 The Intel® Core™Duo and Intel® Core™ Solo Processors (2006-2007) The
Intel® Core Duo processor offers power-efficient, dual-core
performance with a low-power design that extends battery life
11 The Intel® Xeon® Processor 5100, 5300 Series and Intel® Core™2
Processor family (2006) The Intel® Xeon processor 3000, 3200, 5100,
5300, and 7300 series, Intel Pentium Dual-Core, Intel® Core 2 Extreme, Intel® Core 2 Quad processors, and Intel® Core 2 Duo processor family support Intel 64 Architecture
Trang 2012 The Intel® Xeon® Processor 5200, 5400, 7400 Series and Intel® Core™ 2
Processor Family (2007) The Intel® Xeon processor 5200, 5400, and
7400 series, Intel® Core 2 Quad processor Q9000 Series, Intel® Core 2 Duo processor E8000 series support Intel® 64 architecture;
13 The Intel® Atom™ Processor Family (2008) The first generation of
Intel®Atom TM processors are built on 45 nm process technology They are based on a new Microarchitecture, Intel® Atom TM microarchitecture, which is optimized for ultra low power devices The Intel®Atom TM
microarchitecture features two in-order execution pipelines that
minimize power consumption, increase battery life, and enable small form factors
ultra-14 The Intel® Atom™ Processor Family Based on Silvermont
Microarchitecture (2013) Intel Atom Processor C2xxx, E3xxx, S1xxx
series are based on the Silvermont microarchitecture
15 The Intel® Core™ i7 Processor Family (2008).The Intel Core i7 processor
900 series support Intel 64 architecture; they are based on Intel®
microarchitecture code name Nehalem using 45 nm process technology
Trang 2131/07/2013 Nguyễn Trung Đồng Computer Architecture 21
Biểu diễn thông tin trong máy tính
và Các hệ đếm
Bản chất vật lý của thông tin được biểu diễn trong các hệ thống xử lý số thông tin, dữ liệu
Biểu diễn các giá trị “0” và “1” của hệ đếm nhị phân
Biểu diến các giá trị logic “false” và “true”
Các chuấn biểu diễn theo công nghệ vi mạch
Chuyển đổi mức tín hiệu biểu diễn thông tin trong các vi mạch với công nghệ chế tạo khác nhau
Các loại mã thông tin:
• Thông tin không số
• Thông tin dữ liệu số
• Các thông tin mã hoá các chức năng quản lý, điều
khiển
Trang 2231/07/2013 Nguyễn Trung Đồng Computer Architecture
22
Trang 2331/07/2013 Nguyễn Trung Đồng Computer Architecture
23
Biểu diễn dữ liệu số trong máy tính
Biểu diễn dữ liệu là số nguyên có dấu: Giả sử dùng 2 bytes (16
bits) để biểu diễn một số nguyên có dấu, bit cao nhất (MSB – Most SigniFicant Bit) được dùng để đánh dấu Số dương có bit dấu S = “0”, số âm có bit dấu S = “1”
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
S x x x x x x x x x x x x x x x
Dấu phẩy động được dùng rất phổ biến, giá trị thực được thể hiện nhờ việc thêm vào lũy thừa của cơ số đếm Một dữ liệu số theo hệ đếm nhị phân được biểu diễn theo dạng chuẩn tắc như sau:
Trang 2431/07/2013 Nguyễn Trung Đồng Computer Architecture
24
Chuẩn IEEE 754 được dùng rộng rãi trong khoa học máy tính hiện
nay Trong cách biểu diễn này, phần định trị có dạng 1.F với số 1 được ẩn
Trang 2531/07/2013 Nguyễn Trung Đồng Computer Architecture
25
Tham số theo
IEEE 754
Chính xác đơn
Mở rộng chính xác đơn
Chính xác
kép
Mở rộng chính xác
Trang 2631/07/2013 Nguyễn Trung Đồng Computer Architecture
26
các thông tin không số
Có hai loại mã phổ cập nhất được sử dụng là mã ASCII và EBCDIC
Mã ASCII (American Standard Code For InFormation
Interchange) dùng 7 bits để mã hoá các ký tự
Mã EBCDIC (Extended Binary Coded Decimal Interchange
Code) dùng cả 8 bits (1 Byte) để mã hoá thông tin
Loại mã được dùng trong ngành bưu điện, trong các máy teletype
là mã BAUDOT, chỉ sử dụng 5 bits để mã hoá thông tin
Trang 2731/07/2013
27 Nguyễn Trung Đồng Computer Architecture
Trang 2831/07/2013 Nguyễn Trung Đồng Computer Architecture
28
Trang 2931/07/2013
29 Nguyễn Trung Đồng Computer Architecture
Trang 3031/07/2013
30 Nguyễn Trung Đồng Computer Architecture
Trang 3131/07/2013
31 Nguyễn Trung Đồng Computer Architecture
II Bộ xử lý trung tâm và tập lệnh
Trang 3231/07/2013 Nguyễn Trung Đồng Computer Architecture 32
Trang 3331/07/2013 Nguyễn Trung Đồng Computer Architecture
Trang 3431/07/2013 Nguyễn Trung Đồng Computer Architecture
34
Trang 35Kết nối các thành phần chức năng máy tính qua
hệ thống BUS
31/07/2013
35 Nguyễn Trung Đồng Computer Architecture
Trang 3631/07/2013
36 Nguyễn Trung Đồng Computer Architecture
Trang 3731/07/2013 Nguyễn Trung Đồng Computer Architecture 37
Trang 3831/07/2013 Nguyễn Trung Đồng Computer Architecture 38
Trang 3931/07/2013 Nguyễn Trung Đồng Computer Architecture 39
Trang 4031/07/2013
40
Nguyễn Trung Đồng Computer Architecture
Thanh ghi trong CPU
Trang 4131/07/2013 Nguyễn Trung Đồng Computer Architecture 41
Trang 4231/07/2013 Nguyễn Trung Đồng Computer Architecture 42
Trang 4331/07/2013 Nguyễn Trung Đồng Computer Architecture 43
Trang 4431/07/2013 Nguyễn Trung Đồng Computer Architecture 44
Đơn vị điều khiển (CU) và phương thức hoạt
động
Trang 4531/07/2013 Nguyễn Trung Đồng Computer Architecture 45
Trang 4631/07/2013 Nguyễn Trung Đồng Computer Architecture 46
Trang 4731/07/2013 Nguyễn Trung Đồng Computer Architecture 47
Trang 4831/07/2013 Nguyễn Trung Đồng Computer Architecture 48
Trang 4931/07/2013 Nguyễn Trung Đồng Computer Architecture 49
Tổ chức và hệ thống thanh ghi trong CPU
Trang 5031/07/2013 Nguyễn Trung Đồng Computer Architecture 50
Trang 5131/07/2013 Nguyễn Trung Đồng Computer Architecture 51
Trang 5231/07/2013 Nguyễn Trung Đồng Computer Architecture 52
Trang 5331/07/2013 Nguyễn Trung Đồng Computer Architecture 53
Trang 5431/07/2013 Nguyễn Trung Đồng Computer Architecture 54
Trang 5531/07/2013 Nguyễn Trung Đồng Computer Architecture 55
Trang 5606/10/2014 Nguyễn Trung Đồng
Thiết kế Hệ Vi xử lý 56
Trang 5706/10/2014 Nguyễn Trung Đồng
Thiết kế Hệ Vi xử lý 57
Trang 5806/10/2014 Nguyễn Trung Đồng
Thiết kế Hệ Vi xử lý 58
Trang 5931/07/2013 Nguyễn Trung Đồng Computer Architecture 59
Trang 6031/07/2013
60 Nguyễn Trung Đồng Computer Architecture
Trang 6131/07/2013
61 Nguyễn Trung Đồng Computer Architecture
Trang 62Mã lệnh
Kiến trúc & Tổ chức Tập lệnh (Instruction Set)31/07/2013
62
Nguyễn Trung Đồng Computer Architecture
Lệnh (Instruction) là một từ nhị phân (binary word) mã hóa một nhiệm vụ cụ thể mà CPU phải thực thi Các lệnh được lưu trong
bộ nhớ và lần lượt được CPU đọc, giải mã và thực hiện Tập lệnh gồm nhiều lệnh được chia thành một số nhóm theo chức năng: nhóm các lệnh chuyển dữ liệu (data movement), nhóm các lệnh tính toán (computational), nhóm các lệnh điều kiện và rẽ nhánh (conditonal and branching) và một số lệnh chức năng khác Dạng thức lệnh thông thường :
Mã lệnh Địa chỉ toán hạng
Mã lệnh Địa chỉ toán hạng đích Địa chỉ toán hạng nguồn
Toàn bộ chiều dài (thường tính theo đơn vị Byte) của lệnh tạo nên độ dài từ
cho dưới các cách địa chỉ hóa khác nhau (phương thức định vị toán hạng)
Trang 6331/07/2013 Nguyễn Trung Đồng Computer Architecture 63
Trang 6431/07/2013 Nguyễn Trung Đồng Computer Architecture 64
Trang 6531/07/2013 Nguyễn Trung Đồng Computer Architecture 65
Trang 6631/07/2013 Nguyễn Trung Đồng Computer Architecture 66
Certain encodings of the ModR/M byte require a second addressing byte (the SIB byte)
Many instructions that refer to an operand in memory have an
addressing-form specifier byte (called the ModR/M
byte)
Trang 6731/07/2013 Nguyễn Trung Đồng Computer Architecture 67
REX prefixes are instruction-prefix bytes used in 64-bit mode They do the following:
• Specify GPRs and SSE registers
• Specify 64-bit operand size
• Specify extended control registers
Trang 6831/07/2013 Nguyễn Trung Đồng Computer Architecture 68
Trang 6931/07/2013 Nguyễn Trung Đồng Computer Architecture 69
Trang 7031/07/2013 Nguyễn Trung Đồng Computer Architecture 70
Trang 7131/07/2013 Nguyễn Trung Đồng Computer Architecture 71
Trang 7231/07/2013 Nguyễn Trung Đồng Computer Architecture 72
Trang 7331/07/2013 Nguyễn Trung Đồng Computer Architecture 73
Trang 7431/07/2013 Nguyễn Trung Đồng Computer Architecture 74
Trang 7531/07/2013 Nguyễn Trung Đồng Computer Architecture 75
Dạng thức lệnh :
a) opcode addr1, addr2, addr3
Mỗi địa chỉ addr1, addr2, addr3 tham chiếu đến một ô nhớ hoặc một thanh ghi
b) opcode addr1, addr2
Mỗi địa chỉ addr1, addr2 tham chiếu đến một ô nhớ hoặc một thanh ghi
c) opcode addr2
Địa chỉ addr2 tham chiếu đến một ô nhớ hoặc một thanh ghi Thanh ghi tích luỹ Acc được sử dụng với vai trò như addr1 trong toán hạng dạng 2 địa chỉ
d) opcode addr1, addr2
Một địa chỉ tham chiếu đến một ô nhớ và địa chỉ còn lại tham chiếu đến một thanh ghi
e) Toán hạng dạng 0 địa chỉ thường được sử dụng trong
các lệnh thao tác với ngăn xếp: PUSH và POP
Trang 7631/07/2013 Nguyễn Trung Đồng Computer Architecture
76
Các phương thức định vị toán hạng (Mode địa chỉ) Toán hạng dạng 0 địa chỉ
Mode địa chỉ trực tiếp
1 Định vị thanh ghi (register addressing): Toán hạng được
truy xuất là nội dung thanh ghi của CPU
2 Định vị tức thời (immediate addressing): Toán hạng tức
thời là dữ liệu 8 hay 16 bits nằm ngay trong lệnh, có thể dùng làm toán hạng nguồn hay hằng số
Mode định vị gián tiếp
1 Định vị trực tiếp (direct addressing): Toán hạng chứa
địa chỉ là một số nằm ngay trong lệnh
2 Định vị gián tiếp thanh ghi (register indirect): địa chỉ
hiệu dụng EA là nội dung của một trong các thanh ghi
BX, BP, SI hoặc DI