1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Khoa học máy tính - ĐH Nông nghiệp I

91 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 91
Dung lượng 2,87 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Khoa học máy tính - ĐH Nông nghiệp I với kết cấu gồm 6 chương giới thiệu những nội dung chính về máy tính và phân loại, hệ thống máy tính, biểu diễn dữ liệu và số học máy tính, bộ xử lý trung tâm, bộ nhớ máy tính và hệ thống vào - ra. Với các bạn đang học chuyên ngành công nghệ thông tin thì đây là tài liệu tham khảo hữu ích dành cho các bạn.

Trang 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

Nội dung chương 1

1.1 Máy tính và phân loại1.2 Kiến trúc máy tính1.3 Sự tiến hoá của 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 và phân loại

1 Máy tính

† 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 dãy các lệnh được nhớ sẵn bên

trong,

„ Đưa thông tin ra.

† Dãy các lệnh nằm trong bộ nhớ để yêu cầu máy

tính thực hiện công việc cụ thể được gọi là 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

Mô hình máy tính cơ bản

Trang 2

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.5

Mô hình phân lớp của máy tính

(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

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 hiện đại

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 nhất

† 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)

Trang 3

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.9

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.10

Máy tính nhúng (Embedded Computer)

† Được đặt trong thiết bị khác để điều khiển thiết

„ Router - bộ định tuyến trên mạng

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 của người lập trình.

† Tổ chức máy tính (Computer Organization): nghiên cứu cấu

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

Trang 4

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.13

Cấu trúc cơ bản của máy tính

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.14

Các thành phần cơ bản của máy tính

† Bộ xử lý trung tâm (Central Processing Unit):

Điều khiển hoạt động của máy tính và xử lý dữ liệu.

† Bộ nhớ chính (Main Memory): Chứa các chương trình và dữ liệu đang được sử dụng.

† Hệ thống vào ra (Input/Output System): Trao đổi thông tin giữa máy tính với bên ngoài.

† Liên kết hệ thống (System Interconnection):

Kết nối và vận chuyển thông tin giữa các thành phần với nhau.

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á của máy tính

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

Trang 5

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.17

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 là máy tính IAS:

„ Princeton Institute for Advanced Studies

„ Được bắt đầu từ 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 được lưu trữ” (stored-program concept) của von Neumann/Turing (1945)

Trang 6

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.21

Đặc điểm chính của máy tính IAS

† Bao gồm các thành phần: đơn vị điều khiển, đơn vị số

học và logic (ALU), bộ nhớ chính và các thiết bị vào ra.

† Bộ nhớ chính chứa chương trình và dữ liệu.

† Bộ nhớ chính được đánh địa chỉ theo từng ngăn nhớ,

không phụ thuộc vào nội dung của nó.

† ALU thực hiện các phép toán với số nhị phân.

† Đơn vị điều khiển nhận lệnh từ bộ nhớ, giải mã và thực

hiện lệnh một cách tuần tự.

† Đơn vị điều khiển điều khiển hoạt động của các thiết bị

vào-ra.

† Trở thành mô hình cơ bản của máy tính.

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.22

John von Neumann và 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 ra đời

„ Nhanh hơn

„ Bộ nhớ lớn hơ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

John Mauchly và UNIVAC

Trang 7

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.25

„ Máy tính lưu trữ chương trình đầu tiên của IBM

„ Sử dụng cho tính toán khoa học

„ 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) và 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

Corporation) máy tính mini đầu tiên

† Các ngôn ngữ lập trình bậc cao ra đời.

Trang 8

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.29

DEC's PDP-1 (1960)

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.30

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 và LSI

† Vi mạch (Integrated Circuit – IC): nhiều transistor

và các phần tử khác được tích hợp trên một 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) ra đời

„ Bộ xử lý đầu tiên Æ 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 trên chip sẽ gấp đôi sau 18 tháng

† Giá thành của chip hầu như không thay đổi

† Mật độ cao hơn, do vậy đường dẫn ngắn hơn

† Kích thước nhỏ hơn dẫn tới độ phức tạp tăng lên

† Điện năng tiêu thụ ít hơn

† Hệ thống có ít các chip liên kết với nhau, do đó tăng độ tin cậy

Trang 9

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.33

Tăng trưởng số transitor trong chip CPU

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.34

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

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

virtual memory

Trang 10

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.37

IBM 360/91

† Được thiết kế để xử lý dữ liệu tốc độ cao cho các ứ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 bài toán với 200 tỷ phép tính/ngày.

