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

bài giảng kiến trúc máy tính chuyên ngành công nghệ thông tin

152 1,9K 1

Đ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 152
Dung lượng 17,68 MB

Nội dung

January 21, 2024 Bài giảng kiến trúc máy tính • Máy tính nhúng Embedded Computer Được đặt trong thiết bị khác để điều khiển thiết bị đó làm việc ? Được thiết kế chuyên dụng Ví dụ: ? Điệ

Trang 1

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 2

January 21, 2024 Bài giảng kiến trúc máy tính

• Chương 4 Giới thiệu một số KT hiện đại

• Chương 5 Tổ chức vào ra của máy tính

Trang 3

January 21, 2024 Bài giảng kiến trúc máy tính

Tài liệu tham khảo

1 William Stallings - Computer Organization and Architecture –

Designing for Performance – 2003 (6th edition)

2 Behrooz Parhami - Computer Architecture: From Microprocessors to Supercomputers - 2005

3 David A Patterson & John L Hennessy -Computer Organization

and Design: The Hardware/Software Interface – 2002 (third edition)

4 John L Hennessy & David A Patterson -Computer Architecture:

A Quantitative Approach –2003 (third edition)

Trang 4

January 21, 2024 Bài giảng kiến trúc máy tính

Chương I Tổng quan

• I Giới thiệu chung

• II Kiến trúc máy tính tuần tự Vonneuman

• III Các phương pháp vào ra dữ liệu của máy tính

Trang 5

January 21, 2024 Bài giảng kiến trúc máy tính

I Giới thiệu chung

• 1.1 Máy tính và phân loại máy tính

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ể gọi là chương

trình (program)

• Máy tính hoạt động theo chương trình.

Trang 6

January 21, 2024 Bài giảng kiến trúc máy tính

I Giới thiệu chung

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

Phân loại truyền thống

• Máy vi tính (Microcomputers)

• Máy tính nhỏ (Minicomputers)

• Máy tính lớn (Mainframe Computers)

• Siêu máy tính (Supercomputers)

Phân loại máy tính hiện đại

• Máy tính cá nhân (Personal Computers)

• Máy chủ (Server Computers)

Trang 7

January 21, 2024 Bài giảng kiến trúc máy tính

• Máy tính cá nhân PC

Là loại máy tính phổ biến nhất

􀂄 Các loại máy tính cá nhân:

􀂄 Máy tính để bàn (Desktop)

􀂄 Máy tính xách tay (Laptop)

􀂄 1981 IBM giới thiệu máy tính IBM-PC sử

Trang 8

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 9

January 21, 2024 Bài giảng kiến trúc máy tính

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

Được đặt trong thiết bị khác để điều khiển thiết bị đó làm việc

􀂄 Được thiết kế chuyên dụng

Ví dụ:

􀂄 Điện thoại di động

􀂄 Máy ảnh số

􀂄 Bộ điều khiển trong máy giặt, điều hoà nhiệt độ

􀂄 Router – bộ định tuyến trên mạng

􀂄 Giá thành: vài USD đến hàng trăm nghìn USD.

Trang 10

January 21, 2024 Bài giảng kiến trúc máy tính

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

Định nghĩa trước đây về kiến trúc máy tính:

Cách nhìn logic của máy tính từ người lập trình (hardware/software interface)

Kiến trúc tập lệnh (Instruction Set Architecture– ISA)

Trang 11

January 21, 2024 Bài giảng kiến trúc máy tính

• Tổ chức máy tính (Computer Organization): nghiên cứu thiết kế máy tính ở mức cao,chẳng hạn như hệ thống nhớ, cấu trúc bus, thiết kế bên trong CPU.

• Phần cứng (Hardware): nghiên cứu thiết kế logic chi

tiết và công nghệ đóng gói của máy tính.

Kiến trúc tập lệnh thay đổi chậm, tổ chức và phần cứng máy tính thay đổi rất nhanh.

Trang 12

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 13

January 21, 2024 Bài giảng kiến trúc máy tính

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

• Phần cứng (Hardware): hệ thống vật lý của máy tính.

• 􀂄 Phần mềm (Software): các chương trình và dữ liệu.

Trang 14

January 21, 2024 Bài giảng kiến trúc máy tính

• Thế hệ thứ hai: Máy tính dùng transistor (1960s)

• Thế hệ thứ ba: Máy tính dùng vi mạch SSI, MSI và LSI (1970s)

• Thế hệ thứ tư: Máy tính dùng vi mạch VLSI (1980s)

• Thế hệ thứ năm: Máy tính dùng vi mạch ULSI, SoC

(1990s)

Trang 15

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 16

January 21, 2024 Bài giảng kiến trúc máy tính

• Máy tính von Neumann

• Đó là máy tính IAS:

• Princeton Institute for Advanced Studies

