1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề cương kiến trúc máy tính

147 208 0

Đ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 147
Dung lượng 7,84 MB

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

Nội dung

Chương trình: Gồm dãy các lệnh có quy luật, được đưa vào bộ nhớ để yêu cầu máy tính thực hiện một công việc cụ thể.. Kiến trúc tập lệnh Một tập lệnh IS - Instruction Set hoặc kiến trúc

Trang 1

MỤC LỤC

MỤC LỤC 1

Bài 1: GIỚI THIỆU CHUNG VỀ KIẾN TRÚC MÁY TÍNH 6

1.1.Máy tính và phân loại máy tính 6

1.1.1.Máy tính 6

1.1.2.Phân loại máy tính 6

1.1.2.1 Theo đặc trưng thiết kế 6

1.1.2.2 Theo kích cỡ/năng lực xử lý 7

1.1.2.3 Phân loại theo kiến trúc 7

1.2.Kiến trúc máy tính 8

1.2.1.Kiến trúc tập lệnh 9

1.2.2.Tổ chức của máy tính 9

1.2.3.Mô hình phân lớp của máy tính 12

1.3.Sự phát triển của máy tính 14

1.4.Hiệu năng máy tính 20

Bài 2: MÃ HOÁ THÔNG TIN TRONG MÁY TÍNH 23

2.1.Các hệ đếm cơ bản 23

2.1.1.Hệ thập phân (Decimal) 23

2.1.2.Hệ nhị phân (Binary) 23

2.1.3.Hệ thập lục phân (Hexa) 23

2.1.4.Quan hệ giữa các hệ đếm 23

2.2.Mã hoá thông tin trong máy tính 24

2.2.1.Nguyên tắc chung về mã hoá dữ liệu 24

2.2.2.Nguyên tắc lưu trữ dữ liệu trong máy tính 24

2.3.Biểu diễn số nguyên 25

2.3.1.Số nguyên không dấu 25

2.3.2.Số nguyên có dấu 25

2.3.3.Các phép toán với số nguyên 26

2.3.4 Biểu diễn số nguyên theo mã BCD (Binary Coded Decimal) 27

Trang 2

2.4.Biểu diễn số thực 28

2.4.1.Số thực dấu phảy tĩnh 28

2.4.2.Số thực dấu phảy động 28

2.5.Mã hoá ký tự 29

2.5.1.Bảng mã ASCII 29

2.5.2.Bảng mã UniCode 30

2.6.Mã hoá hình ảnh 30

2.6.1.Mã hoá hình ảnh tĩnh 30

2.6.2.Mã hoá ảnh động 31

2.7.Mã hoá âm thanh 32

Bài 3: Bài tập và thảo luận về chuyển đổi hệ đếm và các phép toán số học, logic 32 Bài 4 : CƠ BẢN VỀ LOGIC SỐ 32

4.1.Các cổng logic cơ bản 32

4.2.Đại số Boole 34

4.3.Mạch tổ hợp 35

4.3.1 Mạch cộng (Adder) 35

4.3.2 Mạch trừ (Subtractor) 36

4.3.3 Mạch so sánh (Comparator) 37

4.3.4 Mạch dồn kênh (MUX) 38

4.3.5 Mạch phân kênh (Demux) 39

4.3.6 Mạch mã hoá 39

4.3.7 Mạch giải mã 40

4.3.8 Mạch dịch bit (Shifter) 40

4.3.9 Mạch tạo tín hiệu thời gian (Clock) 41

4.4 Mạch dãy (Sequential Circuit) 41

4.4.1 Flip-Flop 42

4.4.2 Thanh ghi (Register) 44

4.4.3 Bộ đếm (Counter) 46

Bài 5: TỔNG QUAN VỀ HỆ THỐNG MÁY TÍNH 47

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

Trang 3

5.1.1 Vỏ thùng máy (Case) 47

5.1.2 Bộ nguồn (Power Supply) 47

5.1.3 Bo mạch chủ (Mainboard) 49

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

5.1.5 RAM (Random Access Memory) 57

5.1.6 Các thiết bị lưu trữ (Storage Devices) 58

5.1.7 Các loại Card giao tiếp 61

5.2 Các hoạt động cơ bản của máy tính 63

5.2.1 Thực hiện chương trình 63

5.2.2 Ngắt (Interrupt) 64

5.2.3 Vào-Ra (Input/Output) 65

5.3 Bus máy tính 65

5.3.1 Cấu trúc Bus 65

5.3.2 Các loại bus cơ bản trong máy tính 66

5.3.3 Phân cấp đa bus trong máy tính 67

Bài 06: Bài tập và thảo luận về các phần tử logic cơ bản và mạch logic tổ hợp 68

Bài 7: BỘ XỬ LÝ TRUNG TÂM 69

7.1 Tổ chức của CPU 69

7.1.1 Cấu trúc cơ bản 69

7.1.2 Hoạt động của chu trình lệnh 70

7.2 Thiết kế đơn vị điều khiển 74

7.2.1 Thực hiện bằng mạch điện tử 74

7.2.2 Thực hiện bằng vi chương trình 75

7.3 Kỹ thuật đường ống (pipelining) 76

7.3.1 Nguyên tắc chung 76

7.3.2 Các Hazard (trở ngại) của đường ống 77

7.4 Các kiến trúc song song mức lệnh 79

7.4.1 Siêu đường ống (Superpipeline và Hyperpipeline) 79

7.4.2 Bộ xử lý siêu vô hướng (Superscalar) 80

7.5 Bộ xử lý đa luồng và đa lõi 81

Trang 4

7.5.1 Công nghệ siêu phân luồng (Hyper Threading) 81

7.5.2 Công nghệ đa lõi 81

Bài 8: KIẾN TRÚC TẬP LỆNH 88

8.1 Mô hình lập trình của máy tính 88

8.2 Các đặc trƣng của lệnh máy 91

8.2.1 Các thành phần của lệnh máy: 91

8.2.2 Đánh giá về số địa chỉ toán hạng: 93

8.3 Các kiểu định vị 93

8.4 Các kiểu toán hạng 95

8.5 Các vấn đề khi thiết kế lệnh máy 95

8.6 Các kiểu thao tác của lệnh 95

8.6.1 Các lệnh chuyển dữ liệu 95

8.6.2 Các lệnh số học 95

8.6.3 Các lệnh logic 95

8.6.4 Các lệnh điều khiển vào-ra 96

8.6.5 Các lệnh chuyển điều khiển 96

8.6.6 Các lệnh điều khiển hệ thống 96

8.7 Khái niệm về lập trình hợp ngữ 96

8.8 RISC và CISC 97

8.9 Kiến trúc tập lệnh của Intel 8086 97

8.9.1 Tập thanh ghi của 8086 97

8.9.2 Tập lệnh của 8086 100

8.9.3 Các kiểu định vị của 8086 107

Bài 09: Bài tập và thảo luận về bộ xử lý trung tâm, kiến trúc tập lệnh 110

Bài 10: Tổng quan về hệ thống nhớ của máy tính 111

