ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT VINH KHOA ĐIỆN TỬ

Nội dung

Bài giảng

1. Giới thiệu 2. Bộ vi xử lý 3. Ghép nối máy tính với các T.Bị

Kiến trúc máy tính Computer Organization And Architecture

TS. Lê Thế Vinh

Tài liệu tham khảo: [1]. Nguyễn Đình Việt, Kiến trúc máy tính, NXB Giáo dục, 2000 [2]. Võ Văn Chín, BG Kiến trúc máy tính, ĐH Cần thơ, 1997 [3]. Trần Thị Kim Huệ, BG Kiến trúc máy tính, ĐH Sư phạm Hà Nội, 2008 [4]. Trần Quang Vinh, Cấu trúc máy tính, NXB Giáo dục, 2003 [5]. M. Morris Mano (Atmiya Infotech), Computer Organization & Architecture, E-book [6]. MIT, Computer System Architecture, 2005, OpenCourseWare

5 August 2010 1 5 August 2010 2

1. Giới thiệu

1. Giới thiệu

1.1. Kiến trúc máy tính

1.1. Máy tính

+ Kiến trúc máy tính nói về thiết kế, các khái niệm, cấu trúc hoạt

động căn bản của một hệ thống máy tính (wiki)

Personal Computer -PC

+ "Computer Systems and Architecture" is a study of the

evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics may include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order superscalar architectures; VLIW machines; vector supercomputers; multithreaded architectures; symmetric multiprocessors; and parallel computers. (MIT)

5 August 2010 3 5 August 2010 4

1. Giới thiệu

1. Giới thiệu

1.1. Máy tính

1.1. Máy tính

Vector supercomputers

Symmetric multiprocessors

L.T.Vinh

1

5 August 2010 5 5 August 2010 6

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

1. Giới thiệu

1. Giới thiệu

Computer

1.1. Máy tính

1.1. Kiến trúc máy tính

CPU

Main memory

System interconnection

Computer

I/O unit

CPU

Registers

Sơ đồ khối

ALU

Internal CPU Interconnection

CU

CU

Sequencing logic

CU register & decoders

Control memory

Parallel computers

5 August 2010 7 5 August 2010 8

1. Giới thiệu

1. Giới thiệu

7 lớp chức năng

1.1. Kiến trúc máy tính

1.1. Kiến trúc máy tính

 Mức transistor và dây

nối

7 lớp chức năng

+ Là mức thấp nhất của kiến trúc chức năng của máy tính.

+ Các ống bán dẫn là thành phần tích cực chính cùng với mạch nối dây tạo nên các mạch logic số ở mức trên

5 August 2010 9 5 August 2010 10

1. Giới thiệu

1. Giới thiệu

7 lớp chức năng

7 lớp chức năng

1.1. Kiến trúc máy tính

1.1. Kiến trúc máy tính

 Mức mạch logic số: Ví dụ

Collector

cổng:

+ Là

 Mức mạch logic số + Các mạch logic số thực hiện các hàm logic cơ bản của đại số Boolean các mạch AND,OR, XOR, NOT…

Base

Base High (+5v hay 1): Tạo kết nối Base Low (0v hay 0): Ngắt kết nối 50 tỉ transistor trên một chip 1cm2

+ Mạch

Switch

Emitter

chốt, mạch mã (Coder), mạch giải mã (Decoder).

+ Mạch

phần

tử

nhớ

(Flip_Flop)

L.T.Vinh

2

5 August 2010 11 5 August 2010 12

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

1. Giới thiệu

1. Giới thiệu

7 lớp chức năng

7 lớp chức năng

1.1. Kiến trúc máy tính

1.1. Kiến trúc máy tính

 Mức mạch logic số: Ví dụ

 Mức mạch logic số: Ví dụ

Mạch tổ hợp

Cổng NOT

+5 v

Output

1.

_ A

A

2.

Input

3.

Ground

Để thiết kế các IC: Ta dùng các thành phần logic gọi là cổng (gate) Cổng được chế tạo từ một hoặc nhiều transistor tùy theo công nghệ chế tạo Ta có các cổng AND, OR, NOT, NAND, NOR, XOR, Mạch giải mã, mạch mã hóa, mạch ưu tiên, mạch dồn, mạch phân, mạch cộng toàn phần, mạch lật SR

Input High (+5v or 1) Output Low (0v or 0) Input Low (0v or 0) Output High (+5v or 1) Output ngược lại với Input

5 August 2010 13 5 August 2010 14

1. Giới thiệu

1. Giới thiệu

7 lớp chức năng

7 lớp chức năng

1.1. Kiến trúc máy tính  Mức kiến trúc tập lệnh định + Xác

tiếp

1.1. Kiến trúc máy tính  Mức kiến trúc vi mô + Bao gồm các khối chức năng như đơn vị số học logic

+

phần giao mềm_phần cứng mà người lập trình nhìn nhận được ở mức ngôn ngữ máy ISA bao gồm:

+ Ví dụ: ALU, thanh ghi (khối tệp thanh ghi

© Tập lệnh máy (Instructions

thanh ghi), (Register file).

Set)

© Kiểu lấy địa chỉ (Addressing

Models)

+ Các bộ nhớ: Cache (Bộ nhớ đệm), Main (ROM, RAM). + Các đường dẫn thông tin

(Bus bên trong)

© Khuôn dạng dữ liệu (Format) © Các nguyên tắc vận hành

+ Đơn vị điều khiển CU

(Operation prescripts)

5 August 2010 15 5 August 2010 16

1. Giới thiệu

1. Giới thiệu

7 lớp chức năng

7 lớp chức năng

1.1. Kiến trúc máy tính

1.1. Kiến trúc máy tính

 Mức kiến trúc tập lệnh: Ví dụ

 Hệ điều hành + Bộ

ảo

(Virtual

CHẲNG HẠN TẬP LỆNH GỒM:

nhớ Memory)

+ BIOS: Hệ thống vào ra cơ

bản

1 - Gán trị 2 - Lệnh có điều kiện 3 - Vòng lặp 4 - Thâm nhập bộ nhớ ngăn xếp

5 - Các thủ tục

+ Các lệnh ảo, máy tính ảo mô phỏng quá trình xử lý + Quản lý các các quá trình

VD: Bật đèn LED

(Process)

+ Tập lệnh ảo để kết nối mạng hay xử lý song song

2000h SP,#50h PSW,#0 ; Bank 0 ; Led on P1.3

ORG MOV MOV CLR END

L.T.Vinh

3

5 August 2010 17 5 August 2010 18

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

1. Giới thiệu

1. Giới thiệu

7 lớp chức năng

7 lớp chức năng

1.1. Kiến trúc máy tính

1.1. Kiến trúc máy tính

 Hợp ngữ: Ví dụ

 Hợp ngữ + Là ngôn ngữ máy phụ thuộc

Ví dụ:

vào phần cứng

Ngôn ngữ lập trình

+ Dạng ký tự tượng trưng của ngôn ngữ máy dùng với một số vi lệnh (Micro Instruction) và các thủ tục (Procedure)

; LED on P1,0FH ;LED off

ORG 2000H MOV SP,#50H MOV PSW,#00H CLR P1,00H ; SETB END

+ Các chương trình viết ở dạng hợp ngữ có thể can thiệp vào phần cứng của máy tính

5 August 2010 19 5 August 2010 20

1. Giới thiệu

1. Giới thiệu

7 lớp chức năng

7 lớp chức năng

1.1. Kiến trúc máy tính

1.1. Kiến trúc máy tính

 Ngôn ngữ hướng đối

tượng,

 Ngôn ngữ hướng đối tượng: Ví dụ

hướng bài toán ứng dụng

+ Là các ngôn ngữ bậc cao C,

1. §èi t îng (Object)

C++,Pascal...

+ Các ngôn ngữ mô tả: HTML,

2.

Sù kiÖn (Event)

XML…

3. Thuéc tÝnh (Properties)

+ Các ngôn ngữ thủ tục (scripts): Java scripts, Visual Basic, C#...

4. Ph ¬ng thøc (Method)

5. Líp (Class)

5 August 2010 21 5 August 2010 22

1. Giới thiệu

1. Giới thiệu

Trao đổi

1.1. Kiến trúc máy tính

Mô hình kiến trúc máy tính

 Các máy tính điện tử số thường có 2 loại kiến trúc

 Von Neumann  Harvard

L.T.Vinh

