1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Giáo an Bài giảng: Công nghệ thông tin về kiến trúc máy tính (Slide)

235 631 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Giới thiệu Kiến trúc & Tổ chức máy tính
Tác giả Nguyễn Hồng Sơn
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công nghệ Thông tin về Kiến Trúc Máy Tính
Thể loại bài giảng
Thành phố Hà Nội
Định dạng
Số trang 235
Dung lượng 3,86 MB

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

Nội dung

Kiến trúc đề cập đến các thuộc tính mà người lập trình nhận thấy được, ảnh hưởng trực tiếp đến thực thi chương trình Instruction set, số bit biểu diễn data type, cơ cấu I/O, addressing

Trang 1

KIẾN TRÚC MÁY TÍNH

Nguyễn Hồng Sơn

Trang 2

Bài 1 GIỚI THIỆU

Kiến trúc & Tổ chức máy tính

Trang 3

Tổ chức và Kiến trúc

Hai thuật ngữ nhằm mô tả một hệ thống máy tính.

 Kiến trúc đề cập đến các thuộc tính mà người lập trình nhận thấy được, ảnh hưởng trực tiếp đến thực thi chương trình (Instruction set, số bit biểu diễn data type, cơ cấu I/O, addressing)

 Tổ chức máy tính đề cập đến các đơn vị hoạt động và

sự liên kết giữa chúng, thực hiện các đặc tả kiến trúc (chi tiết phần cứng, control signals, interfaces,

memory technology)

 Ví dụ xây dựng multiply instruction

Trang 4

Cấu trúc và Chức năng

 Cấu trúc: cụ thể hóa các thành phần và các mối liên hệ giữa các thành phần, là hiện

thực của tổ chức máy tính.

 Chức năng: sự hoạt động của mỗi thành

phần trong cấu trúc.

Trang 6

Cơ cấu vận chuyển data

Cơ cấu điều kiển

Phương tiện Phương tiện

Nguồn và đích của data

Trang 7

7

Trang 8

Các thành phần trong cấu trúc máy tính

Có bốn thành phần chính:

•CPU: Điều khiển các hoạt động và thực hiện các chức năng xử lý data

•Main memory: Lưu trữ data

•I/O: vận chuyển data giữa máy tính với bên ngoài

•System interconnection: cung cấp cơ chế truyền thông giữa ba thành phần trên

Trang 9

Main memory

I/O CPU

Trang 10

 Một máy tính có thể có một hay nhiều

CPU

 Dung lượng bộ nhớ là tùy chọn

 Cơ cấu I/O có qui mô khác nhau tùy theo nhu cầu

Trang 12

Conrol

Sequencing logic

Trang 13

Sơ lược lịch sử phát triển

 Thế hệ thứ nhất:

Trang 15

1943 và được hoàn thành vào năm 1946 Đây là một máy tính khổng lồ với thể tích dài 20 mét, cao 2,8 mét và rộng vài mét ENIAC bao gồm: 18.000 đèn điện tử, 1.500 công tắc tự động, cân nặng 30 tấn, và tiêu thụ 140KW giờ Nó có

20 thanh ghi 10 bit (tính toán trên số thập phân) Có khả năng thực hiện 5.000 phép toán cộng trong một giây Công việc lập trình bằng tay bằng cách đấu nối các đầu cắm điện

và dùng các ngắt điện

Trang 16

Sơ lược lịch sử phát triển(tt)

 Thế hệ thứ hai:

Trang 18

Sơ lược lịch sử phát triển (tt)

Trang 19

19

Trang 21

Sơ đồ kiến trúc của PIII

Trang 22

Intel Core 2 Dual

Trang 23

Nâng cao chất lượng

 Tốc độ bộ vi xử lý

 Cân đối hiệu suất

 Cải thiện tổ chức và cấu trúc chip.

Trang 26

Giải pháp cân đối hiệu suất

 Bộ nhớ lớn hơn

 Cache

 Liên kết CPU-memory tốc độ cao

 Thiết kế

Trang 27

Cải thiện tổ chức và cấu trúc

chip

 Tốc độ và clock rate

 Kích thước và tốc độ cache

 Kiến trúc song song

 Các hệ quả