† 2-6 MB main memory, CPU có 5 đơ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

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ý dữ liệu vector

‰ 8 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

1977 - PC có tích hợp màn hình

Trang 11

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.41

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

Osborne 1 (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 chính của công nghệ VLSI:

† Bộ vi xử lý (Microprocessor): CPU được chế tạo trên

một chip.

† Vi mạch điều khiển tổng hợp (chipset): một hoặc

một vài vi mạch 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 (Semiconductor Memory): 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.

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 hiện đại

Trang 12

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 1.45

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

Siêu máy tính Earth Simulator của NEC (2002)

Earth Simulator tại Cơ quan Khoa học và 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 của 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 của IBM (2005)

‰ 131702 processor

‰ 32768 GB main memory

‰ 280600-367000 GFlops

Trang 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

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 của máy tính

† Bộ xử lý trung tâm (Central Processing Unit)

† Hệ thống vào ra (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

† Nguyên tắc hoạt động cơ bản:

CPU hoạt động theo chương trình nằm trong bộnhớ chính

Trang 14

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.5

Tập các thanh ghi (RF)

Đơn vị phối ghép bus (BIU)

bus điều khiển bus dữ liệu bus địa chỉ

bus bên trong

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 cơ bản của CPU

động của máy tính theo chương trình đã định sẵn.

ALU): thực hiện các phép toán số học và các phép toán logic trên các dữ liệu cụ thể.

† Tập thanh ghi (Register File - RF): lưu giữ các thông tin

tạm thời phục vụ cho hoạt động của CPU.

† Đơn vị nối ghép bus (Bus interface Unit - BIU): kết nối

và trao đổi thông tin giữa bus bên trong (internal bus)

và bus bên ngoài (external bus)

Chương 2: Hệ thống máy tính

Tốc độ của bộ xử lý

† Tốc độ của bộ xử lý:

„ Tính bằng số lệnh được thực hiện trong 1 giây

„ MIPS (Millions of Instructions per Second)

† Tần số xung nhịp của bộ xử lý:

có tần số xác định

thông qua tần số của xung nhịp

Trang 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 và dữ liệu

† Các thao tác cơ bản với bộ nhớ:

„ Ghi (Write)

† Các thành phần chính:

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.10

† Tổ chức thành các ngăn nhớ được đánh địa chỉ

† Ngăn nhớ thường được tổ chức theo byte

† Nội dung của ngăn nhớ có thể thay đổi, song địa chỉ vật lý của ngăn nhớ luôn cố định

00101011 11010101 00001010 01011000 11111011

0000 0001 0010 0011 0100

Trang 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 được đặt đệm giữa

CPU và bộ nhớ chính nhằm tăng tốc độ CPU

truy nhập bộ nhớ

† Dung lượng nhỏ hơn bộ nhớ chính

† Tốc độ nhanh hơn

† Cache thường được chia thành một số mức

† Cache có thể được tích hợp trên chip vi xử lý

† Cache có thể có hoặ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ớ ngoài (External memory)

† Chức năng và đặc điểm:

„ Được kết nối với hệ thống dưới dạng các thiết bịvào-ra

3 Hệ thống vào-ra (Input/Output System)

† Chức năng: trao đổi thông tin giữa máy tính

với thế giới bên ngoài

† Các thao tác cơ bản:

„ Vào dữ liệu (Input)

„ Ra dữ liệu (Output)

† Các thành phần chính:

„ Các thiết bị ngoại vi (Peripheral Devices)

Chương 2: Hệ thống máy tính

Cấu trúc cơ bản của 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 CPU và bộ nhớ chính

Trang 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 dữ liệu giữa bên trong

và bên ngoài máy tính

† Các loại thiết bị ngoại vi (TBNV) cơ bản:

„ Thiết bị vào: bàn phím, chuột, máy quét …

„ Thiết bị ra: màn hình, máy in …

„ Thiết bị nhớ: các ổ đĩa …

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 các TBNV với máy tính

† Mỗi môđun vào-ra có một hoặc một vài cổng vào-ra (I/O Port)

† Mỗi cổng vào-ra được đánh một địa chỉ xác định

† Các TBNV được kết nối và trao đổi dữ liệu với máy tính thông qua các 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 của máy tính

1 Thực hiện chương trình

† Là hoạt động cơ bản của máy tính

† Máy tính lặp đi lặp lại hai bước:

Trang 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

Quá trình nhận lệnh

† Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh từ

bộ nhớ chính

† Bộ đếm chương trình PC (Program Counter)

của CPU giữ địa chỉ của lệnh sẽ được nhận

† CPU nhận lệnh từ ngăn nhớ được trỏ bởi PC

† Lệnh được nạp vào thanh ghi lệnh IR

(Instruction Register)

† Sau khi lệnh được nhận vào, nội dung PC tự

động tăng để trỏ sang lệnh kế tiếp

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.22

† Các kiểu thao tác của lệnh:

„ Trao đổi dữ liệu giữa CPU và bộ nhớ chính

hoặc phép toán logic với các dữ liệu

chương trình con phục vụ ngắt.

† Các loại ngắt:

tràn số, chia cho 0 …

„ Ngắt do lỗi phần cứng, ví dụ: lỗi bộ nhớ RAM

CPU yêu cầu trao đổi dữ liệu

Trang 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 khi hoàn thành một lệnh, bộ xử lý kiểm tra tín hiệu

ngắt.

† Nếu không có ngắt Æ bộ xử lý nhận lệnh tiếp theo của

chương trình hiện tại.

† Nếu có tín hiệu ngắt:

„ Tạm dừng chương trình đang thực hiện

„ 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 con phục vụ ngắt

„ Chuyển sang thực hiện chương trình con phục vụ ngắt

„ Cuối chương trình con phục vụ ngắt, khôi phục ngữ cảnh và

tiếp tục chương trình đang 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

Chương trình đang thực hiện

lệnh

Chương trình con phục vụ ngắt

lệnh lệnh Ngắt ở đây

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.27

Chuyển đến chương trình con 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

„ Các ngắt được định nghĩa mức ưu tiên khác nhau

„ Ngắt có mức ưu tiên thấp hơn có thể bị ngắt bởi ngắt

ưu tiên cao hơn Æ xảy ra ngắt lồng nhau

Trang 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: là hoạt động trao đổi dữ liệu

giữa TBNV với bên trong máy tính

† Các kiểu hoạt động vào-ra:

„ CPU trao đổi dữ liệu với môđun vào-ra

nhớ chí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 về 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 với nhau

† Độ rộng bus: là số đường dây của bus có thểtruyền các bit thông tin đồng thời (chỉ dùng cho bus địa chỉ và bus dữ liệu)

† Phân loại cấu trúc bus:

Chương 2: Hệ thống máy tính

Bus đồng bộ và bus không đồng bộ

† Bus đồng bộ

„ Bus có đường tín hiệu Clock

nhịp Clock

† Bus không đồng bộ

cho một sự kiện tiếp theo

Chương 2: Hệ thống máy tính

2 Cấu trúc đơn bus

Trang 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 chỉ để xác định

ngăn nhớ hay cổng vào-ra

† Độ 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:

AN-1, AN-2, A2, A1, A0

Æ dung lượng bộ nhớ cực đại là 2N byte

(còn gọi là không gian địa chỉ bộ nhớ)

† Ví dụ: Bộ xử lý Intel Pentium có bus địa chỉ 32

bit Æ không gian địa chỉ là 232byte = 4 GB

Phạm Quang Dũng Bài giảng Kiến trúc máy tính 2.34

Bus điều khiển

† 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 phát ra từ CPU để điều khiển môđun

nhớ và 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 ra từ CPU để điều khiển ghi:

đọc-„ Memory Read (MEMR): điều khiển đọc dữ liệu từ

một ngăn nhớ có địa chỉ xác định lên bus dữ liệu

„ Memory Write (MEMW): điều khiển ghi dữ liệu

đến 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 lên bus dữ liệu

„ I/O Write (IOW): điều khiển ghi dữ liệu có sẵn

trên bus dữ liệu ra một cổng có địa chỉ xác định

Trang 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ừ bộ đ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 có thể bị che

„ Interrupt Acknowledge (INTA): tín hiệu phát ra

từ CPU báo cho bộ đ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 được gửi đến CPU

„ Reset: tín hiệu từ bên ngoài gửi đến CPU và các

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): hay là 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) hay là Hold Acknowledge (HLDA): tín hiệu phát ra từ CPU chấp nhận