4

5 August 2010 23 5 August 2010 24

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

1. Giới thiệu

1. Giới thiệu

1.2. Các thế hệ máy tính

1.2. Các thế hệ máy tính Máy tính ENIAC (Electronic Numerical Integrator and

Sự phát triển của máy tính chia ra 4 thế hệ: Sự tiến bộ của các công nghệ chế tạo các linh kiện cơ bản của máy tính như: bộ xử lý, bộ nhớ, các ngoại vi,…- đặc trưng bằng một sự thay đổi cơ bản về công nghệ

• Thế hệ 1: (1946-1955) Máy tính dùng đèn chân không (Vacumm Tube) • Thế hệ 2: (1955-1965) Máy tính dùng Transitor • Thế hệ 3: (1966 – 1980) Máy tính dùng mạch tích hợp IC (Intergrated Circuit) • Thế hệ 4: (1980 - nay) Máy tính dùng mạch tích hợp cực lớn VLSI (Very Large Scale Intergrated )

Computer) Tg xây dựng: 1943-1946, được sử dụng đến 1955 (thầy trò Eckert và Mauchly, ĐH Pennsylvania, USA) Đặc điểm chính: - Nặng 30 tấn, V~160m3 (20x2x2m) và P= 140kW. - 5000 nghìn phép cộng/s. - Sử dụng hệ thập phân. - Lập trình bằng công tắc. - Sử dụng 18000 bóng đèn điện tử (vacuum tubes)

=> Sau đó: GS toán học John Von Neumann đã đưa ra ý tưởng thiết kế máy tính IAS (Princeton Institute for Advanced Studies)

5 August 2010 25 5 August 2010 26

1. Giới thiệu

1. Giới thiệu

1.2. Các thế hệ máy tính

1.2. Các thế hệ máy tính

Máy tính Von Neumann • Máy tính IAS • Máy có mô hình cơ bản là máy tính này nay • Thế kế 1947 hoàn thành 1952

Máy tính Harvard Tách bộ nhớ dữ liệu và bộ nhớ chương trình=> CPU có thể vừa đọc một lệnh, vừa truy cập dữ liệu từ bộ nhớ cùng lúc. Bus riêng để truy cập vào bộ nhớ dữ liệu và bộ nhớ chương trình. Các bus điều hành độc lập Chạy nhanh hơn, bởi vì nó có thể thực hiện ngay lệnh tiếp theo khi vừa kết thúc lệnh trước đó.

5 August 2010 27 5 August 2010 28

1. Giới thiệu

1. Giới thiệu

1.2. Các thế hệ máy tính

1.2. Các thế hệ máy tính

So sánh:

Mô hình kiến trúc Harvard và Von Neumann?

Máy tính thế hệ 4 (1980- nay): • Các sản phẩm của công nghệ VLSI(Very Large Scale Integrated) • Bộ vi xử lý được chế tạo trên một con chip • Vi mạch điều khiển tổng hợp (Chipset) • Bộ nhớ bán dẫn độc lập( ROM, RAM) thiết kế thành Module • Các bộ vi điều khiển chuyên dụng. • Bộ vi xử lý đầu tiên của Intel 4004 năm1971 • Bộ xử lý được coi hoàn thiện nhất là 8088/8086 năm 1978,1979 đây được coi là ngày sinh nhật của các máy tính sau này

L.T.Vinh

5

5 August 2010 29 5 August 2010 30

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

1. Giới thiệu

1. Giới thiệu

1.2. Các thế hệ máy tính

1.2. Các thế hệ máy tính

5 August 2010 31 5 August 2010 32

1. Giới thiệu

1. Giới thiệu

1.2. Các thế hệ máy tính

1.2. Các thế hệ máy tính

Intel 8088 (1979)

Intel 80286 (1980)

A 16-bit processor capable of addressing up to 16 MB of RAM.

This is the chip used in the first PC. It was 16-bit, but it talked to the cards via a 8-bit connection. It ran at a whopping 4 MHz and could address only 1 MB of RAM.

5 August 2010 33 5 August 2010 34

1. Giới thiệu

1. Giới thiệu

1.2. Các thế hệ máy tính

1.2. Các thế hệ máy tính

386 (1988)

It could only access 16 megabytes of memory. The 386 processor was manufactured in many different versions and ran at speeds from 16 Mhz through to 40 Mhz.

Intel 486 (1991) The 486 initially ran at clock speeds of 25 MHz (SX only) and 33 MHz. As it was developed the 486 was enhanced with a clock doubled processor core (486 DX-2) allowing it to run at speeds of 50, 66 and 75 MHz, and then tripled (DX-4) which ran up to 100 MHz.

L.T.Vinh

6

5 August 2010 35 5 August 2010 36

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

1. Giới thiệu

1. Giới thiệu

1.2. Các thế hệ máy tính

1.2. Các thế hệ máy tính

Một số đặc điểm của VXL Intel

Tên thương mại là, không hàm ý nghĩa gì khác ngoài pent tiếng Hy lạp là số 5

Intel Pentium

This was the first Intel processor not to use the x86 naming system.

5 August 2010 37 5 August 2010 38

1. Giới thiệu

1. Giới thiệu

1.2. Các thế hệ máy tính

1.3. Phân loại máy tính

Phân loại theo phương pháp 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 (Super Computer) •Phân loại theo phương pháp hiện đại • Máy tính để bàn (Desktop Computer) • Máy chủ (Servers) • Máy tính nhúng (Embedded Computer)

5 August 2010 39 5 August 2010 40

1. Giới thiệu

1. Giới thiệu

1.3. Phân loại máy tính

1.3. Phân loại máy tính

Máy tính nhúng • được đặt trong nhiều thiết bị khác nhau để đ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 các thiết gia đinh, Router định tuyến,…

Máy để bàn: • là loại máy thông dụng nhất hiện nay. • bao gồm máy tính cá nhân (PC: Persional Computer) và trạm (Workstation Computer). • giá mua 100$ đến 10.000$ Máy chủ • là máy phục vụ(server) • dùng trong mạng theo mô hình Clent/Server • có tốc độ, hiệu năng, bộ nhớ và độ tin cậy cao • giá vài chục nghìn đến vài chục triệu đô

L.T.Vinh

7

5 August 2010 41 5 August 2010 42

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

1. Giới thiệu

Nội dung

1.4. Thông tin và sự mã hóa

1. Giới thiệu 2. Bộ vi xử lý 3. Ghép nối máy tính với các T.Bị

Một số khái niệm - Thông tin: được hiểu là nội dung chứa đựng bên trong một sự kiện - Tín hiệu: mô tả các biểu hiện vật lý của tin tức

t/h tương tự: liên tục cả về biên độ

và thời gian

t/h số: gián đoạn cả về biên độ và

thời gian

Tài liệu tham khảo: [1]. Nguyễn Đình Việt, Kiến trúc máy tính, NXB Giáo dục, 2000 [2]. Võ Văn Chín, BG Kiến trúc máy tính, ĐH Cần thơ, 1997 [3]. Trần Thị Kim Huệ, BG Kiến trúc máy tính, ĐH Sư phạm Hà Nội, 2008 [4]. Trần Quang Vinh, Cấu trúc máy tính, NXB Giáo dục, 2003 [5]. M. Morris Mano (Atmiya Infotech), Computer Organization & Architecture, E-book [6]. MIT, Computer System Architecture, 2005, OpenCourseWare

5 August 2010 43 5 August 2010 44

1. Giới thiệu

1. Giới thiệu

1.4. Thông tin và sự mã hóa

1.4. Thông tin và sự mã hóa

a) Hệ đếm

a) Hệ đếm Hệ 2, hệ 10, hệ 16 v.v. Ví dụ:

 Hệ thập phân, cơ số 10 (Decimal System): Con người sử

dụng

(1011)2 = 1x23 + 0x22 + 1x21 + 1x20 = 8 + 2 + 1 =11 (4F)16 = 4FH = 4x161 + 15x160 = 64 + 15 = 79

 Hệ nhị phân, cơ số 2 (Binary System): Máy tính sử dụng  Hệ mười sáu, cơ số 16 (Hexadecimal System): Dùng để

viết gọn số nhị phân

5 August 2010 45 5 August 2010 46

1. Giới thiệu

1. Giới thiệu

1.4. Thông tin và sự mã hóa

1.4. Thông tin và sự mã hóa

