23 Cấu trúc máy tính Von-Neumann tt Bộ xử lý trung tâm – CPU Đơn vị điều khiển – Control Unit Đơn vị luận lý số – Arithmetic Logical Unit Bộ nhớ – Memory Hệ thống xuất nhập – Input/Out
Trang 1TỔ CHỨC MÁY TÍNH VÀ HỢP NGỮ
Chương 1
GIỚI THIỆU
Trang 22
Nội dung chương 1
I Giới thiệu tổ chức máy tính
II Phương pháp nghiên cứu
III Tổng quan tổ chức máy vi tính
Trang 44
1 Định nghĩa Tổ Chức Máy Tính
Các thuật ngữ tương đương
Kiến trúc máy tính – Computer Architecture
Trang 66
Cấu trúc hệ thống
Computer
Main Memory
Input Output
Systems Interconnection Peripherals
Communication
lines
Central Processing Unit
Computer
Trang 77
Cấu trúc CPU
and Login Unit
Control Unit
Internal CPU Interconnection
Registers
CPU I/O
Memory
System
Bus
CPU
Trang 99
Các giai đoạn thiết kế máy tính
Giai đoạn 1:
• Dùng các cổng luận lý tạo các mạch chức năng, ví dụ: mạch cộng, bit nhớ
Giai đoạn 2:
• Dùng các mạch chức năng tạo các thành phần như bộ xử lý, bộ nhớ
Giai đoạn 3:
• Kết nối các thành phần thành máy tính
Trang 1010
Các cổng luận lý cơ sở
Trang 1111
Mạch cộng 1 bit
Trang 1212
Bit nhớ dạng mạch cài D
Trang 1313
II Phương pháp nghiên cứu
1. Phân loại máy tính
2. Cấu trúc máy tính
3. Hoạt động của máy tính
Trang 1414
1 Phân loại máy tính
Phân loại theo thứ tự xuất hiện
Lịch sử máy tính
Phân loại theo khả năng hoạt động
Trang 1717
Các linh kiện chế tạo phần cứng máy tính
Trang 1919
Hiệu suất các bộ xử lý Intel
Trang 2020
Các đơn vị
Trang 2121
2 Cấu trúc máy tính
Cấu trúc máy tính dạng đơn giản
Trang 2222
Cấu trúc máy tính Von-Neumann
Trang 2323
Cấu trúc máy tính Von-Neumann (tt)
Bộ xử lý trung tâm – CPU
Đơn vị điều khiển – Control Unit
Đơn vị luận lý số – Arithmetic Logical Unit
Bộ nhớ – Memory
Hệ thống xuất nhập – Input/Output (I/O)
Có khả năng thực hiện các lệnh tuần tự
theo chu kỳ lấy-giải mã-thực hiện lệnh
(Chu kỳ lệnh)
Trang 2424
3 Hoạt động của máy tính
Thực hiện chương trình (program)
Chương trình gồm một chuỗi các lệnh/chỉ thị (instruction) thuộc tập lệnh của CPU
Trang 2525
Chu kỳ lệnh
Trang 2626
Chu kỳ lệnh (tt)
Trang 2727
Hoạt động của máy tính theo các lớp luận lý
Trang 2828
Phương pháp nghiên cứu
Khảo sát tổ chức máy tính theo
các thành phần cấu trúc
Môn học tổ chức máy tính và hợp ngữ
tổ chức máy vi tính và hợp ngữ
Trang 2929
III Tổng quan tổ chức máy vi tính
1. Tổ chức vật lý
2. Tổng quan về phần mềm
Trang 3030
1 Tổ chức vật lý máy vi tính
System Unit
Power Supply
Mainboard, CPU, RAM
Expansion boards: video, network, sound, … Drives: Floppy, Hard, CD/DVD
Monitor
Keyboard, mouse
Speaker, Printer, Scanner, Modem, …
Trang 3131
Cấu trúc vật lý
Trang 3232
Các đầu nối (connectors)
Trang 3333
Bên trong system unit
Trang 3434
Ví dụ 1: Mainboard
Trang 3535
Ví dụ 2: Mainboard Intel D875PBZ
Trang 37 Boot Drive – Đĩa khởi động
Boot record – Mẩu tin khởi động
Operating system – Hệ điều hành
Trang 3838
2 Tổng quan về phần mềm
Phần mềm hệ thống
Phần mềm ứng dụng
Trang 3939
Phần mềm ứng dụng
Xử lý văn bản – Word Processor
Microsoft Word, Corel WordPerfect
Trang 4242
Hệ Điều Hành
Với người sử dụng
Được nạp vào bộ nhớ đầu tiên
Quản lý các chu kỳ nhập-xử lý-xuất
Với chương trình/người lập trình
Mở rộng phần cứng máy tính
Quản lý tài nguyên hệ thống
Ví dụ: Microsoft Windows, Linux, UNIX, MAC OS, …
Trang 4444
Công cụ lập trình
Ngôn ngữ lập trình
Ngôn ngữ máy – Machine language
dạng nhị phân của tập lệnh CPU
Ngôn ngữ dùng ký hiệu / Hợp ngữ Symbolic language / Assembly language dạng ký hiệu/gợi nhớ của tập lệnh CPU
Ngôn ngữ cấp cao – High-level language
Trang 4545
Thực thi chương trình hợp ngữ
Viết chương trình nguồn dùng hợp ngữ
Dùng chương trình dịch hợp ngữ (Assembler) chuyển đổi chương trình nguồn thành chương trình thực thi (trên ngôn ngữ máy tương ứng với một hệ điều hành)
Thực hiện chương trình trên ngôn ngữ máy
Trang 4646
Thực thi chương trình ngôn ngữ cấp cao
Viết chương trình nguồn dùng ngôn ngữ cấp cao
Có hai phương pháp thực thi:
• Biên dịch
• Thông dịch/Phiên dịch
Trang 4747
Biên dịch (compilation)
Dùng chương trình biên dịch (Compiler) chuyển chương trình nguồn thành chương trình trên ngôn ngữ máy
Thực thi chương trình trên ngôn ngữ máy
Thực thi nhanh
Cần biên dịch lại khi có thay đổi
Ví dụ: ngôn ngữ C,C++, …
Trang 4848
Thông dịch (Interpretation)
Dùng chương trình thông dịch (Interpreter) đọc và thực thi từng phát biểu trên chương trình nguồn
Luôn cần chương trình nguồn
Thực thi chậm hơn
Ví dụ: Basic, Scripting language, …
Trang 4949
JAVA
Có thể thực thi trên mọi môi trường
Thực thi chương trình Java:
Quá trình biên dịch
Quá trình thông dịch trên JVM
(Java Virtual Machine)
Trang 5050
Môi trường lập trình Java
II
Trang 5151
Thực thi chương trình Java
Trang 53TỔ CHỨC MÁY TÍNH VÀ HỢP NGỮ
Chương 2
BUS (HỆ THỐNG VẬN CHUYỂN
THÔNG TIN)
Trang 54Nội dung chương 2
I. Các khái niệm cơ bản
II. Cấu trúc máy vi tính
III. Một số thiết bị ngoại vi
Trang 55I Các khái niệm cơ bản
1. Khái niệm về Clock
2. Bus
3. Các tiêu chuẩn bus
Trang 561 Khái niệm về Clock
Cần kiểm soát về thời gian trên hệ thống:
Có sự trễ (delay) của tín hiệu
Kiểm soát thứ tự thực hiện
Hai kỹ thuật cơ bản:
Trang 57Tín hiệu clock
Rising Edge: Cạnh lên
Falling Edge: Cạnh xuống High: Mức cao
Low: Mức thấp
Trang 58Thông số của clock
Tần số - Frequency: số chu kỳ trong 1 giây Chu kỳ - Cycle: chiều dài 1 chu kỳ
Ví dụ:
1GHZ = 109 chu kỳ/giây
1 chu kỳ = 10-9 giây = 1 nano giây
Trang 602.Bus
Bus: đường dẫn tín hiệu chung giữa các thiết bị
Trang 61Các thành phần trên bus
Data bus – Bus dữ liệu
• Truyền dữ liệu
• Kích thước: 8, 16, 32, 64 bit hiệu suất
Address bus – Bus địa chỉ
• Xác định thiết bị gởi, nhận dữ liệu
• Kích thước khả năng quản lý bộ nhớ
Control bus – Bus điều khiển
• Tín hiệu clock
• Đọc, ghi bộ nhớ và thiết bị I/O
Trang 62Hệ thống máy tính với nhiều bus
Trang 633 Các tiêu chuẩn bus
Trang 64Thông số các loại bus
Trang 68PCI slots
Trang 69PCI Express bus
Phát triển kiến trúc PCI
tương thích với PCI
Băng thông rộng
Bắt đầu từ 200 MB/sec, có thể x2, ,x32
Hỗ trợ tốt hơn cho truyền thông,
đa phương tiện (audio, video)
Thêm bớt thiết bị khi máy hoạt động
(Hot plugging)
Trang 70PCI Epress (tt)
Trang 71PCI Express (tt)
Trang 72PCI Epress (tt)
Trang 73PCI Express slots
Trang 74PCI Express slots (x4,x16,x1,x16) và PCI slot
Trang 75II Cấu trúc máy vi tính
1. Cấu trúc máy vi tính
2. Các thao tác cơ sở
3. Các phương pháp xuất nhập
Trang 77Cấu trúc tiêu biểu máy vi tính – Pentium
Trang 78Cấu trúc tiêu biểu máy vi tính – Pentium 4
Trang 79Các thành phần chính trên mainboard
Trang 80Kết nối các thành phần trên mainboard
Trang 81AGP (Accelerated Graphics Port)
Trang 82AGP (Accelerated Graphic Port)
Do Intel thiết kế
Tăng tốc độ hiển thị hình 3D, hình động
Dùng 1 bus riêng (AGP)
Chip AGP có thể đồng thời truy cập bộ nhớ với CPU
Băng thông 533 MB/sec
Trang 83SCSI (Small Computer System Interface)
Dạng I/O bus, điều khiển nhiều loại thiết bị: đĩa cứng, CDROM, scanner, máy in
Có thể đến 15 thiết bị/cáp
Trang 84Một số thông số SCSI
Trang 85IDE (Integrated Drive Electronics)
Còn gọi là ATA (AT Attachment)
EIDE (Extended IDE) ATA-2
• 4 thiết bị
• Điều khiển CDROM
• Hỗ trợ LBA (Logical Block Addressing)
ATA-4 Ultra ATA
• ATA-33/66/100 : tốc độ DMA là 33MHz/
Trang 86Serial ATA (SATA)
Tốc độ cao, từ 150 MB/sec
Chỉ điều khiển đĩa
Dễ cài đặt
Trang 87Serial ATA (tt)
Trang 88USB (Universal Serial Bus)
Kết nối các thiết bị đặt ngoài (external)
Đặc điểm:
• Thống nhất đầu nối
• Cấp nguồn
• Thêm bớt khi máy hoạt động (Hot-plugging)
• Tự động thiết lập cấu hình (Plug-and-Play)
Tốc độ: 12 Mbps(1.0), 450 Mbps(2.0)
7 thiết bị, có thể đến 127 thiết bị với Hub
Trang 89Ví dụ USB hub
Trang 92Địa chỉ thiết bị xuất nhập (Địa chỉ I/O)
Memory mapped I/O
• Thiết bị và bộ nhớ dùng chung một không gian địa chỉ
• Xuất nhập tương đương đọc ghi bộ nhớ
• Không cần lệnh I/O
Isolated I/O
• Dùng không gian địa chỉ riêng
• Cần tín hiệu điều khiển I/O riêng
• Cần các lệnh I/O
Trang 93Xuất nhập theo chương trình
CPU trực tiếp điều khiển I/O
• Kiểm tra trạng thái thiết bị
• Dùng các lệnh đọc/ghi
• Trao đổi dữ liệu
CPU phải chờ thiết bị hoàn thành thao tác
• Định kỳ kiểm tra trạng thái thiết bị
Lãng phí thời gian CPU
Thông số thiết bị: địa chỉ I/O
Trang 94Xuất nhập dùng kỹ thuật ngắt
Đặc điểm:
CPU không phải chờ
CPU không cần kiểm tra thiết bị hoàn thành thao tác
Thiết bị yêu cầu ngắt quãng khi sẵn sàng
Trang 96Ví dụ: CPU đọc 1 thiết bị dùng ngắt
CPU phát lệnh đọc
Thiết bị lấy dữ liệu trong khi CPU thực hiện việc khác
Thiết bị ngắt quãng CPU
CPU yêu cầu dữ liệu
Thiết bị truyền dữ liệu
Trang 97Chuyển điều khiển khi có ngắt
Trang 99Xuất nhập dùng DMA
Có phần cứng hỗ trợ DMAC (DMA Controller)
DMAC thay thế CPU thực hiện trao đổi
dữ liệu giữa bộ nhớ và thiết bị
Trang 100 CPU thực hiện việc khác
DMAC thực hiện trao đổi dữ liệu
DMAC gởi tín hiệu ngắt khi hoàn thành
Trang 101Thông số thiết bị dùng DMA
Trang 102III Một số thiết bị ngoại vi
1. Đĩa từ
2. CD, DVD
3. Màn hình
4. Máy in
Trang 1031 Đĩa từ
Đĩa cứng với 4 đĩa
Trang 104Cấu trúc một mặt đĩa
Trang 105Đĩa từ (tt)
Track, Sector, Cylinder
Đơn vị truy xuất: sector
Các bước truy xuất sector:
• Di chuyển hệ thống đầu từ đến cylinder chứa sector – Seek time (mili sec)
• Chờ sector xoay đến vị trí đầu từ - Rotational latency (rpm)
• Truy xuất sector
Thông số tổng quát: tốc độ truy xuất
(Data Transfer Rate) theo MB/sec
Trang 106Đĩa từ (tt)
Trang 107Thông số các loại đĩa mềm
Trang 1082 Giới thiệu CD và DVD
a. CDROM
b. DVD
Trang 109• Lớp nhựa, 1 hay 2 lớp kim loại, lớp bảo vệ
Thông số ổ đĩa CD (CD Drive):
• Loại (internal/external)
• Giao tiếp bus (IDE/SCSI)
• Tốc độ (theo đơn vị 1x = 150 KB/sec)
Trang 110Cấu trúc luận lý đĩa CDROM
Trang 111Cấu trúc vật lý đĩa CDROM
Trang 112Ổ đĩa CD
Trang 113Các dạng đĩa CDROM
CDROM
CD – Recordable
CD – Rewritable
Trang 114Cấu trúc đĩa CD-Recordable
Trang 1152 DVD (Digital Versatile Disk)
Hình thức đĩa và ổ đĩa DVD tương tự CD
Đặc điểm so với CDROM:
• Dung lượng lớn hơn (4.7GB)
• Dùng loại tia laser tần số cao hơn
• Tốc độ truy xuất cao hơn (1.4MB/sec)
Trang 116Các loại dung lượng đĩa DVD
Trang 117Đĩa DVD dạng hai mặt, hai lớp
Trang 118Các dạng đĩa DVD
DVD
DVD – Recordable
DVD – Rewritable
Trang 1193 Màn hình
Hai dạng thông dụng:
Dùng đèn hình CRT
Dùng tinh thể lỏng LCD
Trang 120Màn hình dạng CRT (Cathod Ray Tube)
a CRT b Quét tia điện tử
Trang 121Màn hình LCD (Liquid Crystal Display)
Trang 122Hoạt động màn hình LCD
Trang 123Thông số màn hình CRT
Dot pitch – Kích thước điểm ảnh, ví dụ 0.22mm
Refresh rate – Tốc độ làm tươi (hz)
Resolution – Độ phân giải
Monitor screen size – Kích thước màn hình, ví dụ 17”
Display colors – Số màu
Trang 124Thông số màn hình LCD
Resolution - Độ phân giải
• Theo kích thước (screen size)
Viewing angle – Góc nhìn
• Khoảng 120 170 độ
Brightness – Độ sáng
• Theo candelas/cm 2 – Khoảng 250 500
Độ tương phản – Contrast ratio
• Tỉ số giữa trắng/đen – Khoảng 450 1000
Tốc độ đáp ứng – Response rate
• Tốc độ thay đổi màu – Theo milisec
Trang 125Một số độ phân giải màn hình
Trang 126Kích thước màn hình
Trang 1274 Máy in
Các loại máy in:
In kim – Dot-matrix printer
In phun – InkJet
In laser – Laser printer
Thông số chính:
Độ phân giải – dots per inch (dpi)
Tốc độ in – pages per minute (ppm)
Trang 128Máy in phun
Trang 129Máy in Laser
Trang 130TỔ CHỨC MÁY TÍNH VÀ HỢP NGỮ
Chương 3
BỘ XỬ LÝ
Trang 1345
CPU và system bus
Trang 1356
Cấu trúc trong CPU
Trang 1367
Ví dụ: Lấy lệnh
Địa chỉ chuyển vào thanh ghi MAR
Địa chỉ đưa lên bus địa chỉ
Đơn vị điều khiển yêu cầu đọc bộ nhớ
Kết quả đưa lên data bus, sao chép vào
thanh ghi MBR, đưa vào thanh ghi IR
Trang 1378
Dòng dữ liệu của giai đoạn lấy lệnh
Trang 1389
2 Thanh ghi (registers)
Thanh ghi = ô nhớ bên trong CPU
Nơi làm việc trong CPU
Hai dạng thanh ghi:
• User visible registers: sử dụng bởi phần mềm
• Control and status registers: sử dụng bên trong CPU
Trang 13910
User visible registers
Đa năng (General Purpose, GP)
Dữ liệu (Data)
Địa chỉ (Address)
Mã điều kiện (Condition codes)
Trang 140 Memory Address Register
Lưu địa chỉ khi truy xuất bộ nhớ
Memory Buffer Register
Lưu giá trị từ nhớ
Trang 14112
Ví dụ thanh ghi
Trang 14213
3 Đơn vị xử lý
Thực hiện các thao tác xử lý cơ sở
ALU - Arithmetic Logical Unit
(Đơn vị số học luận lý)
Thao tác số học: cộng, trừ, nhân, chia
Thao tác luận lý: NOT, AND, OR, XOR
Integer Execution Unit
Trang 14314
Các dạng đơn vị xử lý
Floating-Point Execution Unit (FPU)
Thực hiện xử lý trên số dấu chấm động
MMX Execution Unit
Thực hiện xử lý trên dữ liệu MMX
Multimedia Unit
Trang 14415
4 Đơn vị điều khiển
Thực hiện lấy lệnh, giải mã lệnh
Tạo các tín hiệu điều khiển bus
Điều khiển đơn vị xử lý
Trang 14516
Hai phương pháp điều khiển đơn vị xử lý
Tín hiệu (hard-wired control)
Chương trình (microprogrammed control) chương trình bên trong đơn vị điều khiển vi chương trình (microprogram)
Trang 14617
Hard-wired control unit
Trang 14718
Microprogrammed control
Trang 15021
Dùng tín hiệu
Dùng
vi chương trình Tốc độ thực thi một lệnh Nhanh hơn Chậm hơn
Số lượng lệnh Ít hơn Nhiều hơn
Chương trình biên dịch Phức tạp hơn Đơn giản hơn
Ví dụ SPARC, PowerPC Intel CPU
Dạng kiến trúc máy tính RISC CISC
So sánh hai dạng thực hiện đơn vị xử lý
Trang 15122
II Các phương pháp nâng cao
khả năng hoạt động CPU
1. Tác động clock bên trong CPU
2. Thực hiện lệnh song song
3. Cơ chế đường ống
4. Cache
Trang 15223
1 Tác động clock bên trong CPU
Tăng tần số clock trong CPU (internal clock / clock subcycle) tăng tốc độ thực hiện lệnh
Clock bên trong CPU được điều khiển bởi clock trên mainboard (external clock)
Tần số internal clock là bội số của tần số external clock
Trang 15324
2 Thực hiện lệnh song song
Phân loại Flynn
Thực hiện lệnh song song trên bộ vi xử lý
Máy vi tính nhiều bộ xử lý
Trang 15425
Phân loại kiến trúc máy tính theo Flynn
SISD – Single Intruction stream
Single Data stream
SIMD – Single Intruction stream
Multiple Data stream
MISD – Multiple Intruction stream
Single Data stream
MIMD – Multiple Intruction stream
Multiple Data stream
Trang 15526
Thực hiện lệnh song song trên bộ vi xử lý
Thực hiện nhiều lệnh trong một chu kỳ clock
CPU Intel:
• Lệnh SIMD
• Cấu trúc superscalar
Trang 15627
Ví dụ: superscalar processor
Trang 157• Truyền thông qua bộ nhớ
Kiến trúc MMP (Massively Parallel Processors)
• Nhiều bộ xử lý
• Bộ nhớ phân tán
• Truyền thông qua mạng
Trang 15829
3 Cơ chế đường ống (Pipelining)
Bộ xử lý gồm các phần tử xử lý độc lập Processing Elements/Stage
Hoạt động như dây chuyền sản xuất
Tại một thời điểm:
• Si thực hiện lệnh j, đưa kết quả cho Si+1
• Si-1 thực hiện lệnh j+1, đưa kết quả cho Si
Trang 16132
Mở rộng cơ chế đường ống
Hai đường ống với 5 phần tử dùng chung phần tử lấy lệnh
Trang 163• Có điều kiện: IF, Loop
• Không điều kiện
Tỷ lệ lệnh rẽ nhánh: 20 – 30 %
Xử lý: Dự đoán rẽ nhánh
(Branch Prediction)
Trang 16536
a Khái niệm cache
Bộ nhớ dung lượng nhỏ, tốc độ cao
Giúp CPU truy xuất bộ nhớ nhanh hơn
Trang 16637
b Hoạt động cache
Giả sử CPU đọc 1 khối nhớ k lần
Nếu không có cache:
• CPU đọc khối trên bộ nhớ k lần
Trang 167 Truy xuất trên cache: cache hit
Không truy xuất được trên cache: cache miss
Số lần truy xuất thành công trên cache k -1
h =
Trang 16839
Hoạt động khi có cache
Khi CPU cần truy xuất 1 khối nhớ, CPU tìm khối trên cache
Nếu khối có trên cache:
• CPU truy xuất khối trên cache
Nếu khối chưa có trên cache:
• CPU truy xuất khối trên bộ nhớ
• CPU ghi khối vào cache
Trang 16940
c Phân loại cache
Cache cấp 1 – First level cache (L1)
Trang 17041
Các loại cache
Trang 17243
d Thay thế phần tử trên cache
Khi cache đầy mà cần ghi thêm vào cache thì phải thay thế một phần tử trên cache
• Nếu phần tử bị thay thế có thay đổi nôi dung thi phải ghi trở lại bộ nhớ
Có các phương pháp chọn phần tử thay thế: Optimal, FIFO, LRU (thông dụng)
Least Recently Used (LRU): chọn phần
tử tồn tại trên cache trong khoảng thời gian lớn nhất mà không được sử dụng