KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH
(Computer Organization and Architecture)
Chương 1 – Tổng quan về kiến trúc máy tính
Nội dung
1. Máy tính và phân loại
2. Sự tiến hóa của máy tính
3. Sơ đồ khối cấu trúc máy tính
Kiến trúc và tổ chức máy tính - Chương 1
2
1.1. Máy tính và phân loại
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
– Xử lý thơng tin theo chương trình được nhớ sẵn bên
trong bộ nhớ
– Đưa thơng tin ra
Chương trình (Program): là dãy các lệnh nằm trong bộ
nhớ để yêu cầu máy tính thực hiện một cơng việc cụ thể
Máy tính khơng tự thực hiện được nếu khơng có
chương trình
Kiến trúc và tổ chức máy tính - Chương 1
3
1.1. Máy tính và phân loại (tt)
Mơ hình cơ bản của máy tính
HƯ thèng vµo
Bé xư lý
HƯ thèng ra
HƯ thèng nhí
Kiến trúc và tổ chức máy tính - Chương 1
4
1.1. Máy tính và phân loại (tt)
Mơ hình phân lớp ca mỏy tớnh
Ngời
dùng
Nhà
lập trình
Các CT
ứng dụng
Nhà thiết
kế HĐH
Các CT tiện ích
Hệ điều hành
Phần cứng máy tính
Kin trỳc v t chc máy tính - Chương 1
5
1.1. Máy tính và phân loại (tt)
Phân loại máy tính theo truyền thống:
–
–
–
–
–
Các vi điều khiển (Microcontroller)
Máy vi tính (Microcomputer)
Máy tính nhỏ (Minicomputer)
Máy tính lớn (Mainframe computer)
Siêu máy tính (Supercomputer)
Phân loại máy tính theo hiện đại
– Máy tính để bàn (Desktop computer)
– Máy chủ (Server)
– Máy tính nhúng (Embedded computer)
Kiến trúc và tổ chức máy tính - Chương 1
6
1.1. Máy tính và phân loại (tt)
Máy tính để bàn (Desktop Computer)
– Được sử dụng cho nhiều mục đích:
• Xử lý văn bản, lướt Web, Multimedia,...
• Tính tốn, lập trình, ...
– Bao gồm:
•
•
•
•
Bộ vi xử lý
Bộ nhớ
Đĩa cứng, CD-ROM/DVD, ...
Desktop
Chuột , bàn phím, màn hình, card mạng, ...
– Đặc điểm:
• Hiệu năng khơng cao lắm, cịn gọi là PC
• Dung lượng vừa phải
• Giá thành: khoảng từ 500$ đến 10.000$
Kiến trúc và tổ chức máy tính - Chương 1
7
1.1. Máy tính và phân loại (tt)
Máy server
– Được sử dụng trong các dịch vụ cao cấp:
• Lưu trữ file
• Tính tốn lớn
• Xử lý tương tác, Web, ...
– Bao gồm:
• Nhiều bộ xử lý
• Nhiều đĩa cứng
• Giao tiếp mạng, ...
– Đặc điểm:
• Hiệu năng cao
• Độ tin cậy lớn
• Giá thành: khoảng từ hàng chục nghìn đến hàng triệu
USD
Kiến trúc và tổ chức máy tính - Chương 1
8
1.1. Máy tính và phân loại (tt)
Máy tính nhúng
– Là một phần của hệ thống lớn:
• Chứa trong các thiết bị gia dụng
• Trong thiết bị mạng, truyền thơng, ...
• Các thiết bị điều khiển tự động, không lưu, ...
– Bao gồm:
• Các bộ vi ĐK; vi xử lý
• Bộ nhớ: RAM, ROM; đĩa
• Vào/ra chun dụng (kể cả tín hiệu analog)
– Đặc điểm:
• Có độ tin cậy và an tồn cao
• Hiệu năng cao (thời gian thực)
• Giá thành: vài chục đến hàng trăm nghìn USD
Kiến trúc và tổ chức máy tính - Chương 1
9
1.2. Sự tiến hóa của máy tính
Thế hệ số 0 - Máy tính cơ khí
– Bảng tính (abacus) của người TQ
– Máy tính của của Pascal chế tạo năm 1642 (thực hiện
được phép + và -)
– Máy tính của Leibniz chế tạo 1670 (thực hiện được 4
phép tính thơng dụng +, -, * và / )
– Máy phân tích (analytical machine) của Charles
Babbage chế tạo khoảng năm 1820 – Có kiến trúc gồm
3 phần giống máy hiện đại
Kiến trúc và tổ chức máy tính - Chương 1
10
1.2. Sự tiến hóa của máy tính(tt)
Thế hệ thứ nhất (1946 - 1957): MT dùng đèn điện tử
chân không
Thế hệ thứ hai (1958 - 1964): MT dùng transistor
Thế hệ thứ ba (1965 - 1974): MT dùng vi mạch cỡ
nhỏ (SSI) và vừa (MSI)
– Cỡ nhỏ: dưới 100 thiết bị / chip
– Cỡ vừa: 100 - 3000 thiết bị / chip
Thế hệ thứ tư (1974 - nay): MT dùng vi mạch cỡ lớn
(LSI) và cực lớn (VLSI)
– Cỡ lớn: 3000 - 100.000 thiết bị / chip
– Cỡ cực lớn: 100.000 - 100.000.000 thiết bị / chip
Kiến trúc và tổ chức máy tính - Chương 1
11
1.2. Sự tiến hóa của máy tính(tt)
ENIAC - 1940s
IBM 360 - 1960s
(Vacuum Tubes)
(Transistors)
12
Kiến trúc và tổ chức máy tính - Chương 1
1.2. Sự tiến hóa của máy tính(tt)
DEC VAX 11/780 - 1970s
(Discrete IC’s)
Apple II Computer
Kiến trúc và tổ chức máy tính - Chương 1
13
1.2. Sự tiến hóa của máy tính(tt)
Original IBM PC
Kiến trúc và tổ chức máy tính - Chương 1
14
1.2. Sự tiến hóa của máy tính(tt)
ENIAC: Electronic Nummerical Integrator And
Computer
–
–
–
–
John Presper Eckert và John Mauchly thiết kế
Trường Đại học Pennsylvania (Mỹ)
Dự án của Bộ quốc phòng Mỹ
Bắt đầu chế tạo năm 1943, hoàn thành năm 1946
Đặc điểm:
–
–
–
–
Dùng số thập phân (không phải nhị phân)
20 thanh ghi, mỗi thanh 10 bit
Lập trình bằng tay nhờ các chuyển mạch
Gồm 18.000 đèn điện tử chân không, Nặng ~30 tấn,
Chiếm 15.000 feet vuông, Công suất tiêu thụ: 140kW/h
– Khả năng: 5000 phép cộng/giây
Kiến trúc và tổ chức máy tính - Chương 1
15
1.2. Sự tiến hóa của máy tính(tt)
Máy tính Von Newmann
– Khái niệm CT được lưu trữ (stored-program
concept) do Jonh von Newmann đưa ra
– Bộ nhớ chính (BNC) chứa chương trình và dữ liệu
– ALU hoạt động trên dữ liệu nhị phân
– KĐK giải mã các lệnh từ bộ nhớ và thực hiện
chúng tuần tự
– Thiết bị vào/ra hoạt động do KĐK điều khiển
– Xây dựng từ 1947 đến 1952
Kiến trúc và tổ chức máy tính - Chương 1
16
1.2. Sự tiến hóa của máy tính(tt)
Cấu trúc máy tính Von Newmann
Kiến trúc và tổ chức máy tính - Chương 1
17
1.2. Sự tiến hóa của máy tính(tt)
Máy tính dùng Transistor
– Máy
tính
PDP-1
của
DEC
(Digital
Equipment
Corporation) máy tính mini đầu tiên
– IBM 7000
– Tốc độ tính tốn được đẩy lên hàng trăm nghìn phép
cộng trong/giây
– Xuất hiện các ngơn ngữ lập trình bậc cao
Kiến trúc và tổ chức máy tính - Chương 1
18
1.2. Sự tiến hóa của máy tính(tt)
Máy tính dùng vi mạch (IC – Integrated Circuit)
– Vi mạch: nhiều transistor và linh kiện điện tử được tích hợp trên 1
chip
– Siêu máy tính xuất hiện như: CRAY-1
– Bộ vi xử lý (microprocessor), CPU được chế tạo trên một chip ra đời
(1971)
Định luật Moore Do Gorden Moore, người đồng sáng lập Intel và
hiện là chủ tịch danh dự của Intel tiên đoán vào năm 1965
– Số lượng transistor tăng gấp đôi sau mỗi 12 tháng (Nhưng từ 1970,
chậm hơn: sau mỗi 18 tháng)
– Giá thành của chip hầu như không thay đổi
– Mật độ cao hơn ⇒ đường dẫn điện ngắn hơn, dẫn đến hiệu năng cao
hơn
– Kích thước nhỏ ⇒ độ phức tạp tăng lên
– Công suất tiêu thụ nhỏ hơn và phải làm mát
– ít chip liên kết với nhau, do đó tăng độ tin cậy
Kiến trúc và tổ chức máy tính - Chương 1
19
1.2. Sự tiến hóa của máy tính(tt)
Máy tính dùng vi mạch VLSI
– CPU được chế tạo trên một chip
– Các vi mạch điều khiển tổng hợp (chipset): thực hiện
được nhiều chức năng điều khiển và nối ghép
– Bộ nhớ bán dẫn: ROM, RAM
– Các bộ vi điều khiển (microcontroller): máy tính chuyên
dụng được chế tạo trên một chip → dùng cho máy tính
nhúng.
Kiến trúc và tổ chức máy tính - Chương 1
20
1.3. Sơ đồ khối cấu trúc máy tính
Máy tính
Các thiết bị ngoại vi
Bộ nhớ
Bộ xử lý
M¸y tÝnh
Các đường truyền thơng
Bus liên kết
hệ thống
Hệ thống
vào/ra
Kiến trúc và tổ chức máy tính - Chương 1
21
1.3. Sơ đồ khối cấu trúc máy tính (tt)
Các thành phần cơ bản của MT
– Bộ xử lý (processor): điều khiển hoạt động
của máy tính, xử lý dữ liệu.
– Hệ thống nhớ (memory system): chứa các
chương trình và dữ liệu đang xử lý.
– Hệ thống vào ra (input/output system): trao
đổi thơng tin giữa máy tính với bên ngồi.
– Bus liên kết hệ thống (system
interconnection bus): kết nối và vận chuyển
thông tin giữa ba thành phần trên.
Kiến trúc và tổ chức máy tính - Chương 1
22
1.3. Sơ đồ khối cấu trúc máy tính (tt)
Bộ xử lý
– Chức năng:
• Điều khiển hoạt động của máy tính
• Xử lý dữ liệu
– Nguyên tắc hoạt động cơ bản: BXL hoạt
động theo chương trình nằm sẵn trong bộ
nhớ, gồm 2 bước cơ bản:
• Nhận lệnh từ bộ nhớ
• Giải mã và thực hiện lệnh
– Bộ vi xử lý (microprocessor): là bộ xử lý
được chế tạo trên một chip.
Kiến trúc và tổ chức máy tính - Chương 1
23
1.3. Sơ đồ khối cấu trúc máy tính (tt)
Bộ xử lý
Bộ xử lý
Khối
điều khiển
ALU
Bus bên
trong
Các
thanh
ghi
Kiến trúc và tổ chức máy tính - Chương 1
24
1.3. Sơ đồ khối cấu trúc máy tính (tt)
Các thành phần cơ bản của BXL
– Khối điều khiển: (Control Unit): điều khiển hoạt động
của BXL ⇒ điều khiển hoạt động của máy tính
– Khối số học và logic (Arithmetic - Logic Unit): thực
hiện các phép toán số học và các phép toán logic
– Tập thanh ghi (Registers Sets): lưu giữ các thơng tin
tạm thời trong q trình hoạt động của máy tính
Kiến trúc và tổ chức máy tính - Chương 1
25
1.3. Sơ đồ khối cấu trúc máy tính (tt)
Tốc độ của Bộ xử lý
– Là số lệnh thực hiện được trong 1 giây: MIPS (Millions
of Instructions Per Second)
– Trên thực tế thường được đánh giá gián tiếp thông qua
tần số xung đồng hồ (nhịp, clock) cung cấp cho BXL
làm việc.
Kiến trúc và tổ chức máy tính - Chương 1
26
1.3. Sơ đồ khối cấu trúc máy tính (tt)
Hệ thống 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ớ ngồi (External Memory)
Kiến trúc và tổ chức máy tính - Chương 1
27
Bộ nhớ trong
Chức năng và đặc điểm:
– Chứa các thông tin mà máy tính đang xử lý
– Tốc độ nhanh
– Dung lượng không lớn
– Sử dụng bộ nhớ bán dẫn: ROM, RAM
Các kiểu bộ nhớ trong:
– Bộ nhớ chính
– Bộ nhớ cache
Kiến trúc và tổ chức máy tính - Chương 1
28
Bộ nhớ trong (tt)
Bộ nhớ chính:
– Chứa các chương trình và dữ liệu đang được BXL trao
đổi
– 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
– Địa chỉ vật lý của ngăn nhớ là cố định, nội dung có thể
thay đổi.
Kiến trúc và tổ chức máy tính - Chương 1
29
Bộ nhớ trong (tt)
Bộ nhớ cache:
– Bộ nhớ có tốc độ nhanh, được đặt giữa BXL và Bộ nhớ
chính
– Có dung lượng nhỏ hơn Bộ nhớ chính
– Tốc độ nhanh hơn
– Hiện nay cache thường được chia thành nhiều mức
(level) và được tích hợp trên BXL
30
Kiến trúc và tổ chức máy tính - Chương 1
Bộ nhớ ngoài
Chức năng và đặc điểm:
– Lưu giữ các chương trình và dữ liệu dưới dạng thư
viện
– Bộ nhớ ngoài được kết nối với hệ thống dưới dạng
thiết bị vào/ra
– Dung lượng lớn
– Tốc độ chậm
Các loại bộ nhớ ngoài:
– Bộ nhớ từ: đĩa cứng, đĩa mềm
– Bộ nhớ quang: CD, DVD, ...
– Bộ nhớ bán dẫn: Flash disk
Kiến trúc và tổ chức máy tính - Chương 1
31
1.3. Sơ đồ khối cấu trúc máy tính (tt)
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 ngồ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ị ngoại vi (Peripherals)
• Các modul vào/ra (IO Modules)
Kiến trúc và tổ chức máy tính - Chương 1
32
Cấu trúc cơ bản của hệ thống vào/ra
Nối ghép với
bus hệ thống
Modul
IO
Cổng
IO
TBNV
Cổng
IO
TBNV
.
.
.
.
.
.
Cổng
IO
TBNV
Kiến trúc và tổ chức máy tính - Chương 1
33
Các thiết bị ngoại vi
Chức năng: chuyển đổi dữ liệu giữa bên trong và
bên ngồ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ị vào và ra: các ổ đĩa, ...
– Thiết bị truyền thông: MODEM, ...
Kiến trúc và tổ chức máy tính - Chương 1
34
Modul vào/ra
Chức năng: nối ghép các thiết bị ngoại vi với máy
tính
Cổng vào/ra: trong mỗi modul vào/ra có một số cổng
vào/ra. Mỗi cổng vào/ra cũng được đánh một địa chỉ
xác định
Thiết bị ngoại vi được kết nối và trao đổi dữ liệu với
máy tính thơng qua cổng vào/ra
Kiến trúc và tổ chức máy tính - Chương 1
35
Bus liên kết hệ thống
Khái niệm bus:
– Bus: tập hợp các đường kết nối dùng để vận chuyển
thông tin giữa các thành phần của máy tính
– Độ rộng bus: là số đường dây của bus có thể truyền
các bit thơng tin đồng thời. Khái niệm này chỉ dùng cho
bus địa chỉ và bus dữ liệu
Kiến trúc và tổ chức máy tính - Chương 1
36
Phân loại bus
Phân loại cấu trúc bus
– Cấu trúc đơn bus
– Cấu trúc đa bus
Phân loại bus chức năng:
– Bus địa chỉ
– Bus dữ liệu
– Bus điều khiển
Kiến trúc và tổ chức máy tính - Chương 1
37
Sơ đồ kết nối bus
Kiến trúc và tổ chức máy tính - Chương 1
38
Bus địa chỉ (address bus)
Chức năng: vận chuyển địa chỉ của ngăn nhớ hay cổng vào/ra từ
nguồn đến đích
Độ rộng bus địa chỉ: xác định dung lượng bộ nhớ cực đại của
hệ thống
Nếu độ rộng bus địa chỉ là N bit:
A0 , A1 , ... , AN-1
⇒ không gian địa chỉ là: 2N byte
Ví dụ:
– Bộ xử lý Intel Pentium có bus địa chỉ là 32 bit ⇒ khơng gian
địa chỉ là:
232 byte = 4 GB
Kiến trúc và tổ chức máy tính - Chương 1
39
Bus dữ liệu (data bus)
Chức năng:
– Vận chuyển lệnh từ bộ nhớ đến BXL
– Vận chuyển dữ liệu giữa BXL, hệ thống nhớ, hệ thống
vào/ra với nhau
Độ rộng bus dữ liệu: xác định số bit dữ liệu có thể
trao đổi cùng một lúc.
– Độ rộng M bit: D0 , D1 , ... ,DM-1
– M thường là 8, 16, 32, 64 bit
Kiến trúc và tổ chức máy tính - Chương 1
40
Bus điều khiển (control bus)
Chức năng: vận chuyển các tín hiệu điều khiển
Các loại tín hiệu điều khiển:
– Các tín hiệu điều khiển phát ra từ BXL để điều khiển hệ
thống nhớ, hệ thống vào/ra hoạt động
– Các tín hiệu yêu cầu, trạng thái từ hệ thống nhớ, hệ
thống vào/ra đến BXL
Kiến trúc và tổ chức máy tính - Chương 1
41
Một số tín hiệu điều khiển điển hình
Các tín hiệu điều khiển đọc/ghi:
– Memory Read (MEMR): điều khiển đọc lệnh/dữ
liệu từ một ngăn nhớ có địa chỉ xác định
– Memory Write (MEMW): điều khiển ghi dữ liệu tới
một ngăn nhớ có địa chỉ xác định
– I/O Read (IOR): điều khiển đọc dữ liệu từ một cổng
vào/ra có địa chỉ xác định
– I/O Write (IOW): điều khiển ghi dữ liệu đến một
cổng vào/ra có địa chỉ xác định
Kiến trúc và tổ chức máy tính - Chương 1
42
Một số tín hiệu điều khiển điển hình (tt)
Các tín hiệu điều khiển ngắt:
– Interrupt Request (INTR): tín hiệu từ mạch điều
khiển vào ra gửi đến BXL yêu cầu ngắt (ngắt chắn
được)
– Interrupt Acknowledge (INTA): tín hiệu từ BXL gửi
ra ngồi báo chấp nhận ngắt
– Non Maskable Inerrupt (NMI): tín hiệu ngắt gửi đến
BXL (ngắt khơng chắn được)
– Reset: tín hiệu từ bên ngồi khởi động lại máy tính
Kiến trúc và tổ chức máy tính - Chương 1
43
Một số tín hiệu điều khiển điển hình (tt)
Các tín hiệu điều khiển bus:
– Bus Request (BRQ)/Hold: tín hiệu từ mạch điều khiển
vào/ra gửi đến yêu cầu BXL nhường quyền điều khiển
bus
– Bus Grant (BGT)/Hold Acknowledge (HLDA) : tín hiệu
phát ra từ BXL chấp nhận nhường quyền điều khiển
bus
Kiến trúc và tổ chức máy tính - Chương 1
44
Cấu trúc đơn bus
Chỉ phục vụ được một yêu cầu trao đổi dữ liệu tại một
thời điểm
Bus phải có tốc độ bằng tốc độ của modul nhanh nhất
trong hệ thống
Bus phụ thuộc vào cấu trúc bus của BXL ⇒ các
modul nhớ và modul vào/ra cũng phụ thuộc vào BXL
Kiến trúc và tổ chức máy tính - Chương 1
45
Cấu trúc đa bus
Có sự phân cấp cho các thành phần:
– Bus của BXL
– Bus của bộ nhớ
– Bus vào/ra
Phân cấp bus khác nhau về tốc độ
– Các bus cho modul nhớ và modul vào/ra không phụ
thuộc vào BXL cụ thể
Kiến trúc và tổ chức máy tính - Chương 1
46
Phân cấp bus trong máy tính PC
Bus của BXL: có tốc độ nhanh nhất
Bus của BNC: nối ghép với các modul RAM
Bus AGP (Accelerated Graphic Port): bus đồ họa
tăng tốc - nối ghép card màn hình tăng tốc
Bus PCI (Peripheral Component Interconnect): nối
ghép với các TBNV có tốc độ trao đổi dữ liệu nhanh
USB (Universal Serial Bus): bus nối tiếp đa năng
Kiến trúc và tổ chức máy tính - Chương 1
47
Ví dụ: bus truyền thống
Kiến trúc và tổ chức máy tính - Chương 1
48
Ví dụ: bus hiệu năng cao
Kiến trúc và tổ chức máy tính - Chương 1
49