a) Hệ đếm Để đổi một số X hệ 10 sang hệ cơ số a (Y), ta chia liên tiếp X cho a, ghi lại số dư b0, b1, ..., bn, khi đó Y=bn ... bi... b1b0

b) Mã hóa (do con người định nghĩa, quy định) Ví dụ: Mã ASCII, mã BCD, mã nhị phân v.v Mã ASCII dùng 8 bit (binary digit) để mã hoá 256 ký tự

số 5 có mã ASCII là 35H = 0011 0101

Mã BCD dùng 4 bit để mã hoá 1 chữ số thập phân

số 73 có mã BCD là 0111 0011

Mã nhị phân dùng n bit để mã hoá 2n phần tử tin tức

L.T.Vinh

8

5 August 2010 47 5 August 2010 48

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

1. Giới thiệu

1. Giới thiệu

1.4. Thông tin và sự mã hóa

1.4. Thông tin và sự mã hóa

5 August 2010 49 5 August 2010 50

1. Giới thiệu

1. Giới thiệu

1.4. Thông tin và sự mã hóa

1.4. Thông tin và sự mã hóa Mã hoá và lưu trữ dữ liệu trong máy tính

 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

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 Độ 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 8 bits = 1 Byte (1 keyboard character) 1,024 bytes = 1 Kilobyte (1K) = 210 characters 1,024 K = 1 Megabyte (MB) = 220 characters 1,024 MB = 1 Gigabyte (GB) = 230 characters

5 August 2010 51 5 August 2010 52

Byte, bit MSB, LSB và trạng thái 0, trạng thái 1

Biểu diễn số nguyên

MSB

LSB

 Với một Byte/Word + 1 bit MSB (Most Significant Bit): là bit cuối cùng bên trái (bit 7

đối với Byte, và 15 với Word).

+ 1 bit LSB (Least Significant Bit): ngược lại, nằm cuối cùng bên

8 Bits = 1 Byte

phải

 Biểu diễn một số nguyên dùng hết 1 word (16 bits) mà không

cần sử dụng bit xác định dấu.

+ Số nguyên lớn nhất ta có là 1111 1111 1111 1111 = 65535. LSB

mang giá trị 0 cho số chẵn và 1 cho số lẻ

+ Đối với số nguyên có dấu, sử dụng msb làm bit xác định dấu (0: Dương). Giá trị này lưu trên máy tính dạng số bù 2 (với số âm).

On

Off

ON bits are said to be in a 1 state OFF bits are said to be in a 0 state

L.T.Vinh

9

53 54 5 August 2010 5 August 2010

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

Vì sao bù 2 là biểu diễn số âm?

Số bù 1 và bù 2

* Số bù 1: Là kết quả phép đảo bits.

 Lấy con số gốc + bù 2 = 0  msb sẽ bị mất do word chỉ có khả năng lưu giá

trị 16 bits.

 Nếu ta lấy bù 2 thêm lần nữa sẽ cho ra giá trị

gốc.

0000 0000 0000 0101 Bù 1: 1111 1111 1111 1010  Số bù 2: Kết quả phép cộng số bù 1 và 1 Bù

1111

1111

1111

1:

 Biểu diễn dạng không dấu đơn giản chỉ là phép

+

tính chuyển cơ số.

Bù

2:

1111

1111

1111

1010 1 1011

 Dạng có dấu chuyển tính dưới dạng bits, lấy

bù 2.

55 56 5 August 2010 5 August 2010

1.4. Thông tin và sự mã hóa – Ví dụ

 1 ký tự theo bảng mã ASCII

Dạng byte – 8 bit

 Có thể biểu diễn dạng:

 ‘a’  97 = 61Hex = 01100001  ‘A’  65 = 41Hex = 01000001

 Số nguyên không dấu 8bit

 Ví dụ cho dạng byte 10111000  Số nguyên không dấu tương ứng

 Có giá trị từ 0  28-1=255

 Số nguyên có dấu

 10111000 = 128 + 32 + 16 + 8 = 184  Số nguyên có dấu (xét bit dấu = bit 7 = 1)

7

6

5

4

3

2

1

0

 Lấy bù:

01000111 1

+

0: Số dương

bit dấu

01001000 = 64 + 8 = 72

Số nguyên có dấu là: -72

1: Số âm  Có giá trị từ: -27  27-1 (-128 127)

Nhận xét: 256 – 184 = 72

57 58 5 August 2010 5 August 2010

1.4. Thông tin và sự mã hóa – Ví dụ

1.4. Thông tin và sự mã hóa – Ví dụ

Dạng word – 16 bit

 Có thể biễu diễn dạng:

 Số nguyên không dấu 16bit:

 Có giá trị: 0  216-1=65535

 Số nguyên có dấu 16bit

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

8 bit cao (byte cao)

8 bit thấp (byte thấp)

bit dấu = bit cao nhất = bit 15

 Có giá trị: -215215-1 (-3276832767)

 word = (byte cao)x28 + (byte thấp)

L.T.Vinh

10

59 60 5 August 2010 5 August 2010

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

1. Bộ mã ASCII

61 62 5 August 2010 5 August 2010

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 = -80

63 64 5 August 2010 5 August 2010

1. Giới thiệu

1.5. Mạch logic cơ bản

Hµm logic

PhÇn tö logic

B¶ng Ch©n lý

1/ NOT

2/ AND

3/ OR

4

L.T.Vinh

11

65 5 August 2010 5 August 2010 66

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

3- C¸c phÐp to¸n, phÇn tö logic c¬ b¶n

Cổng AND

PhÇn tö logic

Hµm logic

+5v

 Output là 1 nếu và chỉ nếu

4/ NAND

 Input-1 là 1 và  Input-2 là 1

5/ NOR

Input-1

 Output = Input1 AND

6/ XOR

Input2

7/ Hµm

AND Gate

A

t ¬ng

Input-2

AB

B

® ¬ng

Output

5

4- BiÓu diÔn hµm logic b»ng s¬ ®å

67 68 5 August 2010 5 August 2010

Mét sè vÝ dô:

Bé céng 2 sè nhÞ ph©n 1 bit

6

15b

69 70 5 August 2010 5 August 2010

1. Giới thiệu

1.6. Liên kết hệ thống

Khái niệm chung về bus: Là 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: Cấu trúc đơn bus Cấu trúc đa bus

Bé so s¸nh 2 sè nhÞ ph©n 1 bit

15c

L.T.Vinh

12

71 5 August 2010 5 August 2010 72

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

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

Minh họa hệ thống Bus

 Bus đồng bộ + Bus có đường tín hiệu Clock + Các sự kiện trên bus được xác định bởi

xung nhịp Clock.  Bus không đồng bộ + Không có đường tín hiệu Clock + Kết thúc một sự kiện này trên bus sẽ kích hoạt cho một sự kiện tiếp theo.

73 74 5 August 2010 5 August 2010

Bus dữ liệu

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

 Chức năng: vận chuyển lệnh từ bộ nhớ đến CPU vận chuyển dữ liệu giữa CPU, các môđun nhớ và môđun vào-ra.

đại của hệ thống.

 Độ rộng bus dữ liệu: xác định số bit dữ liệu có thể

được trao đổi đồng thời.

75 76 5 August 2010 5 August 2010

Bus điều khiển

Chu kỳ bus

 Mỗi chu kỳ bus là 1 tác vụ xảy ra trên bus để truyền tải

data.

 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

 Mỗi lần CPU cần lệnh (hoặc data) từ bộ nhớ hoặc I/O, chúng phải thực thi 1 chu kỳ bus để có được thông tin hoặc ghi thông tin ra bộ nhớ hoặc ra I/O.

+ Các tín hiệu từ môđun nhớ hay môđun vào-ra

gửi đến yêu cầu CPU.

 Mỗi chu kỳ bus gồm 2 bước : + Bước 1 : gửi địa chỉ + Bước 2 : truyền data từ địa chỉ đã được định vị.

L.T.Vinh

13

77 78 5 August 2010 5 August 2010

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

Chu kỳ Bus

Chu kỳ Bus

 4 chu kỳ bus cơ bản : + Đọc bộ nhớ (memory Read) + Ghi bộ nhớ (memory Write) + Đọc I/O (I/O Read) + Ghi I/O (I/O Write)  Các tín hiệu cần thiết để thực hiện các chu kỳ bus được sinh ra

