262.微机接口简介&功能&组成

1.简介

  随着计算机的不断发展,单独的计算机已不能满足人们的需要,计算机的扩展能力成为人们认识电脑的一个重要的性能指标,常用的接口有鼠标、键盘接口,打印机接口、扫描仪接口等。

  微机常用接口外观图如下图所示,这是一个微机主板,主要由CPU插槽、PCI扩展槽、内存插槽、BIOS、CMOS电池、CMOS跳线、ATX电源插座、音频接口、AGP扩展槽、USB接口、鼠标接口、键盘接口等组成。

  微机接口(interface)就是微处理器CPU与“外部世界”的连接电路,是CPU与外界进行信息交换的中转站。比如源程序或原始数据要通过接口从输入设备送进去,运算结果要通过接口向输入设备送出来;控制命令通过接口发出去,现场状态通过接口取进来,这些来往信息都要通过接口进行变换与中转。这里所说的“外部世界”是指除CPU本身以外的所有设备或电流,包括存储器、I/O设备、控制设备、测量设备、通信设备、多媒体设备、A/D与D/A转换器等。

  从下图可以看出,各类外部设备(简称外设)和存储器,都是通过各自的接口电路连到微机系统的总线上去的,因此用户可以根据自己的要求,选用不同类型的外设,设置相应的接口电路,把它们挂到系统总线上,构成不同用途、不同规模的应用系统。

2.接口功能

从解决CPU与外设在连接时存在的矛盾的观点来看,一般有如下功能

(1) 对外部设备的寻址功能

在微机系统中一般有多种外设,在同一种外设中也可能有多台,而一个CPU在同一时间里只能与一台外设交换信息,这就要在接口中设置I/O端口地址译码电路对外设进行寻址。CPU将I/O设备的端口地址代码送到接口中的地址译码电路,并经译码电路,把地址代码翻译成I/O设备的选择信号。一般是把高位地址用于接口芯片选择,低位地址进行芯片内部寄存器的选择,以选定需要与自己交换信息的设备端口,只有被选中的设备才能与CPU进行数据交换或通信。没有选中的设备,就不能与CPU交换数据。

(2) 信号转换功能

外部设备的信号电平可能不是TTL电平或CMOS电平,因此需要由接口电路来完成信号电平的转换。

(3) 数据缓冲功能

外部设备的工作速率远远低于CPU的速率,为了提高CPU的工作效率并避免丢失数据,接口中必须有数据缓冲器。接口中设置的数据缓存寄存器作为两者之间的中介,暂存发送方发出的数据,等待接收方在足够的时间内取走数据。借助于数据缓冲器,高速工作地CPU与低速工作地外部设备之间的数据交换可以协调进行。由于数据缓存器直接连在系统数据总线上,因此它应具有三态特性。

(4) 联络功能

接口应当具备握手信号。CPU送来的控制信号、外部设备的工作状况以及应答信号都要通过接口与CPU以“握手联络”的方式进行交互。

(5) 中断管理功能

CPU与外设之间的通信采用中断方式,有利于提高CPU的利用率。

(6) 可编程功能

为了使接口具有较强的灵活性、可扩充性以适应多种工作方式或工作状态,接口应具有可编程的特性。
上述功能并非要求每种接口都具备,对不同用途的微机系统,其接口功能不同,接口电路的复杂程度大不一样。但前3种功能是接口电路中的核心部分,是一般接口都需要的。

3.接口组成

为了实现上述各种功能,接口需要有物理基础——硬件,予以支撑;还要有相应的程序——软件,予以驱动。所以,一个能够实际运行的接口,应由硬件和软件两部分组成。

3.1 硬件电路

接口电路的基本结构如图所示。三总线:地址总线AB、数据总线DB以及控制总线CB与CPU连接。地址总线AB用来提供访问接口电路的地址信息。数据总线DB用来与接口电路交换数据信息、状态信息和命令信息。控制总线CB包括I/O、…、INTR等信号线。

3.2 软件编程

为了增强接口实用范围,半导体厂商一般按照通用型、可编程模式设计制作可编程接口芯片。因此,为了使用接口,需要为CPU编写专门的接口程序。接口程序多由汇编语言编程实现,一般包括初始化接口芯片、确定数据传输方式、控制接口硬件动作等主要功能。

原文地址:https://www.cnblogs.com/ZanderZhao/p/11488592.html

时间: 2024-09-29 02:07:45

262.微机接口简介&功能&组成的相关文章

SQLite3 C/C++ 开发接口简介