Đặc điểm của cấu trúc đơn bus

† Bus hệ thống 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 hệ thống phải có tốc độ bằng tốc độ bus

của môđun nhanh nhất trong hệ thống

† Bus hệ thống phụ thuộc vào cấu trúc bus (các

tín hiệu) của bộ xử lý Æ các môđun nhớ và các

môđun vào-ra cũng phụ thuộc vào bộ xử lý

† Vì vậy 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 trong máy tính

† Phân cấp bus cho các thành phần:

† Phân cấp bus khác nhau về tốc độ

† Bus bộ nhớ chính và các bus vào-ra không phụthuộc vào bộ xử lý cụ thể

Trang 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 trong PC

† Bus của bộ xử lý (Front Side Bus - FSB): có tốc độ nhanh

nhất.

† Bus của bộ nhớ chính (nối ghép với các môđun RAM).

† AGP bus (Accelerated Graphic Port) - Bus đồ họa tăng

tốc: nối ghép card màn hình tăng tốc.

† PCI bus (Peripheral Component Interconnection): 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

† IDE (Integrated Driver Electronics): Bus kết nối với ổ đĩa

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 hơn một môđun điều khiển bus, vd CPU và DMA controller, nhưng tại một thời điểm chỉ duy nhất 1 mođun có thể điều khiển bus Æ cần phân xử bus.