bởi CPU hoặc DMA Controller hoặc bộ làm tươi bộ nhớ

 Mỗi chu kỳ Bus đòi hỏi tối thiểu trọn vẹn 2 xung đồng hồ hệ

thống.

 Đây là mốc tham chiếu theo thời gian để đồng bộ hoá tất cả các

tác vụ bên trong máy tính.

79 80 5 August 2010 5 August 2010

Nội dung

Chu kỳ Bus

 Xung đầu tiên gọi là Address time, địa chỉ truy xuất sẽ được gửi đi cùng với tín hiệu xác định loại tác vụ sẽ được thực thi (đọc/ghi/đến mem/đến I/O).

Bộ vi xử lý: 1. Cấu trúc phần mềm 2. Thi hành lệnh 3. Tập lệnh

 Cuối xung thứ 2, CPU sẽ kiểm tra đường tín hiệu Ready. Nếu thiết bị cần truy xuất sẵn sàng đáp ứng tác vụ, thiết bị này sẽ kích 1 tín hiệu lên đường Ready để báo cho CPU biết và chu kỳ bus hoàn tất.  Khi 1 thiết bị không sẵn sàng, không có tín hiệu trên đường Ready, CPU phải chờ, có thể phải tiêu tốn thêm 1 hay nhiều xung clock

81 5 August 2010 5 August 2010 82

2. Bộ vi xử lý

2. Bộ vi xử lý

2.1. Kiến trúc phần mềm – ghi chú về phần cứng

Chương trình, bộ nhớ,thanh ghi,ngăn xếp

+Thanh ghi dữ liệu:AX 16 bit (AH, AL), BX, …

+Thanh ghi đoạn: CS, DS, SS, ES

+ Th. Ghi con trỏ và chỉ số: SP (ngăn xếp), BP, IP, SI, DI

Cấu trúc của một hệ máy tính đơn giản

L.T.Vinh

14

5 August 2010 83 5 August 2010 84

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

2. Bộ vi xử lý

2. Bộ vi xử lý

2.1. Kiến trúc phần mềm

2.2. Thi hành lệnh Chu trình lệnh

Kiến trúc phần mềm của bộ xử lý, bao gồm: tập lệnh,

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

dạng các lệnh và các kiểu định vị.

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 (Program Counter).  Lệnh được nạp vào thanh ghi

lệnh IR

(Instruction Register)

+ Tập lệnh là tập hợp các lệnh mã máy (mã nhị phân) hoàn chỉnh có thể hiểu và được xử lý bới bộ xử lý trung tâm, thông thường các lệnh trong tập lệnh được trình bày dưới dạng hợp ngữ. Mỗi lệnh chứa thông tin yêu cầu bộ xử lý thực hiện, bao gồm: mã tác vụ, địa chỉ toán hạng nguồn, địa chỉ toán hạng kết quả, lệnh kế tiếp.

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

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

+ Kiểu định vị chỉ ra cách thức thâm nhập toán hạng.

CPU thực hiện lệnh theo từng bước

Minh họa quá trình nhận lệnh

5 August 2010 85 5 August 2010 86

Bước 1  Đọc lệnh tiếp theo vào bộ nhớ chính vào thanh ghi

lệnh IR (Lệnh IR nằm trong bộ nhớ chính)

Bước 2  Thay đổi bộ đếm chương trình để trỏ tới lệnh tiếp

theo MOV A, (M) ADD A, (M+)

Bước 3  Giải mã lệnh: CPU xác định kiểu lệnh đọc vào bộ nhớ

87 88 5 August 2010 5 August 2010

2. Bộ vi xử lý

CPU thực hiện lệnh theo từng bước

2.3. Tập lệnh

Giới thiệu chung

Bước 4  Nếu lệnh sử dụng một từ trong một bộ nhớ phải xác

định xem từ đó nằm ở đâu

+ Mỗi bộ xử lý có tập lệnh xác định.

Bước 5  Nếu tồn tại, đọc từ đó vào một thanh ghi bên trong

CPU, đa phần đọc vào thanh ghi A

+ Một tập lệnh thường có vài chục đến vài nghìn lệnh + Mỗi lệnh là chuỗi nhị phân mà bộ xử lý có thể phân tích và hiểu để thực hiện thao tác mà lệnh đó yêu cầu.

+ Các lệnh khi viết được ánh xạ ra thành các ký hiệu gợi nhớ. ADD, MOV, IN, OUT, SHL, ROL,… + Giống câu lệnh của hợp ngữ (Lập trình ASSEMBLY)

Bước 6  Thực hiện lệnh Bước 7  Cất giữ kết quả lệnh Bước 8  Quay lại bước đầu tiên

L.T.Vinh

15

89 5 August 2010 5 August 2010 90

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

Các kiểu thao tác

Các lệnh chuyển dữ liệu

+ Lệnh Mov Sao chép dữ liệu từ toán hạng nguồn -> đích + Lệnh Load Nạp dữ liệu từ bộ nhớ -> bộ xử lý + Lệnh XCHG Trao đổi nội dung của hai toán hạng cho

nhau

+ Lệnh PUSP Cất nội dung của một toán hạng nguồn vào

stack

+ Lệnh POP Lấy nội dung ở đỉnh Stack ra toán hạng đích + Lệnh Set, Clear

• Thao tác chuyển dữ liệu • Thao tác xử lý số học và logic • Thao tác vào ra dữ liệu qua cổng • Thao tác điều khiển rẽ nhánh • Thao tác điều khiển hệ thống • Thao tác xử lý số dấu chấm động • Thao tác chuyên dụng khác: xử lý ảnh, âm thanh,

tiếng nói,…

91 92 5 August 2010 5 August 2010

Một số lệnh

Một số lệnh

 Các lệnh vào ra + Lệnh Input + Lệnh Output  Các lệnh chuyển điều khiển + Lệnh Jump + Lệnh Call + Lệnh Return : trở về từ chương trình con  Các lệnh điều khiển hệ thống + Lệnh Halt : dừng thực hiện chương trình + Lệnh Wait : tạm dừng thực hiện chương trình, lặp kiểm tra cho đến

khi thoả mãn thì tiếp tục thực hiện

 Các lệnh số học + Lệnh ADD: cộng + Lệnh SUB: trừ + Lệnh MUL: nhân + Chia DIV: chia  Các lệnh logic + Lệnh Test Thực hiện lệnh AND thiết lập cờ + Lệnh Shift Dịch trái, hoặc phải + Lệnh Rotate Quay trái hoặc quay phải + Lệnh Convert Chuyển đổi dữ liệu từ dạng này sang dạng khác + Lệnh AND, OR, XOR, NOT,….

+ Lệnh NOP (No Operation): không thực hiện gì cả + Lệnh Lock : Cấm không cho chuyển nhượng BUS + Lệnh Unlock: cho phép chuyển nhượng BUS

93 94 5 August 2010 5 August 2010

2. Bộ vi xử lý

Ví dụ lập trình cho LED nhấp nháy

(Cho 8051) ORG MOV MOV

LOOP: CLR

; Bank 0 ; Led on

; Led off

CALL SETB CALL JMP

2000h SP,#50h PSW,#0 P1.3 DELAY P1.3 DELAY LOOP

DELAY: PUSH

Sử dụng ngăn xếp khi gọi chương trình con (thủ tục, hàm)

PSW PSW,#18h; Bank 3 R7,#0 R6,#0

R6,DLY2 R7,DLY1 PSW

MOV MOV DLY1:MOV DLY2:NOP NOP NOP DJNZ DJNZ POP RET END

L.T.Vinh

16

5 August 2010 95 5 August 2010 96

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

2. Bộ vi xử lý

Nội dung

2.1. Tổ chức phần cứng

2. Bộ vi xử lý (tiếp): 1. Tổ chức phần cứng 2. Xử lý và truyền dữ liệu 3. Một số máy tính lớn

CPU 8088 EU : khối thực hiện lệnh(Execution Unit) ALU : khối số học và logic(Arithmetic anh Logic Unit) CU: Khối điều khiển

BIU : khối phối ghép bus(Bus Interface Unit)

5 August 2010 97 5 August 2010 98

2. Bộ vi xử lý

2. Bộ vi xử lý

CPU:

Thực hiện lệnh gồm: + Đọc mã lệnh, + Giải mã lệnh + Thực hiện lệnh. (Sau đó lưu kết quả và ô nhớ)

