计算机组成原理第五章第五章输入输出系统输入输出系统本章内容系统的工作原理系统的构成接口端口编址数据传输通信协议物理层物理层数据链路层数据链路层总线总线数据传送方式串并单字节突发收发同步方式应用层数据传输控制方式编程模型程序查询中断设备的工作原理键盘显示器打印机等位置码编码键盘字符码非编码键盘步骤轮询多任务寄存器或内存与外设间数据交换现代计算机组成设机组成输入设备输出设备输出设备如何访问设组成软件硬件接口过程控制系统组成软件设置计数内存首址软件的主要任务启动外设将数据输入至主机将运算结果输出给用户

计算机组成原理

第五章第五章 输入输出系统输入输出系统

llxx@ustc.edu.cn

wjluo@ustc.edu.cn

1

iPhone

本章内容

• I/O系统的工作原理

– I/O系统的构成

• 接口,端口,编址

– 数据传输 :“通信协议”

•• 物理层物理层、、数据链路层数据链路层::总线总线

– 数据传送方式:串/并,单字节/突发

– 收发同步方式

• 应用层:数据传输控制方式 (编程模型)

– 程序查询、中断、DMA

• ...

• I/O设备的工作原理

– 键盘、显示器、打印机等

3

I/O :getchar() ,putchar() ?

#include

int main(void)

{ int ch

printf("Input a character:")

/* read a character from /* read a character from

the standard input stream */

ch = getchar()

putchar(ch)

return 0

}

KB :位置码

Keyboard-to-processor connection

编码键盘:字符码 (ASCII )

非编码键盘

Input from Keyboard :步骤

• When a character is typed:

– its ASCII code is placed in bits [7:0] of KBDR

• (bits [15:8] are always zero)

– the “ready bit” (KBSR[15]) is set to 1

– keyboard is disabled -- any typed characters will be

ignored

• When KBDR is read:

– KBSR[15] is set to 0

– keyboard is enabled

• INTR or 轮询

– 多任务 ?

I/O :

CPU寄存器或内存与外设间数据交换

• 现代计算机组成设

– Von Neumann机组成

– Peripheral device

• 输入设备:keyboard、mouse、

touchscreen、scanner、digital

camera、microphone、senser

•• 输出设备输出设备::displayerdisplayer、、printerprinter、、

acuator

• Connectivity:Network

– data rate

• keyboard: 100 bytes/sec

• disk: 30 MB/s

• network: 1 Mb/s - 1 Gb/s

• 如何访问I/O设 ?

– 组成 (软件、硬件、接口 )

– 过程控制

I/O系统组成

• 软件 : 设置计数、内存首址

– 软件的主要任务 : 启动外设

• 将数据输入至主机

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