• Được bắt đầu từ 1947, hoàn thành1952

• 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 17

January 21, 2024 Bài giảng kiến trúc máy tính

• Đặ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

Trang 18

January 21, 2024 Bài giảng kiến trúc máy tính

• John von Neumann và máy tính IAS

Hãng IBM International Business Machine

Trang 19

January 21, 2024 Bài giảng kiến trúc máy tính

• Máy tính dùng transistor

Máy tính PDP-1 của DEC (Digital

Equipment Corporation) máy tính mini đầu

Trang 20

January 21, 2024 Bài giảng kiến trúc máy tính

• 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 Integration)

􀂄 MSI (Medium Scale Integration)

􀂄 LSI (Large Scale Integration)

􀂄 VLSI (Very Large Scale Integration) (thế hệ thứ tư)

􀂄 ULSI (Ultra Large Scale Integration) (thế hệ thứ năm)

􀂄 SoC (System on Chip)

􀂄 Siêu máy tính xuất hiện: CRAY-1, VAX

􀂄 Bộ vi xử lý (microprocessor) ra đời

􀂄 Bộ vi xử lý đầu tiên 􀂄 Intel 4004 (1971).

Trang 21

January 21, 2024 Bài giảng kiến trúc máy tính

Máy tính dùng vi mạch VLSI/ULSI

• Các sản phẩm chính của công nghệ VLSI/ULSI:

􀂄 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 1 chip.

Trang 22

January 21, 2024 Bài giảng kiến trúc máy tính

􀂄 Các bộ xử lý đa lõi (multicores)

􀂄 Các bộ vi điều khiển (microcontroller)

Pentium

􀂄 Siêu vô hướng

􀂄 Bus dữ liệu 64-bit

􀂄 Đa lệnh được thực hiện song song Pentium Pro

􀂄 Tăng cường tổ chức siêu vô hướng

􀂄 Dự đoán rẽ nhánh

􀂄 Phân tích luồng dữ liệu

􀂄 Suy đoán đông

Trang 23

January 21, 2024 Bài giảng kiến trúc máy tính

• 􀂄 Tăng cường xử lý số dấu phẩy động vàmultimedia

Duo Core: 2 bộ xử lý trên chip

Core 2: Kiến trúc 64-bit

• 􀂄 Core 2 Quad – 3GHz – 820 triệu transistors

4 bộ xử lý trong 1chip

Trang 24

January 21, 2024 Bài giảng kiến trúc máy tính

• Intel Pentium (32-bit)

Multicores

Trang 25

January 21, 2024 Bài giảng kiến trúc máy tính

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

Kiến trúc SISD (single instruction - single data, đơn dòng lệnh - đơn dòng dữ liệu)

• - Kiến trúc SIMD (Single Instruction Multiple Data, đơn dòng lệnh- đa dữ liệu)

Khối điều khiển Khối chấp hành

Hệ thống nhớ

Các tín hiệu điều khiển

Khối điều khiển Khối chấp hành 2

Hệ thống nhớ lệnh

Các tín hiệu điều khiển

Trang 26

January 21, 2024 Bài giảng kiến trúc máy tính

• Kiến trúc MIMD (Multiple Instruction Multiple

Data, đa dòng lệnh- đa dữ liệu)

dữ liệu Khối điều khiển 1 Khối điều khiển n

Hệ thống nhớ lệnh

dữ liệu lệnh

Trang 27

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 28

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 29

January 21, 2024 Bài giảng kiến trúc máy tính

• Ví dụ:

• Giả sử: Thực hiện lệnh A có CPI = 2, B có CPI = 3, C có CPI = 1, D có CPI = 4

• Biết 1 CPI = 2ns (nano giây)  làm hết lệnh trên cần 26s

• MIPs (Million Instruction Per Second): Số triệu lệnh được thực hiện trong một giây

*

* (

(mips) 30.845

1000

* ) 2 8 16 ( ) 5 1 20 ( ) 1 3 ( ) 15

* 6 ( ) 7 5 9 ( ) 10