Khi CPU hoạt động, EU sẽ cung cấp thông tin về địa chỉ cho BIU để khối này đọc lệnh và dữ liệu, còn bản thân EU thì giải mã lệnh và thực hiện lệnh.

5 August 2010 99 5 August 2010 100

2. Bộ vi xử lý

2. Bộ vi xử lý

CU:

ALU:

+ BIU đưa ra địa chỉ, đọc mã lệnh từ bộ nhớ, đọc/ghi dữ liệu từ/vào cổng hoặc bộ nhớ. BIU chịu trách nhiệm đưa địa chỉ ra bus và trao đổi dữ liệu với bus. + EU có khối điều khiển(CU - Control Unit), có mạch giải mã lệnh. Mã lệnh đọc vào từ bộ nhớ được đưa đến đầu vào của bộ giải mã, các thông tin thu được từ đầu ra được đưa đến mạch tạo xung điều khiển, kết quả là ta thu được các dãy xung khác nhau (tuỳ theo mã lệnh) để điều khiển hoạt động của các bộ phận bên trong và bên ngoài CPU. Trong EU còn có khối số học và logic(ALU) dùng để thực hiện các thao tác khác nhau với các toán hạng của lệnh.

L.T.Vinh

17

5 August 2010 101 5 August 2010 102

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

2. Bộ vi xử lý

2. Bộ vi xử lý

CU: sơ đồ khối

Bộ thanh ghi

5 August 2010 103 5 August 2010 104

2. Bộ vi xử lý

2. Bộ vi xử lý

Thanh ghi truy cập bộ nhớ

Thanh ghi chuyển tải lệnh

Thanh ghi trạng thái

5 August 2010 105 5 August 2010 106

2. Bộ vi xử lý

2. Bộ vi xử lý

2.2. Xử lý và truyền dữ liệu

2.2. Xử lý và truyền dữ liệu

5 giai đoạn thực hiện lệnh:

5 giai đoạn thực hiện lệnh:

L.T.Vinh

18

5 August 2010 107 5 August 2010 108

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

2. Bộ vi xử lý

2. Bộ vi xử lý

Đọc lệnh:

2.2. Xử lý và truyền dữ liệu

Giải mã lệnh và thi hành lệnh

Lưu kết quả:

Cấu trúc mã lệnh

 Một lệnh mô tả bằng mã nhị phân có thể dài từ 1 đến 6 byte.  Cấu trúc chung của một mã lệnh bao gồm: + Prefix đi trước mã lệnh. + Mã toán (Operation Code: Opcode): Mã chỉ ra thao tác mà bộ

vi xử lý cần phải thực hiện, phân biệt đó là lệnh gì.

+ Ví dụ với lệnh dịch chuyển MOV có mã toán là 100010. + Địa chỉ toán hạng (Operand Address): Chỉ ra nơi chứa các

toán hạng mà mã thao tác sẽ tác động.

+ Toán hạng (operand) cho biết cái gì được xử lý (nội dung của

thanh ghi hay bộ nhớ). Địa chỉ trực tiếp (2 byte).

+ Toán hạng nguồn: dữ liệu vào của thao tác + Toán hạng đích: dữ liệu ra của thao tác

5 August 2010 109 5 August 2010 110

Cấu trúc mã lệnh

Nội dung của mã lệnh được quy định khá chặt chẽ. Ví dụ: dưới đây cho thấy cấu trúc nhị phân của một lệnh dịch chuyển MOV đích, nguồn dùng để truyền dữ liệu giữa 2 thanh ghi hoặc giữa ô nhớ và thanh ghi.

 Bit D (direction) chỉ hướng cho thanh ghi REG. + D=1 chỉ dữ liệu đi đến REG. + D=0 thì chỉ dữ liệu đi từ REG.  Bit W (Word) chỉ xem thanh ghi được dùng là 8 bit hay 16 bit (1 word). W=1 có nghĩa là thanh ghi 16 bit được dùng.

 Hai bit MOD (mode, chế độ) và Ba bit R/M (register/memory, thanh ghi/bộ nhớ) tạo ra 5 bit, dùng để chỉ chế độ địa chỉ của lệnh.

111 112 5 August 2010 5 August 2010

L.T.Vinh

19

113 114 5 August 2010 5 August 2010

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

Bảng mã thanh ghi

Bảng mã thanh ghi

115 116 5 August 2010 5 August 2010

Ví dụ

Ví dụ

 Mã hoá các lệnh: a/ MOV CL,[BX]; b/ MOV 0F3H[SI],CL;

117 118 5 August 2010 5 August 2010

2. Bộ vi xử lý

Cơ chế xử lý xen kẽ liên tục dòng mã lệnh

(instruction pipelining)

BIU có thêm một bộ nhớ đệm lệnh với dung lượng 4 byte dùng để chứa các mã lệnh đọc được nằm sẵn để chờ EU xử lý (còn được gọi là hàng đợi lệnh - Queue)

L.T.Vinh

20

119 5 August 2010 5 August 2010 120

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

2. Bộ vi xử lý

Kỹ thuật pipelining

2.3. Máy tính lớn

 Bộ xử lý gồm các phần tử xử lý độc lập Processing

Elements/Stage

 Được ứng dụng để thiết kế quá trình xử lý lệnh song song từng công đoạn (Instruction pipelining)

121 5 August 2010 5 August 2010 122

2. Bộ vi xử lý

Phân loại theo Flynn

2.3. Máy tính lớn

 Phân 4 nhóm dựa trên số lượng chuỗi lệnh và

số lượng chuỗi dữ liệu

 SISD (Single Instruction, Single Data): Một

chuỗi lệnh, một chuỗi dữ liệu

 SIMD (Single Instruction, Multiple Data): Máy tính mảng, máy tính xử lý vector (tính toán vector, các bài toán Vector)

 MISD: Nhiều lệnh 1 dữ liệu  MIMD: Nhiều chuỗi lệnh và nhiều chuỗi dữ

liệu ->kiến trúc song song  MultiProcessor  Parallel Computer  Multicomputer  Distributed system

123 5 August 2010 5 August 2010 124

2. Bộ vi xử lý

2. Bộ vi xử lý

2.3. Máy tính lớn

2.3. Máy tính lớn

L.T.Vinh

21

5 August 2010 125 5 August 2010 126

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

2. Bộ vi xử lý

2. Bộ vi xử lý

2.3. Máy tính lớn

2.3. Máy tính lớn

5 August 2010 127 5 August 2010 128

2. Bộ vi xử lý

2. Bộ vi xử lý

2.3. Máy tính lớn

2.3. Máy tính lớn

5 August 2010 129 5 August 2010 130

2. Bộ vi xử lý

2. Bộ vi xử lý

2.3. Máy tính lớn

2.3. Máy tính lớn

L.T.Vinh

22

5 August 2010 131 5 August 2010 132

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

Phân loại kiến trúc máy tính song song

Các cấp kiến trúc máy tính song song

(a)

(d) Multicomputer

(b)

(e) Grid

(c)

On-chip parallelism Coprocessor Multiprocessor

133 134 5 August 2010 5 August 2010

Phân loại theo cấu trúc kết nối máy tính

Phân loại theo cấu trúc kết nối máy tính

 Một hệ thống máy tính có thể được xem như: + Một tập hợp n>=1 bộ xử lý, hay đơn vị xử lý trung tâm (CPU):

P1,P2,P3…Pn

 Máy tính chia sẻ bộ nhớ + Hệ thống máy tính có một bộ nhớ chung và n bộ XL kết nối với nhau qua mạng N

+ M>=0 (đơn vị nhớ chia sẻ) M1, M2…Mn kết nối trong mạng N  Chia thành hai loại + Máy tính chia sẻ bộ nhớ ( Share Memory Computer) + Máy tính phân tán bộ nhớ ( Distributed Memory Computer)

 Máy tính phân tán bộ nhớ + Mỗi một bộ XL kết nối với

một bộ nhớ riêng biệt

135 136 5 August 2010 5 August 2010

Bộ nhớ dùng chung (shared memory)

Bộ nhớ dùng chung (tt)

L.T.Vinh

23

137 138 5 August 2010 5 August 2010

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

Distributed system

Multicomputer

a.

b.

Multicomputer với 16 CPU, mỗi CPU có bộ nhớ riêng-> máy tính bộ nhớ phân tán Một hình ảnh được chia thành 16 phần trên 16 bộ nhớ

139 140 5 August 2010 5 August 2010

