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

KIẾN TRÚC PHẦN MỀM BỘ XỬ LÝ

55 430 4
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

Định dạng
Số trang 55
Dung lượng 1,48 MB

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

Nội dung

Bộ xử lý trung tâm CPU Phát tín hiệu điều khiển thực thi lệnh  Trong quá trình hoạt động, CPU có thể trao đổi dữ liệu với bộ nhớ chính hoặc hệ thống vào/ra... Liên kết hệ thống Sử dụn

Trang 1

Kiến trúc phần mềm bộ xử lý

Trang 3

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

Bus hệ thống

Module vào/ra

Trang 5

Bộ xử lý trung tâm (CPU)

 Phát tín hiệu điều khiển thực thi lệnh

 Trong quá trình hoạt động, CPU có thể trao đổi dữ liệu với bộ nhớ chính hoặc hệ thống vào/ra

Trang 7

Bộ nhớ máy tính

 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ớ:

Trang 8

Bộ nhớ trong

 Bao gồm những thành phần nhớ mà CPU có thể trao đổi thông tin trực tiếp

 Được thiết kế bằng bộ nhớ bán dẫn (ROM, RAM)

 Dung lượng nhỏ hơn bộ nhớ ngoài

Trang 10

Bộ nhớ đệm nhanh

 Được đặt đệm giữa CPU và bộ nhớ chính nhằm tăng tốc độ truy cập bộ nhớ của CPU

 Hiện nay, cache được chia thành một số mức:

level 1 (L1), level 2 (L2), level 3 (L3), … và được tích hợp trên chip vi xử lý

 Cache thuộc loại bộ nhớ RAM

Trang 12

Hệ thống vào/ra (I/O system)

 Các module nối ghép vào/ra:

 Để kết nối thiết bị ngoại vi (peripheral devices) với máy tính

 Trong các module vào/ra có các cổng vào/ra (I/O ports), các cổng này được đánh địa chỉ, thiết bị ngoại vi được kết nối và trao đổi dữ liệu thông qua cổng.

Trang 13

Liên kết hệ thống

 Sử dụng các bus

 Bus là tập hợp các đường kết nối dùng để vận chuyển thông tin từ thành phần này đến thành phần khác trong máy tính

 Độ rộng bus: là số đường kết nối có khả năng vận chuyển các bits theo xung đồng hồ

 Phân loại bus:

 Bus địa chỉ

 Bus dữ liệu

 Bus điều khiển

Trang 14

Sơ đồ liên kết hệ thống

CPU

Các module nhớ của bộ nhớ

chính

Các module vào/ra

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

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

Trang 15

Bus địa chỉ

 Vận chuyển địa chỉ từ CPU đến module vào/ra nhằm xác định ngăn nhớ, cổng vào/ra cần trao đổi thông tin

 Độ rộng của bus địa chỉ:

 Có khả năng vận chuyển tối đa n bit địa chỉ cùng 1 lúc

 Bus địa chỉ của một số bộ xử lý Intel:

 8088/8086: 20bit => không gian địa chỉ: 2 20 = 1MB

 80386/80486/Pentium: 32 bit => 2 32 = 4GB

 Pentium 2 & Pentium 4: 36 bit => 2 36 = 64GB

Trang 16

Bus dữ liệu

 Vận chuyển dữ liệu từ bộ nhớ chính => CPU

 Vận chuyển dữ liệu giữa các thành phần

Trang 17

Bus điều khiển

 Vận chuyển các tín hiệu điều khiển

 2 loại tín hiệu điều khiển:

 Tín hiệu điều khiển từ CPU => các thành phần khác

 Tín hiệu yêu cầu từ các thành phần khác gửi về CPU

Trang 18

Một số tín hiệu điều khiển điển hình

 MEMR: đọc nội dung ngăn nhớ

 MEMW: ghi dữ liệu vào ngăn nhớ

 IOR: đọc dữ liệu từ cổng vào

 IOW: ghi dữ liệu ra cổng

 NMI (Non-Maskable Interrupt): ngắt không che được đưa đến ngắt CPU (bắt buộc CPU phải ngắt khi có tín hiệu này)

 INTR (Interrupt Request): tín hiệu yêu cầu ngắt đưa đến xin ngắt CPU (không bắt buộc)

 INTA (Interrupt Acknowledge): tín hiệu phát ra từ CPU báo chấp nhận ngắt

 Reset: khởi động lại CPU

 BRQ (Bus Request): tín hiệu yêu cầu CPU chuyển nhượng quyền sử dụng bus

 BGT (Bus Grant): tín hiệu phát ra báo chấp nhận chuyển nhượng bus.

Trang 19

Phân cấp bus trong máy tính

 4 lớp bus:

 Bus của bộ xử lý

 Bus của bộ nhớ chính (RAM)

 Bus vào/ra tốc độ cao (USB)

 Bus vào/ra tốc độ chậm