SQLite3 C/C++ 开发接口简介 1.0 总览 SQLite3是SQLite一个全新的版本,它虽然是在SQLite 2.8.13的代码基础之上开发的,但是使用了和之前的版本不兼容的数据库格式和API. SQLite3是为了满足以下的需求而开发的: 支持UTF-16编码. 用户自定义的文本排序方法. 可以对BLOBs字段建立索引. 因此为了支持这些特性我改变了数据库的格式,建立了一个与之前版本不兼容的3.0版. 至于其他的兼容性的改变,例如全新的API等等,都将在理论介绍之后向你说明,这样

Linux中的IO复用接口简介(文件监视?)

I/O复用是Linux中的I/O模型之一.所谓I/O复用,指的是进程预先告诉内核,使得内核一旦发现进程指定的一个或多个I/O条件就绪,就通知进程进行处理,从而不会在单个I/O上导致阻塞. 在Linux中,提供了select.poll.epoll三类接口来实现I/O复用. select函数接口 select中主要就是一个select函数,用于监听指定事件的发生,原型如下: 12345 #include<sys/select.h>#include<sys/time.h>int sele

Linux wext和nl80211接口简介

inux无线驱动接口简介 在分析wpa_supplicant软件linux版本下无线驱动事件和无线驱动配置代码之前,先简单介绍下linux无线驱动接口的实现技术和发展情况. Linux无线驱动接口有两种标准接口,wext(Wireless Extensions无线扩展接口)和nl80211接口. 在linux-2.6.18版本之前,linux内核代码中并没有提供无线驱动接口以及无线驱动协议栈.wext是由开发者Jean Tourrilhes (惠普实验室软件工程师)定义的一套供用户层软件访问无线

微机接口中的汇编语言

之前汇编学的不是很好.乘这次微机接口把汇编语言算是补上来了. 下面是这段时间的相对于微机接口中使用的汇编语言的笔记. PTR 在没有寄存器名存在的情况下,用操作符"X ptr"指明内存单元的长度,X在汇编指令中可以为word 或者byte. 例如: mov word ptr ds:[0],1 inc word ptr [bx] move byte ptr ds:[0],1 inc byte ptr [bx] 在没有寄存器参与的内存单元访问指令中,必须要显性地告诉CPU所要访问的单元是字

Perl数据库DBI接口简介【转载】

本文转载自:http://blog.csdn.net/like_zhz/article/details/5441946 ##########################################################################可移植的DBI方法:connect    建立到一个数据库服务器的连接disconnect   断开数据库服务器的连接prepare    准备执行一个SQL语句execute    执行准备好的语句do    准备并执行一个SQL

微机接口技术与汇编语言上机实验报告_汇编初步(intel8086)

实验环境:intel x386 一.要求:将3000H单元开始置数为00H-0FH SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE, SS:SSTACK START: PUSH DS XOR AX, AX MOV DS, AX MOV SI, 3000H MOV CX, 16 AA1: MOV [SI], AL INC SI INC AL LOOP AA1 ;CX == 0? NEXT():AA1

stm32 DCMI接口CROP功能使用

最近使用stm32F407单片机通过摄像头采集图像进行处理,其中使用到DCMI接口CROP功能.但在网上找了很久,有用的资料不多,只能自己研究,特将自己的使用方法记录下来. 1.如何设置CROP. 定义: DCMI_CROPInitTypeDef DCMI_CROPInitStruct; 参数设置: DCMI_CROPInitStruct.DCMI_CaptureCount=Width;                         //capcnt DCMI_CROPInitStruct.D

Springmvc借助SimpleUrlHandlerMapping实现接口开关功能

一.接口开关功能 1.可配置化,依赖配置中心 2.接口访问权限可控 3.springmvc不会扫描到,即不会直接的将接口暴露出去 二.接口开关使用场景 和业务没什么关系,主要方便查询系统中的一些状态信息.比如系统的配置信息,中间件的状态信息.这就需要写一些特定的接口,不能对外直接暴露出去(即不能被springmvc扫描到,不能被swagger扫描到). 三.SimpleUrlHandlerMapping官方解释 SimpleUrlHandlerMapping实现HandlerMapping接口以

anyproxy-rule模块实现接口mock功能

前言 AnyProxy不仅仅可以抓包,还可以拦截请求并修改服务端响应,实现接口mock功能.面试时候经常会问到第三方支付如何测试这种,如果对接的第三方没提供测试环境,那么就需要搭建一个mock服务器,模拟支付接口返回的各种情况. rule模块 AnyProxy提供了二次开发的能力,你可以用js编写自己的规则模块(rule),来自定义网络请求的处理逻辑. 注意:引用规则前,请务必确保文件来源可靠,以免发生安全问题 拦截并修改正在发送的请求 可修改内容包括请求头(request header),请求