Multiprocessor

NUMA multiprocessor

Máy tính NUMA dựa trên hai cấp bus

a.

b.

Multiprocessor với 16 CPU dùng chung 1 bộ nhớ -> máy tính chia sẻ bộ nhớ Một hình ảnh được chia thành 16 phần cho 16 CPU xử lý

141 142 5 August 2010 5 August 2010

Kiến trúc Cluster

So sánh giữa Multiprocessor và MultiComputer

 Giống nhau: Cùng thực hiện một nhiệm vụ chung, hay

những nhiệm vụ được chia sẻ

 Khác nhau:  Đa xử lý (Multiprocessor): là một máy tính nhiều lệnh,

nhiều dữ liệu (MIMD)

 Nâng cao hiệu suất xử lý, khi thực hiện một nhiệm vụ quá lớn, thời gian kéo dài các tác vụ được chia sẻ và các PE(CPU) thực hiện song song.

 Tăng độ tin cậy, độ sẵn sàng của máy tính, là sự sẵn sàng hoạt động liên tục của máy tính khi có bất kỳ sự cố nào trong hệ thống.

L.T.Vinh

24

143 144 5 August 2010 5 August 2010

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

 Các CPU cũ đã xử lý mỗi lúc một lệnh + Lệnh trước đã được lấy về và được xử lý hoàn toàn rồi

một lệnh mới mới được đọc về.

 Kiến trúc song song đều cho khả năng tăng

tốc độ tính toán của máy tính hoặc VXL

+ Việc xử lý một lệnh có thể được hoàn tất trong vài chu kỳ xung nhịp (số chu kỳ xung nhịp đích xác bao nhiêu là tuỳ thuộc vào lệnh cụ thể)

 Kỹ thuật xử lý theo đường ống (pipelining)  Xử lý lệnh liên tiếp (Intruction Pipelining) cho phép lệnh mới bắt đầu được xử lý trong khi các lệnh hiện tại vẫn đang được xử lý.

 CPU có thể được thực hiện vài lệnh trong cùng một

 Tăng độ tin cậy vì khi có một bộ XL hay khi bộ nhớ bị hỏng thì quá trình tính toán chung vẫn thực hiện bình thường do các thành phần còn lại vẫn đảm nhiệm chức năng của thành phần bị hỏng

chu kì xung nhịp.

 Nhược điểm là phức tạp về cấu trúc và khó

 Đối với một chu kì xung nhịp cho trước bất kỳ, có thể

khăn cho quản lý

có vài lệnh “In the pipeline” cùng một lúc.

 Xử lý theo đường ống cho phép CPU tận dụng các tài nguyên xử lý trong khi một lệnh nào đó đang được hoàn tất.

145 146 5 August 2010 5 August 2010

2. Bộ vi xử lý

2. Bộ vi xử lý

Một số câu hỏi, bài tập

Một số câu hỏi, bài tập

5 August 2010 147 5 August 2010 148

3. Ghép nối máy tính với thiết bị

Nội dung

1. Giới thiệu 2. Bộ vi xử lý 3. Ghép nối máy tính với các T.Bị

 Thiết bị ngoại vi Thiết bị ngoại vi là tên chung nói đến một số loại thiết bị bên ngoài thùng máy được gắn kết với máy tính với tính năng nhập xuất (IO) hoặc mở rộng khả năng lưu trữ (như một dạng bộ nhớ phụ).

 Thiết bị ngoại vi của máy tính có thể là: Thiết bị cấu thành lên máy tính và không thể

thiếu được ở một số loại máy tính.

Thiết bị có mục đích mở rộng tính năng hoặc khả

năng của máy tính.

Tài liệu tham khảo: [1]. Nguyễn Đình Việt, Kiến trúc máy tính, NXB Giáo dục, 2000 [2]. Võ Văn Chín, BG Kiến trúc máy tính, ĐH Cần thơ, 1997 [3]. Trần Thị Kim Huệ, BG Kiến trúc máy tính, ĐH Sư phạm Hà Nội, 2008 [4]. Trần Quang Vinh, Cấu trúc máy tính, NXB Giáo dục, 2003 [5]. M. Morris Mano (Atmiya Infotech), Computer Organization & Architecture, E-book [6]. MIT, Computer System Architecture, 2005, OpenCourseWare

L.T.Vinh

25

5 August 2010 149 5 August 2010 150

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

3. Ghép nối máy tính với thiết bị

Common System Components

Một số loại thiết bị ngoại vi Có nhiều các thiết bị ngoại vi của máy tính, dưới đây liệt kê một

1.

2.

3.

4.

This figure shows several devices that are common com- ponents of a com- puter system.

5.

6.

7.

8.

9.

10.

số thiết bị ngoại vi thường gặp hoặc quan trọng cấu thành lên máy tính như sau: Màn hình máy tính Ổ cứng gắn ngoài hoặc ổ cứng di động Các loại thiết bị nhớ mở rộng: Bút nhớ USB... Ổ quang (CD, DVD) Chuột (máy tính) Bàn phím máy tính Máy in video camera cho mục đích an ninh, giám sát được khi được kết nối với máy tính. Webcam Modem các loại (cho quay số, ADSL...) Loa máy tính

152 5 August 2010 5 August 2010 151

3. Ghép nối máy tính với thiết bị

Các thiết bị ngoại vi

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

 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 … + Thiết bị truyền thông: MODEM …

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) Các môđun vào-ra (IO Modules)

154 5 August 2010 5 August 2010 153

Modul vào-ra

Bộ nhớ máy tính

 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.

 Chức năng: lưu trữ chương trình và dữ liệu.  Các thao tác cơ bản với bộ nhớ: + Đọc (Read) + Ghi (Write)  Các thành phần chính: + Bộ nhớ trong (Internal Memory) + Bộ nhớ ngoài (External Memory)

L.T.Vinh

26

155 156 5 August 2010 5 August 2010

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

Phân lớp hệ thống nhớ

Bộ nhớ trong (Internal memory)

 Chức năng và đặc điểm + Chứa các thông tin mà CPU có thể trao đổi

trực tiếp

+ Tốc độ rất nhanh + Dung lượng không lớn + Sử dụng bộ nhớ bán dẫn  Các loại bộ nhớ trong + Bộ nhớ chính + Bộ nhớ cache (bộ nhớ đệm nhanh)

157 158 5 August 2010 5 August 2010

Bộ nhớ chính (Main memory)

Bộ nhớ chính

+ Chứa các chương trình và dữ liệu đang được CPU sử dụng.

+ Tổ chức thành các ngăn

 Bộ nhớ RAM (Random access memory) + Tốc độ truy cập nhanh + Lưu trữ giữ liệu tạm thời, + Dữ liệu sẽ bị mất vĩnh viễn khi không còn nguồn điện

nhớ được đánh địa chỉ.

cung cấp.

+ Ngăn nhớ thường được tổ

chức theo byte.

 Bộ nhớ ROM (Read Only Memory) + Lưu trữ các chương trình mà khi mất nguồn điện

cung cấp sẽ không bị (xóa) mất.

+ 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.

+ Ngày nay còn có công nghệ FlashROM tức bộ nhớ ROM không những chỉ đọc mà còn có thể ghi lại được, nhờ có công nghệ này BIOS được cải tiến thành FlashBIOS.

159 160 5 August 2010 5 August 2010

RAM

 Các ô nhớ có thể đọc hoặc ghi trong khoảng thời gian bằng nhau cho dù chúng ở bất kỳ vị trí nào trong ô nhớ.

 Mỗi ô nhớ có một địa chỉ ghi 1byte, nhưng hệ thống nhớ có thể đọc ra hay viết vào nhiều byte

SRAM Dung lượng của SRAM 2n x m (bit) n : là số bit địa chỉ m: là số bit dữ liệu + Bộ nhớ SRAM thường được tổ chức theo ma trận vuông số hàng và số cột bằng nhau, giao điểm của hàng và cột chính là 1 ô bit nhớ

 Mỗi bit trong 1 thanh SRAM được chứa trong 4 transistor tạo

 Phân loại + SRAM (Static RAM): Chế tạo theo công nghệ

thành 2 cặp chéo nhau. Ô chứa có 2 trạng thái 0 và 1.

CMOS, vẫn lưu dữ liệu nếu có điện

 Ngoài ra còn 2 transistor được sử dụng điều khiển quyền truy cập tới 1 ô nhớ trong quá trình đọc và ghi. Tổng cộng, cần 6 transistor để chứa 1 bit bộ nhớ.