Trang 21

Mạch số

Trang 22

Hoạt động cơ bản của máy tính

Trang 23

 Ngắt do lỗi phần cứng (lỗi RAM, lỗi nguồn, …)

 Ngắt do tín hiệu yêu cầu ngắt từ bộ điều khiển vào/ra gửi về CPU yêu cầu CPU chuyển sang thực hiện

chương trình con trao đổi dữ liệu với thiết bị ngoại vi

Trang 24

Sơ đồ mô tả

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

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

Ngắt ở đây

Trang 25

Hoạt động với nhiều ngắt

Trang 26

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

 Các chương trình con đã có sẵn trong bộ nhớ

chính của máy tính:

 Các chương trình con nằm trong ROM BIOS

 Các chương trình con của hệ điều hành được nạp từ

bộ nhớ ngoài vào RAM trong khi khởi động

Trang 28

 Địa chỉ toán hạng nguồn

 Địa chỉ toán hạng kết quả

 Lệnh kế tiếp (thông tin này thường là ẩn)

 Kiểu định vị:

 Cách thức thâm nhập toán hạng

Trang 29

Các kiểu thi hành lệnh

 Một lệnh là mã máy bao gồm mã tác vụ và các toán hạng

 Tùy theo tần số sử dụng các phép toán mà các nhà thiết

kế máy tính quyết định số lượng các mạch chức năng cần thiết cho việc tính toán (thường là ≤ 3)

Trang 30

Các kiểu thi hành lệnh

 VD: lệnh X = A + B + C + D

 Có thể thực hiện = 1 lệnh mã máy nếu có 3 mạch cộng

 Hoặc thực hiện = 3 lệnh mã máy nếu có 1 mạch cộng

 Vấn đề cần xem xét:

 Vị trí của toán hạng

 Chia thành các kiến trúc:

 Ngăn xếp

 Thanh ghi tích lũy

 Thanh ghi đa dụng

Trang 32

 Để tính phép tính C = A + B

 Khuynh hướng sử dụng thanh ghi đa dụng

Trang 33

Kiến trúc thanh ghi đa dụng

 Một lệnh ALU phải có từ 2 đến 3 toán hạng

 Nếu 2 toán hạng thì 1 trong 2 toán hạng vừa là toán hạng nguồn vừa là toán hạng đích (add A, B)

 Nếu 3 toán hạng thì 1 trong 3 toán hạng phải chứa kết quả phép tính giữa 2 toán hạng còn lại (add A, B, C)

 Số lượng toán hạng bộ nhớ có trong lệnh thay đổi

Trang 34

Tập lệnh

 Các lệnh ngôn ngữ cấp cao được xây dựng bằng một lệnh mã máy hoặc 1 chuỗi nhiều lệnh mã máy

 Các lệnh hợp ngữ, từ gợi nhớ mã lệnh

 int 33h

Trang 39

Tập lệnh - Vòng lặp

 Các vòng lặp có thể được thực hiện bằng các lệnh nhảy (jump)

 Việc quản lý số lần lặp thông qua bộ đếm số lần lặp

Trang 40

 STORE Ri, (R30) ; ghi Ri vào đỉnh ngăn xếp

 LOAD Ri, (R30) ; lấy nội dung ở đỉnh ngăn xếp đưa vào Ri

 SUBI R30, R30, 4 ; giảm con trỏ ngăn xếp đi 4

Trang 41

Tập lệnh – Các thủ tục

 Các thủ tục được gọi bởi lệnh CALL

 Bên trong thủ tục, trước khi kết thúc thủ tục cần

có lệnh RETURN

 Việc truyền tham số giữa thủ tục gọi và thủ tục bị gọi có thể sử dụng thanh ghi hoặc ngăn xếp

Trang 44

Kiểu và chiều dài toán hạng

 Kiểu của toán hạng thường được đưa vào trong

mã lệnh

 4 kiểu thường được dùng:

 Kiểu địa chỉ

 Kiểu số: số nguyên, số dấu chấm động, …

 Kiểu chuỗi ký tự: ASCII, EBIDEC, …

 Kiểu logic: các bit, các cờ (flag)

 Thông thường loại của toán hạng xác định luôn chiều dài của nó (8 bit, 16 bit, 32 bit, 64 bit)

Trang 45

Kiến trúc CISC

 CISC (Complex Instruction Set Computer) ra đời

từ những năm 1960

 Các chương trình khó dùng thanh ghi

 Ưu tiên chọn kiểu: bộ nhớ - bộ nhớ, bộ nhớ - thanh ghi

 Lệnh phức tạp, dùng nhiều kiểu định vị

Trang 46

