Thanh ghi - Register Các thanh ghi được gắn với CPU bằng các mạch điện tử dùng để giữ thông tin tạm thời và là một phần của CPU không phải bộ nhớ chính.. CU lấy địa chỉ của lệnh tiếp
Trang 1Chương 7
BỘ XỬ LÝ VÀ BỘ NHỚ
PROCESSOR AND MEMORY
Trang 2Nội dung
7.1 Bộ xử lý trung tâm - The central
processing unit (CPU)
7.2 Bộ nhớ chính - The main memory
7.3 Các đường truyền của bộ nhớ - Memory
buses 7.4 Kiến trúc kết nối - I/O buses
Trang 3Giới thiệu
Microprocessor
Trang 4Giới thiệu
Trang 5Bộ xử lý trung tâm – CPU
The central processing unit
Còn gọi là bộ xử lý (processor), vi xử lý (micro-processor)
CPU là bộ não của máy tính có nhiệm vụ thi hành các lệnh của chương trình và xử lý các dữ liệu trong chương trình
Các thành phần chính của CPU:
Đơn vị điều khiển
(The Control Unit)
Đơn vị số học luận lý
(The Arithmetic Logic Unit (ALU))
Các thanh ghi (registers)
Trang 6Bộ xử lý trung tâm
The central processing unit (CPU)
Trang 7ROM PROM FLASH
Main Memory (RAM)
General-purpose register
General-purpose register
General-purpose register
Control Unit Arthmetic Logic Unit
Central Processing Unit (CPU)
Trang 8Đơn vị điều khiển – Control Unit (CU)
Đơn vị điều khiển (CU): chọn và dịch các lệnh của chương trình, sau đó thực thi chúng
CU không thực sự thi hành bất kỳ quá trình nào trên dữ liệu, nhưng nó đóng vai trò là một hệ thống trung tâm cần thiết điều khiển các thành phần khác của máy tính
CU quản lý và phối hợp hoạt động của toàn bộ hệ thống máy tính kể cả việc nhập và xuất dữ liệu
CU nhận các lệnh từ bộ nhớ chính, dịch các lệnh, và gửi các tín hiệu tới các đơn vị khác của hệ thống để thực thi chúng
Trang 9Đơn vị số học logic
The Arithmetic Logic Unit ( ALU )
Đơn vị số học logic ( ALU ): thực thi các lệnh tính toán
diễn ra trong suốt quá trình xử lý dữ liệu
Khi đơn vị điều khiển (CU) gặp một lệnh có các phép toán
số học (cộng, trừ, nhân, chia) hay phép toán luận lý (nhỏ hơn, bằng, lớn hơn), thì nó chuyển quyền điểu khiển cho
ALU
Trong trường hợp máy tính nhỏ, toàn bộ CPU (cả đơn vị điều khiển và ALU) được chứa trong 1 chip đơn siêu nhỏ
được gọi là bộ vi xử lý
Trang 10Bộ xử lý trung tâm – CPU
The central processing unit
Các khái niệm:
Tập các chỉ thị - Instruction Set
Thanh ghi - Register
Tốc độ bộ xử lý - Processor Speed
CISC and RISC Processors
CISC: Complex Instruction Set Computer
RISC: Reduced Instruction Set Computer
EPIC :Explicitly Parallel Instruction Computing
Trang 11Tập lệnh - instruction set
Tập lệnh (instruction set) là các chỉ thị mà CPU sẽ thực thi
Mỗi họ CPU có một tập lệnh riêng Các chương trình thường được viết dựa trên tập lệnh của một họ CPU do đó chương trình thực hiện trên họ CPU này không hoạt động được ở CPU họ khác
Ví dụ: CPU của máy IBM khác CPU của các nhà sản xuất khác như Sony, Toshiba,…
Hầu hết các CPU có hơn 200 lệnh (cộng, trừ, so sánh,…) trong tập lệnh của chúng
Trang 12Thanh ghi - Register
Các thanh ghi được gắn với CPU bằng các mạch điện tử
dùng để giữ thông tin tạm thời và là một phần của CPU (không phải bộ nhớ chính)
Chiều dài của thanh ghi bằng với số bit mà nó lưu trữ Các loại thanh ghi: 8 bit, 32-bit, 64-bit
Kích cỡ của các thanh ghi (còn gọi word size) là dung
lượng của dữ liệu mà máy tính có thể xử lý
Kích thước thanh ghi càng lớn, máy tính xử lý dữ liệu càng nhanh
Các máy tính dùng nhiều loại thanh ghi, mỗi một thanh ghi được thiết kế để thực thi một chức năng riêng
Trang 13Thanh ghi - Register
STT Name of Register Function
1 Địa chỉ bộ nhớ
Memory Address (MAR)
Nắm giữ địa chỉ của bộ nhớ đang hoạt động
Giao tiếp với thiết bị Nhập/Xuất
Chức năng của các thanh ghi
Trang 14Quá trình thực thi của CPU
1 CU lấy địa chỉ của lệnh tiếp theo từ thanh ghi điều khiển chương trình và đọc lệnh đó từ địa chỉ bộ nhớ vào trong thanh ghi lệnh của CUCU gửi phần thao tác và địa chỉ của lệnh đến nơi giải mã và địa chỉ thanh ghi vùng nhớ
2 Nơi giải mã dịch lệnh và đơn vị điều khiển gửi các tín hiệu đến đơn vị thích hợp như ALU để thực thi các tác vụ riêng biệt của lệnh
3 ALU thực thi các thao tác cần thiết trong dữ liệu và gửi đến đơn vị điều khiển tín hiệu ngay khi nó hoàn tất
4 Khi mỗi lệnh được thực thi, địa chỉ của lệnh tiếp theo cũng tự động được truy xuất và lấy dữ liệu nhập vào bên trong chương trình điều khiển thanh ghi, và lập lại từ bước 1 đến bước 4
Trang 15Quá trình thực thi của CPU
Trang 16Tốc độ bộ xử lý - Processor Speed
Các thao tác thường được đồng bộ bởi 1 đồng hồ điện tử được xây dựng bên trong gọi là đồng hồ hệ thống, nó sản xuất ra hàng triệu xung điện đều đặn trong mỗi giây (gọi là chu kỳ đồng hồ)
Một chu kỳ là khoảng thời gian để thực hiện một thao tác Chu kỳ đồng hồ càng ngắn thì bộ xử lý càng nhanh
Tốc độ của đồng hồ được đo bằng megahertz (hay
Trang 17Tốc độ bộ xử lý - Processor Speed
Trang 18Bộ xử lý CISC và RISC
Kiến trúc CISC (Complex Instruction Set Computer)
Các lệnh của CPU có chiều dài khác nhau
Thời gian thi hành lệnh cũng khác nhau
Giúp lập trình bằng ngôn ngữ máy dễ dàng hơn
Phức tạp và chi phí cao để sản xuất
Hầu hết các máy tính cá nhân hiện nay dùng bộ vi xử
lý CISC
Trang 19Bộ xử lý CISC và RISC
Kiến trúc RISC (Reduced Instruction Set Computer)
Các lệnh dài bằng nhau Có bộ tập lệnh nhỏ
Thời gian thi hành các lệnh chỉ bằng 1 chu kỳ đồng hồ
Cung cấp khả năng thi hành nhiều hoạt động cùng lúc (Super scalar execution)
Dùng cơ chế đường ống (Pipelining) để giảm thời gian thi hành Đoán trước việc phân nhánh (Branche prediction)
Thiết kế đơn giản hơn, tốc độ nhanh hơn, ít phức tạp hơn, và chi phí ít hơn để sản xuất so với các bộ xử lý CISC
Trang 20Bộ xử lý CISC và RISC
Cơ chế đường ống
Trang 21
Các bộ xử lý EPIC
Explicity Parallel Instruction Computing
Bộ xử lý dựa trên thiết kế IA-64 có bộ tập lệnh 64-bit mới của họ (ISA) là IA-64
truyền thống
Ba điểm quan trọng của công nghệ EPIC là tính rõ ràng, sự khẳng định và sự suy đoán
Trang 22Các bộ xử lý EPIC
Explicity Parallel Instruction Computing
Các đặc điểm:
Song Song - Explicit Parallelism:
Bộ vi xử lý cho phép nhiều phần mềm giao tiếp cùng một lúc đến bộ xử lý nên các thao tác có thể được
thực hiện cùng một lúc
Trang 23Các bộ xử lý EPIC
Xác nhận - Predication:
Làm giảm các lệnh rẽ nhánh và loại bỏ các nhánh không báo trước
Tại thời gian thực thi của lệnh rẽ nhánh:
Nếu sự suy đoán đúng, thì bộ xử lý sẽ thực thi và các kết quả của chúng có thể trực tiếp dùng ngay bởi bộ vi
xử lý
Nếu sự suy đoán sai, các kết quả của sự thực thi sẽ bị
bỏ qua
Trang 24Các bộ xử lý EPIC
Sự suy đoán - Speculation:
Là một kỹ thuật làm giảm ảnh hưởng của bộ nhớ đến tốc độ của bộ xi xử lý không đều nhau
Mục đích chính là chia việc nhập dữ liệu, không chỉ cho phép bộ xử lý nhập từng mẫu dữ liệu từ bộ nhớ trước khi chương trình thực sự cần nó, mà còn trì hoãn việc thông báo sự thực thi nếu dữ liệu đã nhập
bị sai luật
Trang 25Bộ nhớ chính - The main memory
Trang 26Bộ nhớ chính - The main memory
Gồm các chip trên bảng mạch chính hay trên một bản
mạch nhỏ gắn liền với bảng mạch chính của một hệ thống
Trang 27Bộ nhớ chính - The main memory
Có 2 chức năng chính :
Chứa tạm chương trình đang được sử dụng để xử lý thông tin
Chứa tạm dữ liệu
Dữ liệu dùng trong máy tính có 3 loại :
Dữ liệu ban đầu nhận từ khối nhập
Dữ liệu trung gian đang được xử lý
Kết quả cuối cùng chờ đưa ra khối xuất
Trang 28Bộ nhớ chính - The main memory
Một số khái niệm về bộ nhớ chính:
Tiêu chuẩn đánh giá kho lưu trữ-Storage Evaluation
Criteria
Tổ chức bộ nhớ chính - Main Memory Organization
Dung lượng bộ nhớ chính - Main Memory Capacity
RAM tĩnh và RAM động - Static and Dynamic RAM
Bộ nhớ chỉ đọc - Read-Only Memory
Bộ nhớ Cache - Cache Memory
Trang 29Bộ nhớ chính - Tiêu chuẩn đánh giá kho lưu trữ
kho dữ liệu
sức chứa của kho
cất trong kho được gọi là ổ lưu trữ không khả biến Ngược lại, nếu
dữ liệu đã lưu trữ bị mất khi máy bị tắt hay treo gọi là kho khả
biến
trong vùng dữ liệu của kho, thì nó được gọi là kho truy cập ngẫu
nhiên hay bộ nhớ truy cập ngẫu nhiên (RAM)
Trang 30Bộ nhớ chính – Tổ chức bộ nhớ
Trang 31Bộ nhớ chính – Tổ chức bộ nhớ
Bộ nhớ chính gồm nhiều vùng lưu trữ nhỏ được gọi là vị trí hay
ô Mỗi vị trí có thể lưu trữ một số cố định các bit gọi là độ dài
từ
Mỗi vùng có một địa chỉ dùng để nhận dạng vùng nhớ
Mỗi vùng nhớ có thể lưu trữ một phần tử dữ liệu hay một lệnh
gọi là nội dung vùng nhớ
Các địa chỉ thường bắt đầu tại số 0 và địa chỉ cao nhất bằng N-1
Hành động nhập dữ liệu vào 1 ô lưu trữ gọi là thao tác ghi vào
vùng nhớ, hành động gọi dữ liệu từ 1 ô lưu trữ gọi là thao tác đọc vùng nhớ
Trang 33Bộ nhớ chính – RAM tĩnh và động
Trang 34 Thường được dùng trong các máy tính khoa học lớn
để tăng tốc độ của sự tính toán
Trang 36Bộ nhớ chính
Bộ nhớ có chiều dài từ cố định và thay đổi
Bộ nhớ có chiều dài thay đổi:
Mỗi ô nhớ trong bộ nhớ chiếm số byte bằng với độ dài thực của các từ
Có khả năng tính toán nhanh hơn
Dùng trong các máy tính kinh doanh nhỏ cho việc tối
ưu hóa khả năng của không gian lưu trữ
Trang 37Bộ nhớ chính
Bộ nhớ có chiều dài từ cố định và thay đổi
Bộ nhớ có chiều dài thay đổi:
Ví dụ: 1 máy với bộ nhớ có chiều dài từ 8 ký tự vì 1 ký tự
có thể được đặt trong mỗi 1 ô dữ liệu của máy này nên không lãng phí bộ nhớ
Trang 38Bộ nhớ chính – RAM tĩnh và động
RAM tĩnh (static RAM (SRAM)):
Không cần bất kỳ bản mạch bên ngoài để lưu lại dữ liệu
Lấy nhiều các thiết bị bán dẫn và các thiết bị khác để lưu trữ 1 bit trong một thanh RAM tĩnh
Các chip trong RAM tĩnh thì phức tạp và tốn nhiều không gian cho việc cung cấp dung lượng lưu trữ
Ram tĩnh thì nhanh hơn, tốn kém hơn, và tiêu thụ nhiều năng lượng hơn thanh RAM động
Trang 39Bộ nhớ chính – RAM tĩnh và động
RAM động (Dynamic RAM (DRAM)):
Dùng một bản mạch ngoài để tái tạo hay làm mới kho lưu trữ để lưu lại dữ liệu
Các chip trong RAM động thì không phức tạp và không tốn nhiều không gian cho việc cung cấp dung lượng lưu trữ như RAM tĩnh
Ram động thì không nhanh hơn, ít tốn kém hơn, và tiêu thụ ít năng lượng hơn thanh RAM tĩnh
Bộ nhớ chính của hầu hết các máy tính dùng RAM động
Trang 41Bộ nhớ chính – Bộ nhớ Chỉ-Đọc
Có 2 loại ROM:
Programmable read-only memory(PROM):
Cho phép người dùng hiệu chỉnh để chuyển đổi các chương trình của họ thành các microprogram và lưu trữ nó trong Rom
PROM được lập trình để ghi lại thông tin bằng một thiết bị đặc biệt, gọi là PROM-programer
PROM chỉ có thể đọc được những thông tin lưu trữ
và chỉ được ghi một lần
Trang 42Bộ nhớ chính – Bộ nhớ Chỉ-Đọc
Erasable programmable read-only memory (EPROM):
Có thể xóa các lưu trữ trong EPROM và các chip này có thể lập trình lại để lưu lại các thông tin mới
Loại chip này thường được sử dụng bởi các nhân viên R&D, là người thường xuyên thay đổi các microprogram để kiểm tra sự hiệu quả của hệ thống máy tính với các chương trình mới
Khi EPROM được sử dụng, thông tin được lưu trữ chỉ có thể được đọc và tồn tại cho đến khi bị xóa
Trang 43Bộ nhớ chính – Bộ nhớ Chỉ-Đọc
Các loại bộ nhớ truy câp ngẫu nhiên
Trang 44Bộ nhớ chính – Bộ nhớ Cache
Cache là bộ nhớ đệm giữa CPU và bộ nhớ chính
Cache được chế tạo từ SRAM có tốc độ làm việc rất cao và có dung lượng nhỏ
Nhiệm vụ của cache là làm giảm thời gian đợi (wait-state) của CPU khi truy xuất bộ nhớ chính bằng cơ chế đọc trước các ô nhớ kế tiếp
Các bộ xử lý hiện nay đều có cache bên trong Trong thực tế, các lập trình viên thì không biết đến sự tồn tại và cách dùng của nó
Trang 45Bộ nhớ chính – Bộ nhớ Cache
Quá trình thao tác của bộ nhớ cache
Trang 46Các đường truyền của bộ nhớ - Memory buses
Là một nhóm các dây dẫn song song mà mỗi đường có nhiệm
vụ truyền tải 1 bit thông tin
Đường truyền hệ thống là tuyến kêt nối giữa CPU với các bộ
phận mà nó muốn trao đổi thông tin, cụ thể là bộ nhớ và khối
xuất nhập (I/O)
Trên một tuyến có thể truyền tải nhiều loại thông tin khác nhau
Một số đường truyền có khả năng truyền thông tin theo cả 2
chiều Tuy nhiên, trong từng thời điểm, luồng dữ liệu chỉ đi một
chiều
Độ rộng của tuyến (số đường) xác định chiều dài của một từ
(word) mà CPU trao đổi mỗi lần
Ví dụ : CPU dùng bus 16 để truyền dữ liệu 32 bit thì phải thực
hiện 2 lần
Trang 47Các đường truyền của bộ nhớ - Memory buses
Mỗi hệ thống máy tính có 3 loại đường truyền:
CPU
BỘ NHỚ CHÍNH Data Bus
Control Bus Address Bus
Ba loại đường truyền giữa CPU và bộ nhớ chính
Trang 48Các đường truyền của bộ nhớ - Memory buses
Đường dẫn dữ liệu: dùng để truyền dữ liệu giữa CPU và
bộ nhớ
Đường dẫn địa chỉ: dùng để mang địa chỉ của một vùng
nhớ chứa dữ liệu được chuyển đến hoặc từ bộ nhớ
Đường dẫn điều khiển: gửi các địa chỉ và trao đổi dữ liệu
với bộ nhớ, CPU cũng cần phải gửi các tín hiệu điều khiển
đến bộ nhớ để xác định xem dữ liệu cần được đọc hay là
viết đến vùng địa chỉ đã xác định và thực hiện dưới dạng
lệnh ĐỌC/VIẾT
Trang 49Đường dẫn nhập/xuất - I/O buses
Là các đường dẫn để kết nối CPU với các thiết bị nhập/xuất Có 3 loại:
Đường dẫn dữ liệu: dùng để truyền dữ liệu giữa CPU với các thiết bị nhập/xuất Các đường dẫn dữ liệu theo tiêu chuẩn công nghiệp là :
Trang 50Đường dẫn nhập/xuất - I/O buses
Đường dẫn ISA (kiến trúc chuẩn công nghiệp): là
đường dẫn 16-bit có thể truyền dữ liệu dọc theo 8 hay
16 đường dữ liệu, tùy thuộc vào loại mạch giao tiếp được dùng trong 1 khe mở rộng Nghĩa là các khe mở rộng ISA có thể chấp nhận cả 2 mạch giao tiếp 8-bit và 16-bit
Trang 51Đường dẫn nhập/xuất - I/O buses
Đường dẫn MCA(kiến trúc vi kênh): là 1 đường dẫn
32-bit, nó truyền dữ liệu dọc theo 32 luồng dữ liệu Khe
mở rộng MCA không chấp nhận các mạch giao tiếp bit hay 16-bit mà phải thiết kế các mạch giao tiếp 32-bit
8-riêng biệt
Đường dẫn EISA(Kiến trúc chuẩn công nghiệp mở
rộng): là đường dẫn 32-bit, được thiết kế để chấp nhận
và sử dụng khe mở rộng ISA EISA thì nhanh hơn ISA, nhưng không nhanh bằng MCA – tính tương thích của
nó thì thích ứng với các khe mở rộng 16-bit
Trang 52Đường dẫn nhập/xuất - I/O buses
Đường dẫn địa chỉ: dùng để mang địa chỉ của thiết bị
nhập/xuất được truy cập bới CPU
Đường dẫn điều khiển: dùng để mang các lệnh như
START, READ, WRITE, REWIND, TAPE, … từ CPU đến các thiết bị nhập/xuất Nó cũng được dùng để mang thông tin trạng thái của các thiết bị nhập/xuất đến CPU
Trang 53Kiến trúc kết nối
1. Kiến trúc Unibus:
Gồm một đường dẫn dữ liệu đơn, một đường dẫn địa chỉ
và một đường dẫn kiểm soát được dùng để kết nối CPU với bộ nhớ và các thiết bị nhập/xuất
Các đường dẫn được dùng chung cho việc chuyển dữ liệu giữa CPU và bộ nhớ, cũng như giữa CPU và các thiết bị nhập/xuất
Trang 55Kiến trúc kết nối
Address Bus Data Bus
Control Bus
Thiết bị Nhập/Xuất
Với bộ điều khiển kết hợp CPU Bộ nhớ chính
Kiến trúc kết nối đường dẫn đơn
Trang 56Kiến trúc kết nối
Kiến trúc Dual Bus:
Thiết lập riêng các bus cho sự kết nối tương đối của CPU với bộ nhớ và thiết bị nhập/xuất
Việc truyền dữ liệu giữa CPU và bộ nhớ chính được thực hiện bằng cách sử dụng bus kết nối CPU với memory