+ DRAM (Dynamic RAM): Dùng nguyên tắc tích điện của tụ điện C được tạo ra bởi bản mạch Transistor và đế của vi mạch

 Truy cập tới cell được kích hoạt bởi word line (WL) điều khiển 2 transistor truy cập M5 và M6, được kết nối tới các đường bit: BL và BL đảo.

 Đường bit được sử dụng để truyền dữ liệu cho cả đọc và ghi (có

thể có một trong hai)

L.T.Vinh

27

161 162 5 August 2010 5 August 2010

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

DRAM

DRAM

 Việc lưu giữ thông tin trong bit nhớ chỉ là tạm thời vì tụ điện sẽ phóng hết điện tích vào và làm tươi bộ nhớ sau mỗi 2µs

 Dùng kỹ thuật CMOS mỗi bit nhớ, mỗi bit nhớ có một transistor và một tụ điện  Việc ghi nhớ dựa vào việc duy trì nạp vào tụ điện và việc đọc một bit nhớ làm nội dung bit này bị hủy

 Làm tươi bộ nhớ là đọc ô nhớ và viết lại nội dung đó vào ô nhớ. Việc làm tươi bộ nhớ được thực hiện tự động bởi một vi mạch bộ nhớ. + SDRAM (Synchronous DRAM) + DDR SDRAM (Double Data Rate SDRAM + RDRAM (Rambus RAM): Hoạt động đồng bộ theo một

hệ thống lặp và truyền dữ liệu theo một hướng.

 Sau mỗi lần đọc ô nhớ, bộ phận điều khiển bộ nhớ viết lại ô nhớ đó nội dung vừa đọc do đó chu kỳ bộ nhớ động ít nhất gấp đôi thời gian thâm nhập ô nhớ

163 164 5 August 2010 5 August 2010

ROM

Bộ nhớ đệm nhanh (Cache memory)

 Được chế tạo bằng công nghệ bán dẫn, chương trình trong ROM

được viết vào lúc chế tạo

 ROM chứa chương trình khởi động máy tính  PROM (Programable ROM) + Chế tạo bằng các mối nối (cầu chì - có thể làm đứt bằng điện). + Chương trình nằm trong PROM có thể được viết vào bởi người

sử dụng bằng thiết bị đặc biệt và không thể xóa được.

+ Bộ nhớ có tốc độ nhanh, dung lượng nhỏ hơn bộ nhớ chính được đặt

đệm giữa CPU và bộ nhớ chính

 EPROM (Erasable Programable ROM) + Chế tạo bằng nguyên tắc phân cực tĩnh điện. + Chương trình nằm trong ROM có thể được viết vào (bằng điện) và có thể xóa (bằng tia cực tím - trung hòa tĩnh điện) để viết lại bởi người sử dụng.

+ Thường nằm trong CPU, một số cache cũ có thể nằm ngoài CPU + Các cache trên đế cắm kiểu slot 1, + Cache dạng thanh, có thể tháo rời giống các thanh RAM ngày nay.

 EEPROM (Electrically Erasable Programable ROM) + Chế tạo bằng công nghệ bán dẫn. + Chương trình nằm trong ROM có thể được viết vào và có thể xóa

(bằng điện) để viết lại bởi người sử dụng.

 Thao tác đọc bộ nhớ, bộ xử lý gởi một địa chỉ

165 166 5 August 2010 5 August 2010

và nhận một dữ liệu từ bộ nhớ trong.

 Cache thường được chia thành một số mức. + Cache L1: On-chip cho VXL, nằm bên trong CPU. + Cache L2: Off-chip của hệ thống nhớ phân lớp, nằm

bên ngoài CPU.

 Thao tác ghi bộ nhớ, bộ xử lý viết một dữ liệu vào một ô nhớ với một địa chỉ được chỉ ra trong bộ nhớ.

+ Cache L3 (L3 chỉ có ở một số CPU) có tốc độ truy xuất gần bằng tốc độ truyền dữ liệu trong CPU, mức trung gian giữa cache L2 và bộ nhớ.

+ Cache có thể có (hoặc không) được tích hợp trên chip

 Để cho chương trình vận hành bình thường thì cache phải chứa một phần con của bộ nhớ trong để bộ xử lý có thể thâm nhập vào các lệnh hoặc dữ liệu thường dùng từ bộ nhớ cache.

vi xử lý

 Do dung lượng của bộ nhớ cache nhỏ nên nó chỉ chứa một phần chương trình nằm trong bộ nhớ trong.

L.T.Vinh

28

167 168 5 August 2010 5 August 2010

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

Auxiliary Storage

Bộ nhớ ngoài (External memory)

 Floppy Disk

 No longer standard

 Chức năng và đặc điểm + Lưu giữ tài nguyên phần mềm của máy tính + Được kết nối với hệ thống dưới dạng các thiết bị

vào-ra

 Hard (fixed) disk  30 Gb and higher  5400rpm, 7200 rpm  Removable storage

+ Dung lượng lớn + Tốc độ chậm  Các loại bộ nhớ ngoài (SAM: Sequential Access

Memory)

 CD-ROM  CD-R/CD-RW  DVD/DVD-R/DVD-RW (Digital Video Disk HD)

+ 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

 Zip disks  Tape  USB 5 August 2010

169 170 5 August 2010

Disk Storage

Disk Storage

 Based on bytes per track

per sector

 Cylinder  Same track on each surface make up a cylinder

 1 track on 1 Sector contains 512 bytes  Track-sector on each

surface (top & bottom)  Storage = 1,024 bytes per

 All data in one

track-sector (top & bottom) = 1K

cylinder can be read without moving read/write arm

171 172 5 August 2010 5 August 2010

3. Ghép nối máy tính với thiết bị

3. Ghép nối máy tính với thiết bị

Một số loại thiết bị ngoại vi Có nhiều các thiết bị ngoại vi của máy tính, dưới đây liệt kê một

1.

2.

3.

 Thiết bị ngoại vi Thiết bị ngoại vi là tên chung nói đến một số loại thiết bị bên ngoài thùng máy được gắn kết với máy tính với tính năng nhập xuất (IO) hoặc mở rộng khả năng lưu trữ (như một dạng bộ nhớ phụ).

4.

5.

6.

 Thiết bị ngoại vi của máy tính có thể là: Thiết bị cấu thành lên máy tính và không thể

7.

8.

thiếu được ở một số loại máy tính.

Thiết bị có mục đích mở rộng tính năng hoặc khả

9.

10.

số thiết bị ngoại vi thường gặp hoặc quan trọng cấu thành lên máy tính như sau: Màn hình máy tính Ổ cứng gắn ngoài hoặc ổ cứng di động Các loại thiết bị nhớ mở rộng: Bút nhớ USB... Ổ quang (CD, D+D) Chuột (máy tính) Bàn phím máy tính Máy in video camera cho mục đích an ninh, giám sát được khi được kết nối với máy tính. Webcam Modem các loại (cho quay số, ADSL...) Loa máy tính

năng của máy tính.

L.T.Vinh

29

5 August 2010 173 5 August 2010 174

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

3. Ghép nối máy tính với thiết bị

Common System Components

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

This figure shows se+eral devices that are common com- ponents of a com- puter 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) Các môđun vào-ra (IO Modules)

175 5 August 2010 5 August 2010 176

3. Ghép nối máy tính với thiết bị

3. Ghép nối máy tính với thiết bị Modul 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

 Thiết bị ngoại vi Chức năng: phương tiện chuyển đổi thông tin giữa bên trong và bên ngoài máy tính  Đặc điểm các thiết bị Trên thị trường tồn tại rất nhiều các thiết bị ngoại vi khác nhau về: Nguyên tắc hoạt động, tốc độ, định dạng dữ liệu truyền, v.v. Đồng thời các thiết bị này có tốc độ làm việc chậm hơn CPU và RAM rất nhiều. Chính vì lý do trên cần có Module vào ra để ghép nối các thiết bị ngoại vi vào hệ thống của máy tính.…

máy tính thông qua các cổng vào-ra.

177 178 5 August 2010 5 August 2010

3. Ghép nối máy tính với thiết bị

3. Ghép nối máy tính với thiết bị