10.1 Các đặc trƣng của hệ thống nhớ 111

10.2 Phân cấp hệ thống nhớ 111

10.3 Phát hiện và hiệu chỉnh lỗi của bộ nhớ 111

Bài 11: Bộ nhớ bán dẫn và bộ nhớ chính 113

11.1 Phân loại bộ nhớ bán dẫn 113

Trang 5

11.2 Tổ chức của chip nhớ bán dẫn 115

11.3 Bộ nhớ chính 118

11.3.1 Đặc trưng 118

11.3.2 Tổ chức các băng nhớ đan xen 119

Bài 12: Bộ nhớ Cache và bộ nhớ ngoài 121

12.1 Nguyên tắc chung của cache 121

12.2 Các phương pháp ánh xạ địa chỉ 121

12.3 Các thuật giải thay thế thông dụng 121

12.4 Các phương pháp ghi dữ liệu 121

12.5 Bộ nhớ từ 122

12.6 Bộ nhớ quang 127

12.7 Bộ nhớ ảo 133

Bài 13: Thảo luận về hệ thống nhớ máy tính 145

Bài 14: Hệ thống vào ra 137

14.1 Giới thiệu chung về hệ thống vào-ra 137

14.2 Thiết bị ngoại vi 137

14.3 Mô-đun vào-ra 137

14.4 Đánh địa chỉ cho cổng vào-ra 138

14.5 Các phương pháp điều khiển vào-ra 139

14.5.1 Vào-ra bằng chương trình 139

14.5.2 Vào-ra điều khiển bằng ngắt 140

14.5.3 Truy nhập trực tiếp bộ nhớ (DMA) 141

14.5.4 Kênh vào-ra và bộ xử lý vào-ra 141

Bài 15: Thảo luận về hệ thống vào ra 141

Bài 16: MÁY TÍNH SONG SONG 142

16.1 Giới thiệu 142

16.2 Các loại máy tính 142

Bài 17: Thảo luận về hệ thống vào ra, máy tính song song, tổng kết môn 147

Trang 6

Bài 1: GIỚI THIỆU CHUNG VỀ KIẾN TRÚC MÁY TÍNH

1.1 Máy tính và phân loại máy tính

1.1.1 Máy tính

Máy tính: Là thiết bị điện tử thực hiện các công việc sau:

- Nhận thông tin vào

- Xử lý các thông tin theo các dãy lệnh được nhớ sẵn bên trong

- Đưa thông tin ra

Chương trình: Gồm dãy các lệnh có quy luật, được đưa vào bộ nhớ để yêu

cầu máy tính thực hiện một công việc cụ thể

=> Máy tính hoạt động theo chương trình

1.1.2 Phân loại máy tính

Có rất nhiều cách (tiêu chí) để có thể phân loại máy tính Thông thường máy tính được phân loại theo một số cách sau:

1.1.2.1 Theo đặc trưng thiết kế

1 Máy tính số (Digital Computer): Sử dụng các đại lượng vật lý biến

thiên một cách rời rạc để mã hoá và xử lý thông tin Chúng được chia thành nhiều loại:

a) Máy tính số tuần tự: Các công việc (nhiệm vụ) được thực hiện tuần tự

(hết công việc này đến công việc khác) Tốc độc thực thi chậm, hiện nay gần như không còn tồn tại

b) Máy tính số song song: Các nhiệm vụ được thực hiện song song, tốc

độc thực thi cao và yêu cầu về phần cứng cao Máy tính loại này thường là các siêu máy tính

c) Máy tính số chuyên dụng: Máy tính được thiết kế để giải một lớp bài

toán (thực hiện công việc) thuộc một lĩnh vực cụ thể Nó thường đơn giản và rẻ hơn máy tính đa năng nhờ việc có thể giảm bớt các thành phần phần cứng hoặc thậm chí

cả việc rút gọn tập lệnh của bộ vi xử lý

d) Máy tính số đa năng: Loại máy tính được thiết kế không có mục đích

nhất định, nó có thể thực hiện bất cứ nhiệm vụ thuộc lĩnh vực nào Các máy tính ngày nay thuộc loại máy tính này

2 Máy tính tương tự (Analog Computer): Sử dụng các đại lượng vật lý

biến thiên liên tục để mã hoá và xử lý thông tin Nó có ưu điểm là vận hành rất thuận tiện, kết quả đưa ra thường dưới dạng đồ thị trong thời gian cực ngắn Nhược điểm của nó là kết quả không có độ chính xác cao, hoạt động không mềm dẻo như máy tính số và khả năng giải bài toán phụ thuộc vào chính phần cứng của máy Một

số máy tính tương tự như: Máy phân tích nước, máy đo diện tích, máy định vị bom,

Trang 7

hệ thống kiểm soát bắn,…

1.1.2.2 Theo kích cỡ/năng lực xử lý

1 Máy tính nhúng (Embedded Computer): Là máy tính đặt ẩn trong một

thiết bị khác để điều khiển thiết bị đó làm việc Chúng được thiết kế chuyên dụng để làm việc với thiết bị đó Ví dụ: Điện thoại di động; máy ảnh số; hệ thống điều khiển trong TV, máy giặt, điều hoà, ô tô; các bộ định tuyến (router),…

2 Máy tính cá nhân (Personal Computer): Là những máy tính nhỏ,

thường có một bộ vi xử lý và một số thiết bị ngoại vi Thường dùng cho một người dùng độc lập hoặc dùng trong hệ thống mạng máy tính Vd: Máy tính để bàn, máy tính xách tay

3 Máy tính nhỏ (Mini Computer): Có kích thước lớn hơn PC nhiều Nó

có khả năng hỗ trợ hàng chục hoặc hàng trăm người làm việc Chúng thường được

sử dụng rộng rãi trong các ứng dụng thời gian thực: Điều khiển hàng không, tự động hoá sản xuất,…

4 Máy tính lớn (MainFrame Computer): Là những máy tính cỡ lớn, có

thể đáp ứng hàng ngàn hoặc hàng triệu người sử dụng Chúng thường được sử dụng trong hệ thống có khối lượng tính toán hoặc giao dịch lớn Ngày nay, các Mainframe thường được sử dụng làm các File Server trên hệ thống mạng hoặc xử lý giao dịch trong ngân hàng

5 Siêu máy tính (Super Computer): Được thiết kế đặc biệt để đạt được

tốc độ tính toán các phép tính dầu phảy động cao nhất Chúng thường có kiến trúc song song, tuy nhiên chỉ hoạt động hiệu quả trong một số lĩnh vực

1.1.2.3 Phân loại theo kiến trúc

1 Kiến trúc Von Neumann

Đặc điểm của kiến trúc Von Neumann:

- Lệnh và dữ liệu được lưu

chung trên cùng một bộ nhớ Do

vậy, hai quá trình đọc lệnh và dữ

liệu không thể xảy ra đồng thời

- Bộ nhớ được đánh địa chỉ

theo từng ngăn nhớ, không phụ

thuộc vào nội dung của nó

- Các lệnh được thực hiện

tuần tự Quá trình thực hiện lệnh

thường diễn ra qua 3 giai đoạn: (1)

Đọc lệnh từ bộ nhớ;

Hình 1.1: Kiến trúc Von

Trang 8

(2) Giải mã và thực hiện lệnh, nếu lệnh có yêu cầu dữ liệu sẽ phải đọc dữ liệu từ bộ nhớ; (3) Ghi kết quả thực hiện lệnh vào bộ nhớ (nếu có)

2 Kiến trúc Havard

Hình 1.2: Kiến trúc Havard

Đặc điểm của kiến trúc Havard:

- Bộ nhớ được chia thành 2 phần riêng biệt: Bộ nhớ chương trình và bộ nhớ dữ liệu

- Hai hệ thống bus riêng để kết nối bộ nhớ chương trình và bộ nhớ dữ liệu với CPU

- Hỗ trợ truy cập nhiều lệnh đồng thời, giảm xung đột truy cập

- Kiến trúc tập lệnh (ISA - Instruction Set Architecture): Là ngôn ngữ của

bộ vi xử lý Nó thể hiện khả năng, năng lực của CPU mà ngôn ngữ lập trình có thể đánh giá và thực hiện trên nó Nó bao gồm: kích thước của từ máy, các loại thanh ghi, các chế độ địa chỉ bộ nhớ, định dạng dữ liệu và tập lệnh cung cấp cho lập trình viên

- Vi kiến trúc (MicroArichtecture): Hay còn gọi là tổ chức máy tính:

Nghiên cứu thiết kế máy tính ở mức cao, chẳng hạn như: Hệ thống nhớ, cấu trúc bus, thiết kế bên trong CPU,…

Trang 9

1.2.1 Kiến trúc tập lệnh

Một tập lệnh (IS - Instruction Set) hoặc kiến trúc tập lệnh (ISA) là một phần của Kiến trúc máy tính, nó liên quan đến việc lập trình, bản chất các kiểu dữ liệu, các chỉ thị lệnh, các thanh ghi, các chế độ địa chỉ, tổ chức bộ nhớ, hệ thống ngắt và

xử lý ngoại lệ và các thao tác vào/ra Kiến trúc một tập lệnh bao gồm:

- Mã lệnh (Opcode): Là tập hợp các chuỗi số nhị phân mã hoá cho các thao tác mà máy tính có thể hiểu và thực hiện được

- Các kiểu dữ liệu (Data Type): Các kiểu dữ liệu mà máy tính có thể xử lý được

1.2.2 Tổ chức của máy tính

Một máy tính tối thiểu phải thực hiện được 5 chức năng sau:

1 Nhập liệu: Đưa chương trình và dữ liệu vào trong máy tính

2 Lưu trữ: Quá trình lưu trữ dữ liệu và lệnh được gọi chung là lưu trữ Dữ

liệu phải được đưa vào hệ thống trước quá trình xử lý, bởi vì tốc độ xử lý của CPU lớn hơn rất nhiều so với tốc độ đáp ứng dữ liệu Bởi vậy, dữ liệu phải được đưa vào

bộ nhớ để quá trình xử lý được nhanh hơn Bộ nhớ chính đảm nhiệm vai trò trên, nó lưu trữ dữ liệu và lệnh và cho phép:

- Chứa toàn bộ dữ liệu và lệnh trước khi thực hiện xử lý

- Lưu trữ kết quả của quá trình xử lý

3 Xử lý: Việc thực hiện các phép toán số học và logic được gọi là quá trình

xử lý CPU thực hiện các lệnh theo chương trình với dữ liệu tương ứng và trả kết quả về bộ nhớ chính

4 Xuất tín hiệu: Là quá trình kết xuất kết quả để có được dữ liệu mong

muốn Dữ liệu luôn luôn được lưu trữ, tổng hợp trước khi cung cấp đến người sử dụng và luôn lưu trữ trong bộ nhớ để phục vụ cho quá trình xử lý kế tiếp

5 Điều khiển: Các chỉ thị để điều khiển hoạt động, kiểm soát toàn bộ hoạt

động của hệ thống bao gồm: Đầu vào, xử lý, đầu ra Nó giám sát từng bước của quá trình xử lý

Hình 1.3: Cấu trúc chung một máy tính điện tử

Trang 10

Để thực hiện tất cả các nhiệm vụ trên, máy tính giao quyền cho các đơn vị chức năng thực hiện các hoạt động tương ứng, cụ thể:

a CPU: Là bộ não của hệ thống máy tính Nó luôn ra các quyết định quan

trọng, điều khiển tính toán và điều khiển toàn bộ các thành phần trong hệ thống Nó bao gồm 4 thành phần: Đơn vị điều khiển (CU-Control Unit), khối số học và logic (ALU-Arthimetic and Logic Unit), các thanh ghi (Registers) và tín hiệu xung đồng

hồ (Clock)

Hình 1.4: Cấu trúc bên trong CPU

- CU: Lấy lệnh từ bộ nhớ, giải mã và thực thi lệnh

- ALU: Thực hiện các phép toán số học và logic trên dữ liệu nhị phân

- Registers: Là nơi lưu trữ tạm thời dữ liệu của CPU Một số thanh ghi như:

bộ đếm chương trình, thanh ghi lệnh có công dụng riêng Một số thanh ghi khác như: thanh ghi tích luỹ (thanh chứa) được sử dụng chung

- Clock: Mạch trong bộ vi xử lý tạo ra một chuỗi các xung điện tử đều nhau

để đồng bộ hoạt động của các thành phần bên trong bộ vi xử lý Thời gian giữa các xung gọi là chu kỳ và số xung phát ra trong một giây gọi là tần số (tốc độ) Thời gian thực hiện một lệnh được đo bằng một số chu kỳ đồng hồ chứ không đo bằng giây Tốc độ xung đồng hồ càng cao, thời gian hoàn thành một lệnh càng ngắn

b Memory: Dùng để lưu trữ dữ liệu, được chia làm 2 loại:

- Bộ nhớ trong: Là loại bộ nhớ được truy cập bởi bộ vi xử lý không thông

qua các kênh vào/ra Nó bao gồm: Rom, Ram, Cache, một số thanh ghi đặc biệt + RAM (Random Access Memory - Bộ nhớ truy cập ngẫu nhiên): Chứa các chương trình và dữ liệu được nạp vào trong quá trình thực hiện Ram có các đặc điểm sau:

 Chứa các chương trình và dữ liệu đang được CPU sử dụng

 Tổ chức thành các ngăn nhớ được đánh địa chỉ

 Ngăn nhớ thường được tổ chức theo byte

 Nội dung của ngăn nhớ có thể thay đổi, song địa chỉ vật lý của ngăn

Trang 11

dụng để lưu trữ một bản sao của lệnh và dữ liệu

trong Ram có khả năng sẽ được dùng lại

- Bộ nhớ ngoài: Lưu trữ dữ liệu, chương

trình ngay cả khi máy không hoạt động như các đĩa

cứng, đĩa quang (CD, DVD), các ổ đĩa Flash Bộ

nhớ ngoài có đặc điểm sau:

 Lưu giữ tài nguyên phần mềm của máy

tính

 Được kết nối với hệ thống dưới dạng các

thiết bị vào-ra

 Dung lượng lớn

 Tốc độ truy xuất thông tin chậm

c Các thiết bị vào ra: Trao đổi thông tin giữa máy tính với thế giới bên

Trang 12

+ Các module vào-ra (IO Modules)

Hình 1.6: Cấu trúc cơ bản hệ thống vào ra

d Hệ thống Bus: Ghép nối các thành phần khác nhau trong một hệ thống

Thông thường bao gồm:

- Data BUS: Vận chuyển các tín hiệu dữ liệu trao đổi giữa các thành phần

- Address BUS: Truyền tín hiệu địa chỉ từ CPU đến bộ nhớ và các thiết bị ngoại vi

- Control BUS: Truyền tín hiệu điều khiển từ CPU đến các thành phần khác, đồng thời truyền tín hiệu trạng thái từ các thành phần khác đến CPU

1.2.3 Mô hình phân lớp của máy tính

Trang 13

- Mức này chưa có khái niệm về chương trình

2 Lớp 1 (Level 1): Mức vi chương trình

- Là lớp ngôn ngữ máy thực sự Có một chương trình hoạt động gọi là vi chương trình

- Nhiệm vụ của chương trình là thông dịch các chỉ thị ở lớp 2

- Mức vi chương trình ở các hãng sản xuất máy tính khác nhau có những điểm giống nhau, tuy nhiên không giống nhau hoàn toàn

- Mỗi máy tính có thể có một hoặc một vài vi chương trình chạy ở mức 1 Mỗi một vi chương trình đảm nhiệm một ngôn ngữ ở mức 2 (L2) và một máy ảo với ngôn ngữ là L2

3 Lớp 2 (Level 2): Mức quy ước máy

- Các lệnh trên máy cấp 2 được thực thi bằng cách thông dịch bởi vi chương trình mà không phải thực thi trực tiếp bằng phần cứng

4 Lớp 3 (Level 3): Phần mềm hệ thống

- Hầu hết các lệnh trong ngôn ngữ của cấp máy này cũng có trong ngôn ngữ cấp 2 và đổng thời có thêm một tập lệnh mới, một tổ chức bộ nhớ khác và khả năng chạy 2 hay nhiều chương trình song song Các lệnh mới thêm vào sẽ được thực thi bằng một trình thông dịch chạy trên cấp 2, gọi là hệ điều hành Nhiều lệnh cấp 3 được thực thi trực tiếp do vi chương trình và một số lệnh khác được thông dịch bằng hệ điều hành (do đó, cấp này là cấp hỗn hợp)

5 Cấp 4 (Level 4): Cấp ngôn ngữ máy

Cấp này cung cấp một phương pháp viết chương trình cho các cấp 1, 2, 3 dễ dàng hơn Các chương trình viết bằng hợp ngữ được dịch sang các ngôn ngữ của cấp 1, 2, 3 và sau đó được thông dịch bằng các máy ảo hay thực tương ứng

6 Cấp 5 (Level 5): Ngôn ngữ lập trình cấp cao

Cấp này bao gồm các ngôn ngữ được thiết kế cho người lập trình nhằm giải quyết một vấn đề cụ thể Các ngôn ngữ này được gọi là cấp cao Một số ngôn ngữ cấp cao như Basic, C, Cobol, Fortran, Lisp, Prolog, Pascal và các ngôn ngữ lập trình hướng đối tượng như C++, J++, … Các chương trình viết bằng các ngôn ngữ này thường được dịch sang cấp 3 hay 4 bằng các trình biên dịch (Compiler)

Trang 14

1.3 Sự phát triển của máy tính

1 Thế hệ thứ nhất (1940-1955): Máy tính dùng đèn điện tử chân không

Hình 1.8: Một số loại đèn điện tử chân không

- ENIAC (Electronic Numerical Intergator And Computer)

+ Máy tính điện tử đầu tiên + Dự án của Bộ Quốc phòng Mỹ + Do John Mauchly và John Presper Eckert, Đại học Pennsylvania thiết kế

+ Bắt đầu từ năm 1943, hoàn thành năm 1946

Hình 1.9: Máy ENIAC (30 tấn, 18000 đèn điện tử, 1500 rơle, 140KWh)

- Máy tính von Neumann

+ Đó là máy tính IAS:

 Princeton Institute for Advanced Studies

 Đƣợc bắt đầu từ 1947, hoàn thành1952

Trang 15

 Do John von Neumann thiết kế

 Được xây dựng theo ý tưởng “chương trình được lưu trữ”

(stored- program concept) của von Neumann/Turing (1945)

Hình 1.10: Von Neumann với máy tính IAS

+ Đặc điểm chính của máy tính IAS

 Bao gồm các thành phần: đơn vị điều khiển, đơn vị số học

và logic (ALU), bộ nhớ chính và các thiết bị vào-ra

 Bộ nhớ chính chứa chương trình và dữ liệu

 Bộ nhớ chính được đánh địa chỉ theo từng ngăn nhớ, không phụ thuộc vào nội dung của nó

 ALU thực hiện các phép toán với số nhị phân

 Đơn vị điều khiển nhận lệnh từ bộ nhớ, giải mã và thực hiện lệnh một cách tuần tự

 Đơn vị điều khiển điều khiển hoạt động của các thiết bị vào-ra

 Trở thành mô hình cơ bản của máy tính

- Các máy tính thương mại ra đời

+ 1947 - Eckert-Mauchly Computer Corporation + UNIVAC I (Universal Automatic Computer) + 1950s - UNIVAC II

 Nhanh hơn

 Bộ nhớ lớn hơn

Trang 16

- Hãng IBM (International Business Machine)

+ 1953 - IBM 701

 Máy tính lưu trữ chương trình đầu tiên của IBM

 Sử dụng cho tính toán khoa học + 1955 – IBM 702

 Các ứng dụng thương mại

2 Thế hệ thứ 2 (1956-1963): Máy tính dùng Transitors

Năm 1948, John Bardeen, Walter Brattain và William Shockley phát minh ra transistor đã làm cuộc cách mạng trong lĩnh vực máy tính Máy tính transistor đầu tiên duợc xây dựng tại MIT, máy TX-0 (Transistorized eXperimental computer 0),

có 16 bit

Hình 1.11: Máy tính dùng Transistor đầu tiên

Năm 1961, máy tính PDP-1 xuất hiện có 4K từ 18 bit và khoảng thời gian một chu kỳ là 5 µs Vài năm sau, PDP-8 ra dời có 12 bit nhưng giá thành rẻ hơn PDP-1 rất nhiều (16.000 USD so với 120.000 USD) PDP-8 có một đổi mới đó là hình thành một bus đơn gọi là omnibus trong đó bus là tập hợp các dây nối song song dùng để kết nối các thành phần của máy tính

Trang 17

Hình 1.12: Máy tính PDP-1 của DEC

Trong khi dó, IBM xây dựng một phiên bản của 709 bằng transistor, đó là máy tính 7094 có thời gian một chu kỳ là 2 µs và bộ nhớ 32K từ 36 bit Năm 1964, công ty CDC giới thiệu máy 6600 có tốc độ nhanh hơn 7094 do bên trong CPU có một có chế độ song song CPU có vài đơn vị thực hiện phép cộng, các đơn vị khác thực hiện phép nhân, chia và tất cả chúng đều hoạt động song song Với một công việc, máy có khả năng thực thi 10 lệnh đồng thời

Hình 1.13: Máy CDC-6600 của công ty CDC

3 Thế hệ thứ 3 (1964-1980): Máy tính dùng vi mạch

Vi mạch (IC – Intergrated Circuit): Gồm nhiều transistor và các phần tử bán

Trang 18

dẫn được tích hợp với nhau trên cùng một chip bán dẫn

Hình 1.14: Mạch thiết kế và vi mạch hoàn chỉnh

- Các mức tích hợp của vi mạch:

+ SSI (Small Scale Integration): Tích hợp mức nhỏ

+ MSI (Medium Scale Integration): Tích hợp mức vừa

+ LSI (Large Scale Integration): Tích hợp mức cao

- Siêu máy tính xuất hiện: CRAY-1, VAX

- Bộ vi xử lý (microprocessor) ra đời: Bộ vi xử lý đầu tiên, Intel 4004 (1971)

4 Thế hệ thứ 4 (1981 – nay): Máy tính dùng vi mạch VLSI

- VLSI (Very Large Scale Integration): Tích hợp mức cực lớn Các sản phẩm của công nghệ VLSI:

+ Bộ vi xử lý (Microprocessor): CPU được chế tạo trên một chip

+ Vi mạch điều khiển tổng hợp (Chipset): một hoặc một vài vi mạch thực hiện được nhiều chức năng điều khiển và nối ghép

+ Bộ nhớ bán dẫn (Semiconductor Memory): ROM, RAM

+ Các bộ vi điều khiển (Microcontroller): máy tính chuyên dụng được chế tạo trên 1 chip

- Xuất hiện máy vi tính IBM - PC với hệ điều hành DOS

5 Thế hệ thứ 5: Máy tính của tương lai

- Máy tính lượng tử: (quantum computer) Loại máy tính này có nguyên

lý làm việc khác khá xa so với máy tính điện tử ngày nay Với máy tính điện tử ngày nay, thì dùng các bit để làm nền tảng cho các xử lý bên trong của mình, mặc

dù có thành tựu rất lớn về mặt tính toán song ở các bài toán phức tạp về yêu cầu chuyên sâu trong các ngành khoa học như thiên văn, dự báo thời tiết, y học, sinh vật, toán học v.v thì ngay cả các siêu máy tính tính toán với tốc độ mạnh nhất hiện nay, tiềm năng cũng không thể bằng máy tính lượng tử, vì các máy tính chúng ta có

ở thời điểm hiện tại chỉ cho ra kết quả là khá hạn chế về các yêu cầu ngành này, các kết quả cho ra có sai số khá cao trong khi cùng lượng thông tin đầu vào như vậy

Trang 19

Máy tính lượng tử dùng nguyên lý Quabit để xử lý thông tin, với các hạt e xử lý thông tin thì khả năng tốc độ xử lý thông tin sẽ trao đổi rất nhanh, không ngừng sẽ tạo ra nhiều hướng kết quả, qua đó con người sẽ có thể thu nhận được nhiều kết quả chính xác hơn, cho các giả thuyết và tính toán của mình, từ đó hiếu sâu thế giới tự nhiên như trong nghiên cứu vũ trụ nghiên cứu sinh học v.v

Theo nhiều nhà khoa học hàng đầu, khả năng ấn tượng về tính toán của loại máy tính này cho kết quả trong thời gian cực ngắn, mà nếu dùng siêu máy tính mạnh nhất ở thời điểm hiện tại cũng phải đợi hàng triệu năm mới có kết quả tương tự

Hình 1.15: Máy tính lượng tử trong tương lai

- Máy tính sẽ đạt cấp độ xử lý thông tin ở cấp độ phân tử nguyên tử

Ngày nay, khi thế hệ vật liệu để làm nên phần cứng xử lý thông tin đã có kích thước cực nhỏ, song vì mật độ thì ngày càng có giới hạn về mặt kích thước và yêu cầu tiêu tốn một lượng lớn năng lượng và các vấn đề còn hạn chế về mặt kĩ thuật đi kèm: yêu cầu phần mềm, các vấn đề vật lý như: nhiệt độ môi trường, nhiệt độ mà vật liệu chạy v.v thì với máy tính sử dụng các loại vật liệu xử lý thông tin trong tương lai, có thể được kì vọng là sẽ giải quyết phần lớn các vấn đề

mà máy tính điện tử hiện tại đang tồn tại như: xử lý thông tin nhanh hơn với cùng kích thước và năng lượng, tiêu ngốn ít hơn trong quá trình xử lý thông tin

- Máy tính sinh học Đây là hướng máy tính hoàn toàn mới, nguyên lý

loại máy tính này là dựa vào các thông tin của các phân tử hữu cơ có khả năng xử

lý thông tin, kết hợp với các phân tử có khả năng “hiểu” và nhập các thông tin đầu vào, với khả năng kết hợp này thì sẽ tạo ra loại máy tính có khả năng học hỏi

Trang 20

như con người là hoàn toàn có thể Có thể phá vỡ việc con người sẽ phải lập trình cho máy tính, lúc này máy tính có khả năng xử lý thông tin và tự đưa ra kết

quả dựa vào các kết quả tính toán các “kinh nghiệm” mà loại máy tính này xử

lý Mới đây nhất, các nhà khoa học máy tính này đã tạo ra thế hệ đầu tiên của loại máy tính này ở châu Âu

1.4 Hiệu năng máy tính

 Hiệu năng (Performance) được tính theo công thức sau:

Trong đó:

- CPU Execution time = Instructions * (Cycles Per Instruction) * (Secs per Cycle) = Instructions * CPI * (Clock rate)

- Clock rate: Đồng hồ xung nhịp của CPU

- CPI (Cycles Per Instruction): Là số xung nhịp cần thiết để thực hiện 1 lệnh, được tính bằng:

+ ET (Execution Time): Thời gian thực hiện lệnh + EI (Execution Instruction): Số lệnh được thực hiện + CR (Clock Rate): Tần số xung nhịp

Ví dụ: Có 4 lệnh A, B, C, D Biết CPIA = 2, CPIB = 3, CPIC = 1, CPID = 4 Biết 1 CPI = 2 (ns)

Thời gian hoàn thành các lệnh theo thứ tự: A -> B -> C -> B -> D: 26 (ns)

 MIPs (Million Instruction Per second): Số triệu lệnh trên giây

Trong đó:

- IF (Instruction Frequency): Tần suất xuất hiện lệnh

- CPI: Số chu kỳ

- : Thời gian một chu kỳ máy

Ví dụ: Cho  = 10 (ns) Dựa vào bảng ta tính được MIPs = 30.845 mips

Trang 21

 Mối quan hệ giữa MPIs và CPI

Trang 22

Hình 1.17: Công thức tính MFLOPS

Trang 23

Bài 2: MÃ HOÁ THÔNG TIN TRONG MÁY TÍNH 2.1 Các hệ đếm cơ bản

Trang 24

2.2 Mã hoá thông tin trong máy tính

2.2.1 Nguyên tắc chung về mã hoá dữ liệu

Mọi dữ liệu được đưa vào máy tính được mã hoá thành số nhị phân

- Các loại dữ liệu:

+ Dữ liệu nhân tạo: do con người quy ước + Dữ liệu tự nhiên: tồn tại khách quan với con người

- Mã hoá dữ liệu nhân tạo :

+ Dữ liệu số nguyên: mã hoá theo một số chuẩn đã quy ước + Dữ liệu số thực: mã hoá bằng số dấu chấm động

+ Dữ liệu phi số (ký tự): mã hoá theo các bộ mã ký tự hiện hành như : ASCII, Unicode,…

Hình 2.1 : Quy trình biến đổi tín hiệu

2.2.2 Nguyên tắc lưu trữ dữ liệu trong máy tính

Bộ nhớ chính tổ chức lưu trữ dữ liệu theo đơn vị byte Độ dài từ dữ liệu có thể chiếm từ 1 đến 4 byte Vì vậy cần phải biết thứ tự lưu trữ của chúng trong bộ nhớ chính đối với các dữ liệu nhiều byte

Có hai cách lưu trữ được đưa ra

- Little Endian (đầu nhỏ): Byte có ý nghĩa thấp hơn được lưu trữ trong bộ nhớ ở vị trí có địa chỉ nhỏ hơn

Ví dụ: Giả thiết cần lưu một một dòng chữ KY THUAT MAY TINH sử dụng mã ASCII 8 bit

- Big Endian (đầu to): Byte có ý nghĩa thấp hơn được lưu trữ trong bộ nhớ ở vị trí có địa chỉ lớn hơn

Tín hiệu vật lý Bộ cảm biến

tín hiệu

Tín hiệu điện liên tục

Trang 25

2.3 Biểu diễn số nguyên

Nguyên tắc chung: Dùng n-chữ số nhị phân, sẽ biểu diễn được 2n số (giá trị)

2.3.1 Số nguyên không dấu

Dùng n bit để biểu diễn số nguyên không dấu

1 Dấu và trị tuyệt đối

Dùng n bit để biểu diễn số nguyên có dấu theo

“Dấu và trị tuyệt đối” Khi đó:

- Bit (n - 1): Bit dấu

- (n - 1) bit còn lại là trị tuyệt đối của

số đó Vd: n = 8 Khi đó tồn tại 2 giá

trị (+0) và (-0) Phạm vi biểu diễn tổng

quát:

- (2n-1-1)  (-0) (+0)  (2n-1-1)

2 Số bù 1: Số bù 1 của A = Đảo các bit của A

Trong cách biểu diễn này, số âm của một số

có được bằng cách thay bit tương ứng bằng bit bù với

nó (nghĩa là: 10, 01) Khi có, có 2 biểu diễn của

Trong 2 cách biểu diễn trên, ta thấy tồn tại 2

giá trị (+0) và (-0) Trong biểu diễn theo số bù 2, chỉ

có một giá trị không (0) duy nhất là một dãy các bit

Trang 26

Để tìm số đối của một số, ta lấy bù 1 của số đó rồi cộng thêm với 1

Vd: n = 8 (bảng bên)

Phạm vi biểu diễn tổng quát: - (2n-1

)  (2n-1-1)

Số bù 2 được dùng để biểu diễn số âm trong máy tính

2.3.3 Các phép toán với số nguyên

Y để được –Y, rồi cộng với X + Bộ trừ số nguyên n bit

- Phép nhân

+ Các tích riêng phần được xác định như sau:

 Nếu bit của số nhân bằng 0 => tích riêng phần bằng 0

 Nếu bit của số nhân bằng 1 => tích riêng phần bằng số bị nhân

 Tích riêng phần tiếp theo được dịch trái một bit so với tích riêng phần trước đó

+ Tích bằng tổng các tích riêng phần + Nhân hai số nguyên n-bit, tích có độ dài 2n bit (không bao giờ tràn)

Trang 27

+ Bộ nhân

- Phép chia

B1 Chuyển đổi số bị chia và số

chia về thành số dương tương ứng

B2 Sử dụng thuật giải chia số

nguyên không dấu để chia hai số dương, kết quả nhận được là thương Q và phần dư R đều là dương B3 Hiệu chỉnh dấu của kết quả như sau:

(Lưu ý: phép đảo dấu thực chất là thực hiện phép lấy bù hai)

+ Bộ chia:

2.3.4 Biểu diễn số nguyên theo mã BCD (Binary Coded Decimal)

- Dùng 4 bit để mã hóa cho các chữ số thập phân từ 0 đến 9:

Trang 28

- s: bit dấu (chiếm 1 bit)

- N: Phần nguyên (chiếm m bit: Bm-1 - B0)

- L: Phần lẻ (chiếm k bit: B-1

- B-k) Giá trị của số thực:

X = (-1)S (Bm-1*2m-1 + Bm-2*2m-2 + …+ B0*20 + B-1*2-1 + … + B-k*2-k) Vd: Cho số thực X = 11011.011b Tính giá trị của X=?

X = (-1)1 (23 + 21 + 20 + 2-2 + 2-3) = - (8 + 2 + 1 + 1/4 + 1/8) = - 11.375d

Chú ý: Biểu diễn số thực dấu phảy tĩnh chỉ dùng trong các bài toán có yêu

cầu về độ chính xác không cao

2.4.2 Số thực dấu phảy động

Nguyên tắc chung: Bất kỳ một số thực nào cũng đƣợc biểu diễn nhƣ sau:

X = M*RETrong đó:

- M (Mantissa): Phần định trị (định giá trị)

- R (Radix): Phần cơ số (Hệ 10: R = 10; Hệ 2: R = 2;…)

Trang 29

- E (Exponent): Phần mũ Khi đó, số thực n bit X đƣợc biểu diễn bằng:

10 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

Trang 30

Do hạn chế về số lượng ký tự của bảng mã ASCII, nên không đủ để mã hoá

ký tự của tất cả các quốc gia trên thế giới Do vậy, hiệp hội Unicode (gồm các công

ty Tin học lớn) ở California đã xây dựng phiên bản đầu tiên The Unicode Standard

để làm bộ mã duy nhất cho tất cả các quốc gia trên thế giới (kể các các quốc gia sử dụng chữ tượng hình phức tạp như: Trung Quốc, Thái,…) Vì vậy, Unicode đã và đang từng bước thay thế các bộ mã truyền thống Chuẩn Unicode không chỉ quy định bộ mã, mà còn cả cách dựng hình, cách mã hóa (sử dụng 1, 2, 3 hay 4 byte để biểu diễn một ký tự), sự tương quan (collation) giữa các ký tự, và nhiều đặc tính khác của các ký tự, hỗ trợ cả những ngôn ngữ từ phải sang trái như tiếng Ả Rập

Đồ hoạ điểm: Biểu diễn hình ảnh bằng 1 ma trận điểm ảnh (Pixel Matrix)

Loại hình ảnh này được gọi là hình ảnh mẫu Bitmap Khái niệm Bitmap chỉ đúng cho loại hình đen trắng hai mầu (1-mầu đen, 0-mầu trắng) Muốn ảnh có chất lượng

Trang 31

cao đòi hỏi nhiều thông tin hơn để biểu diễn độ đậm nhạt (còn gọi là độ xám - Grey Level) Với 1 byte (8 bit) thì một điểm ảnh có thể biểu diễn 256 mầu Lượng thông tin chứa trong 2 byte (16 bit) cho phép biểu diễn 64 Kbyte mầu, ta có chất lượng mầu cao hơn (High Color 16 bit), với 3 byte (24 bit) có thể biểu diễn hết mọi mầu sắc mà mắt người có thể phân biệt được, ta có ảnh mầu thực (True Color 24 bit)

Có nhiều cách để ghi lại thông tin về điểm ảnh trên 1 tệp lưu trữ Cách ghi thông tin trên 1 tệp được gọi là khổ ảnh (Picture Format) Những khổ ảnh đồ hoạ thường gặp là: BMP, PCX, GIF, TIF và JPG

Đồ hoạ Véctơ: Khắc phục những nhược điểm chiếm quá nhiều bộ nhớ của

đồ hoạ điểm Nguyên tắc mã hoá hình ảnh của đồ hoạ Véctơ là chia một hình ảnh thành nhiều đối tượng (Object) cơ bản như: Điểm, đường thẳng, đường đa giác, mặt, khối Máy tính sẽ dựa theo các công thức toán (toán vector) để xây dựng lại hình ảnh từ các đối tượng cơ bản đó Phương pháp này còn được gọi là đồ hoạ hướng đối tượng (Object Oriented Graphics) Mỗi đối tượng và đặc tính của nó có thể được mã hoá bằng 1 lệnh, nên đồ hoạ vector rất ngắn gọn Ưu điểm nữa của đồ hoạ vector là khả năng hiển thị đối tượng 3 chiều (3D-Graphics, Three Dimensional Graphics), trong khi đó đồ hoạ điểm chỉ hiển thị được 2 chiều

2.6.2 Mã hoá ảnh động

Tương tự như cách biểu diễn hình ảnh tĩnh, những đoạn phim hay hình ảnh chuyển động cũng có thể mã hoá theo điểm ảnh hoặc đối tượng Ngoài ra, hình ảnh chuyển động cần thêm 1 tham số biểu diễn nữa đó là thời gian

Biểu diễn ảnh chuyển động bằng điểm ảnh: Do thị giác của con người có độ trễ nhất định, nên chỉ cần 30 ảnh xuất hiện trong 1 giây là ta sẽ có cảm giác hình ảnh chuyển động trơn tru Để hiển thị 1 hình ảnh chuyển động (Video), máy tính phải cung cấp dung lượng bộ nhớ đủ để chứa 30 ảnh tĩnh Cùng với nhu cầu về bộ nhớ thì máy tính và màn hình phải đủ nhanh để xử lý thông tin đồ sộ của 30 ảnh tĩnh trong 1 giây Phần lớn các máy tính hiện nay không đáp ứng nổi yêu cầu đó Để khắc phục hạn chế này người ta phải nén Video số hoá lại Có nhiều phương pháp nén do vậy cũng có nhiều khổ phim (Video Format) như: MPEG, RM, VID, MOV Các thuật toán nén thường tập trung xử lý 2 yếu tố: Nén từng ảnh tĩnh và nén những phần ảnh không thay đổi theo thời gian

Biểu diễn hình ảnh chuyển động bằng phương pháp định hướng đối tượng: Phương pháp này đặc biệt ứng dụng cho việc biểu diễn hình ảnh chuyển động 3 chiều Những ứng dụng hay gặp của phương pháp này là: Trò chơi điện tử ba chiều (3 Game), hiện thực ảo (Virtual Reality) và xảo thuật ảnh cho công nghiệp phim Phương pháp định hướng đối tượng cho hình ảnh chuyển động 3 chiều cũng tương

tự như nguyên tắc tạo hình ảnh tĩnh 3 chiều, các đối tượng được gắn thêm 1 hàm toán mô tả vị trí của nó trong không gian theo biến thời gian (tức là mô tả quỹ đạo

và đặc tính của chuyển động) Phương pháp này đòi hỏi máy tính phải có công suất

Trang 32

tính rất lớn

2.7 Mã hoá âm thanh

Mã hoá âm thanh theo hệ đếm nhị phân: Ngắt âm thanh ra thành nhiều giá trị sau một khoảng thời gian nhất định Sau đó gán cho mỗi giá trị 1 mã nhị phân và lưu trữ chúng tuần tự trong 1 tệp Vì thính giác con người chỉ phân biệt được tần số

âm thanh tối đa là fmax = 20KHz, nên theo quy luật lấy mẫu (sampling theorem) tần số ngắt âm thanh (tần số lấy mẫu) tối thiểu phải lớn gấp đôi tần số tối đa fmax Tần số lấy mẫu âm thanh (Sampling Rate) ngày nay tuân thủ theo chuẩn công nghệ nhạc CD (Compact Disk) là 44 KHz Độ phân giải giá trị âm thanh phụ thuộc vào

số bit biểu diễn nó Nếu mã hoá âm thanh bưàng 8 bit thì sẽ cho 256 giá trị khác nhau Chuẩn nhạc CD dùng 16 bit để mã hoá Những khổ âm thanh (Audio Format) thường gặp là: MGEG, WAVE và RM

Ngoài ra ta cũng có thể mã hoá âm thanh theo phương pháp định hướng đối tượng bằng cách chia âm thanh thành các đối tượng, khi phát lại âm thanh máy tính chỉ cần tổng hợp những đối tượng này theo 1 thuật toán nhất định Kỹ thuật này được dùng cho công nghệ nhận biết tiếng nói (Speech Recognization), theo công nghệ này máy tính sẽ nhập và xuất thông tin dưới dạng tự nhiên nhất đối với con người: âm thanh MIDI (Musical Instruments Digital Interface) là khổ âm thanh đơn giản và quen thuộc nhất của dạng mã hoá hướng đối tượng, chúng có đặc điểm là dung lượng rất nhỏ

Bài 3: Bài tập và thảo luận về chuyển đổi hệ đếm và các phép toán số học, logic

- Chuyển đổi các hệ đếm

- Thực hiện các phép toán số học với hệ nhị phân

- Thực hiện các phép toán logic với hệ nhị phân

Bài 4 : CƠ BẢN VỀ LOGIC SỐ 4.1 Các cổng logic cơ bản

Trong các mạch logic, các trạng thái logic

được biểu diễn bằng các mức điện thế, với quy

ước: Điện thế cao biểu diễn logic “1” và điện thế

thấp biểu diễn logic “0” Trong thực tế, mức “0”

và mức “1” tương ứng với một khoảng điện thế

xác định, có một khoảng chuyển tiếp giữa mức

cao và mức thấp là khoảng không xác định

(ngưỡng logic) Khi điện áp của một tín hiệu rơi

vào khoảng nào, mạch sẽ nhận ra là mức “0” hay

mức “1”

Hình 4.1: Mức logic họ TTL

Trang 33

Cổng logic (Gate) là mạch điện thực hiện

một phép toán logic trên một hoặc nhiều đầu vào

logic và

tạo ra một kết quả logic duy nhất ở đầu ra, với độ trễ gần nhƣ bằng không

1 Cổng NOT (đảo)

Hình 4.2: Ký hiệu và bảng trạng thái của cổng NOT

Là mạch có 1 đầu vào và 1 đầu ra Đầu ra mang giá trị là đảo của đầu vào

2 Cổng AND

Hình 4.3: Ký hiệu và bảng trạng thái của cổng AND

Mạch có từ 2 đến N đầu vào và 1 đầu ra Đầu ra mang giá trị tích các đầu vào

3 Cổng OR

Hình 4.4: Ký hiệu và bảng trạng thái của cổng OR

Mạch có từ 2 đến N đầu vào và 1 đầu ra Đầu ra mang giá trị tổng các đầu vào

4 Cổng NAND

Hình 4.5: Ký hiệu và bảng trạng thái của cổng NAND

Mạch có từ 2 đến N đầu vào và 1 đầu ra Đầu ra mang giá trị đảo của tích các đầu vào

Trang 34

5 Cổng NOR

Hình 4.6: Ký hiệu và bảng trạng thái của cổng NOR

Mạch có từ 2 đến N đầu vào và 1 đầu ra Đầu ra mang giá trị đảo của tổng các đầu vào

6 Cổng X-OR

Hình 4.7: Ký hiệu và bảng trạng thái của cổng XOR

Mạch có từ 2 đến N đầu vào và 1 đầu ra Đầu ra thực hiện phép cộng module 2 các đầu vào

4.2 Đại số Boole

Đại số Boole sử dụng các biến logic và các phép toán logic Biến logic chỉ

có thể nhận giá trị 1 (True) hoặc 0 (False) Do các biến chỉ nhận một trong hai giá trị nên đại số Boole dễ tính hơn đại số thường Ở đại số Boole không có phân số,

số thập phân, khai căn, số ảo, số phức,… mà chỉ thực hiện 3 phép toán logic cơ bản là:

- Phép AND: A AND B => Ký hiệu: A.B

- Phép OR: A OR B => Ký hiệu: A+B

- Phép NOT: NOT A => Ký hiệu: A

Thứ tự ưu tiên các phép toán: NOT => AND =>

OR Các phép toán mở rộng:

Bảng 4.1: Các phép toán logic

Trang 35

Các hằng đẳng thức của đại số Boole:

Bảng 4.2: Các đồng nhất thức của đại số Boole

4.3 Mạch tổ hợp

Mạch tổ hợp là mạch logic mà tín hiệu đầu ra phụ thuộc hoàn toàn vào tín hiệu đầu vào

Một mạch logic tổ hợp bất kỳ nếu cho trước chức năng ta đều có thể thiết kế

và thực hiện được Các bước tiến hành như sau:

1 Từ yêu cầu chức năng ta lập bảng chân lý của hàm

2 Từ bảng chân lý suy ra phương trình logic

3 Tối giản hoá hàm logic

4 Từ hàm logic thiết kế mạch thực hiện bằng các phần tử cơ bản

4.3.1 Mạch cộng (Adder)

1 Mạch cộng bán phần (HA-Half Adder)

Mạch bán tổng có hai lối vào A và B, có 2 lối ra là tổng S (Sum) và lối

ra nhớ chuyển sang hàng sau C0 (Carry Out) Bảng chân lý được mô tả như

sau:

Sơ đồ logic bộ bán tổng (HA)

Hình 4.8: Sơ đồ mạch cộng bán phần

2 Mạch cộng toàn phần (FA-Full Adder)

Bộ tổng toàn phần có 3 lối vào A, B, Ci (Carry-in), hai lối ra là tổng

A

Trang 36

S và lối ra nhớ chuyển sang hàng sau C0 (Carry-out) Bảng chân lý đƣợc

4.3.2 Mạch trừ (Subtractor)

1 Mạch trừ bán phần (HS - Half Subtractor)

Là một mạch logic thực hiện phép trừ hai số nhị phân 1 bit Đầu vào

là A, B và 2 lối ra là hiệu D (Difference) và lối ra mƣợn B0 (Borrow out)

2 Mạch trừ toàn phần (FS - Full Subtractor)

Mạch hiệu toàn phần có 3 lối vào A, B, Bi (Borrow-in: lối vào mƣợn) Hai lối ra là hiệu D và lối ra mƣợn Bout

Trang 37

Sơ đồ logic của mạch hiệu toàn phần FS

- Có 2 loại bộ so sánh: Bộ so sánh đơn giản và Bộ so sánh đầy đủ

HS

I

Trang 38

Ta thấy, n-đường điều khiển dùng để đánh địa chỉ cho N đầu vào Do vậy, sẽ có tối đa 2n đầu vào, nên N <= 2n

Sơ đồ khối của MUX 2n  1 (2n đầu vào, 1 đầu ra) được biểu diễn như sau:

Trang 39

4.3.5 Mạch phân kênh (Demux)

Mạch phân kênh là mạch có 1 đầu vào (X), n đường điều khiển, 1 đầu vào chọn mạch và 2n đầu ra

Tuỳ theo giá trị của n đường điều khiển mà đầu ra thứ i (Yi) sẽ bằng giá trị của đầu vào Nếu gọi n đường điều khiển là An-1An-2 A1A0 thì Yi=X khi (An-1An-2 A1A0)2

= (i)10

Sơ đồ khối của Demux 1đầu vào và 2n đầu ra được biểu diễn như sau:

a Sơ đồ khối ; b DEMUX là 1 chuyển mạch điện tử

- Ký hiệu tương ứng với một đối tượng được gọi là từ mã Ví dụ:

- Chức năng: thực hiện việc mã hóa các tín hiệu tương ứng với các đối tượng thành các từ mã nhị phân

n

X (Đầu vào)

Trang 40

hóa

C D

Dịch bit là một thao tác cơ sở, một số phép toán số học và logic của các bộ vi

xử lý trong máy tính dựa trên thao tác này

Bộ mã

tín hiệu

hóa

tín hiệu

Ngày đăng: 24/10/2017, 15:50

TỪ KHÓA LIÊN QUAN

w