Trang 28

Bài 2 STORED-PROGRAM VÀ GENERAL-PURPOSE COMPUTER

Trang 29

Sự xuất hiện stored-program và

general-purpose hardware

hợp với nhau theo các cách khác nhau để lưu trữ dữ liệu nhị phân và thực hiện các phép toán số

học và luận lý trên dữ liệu đó.

nối các thành phần logic được thiết kế và thực hiện Có thể hiểu đó chính là dạng lập trình.

Trang 30

Tuần tự các chức năng số học và luận lý

Phần cứng được xây dựng từ các thành phần logic

quả

Trang 31

Sự xuất hiện stored-program và general-purpose hardware (tt)

 Nếu tất cả các ứng dụng đều thực hiện

bằng hardwired progam => bất tiện và

khả năng của máy tính rất hạn chế

 Xây dựng các chức năng số học và luận lý

tổng quát (general-purpose hardware)

 Hoạt động dựa vào tín hiệu điều khiển

Trang 32

Biên dịch

Các chức năng số học và luận lý

Các mã lệnh (instruction codes)

Tập tín hiệu điều khiển

Trang 33

Phát sinh tín hiệu điều khiển

 Toàn bộ chương trình là một tuần tự gồm nhiều bước.

 Mỗi bước cần tiến hành một vài phép số học và luận lý trên data nào đó.

 Mỗi bước cần một tập tín hiệu tương ứng

 Một code duy nhất cho một tập tín hiệu có thể

 Một segment tương ứng trong phần cứng tổng quát chấp nhận một tập tín hiệu điều khiển được phát ra.

Trang 34

Phát sinh tín hiệu điều khiển(tt)

 Lập trình bây giờ: thay vì nối dây phần cứng cho mỗi chương trình mới, chỉ cần cung cấp một tuần tự mới của các code

 Mỗi code thực ra là một instruction, được phần biên dịch tiếp nhận và phát ra tập tín hiệu điều khiển tương ứng.

 Tuần tự các instruction đó là software

Trang 35

 Data và instruction được lưu trữ trong một bộ nhớ đọc-ghi.

 Nội dung trong bộ nhớ được định vị theo

vị trí, không cần biết kiểu data là gì.

 Thực thi chương trình theo kiểu tuần tự, từ instruction này đến instruction kế tiếp.

Ba khái niệm cơ bản về stored-program

Trang 37

Bộ nhớ chính

 Thiết bị nhập đưa data và inst vào theo

tuần tự, nhưng chương trình không phải

thực thi theo tuần tự một cách cứng nhắc.

 Hoạt động tính toán có thể phải truy xuất nhiều dữ kiện hơn tại một thời điểm theo một tuần tự không thể dự đoán được.

=>cần có nơi lưu trữ tạm thời cả data và inst, đó là bộ nhớ chính

Trang 38

MAR

MBR I/O AR I/O BR

: Instruction Instruction Instruction

: Data Data

Bộ nhớ 0

1 2 :

Buffer I/O module

Trang 39

Bài 3

KIẾN TRÚC VON NEUMANN

VÀ KIẾN TRÚC HARVARD

Trang 40

KIẾN TRÚC VON NEUMANN

Computer) là máy tính điện tử dạng purpose đầu tiên

John von Neumann thiết kế ra máy tính mới gọi là IAS (Institute for Advanced Studies) là khuôn mẫu cho tất cả các máy tính general-purpose sau

Trang 41

41

Trang 42

Bộ nhớ

chính

ALU

Program Control Unit

Thiết bị I/O

Trang 43

Máy von Neumann

 Main memory: lưu trữ cả data và instruction

 ALU: thao tác trên số liệu nhị phân

 PCU: biên dịch và tạo điều kiện thực thi các inst

 Thiết bị I/O được điều khiển bởi CU

Trang 44

Máy von Neumann

 Bộ nhớ chứa 1000 vị trí hay từ nhớ (word), mỗi word có 40 bit.

 Mỗi số (data)được biểu diễn gồm 1bit dấu và 39 bit giá trị

 Mỗi word có thể chứa hai inst 20 bit

 Một inst gồm 8 bit op code và 12 bit địa

chỉ

Trang 46