Module I/O Chức năng: Nối ghép thiết bị ngoại vi với máy tính. + Điều khiển và định thời + Trao đổi thông tin với CPU + Trao đổi thông tin với thiết bị ngoại vi + Đệm giữa máy tính với thiết bị ngoại vi + Phát hiện lỗi của các thiết bị ngoại vi.

Cấu trúc chung: Thanh ghi đệm dữ liệu: đệm dữ liệu trong quá trình trao đổi Cổng nối ghép vào ra: kết nối thiết bị ngoại vi, mỗi cổng có địa chỉ xác định và chuẩn kết nối riêng phụ thuộc sơ đồ chân. Thanh ghi trạng thái/điều khiển: lưu trữ thông tin trạng thái cho các cổng vào ra Khối logic điều khiển: điều khiển Module vào ra

L.T.Vinh

30

179 180 5 August 2010 5 August 2010

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

3. Ghép nối máy tính với thiết bị

3. Ghép nối máy tính với thiết bị

Ví dụ cổng LPT: • Các đường dẫn của cổng song được nối với 3 thanh ghi 8 bit khác nhau: + Thanh ghi dữ liệu (Địa chỉ cơ sở) + Thanh ghi trạng thái (Địa chỉ cơ sở +1) + Thanh ghi điều khiển (Địa chỉ cơ sở +2) • Các đại chỉ cổng có thể là: LPT1: 378h (379h ; 37Ah) LPT2: 3BCh LPT3: 278h LPT4: 2BCh

Cấu trúc tổng quát của thiết bị ngoại vi: + Bộ chuyển đổi tín hiệu: chuyển đổi dữ liệu giữa bên trong và bên ngoài Máy tính + Bộ đệm dữ liệu: nơi lưu trữ dữ liệu trung gian giữa Máy tính và thiết bị ngoại vi, đặt bên trong thiết bị ngoại vi. + Khối logic điều khiển: điều khiển hoạt động của thiết bị ngoại vi theo tín hiệu từ Module I/O gởi tới thiết bị.

181 182 5 August 2010 5 August 2010

3. Ghép nối máy tính với thiết bị

3. Ghép nối máy tính với thiết bị

Lập trình cho thiết bị: • Hợp ngữ: Để xuất ra dữ liệu: OUT DX, AL hoặc OUT DX, AX Để nhập vào dữ liệu: IN AL, DX hoặc IN AX, DX (DX chứa địa chỉ; AL chứa giá trị) • Turbo C Để xuất ra dữ liệu: outportb(đia_chỉ, giá_trị) Để nhập vào dữ liệu: bien = inportb(địa_chỉ) • Turbo Pascal Để xuất ra dữ liệu: port[đia_chỉ]:= giá_trị Để nhập vào dữ liệu: bien:=port[địa_chỉ]

Ví dụ cổng COM: • Các thanh ghi chính: + Thanh ghi đệm (Buffer Register) Địa chỉ cơ sở + Thanh ghi trạng thái (Status Register) ĐCCS+5 + Thanh ghi điều khiển (Control Register) ĐCCS+3 • Các địa chỉ cổng có thể là: COM1: 3F8h (3FDh ; 3FBh) COM2: 2F8h COM3: 3E8h COM4: 2E8h

183 184 5 August 2010 5 August 2010

3. Ghép nối máy tính với thiết bị Các phương pháp ĐK vào/ra

3. Ghép nối máy tính với thiết bị Các phương pháp ĐK vào/ra

1. vào ra bằng chương trình

Nguyên tắc chung: + Sử dụng lệnh vào ra trong chương trình để trao đổi dữ liệu với cổng vào ra. + Khi CPU thực hiện chương trình gặp lệnh vào ra thì CPU điều khiển trao đổi dữ liệu với cổng vào ra.

• Phân loại: 1. Vào ra bằng chương trình 2. Vào ra bằng ngắt 3. Truy cập bộ nhớ trực tiếp DMA

Lệnh I/O: + với không gian địa chỉ vào ra riêng biệt: sử dụng các lệnh vào ra chuyên dụng + với không gian vào ra dùng chung bộ nhớ thì các lệnh trao đổi dữ liệu sử dụng như ngăn nhớ.

L.T.Vinh

31

185 186 5 August 2010 5 August 2010

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

3. Ghép nối máy tính với thiết bị

3. Ghép nối máy tính với thiết bị Các phương pháp ĐK vào/ra

Hoạt động vào ra bằng chương trình + CPU gặp lệnh trao đổi vào ra, yêu cầu thao tác vào ra + Module vào ra thao tác vào ra + Module vào ra thiết lập các bit trạng thái(State) + CPU kiểm tra các bit trạng thái: Nếu chưa sẵn sàng thì quay lại kiểm tra lại Nếu sẵn sàng thì chuyển sang trao đổi dữ liệu với Module vào ra

Nhận xét: + CPU trực tiếp điều khiển vào ra: đọc trạng thái, kiểm tra trạng thái, thực hiện trao đổi. + Trong trường hợp nhiều thiết bị cùng cần trao đổi dữ liệu và thiết bị chưa sẵn sàng tốn rất nhiều thời gian CPU + việc thực hiện trao đổi đơn giản

187 188 5 August 2010 5 August 2010

3. Ghép nối máy tính với thiết bị Các phương pháp ĐK vào/ra

3. Ghép nối máy tính với thiết bị Các phương pháp ĐK vào/ra

2. Vào ra bằng ngắt Nguyên tắc chung: + CPU không phải đợi trạng thái sẵn sàng của

Module vào ra.

+ Module vào ra khi nó sẵn sàng phát ra tín hiệu

yêu cầu ngắt CPU

3. Truy nhập bộ nhớ trực tiếp (DMA: Direct Memory Access) Với nhược điểm chính của hai phương pháp trên là: CPU tham gia trực tiếp vào trao đổi dữ liệu và việc trao đổi lượng dữ liệu nhỏ. Để khắc phục hai phương pháp trên một phương pháp mới có tên DMA sẽ sử dụng thêm một Module phần cứng có DMAC (DMA Controller). Vì vậy khi trao đổi dữ liệu không qua CPU.

+ CPU thực hiện chương trình vào ra tương ứng để

trao đổi dữ liệu.

+ CPU trở lại chương trình đang bị ngắt.

189 190 5 August 2010 5 August 2010

3. Ghép nối máy tính với thiết bị Các phương pháp ĐK vào/ra

3. Ghép nối máy tính với thiết bị Các phương pháp ĐK vào/ra

Truy nhập bộ nhớ trực tiếp

Các thành phần của DMAC + Thanh ghi dữ liệu: chứa dữ liệu trao đổi. + Thanh ghi địa chỉ: chứa địa chỉ của ngăn nhớ dữ liệu + Bộ đếm dữ liệu: chứa số từ dữ liệu cần trao đổi + Khối logic điều khiển: điều khiển hoạt động của DMAC

L.T.Vinh

32

191 192 5 August 2010 5 August 2010

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

3. Ghép nối máy tính với thiết bị Các phương pháp ĐK vào/ra

3. Ghép nối máy tính với thiết bị Các phương pháp ĐK vào/ra

Hoạt động của DMA Khi cần vào ra dữ liệu thì CPU nhờ DMAC tiến hành vào

ra dữ liệu với thông tin cho biết như sau:

1. Địa chỉ thiết bị vào ra 2. Địa chỉ đầu của mảng nhớ chứa dữ liệu và DMAC nạp

thanh ghi địa chỉ

3. Số từ dữ liệu cần truyền và DMAC nạp vào bộ đếm dữ

liệu

4. CPU sẽ thực hiện việc khác 5. DMAC điều khiển việc trao đổi dữ liệu sau khi truyền một từ dữ liệu thì nội dung thanh ghi địa chỉ tăng lên và nội dung bộ đếm dữ liệu giảm xuống một đơn vị. 6. Khi bộ đếm bằng dữ liệu bằng 0, DMAC gởi tín hiệu

ngắt CPU để báo kết thúc DMA

193 194 5 August 2010 5 August 2010

3. Ghép nối máy tính với thiết bị

3. Ghép nối máy tính với thiết bị

195 196 5 August 2010 5 August 2010

3. Ghép nối máy tính với thiết bị

3. Ghép nối máy tính với thiết bị

L.T.Vinh

33

197 198 5 August 2010 5 August 2010

ĐH Sư phạm Kỹ thuật Vinh

5 August 2010

Chúc các anh chị học tốt

L.T.Vinh

34

5 August 2010 199