Đổi Decimal qua Hex... Binary sang Hex / Hex sang Binarythành số HEX và ngược lại... SỐ NGUYÊN INTEGER... Mã LED 7 đoạn Kathode chung…... Computer modulesRAM, ROM Peripherals IO
Trang 1Chương 1: Tổng quan về hệ
thống vi xử lý
Phạm Thế Duy ptduy@yahoo.com
Trang 2Nội dung
Các hệ thống số đếm.
Các loại mã.
Giới thiệu về vi xử lý (Công nghệ LSI và sự ra đời của bộ vi xử lý)
Các thành phần của hệ thống VXL (Đại
cương về phần cứng và phần mềm hệ thống
vi xử lý).
Trang 3CÁC HỆ THỐNG SỐ ĐẾM
Hệ thập phân (Decimal)
Hệ nhị phân (Binary).
Hệ thập lục phân (Hexadecimal – Hex)
Trang 4Các hệ thống số – Hệ 10 (Decimal)
Hệ 10
Các số biểu diễn bằng 10 con số: 0-9
Biểu diễn theo các cột từ phải qua trái: đơn vị, chục, trăm
Trang 5Cơ số
thì hàng đơn vị cần được xoá về 0 và hàng chục tăng lên 1, hàng chục tăng tới 10 thì xoá về 0 và tăng hàng trăm lên 1 ….
phải tăng tới n thì sẽ xoá về 0 và tăng cột kế tiếp bên trái của nó lên 1
cơ số 60.
Ví dụ: 12:58:43 + 00:03:20 = 13:02:03
Chú ý: Trong máy tính thường sử dụng các chỉ số bằng cơ số (hoặc các chữ đầu tương ứng) để xác định một số thuộc cơ số nào Ví dụ: (123)10 hay (123)D chỉ thị số 123 trong hệ 10.
Trang 6Các bộ vi xử lý trước đấy không thiết kế
mạch trừ để giảm giá thành
Trang 7Nhị phân - Binary
Cơ số 2
Tất cả các số đều biể udiễn bằng hai số: 0 & 1
Trọng số sẽ tăng dần từ phải qua trái
Trang 8Các thuật ngữ về số nhị phân
Một số với trạng thái 0 hoặc 1 được gọi là 1
“bit”.
8 bit = 1 “byte”.
Nhiều hơn 1 byte có thể gọi là 1 “word”.
Thường các từ nhị phân có: 12, 16, 32, 64 bit.
210 bit = 1 K bit
210 byte = 1 KB = 8 K bit.
220 byte = 1 MB
230 byte = 1 GB
Trang 9Đổi thập phân ra nhị phân
Least significant bit (rightmost)
Most significant bit (leftmost)
Kết quả : (123)10 = (1111011)2Ví dụ – Đổi số (123)10 thành nhị phân
Trang 10Số bù 2 - Two’s Complement
Một byte nhị phân có thể sử dụng để biểu diễn một số
thập phân trong khoảng:
0 to 255 (Không dấu - unsigned)
-128 to 127 (Có dấu - signed)
Số âm trong hệ nhị phân là hiệu giữa giá trị giá trị lớn nhất của tổ hợp (2n hoặc 28 = 256 cho 1 byte) đi giá trị dương tương ứng của nó
Ví dụ:
(123)10 = (01111011)2(-123)10 = (10000101)2 = (133)10 = (256-123)10
Trang 11Số bù 2
các bit của nó.
Trang 12Số âm nhị phân
Binary Unsign Decimal
… 127 128 129
… 255
Sign Decimal
0 1
… 127 -128 -127
… -1
Trang 13Câu hỏi đặt ra là
Làm thế nào phân biệt được sự khác nhau giữa:
(-123)10 = (10000101)2 và
Signed
2550
Trang 15Đổi Decimal qua Hex
Trang 16Binary sang Hex / Hex sang Binary
thành số HEX và ngược lại.
0111 1011
7 B
1011 1001 0110 1111 1010
B 9 6 F AVD:
Hệ 16 xuất hiện là để viết gọn số nhị phân một cách nhanh chóng Bốn bit nhi phân có thể viết thành 1 số Hex
Trang 17Các hệ thống số khác
Số hệ 8 (Octal): có thể sử dụng viết gọn số nhị phân bằng cách nhóm 3 bit nhị phân việt thành 1 số hệ 8.
Không gọn bằng số Hex – it được sử dụng.
Tại sao không phải hệ 32 ?
Trang 18Bảng chuyển đổi các hệ thống số
Decimal Binary Hex Octal
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17
Trang 190 1 10 11 100
n
0 1 2 3
Trang 20Cộng nhị phân
Cộng hai số nhị phân nhiều chữ số cũng giống như hai số thập phân nhiều chữa số
1 0 0 1 1 1
0 0 1 1 1 0
01
01
10
11
10
01
+
Các bit nhớ
Kết quả
Trang 21Bộ cộng - Full Adder
Cộng cho mỗi cột có 03 ngõ vào.
Hai số để cộng (A và B)
Một bit nhớ từ cột trước đó.
Bộ cộng 1 bit sẽ có hai ngõ ra.
Một bit ra cho kết quả
Bit kế tiếp cho nhớ.
Có thể sử dụng các bộ cộng này để thực hiện các mạch cộng nhiều bit.
AB B
C A
C C
C B
A SUM
IN IN
Trang 22Mạh cộng - Parallel Adder
Để cộng hai số n bit cần ghép n bộ cộng full adder.
Mỗi full-adder sử dụng để cộng trên một cột.
Trang 23 Số nhị phân có số có dấu và số không dấu
(two’s complement).
Phép cộng nhị phân nhiều chữ số cũng giống như cộng số thấp phân.
Trang 24SỐ NGUYÊN (INTEGER)
Trang 25SỐ THỰC (REAL NUMBER, FLOATING POINT NUMBER)
Ví dụ: 1,234=1,234*100=0,1234*101=
11,01 B= 1,101*21=0,1101*22=
Real number: (m, e) , e.g (0.1101, 2)
Single precision: 32 bit
Double precision: 64 bit
Trang 26SỐ THỰC (REAL NUMBER, FLOATING
POINT NUMBER)
IEEE-754 format cho single-precision
0 22
23 30
31
S biased exponent e fraction f of normalized mantissa
1 sign bit: 0 dương, 1 âm
8 bit biased exponent= exponent + 127
24 bit mantissa chuẩn hoá = 1 bit ẩn + 23 bit fraction Mantissa chuẩn hoá: có giá trị giữa 1 và 2 : 1.f
Ví dụ: biểu diễn 0.1011 dưới dạng IEEE-754
Sign bit s=0
Biased exponent: -1 + 127=126=01111110
Trang 27CÁC LOẠI MÃ
Mã BCD.
Mã LED 7 đoạn
Mã ASCII.
Trang 28Mã BCD( Binary Code for Decimal)
Biểu diễn một số từ 0 đến 9.
BCD nén: 04 bit 01 số
BCD không nén: nhiều hơn 4 bit 1 số.
Vi dụ:
1000 0011B = 83D
0000 1000 0000 0001 = 801D
Trang 29Mã LED 7 đoạn
Gồm 08 LED 7 đoạn.
a b c d e
f g
dp
Cấu trúc loại anode chung
Cấu trúc loại cathode chung
Trang 30Mã LED 7 đoạn Kathode chung
…
Trang 31Mã ASCII
Trang 32CÔNG NGHỆ LSI VÀ BỘ VI XỬ LÝ
Công nghệ LSI, Sự ra đời của bộ vi xử lý.
Lịch sử phát triển và phân loại các bộ vi
xử lý.
Hệ thống phần cứng và phần mềm vi xử lý.
Trang 33Công nghệ LSI và bộ vi xử lý
Mạch tích hợp (IC – Integrated Circuit).
Theo đơn vị cổng trong một IC.
SSI – Small Scale Integration (mật độ thấp)
MSI - Medium Scale Integration (mật độ vừa)
LSI – Large Scale Integration (mật độ cao)
Hàng ngàn loại mạch số khác nhau.
Các hàm số tạo thành từ việc kết nối các cổng logic
cơ bản
Trang 34Các mạch tích hợp điện tử số
Trong các mạch số các cổng cơ bản được kết nối cứng.
Mang một chức năng cố định không thay đổi được.
Muốn thực hiện các tính năng khác nhau cần sử dụng các IC số khác nhau, khi
muốn thay đồi tính năng khác cần thiết kế lại bản mạch điện tử kết nối các IC khác.
Trang 35Bộ vi xử lý
Công nghệ LSI cho phép tích hợp rất nhiều đơn vị cổng logic trong diện tích vài mm2 – Thực hiện một vi mạch số có thể thực hiện tất cả các chức năng số, thực hiện được hệ thống đa năng và đây là ý tưởng đầu tiên để thực hiện bộ vi xử lý.
Bộ VXL sẽ bao gồm tất cả các hàm số cơ bản nhưng không kết nối cứng Tuỳ theo các chức năng số cần thực hiện mà các hàm số sẽ được nối lại một cách thích hợp
Trang 36a b c d e f
x
x
Mạch IC số thực hiện phép toán: S = (a+b)(c-d)(e+f)
Khi thêm một phép toán (i-j) cần làm mạch khác.
Khi thay đổi phép toán (a+b) thành (a-b)
cần thực hiện lại mạch.
Trang 37Nguyên tắc kết nối mềm trong các bộ vi xử lý
Trang 38Cấu tạo cơ bản của bộ vi xử lý
Trang 39Lệnh và chương trình
Để thực hiện một chức năng cần cung cấp tín hiệu chọn dữ liệu (a,b) chọn nơi lưu trữ dữ liệu (A) và cấp tín hiệu chọn hàm số cần thực hiện (phép cộng) Tổng hợp các tín hiệu chọn dữ liệu và hàm số được gọi là một lệnh.
Để thực hiện được một bài toán (công việc) cần thực hiện một chuõi các chức năng số theo đúng giải thuật bài toán Như vậy cần cung cấp cho bộ Vi Xử Lý một tập hợp các lệnh tương ứng được gọi là một chương trình.
Trang 40Hệ thống vi xử lý
Hệ thống mạch điện tử số
Các thiết bị xuất nhập và chấp hành điều
khiển
Các chương
trình phần
mềm
Trang 41Phần cứng hệ thống vi xử lý
Chương trình
Trang 42Phần cứng hệ thống Vi Xử Lý
Bộ vi xử lý, hay còn được gọi là đơn vị xử lý trung tâm CPU (Central Processing Unit) có nhiệm vụ thực hiện tất cả các lệnh mà chương trình yêu cầu Nó đóng vai trò là chủ trong hệ thống, quyết định sự hoạt động của các linh kiện khác trong mạch
Khối bộ nhớ lưu trữ các chương trình cung cấp cho vi xử lý thực hiện, ngoài ra nó còn sử dụng lưu trữ các biến trung gian cũng như cuối cùng trong các quá trình tính toán
Các bộ vào ra kiểm soát việc truyền dữ liệu giữa CPU và các thiết bị ngoại vi như bàn phím, màn hình,… Các thiết bị ngoại vi có thể là các thiết bị cho phép hệ thống
vi xử lý và người sử dụng có thể liên lạc với nhau, hoặc các thiết bị thực hiện một công việc nào đó theo sự điều khiển của vi xử lý
Trang 43Computer modules
(RAM, ROM)
Peripherals (IO)
Data Bus
Control Bus
Address Bus
Keyboard Monitor Printer Mouse Microphone Disk
Trang 44Các BUS trong hệ thống Vi Xử Lý
BUS dữ liệu (Data BUS) có nhiệm vụ truyền dữ liệu giữa CPU và các bộ nhớ hoặc vào ra để các thành phần trong hệ thống có thể hiểu được nhau.
BUS địa chỉ (Address BUS) xác định vị trí truyền dữ liệu với BUS dữ liệu duy nhất của CPU.
BUS điều khiển (Control BUS) xác định các chế độ hoạt động khác nhau của hệ thống.
Trang 45Phần mềm hệ thống Vi Xử Lý
Hệ thống mạch điện tử
số
Chương trình mã
máy (tập hợp các bit 0 và
1)
Chương trình hợp
ngữ
(các lệnh gợi nhớ )
Trang 46LỊCH SỬ PHÁT TRIỂN CỦA CÁC
vi mạch sử dụng cho các máy tính cầm tay hãng Intel đã cho ra đời bộ vi xử lý đầu tiên là 4004 (4 bit dữ liệu, 12 bit địa chỉ) Sau đó lần lượt các bộ vi xử lý khác ra đời như:
4040 (4 bit), 8008 (8 bit) của Intel, PPS – 4 (4 bit) của Rockwell International, IPM – 16 (16 bit) của National Semiconductor
Đặc điểm chung của các bộ vi xử lý thế hệ này là:
Độ dài dữ liệu xử lý thường là 4 bit (cũng có thể dài hơn).
Công nghệ chế tạo PMOS với đặc điểm mật độ tích hợp không cao, tốc độ thấp, giá thành rẻ và chỉ có khả năng đưa ra dòng tải nhỏ.
Tốc độ thực hiện lệnh 10 – 60 sec / lệnh với tần số xung nhịp từ 0,1 tới 0,8 MHz.
Tập lệnh đơn giản và cần phải có nhiều vi mạch phụ trợ mới tạo nên hệ thống vi xử lý hoàn chỉnh.
Trang 47 Thế hệ 2 (1974 – 1977): các bộ vi xử lý điển hình cho thế hệ này là các bộ vi xử lý 8 bit như: 6502 của MOS Technology, 6800 và 6809 của Motorola,
8080 và 8085 của Intel, Z80 của Zilog Các bộ vi xử lý này có tập lệnh phong phú hơn rất nhiều so với thế hệ thứ nhất, và chúng thường có khả năng định vị 64 KB địa chỉ bộ nhớ, ngoài ra còn có thể định vị
256 địa chỉ vào ra Chúng được ứng dụng rất nhiều trong công nghiệp và nhất là đã được sử dụng để chế tạo ra các máy vi tính 8 bit nổi tiếng như: Apple
II, Commodore, PC XT Tất cả các bộ vi xử lý thế hệ này đề được chế tạo bằng công nghệ NMOS hoặc CMOS (có mật độ tích hợp cao hơn loại PMOS) tiết kiệm điện năng, cho phép đặt được tốc độ xử lý một lệnh từ 1 – 8 sec với tần số xung nhịp 1 – 5 MHz.
Trang 48 Thế hệ 3 (1978 –1982): Thế hệ này được đại diện bởi các bộ vi xử lý 16 bit 8086, 80186, 80286 của Intel;
68000, 68010 của Motorola Một điểm tiến bộ hơn hẳn các bộ vi xử lý 8 bit thế hệ trước là tập lệnh của chúng
đa dạng hơn với các lệnh nhân, chia và các lệnh xử lý chuỗi dữ liệu Khả năng định vị địa chỉ bộ nhớ và vào ra cũng được tăng lên rất nhiều (16 MB bộ nhớ, 64 KB cho vào ra đối với họ Intel) Các bộ vi xử lý thế hệ này được sử dụng trong các máy tính IBM PC, PC/AT và các máy tính Macintosh của Apple Hầu hết các bộ vi xử lý thế hệ này đều được sản xuất bằng công nghệ HMOS cho phép đặt được tốc độ 0,1 – 1 sec / 1 lệnh với tần số xung nhịp từ 5 đến 10 MHz
Trong thời gian này cũng bắt đầu xuất hiện các bộ vi điều khiển 8 bit như 8084/8089 và 6805R2 (có cả ADC
12 bit) Hoặc các bộ vi điều khiển 4 bit như MC141000, 1 bit như MC14500B
Trang 49 Thế hệ 4 (1983): các bộ vi xử lý đại diện cho thế hệ này là các vi xử lý 32 bit: 80386, 80486 và 64 bit Pentium của Intel, các vi xử lý 32 bit 68020, 68030, 68040, 68060 của Motorola Các vi xử lý thế hệ này đều có 32 bit địa chỉ, định vị 4GB bộ nhớ vật lý, ngoài ra còn có chế độ làm việc với bộ nhớ ảo Ngoài ra các cấu trúc và các cơ chế hoạt động trong các máy tính lớn cũng được áp dụng cho các bộ vi xử lý như: cơ chế đường ống (pipeline), bộ nhớ cache Trong các bộ vi xử lý này đều có khối quản lý bộ nhớ (MMU) và các bộ đồng xử lý toán học tích hợp bên trong Chính nhờ các cải tiến này mà các máy vi tính sử dụng vi xử lý thế hệ này có khả năng cạnh tranh với các máy tính mini trong rất nhiều ứng dụng Hầu hết các bộ vi xử lý thế hệ này đều được sản xuất theo công nghệ HCMOS.
Bên cạnh các bộ vi xử lý xây dựng theo cấu trúc truyền thống với tập lệnh đầu đủ (CISC – complex instruction set computer) đã nói trên, thời gian này cũng xuất hiện các bộ
vi xử lý với tập lệnh rút gọn (RISC) có khả năng thực hiện các lệnh tốc độ cao hơn và với nhiều tính năng có thể so sánh với các máy tinh lớn thế hệ trước Đó là các bộ vi xử lý Alpha của Digital, Power PC của Apple – Motorola – IBM …
Trang 50Nguồn từ Website của Intel
http://www.intel.com/pressroom/archive/backgrnd/30thann_funfacts.htm
•Ngày nay có khoảng 40 họ vi xử lý được sản xuất trên thế giới,
con số này sẽ tăng lên 50 khi tất cả các tính năng của PC được
hoàn thiện.
•Các bộ vi xử lý có thể sử dụng trong các phòng tắm, cho bàn ủi điện để tự động tắt và ngay cả cho các bàn chải đánh răng điện
tử.
•Doanh thu từ công nghệ ô tô tăng dẫn tới có đến hàng trăm bộ
vi xử lý được sử dụng để điều khiển các vật dụng trong một xe
ô tô đời mới như: Túi khí, thắng, động cơ, cửa sồ, khoá cửa, tiết kiệm xăng ….
•Phát triển liên tục trong thập niên 70 của thế kỷ 10, các bộ vi xử lý đã trở nên phổ biến nhất trong các máy tính cá nhân Ngoài ra nó còn sử dụng trong nhiều ứng dụng khác như các máy tính
lớn, các bộ điều khiển trong các máy móc thiết bị, các thiết bị
lưu trữ, các thiết bị gia dụng như lò vi sóng, đầy máy video, ….
Bắt đầu từ tháng 10 năm 1971
•Intel bắt đầu phát triển bộ vi xử lý đầu tiên vào năm 1969 Đây là một phần
của dự án thiết kế một họ vi mạch có thể tính toán lập trình từ nhà máy
Busicom tại Nhật
•Bắt đầu Busicom đề nghị trả cho Intel 60,000 USD để thiết kế một vi mạch bộ
não “brain” Tuy nhiên Intel đề nghị sử dụng nguồn vốn này để thiết kế ra bộ
vi xử lý.
•Busicom đồng ý và Intel giới thiệu ra thị trường bộ vi xử lý 4004 vào 15
tháng 10 năm 1971 và bán được 200 bộ Chìa khoá thành công của bộ vi xử lý là ý tưởng cung cấp một thiết bị có thể lập trình bằng phần mềm Trước khi phát minh ra bộ vi xử lý các vi mạch số được thiết kế với chức năng cố định.
Thế hệ ngày này của vi xử lý Intel là bộ vi xử lý Pentium® 4.
•Hiện nay hậu dệu cuối cùng của 4004 là Pentium® 4 sử dụng cho máy tính
để bàn.
•Bộ vi xử lý Pentium 4 ngày nay có thể hợat động với tốc độ 4 tỷ chu kỳ trên 1
giây.
•Intel mất 28 năm để nâng tốc độ bộ vi xử lý từ 108,000 chu kỳ trên giây (4004)
lên một tỷ chu kỳ trên giây (1 gigahertz) với bộ vi xử lý Intel® Pentium® III và chỉ 18 tháng sau nâng lên 2 gigahertz với bộ vi xử lý Pentium 4
Pentium 4 là mục tiêu cuối cùng cho máy tính để bàn nó có thể xử lý các thông tin cho nhạc số, phim số, các hình ảnh 3D thực sự hỗ trợ cho các trò chơi tên mạng, cho giáo dục và bán hàng qua mạng.