AC MQ

Các mạch số học-luận lý

MBR

Thiết bị I/O

Main memory

Trang 47

Máy von Neumann (tt)

từ bộ nhớ và thực thi mỗi lúc một inst.

các thanh ghi:

Trang 48

Giải mã inst trong IR

Trang 49

Kiến trúc Hardvard

trình và dữ liệu Độ rộng Bus chương trình thay đổi linh động và tối ưu cho một thiết bị đặc biệt nào đó Độ rộng bus dữ liệu thường là 8 hay 16 bit Kiến trúc này cho phép truy xuất đồng thời cả chương trình và dữ liệu.

word inst chỉ chiếm một vị trí nhớ, các single word

quan đều chứa trong một từ nhớ Việc thực thi chỉ thị cũng nhanh vì bộ nhớ chương trình và bộ nhớ dữ liệu đều có thể truy xuất đồng hành.

Trang 50

Kieán truùc Harvard

Trang 51

Kiến trúc Harvard

 Một số CPU có kiến trúc hỗn hợp giữa hai kiến trúc Cấu trúc bên trong core là Harvard Core của CPU được đệm từ bus ngòai qua một cache tốc độ cao và một bộ điều khiển cache Để nâng phẩm chất, bên trong CPU tách biệt bus chương trình và bus dữ liệu, mỗi bus đều có cache riêng.

 Bộ điều khiển data cahe giám sát bus để cập nhật bản sao trong cache nếu các thiết bị khác trên bus thay đổi bộ nhớ chính Tuy nhiên, bộ nhớ chỉ thị không thể cập nhật, chỉ có thể đọc chương trình trong cache vàø không thể ghi vào Điều này khiến cho kiến trúc Harvard không thể thực hiện self modifying code.

Trang 52

Bài 4

KIẾN TRÚC TẬP CHỈ THỊ

ISA (Instruction Set Architecture)

Nguyễn Hồng Sơn

Trang 53

Tập chỉ thị

 Tập hợp các chỉ thị khác nhau mà bộ xử lý

có thể thực thi

Trang 55

Các thành phần

Trang 56

Biểu diễn chỉ thị

 Một tuần tự bit

 Biểu diễn mỗi thành phần như thế nào

Trang 57

 Lưu trữ dữ liệu: memory

 Di chuyển dữ liệu: I/O

 Điều khiển: kiểm tra, rẽ nhánh, chuyển điều khiển

Trang 58

Ví dụ rẽ nhánh

Trang 59

Gọi thủ tục

Trang 60

Số lượng địa chỉ

 Bao nhiêu địa chỉ được chứa trong một chỉ thị

 Địa chỉ được biểu diễn tường minh hay

không tường minh

Trang 63

Tập chỉ thị được đo lường qua vài yếu tố

Trang 64

Các cân nhắc thiết kế

nhưng lãng phí)

định số toán hạng (expanding opcode)

Trang 65

14

Trang 66

Hỗ trợ lưu trữ bên trong CPU

các toán hạng được ngầm định ở đỉnh stack, không thể truy xuất ngẫu nhiên, khó sinh mã hiệu quả.

(không tường minh) trong accumulator, tối thiểu

độ phức tạp nhưng lưu lượng bộ nhớ lớn.

General Purpose Register): dùng một số thanh ghi, truy xuất nhanh Có hai đặc trưng chính: số lượng

Trang 68

Địa chỉ tức thời (Immediate addressing)

 Giá trị tham chiếu nằm ngay trong chỉ thị

 Không có tham chiếu bộ nhớ để lấy dữ liệu

Trang 69

Địa chỉ trực tiếp (Direct addressing)

 Toán hạng là địa chỉ của giá trị tham chiếu

 Tham chiếu một vị trí bộ nhớ để truy xuất

Trang 70

Nội dung tham chiếu

Memory

3BF

Trang 71

Địa chỉ gián tiếp (indirect addresing)

 Toán hạng là địa chỉ của con trỏ chỉ đến dữ

liệu

 Địa chỉ hiệu quả chính là con trỏ

 Ví dụ

ADD 38F

trong ô nhớ 38F với nội dung trong AC

Trang 73