† Sự phân xử bus có thể là tập trung hoặc phân tán

„ Phân xử tập trung: có một thiết bị phần cứng điều khiển sự truy nhập bus:

† Được gọi là Bộ điều khiển bus (Bus Controller) hay

Trọng tài bus (Arbiter)

† Có thể nằm trên CPU hoặc tách riêng

„ Phân xử phân tán: mỗi môđun có thể điều khiển bus, nhưng có sự điều khiển logic trên tất cả các môđun.

Trang 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 dữ liệu và số học máy tính

Nội dung chương 3

3.1 Các hệ đếm cơ bản3.2 Mã hoá và lưu trữ dữ liệu trong máy tính3.3 Biểu diễn số nguyên

3.4 Thực hiện các phép toán số học với số nguyên3.5 Số dấu chấm động

Trang 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 dữ liệu và 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.6

Chương 3: Biểu diễn dữ liệu và số học máy tính

2 Hệ nhị phân

† Cơ số 2

† 2 chữ số nhị phân: 0 và 1

† Chữ số nhị phân gọi là bit (binary digit)

† Bit là đơn vị thông tin nhỏ nhất

† Dùng n bit có thể biểu diễn được 2n giá trị khác nhau:

„ 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 dữ liệu và số học máy tính

Dạng tổng quát của số nhị phân

Có một số nhị phân A như sau:

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 dữ liệu và số học máy tính

Trang 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 dữ liệu và số học máy tính

Chuyển đổi số nguyên thập phân sang nhị phân

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 dữ liệu và số học máy tính

Phương pháp chia dần cho 2

Chương 3: Biểu diễn dữ liệu và số học máy tính

Chương 3: Biểu diễn dữ liệu và số học máy tính

Chuyển số lẻ thập phân sang nhị phân

Trang 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 dữ liệu và số học máy tính

Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)

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 dữ liệu và số học máy tính

Chuyển đổi số lẻ thập phân sang nhị phân (tiếp)

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 dữ liệu và 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: cứ một

nhóm 4 bit sẽ được thay thế bằng 1 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 dữ liệu và số học máy tính

Quan hệ giữa số nhị phân và số Hexa4-bit Chữ số Hexa

Trang 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 dữ liệu và số học máy tính

3.2 Mã hoá và lưu trữ dữ liệu trong máy tính

1 Nguyên tắc chung về mã hoá dữ liệu

† Mọi dữ liệu đưa vào máy tính đều được mã

hoá thành số nhị phân

† Các loại dữ liệu

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 dữ liệu và số học máy tính

Mã hoá dữ liệu nhân tạo

† Dữ liệu số nguyên: mã hoá theo một số chuẩn qui ước

† Dữ liệu số thực: mã hoá bằng số dấu chấm động

† Dữ liệu ký tự: mã hoá theo bộ mã ký tự

Chương 3: Biểu diễn dữ liệu và số học máy tính

Mã hóa và tái tạo tín hiệu vật lý

† Các dữ liệu vật lý thông dụng:

Chương 3: Biểu diễn dữ liệu và số học máy tính

Độ dài từ dữ liệu (word)

† Độ dài từ dữ liệu là số bit được sử dụng để mã hoá loại dữ liệu tương ứng

† Thường là bội của 8 bit

† VD: 8, 16, 32, 64 bit

Trang 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 dữ liệu và số học máy tính

2 Thứ tự lưu trữ các byte của dữ liệu

byte

Æ cần phải biết thứ tự lưu trữ các byte trong bộ nhớ

