Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.53 Chương 3: Biểu diễn dữ liệu và số học máy tính. Chuyển đổi các thừa số thành số dương 2[r]
(1)Chương 1
GIỚI THIỆU CHUNG
Phạm Quang Dũng
Bộ mơn Khoa học máy tính - Khoa CNTT Trường Đại học Nông nghiệp I – Hà Nội website: www.hau1.edu.vn/it/pqdung ĐT: (04) 8766318 DĐ: 0988.149.189
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.2
Chương 1: Giới thiệu chung
Nội dung chương 1
1.1 Máy tính phân loại 1.2 Kiến trúc máy tính 1.3 Sự tiến hố máy tính
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.3
Chương 1: Giới thiệu chung
1.1 Máy tính phân loại
1 Máy tính
Máy tính (Computer) thiết bị điện tử thực
các công việc sau:
Nhận thông tin vào,
Xử lý thông tin theo dãy lệnh nhớ sẵn bên
trong,
Đưa thông tin
Dãy lệnh nằm nhớ để yêu cầu máy
tính thực cơng việc cụ thể gọi chương trình (program)
Ỉ Máy tính hoạt động theo chương trình
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.4
Chương 1: Giới thiệu chung
(2)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.5
Chương 1: Giới thiệu chung
Mơ hình phân lớp máy tính
Phần cứng: hệ thống vật lý máy tính Phần mềm: chương trình liệu
Người sử dụng
(End User) Người lập trình (Programmer)
Người thiết kế HĐH (OS Designer) Các chương trình ứng dụng
(Application Programs) Các phần mềm trung gian (Utilities)
Hệ điều hành (Operating System)
Phần cứng (Computer Hardware)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.6
Chương 1: Giới thiệu chung
2 Phân loại máy tính
Phân loại truyền thống: 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ạm Quang Dũng Bài giảng Kiến trúc máy tính 1.7
Chương 1: Giới thiệu chung
Phân loại máy tính đại
Máy tính để bàn (Desktop Computers)
Máy chủ (Servers)
Máy tính nhúng (Embedded Computers)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.8
Chương 1: Giới thiệu chung
Máy tính để bàn (Desktop)
Là loại máy tính phổ biến Các loại máy tính để bàn
Máy tính cá nhân (Personal Computer – PC) Máy tính trạm làm việc (Workstation Computer)
1981 Ỉ IBM giới thiệu máy tính IBM-PC sử
dụng xử lý Intel 8088
1984 Ỉ Apple đưa máy tính Macintosh sử
dụng xử lý Motorola 68000
(3)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.9
Chương 1: Giới thiệu chung
Máy chủ (Server)
Thực chất máy phục vụ
Dùng mạng theo mơ hình
Client/Server (Khách hàng/Người phục vụ)
Tốc độ hiệu tính tốn cao
Dung lượng nhớ lớn
Độ tin cậy cao
Giá thành: hàng chục nghìn đến hàng chục
triệu USD
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.10
Chương 1: Giới thiệu chung
Máy tính nhúng (Embedded Computer)
Được đặt thiết bị khác để điều khiển thiết
bị làm việc
Được thiết kế chuyên dụng
Ví dụ:
Điện thoại di động
Bộ điều khiển máy giặt, điều hoà nhiệt
độ
Router - định tuyến mạng
Giá thành: Vài USD đến hàng trăm nghìn USD
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.11
Chương 1: Giới thiệu chung
1.2 Kiến trúc máy tính
Kiến trúc máy tính bao gồm hai khía cạnh:
Kiến trúc tập lệnh (Intruction Set Architecture): nghiên cứu
máy tính theo cách nhìn người lập trình
Tổ chức máy tính (Computer Organization): nghiên cứu cấu
trúc phần cứng máy tính
Ỉ Kiến trúc tập lệnh thay đổi chậm, tổ chức máy tính thay đổi
rất nhanh
Ví dụ: Các máy tính PC dùng xử lý Intel 32-bit từ 80386 đến Pentium 4:
Cùng chung kiến trúc tập lệnh (IA-32) Có tổ chức khác
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.12
Chương 1: Giới thiệu chung
Kiến trúc tập lệnh
Kiến trúc tập lệnh máy tính bao gồm:
Tập lệnh: tập hợp chuỗi số nhị phân mã
hoá cho thao tác mà máy tính thực
Các kiểu liệu: kiểu liệu mà máy tính
(4)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.13
Chương 1: Giới thiệu chung
Cấu trúc máy tính
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.14
Chương 1: Giới thiệu chung
Các thành phần máy tính
Bộ xử lý trung tâm (Central Processing Unit):
Điều khiển hoạt động máy tính xử lý liệu
Bộ nhớ (Main Memory): Chứa chương
trình liệu sử dụng
Hệ thống vào (Input/Output System): Trao
đổi thông tin máy tính với bên ngồi
Liên kết hệ thống (System Interconnection):
Kết nối vận chuyển thông tin thành phần với
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.15
Chương 1: Giới thiệu chung
1.3 Sự tiến hoá máy tính
Thế hệ thứ nhất: Máy tính dùng đèn điện tử
chân không (1943-1956)
Thế hệ thứ hai: Máy tính dùng transistor
(1957-1965)
Thế hệ thứ ba: Máy tính dùng vi mạch SSI,
MSI LSI (1966-1980)
Thế hệ thứ tư: Máy tính dùng vi mạch VLSI,
SLSI (1981-nay)
http://www.computerhistory.org/timeline/timeline.php
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.16
Chương 1: Giới thiệu chung
1 Máy tính dùng đèn điện tử
ENIAC - Máy tính điện tử đầu tiên
Electronic Numerical Intergator And Computer Dự án Bộ Quốc phòng Mỹ
Do John Mauchly John Presper Eckert Đại
học Pennsylvania thiết kế
(5)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.17
Chương 1: Giới thiệu chung
ENIAC (tiếp)
Nặng 30
Kích thước 140 m2
18000 đèn điện tử 1500 rơle
5000 phép cộng/giây
Xử lý theo số thập phân Bộ nhớ lưu trữ liệu
Lập trình cách thiết lập vị trí
chuyển mạch cáp nối
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.18
Chương 1: Giới thiệu chung
ENIAC (tiếp)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.19
Chương 1: Giới thiệu chung
ENIAC (tiếp)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.20
Chương 1: Giới thiệu chung
Máy tính von Neumann
Cịn gọi máy tính IAS:
Princeton Institute for Advanced Studies Được 1947, hoàn thành 1952 Do John von Neumann thiết kế
Được xây dựng theo ý tưởng “chương trình
(6)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.21
Chương 1: Giới thiệu chung
Đặc điểm máy tính IAS Bao gồm thành phần: đơn vị điều khiển, đơn vị số
học logic (ALU), nhớ thiết bị vào
Bộ nhớ chứa chương trình liệu
Bộ nhớ đánh địa theo ngăn nhớ,
không phụ thuộc vào nội dung
ALU thực phép toán với số nhị phân
Đơn vị điều khiển nhận lệnh từ nhớ, giải mã thực
hiện lệnh cách
Đơn vị điều khiển điều khiển hoạt động thiết bị
vào-ra
Trở thành mơ hình máy tính
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.22
Chương 1: Giới thiệu chung
John von Neumann máy tính IAS
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.23
Chương 1: Giới thiệu chung
Các máy tính thương mại đời
1947 - Eckert-Mauchly Computer Corporation
UNIVAC I (Universal Automatic Computer)
1950s - UNIVAC II
Nhanh Bộ nhớ lớn
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.24
Chương 1: Giới thiệu chung
(7)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.25
Chương 1: Giới thiệu chung
UNIVAC
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.26
Chương 1: Giới thiệu chung
Hãng IBM
IBM – International Business Machine
1952 – IBM 701
Máy tính lưu trữ chương trình IBM Sử dụng cho tính tốn khoa học
1955 – IBM 702
Các ứng dụng thương mại
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.27
Chương 1: Giới thiệu chung
IBM 701 (1952) IBM 702 (1955)
IBM 701
IBM 702
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.28
Chương 1: Giới thiệu chung
2 Máy tính dùng transistor
Máy tính PDP-1 DEC (Digital Equipment
Corporation) máy tính mini đầu tiên
IBM 7000
Hàng trăm nghìn phép cộng giây
(8)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.29
Chương 1: Giới thiệu chung
DEC's PDP-1 (1960)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.30
Chương 1: Giới thiệu chung
IBM 7030 (1961)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.31
Chương 1: Giới thiệu chung
3 Máy tính dùng vi mạch SSI, MSI LSI
Vi mạch (Integrated Circuit – IC): nhiều transistor
và phần tử khác tích hợp chip bán dẫn
SSI (Small Scale Integratinon) MSI (Medium Scale Integration) LSI (Large Scale Integration)
VLSI (Very Large Scale Integration) (dùng cho máy
tính hệ thứ tư)
Siêu máy tính xuất hiện: CRAY-1, VAX Bộ vi xử lý (microprocessor) đời
Bộ xử lý Ỉ Intel 4004 (1971)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.32
Chương 1: Giới thiệu chung
Luật Moore
Gordon Moore - người đồng sáng lập Intel Số transistors chip gấp đôi sau 18 tháng Giá thành chip không thay đổi Mật độ cao hơn, đường dẫn ngắn Kích thước nhỏ dẫn tới độ phức tạp tăng lên Điện tiêu thụ
Hệ thống có chip liên kết với nhau,
(9)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.33
Chương 1: Giới thiệu chung
Tăng trưởng số transitor chip CPU
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.34
Chương 1: Giới thiệu chung
IBM 360 Family (1964-1968)
Có từ model 20 minicomputer (bộ nhớ 24 KB)
đến model 91 supercomputer xây dựng cho hệ thống phòng thủ tên lửa Bắc Mỹ
http://www.beagle-ears.com/lars/engineer/comphist/ibm360.htm
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.35
Chương 1: Giới thiệu chung
IBM 360/40
Dùng HĐH DOS/360
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.36
Chương 1: Giới thiệu chung
IBM 360/67
Time sharing
system
Phần cứng hỗ trợ
virtual memory
Dùng HĐH CP-67
(10)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.37
Chương 1: Giới thiệu chung
IBM 360/91
Được thiết kế để xử lý liệu tốc độ cao cho ứng dụng khoa học
như khám phá không gian, vật lý nguyên tử, dự báo thời tiết toàn cầu
16.6 triệu phép cộng/giây → 1000 toán với 200 tỷ phép tính/ngày 2-6 MB main memory, CPU có đơn vị xử lý đồng thời
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.38
Chương 1: Giới thiệu chung
PDP-11 (1972)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.39
Chương 1: Giới thiệu chung
Siêu máy tính CRAY-1 (1976)
Saymour Cray
HĐH Cray Operating System (COS), 100-160 triệu phép tính
dấu chấm động/giây (megaflops) Xử lý liệu vector MB main memory
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.40
Chương 1: Giới thiệu chung
(11)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.41
Chương 1: Giới thiệu chung
VAX 11/780 (1978) - máy tính 32-bit
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.42
Chương 1: Giới thiệu chung
Osborne (1980) - máy tính khả chuyển
Máy tính "có thể di chuyển" đầu tiên, kích thước
nhỏ, nặng 24 pound (10,9 kg)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.43
Chương 1: Giới thiệu chung
4 Máy tính dùng vi mạch VLSI
Các sản phẩm công nghệ VLSI:
Bộ vi xử lý (Microprocessor): CPU chế tạo
một chip
Vi mạch điều khiển tổng hợp (chipset):
một vài vi mạch thực nhiều chức điều khiển nối ghép
Bộ nhớ bán dẫn (Semiconductor Memory): ROM,
RAM
Các vi điều khiển (Microcontroller): máy tính
chuyên dụng chế tạo chip
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.44
Chương 1: Giới thiệu chung
Các hệ thống máy tính đại
Máy tính nhúng
Máy tính cá nhân (PC)
Máy trạm làm việc
Máy chủ (Servers)
Mạng máy tính
(12)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.45
Chương 1: Giới thiệu chung
Một số Hệ thống Máy tính nhúng
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.46
Chương 1: Giới thiệu chung
Siêu máy tính Earth Simulator NEC (2002)
Earth Simulator Cơ quan Khoa học Công nghệ biển Nhật Bản (JAMSTEC), Yokohama, Japan
5200 processor 35860-40960 GFlops
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.47
Chương 1: Giới thiệu chung
Siêu máy tính ASC Purple IBM (2005)
ASC Purple at Lawrence Livermore National Laboratory
10240 processor 40960 GB main
memory
63390-77824 GFlops
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.48
Chương 1: Giới thiệu chung
Siêu máy tính BlueGene L IBM (2005)
(13)Chương 2
HỆ THỐNG MÁY TÍNH
Phạm Quang Dũng
Bộ mơn Khoa học máy tính - Khoa CNTT Trường Đại học Nông nghiệp I – Hà Nội website: www.hau1.edu.vn/it/pqdung ĐT: (04) 8766318 DĐ: 0988.149.189
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.2 Chương 2: Hệ thống máy tính
Nội dung chương 2
2.1 Các thành phần máy tính 2.2 Hoạt động máy tính 2.3 Liên kết hệ thống
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.3 Chương 2: Hệ thống máy tính
2.1 Các thành phần máy tính
Bộ xử lý trung tâm (Central Processing Unit)
Bộ nhớ (Memory)
Hệ thống vào (Input/Output System) Liên kết hệ thống (System Interconnection)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.4 Chương 2: Hệ thống máy tính
1 Bộ xử lý trung tâm (CPU)
Chức
điều khiển hoạt động máy tính
xử lý liệu
Nguyên tắc hoạt động bản:
(14)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.5 Chương 2: Hệ thống máy tính
Cấu trúc CPU
Đơn vị điều khiển
(CU)
Đơn vị số học logic
(ALU)
Tập ghi
(RF)
Đơn vị phối ghép bus (BIU)
bus điều khiển bus liệu bus địa bus bên
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.6 Chương 2: Hệ thống máy tính
Các thành phần CPU
Đơn vị điều khiển (Control Unit – CU): điều khiển hoạt
động máy tính theo chương trình định sẵn
Đơn vị số học logic (Arithmetic and Logic Unit –
ALU): thực phép toán số học phép toán logic liệu cụ thể
Tập ghi (Register File - RF): lưu giữ thông tin
tạm thời phục vụ cho hoạt động CPU
Đơn vị nối ghép bus (Bus interface Unit - BIU): kết nối
và trao đổi thông tin bus bên (internal bus) bus bên (external bus)
Chương 2: Hệ thống máy tính
Tốc độ xử lý
Tốc độ xử lý:
Tính số lệnh thực giây MIPS (Millions of Instructions per Second)
Khó đánh giá xác
Tần số xung nhịp xử lý:
Bộ xử lý hoạt động theo xung nhịp (Clock)
có tần số xác định
Tốc độ xử lý đánh giá gián tiếp
thông qua tần số xung nhịp
Chương 2: Hệ thống máy tính
Tốc độ xử lý (tiếp)
Dạng xung nhịp:
T0- chu kỳ xung nhịp Tần số xung nhịp: f0= 1/T0 Mỗi thao tác xử lý cần kT0
T0càng nhỏ Ỉ xử lý chạy nhanh
Ví dụ: Máy tính dùng xử lý Pentium IV 2GHz
Ta có f0= GHz = 2x109Hz
(15)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.9 Chương 2: Hệ thống máy tính
2 Bộ nhớ máy tính (Memory)
Chức năng: lưu trữ chương trình liệu Các thao tác với nhớ:
Đọc (Read)
Ghi (Write)
Các thành phần chính:
Bộ nhớ (Internal Memory)
Bộ nhớ (External Memory)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.10 Chương 2: Hệ thống máy tính
Các thành phần nhớ máy tính
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.11 Chương 2: Hệ thống máy tính
Bộ nhớ (Internal memory)
Chức đặc điểm:
Chứa thơng tin mà CPU trao đổi trực
tiếp
Tốc độ nhanh
Dung lượng không lớn
Sử dụng nhớ bán dẫn: ROM, RAM
Các loại nhớ trong:
Bộ nhớ
Bộ nhớ cache (bộ nhớ đệm nhanh)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.12 Chương 2: Hệ thống máy tính
Bộ nhớ (Main memory)
Chứa chương trình
liệu CPU sử dụng
Tổ chức thành ngăn nhớ
được đánh địa
Ngăn nhớ thường tổ chức
theo byte
Nội dung ngăn nhớ
thay đổi, song địa vật lý ngăn nhớ cố định
00101011 11010101 00001010 01011000 11111011
(16)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.13 Chương 2: Hệ thống máy tính
Bộ nhớ đệm nhanh (Cache memory)
Bộ nhớ có tốc độ nhanh đặt đệm
CPU nhớ nhằm tăng tốc độ CPU truy nhập nhớ
Dung lượng nhỏ nhớ Tốc độ nhanh
Cache thường chia thành số mức Cache tích hợp chip vi xử lý Cache có không
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.14 Chương 2: Hệ thống máy tính
Bộ nhớ (External memory)
Chức đặc điểm:
Lưu giữ tài nguyên phần mềm máy tính
Được kết nối với hệ thống dạng thiết bị
vào-ra
Dung lượng lớn
Tốc độ chậm
Các loại 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
Chương 2: Hệ thống máy tính
3 Hệ thống vào-ra (Input/Output System)
Chức năng: trao đổi thơng tin máy tính
với giới bên
Các thao tác bản: Vào liệu (Input) Ra liệu (Output) Các thành phần chính:
Các thiết bị ngoại vi (Peripheral Devices)
Các môđun vào-ra (IO Modules)
Chương 2: Hệ thống máy tính
Cấu trúc hệ thống vào-ra
Cổng
vào-ra Cổng
vào-ra
Cổng
vào-ra
Thiết bị ngoại vi
Thiết bị ngoại vi
Thiết bị ngoại vi
Môđun vào-ra Nối ghép với
(17)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.17 Chương 2: Hệ thống máy tính
Các thiết bị ngoại vi
Chức năng: chuyển đổi liệu bên
và bên ngồi máy tính
Các loại thiết bị ngoại vi (TBNV) bản: Thiết bị vào: bàn phím, chuột, máy quét … Thiết bị ra: hình, máy in …
Thiết bị nhớ: ổ đĩa …
Thiết bị truyền thông: MODEM …
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.18 Chương 2: Hệ thống máy tính
Mơđun vào-ra
Chức năng: nối ghép TBNV với máy tính Mỗi mơđun vào-ra có một vài cổng
vào-ra (I/O Port)
Mỗi cổng vào-ra đánh địa xác
định
Các TBNV kết nối trao đổi liệu với
máy tính thơng qua cổng vào-ra
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.19 Chương 2: Hệ thống máy tính
2.2 Hoạt động máy tính
1 Thực chương trình
Là hoạt động máy tính Máy tính lặp lặp lại hai bước:
Nhận lệnh
Thực lệnh
Thực chương trình bị dừng thực
lệnh bị lỗi gặp lệnh dừng
} chu trình lệnh
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.20 Chương 2: Hệ thống máy tính
Chu trình lệnh
Bắt đầu
Nhận lệnh
Thực lệnh
(18)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.21 Chương 2: Hệ thống máy tính
Q trình nhận lệnh
Bắt đầu chu trình lệnh, CPU nhận lệnh từ
bộ nhớ
Bộ đếm chương trình PC (Program Counter)
của CPU giữ địa lệnh nhận
CPU nhận lệnh từ ngăn nhớ trỏ PC Lệnh nạp vào ghi lệnh IR
(Instruction Register)
Sau lệnh nhận vào, nội dung PC tự
động tăng để trỏ sang lệnh
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.22 Chương 2: Hệ thống máy tính
Minh họa q trình nhận lệnh
Chương 2: Hệ thống máy tính
Quá trình thực lệnh
Bộ xử lý giải mã lệnh nhận phát tín
hiệu điều khiển thực thao tác mà lệnh yêu cầu
Các kiểu thao tác lệnh:
Trao đổi liệu CPU nhớ
Trao đổi liệu CPU môđun vào-ra
Xử lý liệu: thực phép toán số học
hoặc phép toán logic với liệu
Điều khiển rẽ nhánh
Kết hợp thao tác
Chương 2: Hệ thống máy tính
2 Ngắt (Interrupt)
Khái niệm: Ngắt chế cho phép CPU tạm
dừng chương trình thực để chuyển sang thực chương trình khác, gọi
chương trình phục vụ ngắt.
Các loại ngắt:
Ngắt lỗi thực chương trình, ví dụ:
tràn số, chia cho …
Ngắt lỗi phần cứng, ví dụ: lỗi nhớ RAM
Ngắt môđun vào-ra phát tín hiệu ngắt đến
(19)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.25 Chương 2: Hệ thống máy tính
Hoạt động ngắt
Sau hoàn thành lệnh, xử lý kiểm tra tín hiệu
ngắt
Nếu khơng có ngắt Ỉ xử lý nhận lệnh
chương trình
Nếu có tín hiệu ngắt:
Tạm dừng chương trình thực
Cất ngữ cảnh (các thông tin liên quan đến chương trình bị
ngắt)
Thiết lập PC trỏ đến chương trình phục vụ ngắt Chuyển sang thực chương trình phục vụ ngắt Cuối chương trình phục vụ ngắt, khơi phục ngữ cảnh
tiếp tục chương trình bị tạm dừng
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.26 Chương 2: Hệ thống máy tính
Hoạt động ngắt (tiếp)
lệnh lệnh lệnh lệnh lệnh i lệnh i+1 RETURN lệnh lệnh Chương trình thực
lệnh
Chương trình phục vụ ngắt
lệnh lệnh Ngắt
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.27 Chương 2: Hệ thống máy tính
Chu trình lệnh với ngắt
Bắt đầu
Nhận lệnh
Thực
lệnh Dừng
Kiểm tra có ngắt hay
khơng?
Chuyển đến chương trình
phục vụ ngắt Y
N
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.28 Chương 2: Hệ thống máy tính
Xử lý với nhiều tín hiệu yêu cầu ngắt
Xử lý ngắt
Khi ngắt thực hiện, ngắt khác
bị cấm
Bộ xử lý bỏ qua ngắt
xử lý ngắt
Các ngắt đợi kiểm tra sau ngắt
đầu tiên xử lý xong
Các ngắt thực
Xử lý ngắt ưu tiên
Các ngắt định nghĩa mức ưu tiên khác Ngắt có mức ưu tiên thấp bị ngắt ngắt
(20)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.29 Chương 2: Hệ thống máy tính
3 Hoạt động vào-ra
Hoạt động vào-ra: hoạt động trao đổi liệu
giữa TBNV với bên máy tính
Các kiểu hoạt động vào-ra:
CPU trao đổi liệu với môđun vào-ra
Môđun vào-ra trao đổi liệu trực tiếp với
nhớ
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.30 Chương 2: Hệ thống máy tính
2.3 Liên kết hệ thống
1 Khái niệm chung bus
Bus: tập hợp đường kết nối dùng để vận
chuyển thông tin thành phần máy tính với
Độ rộng bus: số đường dây bus
truyền bit thông tin đồng thời (chỉ dùng cho bus địa bus liệu)
Phân loại cấu trúc bus:
Cấu trúc đơn bus
Cấu trúc đa bus
Chương 2: Hệ thống máy tính
Bus đồng bus khơng đồng bộ
Bus đồng
Bus có đường tín hiệu Clock
Các kiện bus xác định xung
nhịp Clock
Bus khơng đồng
Khơng có đường tín hiệu Clock
Kết thúc kiện bus kích hoạt
cho kiện
Chương 2: Hệ thống máy tính
(21)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.33 Chương 2: Hệ thống máy tính
Bus địa chỉ
Chức năng: vận chuyển địa để xác định
ngăn nhớ hay cổng vào-ra
Độ rộng bus địa chỉ: xác định dung lượng
nhớ cực đại hệ thống Nếu độ rộng bus địa N bit:
AN-1, AN-2, A2, A1, A0
Ỉ dung lượng nhớ cực đại 2N byte (cịn gọi khơng gian địa nhớ)
Ví dụ: Bộ xử lý Intel Pentium có bus địa 32
bit Ỉ khơng gian địa 232byte = GB.
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.34 Chương 2: Hệ thống máy tính
Bus liệu
Chức năng:
vận chuyển lệnh từ nhớ đến CPU
vận chuyển liệu CPU, môđun nhớ
môđun vào-ra
Độ rộng bus liệu: xác định số bit liệu có
thể trao đổi đồng thời
M bit: DM-1, DM-2, … D2, D1, D0 M thường 8, 16, 32, 64, 128 bit
Ví dụ: Các xử lý Pentium có bus liệu
64 bit
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.35 Chương 2: Hệ thống máy tính
Bus điều khiển
Chức năng: vận chuyển 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 phát từ CPU để điều khiển mơđun
nhớ mơđun vào-ra
Các tín hiệu từ môđun nhớ hay môđun vào-ra
gửi đến yêu cầu CPU
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.36 Chương 2: Hệ thống máy tính
Một số tín hiệu điều khiển điển hình
Các tín hiệu phát từ CPU để điều khiển
đọc-ghi:
Memory Read (MEMR): điều khiển đọc liệu từ
một ngăn nhớ có địa xác định lên bus liệu
Memory Write (MEMW): điều khiển ghi liệu
đến ngăn nhớ có địa xác định
I/O Read (IOR): điều khiển đọc liệu từ
cổng vào-ra có địa xác định lên bus liệu
I/O Write (IOW): điều khiển ghi liệu có sẵn
(22)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.37 Chương 2: Hệ thống máy tính
Một số tín hiệu điều khiển điển hình (tiếp)
Các tín hiệu điều khiển ngắt:
Interrupt Request (INTR): tín hiệu từ điều
khiển vào-ra gửi đến yêu cầu ngắt CPU để trao đổi vào-ra Tín hiệu INTR bị che
Interrupt Acknowledge (INTA): tín hiệu phát
từ CPU báo cho điều khiển vào-ra biết CPU chấp nhận ngắt để trao đổi vào-ra
Non Markable Interrupt (NMI): tín hiệu ngắt
không che gửi đến CPU
Reset: tín hiệu từ bên ngồi gửi đến CPU
thành phần khác để khởi động lại máy tính
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.38 Chương 2: Hệ thống máy tính
Một số tín hiệu điều khiển điển hình (tiếp)
Các tín hiệu điều khiển bus:
Bus Request (BRQ): Hold: tín hiệu từ
môđun điều khiển vào-ra gửi đến yêu cầu CPU chuyển nhượng quyền sử dụng bus
Bus Grant (BGT) Hold Acknowledge
(HLDA): tín hiệu phát từ CPU chấp nhận
quyền sử dụng bus
Lock: tín hiệu khóa khơng cho xin chuyển
nhượng bus
Unlock: tín hiệu mở khóa cho xin chuyển nhượng
bus
Chương 2: Hệ thống máy tính
Đặc điểm cấu trúc đơn bus
Bus hệ thống phục vụ yêu cầu
trao đổi liệu thời điểm
Bus hệ thống phải có tốc độ tốc độ bus
của môđun nhanh hệ thống
Bus hệ thống phụ thuộc vào cấu trúc bus (các
tín hiệu) xử lý Ỉ mơđun nhớ môđun vào-ra phụ thuộc vào xử lý
Vì cần phải phân cấp bus Ỉ đa bus
Chương 2: Hệ thống máy tính
3 Phân cấp bus máy tính
Phân cấp bus cho thành phần:
Bus xử lý
Bus nhớ
Các bus vào-ra
Phân cấp bus khác tốc độ
Bus nhớ bus vào-ra khơng phụ
(23)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.41 Chương 2: Hệ thống máy tính
Các bus điển hình PC
Bus xử lý (Front Side Bus - FSB): có tốc độ nhanh
nhất
Bus nhớ (nối ghép với mơđun RAM) AGP bus (Accelerated Graphic Port) - Bus đồ họa tăng
tốc: nối ghép card hình tăng tốc
PCI bus (Peripheral Component Interconnection): nối
ghép với TBNV có tốc độ trao đổi liệu nhanh
USB (Universal Serial Bus): Bus nối tiếp đa
IDE (Integrated Driver Electronics): Bus kết nối với ổ đĩa
cứng ổ đĩa CD, DVD
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.42 Chương 2: Hệ thống máy tính
Phân cấp bus
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.43 Chương 2: Hệ thống máy tính
Máy tính Pentium IV dùng Chipset 925
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.44 Chương 2: Hệ thống máy tính
4 Phân xử bus
Có nhiều môđun điều khiển bus, vd CPU
DMA controller, thời điểm mođun điều khiển bus Ỉ cần phân xử bus
Sự phân xử bus tập trung phân tán Phân xử tập trung: có thiết bị phần cứng điều
khiển truy nhập bus:
Được gọi Bộ điều khiển bus (Bus Controller) hay
Trọng tài bus (Arbiter)
Có thể nằm CPU tách riêng
Phân xử phân tán: môđun điều khiển bus,
(24)Chương 3
BIỂU DIỄN DỮ LIỆU VÀ SỐ HỌC MÁY TÍNH
Phạm Quang Dũng
Bộ mơn Khoa học máy tính - Khoa CNTT Trường Đại học Nơng nghiệp I – Hà Nội website: www.hau1.edu.vn/it/pqdung ĐT: (04) 8766318 DĐ: 0988.149.189
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.2 Chương 3: Biểu diễn liệu số học máy tính
Nội dung chương 3
3.1 Các hệ đếm
3.2 Mã hoá lưu trữ liệu máy tính 3.3 Biểu diễn số nguyên
3.4 Thực phép toán số học với số nguyên 3.5 Số dấu chấm động
3.6 Biểu diễn ký tự
Chương 3: Biểu diễn liệu số học máy tính
3.1 Các hệ đếm bản Hệ thập phân (Decimal System)
Ỉ Con người sử dụng
Hệ nhị phân (Binary System)
Ỉ Máy tính sử dụng
Hệ mười sáu (Hexadecimal System)
Ỉ Dùng để viết gọn số nhị phân
Chương 3: Biểu diễn liệu số học máy tính
1 Hệ thập phân
Cơ số 10
10 chữ số: 0, 1, 2, 3, 4, 5, 6, 7, 8,
Dùng n chữ số thập phân biểu diễn
10ngiá trị khác nhau:
00 000 =
(25)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.5 Chương 3: Biểu diễn liệu số học máy tính
Ví dụ số thập phân
472.38 = 4x102 + 7x101 + 2x100 + 3x10-1 + 8x10-2
Các chữ số phần nguyên:
472 : 10 = 47 dư
47 : 10 = dư : 10 = dư Các chữ số phần lẻ:
0.38 x 10 = 3.8 phần nguyên =
0.8 x 10 = 8.0 phần nguyên =
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.6 Chương 3: Biểu diễn liệu số học máy tính
2 Hệ nhị phân
Cơ số
chữ số nhị phân:
Chữ số nhị phân gọi bit (binary digit) Bit đơn vị thông tin nhỏ
Dùng n bit biểu diễn 2n giá trị khác
nhau:
00 000 =
11 111 = 2n-1
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.7 Chương 3: Biểu diễn liệu số học máy tính
Dạng tổng quát số nhị phân
Có số nhị phân A sau: A = anan-1 a1a0.a-1 a-m Giá trị A tính sau:
A = an2n + an-12n-1 + + a020+ a-12-1 + + a-m2-m
∑ − =
= n
m i
i i
a A 2
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.8 Chương 3: Biểu diễn liệu số học máy tính
Ví dụ số nhị phân 1101001.1011(2)
6 -1 -2 -3 -4
(26)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.9 Chương 3: Biểu diễn liệu số học máy tính
Chuyển đổi số nguyên thập phân sang nhị phân
Phương pháp 1: chia dần cho lấy phần dư
Phương pháp 2: phân tích thành tổng
số 2iỈ nhanh hơn
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.10 Chương 3: Biểu diễn liệu số học máy tính
Phương pháp chia dần cho 2
Ví dụ: chuyển đổi 105(10)
105:2 = 52 dư
52:2 = 26 dư
26:2 = 13 dư
13:2 = dư
6:2 = dư
3:2 = dư
1:2 = dư
Kết quả: 105(10)= 1101001(2)
Chương 3: Biểu diễn liệu số học máy tính
Phương pháp phân tích thành tổng 2i
Ví dụ 1: chuyển đổi 105(10)
105 = 64 + 32 + + = 26 + 25 + 23 + 20
Kết quả: 105(10)= 0110 1001(2)
Ví dụ 2: 17000(10)= 16384 + 512 + 64 + 32 +
= 214 + 29 + 26+ 25 + 23
17000(10)= 0100 0010 0110 1000(2)
15 14 13 12 11 10 0
27 26 25 24 23 22 21 20
128 64 32 16
0 1 0
Chương 3: Biểu diễn liệu số học máy tính
Chuyển số lẻ thập phân sang nhị phân
Ví dụ 1: chuyển đổi 0.6875(10)
0.6875 x = 1.375 phần nguyên =
0.375 x = 0.75 phần nguyên =
0.75 x = 1.5 phần nguyên =
0.5 x = 1.0 phần nguyên =
(27)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.13 Chương 3: Biểu diễn liệu số học máy tính
Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)
Ví dụ 2: chuyển đổi 0.81(10)
0.81 x = 1.62 phần nguyên =
0.62 x = 1.24 phần nguyên =
0.24 x = 0.48 phần nguyên =
0.48 x = 0.96 phần nguyên =
0.96 x = 1.92 phần nguyên =
0.92 x = 1.84 phần nguyên =
0.84 x = 1.68 phần nguyên =
0.81(10)≈ 0.1100111(2)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.14 Chương 3: Biểu diễn liệu số học máy tính
Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)
Ví dụ 3: chuyển đổi 0.2(10)
0.2 x = 0.4 phần nguyên =
0.4 x = 0.8 phần nguyên =
0.8 x = 1.6 phần nguyên =
0.6 x = 1.2 phần nguyên =
0.2 x = 0.4 phần nguyên =
0.4 x = 0.8 phần nguyên =
0.8 x = 1.6 phần nguyên =
0.6 x = 1.2 phần nguyên =
0.2(10) ≈ 0.00110011(2)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.15 Chương 3: Biểu diễn liệu số học máy tính
3 Hệ mười sáu (Hexa)
Cơ số 16
16 chữ số: 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F Dùng để viết gọn cho số nhị phân:
nhóm bit thay chữ số Hexa
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.16 Chương 3: Biểu diễn liệu số học máy tính
Quan hệ số nhị phân số Hexa
4-bit Chữ số Hexa
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F
Ví dụ chuyển đổi số nhị phân Ỉ số Hexa:
0000 00002= 0016
1011 00112= B316
(28)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.17 Chương 3: Biểu diễn liệu số học máy tính
3.2 Mã hố lưu trữ liệu máy tính
1 Nguyên tắc chung mã hoá liệu
Mọi liệu đưa vào máy tính mã
hố thành số nhị phân
Các loại liệu
Dữ liệu nhân tạo: người quy ước
Dữ liệu tự nhiên: tồn khách quan với
người
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.18 Chương 3: Biểu diễn liệu số học máy tính
Mã hố liệu nhân tạo
Dữ liệu số nguyên: mã hoá theo số chuẩn
qui ước
Dữ liệu số thực: mã hoá số dấu chấm
động
Dữ liệu ký tự: mã hoá theo mã ký tự
Chương 3: Biểu diễn liệu số học máy tính
Mã hóa tái tạo tín hiệu vật lý
Các liệu vật lý thông dụng:
Âm
Hình ảnh
Chương 3: Biểu diễn liệu số học máy tính
Độ dài từ liệu (word)
Độ dài từ liệu số bit sử dụng để mã
hoá loại liệu tương ứng
(29)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.21 Chương 3: Biểu diễn liệu số học máy tính
2 Thứ tự lưu trữ byte liệu
Bộ nhớ thường tổ chức theo byte
Độ dài từ liệu chiếm từ đến nhiều
byte
Ỉ cần phải biết thứ tự lưu trữ byte nhớ
chính với liệu nhiều byte
Có cách lưu trữ:
Lưu trữ đầu nhỏ (Little-endian): Byte thấp lưu trữ ngăn nhớ có địa nhỏ hơn, byte cao lưu trữ ngăn nhớ có địa lớn
Lưu trữ đầu to (Big-endian): Byte cao lưu trữ ngăn nhớ có địa nhỏ hơn, byte thấp lưu trữ ngăn nhớ có địa lớn
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.22 Chương 3: Biểu diễn liệu số học máy tính
Ví dụ lưu trữ liệu 32-bit
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.23 Chương 3: Biểu diễn liệu số học máy tính
Lưu trữ xử lý điển hình
Intel 80x86 Pentium:
⇒ Little-endian
Motorola 680x0 xử lý RISC:
⇒ Big-endian
Power PC Itanium: hai
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.24 Chương 3: Biểu diễn liệu số học máy tính
3.3 Biểu diễn số nguyên
Có hai loại số nguyên:
(30)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.25 Chương 3: Biểu diễn liệu số học máy tính
1 Biểu diễn số nguyên không dấu
Nguyên tắc tổng quát: Dùng n bit biểu diễn số
nguyên không dấu A: an-1an-2… a2a1a0
Giá trị A tính sau:
Dải biểu diễn A: từ đến 2n-1
∑−
=
=
0
2
n
i i i
a A
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.26 Chương 3: Biểu diễn liệu số học máy tính
Các ví dụ
Ví dụ 1: Biểu diễn số ngun khơng dấu
sau 8-bit:
A=41 ; B=150 Giải:
A = 41 = 32 + + = 25 + 23 + 20 41 = 0010 1001
B = 150 = 128 + 16 + + = 27+24+22+21 150 = 1001 0110
Chương 3: Biểu diễn liệu số học máy tính
Các ví dụ (tiếp)
Ví dụ 2: Cho số nguyên không dấu M, N
được biểu diễn 8-bit sau:
M = 0001 0010 N = 1011 1001
Xác định giá trị chúng? Giải:
M = 0001 0010 = 24 + 21= 16 + = 18 N = 1011 1001 = 27 + 25 + 24 + 23 + 20
= 128 + 32 + 16 + + = 185
Chương 3: Biểu diễn liệu số học máy tính
Với n = bit
Biểu diễn giá trị từ đến 255
0000 0000 = Chú ý:
0000 0001 = 1111 1111 0000 0010 = + 0000 0001 0000 0011 = 0000 0000
… Vậy: 255 + = 0?
(31)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.29 Chương 3: Biểu diễn liệu số học máy tính
Trục số học số ngun khơng dấu với n = bit
Trục số học:
Trục số học máy tính:
0 255 254
1
3
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.30 Chương 3: Biểu diễn liệu số học máy tính
Với n = 16 bit, 32 bit, 64 bit
n = 16 bit: dải biểu diễn từ đến 65535 (216-1)
0000 0000 0000 0000 = …
0000 0000 1111 1111 = 255 0000 0001 0000 0000 = 256 …
1111 1111 1111 1111 = 65535
n= 32 bit: dải biểu diễn từ đến 232-1 n= 64 bit: dải biểu diễn từ đến 264-1
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.31 Chương 3: Biểu diễn liệu số học máy tính
2 Biểu diễn số ngun có dấu
a Số bù Số bù hai:
Giả sử A số nhị phân, ta có:
Số bù A nhận cách đảo giá trị
bit A
(Số bù hai A) = (Số bù A) +
Ví dụ: với n= bit
Giả sử có A = 0010 0101 Số bù A = 1101 1010
+
Số bù hai A = 1101 1011
Vì A + (Số bù hai A) = Ỉ dùng số bù hai để
biểu diễn cho số âm
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.32 Chương 3: Biểu diễn liệu số học máy tính
b Biểu diễn số nguyên có dấu mã bù hai
Nguyên tắc tổng quát: Dùng n bit biểu diễn số nguyên có dấu A:
an-1an-2…a2a1a0
Với A số dương: bit an-1 = 0, bit lại
biểu diễn độ lớn số không dấu
Với A số âm: biểu diễn số bù hai
(32)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.33 Chương 3: Biểu diễn liệu số học máy tính
Biểu diễn số dương
Dạng tổng quát số dương A:
0an-2…a2a1a0
Giá trị số dương A:
Dải biểu diễn cho số dương: đến 2n-1-1 ∑− = = 2 n i i i a A
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.34 Chương 3: Biểu diễn liệu số học máy tính
Biểu diễn số âm
Dạng tổng quát số âm A:
1an-2…a2a1a0
Giá trị số âm A:
Dải biểu diễn cho số âm: -1 đến -2n-1 ∑− = − + − = 2 2 n i i i n a A
Chương 3: Biểu diễn liệu số học máy tính
Biểu diễn tổng quát cho số nguyên có dấu
Dạng tổng quát số nguyên A:
an-1an-2…a2a1a0
Giá trị A xác định sau:
Dải biểu diễn: từ -(2n-1) đến +(2n-1-1)
∑− = − − + − =
12 2
n i i i n n a a A
Chương 3: Biểu diễn liệu số học máy tính
Các ví dụ
Ví dụ Biểu diễn số nguyên có dấu sau
đây bit:
A = +58 ; B = -80 Giải:
A = +58 = 0011 1010
B = -80
Ta có: +80 = 0101 0000 Số bù = 1010 1111 + Số bù hai = 1011 0000
(33)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.37 Chương 3: Biểu diễn liệu số học máy tính
Các ví dụ
Ví dụ 2: Hãy xác định giá trị số nguyên
có dấu biểu diễn đây:
P = 0110 0010
Q = 1101 1011
Giải:
P = 0110 0010 = 64 + 32 + = +98
Q = 1101 1011 = -128+64+16+8+2+1 = -37
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.38 Chương 3: Biểu diễn liệu số học máy tính
Với n = bit
Biểu diễn giá trị từ -128 đến +127
0000 0000 =
0000 0001 = +1
0000 0010 = +2 Chú ý:
0000 0011 = +3 +127 + = -128
… -128 - = +127
0111 1111 = +127 Ỉ tràn xảy
1000 0000 = - 128
1000 0001 = - 127
…
1111 1110 = -2
1111 1111 = -1
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.39 Chương 3: Biểu diễn liệu số học máy tính
Trục số học số nguyên có dấu với n = bit
Trục số học:
Trục số học máy tính:
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.40 Chương 3: Biểu diễn liệu số học máy tính
Với n=16 bit, 32 bit, 64 bit
Với n=16 bit: biểu diễn từ -32768 đến +32767
0000 0000 0000 0000 =
0000 0000 0000 0001 = +1
…
0111 1111 1111 1111 = +32767
1000 0000 0000 0000 = - 32768
…
1111 1111 1111 1111 = -1
(34)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.41 Chương 3: Biểu diễn liệu số học máy tính
Chuyển đổi từ byte thành word
Đối với số dương:
+19 = 0001 0011 (8 bit)
+19 = 0000 0000 0001 0011 (16 bit) Ỉ thêm bit bên trái
Đối với số âm:
- 19 = 1110 1101 (8 bit)
- 19 = 1111 1111 1110 1101 (16 bit)
Ỉ thêm bit bên trái
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.42 Chương 3: Biểu diễn liệu số học máy tính
3 Biểu diễn số nguyên theo mã BCD
Binary Coded Decimal Code
Dùng bit để mã hoá cho chữ số thập
phân từ đến
0 Ỉ 0000 Ỉ 0101
1 Æ 0001 Æ 0110
2 Æ 0010 Ỉ 0111
3 Ỉ 0011 Ỉ 1000
4 Ỉ 0100 Ỉ 1001
Có tổ hợp khơng sử dụng:
1010, 1011, 1100, 1101, 1110, 1111
Chương 3: Biểu diễn liệu số học máy tính
Ví dụ số BCD
35 Ỉ 0011 0101BCD 61 Æ 0110 0001BCD
1087 Æ 0001 0000 1000 0111BCD 9640 Ỉ 1001 0110 0100 0000BCD
Chương 3: Biểu diễn liệu số học máy tính
Các kiểu lưu trữ số BCD
BCD khơng gói (Unpacked BCD): Mỗi số BCD
4-bit lưu trữ 4-bit thấp byte
Ví dụ: Số 35 lưu trữ sau:
BCD gói (Packed BCD): Hai số BCD lưu
trữ byte
Ví dụ: số 35 lưu trữ sau:
0 1 1
(35)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.45 Chương 3: Biểu diễn liệu số học máy tính
3.4 Thực phép toán số học với số nguyên
1 Phép cộng số nguyên không dấu
Bộ cộng n-bit
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.46 Chương 3: Biểu diễn liệu số học máy tính
Nguyên tắc cộng số nguyên không dấu Khi cộng hai số nguyên không dấu n-bit, kết nhận n-bit:
Nếu khơng có nhớ khỏi bit cao kết
nhận luôn (Cout = 0)
Nếu có nhớ khỏi bit cao kết nhận
được sai, ⇔ có tràn nhớ ngồi (Cout = 1)
Tràn nhớ (Carry Out) xảy tổng >2n-1
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.47 Chương 3: Biểu diễn liệu số học máy tính
Ví dụ cộng số ngun khơng dấu
57 = 0011 1001
+ 34 = + 0010 0010
91 0101 1011 = 64+16+8+2+1= 91 Ỉ
209 = 1101 0001
+ 73 = 0100 1001
282 0001 1010 = 16 + + = 26 Ỉ sai Ỉ có tràn nhớ ngồi (Cout = 1)
Để có kết ta thực cộng theo 16-bit: 209 = 0000 0000 1101 0001
+ 73 = + 0000 0000 0100 1001
0000 0001 0001 1010 = 256+16+8+2 = 282
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.48 Chương 3: Biểu diễn liệu số học máy tính
2 Phép đảo dấu
Ta có:
+ 37 = 0010 0101
bù = 0101 1010
+
bù hai = 1101 1011 = -37
Lấy bù hai số âm:
- 37 = 1101 1011
bù = 0010 0100
+
bù hai = 0010 0101 = +37
Kết luận: Phép đảo dấu máy tính thực chất lấy
(36)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.49 Chương 3: Biểu diễn liệu số học máy tính
3 Cộng số nguyên có dấu
Khi cộng số ngun có dấu n-bit khơng quan tâm đến bit Coutvà kết nhận n-bit:
Cộng số khác dấu: kết luôn
Cộng số dấu:
Nếu dấu kết dấu với số hạng kết
là
Nếu kết có dấu ngược lại, có tràn xảy
(Overflow) kết sai
Tràn xảy tổng nằm dải biểu diễn
[-(2n-1),+(2n-1-1)]
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.50 Chương 3: Biểu diễn liệu số học máy tính
Ví dụ cộng số ngun có dấu không tràn
(+70) = 0100 0110
+ (+42) = 0010 1010
+112 0111 0000 = +112
(+97) = 0110 0001
+ (- 52) = 1100 1100
+45 0010 1101 = +45
(- 90) = 1010 0110
+ (+36) = 0010 0100
- 54 1100 1010 = -54
(- 74) = 1011 0110
+ (- 30) = 1110 0010
- 104 1001 1000 = -104
Chương 3: Biểu diễn liệu số học máy tính
Ví dụ cộng số nguyên có dấu bị tràn
(+75) = 0100 1011
+ (+82) = 0101 0010
+157 1001 1101
= -128 + 16 + + + = -99 Ỉ sai
(- 104) = 1001 1000
+ (- 43) = 1101 0101
- 147 0110 1101
= 64 + 32 + + + = +109 Ỉ sai
Cả ví dụ tràn tổng nằm dải biểu diễn
[-128, +127]
Chương 3: Biểu diễn liệu số học máy tính
4 Nguyên tắc thực phép trừ
Phép trừ số nguyên: X – Y = X + (-Y)
(37)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.53 Chương 3: Biểu diễn liệu số học máy tính
5 Nhân số nguyên không dấu
Các ghi M,
Q, A: n bit
C: bit
thừa số n-bit
Ỉ tích số 2n-bit chứa cặp ghi A, Q
Bắt đầu
Dừng C 0; A M số bị nhân Q số nhân; BĐ = n
Q0=
C, A A + M
Dịch phải C, A, Q BĐ BĐ -
BĐ = Y N
Y N
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.54 Chương 3: Biểu diễn liệu số học máy tính
Ví dụ 1011 x 1101 (11 x 13 = 143)
n = Số bị nhân
= 1011 Ỉ M
Số nhân =
1101 Ỉ Q
C A Q
0 0000 1101 / giá trị khởi đầu / 1011
0 1011 1101 C, A Å A + M
0 0101 1110 Dịch phải bit n = 0010 1111 Dịch phải bit n =
1011
0 1101 1111 C, A Å A + M
0 0110 1111 Dịch phải bit n = 1011
1 0001 1111 C, A Å A + M
0 1000 1111 Dịch phải bit n = 0 +
+
+
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.55 Chương 3: Biểu diễn liệu số học máy tính
6 Nhân số ngun có dấu
Phương pháp 1:
1 Chuyển đổi thừa số thành số dương Nhân số dương số nguyên không dấu Hiệu chỉnh dấu kết quả:
Nếu thừa số dấu Ỉ khơng cần hiệu chỉnh Nếu thừa số khác dấu Ỉ đảo dấu kết
cách lấy bù
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.56 Chương 3: Biểu diễn liệu số học máy tính
Nhân số nguyên có dấu (tiếp)
Phương pháp 2:
(38)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.57 Chương 3: Biểu diễn liệu số học máy tính
Ví dụ (+7) x (-3) = (-21) theo Booth n =
Số bị nhân =
0111 Ỉ M
-M = 1001 310 = 0011
-310 = 1101
(Số nhân)ỈQ
A Q Q-1
0000 1001 1001 1100 0111 0011 0001 1001 1010 1101 1110
0 / giá trị khởi đầu / 1101 1101 1110 1110 1111 1111 0111
0 A Å A - M = A + (-M) Dịch phải, giữ dấu A, n = A Å A + M
0 Dịch phải, giữ dấu A, n = A Å A - M
1 Dịch phải, giữ dấu A, n =
1011 Dịch phải, giữ dấu A, n = 0 +
+
+
Bỏ đi
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.58 Chương 3: Biểu diễn liệu số học máy tính
7 Chia số nguyên không dấu
Khôi phục A
Thương chứa Q,
Phần dư chứa A
Chương 3: Biểu diễn liệu số học máy tính
Ví dụ 7:3 = dư 1
n =
Số bị chia =
0111 Ỉ Q
Số chia = 310
= 0011 Ỉ M
-M = 1101
A Q 0000 0000 1101 0000 0001 1110 0001 0011 0000 0000 0001
1110 A Å A - M
0001 0010 Khôi phục A, n = 0 / giá trị khởi đầu / 0111 1110 1110 1100 1100 1000 1001 Dịch trái
A Å A - M = A + (-M) Khôi phục A, n = Dịch trái
A Å A - M
Khôi phục A, n = Dịch trái
A Å A - M
Q0Å 1, n =
Dịch trái 0010
Chương 3: Biểu diễn liệu số học máy tính
8 Chia số nguyên có dấu
Sử dụng thuật giải chia số nguyên không dấu Đổi số bị chia số chia Ỉ dương
Chia số ngun khơng dấu Ỉ thương
phần dư (đều số dương)
Hiệu chỉnh dấu:
(+) : (+) Ỉ khơng hiệu chỉnh dấu kết (+) : (-) Ỉ đảo dấu thương
(39)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.61 Chương 3: Biểu diễn liệu số học máy tính
3.5 Số dấu chấm động
1 Ngun tắc chung
Floating Point Number Ỉ biểu diễn cho số thực Tổng quát: số thực X biểu diễn theo
kiểu số dấu chấm động sau: X = M * RE
M phần định trị (Mantissa), R số (Radix),
E phần mũ (Exponent)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.62 Chương 3: Biểu diễn liệu số học máy tính
2 Chuẩn IEEE754/85
Cơ số R = Các dạng:
Dạng 32-bit
Dạng 44-bit
Dạng 64-bit
Dạng 80-bit
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.63 Chương 3: Biểu diễn liệu số học máy tính
Các dạng biểu diễn chính
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.64 Chương 3: Biểu diễn liệu số học máy tính
Dạng 32-bit
S bit dấu:
S = Ỉ Số dương S = Ỉ Số âm
e (8 bit) mã excess-127 phần mũ E:
e = E + 127 Ỉ E = e – 127 giá trị 127 gọi độ lệch (bias)
m (23 bit) phần lẻ phần định trị M:
M = 1.m
Công thức xác định giá trị số thực:
X = (-1)S
(40)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.65 Chương 3: Biểu diễn liệu số học máy tính
Ví dụ 1
Xác định giá trị số thực biểu diễn 32-bit sau:
1100 0001 0101 0110 0000 0000 0000 0000
S = Ỉ Số âm
e = 1000 00102= 130 Ỉ E = 130 – 127 =
Vậy:
X = -1.10101100 *23= -1101.011 = -13.375
0011 1111 1000 0000 0000 0000 0000 0000 = ?
= +1.0
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.66 Chương 3: Biểu diễn liệu số học máy tính
Ví dụ 2
Biểu diễn số thực X = 83.75 dạng số dấu chấm động IEEE754 32-bit
Giải:
X = 83.7510= 1010011.112 = 1.01001111 x 26 Ta có:
S = số dương
E = e-127=6 Ỉe = 127+6=13310= 1000 01012
Vậy:
X = 0100 0010 1010 0111 1000 0000 0000 0000
Chương 3: Biểu diễn liệu số học máy tính
Các quy ước đặc biệt
Các bit e 0, bit m 0, X= ±
x000 0000 0000 0000 0000 0000 0000 0000 Ỉ X= ±
Các bit e 1, bit m 0, X= ±∞
x111 1111 1000 0000 0000 0000 0000 0000 Ỉ X= ±∞
Các bit e 1, cịn m có bit 1,
nó khơng biểu diễn cho số (NaN – not a number)
Chương 3: Biểu diễn liệu số học máy tính
Dải giá trị biểu diễn
(41)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.69 Chương 3: Biểu diễn liệu số học máy tính
Dạng 64-bit
S bit dấu
e (11 bit) mã excess-1023 phần mũ E:
Ỉ E = e – 1023
m (52 bit) phần lẻ phần định trị M: Giá trị số thực:
X = (-1)S
*1.m*2e-1023
Dải giá trị biểu diễn: 10-308 đến 10+308
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.70 Chương 3: Biểu diễn liệu số học máy tính
Dạng 80-bit
S bit dấu
e (15 bit) mã excess-16383 phần mũ E:
Ỉ E = e – 16383
m (64 bit) phần lẻ phần định trị M: Giá trị số thực:
X = (-1)S
*1.m*2e-16383
Dải giá trị biểu diễn: 10-4932 đến 10+4932
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.71 Chương 3: Biểu diễn liệu số học máy tính
3.6 Biểu diễn ký tự
Bộ mã ASCII (American Standard Code for
Information Interchange)
Bộ mã Unicode
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.72 Chương 3: Biểu diễn liệu số học máy tính
1 Bộ mã ASCII
Do ANSI (American National Standard
Institute) thiết kế
Bộ mã bit Ỉ mã hóa 28 =256 ký
tự, có mã từ: 0016÷ FF16 , đó:
(42)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.73 Chương 3: Biểu diễn liệu số học máy tính
ASCII Character
Code
128 ký tự chuẩn
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.74 Chương 3: Biểu diễn liệu số học máy tính
Các ký tự chuẩn
26 chữ hoa ‘A’ đến ‘Z’ có mã từ 4116 đến 5A16 (65
đến 90)
‘A’ Ỉ 0100 0001 = 4116
‘B’ Æ 0100 0010 = 4216
‘Z’ Ỉ 0101 1010 = 5A16
26 chữ thường ‘a’ đến ‘z’ có mã từ 6116 đến 7A16 (97
đến 122)
‘a’ Ỉ 0110 0001 = 6116
‘b’ Ỉ 0110 0010 = 6216
‘z’ Ỉ 0111 1010 = 7A16
Chương 3: Biểu diễn liệu số học máy tính
Các ký tự chuẩn (tiếp)
10 chữ số thập phân từ đến có mã từ 3016
đến 3916 (48 đến 57)
‘0’ Ỉ 0011 0000 = 3016
‘1’ Ỉ 0011 0001 = 3116
‘2’ Æ 0011 0010 = 3216
‘9’ Ỉ 0011 1001 = 3916
Chương 3: Biểu diễn liệu số học máy tính
Các ký tự chuẩn (tiếp)
Các ký hiệu khác:
Các dấu câu: , : ; .
Các dấu phép toán: + - * / %
một số ký hiệu thông dụng: &, $, @, #
(43)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.77 Chương 3: Biểu diễn liệu số học máy tính
Các mã điều khiển: có mã 0016÷ 1F16và 7F16
Các mã ký tự điều khiển định dạng (điều khiển
hình, máy in …):
BS, HT, LF, VT, FF, CR
Các mã ký tự điều khiển truyền tin:
SOH, STX, ETX, EOT, ENQ, ACK, NAK, SYN, ETB
Các mã ký tự điều khiển phân cách thông tin:
FS, GS, RS, US
Các mã ký tự điều khiển khác:
NUL, BEL, SO, SI, DLE, DC1+DC4, CAN, EM, SUB,
ESC, DEL
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.78 Chương 3: Biểu diễn liệu số học máy tính
Các ký tự mở rộng: có mã 8016 ÷ FF16
Các ký tự mở rộng định nghĩa bởi:
nhà chế tạo máy tính
người phát triển phần mềm
Ví dụ:
Bộ mã ký tự mở rộng IBM Ỉ IBM-PC
Bộ mã ký tự mở rộng Apple Ỉ Macintosh
Có thể thay đổi ký tự mở rộng để mã hóa
cho ký tự riêng tiếng Việt, ví dụ mã TCVN3
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.79 Chương 3: Biểu diễn liệu số học máy tính
2 Bộ mã hợp Unicode
Do hãng máy tính hàng đầu thiết kế Bộ mã 16-bit
Bộ mã đa ngơn ngữ
Có hỗ trợ ký tự tiếng Việt
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 3.80 Chương 3: Biểu diễn liệu số học máy tính
Unicode Character
Code
(44)Chương 4
BỘ XỬ LÝ TRUNG TÂM
(Central Processing Unit - CPU)
Phạm Quang Dũng
Bộ môn Khoa học máy tính - Khoa CNTT Trường Đại học Nơng nghiệp I – Hà Nội website: www.hau1.edu.vn/it/pqdung ĐT: (04) 8766318 DĐ: 0988.149.189
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.2
Chương 4: CPU
Nội dung chương 4
4.1 Cấu trúc CPU 4.2 Tập lệnh
4.3 Hoạt động CPU
4.4 Cấu trúc xử lý tiên tiến 4.5 Kiến trúc Intel
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.3
Chương 4: CPU
4.1 Cấu trúc CPU Nhiệm vụ cấu trúc CPU
Nhiệm vụ CPU
¾ Nhận lệnh (Fetch Instruction): CPU đọc lệnh từ nhớ
¾ Giải mã lệnh (Decode Instruction): Xác định thao tác mà lệnh yêu cầu
¾ Nhận liệu (Fetch Data): nhận liệu từ nhớ cổng vào-ra
¾ Xử lý liệu (Process Data): thực phép toán số học hay phép toán logic với liệu
¾ Ghi liệu (Write Data): ghi liệu nhớ hay cổng vào-ra
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.4
Chương 4: CPU
(45)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.5
Chương 4: CPU
Các thành phần CPU
Đơn vị điều khiển (Control Unit – CU)
Đơn vị số học logic (Arithmetic and
Logic Unit - ALU)
Tập ghi (Register File - RF)
Đơn vị nối ghép bus (Bus Interface Unit
-BIU)
Bus bên (Internal Bus)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.6
Chương 4: CPU
2 Đơn vị số học logic
Chức năng: Thực phép toán số
học phép toán logic:
Số học: cộng, trừ, nhân, chia, tăng,
giảm, đảo dấu
Logic: AND, OR, XOR, NOT, phép
dịch bit
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.7
Chương 4: CPU
Mơ hình kết nối ALU
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.8
Chương 4: CPU
3 Đơn vị điều khiển
Chức
Điều khiển nhận lệnh từ nhớ đưa vào
thanh ghi lệnh
Tăng nội dung PC để trỏ sang lệnh kế
tiếp
Giải mã lệnh nhận để xác định thao
tác mà lệnh yêu cầu
Phát tín hiệu điều khiển thực
lệnh
Nhận tín hiệu yêu cầu từ bus hệ thống
(46)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.9
Chương 4: CPU
Mơ hình kết nối đơn vị điều khiển
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.10
Chương 4: CPU
Các tín hiệu đưa đến đơn vị điều khiển Clock: tín hiệu nhịp từ mạch tạo dao động
bên
Mã lệnh từ ghi lệnh đưa đến để giải
mã
Các cờ từ ghi cờ cho biết trạng thái
của CPU
Các tín hiệu yêu cầu từ bus điều khiển
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.11
Chương 4: CPU
Các tín hiệu phát từ đơn vị điều khiển Các tín hiệu điều khiển bên CPU:
Điều khiển ghi
Điều khiển ALU
Các tín hiệu điều khiển bên ngồi CPU:
Điều khiển nhớ
Điều khiển môđun vào-ra
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.12
Chương 4: CPU
4 Tập ghi
Chức đặc điểm:
Tập hợp ghi nằm CPU
Chứa thông tin tạm thời phục vụ cho
hoạt động thời điểm CPU
Được coi mức hệ thống nhớ Tuỳ thuộc vào xử lý cụ thể
Số lượng ghi nhiều Ỉ tăng hiệu
của CPU
(47)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.13
Chương 4: CPU
Phân loại ghi theo chức năng
Thanh ghi địa chỉ: quản lý địa ngăn
nhớ hay cổng vào-ra
Thanh ghi liệu: chứa tạm thời liệu Thanh ghi đa năng: chứa địa
dữ liệu
Thanh ghi điều khiển/trạng thái: chứa
thông tin điều khiển trạng thái CPU
Thanh ghi lệnh: chứa lệnh thực
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.14
Chương 4: CPU
Một số ghi điển hình
Các ghi địa
Bộ đếm chương trình PC (Program Counter)
Con trỏ liệu DP (Data Pointer) Con trỏ ngăn xếp SP (Stack Pointer) Thanh ghi sở ghi số
(Base Register & Index Register)
Các ghi liệu Thanh ghi trạng thái
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.15
Chương 4: CPU
Bộ đếm chương trình PC
Cịn gọi trỏ lệnh IP
(Instruction Pointer)
Giữ địa lệnh
nhận vào
Sau lệnh nhận vào, nội dung
PC tự động tăng để trỏ sang lệnh
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.16
Chương 4: CPU
(48)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.17
Chương 4: CPU
Thanh ghi trỏ liệu
Chứa địa ngăn nhớ liệu mà
CPU muốn truy nhập
Thường có số ghi trỏ
liệu
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.18
Chương 4: CPU
Minh họa ghi trỏ liệu
DP
Dữ liệu Dữ liệu cần đọc/ghi
Dữ liệu Dữ liệu Dữ liệu Dữ liệu Dữ liệu
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.19
Chương 4: CPU
Ngăn xếp (Stack)
Ngăn xếp vùng nhớ có cấu trúc LIFO
(Last In – First Out)
Ngăn xếp thường dùng để phục vụ cho
chương trình
Đáy ngăn xếp ngăn nhớ xác định Đỉnh ngăn xếp thông tin nằm vị trí
trên ngăn xếp
Đỉnh ngăn xếp bị thay đổi
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.20
Chương 4: CPU
Con trỏ ngăn xếp SP (Stack Pointer)
SP chứa địa ngăn nhớ đỉnh ngăn xếp Khi cất thông tin vào ngăn xếp:
Nội dung SP tự động giảm
Thông tin cất vào ngăn nhớ trỏ SP Khi lấy thông tin khỏi ngăn xếp:
Thông tin đọc từ ngăn nhớ trỏ SP Nội dung SP tự động tăng
(49)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.21
Chương 4: CPU
Minh họa trỏ ngăn xếp SP
SP Đỉnh Stack
Đáy Stack
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.22
Chương 4: CPU
Thanh ghi sở ghi số
Thanh ghi sở: chứa địa ngăn
nhớ sở (địa sở)
Thanh ghi số: chứa độ lệch địa
ngăn nhớ mà CPU cần truy nhập so với ngăn nhớ sở (chỉ số)
Địa ngăn nhớ cần truy nhập = địa
chỉ sở + số
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.23
Chương 4: CPU
Minh họa ghi sở ghi số
Thanh ghi sở
Thanh ghi số
Ngăn nhớ sở
Ngăn nhớ cần truy nhập
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.24
Chương 4: CPU
Các ghi liệu
Chứa liệu tạm thời kết
quả trung gian
Cần có nhiều ghi liệu
Các ghi số nguyên: 8, 16, 32, 64
bit
(50)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.25
Chương 4: CPU
Thanh ghi trạng thái (Status Register)
Còn gọi ghi cờ (Flag Register) Chứa thông tin trạng thái CPU
Các cờ phép toán: báo hiệu trạng thái kết
phép toán
Các cờ điều khiển: biểu thị trạng thái điều khiển
CPU
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.26
Chương 4: CPU
Ví dụ cờ phép tốn
Cờ Zero (cờ rỗng): thiết lập lên kết
quả phép toán
Cờ Sign (cờ dấu): thiết lập lên kết
phép toán nhỏ
Cờ Carry (cờ nhớ): thiết lập lên phép
tốn có nhớ ngồi bit cao Ỉ cờ báo tràn với số khơng dấu
Cờ Overflow (cờ tràn): thiếp lập lên
cộng hai số nguyên dấu mà kết có dấu ngược lại Ỉ cờ báo tràn với số có dấu
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.27
Chương 4: CPU
Ví dụ cờ điều khiển
Cờ Interrupt (Cờ cho phép ngắt)
Nếu IF = Ỉ CPU trạng thái cho phép ngắt với tín
hiệu yêu cầu ngắt từ bên gửi tới
Nếu IF = Ỉ CPU trạng thái cấm ngắt với tín hiệu
yêu cầu ngắt từ bên gửi tới
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.28
Chương 4: CPU
4.2 Tập lệnh
1 Giới thiệu chung tập lệnh
Mỗi xử lý có tập lệnh xác định
Tập lệnh thường có hàng chục đến hàng trăm lệnh Mỗi lệnh chuỗi số nhị phân mà xử lý hiểu
được để thực thao tác xác định
Các lệnh mô tả ký hiệu gợi nhớ Ỉ
(51)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.29
Chương 4: CPU
Các thành phần lệnh máy
Mã thao tác (operation code → opcode):
mã hóa cho thao tác mà xử lý phải thực
Địa toán hạng: nơi chứa toán
hạng mà thao tác tác động
Toán hạng nguồn: liệu vào thao tác Tốn hạng đích: liệu thao tác
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.30
Chương 4: CPU
2 Các kiểu thao tác
Chuyển liệu
Xử lý số học với số nguyên Xử lý logic
Điều khiển vào-ra
Chuyển điều khiển (rẽ nhánh) Điều khiển hệ thống
Xử lý số dấu chấm động Xử lý liệu chuyên dụng
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.31
Chương 4: CPU
Các lệnh chuyển liệu
MOVE Copy liệu từ nguồn đến đích LOAD Nạp liệu từ nhớ đến xử lý STORE Cất liệu từ xử lý đến nhớ EXCHANGE Trao đổi nội dung nguồn đích CLEAR Chuyển bit vào tốn hạng đích SET Chuyển bit vào tốn hạng đích PUSH Cất nội dung toán hạng nguồn vào
ngăn xếp
POP Lấy nội dung đỉnh ngăn xếp đưa đến
tốn hạng đích
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.32
Chương 4: CPU
Các lệnh số học
ADD Cộng hai toán hạng
(52)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.33
Chương 4: CPU
Các lệnh logic
AND Thực phép AND hai toán hạng OR Thực phép OR hai toán hạng XOR Thực phép XOR hai toán hạng NOT Đảo bit toán hạng (lấy bù 1)
TEST Thực phép AND toán hạng để lập cờ SHIFT Dịch trái (phải) toán hạng
ROTATE Quay trái (phải) toán hạng
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.34
Chương 4: CPU
Minh hoạ lệnh AND, OR, XOR
Giả sử có hai ghi chứa liệu sau:
(R1) = 1010 1010
(R2) = 0000 1111
R1 Å (R1) AND (R2) = 0000 1010
Phép toán AND dùng để xoá số bit giữ nguyên số bit cịn lại tốn hạng
R1 Å (R1) OR (R2) = 1010 1111
Phép toán OR dùng để thiết lập số bit giữ ngun số bit cịn lại tốn hạng
R1 Å (R1) XOR (R2) = 1010 0101
Phép toán XOR dùng để đảo số bit giữ ngun số bit cịn lại tốn hạng
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.35
Chương 4: CPU
Các lệnh vào chuyên dụng
INPUT Copy liệu từ cổng xác
định đến đích
OUTPUT Copy liệu từ nguồn đến
một cổng xác định
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.36
Chương 4: CPU
Các lệnh chuyển điều khiển
JUMP (BRANCH) - Lệnh nhảy không điều kiện:
Nạp vào PC địa xác định
JUMP CONDITIONAL - Lệnh nhảy có điều kiện:
Điều kiện Ỉ nạp PC địa xác định Điều kiện sai Ỉ khơng làm
CALL - Lệnh gọi chương trình con:
Cất nội dung PC (địa trở về) vị trí xác định
(thường Stack)
Nạp vào PC địa lệnh chương trình
RETURN - Lệnh trở từ chương trình con:
Khôi phục địa trở trả lại cho PC để trở chương
(53)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.37
Chương 4: CPU
Lệnh rẽ nhánh không điều kiện
Chuyển tới thực lệnh
ở vị trí có địa XXX: PC ÅXXX
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.38
Chương 4: CPU
Lệnh rẽ nhánh có điều kiện
Trong lệnh có kèm theo điều kiện Kiểm tra điều kiện lệnh:
Nếu điều kiện Ỉ chuyển tới thực lệnh vị
trí có địa XXX PC Å XXX
Nếu điều kiện sai Ỉ chuyển sang thực lệnh kế
tiếp
Điều kiện thường kiểm tra thơng qua cờ Có nhiều lệnh rẽ nhánh có điều kiện
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.39
Chương 4: CPU
Minh họa lệnh rẽ nhánh có điều khiện
Lệnh
Lệnh Lệnh rẽ nhánh XXX
Lệnh Lệnh
Lệnh Lệnh
Lệnh XXX
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.40
Chương 4: CPU
Lệnh CALL RETURN
Lệnh gọi chương trình con: lệnh CALL
Cất nội dung PC (chứa địa lệnh kế tiếp)
Stack
Nạp vào PC địa lệnh chương
trình gọi
Ỉ Bộ xử lý chuyển sang thực chương trình
con tương ứng
Lệnh trở từ chương trình con: lệnh RETURN
(54)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.41
Chương 4: CPU
Minh họa lệnh CALL RETURN
Lệnh
Lệnh CALL CTcon
Lệnh
RETURN Lệnh
Lệnh
CTcon
Lệnh CTcon
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.42
Chương 4: CPU
Các lệnh điều khiển hệ thống
NO OPERATION Khơng thực HALT Dừng thực chương trình
WAIT Tạm dừng thực chương trình, lặp
kiểm tra điều kiện thoả mãn tiếp tục thực
LOCK Cấm không cho xin chuyển nhượng bus UNLOCK Cho phép xin chuyển nhượng bus
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.43
Chương 4: CPU
3 Các phương pháp định địa (addressing modes)
Khái niệm định địa (addressing)
Tốn hạng lệnh là:
Một giá trị cụ thể
Nội dung ghi
Nội dung ngăn nhớ cổng vào-ra
Phương pháp định địa cách thức địa
chỉ hoá trường địa lệnh để xác định toán hạng
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.44
Chương 4: CPU
Các phương pháp định địa thông dụng
Định địa tức Định địa ghi Định địa trực tiếp
(55)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.45
Chương 4: CPU
Định địa tức thì
Tốn hạng nằm Trường địa lệnh Chỉ tốn hạng nguồn
Ví dụ:
ADD R1,5 ; R1 Å R1+5
Không tham chiếu nhớ Truy nhập toán hạng nhanh Dải giá trị toán hạng bị hạn chế Sơ đồ định địa tức thì:
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.46
Chương 4: CPU
Định địa ghi
Tốn hạng chứa ghi có tên
Trường địa lệnh
Ví dụ:
ADD R1, R2 ; R1 Å R1+R2
Số lượng ghi Ỉ Trường địa chỉ cần bit Khơng tham chiếu nhớ
Truy nhập toán hạng nhanh
Tăng số lượng ghi Ỉ hiệu
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.47
Chương 4: CPU
Sơ đồ định địa ghi
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.48
Chương 4: CPU
Định địa trực tiếp
Tốn hạng ngăn nhớ có địa
ra trực tiếp Trường địa lệnh
Ví dụ: ADD R1, A ; R1 Å R1+(A)
Cộng nội dung ghi R1 với nội dung
của ngăn nhớ có địa A
Tìm tốn hạng nhớ địa A
CPU tham chiếu nhớ lần để truy
(56)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.49
Chương 4: CPU
Sơ đồ định địa trực tiếp
Mã thao tác Địa
Toán hạng
Bộ nhớ
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.50
Chương 4: CPU
Định địa gián tiếp qua ghi Tốn hạng ngăn nhớ có địa nằm
trong ghi
Trường địa lệnh cho biết tên
ghi
Thanh ghi ngầm định
Thanh ghi gọi ghi trỏ Vùng nhớ tham chiếu lớn
(2n), (với n độ dài ghi)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.51
Chương 4: CPU
Sơ đồ định địa gián tiếp qua ghi Mã thao tác Tên ghi
Toán hạng
Bộ nhớ Địa
Tập ghi
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.52
Chương 4: CPU
Định địa gián tiếp qua ngăn nhớ Ngăn nhớ trỏ Trường địa
lệnh chứa địa tốn hạng
Có thể gián tiếp nhiều lần
Giống khái niệm biến trỏ biến
động lập trình
CPU phải thực tham chiếu nhớ
nhiều lần để tìm tốn hạng Ỉ chậm
(57)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.53
Chương 4: CPU
Sơ đồ định địa gián tiếp qua ngăn nhớ Mã thao tác Địa
Địa
Toán hạng
Bộ nhớ
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.54
Chương 4: CPU
Định địa dịch chuyển
Để xác định toán hạng Trường địa
lệnh chứa hai thành phần:
Tên ghi
Hằng số
Địa toán hạng = nội dung ghi
+ số
Thanh ghi ngầm định
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.55
Chương 4: CPU
Sơ đồ định địa dịch chuyển
Mã thao tác Tên ghi
Toán hạng
Bộ nhớ Tập ghi
Hằng số
+
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.56
Chương 4: CPU
Các dạng định địa dịch chuyển
Địa hoá tương PC
Thanh ghi Bộ đếm chương trình PC
Tốn hạng có địa cách ngăn nhớ trỏ PC
một độ lệch xác định
Định địa sở
Thanh ghi chứa địa sở Hằng số số
(58)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.57
Chương 4: CPU
4.3 Hoạt động CPU Chu trình lệnh
Nhận lệnh
Giải mã lệnh
Nhận toán hạng
Thực lệnh
Cất toán hạng
Ngắt
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.58
Chương 4: CPU Nhận lệnh
CPU đưa địa lệnh cần nhận từ
đếm chương trình PC bus địa
CPU phát tín hiệu điều khiển đọc nhớ Lệnh từ nhớ đặt lên bus liệu
được CPU copy vào ghi lệnh IR
CPU tăng nội dung PC để trỏ sang lệnh kế
tiếp
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.59
Chương 4: CPU
Sơ đồ mô tả trình nhận lệnh
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.60
Chương 4: CPU Giải mã lệnh
Lệnh từ ghi lệnh IR đưa đến
đơn vị điều khiển
Đơn vị điều khiển tiến hành giải mã lệnh để
xác định thao tác phải thực
(59)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.61
Chương 4: CPU Nhận liệu
CPU đưa địa toán hạng bus địa
chỉ
CPU phát tín hiệu điều khiển đọc Toán hạng đọc vào CPU Tương tự nhận lệnh
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.62
Chương 4: CPU
Nhận liệu gián tiếp
CPU đưa địa bus địa CPU phát tín hiệu điều khiển đọc
Nội dung ngăn nhớ đọc vào CPU,
chính địa toán hạng
Địa CPU phát bus địa để
tìm tốn hạng
CPU phát tín hiệu điều khiển đọc Toán hạng đọc vào CPU
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.63
Chương 4: CPU
Sơ đồ nhận toán hạng gián tiếp
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.64
Chương 4: CPU
Thực lệnh
Có nhiều dạng tuỳ thuộc vào lệnh Có thể là:
Đọc/Ghi nhớ
Vào/Ra
Chuyển ghi Thao tác số học/logic
(60)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.65
Chương 4: CPU
Ghi toán hạng
CPU đưa địa bus địa
CPU đưa liệu cần ghi bus liệu CPU phát tín hiệu điều khiển ghi
Dữ liệu bus liệu copy đến vị trí
xác định
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.66
Chương 4: CPU
Sơ đồ mô tả q trình ghi tốn hạng
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.67
Chương 4: CPU
Ngắt
Nội dung đếm chương trình PC (địa trở
về sau ngắt) đưa bus liệu
CPU đưa địa (thường lấy từ trỏ ngăn
xếp SP) bus địa
CPU phát tín hiệu điều khiển ghi nhớ
Địa trở bus liệu ghi vị trí xác
định (ở ngăn xếp)
Địa lệnh chương trình điều
khiển ngắt nạp vào PC
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.68
Chương 4: CPU
(61)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.69
Chương 4: CPU
2 Đường ống lệnh (Instruction Pipelining)
Chia chu trình lệnh thành cơng đoạn cho phép
thực gối lên (như dây chuyền lắp ráp)
Chẳng hạn có cơng đoạn:
Nhận lệnh (Fetch Instruction – FI) Giải mã lệnh (Decode Instruction – DI)
Tính địa toán hạng (Calculate Operand Address – CO) Nhận toán hạng (Fetch Operands – FO)
Thực lệnh (Execute Instruction – EI) Ghi toán hạng (Write Operands – WO)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.70
Chương 4: CPU
Biểu đồ thời gian đường ống lệnh
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.71
Chương 4: CPU
Các xung đột đường ống lệnh
Xung đột cấu trúc: nhiều công đoạn
dùng chung tài nguyên
Xung đột liệu: lệnh sau sử dụng liệu
kết lệnh trước
Xung đột điều khiển: rẽ nhánh gây
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.72
Chương 4: CPU
(62)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.73
Chương 4: CPU
Các đơn vị xử lý liệu Các đơn vị số nguyên
Các đơn vị số dấu chấm động Các đơn vị chức đặc biệt
Đơn vị xử lý liệu âm Đơn vị xử lý liệu hình ảnh Đơn vị xử lý liệu vector
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.74
Chương 4: CPU Bộ nhớ cache
Được tích hợp chip vi xử lý Bao gồm hai mức cache
Cache L1 gồm hai phần tách rời: Cache lệnh
Cache liệu
Ỉ Giải xung đột nhận lệnh liệu
Cache L2
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.75
Chương 4: CPU
Đơn vị quản lý nhớ
Chuyển đổi địa ảo thành địa vật lý Cung cấp chế phân trang/phân đoạn Cung cấp chế độ bảo vệ nhớ
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.76
Chương 4: CPU
4.5 Kiến trúc Intel
Kiến trúc 4-bit: 4004
Kiến trúc 8-bit: 8008, 8080, 8085
Kiến trúc 16-bit: 8086/8088, 80186, 80286 Kiến trúc 32-bit: 80386, 80486,
Pentium, Pentium II Celeron, Pentium III, Pentium IV
(63)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.77
Chương 4: CPU
1 Kiến trúc 16-bit (IA-16) Các ghi bên trong: 16-bit
Xử lý phép toán số nguyên với 16-bit Quản lý nhớ theo đoạn 64 KBytes Mở đầu cho dịng máy tính IBM-PC
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.78
Chương 4: CPU
2 Kiến trúc 32-bit (IA-32)
Các ghi bên trong: 32 bit
Xử lý phép toán số nguyên với 32-bit Có chế độ làm việc
Chế độ 8086 thực (Real 8086 mode): làm việc
như xử lý 8086
Chế độ 8086 ảo (Virtual 8086 mode): làm việc
như nhiều xử lý 8086 (đa nhiệm 16-bit)
Chế độ bảo vệ (Protected mode) Đa nhiệm 32-bit
Quản lý nhớ ảo
Xử lý phép toán số dấu chấm động (từ
80486)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 4.79
Chương 4: CPU
3 Kiến trúc 64-bit (IA-64) Các ghi bên trong: 64 bit
Xử lý phép toán số nguyên với 64-bit Xử lý phép toán số dấu chấm động Khơng tương thích phần cứng với xử
lý trước
Tương thích phần mềm cách giả lập
(64)Chương 5
BỘ NHỚ MÁY TÍNH
Phạm Quang Dũng
Bộ mơn Khoa học máy tính - Khoa CNTT Trường Đại học Nông nghiệp I – Hà Nội website: www.hau1.edu.vn/it/pqdung ĐT: (04) 8766318 DĐ: 0988.149.189
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.2
Chương 5: Bộ nhớ máy tính
Nội dung chương 5
5.1 Tổng quan hệ thống nhớ 5.2 Bộ nhớ bán dẫn
5.3 Bộ nhớ 5.4 Bộ nhớ cache 5.5 Bộ nhớ
5.6 Hệ thống nhớ máy tính cá nhân
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.3
Chương 5: Bộ nhớ máy tính
5.1 Tổng quan hệ thống nhớ
1 Các đặc trưng hệ thống nhớ
Vị trí
Bên CPU:
tập ghi
Bộ nhớ
nhớ nhớ cache
Bộ nhớ ngoài: thiết bị nhớ Dung lượng
Độ dài từ nhớ (tính bit: 16, 32 bit) Số lượng từ nhớ
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.4
Chương 5: Bộ nhớ máy tính
Các đặc trưng hệ thống nhớ (tiếp) Đơn vị truyền
Từ nhớ (word)
Khối nhớ (block)
Phương pháp truy nhập
Truy nhập (băng từ) Truy nhập trực tiếp (các loại đĩa)
Truy nhập ngẫu nhiên (bộ nhớ bán dẫn)
(65)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.5
Chương 5: Bộ nhớ máy tính
Các đặc trưng hệ thống nhớ (tiếp) Hiệu
Thời gian truy nhập
Chu kỳ nhớ
Tốc độ truyền
Kiểu vật lý
Bộ nhớ bán dẫn
Bộ nhớ từ
Bộ nhớ quang
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.6
Chương 5: Bộ nhớ máy tính
Các đặc trưng hệ thống nhớ (tiếp) Các đặc tính vật lý
Khả biến/Khơng khả biến
(volatile/nonvolatile)
Xóa được/Khơng xóa
Tổ chức
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.7
Chương 5: Bộ nhớ máy tính
2 Phân cấp hệ thống nhớ
Từ trái sang phải:
dung lượng tăng dần tốc độ giảm dần giá thành/1 bit giảm dần
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.8
Chương 5: Bộ nhớ máy tính
5.2 Bộ nhớ bán dẫn
1 Phân loại
Kiểu nhớ Tiêu chuẩn
Khả
xóa Cơ chế ghi
Tính khả biến
Read Only Memory
(ROM) Mặt nạ
Programmable ROM (PROM)
Erasable PROM (EPROM)
Bằng tia cực tím, chip Electrically Erasable
PROM (EEPROM)
Bằng điện, mức byte Flash Memory Bằng điện,
mức khối Random Access
Memory (RAM)
Bằng điện,
mức byte Khả biến Bộ nhớ
đọc-ghi Bộ nhớ
chỉ đọc Bằng điện
(66)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.9
Chương 5: Bộ nhớ máy tính
ROM (Read Only Memory)
Bộ nhớ không khả biến Lưu trữ thông tin sau:
Thư viện chương trình
Các chương trình điều khiển hệ thống (BIOS)
Các bảng chức
Vi chương trình
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.10
Chương 5: Bộ nhớ máy tính
Các kiểu ROM
ROM mặt nạ:
thông tin ghi sản xuất đắt
PROM (Programmable ROM)
Cần thiết bị chuyên dụng để ghi
chương trình → ghi lần
EPROM (Erasable PROM)
Cần thiết bị chuyên dụng để ghi
chương trình → ghi nhiều lần
Trước ghi lại, xóa tia cực tím
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.11
Chương 5: Bộ nhớ máy tính
Các kiểu ROM (tiếp)
EEPROM (Electrically Erasable PROM)
Có thể ghi theo byte
Xóa điện
Flash Memory (Bộ nhớ cực nhanh)
Ghi theo khối
Xóa điện
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.12
Chương 5: Bộ nhớ máy tính
RAM (Random Access Memory)
Bộ nhớ đọc-ghi (Read/Write Memory) Khả biến
(67)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.13
Chương 5: Bộ nhớ máy tính
SRAM (Static RAM) - RAM tĩnh
Các bit lưu trữ Flip-Flop
→ thông tin ổn định
Cấu trúc phức tạp Dung lượng chip nhỏ Tốc độ nhanh
Đắt tiền
Dùng làm nhớ cache
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.14
Chương 5: Bộ nhớ máy tính
DRAM (Dynamic RAM) - RAM động
Các bit lưu trữ tụ điện
→ cần phải có mạch làm tươi
Cấu trúc đơn giản Dung lượng lớn Tốc độ chậm Rẻ tiền
Dùng làm nhớ
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.15
Chương 5: Bộ nhớ máy tính
Các DRAM tiên tiến
Enhanced DRAM Cache DRAM
Synchronous DRAM (SDRAM): làm việc
được đồng xung đồng hồ
DDR-SDRAM (Double Data Rate SDRAM) Rambus DRAM (RDRAM)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.16
Chương 5: Bộ nhớ máy tính
2 Tổ chức chip nhớ
(68)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.17
Chương 5: Bộ nhớ máy tính
Các tín hiệu chip nhớ
Các đường địa chỉ: An-1÷ A0→ có 2n từ nhớ Các đường liệu: Dm-1 ÷ D0 → độ dài từ
nhớ = m bit
Dung lượng chip nhớ = 2nxm bit Các đường điều khiển:
Tín hiệu chọn chip CS (Chip Select)
Tín hiệu điều khiển đọc OE (Output Enable) Tín hiệu điều khiển ghi WE (Write Enable)
Các tín hiệu điều khiển tích cực với mức
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.18
Chương 5: Bộ nhớ máy tính
Tổ chức DRAM
Dùng n đường địa dồn kênh → cho phép
truyền 2n bit địa
Tín hiệu chọn địa hàng RAS
(Row Address Select)
Tín hiệu chọn địa cột CAS
(Column Address Select)
Dung lượng DRAM = 22nxm bit
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.19
Chương 5: Bộ nhớ máy tính
Chip nhớ
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.20
Chương 5: Bộ nhớ máy tính
3 Thiết kế mơ-đun nhớ bán dẫn
Dung lượng chip nhớ = 2nxm bit Cần thiết kế để tăng dung lượng:
(69)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.21
Chương 5: Bộ nhớ máy tính
Tăng độ dài từ nhớ
VD1:
Cho chip nhớ SRAM 4K x4 bit
Thiết kế mô-đun nhớ 4K x8 bit Giải:
Dung lượng chip nhớ = 212x4 bit
chip nhớ có: 12 chân địa chân liệu mơ-đun nhớ cần có:
12 chân địa chân liệu
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.22
Chương 5: Bộ nhớ máy tính
Ví dụ tăng độ dài từ nhớ
A11÷A0 D3÷D0 A11÷A0
A11÷A0
D3÷D0 D3÷D0 D7÷D4
CS
WE OE
CS CS
OE
OE WE
WE
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.23
Chương 5: Bộ nhớ máy tính
Bài tốn tăng độ dài từ nhớ tổng quát Cho chip nhớ 2nxm bit
Thiết kế mô-đun nhớ 2nx(k.m) bit Dùng k chip nhớ
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.24
Chương 5: Bộ nhớ máy tính
Tăng số lượng từ nhớ
VD2:
Cho chip nhớ SRAM 4K x8 bit
Thiết kế mô-đun nhớ 8K x8 bit Giải:
Dung lượng chip nhớ = 212x8 bit chip nhớ có:
12 chân địa chân liệu
Dung lượng mô-đun nhớ = 213x8 bit: 13 chân địa
(70)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.25
Chương 5: Bộ nhớ máy tính
Ví dụ tăng số lượng từ nhớ
A 0
0
0 1 x
G Y0 Y1
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.26
Chương 5: Bộ nhớ máy tính
Bộ giải mã 2→4
B A 0 0
0 0 1 1
0 1 1 1 1 1 1 x x 1 1
G Y0 Y1 Y2 Y3
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.27
Chương 5: Bộ nhớ máy tính
Bài tập
1 Tăng số lượng từ nhớ gấp lần:
Cho chip nhớ SRAM 4K x8 bit
Thiết kế mô-đun nhớ 16K x8 bit
2 Tăng số lượng từ nhớ gấp lần:
Cho chip nhớ SRAM 4K x8 bit
Thiết kế mô-đun nhớ 32K x8 bit
3 Thiết kế kết hợp:
Cho chip nhớ SRAM 4K x4 bit
Thiết kế mô-đun nhớ 8K x8 bit
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.28
Chương 5: Bộ nhớ máy tính
5.3 Bộ nhớ chính
1 Các đặc trưng
Chứa chương trình thực
dữ liệu sử dụng
Tồn hệ thống máy tính
Bao gồm ngăn nhớ đánh địa trực tiếp
bởi CPU
Dung lượng nhớ nhỏ không gian
địa nhớ mà CPU quản lý
Việc quản lý logic nhớ tùy thuộc vào hệ
(71)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.29
Chương 5: Bộ nhớ máy tính
2 Tổ chức nhớ đan xen
Độ rộng bus liệu để trao đổi với
nhớ: m = 8, 16, 32, 64, 128 … bit
Các ngăn nhớ tổ chức theo byte
→ tổ chức nhớ vật lý khác
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.30
Chương 5: Bộ nhớ máy tính
m=8 bit → băng nhớ tuyến tính
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.31
Chương 5: Bộ nhớ máy tính
m=16 bit → hai băng nhớ đan xen 2i AN-1 ÷ A1
D7 ÷ D0
2i+1 Băng Băng BE0 BE1
D15 ÷ D8
Bộ tạo tín hiệu chọn byte BE1 BE0 A0 B W Chọn byte
0 Chọn byte Chọn byte cao Chọn byte thấp 1 Không chọn
BE1 BE0
Các tín hiệu chọn byte:
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.32
Chương 5: Bộ nhớ máy tính
m=32 bit → bốn băng nhớ đan xen 12 16 4i AN-1 ÷ A2
D7 ÷ D0
13 17 4i+1 Băng Băng BE0 BE1
D15 ÷ D8
Bộ tạo tín hiệu chọn byte BE3 BE0 A0 B W 10 14 18 4i+2 Băng BE2 D23 ÷ D16
3 11 15 19 4i+3 Băng BE3 D31 ÷ D24
BE2 BE1 A1
(72)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.33
Chương 5: Bộ nhớ máy tính
m=64 bit → tám băng nhớ đan xen
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.34
Chương 5: Bộ nhớ máy tính
5.4 Bộ nhớ đệm nhanh (cache memory) Nguyên tắc chung
Cache có tốc độ nhanh nhớ
Cache đặt CPU nhớ nhằm tăng tốc
độ truy nhập nhớ CPU
Cache đặt chip CPU
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.35
Chương 5: Bộ nhớ máy tính
Ví dụ thao tác cache
CPU yêu cầu nội dung ngăn nhớ CPU kiểm tra cache với liệu Nếu có, CPU nhận liệu từ cache (nhanh) Nếu khơng có, đọc block nhớ chứa liệu
từ nhớ vào cache
Tiếp chuyển liệu từ cache vào CPU
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.36
Chương 5: Bộ nhớ máy tính
Cấu trúc chung cache/bộ nhớ chính
B0 B1 B2 B3 B4 B5 Bi
Bp-1 L0
L1 L2 L3 Li Lm-1
Bộ nhớ Cache
Tag
(73)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.37
Chương 5: Bộ nhớ máy tính
Cấu trúc chung cache/bộ nhớ chính
Một số Block nhớ nạp vào Line
của cache
Nội dung Tag (thẻ nhớ) cho biết block nhớ
chính chứa line
Khi CPU truy nhập (đọc/ghi) từ nhớ, có khả
năng xảy ra:
Từ nhớ có cache (cache hit) Từ nhớ khơng có cache (cache miss)
Vì số line cache số block nhớ chính,
cần có thuật giải ánh xạ thơng tin nhớ vào cache
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.38
Chương 5: Bộ nhớ máy tính
2 Các phương pháp ánh xạ địa chỉ a) Ánh xạ trực tiếp (Direct mapping)
Mỗi block nhớ nạp vào
line cache
Quy ước nạp: B0→ L0 B1→ L1
Bm-1 → Lm-1 Bm → L0 Bm+1 → L1
L0: B0, Bm, B2m
L1: B1, Bm+1, B2m+1
Ỉ Bjchỉ nạp vào Lj mod m
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.39
Chương 5: Bộ nhớ máy tính
Ánh xạ trực tiếp (tiếp)
B0 B1 B2 B3 B4 B5 Bi Bp-1 L0 L1 L2 L3 Li Lm-1
Bộ nhớ Cache
Tag Line Byte
So sánh n1 n2 n3 N bit cache hit cache miss = (2) (3.1) (3.2) (1)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.40
Chương 5: Bộ nhớ máy tính
Ánh xạ trực tiếp (tiếp)
Địa CPU phát có N bit, chia thành
trường:
Trường Byte (có n1 bit) để xác định byte nhớ
trong Line (Block)
2n1= kích thước Line
Trường Line (có n2bit) để xác định Line
Cache
2n2= số Line Cache
Ỉ Dung lượng Cache = 2n1* 2n2= 2n1+n2 Trường Tag (có n3bit): số bit lại
(74)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.41
Chương 5: Bộ nhớ máy tính
b) Ánh xạ liên kết toàn phần
Fully Associative Mapping
Mỗi block nạp vào line
của cache
Địa nhớ CPU phát chia thành
2 phần: tag byte
Để kiểm tra xem block có cache hay
khơng, phải đồng thời kiểm tra tất tag line cache
Ỉ Cần mạch phức tạp để kiểm tra
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.42
Chương 5: Bộ nhớ máy tính
Ánh xạ liên kết toàn phần (tiếp)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.43
Chương 5: Bộ nhớ máy tính
c) Ánh xạ liên kết tập hợp
Set Associative Mapping
Là phương pháp dung hòa phương pháp Chia cache thành tập: S0, S1, S2
Mỗi Set có số Line (2, 4, 8, 16 Line)
vd Set có line: 2-way Set Associative Mapping
Mỗi block nạp vào line Set
định:
B0→ S0 B1→ S1
Bk-1 → Sk-1 Bk → S0
Địa CPU phát có trường: Tag, Set, Byte
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.44
Chương 5: Bộ nhớ máy tính
(75)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.45
Chương 5: Bộ nhớ máy tính
Ví dụ
Hệ thống có: nhớ = 256 MB
Cache = 128 KB Line = 16 Byte
Xác định số bit trường địa
Ánh xạ trực tiếp
Ánh xạ liên kết tập hợp Line/Set
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.46
Chương 5: Bộ nhớ máy tính
Ví dụ (tiếp)
1) 2N= 256.220= 228Ỉ N = 28 bit
Tính cho trường Byte:
Kích thước line = 16 = 24Byte Ỉ n 1= bit
Tính cho trường Line:
Số line Cache: 128.210/16 = 213 Ỉ n
2= 13 bit
Tính cho trường Tag:
n3= N - (n1 + n2) = 28 - (4 + 13) = 11 bit 2) - Trường Byte: n1= bit
- Trường Set:
Số Set = Số line/4 = 213/4 = 211 Ỉ n
2 = 11 bit - Trường Tag: n3= N - (n1 + n2) = 28 - (4 + 11) = 13 bit
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.47
Chương 5: Bộ nhớ máy tính
3 Các thuật giải thay block cache
Khi CPU truy nhập thông tin mà khơng
có cache (cache miss) nạp block chứa thơng tin vào cache để thay block cũ cache
Ánh xạ trực tiếp Ỉ có cách nạp Ỉ
không cần thuật giải để nạp
phương pháp ánh xạ liên kết Ỉ cần có
thuật giải để lựa chọn thay
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.48
Chương 5: Bộ nhớ máy tính
Các thuật giải thay block cache (tiếp)
1 Random: thay block cách ngẫu nhiên
2 FIFO (First In, First Out): thay block tồn lâu toàn cache ánh xạ liên kết
toàn phần, set ánh xạ liên kết tập hợp.
3 LFU (Least Frequently Used): thay block có số lần truy nhập
(76)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.49
Chương 5: Bộ nhớ máy tính
4 Phương pháp ghi liệu cache hit Ghi xuyên qua (Write through)
ghi cache nhớ
tốc độ chậm
Ghi trả sau (Write back)
ghi cache
tốc độ nhanh
block cache bị thay cần phải
ghi trả block nhớ
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.50
Chương 5: Bộ nhớ máy tính
5 Cache xử lý Intel
80386: khơng có cache chip 80486: 8KB
Pentium: có cache L1 chip cache lệnh = 8KB
cache liệu = 8KB
Pentium 4: hai mức cache L1 L2 chip Cache L1:
cache L1, cache 8KB kích thước Line = 64 byte
Cache L2:
256 KB - MB
kích thước Line = 128 byte
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.51
Chương 5: Bộ nhớ máy tính
Sơ đồ Pentium 4
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.52
Chương 5: Bộ nhớ máy tính
5.5 Bộ nhớ ngồi Các kiểu nhớ
Đĩa từ (Magnetic Disk) Đĩa quang (Optical Disk) Flash Disk
(77)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.53
Chương 5: Bộ nhớ máy tính
2 Đĩa từ (Platter)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.54
Chương 5: Bộ nhớ máy tính
Các đặc tính đĩa từ
Đầu từ cố định hay đầu từ di động Đĩa cố định hay thay đổi
Một mặt hay hai mặt Một đĩa hay nhiều đĩa Cơ chế đầu từ
Tiếp xúc (đĩa mềm)
Không tiếp xúc
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.55
Chương 5: Bộ nhớ máy tính
Nhiều đĩa (Multiple Platters)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.56
Chương 5: Bộ nhớ máy tính
(78)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.57
Chương 5: Bộ nhớ máy tính
Đĩa mềm
8”, 5.25”, 3.5”
Dung lượng nhỏ: tới 1.44 MB Tốc độ chậm (360 rpm)
Thông dụng Rẻ tiền
Tương lai khơng dùng nữa?
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.58
Chương 5: Bộ nhớ máy tính
Đĩa cứng
Một nhiều đĩa Thông dụng
Dung lượng tăng lên nhanh
1993: 200 MB
2005: 30 GB, 40 GB, 80 GB, 120 GB …
Tốc độ đọc/ghi nhanh (5400, 7200 rpm) Rẻ tiền
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.59
Chương 5: Bộ nhớ máy tính
RAID
Redundant Array of Inexpensive Disks Redundant Array of Independent Disks
Tập đĩa cứng vật lý HĐH coi ổ
logic
Dữ liệu lưu trữ phân tán ổ đĩa vật lý Có thể sử dụng dung lượng dư thừa để lưu trữ
thông tin kiểm tra chẵn lẻ, cho phép khôi phục lại thông tin trường hợp đĩa bị hỏng
loại phổ biến (RAID 0-6)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.60
Chương 5: Bộ nhớ máy tính
3 Đĩa quang
CD-ROM (Compact Disk ROM) CD-R (Recordable CD) CD-RW (Rewriteable CD) Dung lượng thông dụng 700 MB Ổ đĩa CD:
Ổ đĩa CD-ROM
Ổ CD-Writer: ghi phiên ghi nhiều phiên Ổ CD-RW
(79)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.61
Chương 5: Bộ nhớ máy tính
Đĩa quang (tiếp)
DVD
Digital Video Disk: dùng ổ đĩa xem
video
Digital Versatile Disk: ổ máy tính
Ghi hai mặt
Một hai lớp mặt
Thông dụng: 4,7 GB/lớp
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.62
Chương 5: Bộ nhớ máy tính
4 Flash Disk
Bộ nhớ bán dẫn cực nhanh (flash memory) Thường kết nối qua cổng USB
Không phải dạng đĩa
Dung lượng tăng nhanh (64 MB – GB) Thuận tiện
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.63
Chương 5: Bộ nhớ máy tính
5.6 Hệ thống nhớ PC nay
Bộ nhớ cache: tích hợp chip vi xử lý Bộ nhớ chính: tồn dạng mơ-đun
nhớ RAM
SIMM – Single Inline Memory Module
30 chân: đường liệu 72 chân: 32 đường liệu
DIMM - Dual Inline Memory Module
168 chân: 64 đường liệu
RIMM – Rambus DRAM
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 5.64
Chương 5: Bộ nhớ máy tính
Hệ thống nhớ PC (tiếp)
ROM BIOS chứa chương trình sau: Chương trình POST (Power On Self Test) Chương trình CMOS Setup
Chương trình Bootstrap loader
Các trình điều khiển vào-ra (BIOS) CMOS RAM:
Cấu hình hệ thống Đồng hồ hệ thống Có pin ni riêng
(80)Chương 6
HỆ THỐNG VÀO-RA
Phạm Quang Dũng
Bộ mơn Khoa học máy tính - Khoa CNTT Trường Đại học Nông nghiệp I – Hà Nội website: www.hau1.edu.vn/it/pqdung ĐT: (04) 8766318 DĐ: 0988.149.189
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.2 Chương 6: Hệ thống vào-ra
Nội dung chương 6
6.1 Tổng quan hệ thống vào-ra 6.2 Các phương pháp điều khiển vào-ra 6.3 Nối ghép thiết bị ngoại vi
6.4 Các cổng vào-ra thông dụng PC
Chương 6: Hệ thống vào-ra
6.1 Tổng quan hệ thống vào-ra
1 Giới thiệu chung
Chức hệ thống vào-ra: Trao đổi
thông tin máy tính với giới bên ngồi
Các thao tác bản: Vào liệu (Input) Ra liệu (Output) Các thành phần
Các thiết bị ngoại vi
Các môđun vào-ra
Chương 6: Hệ thống vào-ra
Đặc điểm vào-ra
Tồn đa dạng thiết bị ngoại vi (TBNV)
khác về:
Nguyên tắc hoạt động Tốc độ
Khuôn dạng liệu
Tất TBNV chậm CPU RAM
(81)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.5 Chương 6: Hệ thống vào-ra
2 Các TBNV
Chức năng: chuyển đổi liệu bên
trong bên ngồi máy tính
Phân loại:
TBNV giao tiếp người-máy: chuột, bàn phím,
màn hình, máy in,…
TBNV giao tiếp máy-máy: gồm thiết bị
theo dõi kiểm tra
TBNV truyền thông:
modem (modulator/demodulator), Network Interface Card (NIC, card mạng)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.6 Chương 6: Hệ thống vào-ra
Cấu trúc chung TBNV
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.7 Chương 6: Hệ thống vào-ra
Các thành phần TBNV
Bộ chuyển đổi tín hiệu: chuyển đổi liệu
giữa bên bên máy tính
Bộ đệm liệu: đệm liệu truyền
giữa môđun vào-ra TBNV
Khối logic điều khiển: điều khiển hoạt động
của TBNV đáp ứng theo yêu cầu từ môđun vào-ra
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.8 Chương 6: Hệ thống vào-ra
3 Môđun vào-ra
Chức năng:
Điều khiển định thời Trao đổi thông tin với CPU Trao đổi thông tin với TBNV
(82)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.9 Chương 6: Hệ thống vào-ra
Cấu trúc chung môđun vào-ra
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.10 Chương 6: Hệ thống vào-ra
Các thành phần môđun vào-ra
Thanh ghi đệm liệu: đệm liệu
quá trình trao đổi
Các cổng vào-ra (I/O Port): kết nối với
TBNV, cổng có địa xác định
Thanh ghi trạng thái/điều khiển: lưu giữ
thông tin trạng thái/điều khiển cho cổng vào-ra
Khối logic điều khiển: điều khiển môđun
vào-ra
Chương 6: Hệ thống vào-ra
4 Các phương pháp địa hóa cổng vào-ra
a Khơng gian địa xử lý
Một số xử lý quản lý
một không gian địa nhất, gọi không gian địa nhớ
N bit địa → có 2N địa Ví dụ: xử lý 680x0
của Motorola
000 000
Không gian địa nhớ
000 001 000 010 000 011 000 100 000 101
111 111 N bit
Chương 6: Hệ thống vào-ra
Không gian địa xử lý (tiếp)
Một số xử lý quản lý hai không gian địa
chỉ tách biệt
(83)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.13 Chương 6: Hệ thống vào-ra
Hai không gian địa tách biệt xử lý
000 000
Không gian địa nhớ
000 001 000 010 000 011 000 100 000 101 111 111 N bit 00 00 Không gian địa vào-ra
00 01 00 10 00 11 11 11 N1bit
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.14 Chương 6: Hệ thống vào-ra
Hai không gian địa tách biệt xử lý (tiếp)
Đặc điểm xử lý có hai khơng gian địa chỉ:
Có tín hiệu điều khiển phân biệt truy nhập không
gian địa nhớ hay không gian địa vào-ra
Tập lệnh có lệnh vào-ra chuyên dụng (IN, OUT)
Ví dụ: Các xử lý 80x86 Pentium (Intel)
Pentium
Không gian địa nhớ = 232 byte = GB Không gian địa vào-ra = 216byte = 64 KB
Tín hiệu điều khiển:
Hai lệnh vào-ra chuyên dụng: IN, OUT
IO M/
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.15 Chương 6: Hệ thống vào-ra
b Các phương pháp địa hóa cổng vào-ra
Vào-ra theo đồ nhớ
(Memory mapped IO)
Vào-ra riêng biệt
(Isolated IO hay IO mapped IO)
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.16 Chương 6: Hệ thống vào-ra
Vào-ra theo đồ nhớ
Cổng vào-ra đánh địa theo không
gian địa nhớ
Vào-ra giống đọc/ghi nhớ
CPU trao đổi liệu với cổng vào-ra thông
qua lệnh truy nhập liệu nhớ
(84)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.17 Chương 6: Hệ thống vào-ra
Vào-ra riêng biệt
Cổng vào-ra đánh địa theo không
gian địa vào-ra riêng biệt
CPU trao đổi liệu với cổng vào-ra thông
qua lệnh vào-ra chuyên dụng (IN, OUT)
Chỉ thực hệ thống có
không gian địa vào-ra riêng biệt
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.18 Chương 6: Hệ thống vào-ra
6.2 Các phương pháp điều khiển vào-ra
Vào-ra chương trình
(Programmed IO)
Vào-ra điều khiển ngắt
(Interrupt Driven IO)
Truy nhập nhớ trực tiếp – DMA
(Direct Memory Access)
Chương 6: Hệ thống vào-ra
1 Vào-ra chương trình
Nguyên tắc chung: CPU điều khiển trực tiếp
vào-ra chương trình Kiểm tra trạng thái TBNV Phát tín hiệu điều khiển đọc/ghi Trao đổi liệu
Chương 6: Hệ thống vào-ra
Lưu đồ chương trình
Đọc trạng thái mơđun vào-ra
Mơđun vào-ra có sẵn sàng?
Trao đổi liệu với môđun vào-ra
(85)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.21 Chương 6: Hệ thống vào-ra
Hoạt động vào-ra chương trình
CPU yêu cầu thao tác vào-ra
Môđun vào-ra thực thao tác
Môđun vào-ra thiết lập bit trạng thái
CPU kiểm tra bit trạng thái:
Nếu chưa sẵn sàng quay lại kiểm tra Nếu sẵn sàng chuyển sang trao đổi
liệu với môđun vào-ra
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.22 Chương 6: Hệ thống vào-ra
Đặc điểm
Vào-ra ý muốn người lập trình
CPU trực tiếp điều khiển vào-ra
CPU đợi môđun vào-ra → tiêu tốn thời gian
của CPU
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.23 Chương 6: Hệ thống vào-ra
2 Vào-ra điều khiển ngắt
Nguyên tắc chung:
CPU đợi trạng thái sẵn sàng
môđun vào-ra, CPU thực chương trình
Khi mơđun vào-ra sẵn sàng phát tín
hiệu ngắt CPU
CPU thực chương trình vào-ra
tương ứng để trao đổi liệu
CPU trở lại tiếp tục thực chương trình
đang bị ngắt
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.24 Chương 6: Hệ thống vào-ra
Chuyển điều khiển đến chương trình ngắt
lệnh lệnh lệnh lệnh
lệnh i
lệnh i+1
RETURN
lệnh
lệnh
Chương trình thực
lệnh
Chương trình ngắt phục
vụ vào-ra
lệnh lệnh
(86)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.25 Chương 6: Hệ thống vào-ra
Hoạt động vào liệu: nhìn từ mơđun vào-ra
Mơđun vào-ra nhận tín hiệu điều khiển đọc
từ CPU
Môđun vào-ra nhận liệu từ TBNV,
khi CPU làm việc khác
Mơđun vào-ra phát tín hiệu ngắt CPU
CPU yêu cầu liệu
Môđun vào-ra chuyển liệu đến CPU
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.26 Chương 6: Hệ thống vào-ra
Hoạt động vào liệu: nhìn từ CPU
Phát tín hiệu điều khiển đọc
Làm việc khác
Cuối chu kỳ lệnh, kiểm tra tín hiệu ngắt
Nếu bị ngắt:
Cất ngữ cảnh (nội dung ghi) Thực chương trình ngắt để vào
liệu
Khôi phục ngữ cảnh chương trình
thực
Chương 6: Hệ thống vào-ra
Các phương pháp nối ghép ngắt
Sử dụng nhiều đường yêu cầu ngắt
Kiểm tra vòng phần mềm
(Software Poll)
Kiểm tra vòng phần cứng
(Daisy Chain hayHardware Poll)
Sử dụng điều khiển ngắt (PIC)
Chương 6: Hệ thống vào-ra
Nhiều đường yêu cầu ngắt
CPU phải có nhiều đường tín hiệu yêu cầu ngắt Hạn chế số lượng môđun vào-ra
(87)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.29 Chương 6: Hệ thống vào-ra
Kiểm tra vòng phần mềm
CPU thực phần mềm hỏi
môđun vào-ra
Chậm
Thứ tự môđun hỏi vịng thứ
tự ưu tiên
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.30 Chương 6: Hệ thống vào-ra
Kiểm tra vòng phần cứng
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.31 Chương 6: Hệ thống vào-ra
Kiểm tra vòng phần cứng (tiếp)
CPU phát tín hiệu chấp nhận ngắt (INTA) đến
mơđun vào-ra
Nếu mơđun vào-ra khơng gây ngắt gửi
tín hiệu đến môđun xác định môđun gây ngắt
Môđun vào-ra gây ngắt đặt vector ngắt lên bus
dữ liệu
CPU sử dụng vector ngắt để xác định nơi chứa
chương trình điều khiển ngắt
Thứ tự môđun vào-ra kết nối chuỗi xác
định thứ tự ưu tiên
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.32 Chương 6: Hệ thống vào-ra
Bộ điều khiển ngắt lập trình được
PIC – Programmable Interrupt Controller
PIC có nhiều đường vào yêu cầu ngắt có quy định mức ưu tiên PIC chọn yêu cầu ngắt không bị cấm có mức ưu tiên cao
nhất gửi tới CPU
(88)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.33 Chương 6: Hệ thống vào-ra
Đặc điểm vào-ra điều khiển ngắt
Có kết hợp phần cứng phần
mềm
Phần cứng: gây ngắt CPU Phần mềm: trao đổi liệu
CPU trực tiếp điều khiển vào-ra
CPU đợi môđun vào-ra → hiệu
quả sử dụng CPU tốt hơn
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.34 Chương 6: Hệ thống vào-ra
3 DMA (Direct Memory Access)
Vào-ra chương trình ngắt
CPU trực tiếp điều khiển: Chiếm thời gian CPU
Tốc độ bị hạn chế phải chuyển qua CPU
Để khắc phục dùng DMA
Thêm môđun phần cứng bus → DMAC
(DMA Controller)
DMAC điều khiển vào-ra không thông qua
CPU
Chương 6: Hệ thống vào-ra
Sơ đồ cấu trúc DMAC
Chương 6: Hệ thống vào-ra
Các thành phần DMAC
Thanh ghi liệu: chứa liệu trao đổi
Thanh ghi địa chỉ: chứa địa ngăn nhớ dữ
liệu
Bộ đếm liệu: chứa số từ liệu (word)
cần trao đổi
Logic điều khiển: điều khiển hoạt động
(89)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.37 Chương 6: Hệ thống vào-ra
Hoạt động DMA
CPU “nói” cho DMAC:
Vào hay liệu Địa thiết bị vào-ra
Địa đầu mảng nhớ chứa liệu → nạp vào
ghi địa
Số từ liệu cần truyền → nạp vào đếm liệu
CPU làm việc khác
DMAC điều khiển trao đổi liệu Sau truyền word thì:
nội dung ghi địa tăng nội dung đếm liệu giảm
Khi đếm liệu = 0, DMAC gửi tín hiệu ngắt CPU để
báo kết thúc DMA
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.38 Chương 6: Hệ thống vào-ra
Các kiểu thực DMA
DMA truyền theo khối (Block transfer DMA): DMAC
sử dụng bus để truyền xong khối liệu
DMA lấy chu kỳ (Cycle Stealing DMA): DMAC cưỡng
bức CPU treo tạm thời chu kỳ bus, DMAC chiếm bus thực truyền word
DMA suốt (Transparent DMA): DMAC nhận
biết chu kỳ CPU khơng sử dụng bus chiếm bus để trao đổi word
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.39 Chương 6: Hệ thống vào-ra
Cấu hình DMA (1)
Mỗi lần truyền, DMA sử dụng bus hai lần
Giữa môđun vào-ra với DMAC Giữa DMAC với nhớ
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.40 Chương 6: Hệ thống vào-ra
Cấu hình DMA (2)
DMAC điều khiển vài môđun vào-ra Mỗi lần truyền, DMAC sử dụng bus lần:
(90)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.41 Chương 6: Hệ thống vào-ra
Cấu hình DMA (3)
Bus vào-ra tách rời hỗ trợ tất thiết bị cho phép
DMA
Mỗi lần truyền, DMAC sử dụng bus lần:
Giữa DMAC với nhớ
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.42 Chương 6: Hệ thống vào-ra
Đặc điểm DMA
CPU không tham gia trình trao
đổi liệu
DMAC điều khiển trao đổi liệu bộ
nhớ với mơđun vào-ra (hồn tồn bằng phần cứng) → tốc độ nhanh
Phù hợp với u cầu trao đổi mảng dữ
liệu có kích thước lớn
Chương 6: Hệ thống vào-ra
4 Bộ xử lý vào-ra
Việc điều khiển vào-ra thực
một xử lý vào-ra chuyên dụng
Bộ xử lý vào-ra hoạt động theo chương
trình riêng nó
Chương trình xử lý vào-ra có thể
nằm nhớ nằm một nhớ riêng
Hoạt động theo kiến trúc đa xử lý
Chương 6: Hệ thống vào-ra
6.3 Nối ghép TBNV 1 Các kiểu nối ghép vào-ra
Nối ghép song song
(91)Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.45 Chương 6: Hệ thống vào-ra
Nối ghép song song
Truyền nhiều bit song song
Tốc độ nhanh
Cần nhiều đường truyền liệu
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.46 Chương 6: Hệ thống vào-ra
Nối ghép nối tiếp
Truyền bit
Cần có chuyển đổi từ liệu song song sang nối tiếp
hoặc/và ngược lại
Tốc độ chậm
Cần đường truyền liệu
Môđun vào-ra nối tiếp Đến
bus hệ thống
Đến TBNV
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.47 Chương 6: Hệ thống vào-ra
2 Các cấu hình nối ghép
Điểm tới điểm (Point to Point)
Thông qua cổng vào-ra nối ghép với
một TBNV
Điểm tới đa điểm (Point to Multi-point)
Thông qua cổng vào-ra cho phép nối
ghép với nhiều TBNV
Ví dụ:
SCSI (Small Computer System Interface):
15 thiết bị
USB (Universal Serial Bus): 127 thiết bị IEEE 1394 (FireWire): 63 thiết bị
Phạm Quang Dũng Bài giảng Kiến trúc máy tính 6.48 Chương 6: Hệ thống vào-ra
6.4 Các cổng vào-ra thông dụng PC
Các cổng PS/2: nối ghép bàn phím chuột
Cổng nối ghép hình
Cổng LPT (Line Printer): nối ghép với máy in,
cổng song song (Parallel Port) – 25 chân
Cổng COM (Communication): nối ghép với modem,
chuột, cổng nối tiếp (Serial Port) – chân 25 chân
Cổng USB (Universal Serial Bus): Cổng nối tiếp đa
năng, cho phép nối ghép tối đa 127 thiết bị, nhờ USB Hub