Giới thiệu + Kiến trúc máy tính nói về thiết kế, các khái niệm, cấu trúc hoạt động căn bản của một hệ thống máy tính wiki+ "Computer Systems and Architecture" is a study of the evolution
Trang 15 August 2010 1
Kiến trúc máy tính Computer Organization And Architecture
Tài liệu tham khảo:
[1] Nguyễn Đình Việt, Kiến trúc máy tính, NXB Giáo dục, 2000 [2] Võ Văn Chín, BG Kiến trúc máy tính, ĐH Cần thơ, 1997 [3] Trần Thị Kim Huệ, BG Kiến trúc máy tính, ĐH Sư phạm Hà Nội, 2008 [4] Trần Quang Vinh, Cấu trúc máy tính, NXB Giáo dục, 2003 [5] M Morris Mano (Atmiya Infotech), Computer Organization & Architecture, E-book [6] MIT, Computer System Architecture, 2005, OpenCourseWare
1 Giới thiệu
+ Kiến trúc máy tính nói về thiết kế, các khái niệm, cấu trúc hoạt
động căn bản của một hệ thống máy tính (wiki)+ "Computer Systems and Architecture" is a study of the
evolution of computer architecture and the factorsinfluencing the design of hardware and software elements ofcomputer systems Topics may include: instruction setdesign; processor micro-architecture and pipelining; cacheand virtual memory organizations; protection and sharing;
I/O and interrupts; in-order and out-of-order superscalararchitectures; VLIW machines; vector supercomputers;
multithreaded architectures; symmetric multiprocessors; andparallel computers (MIT)
1.1 Kiến trúc máy tính
1 Giới thiệu 1.1 Máy tính
Personal Computer -PC
1 Giới thiệu 1.1 Máy tính
Vector supercomputers
1 Giới thiệu 1.1 Máy tính
Symmetric multiprocessors
Trang 25 August 2010 7
1 Giới thiệu 1.1 Máy tính
Parallel computers
1 Giới thiệu 1.1 Kiến trúc máy tính
Computer
Computer CPU Main
memory
I/O unit
System interconnection
CU
Sequencing logic CU register &
decoders
Control memory
Sơ đồ khối
1 Giới thiệu 1.1 Kiến trúc máy tính
7 lớp chức năng
1 Giới thiệu 1.1 Kiến trúc máy tính 7 lớp chức năng
Mức transistor và dây nối
+ Là mức thấp nhất của kiến trúc chức năng của máy tính.
+ Các ống bán dẫn là thành phần tích cực chính cùng với mạch nối dây tạo nên các mạch logic số ở mức trên
1 Giới thiệu 1.1 Kiến trúc máy tính 7 lớp chức năng
Mức mạch logic số: Ví dụ
Collector
Base
Emitter Switch
Base High (+5v hay 1): Tạo kết nốiBase Low (0v hay 0): Ngắt kết nối
50 tỉ transistor trên một chip 1cm2
Trang 35 August 2010 13
1 Giới thiệu 1.1 Kiến trúc máy tính 7 lớp chức năng
Mức mạch logic số: Ví dụ
Input High (+5v or 1) Output Low (0v or 0)Input Low (0v or 0) Output High (+5v or 1)Output ngược lại với Input
+5 v
1 Giới thiệu 1.1 Kiến trúc máy tính 7 lớp chức năng
Mức mạch logic số: Ví dụMạch tổ hợp
gọi là cổng (gate)
theo công nghệ chế tạo
XOR, Mạch giải mã, mạch mã hóa, mạch ưu tiên,mạch dồn, mạch phân, mạch cộng toàn phần, mạchlật SR
1 Giới thiệu 1.1 Kiến trúc máy tính 7 lớp chức năng
năng như đơn vị số họclogic
thanh ghi), tệp thanh ghi(Register file)
đệm), Main (ROM, RAM)
(Bus bên trong)
1 Giới thiệu 1.1 Kiến trúc máy tính 7 lớp chức năng
Mức kiến trúc tập lệnh
+ Xác định giao tiếp phầnmềm_phần cứng mà người lậptrình nhìn nhận được ở mứcngôn ngữ máy
+ ISA bao gồm:
© Tập lệnh máy (InstructionsSet)
© Kiểu lấy địa chỉ (AddressingModels)
© Khuôn dạng dữ liệu (Format)
© Các nguyên tắc vận hành(Operation prescripts)
1 Giới thiệu 1.1 Kiến trúc máy tính 7 lớp chức năng
Trang 45 August 2010 19
1 Giới thiệu 1.1 Kiến trúc máy tính 7 lớp chức năng
vào phần cứng
ngôn ngữ máy dùng với một số
Hợp ngữ: Ví dụ
Ngôn ngữ lập trình
Ví dụ:
ORG 2000H MOV SP,#50H MOV PSW,#00H CLR P1,00H ; LED on
; SETB P1,0FH ;LED off END
1 Giới thiệu 1.1 Kiến trúc máy tính 7 lớp chức năng
hướng bài toán ứng dụng
Ngôn ngữ hướng đối tượng: Ví dụ
1 Giới thiệu 1.1 Kiến trúc máy tính Mô hình kiến trúc
máy tính
Các máy tính điện tử số thường có 2 loại kiến trúc
Trang 55 August 2010 25
1 Giới thiệu 1.2 Các thế hệ máy tính
Sự phát triển của máy tính chia ra 4 thế hệ: Sự tiến bộ của
các công nghệ chế tạo các linh kiện cơ bản của máy tính như:
bộ xử lý, bộ nhớ, các ngoại vi,…- đặc trưng bằng một sự thay
đổi cơ bản về công nghệ
• Thế hệ 1: (1946-1955) Máy tính dùng đèn chân không
Institute for Advanced Studies)
1 Giới thiệu 1.2 Các thế hệ máy tính
Máy tính Von Neumann
Máy tính Harvard
chương trình=> CPU có thể vừa đọcmột lệnh, vừa truy cập dữ liệu từ bộnhớ cùng lúc
dữ liệu và bộ nhớ chương trình
thực hiện ngay lệnh tiếp theo khivừa kết thúc lệnh trước đó
1 Giới thiệu 1.2 Các thế hệ máy tính
Máy tính thế hệ 4 (1980- nay):
• Các sản phẩm của công nghệ VLSI(Very Large ScaleIntegrated)
• Bộ vi xử lý được chế tạo trên một con chip
• Vi mạch điều khiển tổng hợp (Chipset)
• Bộ nhớ bán dẫn độc lập( ROM, RAM) thiết kế thành Module
• Các bộ vi điều khiển chuyên dụng
• Bộ vi xử lý đầu tiên của Intel 4004 năm1971
• Bộ xử lý được coi hoàn thiện nhất là 8088/8086 năm1978,1979 đây được coi là ngày sinh nhật của các máy tính saunày
Trang 65 August 2010 31
1 Giới thiệu 1.2 Các thế hệ máy tính
1 Giới thiệu 1.2 Các thế hệ máy tính
1 Giới thiệu 1.2 Các thế hệ máy tính
Intel 8088 (1979)
This is the chip used in the
first PC It was 16-bit, but
it talked to the cards via a
8-bit connection It ran at a
386 (1988)
It could only access 16 megabytes of memory
The 386 processor was manufactured in many
different versions and ran at speeds from 16
Mhz through to 40 Mhz
1 Giới thiệu 1.2 Các thế hệ máy tính
Intel 486 (1991)
The 486 initially ran at clock speeds of
25 MHz (SX only) and 33 MHz As itwas developed the 486 was enhancedwith a clock doubled processor core(486 DX-2) allowing it to run at speeds
of 50, 66 and 75 MHz, and then tripled(DX-4) which ran up to 100 MHz
Trang 75 August 2010 37
1 Giới thiệu 1.2 Các thế hệ máy tính
Intel Pentium
This was the first Intel processor not to use the x86 naming system.
Tên thương mại là, không hàm ý nghĩa gì khác ngoài
pent tiếng Hy lạp là số 5
1 Giới thiệu 1.2 Các thế hệ máy tính
Một số đặc điểm của VXL Intel
1 Giới thiệu 1.2 Các thế hệ máy tính
1 Giới thiệu 1.3 Phân loại máy tính
Phân loại theo phương pháp truyền thống
• Máy vi tính ( Microcomputer)
• Máy tính nhỏ (Minicomputer)
• Máy tính lớn (Mainframe Computer)
• Siêu máy tính (Super Computer)
•Phân loại theo phương pháp hiện đại
• Máy tính để bàn (Desktop Computer)
• Máy chủ (Servers)
• Máy tính nhúng (Embedded Computer)
1 Giới thiệu 1.3 Phân loại máy tính
Máy để bàn:
• là loại máy thông dụng nhất hiện nay
• bao gồm máy tính cá nhân (PC: Persional Computer) và trạm
(Workstation Computer)
• giá mua 100$ đến 10.000$
Máy chủ
• là máy phục vụ(server)
• dùng trong mạng theo mô hình Clent/Server
• có tốc độ, hiệu năng, bộ nhớ và độ tin cậy cao
• giá vài chục nghìn đến vài chục triệu đô
1 Giới thiệu 1.3 Phân loại máy tính
Máy tính nhúng
• được đặt trong nhiều thiết bị khác nhau để điều khiểnthiết bị làm việc
• được thiết kế chuyên dụng
• ví dụ: điện thoại di động, bộ điều khiển các thiết giađinh, Router định tuyến,…
Trang 85 August 2010 43
Nội dung
Tài liệu tham khảo:
[1] Nguyễn Đình Việt, Kiến trúc máy tính, NXB Giáo dục, 2000
[2] Võ Văn Chín, BG Kiến trúc máy tính, ĐH Cần thơ, 1997
[3] Trần Thị Kim Huệ, BG Kiến trúc máy tính, ĐH Sư phạm Hà Nội, 2008
[4] Trần Quang Vinh, Cấu trúc máy tính, NXB Giáo dục, 2003
[5] M Morris Mano (Atmiya Infotech), Computer Organization & Architecture, E-book
[6] MIT, Computer System Architecture, 2005, OpenCourseWare
1 Giới thiệu 1.4 Thông tin và sự mã hóa Một số khái niệm
- Thông tin: được hiểu là nội dung chứa đựng bên trong một sự kiện
- Tín hiệu: mô tả các biểu hiện vật lý của tin tức
t/h tương tự: liên tục cả về biên độ
và thời gian t/h số: gián đoạn cả về biên độ và thời gian
1 Giới thiệu 1.4 Thông tin và sự mã hóa
a) Hệ đếm
dụng
viết gọn số nhị phân
1 Giới thiệu 1.4 Thông tin và sự mã hóa a) Hệ đếm
Hệ 2, hệ 10, hệ 16 v.v.
Ví dụ:
(1011) 2 = 1x2 3 + 0x2 2 + 1x2 1 + 1x2 0 = 8 + 2 + 1 =11 (4F) 16 = 4FH = 4x16 1 + 15x16 0 = 64 + 15 = 79
1 Giới thiệu 1.4 Thông tin và sự mã hóa
a) Hệ đếm
Để đổi một số X hệ 10 sang hệ cơ số a (Y),
ta chia liên tiếp X cho a, ghi lại số dư b0, b1,
, bn, khi đó Y=bn bi b1b0
1 Giới thiệu 1.4 Thông tin và sự mã hóa b) Mã hóa (do con người định nghĩa, quy định)
số 73 có mã BCD là 0111 0011
Mã nhị phân dùng n bit để mã hoá 2n phần tử tin tức
Trang 95 August 2010 49
1 Giới thiệu 1.4 Thông tin và sự mã hóa
1 Giới thiệu 1.4 Thông tin và sự mã hóa
1 Giới thiệu 1.4 Thông tin và sự mã hóa
16 chữ số: 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F
sẽ được thay thế bằng 1 chữ số Hexa
1 Giới thiệu 1.4 Thông tin và sự mã hóa
Mã hoá và lưu trữ dữ liệu trong máy tính
Nguyên tắc chung về mã hoá dữ liệuMọi dữ liệu đưa vào máy tính đều được mã hoá thành số nhịphân
Độ dài từ dữ liệu (word)
Độ dài từ dữ liệu là số bit được sử dụng để mã hoá loại dữliệu tương ứng
Thường là bội của 8 bitVD: 8, 16, 32, 64 bit
8 bits = 1 Byte (1 keyboard character)1,024 bytes = 1 Kilobyte (1K) = 210characters1,024 K = 1 Megabyte (MB) = 220characters1,024 MB = 1 Gigabyte (GB) = 230characters
đối với Byte, và 15 với Word)
phải
cần sử dụng bit xác định dấu
mang giá trị 0 cho số chẵn và 1 cho số lẻ
Dương) Giá trị này lưu trên máy tính dạng số bù 2 (với số âm)
Trang 100: Số dương 1: Số âm
bit dấu = bit cao nhất = bit 15
1.4 Thông tin và sự mã hóa – Ví dụ
1.4 Thông tin và sự mã hóa – Ví dụ
Trang 12AB B
5
4/ NAND 5/ NOR 6/ XOR 7/ Hµm t-¬ng
Khái niệm chung về bus: Là tập hợp các đường kết nối dùng để vận chuyển thông tin giữa các thành phần của máy tính với nhau.
Độ rộng bus: Là số đường dây của bus có thể truyền các bit thông tin đồng thời (chỉ dùng cho bus địa chỉ và bus dữ liệu)
Phân loại cấu trúc bus:
Cấu trúc đơn bus Cấu trúc đa bus
Trang 135 August 2010 73
Bus đồng bộ và bus không đồng bộ
Bus đồng bộ+ Bus có đường tín hiệu Clock+ Các sự kiện trên bus được xác định bởi xung nhịp Clock.
Bus không đồng bộ+ Không có đường tín hiệu Clock+ Kết thúc một sự kiện này trên bus sẽ kích hoạt cho một sự kiện tiếp theo.
Độ rộng bus dữ liệu: xác định số bit dữ liệu có thể được trao đổi đồng thời.
Bus điều khiển
Chức năng: vận chuyển các tín hiệu điều khiển
Các loại tín hiệu điều khiển
+ Các tín hiệu phát ra từ CPU để điều khiển
môđun nhớ và môđun vào-ra
+ Các tín hiệu từ môđun nhớ hay môđun vào-ra
gửi đến yêu cầu CPU.
Mỗi chu kỳ bus gồm 2 bước :
+ Bước 1 : gửi địa chỉ
+ Bước 2 : truyền data từ địa chỉ đã được định vị.
Trang 145 August 2010 79
Chu kỳ Bus
bởi CPU hoặc DMA Controller hoặc bộ làm tươi bộ nhớ
thống
tác vụ bên trong máy tính
Chu kỳ Bus
Chu kỳ Bus
Xung đầu tiên gọi là Address time, địa chỉ truy
xuất sẽ được gửi đi cùng với tín hiệu xác định loại tác vụ sẽ được thực thi (đọc/ghi/đến mem/đến I/O).
Cuối xung thứ 2, CPU sẽ kiểm tra đường tín hiệu
Ready Nếu thiết bị cần truy xuất sẵn sàng đáp ứng tác vụ, thiết bị này sẽ kích 1 tín hiệu lên đường Ready để báo cho CPU biết và chu kỳ bus hoàn tất.
Khi 1 thiết bị không sẵn sàng, không có tín hiệu
trên đường Ready, CPU phải chờ, có thể phải tiêu tốn thêm 1 hay nhiều xung clock
Cấu trúc của một hệ máy tính đơn giản 5 August 2010 84
2 Bộ vi xử lý Chương trình, bộ nhớ,thanh ghi,ngăn xếp
+Thanh ghi dữliệu:AX 16 bit(AH, AL), BX,
…+Thanh ghiđoạn: CS, DS,
SS, ES+ Th Ghi contrỏ và chỉ số:
SP (ngăn xếp),
BP, IP, SI, DI
Trang 15được trình bày dưới dạng hợp ngữ Mỗi lệnh chứa
thông tin yêu cầu bộ xử lý thực hiện, bao gồm: mã tác vụ, địa chỉ toán hạng nguồn, địa chỉ toán hạng kết quả, lệnh kế tiếp.
+ Kiểu định vị chỉ ra cách thức thâm nhập toán hạng.
2.1 Kiến trúc phần mềm
2 Bộ vi xử lý 2.2 Thi hành lệnh
Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh
Cất giữ kết quả lệnh Bước 8
Quay lại bước đầu tiên
2 Bộ vi xử lý 2.3 Tập lệnh
Giới thiệu chung
+ Mỗi bộ xử lý có tập lệnh xác định
hiểu để thực hiện thao tác mà lệnh đó yêu cầu
ADD, MOV, IN, OUT, SHL, ROL,…
Trang 165 August 2010 91
Các kiểu thao tác
• Thao tác chuyển dữ liệu
• Thao tác xử lý số học và logic
• Thao tác vào ra dữ liệu qua cổng
• Thao tác điều khiển rẽ nhánh
• Thao tác điều khiển hệ thống
+ Lệnh Halt : dừng thực hiện chương trình
+ Lệnh Wait : tạm dừng thực hiện chương trình, lặp kiểm tra cho đến
khi thoả mãn thì tiếp tục thực hiện
+ Lệnh NOP (No Operation): không thực hiện gì cả
+ Lệnh Lock : Cấm không cho chuyển nhượng BUS
+ Lệnh Unlock: cho phép chuyển nhượng BUS
Trang 17CPU 8088
EU : khối thực hiện lệnh(Execution Unit) ALU : khối số học và logic(Arithmetic anh Logic Unit)
CU: Khối điều khiển BIU : khối phối ghép bus(Bus Interface Unit)
(Sau đó lưu kết quả và ô nhớ)
Khi CPU hoạt động, EU sẽ cung cấp thông tin về địa chỉ cho BIU để khối này đọc lệnh và dữ liệu, còn bản thân
EU thì giải mã lệnh và thực hiện lệnh.
2 Bộ vi xử lý
+ BIU đưa ra địa chỉ, đọc mã lệnh từ bộ nhớ, đọc/ghi
dữ liệu từ/vào cổng hoặc bộ nhớ BIU chịu trách nhiệm
đưa địa chỉ ra bus và trao đổi dữ liệu với bus.
+ EU có khối điều khiển(CU - Control Unit), có mạch
giải mã lệnh Mã lệnh đọc vào từ bộ nhớ được đưa đến
đầu vào của bộ giải mã, các thông tin thu được từ đầu
ra được đưa đến mạch tạo xung điều khiển, kết quả là ta
thu được các dãy xung khác nhau (tuỳ theo mã lệnh) để
điều khiển hoạt động của các bộ phận bên trong và bên
ngoài CPU Trong EU còn có khối số học và
logic(ALU) dùng để thực hiện các thao tác khác nhau
với các toán hạng của lệnh.
2 Bộ vi xử lý
ALU:
CU:
Trang 18Thanh ghi chuyển tải lệnh
Thanh ghi trạng thái
Trang 19Cấu trúc mã lệnh
vi xử lý cần phải thực hiện, phân biệt đó là lệnh gì
toán hạng mà mã thao tác sẽ tác động
thanh ghi hay bộ nhớ) Địa chỉ trực tiếp (2 byte)
Cấu trúc mã lệnh
Nội dung của mã lệnh được quy định khá chặt chẽ
chuyển MOV đích, nguồn dùng để truyền dữ liệu giữa 2 thanh
ghi hoặc giữa ô nhớ và thanh ghi
Bit D (direction) chỉ hướng cho thanh ghi REG.
+ D=1 chỉ dữ liệu đi đến REG.
+ D=0 thì chỉ dữ liệu đi từ REG.
Bit W (Word) chỉ xem thanh ghi được dùng là 8 bit
hay 16 bit (1 word) W=1 có nghĩa là thanh ghi 16 bit được dùng.
Hai bit MOD (mode, chế độ) và Ba bit R/M
(register/memory, thanh ghi/bộ nhớ) tạo ra 5 bit, dùng
để chỉ chế độ địa chỉ của lệnh.
Trang 20Cơ chế xử lý xen kẽ liên tục dòng mã lệnh
(instruction pipelining)
Trang 215 August 2010 121
Kỹ thuật pipelining
Bộ xử lý gồm các phần tử xử lý độc lập Processing
Elements/Stage
Được ứng dụng để thiết kế quá trình xử lý lệnh
song song từng công đoạn (Instruction pipelining)
2 Bộ vi xử lý 2.3 Máy tính lớn
Phân loại theo Flynn
Phân 4 nhóm dựa trên số lượng chuỗi lệnh và
số lượng chuỗi dữ liệu
SISD (Single Instruction, Single Data): Một
chuỗi lệnh, một chuỗi dữ liệu
SIMD (Single Instruction, Multiple Data):
Máy tính mảng, máy tính xử lý vector (tính toán vector, các bài toán Vector)
MISD: Nhiều lệnh 1 dữ liệu
MIMD: Nhiều chuỗi lệnh và nhiều chuỗi dữ liệu ->kiến trúc song song
MultiProcessor Parallel Computer
Multicomputer Distributed system
2 Bộ vi xử lý 2.3 Máy tính lớn
2 Bộ vi xử lý 2.3 Máy tính lớn
2 Bộ vi xử lý 2.3 Máy tính lớn
Trang 225 August 2010 127
2 Bộ vi xử lý 2.3 Máy tính lớn
2 Bộ vi xử lý 2.3 Máy tính lớn
2 Bộ vi xử lý 2.3 Máy tính lớn
2 Bộ vi xử lý 2.3 Máy tính lớn
2 Bộ vi xử lý 2.3 Máy tính lớn
2 Bộ vi xử lý 2.3 Máy tính lớn
Trang 235 August 2010 133
Phân loại kiến trúc máy tính song song
Các cấp kiến trúc máy tính song song
(d) Multicomputer (e) Grid
Phân loại theo cấu trúc kết nối máy tính
Một hệ thống máy tính có thể được xem như:
+ Một tập hợp n>=1 bộ xử lý, hay đơn vị xử lý trung tâm (CPU):
P1,P2,P3…Pn
+ M>=0 (đơn vị nhớ chia sẻ) M1, M2…Mn kết nối trong mạng N
Chia thành hai loại
+ Máy tính chia sẻ bộ nhớ ( Share Memory Computer)
+ Máy tính phân tán bộ nhớ ( Distributed Memory Computer)
Máy tính chia sẻ bộ nhớ
+ Hệ thống máy tính có một
bộ nhớ chung và n bộ XL kết nối với nhau qua mạng N