chính với các dữ liệu nhiều byte

ƒ Lưu trữ đầu nhỏ (Little-endian): Byte thấp được lưu

trữ ở ngăn nhớ có địa chỉ nhỏ hơn, byte cao được lưu

trữ ở ngăn nhớ có địa chỉ lớn hơn.

ƒ Lưu trữ đầu to (Big-endian): Byte cao được lưu trữ ở

ngăn nhớ có địa chỉ nhỏ hơn, byte thấp được lưu trữ

ở ngăn nhớ có địa chỉ lớn hơ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 dữ liệu và số học máy tính

Ví dụ lưu trữ dữ 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 dữ liệu và số học máy tính

Lưu trữ của các bộ xử lý điển hình

† Intel 80x86 và các Pentium:

⇒ Little-endian

† Motorola 680x0 và các bộ xử lý RISC:

⇒ Big-endian

† Power PC và Itanium: cả 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 dữ liệu và số học máy tính

3.3 Biểu diễn số nguyên

Có hai loại số nguyên:

† Số nguyên không dấu (Unsigned Integer)

† Số nguyên có dấu (Signed Integer)

Trang 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 dữ liệu và 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ị của A được tính như sau:

Dải biểu diễn của A: từ 0 đến 2n-1

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 dữ liệu và số học máy tính

† Ví dụ 2: Cho các số nguyên không dấu M, N

được biểu diễn bằng 8-bit như sau:

Trang 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 dữ liệu và số học máy tính

Trục số học số nguyên không dấu với n = 8 bit

† Trục số học:

† Trục số học máy tính:

0 255 254

1 2 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 dữ liệu và 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ừ 0 đến 65535 (216-1)

† n= 32 bit: dải biểu diễn từ 0 đến 232-1

† n= 64 bit: dải biểu diễn từ 0 đế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 dữ liệu và số học máy tính

2 Biểu diễn số nguyên có dấu

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 dữ liệu và số học máy tính

b Biểu diễn số nguyên có dấu bằng 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:

Trang 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 dữ liệu và số học máy tính

Biểu diễn số dương

† Dạng tổng quát của số dương A:

0a n-2 …a 2 a 1 a 0

† Giá trị của số dương A:

† Dải biểu diễn cho số dương: 0 đến 2n-1-1

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 dữ liệu và số học máy tính

Biểu diễn số âm

† Dạng tổng quát của số âm A:

1a n-2 …a 2 a 1 a 0

† Giá trị của số âm A:

† Dải biểu diễn cho số âm: -1 đến -2n-1

n

i

i i n

a A

Chương 3: Biểu diễn dữ liệu và 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 của số nguyên A:

a n-1 a n-2 …a 2 a 1 a 0

† Giá trị của A được xác định như sau:

† Dải biểu diễn: từ -(2n-1) đến +(2n-1-1)

a A

Chương 3: Biểu diễn dữ liệu và số học máy tính

Các ví dụ

† Ví dụ 1 Biểu diễn các số nguyên có dấu sau đây bằng 8 bit:

A = +58 ; B = -80Giải:

Trang 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 dữ liệu và số học máy tính

Các ví dụ

† Ví dụ 2: Hãy xác định giá trị của các số nguyên

có dấu được biểu diễn dưới đây:

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 dữ liệu và 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.39

Chương 3: Biểu diễn dữ liệu và số học máy tính

Trục số học số nguyên có dấu với n = 8 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 dữ liệu và 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

† Với n=32 bit: biểu diễn từ -231đến 231-1

† Với n=64 bit: biểu diễn từ -263 đến 263-1

Trang 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 dữ liệu và số học máy tính

Chuyển đổi từ byte thành word

† Đối với số dương:

+19 = 0000 0000 0001 0011 (16 bit)

Æ thêm 8 bit 0 bên trái

† Đối với số âm:

Æ thêm 8 bit 1 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 dữ liệu và số học máy tính

3 Biểu diễn số nguyên theo mã BCD

† Binary Coded Decimal Code

† Dùng 4 bit để mã hoá cho các chữ số thập phân từ 0 đến 9

„ Ví dụ: Số 35 được lưu trữ như sau:

† BCD gói (Packed BCD): Hai số BCD được lưu trữ trong 1 byte

„ Ví dụ: số 35 được lưu trữ như sau:

0 0 1 1 0 1 0 1

Trang 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 dữ liệu và số học máy tính

3.4 Thực hiện cá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 dữ liệu và số học máy tính

