1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Vi xử lý nâng cao bài giảng điện tử

691 59 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 691
Dung lượng 7,67 MB

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

Nội dung

Phần 1: Thiết kế CPU RISCBài 1: Giới thiệu các thành phần của một hệ máy tính, hệ vi xử lý và nêu bật vai trò của kiến trúc tập lệnh á á ISA instruction set architecture khi thiết kế RIS

Trang 1

Bài giảng

“Vi xử lý nâng cao” Vi xư ly nang cao

M õ á â h 40514003

Mã số môn học: 40514003

Biên soạn: Tống Văn On Bộ môn Kỹ thuật Điện tử – Khoa Điện & Điện tử

Trường Đại học Bách khoa TP Hồ Chí Minh

Trang 2

Nội dung bài giảng

Bài giảng này được biên soạn từ các tài

liệu sau:

1 Bài giảng điện tử của Porf D Patterson,

M.Irwin, Yu-Liang Wu (David) – 2007.

2 Bài giảng điện tử của Intel Corporation –

2006.

3 Bài giảng điện tử của Philip Leong – 2006

3 Bai giang điện tư cua Philip Leong 2006.

4 Website của các bài giảng điện tử trên:

- http://www.cse.cuhk.edu.hk

- http://www.intel.com

- http://www.ece.uah.edu p

Trang 3

Nội dung bài giảng

ƒ Nội dung môn học “Vi xử lý nâng cao” là khảo sát

các chip nhúng ARM, AVR và PIC.p g ,

ƒ Phần lõi của các chip này là CPU RISC 16/32-bit

ƒ Học viên cao học sẽ thực hiện các tiểu luận về ARM, AVR và PIC

DO VẬY

™ Nội dung bài giảng tập trung vào việc giới thiệu

™ Nội dung bai giang tập trung vao việc giơi thiệu

kiến trúc và thiết kế CPU RISC 32-bit cũng như hệ

vi xử lý dựa trên CPU RISC

™ Giới thiệu những vấn đề chính của các chip ARM,

AVR và PIC, học viên cao học sẽ nghiên cứu chi tiết thông qua tiểu luận

thong qua tieu luận

Trang 4

Tổng quát

Nội dung bài giảng bao gồm 4 phần:

Phần 2 : Các hướng dẫn & bài tập (9

hướ d ã & b øi t ä ) hương dan & bai tập).

Phần 3 : Giới thiệu ARM (4 bài).

Phần 4 : Tiểu luận (mỗi học viên 1 đề tài).

Trang 5

Phần 1: Thiết kế CPU RISC

Bài 1: Giới thiệu các thành phần của một hệ máy tính, hệ vi xử lý và nêu bật vai trò của kiến trúc tập lệnh

á á

ISA (instruction set architecture) khi thiết kế RISC

Bài 2: Nguyên tắc thiết kế ISA, tập thanh ghi, bộ nhớ, khuôn dang lệnh tổng quát, các chế độ định địa chỉ -ï g ä g q , ä ị ịMô tả các lệnh load/store, tính toán (dạng lệnh, C,

hợp ngữ và mã máy)

Bài 3: Mô tả các lệnh rẽ nhánh và thay đổi luồng điều

Bai 3: Mo ta cac lệnh re nhanh va thay đoi luong đieu khiển chương trình (dạng lệnh, C, hợp ngữ và mã

máy)

Bài 4 Th û t c stack à cấp phát bộ nhớ

Bai 4: Thu tục, stack va cap phat bộ nhơ

Bài 5: Trình dịch hợp ngữ, liên kết và nạp

Bài 6: Thiết kế đơn vị số học – logic và dịch bit Ỉị ï g ị

Trang 6

Phần 1: Thiết kế CPU RISC

Bài 7: Hiệu suất và đánh giá ISA

Bài 8: Đường dữ liệu đơn chu kỳ của MIPS Các bước

Bai 8: Đương dư liệu đơn chu ky cua MIPS Cac bươc

thiết kế đường dữ liệu