Kiến trúc RISC

 Đầu thập niên 1980, chương trình dịch đã biết sử dụng các thanh ghi và không có sự khác biệt khi sử dụng ô nhớ cho các vi chương trình hay chương trình.

 Dẫn đến đưa ra RISC (Reduced Instruction Set Computer)

 Cho phép thực hiện kỹ thuật pipeline

 Lệnh có chiều dài cố định, dạng đơn giản, dễ giải mã

 Kiểu thanh ghi – thanh ghi

 Chỉ có các lệnh ghi/đọc bộ nhớ mới cho phép thâm nhập bộ nhớ

Trang 48

Đặc điểm của RISC

 Có một số ít lệnh (thông thường dưới 100 lệnh )

 Có một số ít các kiểu định vị (thông thường hai kiểu: định vị tức thì và định vị gián tiếp thông qua một thanh ghi)

 Có một số ít dạng lệnh (một hoặc hai)

 Các lệnh đều có cùng chiều dài

 Chỉ có các lệnh ghi hoặc đọc ô nhớ mới thâm nhập vào bộ nhớ

 Dùng bộ tạo tín hiệu điều khiển bằng mạch điện để tránh chu

kỳ giải mã các vi lệnh làm cho thời gian thực hiện lệnh kéo dài

 Bộ xử lý RISC có nhiều thanh ghi để giảm bớt việc thâm nhập vào bộ nhớ trong

 Ngoài ra các bộ xử lý RISC đầu tiên thực hiện tất cả các lệnh trong một chu kỳ máy

Trang 49

Ưu điểm của RISC

 Diện tích của bộ xử lý dùng cho bộ điều khiển giảm từ 60% (cho các bộ xử lý CISC) xuống còn 10% (cho các bộ xử lý RISC) => có thể tích hợp thêm vào bên trong bộ xử lý các thanh ghi, các cổng vào ra và bộ nhớ cache

 Tốc độ tính toán cao nhờ vào việc giải mã lệnh đơn giản, nhờ có nhiều thanh ghi (ít thâm nhập bộ nhớ), và nhờ thực hiện kỹ thuật ống dẫn liên tục và có hiệu quả (các lệnh đều

có thời gian thực hiện giống nhau và có cùng dạng)

 Thời gian cần thiết để thiết kế bộ điều khiển là ít Điều này góp phần làm giảm chi phí thiết kế

 Bộ điều khiển trở nên đơn giản và gọn làm cho ít rủi ro mắc phải sai sót mà ta gặp thường trong bộ điều khiển

Trang 50

Hạn chế của RISC

 Các chương trình dài ra so với chương trình viết cho

bộ xử lý CISC Điều này do các nguyên nhân sau :

 Cấm thâm nhập bộ nhớ đối với tất cả các lệnh ngoại trừ các lệnh đọc và ghi vào bộ nhớ Do đó ta buộc phải dùng nhiều lệnh để làm một công việc nhất định

 Cần thiết phải tính các địa chỉ hiệu dụng vì không có nhiều cách định vị

 Tập lệnh có ít lệnh nên các lệnh không có sẵn phải được thay thế bằng một chuỗi lệnh của bộ xử lý RISC

 Các chương trình dịch gặp nhiều khó khăn vì có ít lệnh làm cho có ít lựa chọn để diễn dịch các cấu trúc của chương trình gốc Sự cứng nhắc của kỹ thuật ống dẫn cũng gây khó khăn

Trang 51

Hạn chế của RISC

 Có ít lệnh trợ giúp cho ngôn ngữ cấp cao

 Các bộ xử lý CISC trợ giúp mạnh hơn các ngôn ngữ cao cấp nhờ có tập lệnh phức tạp Hãng Honeywell đã chế tạo một máy có một lệnh cho mỗi động từ của ngôn ngữ COBOL Các tiến bộ gần đây cho phép xếp đặt trong một vi mạch, một

bộ xử lý RISC nền và nhiều toán tử chuyên dùng

 Thí dụ, bộ xử lý 860 của Intel bao gồm một bộ xử

lý RISC, bộ làm tính với các số lẻ và một bộ tạo tín hiệu đồ hoạ

Trang 52

Kiểu định vị trong RISC

 Kiểu định vị thanh ghi

 Kiểu định vị tức thì

 Kiểu định vị trực tiếp

 Kiểu định vị gián tiếp bằng thanh ghi + độ dời

 Kiểu định vị tự tăng

Trang 54

Ngôn ngữ cấp cao và ngôn ngữ máy

 FORTRAN dùng trong tính toán khoa học

 COBOL dùng trong quản lý

 LISP & PROLOG dùng trong trí tuệ nhân tạo

 PASCAL, C, ADA, …

 Đặc điểm: cô đọng và độc lập với mọi bộ vi xử lý

 Cần có chương trình dịch để chuyển từ mã nguồn sang mã máy của máy tính đang sử dụng

Ngày đăng: 07/08/2019, 21:27

TỪ KHÓA LIÊN QUAN

w