Nguyên tắc cộng số nguyên không dấuKhi cộng hai số nguyên không dấu n-bit, kết quả nhận được là n-bit:

nhận được luôn luôn đúng (Cout = 0)

được là sai, ⇔ có tràn nhớ ra ngoài (Cout = 1)

† Tràn nhớ ra ngoài (Carry Out) xảy ra khi 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 dữ liệu và số học máy tính

Ví dụ cộng số nguyên không dấu

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 dữ liệu và số học máy tính

Trang 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 dữ liệu và số học máy tính

3 Cộng số nguyên có dấu

Khi cộng 2 số nguyên có dấu n-bit không quan

tâm đến bit Coutvà kết quả nhận được là n-bit:

„ Nếu dấu kết quả cùng dấu với các số hạng thì kết quả

là đúng.

„ Nếu kết quả có dấu ngược lại, khi đó có tràn xảy ra

(Overflow) và kết quả là sai.

[-(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 dữ liệu và số học máy tính

Ví dụ cộng số nguyên có dấu không tràn

Trang 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 dữ liệu và số học máy tính

5 Nhân số nguyên không dấu

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 dữ liệu và số học máy tính

0 1101 1111 C, A Å A + M

0 0110 1111 Dịch phải 1 bit n = 1 1011

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 dữ liệu và số học máy tính

6 Nhân số nguyên có dấu

† Phương pháp 1:

1 Chuyển đổi các thừa số thành số dương

2 Nhân 2 số dương như số nguyên không dấu

3 Hiệu chỉnh dấu của kết quả:

† Nếu 2 thừa số cùng dấu Æ không cần hiệu chỉnh

† Nếu 2 thừa số khác dấu Æ đảo dấu kết quả bằng

cách lấy bù 2.

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 dữ liệu và số học máy tính

Nhân số nguyên có dấu (tiếp)

† Phương pháp 2:

Sử dụng thuật toán nhân nhanh Booth

Trang 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 dữ liệu và số học máy tính

1110

0 / các giá trị khởi đầu / 1101

1101 1110 1110 1111 1111 0111

1 Dịch phải, giữ dấu A, n = 1

1011 1 Dịch phải, giữ dấu A, n = 0

+

+

+ 1

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 dữ liệu và số học máy tính

7 Chia số nguyên không dấu

Khôi phục A

Chương 3: Biểu diễn dữ liệu và số học máy tính

Dịch trái

A Å A - M = A + (-M) Khôi phục A, n = 3 Dịch trái

A Å A - M Khôi phục A, n = 2 Dịch trái

A Å A - M

Q0Å 1, n = 1 Dịch trái

0010

Chương 3: Biểu diễn dữ liệu và 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 và số chia Æ dương

phần dư (đều là số dương)

† (+) : (+) Æ không hiệu chỉnh dấu kết quả

† (+) : (-) Æ đảo dấu thương

† (-) : (+) Æ đảo dấu thương và phần dư

† (-) : (-) Æ đảo dấu phần dư

Trang 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 dữ liệu và số học máy tính

3.5 Số dấu chấm động

1 Nguyên tắc chung

† Floating Point Number Æ biểu diễn cho số thực

† Tổng quát: một số thực X được biểu diễn theo

kiểu số dấu chấm động như sau:

X = M * RE

„ M là phần định trị (Mantissa),

„ R là cơ số (Radix),

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 dữ liệu và 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.63

Chương 3: Biểu diễn dữ liệu và 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 dữ liệu và số học máy tính

Trang 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 dữ liệu và số học máy tính

Ví dụ 1

Xác định giá trị của số thực được biểu diễn

bằng 32-bit như sau:

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 dữ liệu và số học máy tính

Chương 3: Biểu diễn dữ liệu và số học máy tính

Các quy ước đặc biệt

† Các bit của e bằng 0, các bit của m bằng 0, thì X= ± 0

x000 0000 0000 0000 0000 0000 0000 0000 Æ X= ± 0

† Các bit của e bằng 1, các bit của m bằng 0, thì X= ±∞

x111 1111 1000 0000 0000 0000 0000 0000 Æ X= ±∞

† Các bit của e bằng 1, còn m có ít nhất 1 bit bằng 1, thì

nó không biểu diễn cho số nào cả (NaN – not a number)

Chương 3: Biểu diễn dữ liệu và số học máy tính

Dải giá trị biểu diễn

† 2-127 đến 2+127

† 10-38 đến 10+38

Ngày đăng: 11/05/2021, 01:37

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm