Khi làm việc, DMAC cần biết 4 thông tin sau : Địa chỉ vùng nhớ (tăng 1 sau mỗi lần chuyển). Số byte cần chuyển (giảm 1 sau mỗi lần chuyển). Thiết bị xuất nhập. Chiều truyền dữ liệu. DMAC giữ các thông tin trên trong các bộ thanh ghi bên trong. Mỗi kênh DMA có 1 bộ thanh ghi chứa thông tin DMA. CPU phải nạp các thông tin này ra DMAC trong bước chuẩn bị DMA.
Trang 1Chương 1
Nhập môn kiến trúc máy tính
Trang 2ENIAC (1946) 18.000 bóng đèn
Tran-(1955-1965) PDP-1 (1961)
?
(1980-????) 80x86 (1978)
Trang 3Giới thiệu tổng quát một máy tính
(CPU)
Xuất nhập
Bộ nhớ chính
Tuyến địa chỉ Tuyến dữ liệu
Tuyến điều khiển
Tuyến trạng thái
Bộ
xử lý trung tâm
(I/O)
(MEMORY)
Trang 4Mô hình Von-Neumann
Khối điều khiển
Khối số học luận lý (ALU)
Bank 1 Bank 2 Bank 3
Trang 5Mô hình máy tính
Khối điều khiển
Khối số học luận lý (ALU)
CPU
Bank 0 Bank 1 Bank 2 Bank 3
Bộ nhớ chính
I / O I / O I / O I / O I / O
Trang 6Nguyên lý hoạt động
Các thanh ghi (registers)
Bộ nhớ trung tâm (central memory)
Điều khiển đọc/ghi
Thanh ghi dữ liệu
Đọc Ghi
Trang 7Nguyên lý hoạt động (tt.1)
Chương trình (program).
Đơn vị điều khiển (control unit)
Bộ đếm chương trình ( P rogram C ounter)
+1
Địa chỉ câu lệnh
Mã lệnh (opcode)
Địa chỉ toán hạng (operand address)
Câu lệnh
Địa chỉ toán hạng
Thanh ghi lệnh ( I nstruction R egister)
Mạch tuần tự (sequencer)
Trang 8Nguyên lý hoạt động (tt.2)
Đơn vị số học / luận lý (ALU)
Máy tính 3 địa chỉ Dạng lệnh
Kiến trúc Mã lệnh Địa chỉ th1 Địa chỉ th2 Địa chỉ kq
R2
R1
Toán hạng 2 Toán hạng 1
Khối tính toán
Trang 9Nguyên lý hoạt động (tt.3)
Máy tính 1 địa chỉ Dạng lệnh
Kiến trúc Mã lệnh Địa chỉ toán hạng
Khối tính toán
Trang 10C ← Acc
Trang 11Máy giả thiết 1 địa chỉ
Bộ thanh ghi ACC
IR PC
Trang 12Tập lệnh 1 địa chỉ
(địa chỉ 5 bit)
Trang 13(lệnh nhảy điều kiện)
(lệnh dừng)
Trang 14Bài toán
Chương trình tính tổng 2 số nhập từ bàn phím và xuất kết quả ra màn hình :
Trang 173 ALU
4
Trang 18Bước 3 : ghi kết quả.
2 ALU
Trang 19Bài toán kết nối
Vấn đề kết nối (connection problem) có thể được thực hiện qua các dạng khác nhau.
Nối điểm-điểm
D C
D C
Trang 20Mạch điều khiển ngoại vi
Mạch điều khiển ngoại vi (IO controllers) thường dùng các thanh ghi sau :
Thanh ghi điều khiển
Thanh ghi trạng thái
Thanh ghi chọn thiết bị Thanh ghi dữ liệu
Trang 21Kiểm tra trạng thái
Bắt đầu
Kiểm tra bit Ready
công việc I/O
Đ
S
công việc chính
nhập thanh ghi trạng thái
Kiểm tra bit Ready
Yếu tố thời gian (Time out)
Trang 22Ngắt quãng (Interrupt)
Yêu cầu ngắt quãng
Xuất nhập
Cần trao đổi thông tin
CPU
Thiết bị ngoại vi
Chương trình chính
Xuất nhập ngoại vi
Chấp nhận ngắt quãng
Yêu cầu ngắt quãng Chương trình phục vụ ngắt quãng
Trao đổi thông tin
Trang 23Cơ chế DMA (Direct Access Memory)
Hoạt động xuất nhập thông thường (programmed I/O).
Xuất nhập
CPU
Bộ nhớ
Thiết bị ngoại vi
Quá trình chuyển ngoại vi – bộ nhớ
Quá trình chuyển bộ nhớ – ngoại vi
Trang 24Cơ chế DMA
Hoạt động xuất nhập theo DMA
Xuất nhập
CPU
Bộ nhớ
Thiết bị ngoại vi
Byte thông tin nhập
Đọc
Byte thông tin xuất
DMAC chiếm BUS để điều khiển
DMAC
Yêu cầu BUS Nhường BUS
Trang 25Các thông tin cần thiết cho DMAC
Khi làm việc, DMAC cần biết 4 thông tin sau :
Địa chỉ vùng nhớ (tăng 1 sau mỗi lần chuyển).
Số byte cần chuyển (giảm 1 sau mỗi lần chuyển).
Thiết bị xuất nhập.
Chiều truyền dữ liệu.
DMAC giữ các thông tin trên trong các bộ thanh ghi bên trong.
Mỗi kênh DMA có 1 bộ thanh ghi chứa thông tin DMA.
CPU phải nạp các thông tin này ra DMAC trong bước chuẩn bị DMA.
Trang 26Phân loại DMA
Có 2 loại hoạt động DMA được áp dụng trong thực tế :
Hoạt động DMA trong suốt (transparent DMA).
Hoạt động DMA lấy trộm chu kỳ (cycle stealing DAM).
DMA trong suốt được dùng khi hệ thống có Bus riêng cho DMAC Khi đó, hoạt động DMA diễn ra mà không làm gián đoạn hoạt động của CPU, hay nói cách khác là CPU không “thấy” hoạt động DMA trong hệ thống.
DMA lấy trộm chu kỳ ngược lại bắt CPU phải đợi (không làm gì cả) trong khi hoạt động DMA xảy ra và CPU chỉ lấy lại quyền điều khiển Bus sau khi hoạt động DMA chấm dứt.
DMAC thường báo hiệu kết thúc DMA bằng tín hiệu ngắt quãng
Trang 27Đường dữ liệu (Data path)
PC ACC SP 0 +1 -1 A B
chọn A
MAR MBR
4
5 6
7
ALU
Trang 28Bit điều khiển đường dữ liệu
Điều khiển bộ chọn A (1 bit) ( =0 : chốt A; =1 : MBR )
Chọn toán tử cho ALU (2 bit) ( 00 : ADD; 01 : AND; 10 : A; 11 : NOT A )
Điều khiển nạp kết quả vào MBR ( 1 bit ).
Điều khiển nạp dữ liệu vào MAR ( 1 bit ).
Điều khiển đọc dữ liệu từ bộ nhớ vào MBR (1 bit).
Điều khiển ghi dữ liệu từ MBR vào bộ nhớ (1 bit).
Cho phép bus C ( 1 bit ).
Chọn thanh ghi cho bus C ( 3 bit ).
Chọn thanh ghi cho bus B (3 bit).
Chọn thanh ghi cho bus A (3 bit).
Vi lệnh
1
2 3 4 5 6 7 8 9 10
Trang 30Bo mạch chủ
Intel 955X Express Chipset for DDR2 667 SDRAM Memory and Intel Pentium 4 Processor (1066 MHz FSB) PCI Slot CPU
DDR2 SDRAM
Trang 31Xử lý
Phân loại thông tin xử lý
Trang 32Số có dấu Qui ước: chọn bit có trọng số cao nhất (MSB) làm bit dấu
bit dấu = 0 là số dương - bit dấu = 1 là số âm
sử dụng số bù 2 :
MSB
(Most số thứ nhấtSignificant số thứ nhấtBit) LSB
(Least Significant Bit)
Trang 33Số BCD (Binary Coded Decimal)
1 byte chứa 1 số BCD dồn
Số BCD được dùng để tính toán trên số thập phân trong
hệ nhị phân.
Số BCD là số viết theo hệ 16
nhưng giá trị tính theo hệ 10
Số 12 BCD được viết trong hệ 2 là 0001 0010 nhưng có giá trị là 12 thay vì 18 ( 12 16 = 18 10 ).
Phân loại
dồn
13
94 65
Trang 34Chỉnh dạng số BCD sau khi cộng
18 02
+
1A
6
18 09
+
không chỉnh
kết quả không đúng kết quả đúng
Trang 35Số thực - số chấm động
Số chấm động (floating point) dùng để tính toán trên số thực.
m (mantissa) quyết định độ chính xác
B (base)
e (exponent) quyết định độ lớn/nhỏ Một giá trị có thể biểu diễn dưới nhiều dạng
913.551 2
Trang 38Biểu diễn chữ
Chữ cái Chữ số
giải mã
đường truyền
Thông tin
Trang 39Parity - Kiểm tra chẳn lẻ
Bit kiểm tra là
kết quả của
phép kiểm tra
Phát hiện sai khi có 1 số lẻ bit thông tin
bị đổi giá trị trong quá trình truyền
Thực hiện bằng cách gởi kèm
theo thông tin 1 bit kiểm tra
bit kiểm tra
Trang 40Binary Coded Decimal
Extended Binary Coded Decimal Interchange Code
Trang 41Các cấu trúc dữ liệu thông dụng
Bảng (table) hay dãy (array).
Danh sách liên kết (linked list).
Hàng (queue).
Ngăn xếp hay chồng (stack).
Trang 43Danh sách liên kết
Mỗi phần tử có 2 phần :
link : giữ tham khảo đến phần tử kế tiếp trong danh sách.
info : là nội dung chứa trong phần tử.
Danh sách phải có đầu và phần tử cuối.
Cuối Đầu
Trang 44Đuôi hay hàng đợi
Về tổ chức dữ liệu, thường là bảng ( cũng có thể là danh sách liên kết) và có bổ sung thêm 2 con trỏ.
Con trỏ vào – con trỏ ra.
Cuối đệm
Trang 45Ngăn xếp hay chồng
N
H N I
H N I M
H N I M
POP
Đọc bộ nhớ
Tăng SP
Trang 46Hệ điều hành (Operation System)
Về bản chất là chương trình thực hiện các chức năng :
Kiểm soát hoạt động của phần cứng.
Tổ chức và quản lý tài nguyên (resource).
Tài nguyên
Trang 47Nhiều người sử dụng cùng đối thoại
Kỹ thuật phân chia thời gian
Trang 48Chức năng
Quản lý các công việc (jobs) của người sử dụng
Các bước nạp, thực thi, kết thúc, điều phối chương trình.
Đảm bảo tính ưu tiên giữa các công việc.
Cung cấp các hàm IO (thay đổi theo máy).
Cấp phát và giải phóng bộ nhớ.
Bảo vệ vùng bộ nhớ của từng công việc.
Phát hiện và giải quyết các lỗi sai.
Cung cấp các dịch vụ kết toán, nhật ký chạy máy.