Địa chỉ thanh ghi ( Register addressing )

 Toán hạng là tên thanh ghi (địa chỉ thanh ghi)

 Địa chỉ hiệu quả là thanh ghi

 Truy xuất nhanh

 Ví dụ

ADD R1 cộng nội dung thanh ghi R1 với nội dung của AC

Trang 74

opcode Địa chỉ thanh ghi

Nội dung tham chiếu Các thanh ghi

Trang 76

opcode Địa chỉ thanh ghi

con trỏ chỉ đến nội dung

tham chiếu

Các thanh ghi

Nội dung tham chiếu

Bộ nhớ

Trang 77

 Địa chỉ hiệu quả = địa chỉ + độ dời

Trang 78

opcode thanh ghi địa chỉ

độ dời

Các thanh ghi

Nội dung tham chiếu

Bộ nhớ

Trang 79

Relative addressing

 Từ displacement addressing nếu thanh ghi là PC thì gọi là địa chỉ quan hệ (relative addressing);

 Lấy nội dung từ ô nhớ tại vị trí "địa chỉ" tính từ

vị trí hiện hành được chỉ ra trong thanh ghi PC.

 Ví dụ LD A

nạp nội dung từ ô nhớ A+(PC) vào thanh ghi AC

Trang 80

Địa chỉ dùng thanh ghi nền

(Base-register addressing)

 Giá trị thứ nhất là độ dời

 Thanh ghi chứa con trỏ chỉ đến địa chỉ nền

 Thanh ghi có thể là tường minh hay không tường minh (ngầm)

Trang 81

Indexed addresing

 Giá trị địa chỉ trong chỉ thị chứa địa chỉ nền

 Thanh ghi chứa độ dời (offset)

 Địa chỉ hiệu quả= địa chỉ nền + độ dời

 Thích hợp cho truy xuất mảng

thanh ghi R

Trang 82

Địa chỉ ngăn xếp (stack

Trang 83

Các chế độ địa chỉ cải tiến

 Có thể kết hợp các chế độ địa chỉ với nhau

 Ví dụ indirect indexed addressing, indirect based register adressing

Trang 84

Bài tập

1 Giải thích và cho ví dụ các chế độ địa chỉ cải tiến

-Indirect indexed addressing

-Indirect based register adressing

2 Tìm hiểu các chế độ địa chỉ trong máy

Pentium

Trang 86

CPU với system bus

Cấu trúc bên trong của CPU

Trang 87

Tổ chức các thanh ghi

 CPU cần có các vùng nhớ tạm để làm việc,

gọi là các thanh ghi (registers)

 Số lượng và chức năng thay đổi tùy vào

User-visible register là thanh ghi có thể được tham

chiếu qua ngôn ngữ máy, bao gồm các loại:

 General Purpose: đa chức năng, chứa operand của

chỉ thị

 Data: chỉ chứa data, không được dùng để tính toán

địa chỉ.

 Address: dùng cho chế độ địa chỉ như segment

pointer, index register, stack pointer

 Condition Codes: chứa các mã điều kiện (còn gọi là

các flag)

Trang 88

Control & status register

 Có một số thanh ghi được dùng để điều khiển

hoạt động của CPU

 Program Counter

 Instruction Decoding Register

 Memory Address Register

 Memory Buffer Register

 Tất cả các thiết kế đều có một hay tập thanh

ghi gọi là PSW (Program Status Word)

PSW

 PSW chứa các mã điều kiện cùng với các thông tin

trạng thái khác Các field hay flag phổ biến gồm:

Trang 89

Supervisor mode

 Các chỉ thị đặc quyền chỉ có thể thực thi

trong supervisor mode.

 Vùng nhớ đặc biệt chỉ có thể truy xuất trong

supervisor mode

 Được dùng bởi hệ điều hành

 Không khả dụng đối với các chương trình

của user.

Ví dụ tổ chức thanh ghi

Trang 90

 Một chương trình được thực thi gồm một

tập chỉ thị được lưu giữ trong bộ nhớ.

 CPU có nhiệm vụ thực thi từng chỉ thị được

Trang 91

Chu kỳ lấy chỉ thị và thực thi

 Bắt đầu mỗi chu kỳ chỉ thị, CPU nạp chỉ thị từ bộ

nhớ

 PC (program counter): là thanh ghi hướng dẫn

chọn chỉ thị kế tiếp

 Mặc định sau mỗi lần nạp, PC sẽ tăng một đơn vị

(chỉ tới chỉ thị kế tiếp theo tuần tự trong chương

trình)

 Chị thị được nạp vào thanh ghi IR (instruction

register)

Trang 92

Chu kỳ lấy chỉ thị và thực thi…

 Chỉ thị tồn tại ở dạng mã nhị phân, chỉ cho CPU

biết nó phải làm cơng việc gì.

 CPU sẽ phiên dịch (giải mã lệnh) để nhận biết

cơng việc phải làm.

 Các cơng việc thường rơi vào một trong bốn

nhóm:

 CPU-Memory

 CPU-I/O

 Xử lý data

 Điều khiển: ví dụ thay đổi tuần tự

Chu kỳ lấy chỉ thị và thực thi…

 Việc thực thi một chỉ thị cụ thể liên quan

đến nhiều cơng việc.

 Một chu kỳ thực thi có thể có nhiều tham

chiếu đến bộ nhớ.

 Một chu kỳ thực thi có thể có nhiều tham

chiếu đến I/O

 Một chu kỳ thực thi có thể có nhiều tham

chiếu đến bộ nhớ và cả I/O

Trang 93

Các trạng thái trong một chu kỳ chỉ thị

 (1)Tính toán địa chỉ của chỉ thị: xác định địa chỉ của chỉ thị kế tiếp,

thường là cộng một hằng số vào địa chỉ của chỉ thị trước

 (2)Lấy lệnh

 (3)Giải mã chỉ thị: phân tích để xác định cơng việc phải làm và toán

hạng được dùng

 (4)Tính toán địa chỉ toán hạng: nếu cơng việc cần lấy thơng số

(data) từ bộ nhớ hay I/O

 (5)Lấy toán hạng

 (6)Xử lý trên dữ liệu theo cơng việc được chỉ định

 (7)Lưu toán hạng (data)

chỉ thị kế

nhiều kết quả

nhiều tốn hạng

Trang 94

Các trạng thái…

 Trên một số máy tính, một chỉ thị cụ thể chỉ

định một toán tử thực hiện trên một vector

(mảng một chiều) hay chuỗi của các ký tự

Điều này liên quan đến lặp đi lặp lại việc

lấy dữ liệu hay lưu trữ dữ liệu.

Ví dụ máy giả thuyết

 Từ nhớ 16 bit

 Instruction: 4 bit mã và 12 bit địa chỉ

 Data: 1 bit dấu và 15 bit định lượng

 Gồm có các thanh ghi:

 PC

 IR

 AC(accumulator): thanh ghi tạm

 4 trong số 16 mã lệnh cụ thể

 0001: nạp nội dung từ bộ nhớ vào AC

 0010: ghi nội dung AC vào bộ nhớ

 0101: cộng nội dung từ bộ nhớ với nội dung của AC

Trang 95

Ví dụ…

 Chỉ thị được cất giữ từ vị trí 0x300 trong bộ nhớ.

 Trình bày hoạt động cộng nội dung tại địa chỉ 0x940 với

nội dung của 0x941, lưu kết quả tại 0x941.

 Chương trình

 Nạp nội dung từ 0x940 vào AC

 Cộng nội dung của 0x941 với AC

 Ghi nội dung của AC vào 0x941

 Như vậy có 3 chu kỳ nạp và 3 chu kỳ thực thi

194059412941

00030002

00031940

300 PC

AC IR

300 301 302

940 941

Bộ nhớ Các thanh ghi

Trang 96

00030002

00055941

301 PC

AC IR

300 301 302

940 941

194059412941

00030005

00052941

302 PC

AC IR

300 301 302

940 941

Trang 97

Ví dụ 2

 Trình bày các chu kỳ thực hiện phép tính

(3+2)*5 (5 tai 942), ghi kết quả tại 0x942

 Tất cả sinh viên tự làm bài

0005

2942

194059416942

00030002

1940

300

300 301 302 303

940 941 942

PC AC IR

0005 2942

0003

Trang 98

Bài tập về nhà

 Trình bày tất cả các chu kỳ chỉ thị khi tính (2+3)*(3+4)

trên máy giả thuyết, cho 0004 chứa tại 0x942, ghi kết quả

tại 0x942.

 Viết tuần tự chỉ thị thực hiện phép tính sau trên máy IAS

(máy tính Von Neumann)

(4+2)*5, ghi kết quả tại vị trí 202h

Hãy trình bày tất cả các chu kỳ chỉ thị khi thực hiện phép

tính trên.

Cho mã chương trình đươïc nạp vào bộ nhớ bắt đầu tại vị

trí 100h và dữ liệu được cất giữ bắt đầu từ vị trí 200h.

Trang 99

THỰC THI CHƯƠNG TRÌNH

CĨ NGẮT

BÀI 6

Trang 100

Khái niệm Ngắt (Interrupt)

trình xử lý bình thường của CPU.

 Program: phát sinh bởi điều kiện, là kết quả thực thi một chỉ thị, như tràn số học, chia 0…

thực hiện một chức năng thông thường nào đó.

 I/O: phát sinh bởi I/O controller, báo hoàn tất một công việc hay thông báo một điều kiện lỗi nào đó.

Lỗi phần cứng

Trang 102

Chương trình I/O tiêu biểu

thực sự

 Lệnh I/O, khi gọi lệnh này chương trình phải đợi thiết

bị I/O thực hiện chức năng được yêu cầu Chương trình

có thể đợi theo cách lặp lại thao tác kiểm tra để xác

định hoạt động I/O đã được thực hiện hay chưa.

 Tuần tự chỉ thị làm thủ tục hoàn tất hoạt động I/O, ví dụ dựng các cờ, thiết lập thông báo…

Trang 104

Hoạt động của chương trình không ngắt…

 Hoạt động I/O liên quan đến các thiết bị ngoài với các thao tác cơ-điện mất nhiều thời gian

 Chương trình I/O phải đợi cho các thao tác I/O

hoàn tất.

=> Chương trình chính sẽ phải dừng lại mỗi khi gặp một chỉ thị I/O (ví dụ write) trong một thời gian khá dài

Trang 106

5 2

4 Hoạt động của chương trình

có ngắt…

Trang 107

Thủ tục ngắt tổng quát

 Phát sinh tín hiệu ngắt: vi9 du: từ I/O module

 Đáp ứng ngắt từ CPU: treo, chuyển

Ngày đăng: 22/04/2014, 15:18

HÌNH ẢNH LIÊN QUAN

Sơ đồ kiến trúc của PIII - Giáo an Bài giảng: Công nghệ thông tin về kiến trúc máy tính (Slide)
Sơ đồ ki ến trúc của PIII (Trang 21)
Sơ đồ trạng thái trong chu kỳ chỉ thị - Giáo an Bài giảng: Công nghệ thông tin về kiến trúc máy tính (Slide)
Sơ đồ tr ạng thái trong chu kỳ chỉ thị (Trang 110)
Sơ đồ phần cứng thực hiện cộng - Giáo an Bài giảng: Công nghệ thông tin về kiến trúc máy tính (Slide)
Sơ đồ ph ần cứng thực hiện cộng (Trang 126)
Sơ đồ khối bộ nhân bằng cách - Giáo an Bài giảng: Công nghệ thông tin về kiến trúc máy tính (Slide)
Sơ đồ kh ối bộ nhân bằng cách (Trang 127)
Sơ đồ cache trong Pentium IV - Giáo an Bài giảng: Công nghệ thông tin về kiến trúc máy tính (Slide)
Sơ đồ cache trong Pentium IV (Trang 164)
Sơ đồ cache trong PowerPC G5 - Giáo an Bài giảng: Công nghệ thông tin về kiến trúc máy tính (Slide)
Sơ đồ cache trong PowerPC G5 (Trang 164)
Sơ đồ khối  DMA module  tieõu bieồu - Giáo an Bài giảng: Công nghệ thông tin về kiến trúc máy tính (Slide)
Sơ đồ kh ối DMA module tieõu bieồu (Trang 212)

TỪ KHÓA LIÊN QUAN

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