* 3 ( ) 1 10 ( ) 5 1 4 30 (

Trang 30

January 21, 2024 Bài giảng kiến trúc máy tính

n CK thực hiện Thời gian thực hiện chương trình T

Trang 31

January 21, 2024 Bài giảng kiến trúc máy tính

I.3 Toán logic, đại số boolean

• Đại số Boole sử dụng các biến logic và phép toán logic

􀂄 Biến logic có thể nhận giá trị 1 (TRUE) hoặc 0 (FALSE)

􀂄 Phép toán logic cơ bản là AND, OR và NOT

• với ký hiệu như sau:

􀂄 Thứ tự ưu tiên: NOT > AND > OR

􀂄 Các phép toán NAND, NOR, XOR:

Trang 32

January 21, 2024 Bài giảng kiến trúc máy tính

Phép toán đại số Boole

Trang 33

January 21, 2024 Bài giảng kiến trúc máy tính

Các đồng nhất thức của đại số

Boole

Trang 34

January 21, 2024 Bài giảng kiến trúc máy tính

Một số đường vào (dẫn tín hiệu vào) và chỉ có một đường ra (phát tín hiệu ra)

Giả sử các tín hiệu vào x 1, x2, …, xn (ta gọi là đầu vào hay input) cũng như tín hiệu ra F (đầu

ra hay output) đều chỉ có hai trạng thái khác nhau, tức là mang một bit thông tin, mà ta ký hiệu

là 0 và 1

Một thiết bị với các đầu vào và đầu ra mang giá trị 0, 1 như vậy là một mạch lôgic

Đầu ra của một mạch lôgic là một hàm Boole F của các đầu vào x 1, x2, …, xn Ta nói mạch lôgic trong hình trên thực hiện hàm F

•Các mạch lôgic được tạo thành từ một số mạch cơ sở, gọi là cổng lôgic Các cổng lôgic sau đây thực hiện các hàm phủ định, hội và tuyển.

Trang 35

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 36

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 37

January 21, 2024 Bài giảng kiến trúc máy tính

3.1.1 Cổng NOT Cổng NOT thực hiện hàm phủ định Cổng chỉ có một đầu vào Đầu ra F(x) là

phủ định của đầu vào x.

• Chẳng hạn, xâu bit 100101011 qua cổng NOT cho xâu bit 011010100

, 1 0

)

(

x khi

x khi x

) , (x y xy khi x y F

, 1 1

1 )

, (

y x khi

y hay x

khi y

x y x

y

Trang 38

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 39

January 21, 2024 Bài giảng kiến trúc máy tính

y x

F( , , )   

Trang 40

January 21, 2024 Bài giảng kiến trúc máy tính

Bộ dồn kênh (Multiplexer-MUX)

Trang 41

January 21, 2024 Bài giảng kiến trúc máy tính

Bộ dồn kênh (Multiplexer-MUX)

Trang 42

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 43

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 44

January 21, 2024 Bài giảng kiến trúc máy tính

Bộ giải mã (Decoder)

Bộ giải mã chọn một đầu ra tương ứng với một tổ hợp của N đầu vào.

Trang 45

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 46

January 21, 2024 Bài giảng kiến trúc máy tính

III Các phương pháp vào ra dữ liệu của máy tính

III.1 Phương pháp thăm dò trạng thái thiết bị ngoại vi

CPU sẽ liên tục gửi các tín hiệu hỏi xem có thiết bị nào sẵn sàng gửi DL cho mình hay không Nếu có một thiết bị ngoại vi nào đó muốn trao đổi DL với CPU thì nó sẽ gửi lại tín hiệu sẵn sàng trao đổi Khi đó CPU sẽ thực hiện việc trao đổi DL với thiết bị ngoại

vi này.

III.2 Phương pháp sử dụng ngắt

CPU vẫn làm công việc của mình, chỉ khi nào có một thiết bị ngoại vi hay một thành phần nào đó của má tính có yêu cầu trao đổi dữ liệu với CPU thì thiết bị ngoại vi này sẽ gửi một yêu cầu ngắt tới CPU, khi đó CPU sẽ tạm dừng công việc hiện tại để quay ra trao đổi dữ liệu với thiết bị ngoại vi này Trao đổi dữ liệu xong, CPU quay trở lại thực hiện tiếp công việc đang làm dở trước đó.

III.3 Phương pháp truy nhập bộ nhớ trực tiếp DMA

Thường được sử dụng khi có yêu cầu trao đổi dữ liệu lớn giữa CPU và thiết bị ngoại vi CPU trao quyền quản lý cho bộ điều khiển truy nhập trực tiếp, lúc này việc trao đổi

dữ liệu giữa thiết bị ngoại vi và bộ nhớ chính sẽ do bộ điều khiển này thực hiện.

III.4 Phương pháp sử dụng kênh dữ liệu

Xây dựng các đường bus dữ liệu riêng, nối trực tiếp thiết bị ngoại vi và bộ nhớ chính, mọi

hế thống bus lại có một bộ điều khiển riêng được gọi là kênh dữ liệu.

Trang 47

January 21, 2024 Bài giảng kiến trúc máy tính

2.1 Mô hình lập trình của máy tính

2.2 Các đặc trưng của lệnh máy

Trang 48

January 21, 2024 Bài giảng kiến trúc máy tính

instruction instruction

data data

Mainmemory

0 1 2

n-2 n-1

….

….

Excution unit

buffer

PC Program counter

IR Instruction register MAR Memory address register MBR Memory buffer register I/O Input/output address register I/O Input/output buffer register

Trang 49

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 50

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 51

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 52

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 53

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 54

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 55

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 56

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 57

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 58

January 21, 2024 Bài giảng kiến trúc máy tính

Giới thiệu về tập lệnh

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

Tập lệnh thường có hàng chục đến hàng trăm lệnh Mỗi lệnh là một chuỗi số nhị phân mà bộ xử

lý hiểu được để thực hiện một thao tác xác định Các lệnh được mô tả bằng các ký hiệu gợi nhớ - chính là các lệnh của hợp ngữ

Trang 59

January 21, 2024 Bài giảng kiến trúc máy tính

Dạng lệnh, kích thướ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 tuân theo sơ đồ sau:

Prefix OPcode Operand Địa chỉ trực

tiếp

Prefix (Tiền tố) đi trước mã lệnh Phần này có thế có, có thể không

Ví dụ tiền tố 3Eh báo hiệu vô hiệu hóa đoạn DS.

Operation code (Mã toán) chỉ ra các thao tác mà CPU cần thực hiện, phân biệt đó là lệnh gì Đối với CPU mã lệnh là một chuỗi các bit 0, 1

Ví dụ với lệnh dịch chuyển MOV có mã toán là 100010.

Toán hạng (operand) dùng để xác định những đối tượng mà ở đó phép toán được thực hiện (nội dung của thanh ghi hay bộ nhớ) Các toán hạng thường được ngăn cách nhau bởi dấu phẩy Toán hạng có thể có hoặc không

Ví dụ lệnh công hay nhân hai số hạng với nhau yêu cầu phải có hai toán hạng, lệnh dịch chuyển cần

một toán hạng, lệnh xóa cờ không cần toán hạng nào.

Trang 60

January 21, 2024 Bài giảng kiến trúc máy tính

Ví dụ: ADD, SUB, LOAD

Toán hạng có thể được mô tả như sau:

ADD A,B

Trang 61

January 21, 2024 Bài giảng kiến trúc máy tính

II Số lượng các lệnh cho VXL

Khi thiết kế một hệ lệnh cho bộ VXL nảy sinh một số vấn đề sau:

 Số lượng lệnh là bao nhiêu.

 Số lượng tham số trong hệ lệnh là bao nhiêu.

 Phân chia các lệnh theo dạng nào?

Để thực hiện việc mã hóa các lệnh người ta sử dụng một dãy số nhị

phân Độ dài của dãy số này sẽ qui định số lượng các lệnh mà bộ

xử lý có thể xử lý được.

Trang 62

January 21, 2024 Bài giảng kiến trúc máy tính

Các kiểu lệnh

Trang 63

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 64

January 21, 2024 Bài giảng kiến trúc máy tính

Số lượng địa chỉ toán hạng trong lệnh

Hai địa chỉ toán hạng:

Một toán hạng vừa là toán hạng nguồn vừa là toán hạng đích; toán hạng còn lại là toán hạng nguồn

Một toán hạng được chỉ ra trong lệnh

Một toán hạng là ngầm định thường là thanh ghi (thanh chứa –accumulator) Được sử dụng trên các máy ở các thế hệ trước

Trang 65

January 21, 2024 Bài giảng kiến trúc máy tính

Đánh giá về số địa chỉ toánhạng

Nhiều địa chỉ toán hạng

Trang 66

January 21, 2024 Bài giảng kiến trúc máy tính

Trang 67

January 21, 2024 Bài giảng kiến trúc máy tính

􀂄 Điều khiển vào-ra

􀂄 Chuyển điều khiển (rẽ nhánh)

􀂄 Điều khiển hệ thống

Trang 68

January 21, 2024 Bài giảng kiến trúc máy tính

Đánh giá về số địa chỉ toán hạng

Nhiều địa chỉ toán hạng

􀂄 Chương trình có nhiều lệnh hơn

􀂄 Nhận lệnh và thực hiện lệnh nhanh hơn

Trang 69

January 21, 2024 Bài giảng kiến trúc máy tính

Độ dài của trường mã thao tác

Số lượng địa chỉ toán hạng

Trang 70

January 21, 2024 Bài giảng kiến trúc máy tính

􀂄 Các thanh ghi

Số thanh ghi của CPU được sử dụng

Các thao tác nào được thực hiện trên các thanh ghi ?

􀂄 Các phương pháp định địa chỉ (xét sau)(addressing modes)

􀂄 RISC hay CISC (xét sau)

Reduced Instruction Set Computing

Complex Instruction Set Computing

Ngày đăng: 03/07/2014, 21:39

HÌNH ẢNH LIÊN QUAN

SƠ ĐỒ 1 SƠ ĐỒ 1 - bài giảng kiến trúc máy tính chuyên ngành công nghệ thông tin
SƠ ĐỒ 1 SƠ ĐỒ 1 (Trang 99)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w