Bài 9: Đơn vị điều khiển đường dữ liệu đơn chu kỳ Các

á á

bước thiết kế

Bài 10: Đường dữ liệu đa chu kỳ – Các bước thiết kế,

hệ thống clock vi mã vi lập trình chuyển điều

hệ thong clock, vi ma, vi lập trình, chuyen đieu

Trang 7

Phần 1: Thiết kế CPU RISC

Bài 13: Hệ thống thứ bậc bộ nhớ – Bộ nhớ RAM động, RAM tĩnh, cache, bộ nhớ thứ cấp Các kiểu cache, , , ä p ,

vấn đề cache miss, cache hit

Bài 14: Hệ thống I/O – Vấn đề ngắt của ngoại vi – Bus

ø t h h á b

và tranh chấp bus

Trang 8

Phần 2: Các hướng dẫn

Hướng dẫn 1: Giới thiệu SPIM và thực hiện một vài

thủ tuc đơn giản

thu tục đơn gian

Hướng dẫn 2: Ôn tập VHDL

Hướng dẫn 3g : Trì hoãn – Chi phí – Hiệu suất của CPU.p ä

Hướng dẫn 4: Thiết kế mạch cộng thấy trước số nhớ

Hướng dẫn 5: CPU đơn chu kỳ và ModelSim

Hướng dẫn 6: Kỹ thuật đường ống

Hướng dẫn 7: Thiết kế mạch nhân/chia

H ù d ã 8 Thi át k á CPU đ h k ø

Hướng dẫn 8: Thiết kế CPU đơn chu kỳ

Hướng dẫn 9: Bộ nhớ và cache

Trang 9

Phần 3: Giới thiệu ARM

Bài 15: Kiến trúc ARM – Mô hình đối với người lập

trình (dữ liệu, dang lệnh, tập thanh ghi, xử lý ngoai ( ä , ï g ä , äp g , y g ïlệ, phát triển), tập lệnh, thiết kế hệ thống và các

công cụ phát triển

B øi 16 Hơ ữ ø C û I t l X l V á đ à bi â

Bài 16: Hợp ngư và C của Intel Xscale – Vấn đề biên

dịch thông qua các thí dụ

Bài 17: Ngoai lệ và các ngắt mềm.g ï ä g

Bài 18: Kiến trúc bộ nhớ, I/O và hệ thống bus của máy tính ARM

Trang 10

Phần 4: Tiểu luận

Các học viên sẽ nhận đề tài tiểu luận vào tuần thứ 2

của hoc kỳ Các đề tài liên quan đến:ï y q

1 Chip ARM

2 Chip AVR

3 Chip PIC

Nộp tiểu luận: tiểu luận (50% điểm) được nộp vào ngày

thi viết (50% điểm)

Trang 11

Tài liệu tham khảo

hướng dẫn & bài tập:

1 Computer Organization and Design

1 Computer Organization and Design,

3rdEdition Patterson & Hennessy., ©2005.

2 Structured Computer Organization,

5 Edition Andrew S Tanenbaum., ©2006.

Trang 12

Tài liệu tham khảo

II Tài liệu tham khảo ngôn ngữ mô tả phần

cứng HDL:

1 ASIC lập trình được – Tong Van On.

2 Thiet ke mạch so vơi VHDL & Verilog

– Tống Văn On.

Trang 13

Tài liệu tham khảo

1 Sách chỉ dẫn trình dịch hơp ngữ

1 Sach chỉ dan trình dịch hợp ngư (Assembler Guide)

2 Sách chỉ dẫn CodeWarrior IDE (CodeWarrior IDE Guide).

3 Sách tham khảo kiến trúc ARM (ARM

Architecture Reference Manual).

4 Bộ tài liệu của người phát triển ARM:

Bắt đầu (ARM Developer Suite: Getting

Bat đau (ARM Developer Suite: Getting

Started).

Trang 14

Tài liệu tham khảo

6 AVR32 Architecture Document – Atmel.

7 AVR32 AP Technical Reference

7 AVR32 AP Technical Reference Manual – Atmel.

8 AVR32 32-bit microcontroller –

8 AVR32 32 bit microcontroller Preliminary – Atmel.

9 AVR32 32-bit microcontroller – Java Technical Reference – Atmel.

10 PIC Family Data Sheet – Microchip.

11 ARM Family Data Sheet – Intel.

12 Các website: www.atmel.com, www microchip com www intel com www.microchip.com, www.intel.com

Trang 15

B øi i û “Vi ử l ù â ”

Bài giảng “Vi xử lý nâng cao”

Phần 1: Thiết kế CPU RISC

Bài 01: Mở đầu

Trang 16

Nội dung mơn học

‰ Giới thiệu các thành phần chính của một hệ máy

tính, cách thức những thành phần này cùng nhau g p y g

hoạt động để thực thi chương trình

z Lập trình hợp ngữ cho MIPS.

Gi ùi thi ä i ä thi át k á đ ø d õ li ä ø đ ị

‰ Giới thiệu việc thiết kế đường dữ liệu và đơn vị

điều khiển của CPU

z Mô phỏng thiết kế (VHDL hoặc Verilog) p g ( ë g)

‰ Mục tiêu: Nghiên cứu các mô hình tổ chức để xác

định khả năng và hiệu suất của các hệ máy tính

‰ Môn học tiên quyết:

z Vi xử lý.

z Ky thuật số.

Trang 17

Những kiến thức cần có

‰ Cách thức viết, biên dịch và chạy các chương trình bằng một ngôn ngữ cấp cao (C, C++, Java, …)

‰ Cách thức tạo, tổ chức và sửa đổi các tập tin (file),

và chạy những chương trình trên hệ điều hành

‰ Cách thức biểu diễn và quản lý các số dương và

âm ở dạng nhị phân (bù-2, dấu-biên độ, v.v…)

‰ Thiết kế mach logic

‰ Thiet ke mạch logic

z Cách thức thiết kế các thành phần tổ hợp và tuần tự (đại số logic, tối thiểu hóa hàm logic, ánh xạ công nghệ,

mach giải mã và ghép kênh mach chốt và flipflop thanh

mạch giai ma va ghep kenh, mạch chot va flipflop, thanh ghi, máy trạng thái hữu hạn Mealy và Moore, gán trạng

thái và tối thiểu hóa, v.v…).

z Kien thưc cơ ban ve vi xư ly.

z Kiến thức cơ bản về VHDL hoặc Verilog.

Trang 18

Sự phát triển của phần cứng máy tính

z Những mạch điện tử ngày nay đã bắt đầu bằng

phát minh transistor lưỡng cực của Bardeen và

những người khác vào năm 1947 ở Bell

Laboratories

Trang 19

Sự phát triển của phần cứng máy tính

được phát minh khi nào?

z Vào năm 1958 IC đầ tiên ra đời khi Jack

z Vao nam 1958, IC đau tien ra đơi khi Jack

Kilby ở Texas Instruments kết nối thành công

bằng thủ công vài transistor, điện trở và tụ

điện trên một đế (substrate) đơn

Trang 20

Các công nghệ cơ bản

à

Điều gì sẽ xảy ra nếu công nghệ trong

công nghiệp vận tải phát triển theo

ø g t á đ ä?

cung toc độ?

Trang 21

Những ảnh hưởng của phát triển công nghệ

‰ Bộ xử lý

z Dung lượng logic: tăng khoảng 30% mỗi năm

z Hiệ s ất: 2x mỗi 1 5 năm

‰ Bộ nhớ

z Dung lượng DRAM: 4x mỗi 3 năm, khoảng 60%

mỗi năm

z Tốc độ bộ nhớ: 1.5x mỗi 10 năm

z Giá mỗi bit: giảm khoảng 20% mỗi năm.g g

‰ Đĩa

z Dung lượng: tăng khoảng 60% mỗi năm

Trang 22

Qui luật Moore cho CPU và DRAM

Từ : “Facing the Hot Chips Challenge Again”, Bill Holt, Intel, được giới thiệu ở Hot Chips 17,

Trang 23

Nỗ lực chính: việc định tỉ lệ linh kiện

Từ : “Facing the Hot Chips Challenge Again”, Bill Holt, Intel, được giới thiệu ở Hot Chips 17, 2005.

Trang 24

Nỗ lực phụ: kích thước của wafer.

Từ : “Facing the Hot Chips

Challenge Again”, Bill Holt, Intel,

được giới thiệu ở Hot Chips

Trang 25

Trình độ phát triển: cell bộ xử lý.

‰ Fclock > 4 GHz.

‰ Băng thông bộ nhớ: 25.6 GBytes mỗi giây.

‰ Băng thông IO: 76.8 GBytes mỗi giây.

‰ Hiệu suất:

z 256 GFLOPS (chính xác đơn ở 4 GHz).

z 256 GOPS (số nguyên ở 4 GHz).

z 25 GFLOPS (chính xác kép ở 4 GHz)

z 25 GFLOPS (chính xac kep ơ 4 GHz).

‰ 235 mm vuông.

‰ 235 triệu transistor.

‰ Tiêu thụ công suất ước tính được: 60 - 80 W @ 4GHz

Trang 26

Máy tính

Có các loại máy tính khác không?

Trang 27

Máy tính nhúng trong xe ô tô

Trang 28

Sự tăng trưởng nhu cầu máy tính nhúng

Trang 29

Máy tính là gì?

‰ Các thành phần:

z Bộ xử lý (đường dữ liệu, đơn vị điều khiển).

z Thiết bị nhập (chuột bàn phím v v )

z Thiet bị nhập (chuột, ban phím, v.v…).

z Thiết bị xuất (màn hình, máy in, v.v…).

z Bộ nhớ (cache (SRAM)), bộ nhớ chính (DRAM), ổ đĩa,

z Đươc thưc hiện bằng cách sử dung hàng triệu transistor ï ï ä g ï g g ä

z Không thể hiểu bằng cách xem xét từng transistor.

z Ta cần sự trừu tượng Ỉ ngôn ngữ mô tả phần cứng HDL.

Trang 30

Các thành phần chính của một máy tính

Trang 31

Các thành phần chính của một máy tính

‰ Một máy tính có thể được chia thành 5 phần:

1 Các thiết bị nhập (input devices) mang dữ liệu từ thế giới bên ngoài vào trong máy tính goa vao t o g ay t

2 Dữ liệu này được giữ trong bộ nhớ của máy tính cho đến khi

3 Đường dữ liệu (datapath) yêu cầu và xử lý chúng.

5 Đưa dữ liệu trở ra thế giới bên ngoài là công việc của các thiết

bị xuất (output devices) ị p

‰ Phương pháp phổ biến nhất để kết nối 5 thành phần trên với nhau là sử dụng mạng các bus.

‰ Muc tiêu thiết kế workstation : 25% chi phí cho bộ xử lý 25%

‰ Mục tieu thiet ke workstation : 25% chi phí cho bộ xư ly, 25%

chi phí cho bộ nhớ (kích thước bộ nhớ tối thiểu), phần còn lại cho các thiết bị I/O, nguồn cấp điện, vỏ hộp.

Trang 32

Bên dưới chương trình

‰ Chương trình ngôn ngữ cấp cao (C)

‰ Chương trình ngon ngư cap cao (C)

swap (int v[], int k) (int temp;

‰ Chương trình hơp ngữ (cho MIPS)

‰ Chương trình hợp ngư (cho MIPS)

Trang 33

Bên dưới chương trình

‰ Chương trình ngôn ngữ cấp cao (C)

‰ Chương trình ngon ngư cap cao (C)

swap (int v[], int k) (int temp;

Một lệnh của C được dịch thành nhiều lệnh của hợp ngữ.

Một lệnh của hợp ngữ tương ứng với một lệnh của mã máy.

Trang 34

Lợi ích của ngôn ngữ cấp cao?

‰ Ngôn ngữ cấp cao

z Cho phép người lập trình nghĩ về ngôn ngữ tự nhiên hơn và về công dụng được mong đợi của ngôn ngữ (Fortran cho

tính toán khoa học, Cobol cho lập trình thương mại, Lisp

cho việc quản lý biểu tượng, Java cho lập trình web, …).

z Cải thiện năng suất người lập trình – mã dễ hiểu hơn sẽ

dễ gỡ lỗi và thẩm tra hơn

de gơ loi va tham tra hơn.

z Cải thiện tính dễ bảo trì của chương trình.

z Cho phép các chương trình độc lập với máy tính mà trên

đó chúng đươc phát triển (các trình biên dịch và trình

đo chung được phat trien (cac trình bien dịch va trình

dịch hợp ngữ có thể dịch những chương trình ngôn ngữ

cấp cao thành các lệnh nhị phân của bất kỳ máy nào).

z Sư nổi bật của các “trình biên dịch tối ưu hóa”: tao ra mã

‰ Kết quả là, việc lập trình ngày nay ít khi được

z Sự noi bật cua cac trình bien dịch toi ưu hoa : tạo ra ma hợp ngữ rất hiệu quả, được tối ưu hóa cho máy đích.

thực hiện ở mức hợp ngữ

Trang 35

Tổ chức máy tính

‰ Khả năng và đặc tính hiệu suất của các đơn vị chức năng chính (functional unit (FU))

z e.g., tập thanh ghi, ALU, mạch ghep kenh, bộ nhơ,

‰ Cách thức các đơn vị chức

năng này đươc kết nối

z e.g., các bus.

‰ Mạch logic và phương tiện

qua đó luồng thông tin giữa

các FU được điều khiển

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

‰ Mô tả máy tính ở mức truyền thanh ghi (Register

T f L l (RTL))

Transfer Level (RTL))

Trang 36

Nhu caàu cuûa ISA

Trang 37

Các thành phần chính của máy tính

Các thiết bị Bộ nhớ

Trang 38

Bên dưới chương trình

‰ Chương trình ngôn ngữ cấp cao (C)

C compiler

‰ Chương trình ngon ngư cap cao (C)

swap (int v[], int k)

.

‰ Chương trình hơp ngữ (cho MIPS)

‰ Chương trình hợp ngư (cho MIPS)

Trang 39

Bên dưới chương trình

‰ Chương trình ngôn ngữ cấp cao (C)

C compiler

‰ Chương trình ngon ngư cap cao (C)

swap (int v[], int k)

.

‰ Chương trình hơp ngữ (cho MIPS)

‰ Chương trình hợp ngư (cho MIPS)

Trang 40

Thiết bị nhập “nhập” mã đối tượng

Datapath Output

1 Các thiết bị nhập mang mã đối tương và dữ liệu

1 Cac thiet bị nhập mang ma đoi tượng va dư liệu

đầu vào từ thế giới bên ngoài vào trong máy tính.

Trang 41

Lưu mã đối tượng vào bộ nhớ

Datapath

101011 00010 01111 0000000000000100

000000 11111 00000 0000000000001000

Output

2 Các mã đối tượng và dữ liệu này được lưu giữ trong

bộ nhớ máy tính cho đến khi

Trang 42

Bộ xử lý tìm nạp lệnh

Bộ xử lý tìm nạp lệnh từ bộ nhớ

Datapath

101011 00010 01111 0000000000000100

000000 11111 00000 0000000000001000

Output

3 Bộ xử lý yêu cầu và xử lý chúng

3 Bộ xư ly yeu cau va xư ly chung.

Trang 43

Đơn vị điều khiển giải mã lệnh

Đơn vị điều khiển giải mã để xác định điều

Trang 44

Đường dữ liệu thực thi lệnh

Đường dữ liệu thực thi lệnh dưới sự hướng

dẫn của đơn vị điều khiển

contents Reg #4 ADD contents Reg #2

4 Hoạt động của đường dữ liệu được điều khiển bởi ï ä g g ä ï

đơn vị điều khiển của bộ xử lý.

Trang 45

Tiếp theo, điều gì xảy ra?

Trang 46

Tiếp theo, điều gì xảy ra?

Decode

Thực thi

Trang 47

Bộ xử lý tìm nạp lệnh kế tiếp

Bộ xử lý tìm nạp lệnh kế tiếp từ bộ nhớ

Trang 48

Tổ chức của bộ xử lý

‰ Đơn vị điều khiển cần có để

‰ Đường dữ liệu cần có để

‰ Đương dư liệu can co đe

Trang 49

Tổ chức của bộ xử lý

Đ ị đi à khi å

‰ Đơn vị điều khiển:

z Quyết định lệnh nào là lệnh tiếp theo và nhập lệnh này từ bộ nhớ.

z Giải mã lệnh.

z Phân phát các tín hiệu “điều khiển cách thức” mà thông tin luân chuyển giữa những thành phần của đường dữ liệu.

z Điều khiển những thao tác mà các đơn vị chức năng của đường dữ liệu thực hiện.

z Nap dữ liệu từ bộ nhớ và lưu dữ liệu vào bộ nhớ.

Đường dữ liệu nạp dữ liệu từ ô nhớ nào và lưu dữ liệu vào ô nhớ nào?

z Nạp dư liệu tư bộ nhơ va lưu dư liệu vao bộ nhơ.

Trang 50

Dữ liệu xuất được lưu trong bộ nhớ

Vào lúc hoàn tất chương trình, dữ liệu xuất

được lưu vào trong bộ nhớ

Control

Input Network

Datapath 0000010001010000000000000000000000000000010011110000000000000100

00000011111000000000000000001000

Output

5 Dữ liệu cần xuất đươc lưu trong bộ nhớ của máy tính

5 Dư liệu can xuat được lưu trong bộ nhơ cua may tính

cho đến khi

Trang 51

Thiết bị xuất “xuất” dữ liệu

Thiết bị xuất “xuất” dữ liệu trong bộ nhớ

ra môi trường bên ngoài.

Control Memory

Input Network

Datapath Output

00000100010100000000000000000000 00000000010011110000000000000100 00000011111000000000000000001000

Trang 52

Kiến trúc tập lệnh (ISA)

Trang 53

ISA của MIPS

C ù l i l h

‰ Các loại lệnh

z Nạp/lưu bộ nhớ (Load/Store)

Registers

z Nhảy và rẽ nhánh (Jump and Branch)

z Dấu chấm động (Floating Point)

- Bộ đồng xử lý.

z Đặc biệt (Special)

PC HI LO

z Đặc biệt (Special)

‰ 3 khuôn dạng lệnh: tất cả đều rộng 32-bit.

OP OP OP

Trang 54

Các mảng phù hợp với nhau ra sao?

Operating System Applications

I/O system Processor

‰ Kết hợp nhiều mức trừu tượng.

‰ Chịu một tập các tác động thay đổi nhanh.

Thi át k á đ đ ø đ ù h i ù

‰ Thiết kế, đo đạc đánh giá

Trang 55

Các mảng phù hợp với nhau ra sao?

Operating System Applications

I/O system Processor

Compiler

y Firmware

Kiến trúc tập

Lệnh ISA y Processor y

system

Datapath & Control Digital Design Circuit Design

‰ Kết hợp nhiều mức trừu tượng.

‰ Chịu một tập các tác động thay đổi nhanh.

Thi át k á đ đ ø đ ù h i ù

‰ Thiết kế, đo đạc đánh giá

Trang 56

Bài giảng “Vi xử lý nâng cao”

Phần 1: Thiết kế CPU RISC

Trang 57

Nhắc lại: chu kỳ thực thi lệnh

Đường dữ liệu thực thi các lệnh dưới sự

hướng dẫn của đơn vị điều khiển.

Datapath

contents Reg #4 ADD contents Reg #2

Bộ nhớ lưu giữ cả hai: lệnh và dữ

liệu.

Ngày đăng: 27/01/2021, 13:30

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

w