微型计算机组成原理

news2025/1/24 8:05:34

1、微型计算机组成

一个传统微型计算机硬件组成如下图
在这里插入图片描述
CPU通过地址线、数据线和控制信号线组成的本地总线(内部总线)与系统其他部分进行数据通信。

  • 地址线用于提供内存或I/O设备的地址,即指明需要读/写数据的具体位置;
  • 数据线用于在CPU和内存或I/O设备之间提供数据传输的通道;
  • 控制线负责指挥执行的具体读/写操作。

对于80386CPU来说,其内部地址线和数据线都是32根,即32位,因此地址空间范围为2^32字节,从0~4GB。
现代PC机主板主要通过2个超大规模芯片构成的芯片组或芯片集组成:北桥(Northbridge)芯片和南桥(Southbridge)芯片。

  • 北桥芯片用于与CPU、内存和AGP视频接口,这些接口具有很高的传输速率,北桥芯片和可以起存储器控制作用,因此Intel把该芯片标号为MCH(Memory Controller Hub);
  • 南桥芯片用来管理低、中速的组件,例如:PCI总线,IDE硬盘接口、USB端口等,因此南桥芯片被称为ICH(I/O Controller Hub)。
    在这里插入图片描述

2、I/O端口寻址和访问控制方式

CPU通过I/O端口地址来访问I/O接口控制器或控制卡上的数据和状态信息。通常一个I/O控制器包含访问数据的数据端口、输出命令的命令端口和访问控制器执行状态的状态端口。端口地址的设置方法一般有两种:统一编址和独立编址。

  • 统一编址的原理:把I/O控制器中的端口地址归入存储器寻址地址空间范围内。CPU访问一个端口的操作与访问内存的操作一样,也使用访问内存的指令。
  • 独立编址的原理:把I/O控制器和控制卡的的寻址空间单独作为一个独立的地址空间对待,称为I/O地址空间。每个端口有一个I/O地址与之对应,并且使用专门的I/O指令来访问端口。

PC机I/O接口数据传输控制方式一般可采用程序循环查询方式、中断处理方式和DMA传输方式。

  • 循环查询方式是指CPU通过在程序中循环查询指定设备控制器中的状态来判断是否可以与设备进行数据交换。这种方式不需要过多的硬件支持,使用和编程都比较简单,但是特别耗费CPU时间。
  • 中断处理控制方式需要中断控制器的支持,当I/O设备通过中断向CPU提出处理请求时,CPU会暂时中断当前执行的程序转而执行相应的I/O中断处理服务过程。当执行完成后,CPU又会继续执行刚才被中断的程序。在I/O控制器或设备发出中断请求时,CPU通过使用中断向量表(中断描述符表)来寻址相应的中断处理服务过程的入口地址。因此采用中断控制方式时需要首先设置好中断向量表,并编制好相应的中断处理服务过程。
  • 直接存储器访问DMA(Direct Memory Access)方式用于I/O设备与系统内存之间进行批量数据传输,整个过程需要使用专门的DMA控制器来进行而无需CPU插手。

串行通信是指在线路上以比特位数据流一次一个比特进行传输的通信方式。串行通信可分为异步和同步串行通信两种。

  • 异步串行通信以一个字符作为通信单位或一帧进行传输;
  • 同步串行通信以多个字符或字节组成的序列作为一帧数据进行传输。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1163851.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目实战之安装依赖npm install

文章目录 nvmdeasync包和node-gyp报错deasync包node-gyp报错 前言:有些人看着还活着其实已经凉了好一会儿了。 初拿到项目 初拿到项目肯定是先看配置 package.json的啦,看看都需要安装什么依赖,然后 npm install,OK结束 皆大欢喜。 ————…

OMV 介绍及安装

# Time: 2023/11/02 #Author: Xiaohong # 运行电脑: Lenovo X201I (Intel(R) Core(TM) i3 CPU M 370 2.40GHz) # 功能: OMV 介绍及安装 导图 若OMV6 安装Extras 插件失败,可以参考 OMV6 安装Extras 插件失败的解决方法

LV.12 D15 WDT实验 学习笔记

一、WDT简介 WDT Watch Dog Timer即看门狗定时器,其主要作用是当发生软件故障时可产生复位信号使SOC复位,其本质是一个计数器 工作原理 CPU正常工作时,需要定时往看门狗计数器里刷新一个比较大的值,来保证看门狗计数器中的值不会…

网络安全进阶学习第二十一课——XML介绍

文章目录 一、XML简介二、XML文档结构1、XML文档结构包括2、XML树结构 三、XML语法1、声明信息,用于描述xml的版本和编码方式2、XML有且只有一个根元素3、成对标签(即标签必须关闭,html可以不关闭也能运行)4、区分大小写5、不可交…

广汽传祺E9上市,3DCAT实时云渲染助力线上3D高清看车体验

今年5月21日,中国智电新能源旗舰MPV——广汽传祺智电新能源E9在北京人民大会堂举办上市发布会。 发布会现场(图源官方) 为了让更多的消费者能够在线上感受到广汽传祺E9的魅力,3DCAT实时渲染云与大圣科技合作为广汽传祺打造了一款…

文件批量改名:不再担心文件名太长,一键高效重命名文件的方法

在日常生活和工作中,我们经常遇到文件名过长的问题。过长的文件名可能会使得文件难以理解和管理,甚至导致一些错误。本文将介绍云炫文件管理器批量修改文件名的技巧,帮助您快速高效地处理文件名过长的问题。这些技巧可以广泛应用于日常生活和…

LeetCode 143. 重排链表(双指针、快慢指针)

题目: 链接:LeetCode 143. 重排链表 难度:中等 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为: L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → … 不…

基于51单片机摩尔斯电码收发控制系统设计

**单片机设计介绍,1659【毕设课设】基于51单片机摩尔斯电码收发控制系统设计(仿真电路,程序) 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机的摩尔斯电码收发控制系统…

计算机编程入门,编程入门从什么学起,给大家分享一款中文编程工具,零基础学编程

计算机编程入门,编程入门从什么学起,给大家分享一款中文编程工具,零基础学编程 中文编程从入门到精通,中文编程语言开发工具分享 给大家分享一款中文编程工具,零基础轻松学编程,不需英语基础,…

企业上ERP的节奏商讨

导读:目前国内很多企业都选择ERP作为企业信息化系统,ERP系统的实施是一个系统的工程,实施过程中只有遵循正确的步骤,才能达到事半功倍的效果。 企业建立ERP管理系统,不是把现有的手工管理模式照搬到计算机上来操作&…

新体验:万圣节夜晚的新游戏!--愤怒的南瓜

引言: Chatgpt4.0 所带来的冲击似乎远超出人们想象,网页小游戏《愤怒的南瓜》在昨日(万圣节夜晚)火爆了外网。一位名为 Javi Lopez 的外国小哥使用 Midjourney、DALL•E 3 和 GPT-4 打开了一个无限可能的世界,重新演绎…

Centos7快速重置root密码

1、重新启动Centos7,5秒内按向下方向键,使其停留在开机界面,如下图。 2、按’e’键,进入如下界面,移动向下方向键至“linux16”开头的行。然后按向右的方向键移动,找到“ro”并将其修改为“rw init/sysroot/bin/bash…

[动态规划] (三) LeetCode 746. 使用最小花费爬楼梯

[动态规划] (三)LeetCode 746. 使用最小花费爬楼梯(两种解法) 文章目录 [动态规划] (三)LeetCode 746. 使用最小花费爬楼梯(两种解法)题目解析解题思路状态表示状态转移方程初始化和填表顺序返回值状态表示状态转移方程初始化和填表顺序返回值 代码实现总结 746. 使用最小花费爬…

建议没用过这个的社区人都来试试!

不是吧,还有社区工作者不知道这个好东西嘛? 就是这个——写作火火,是写报告、方案一把好手啊 直接输入想写的内容,几秒钟报名啊方案啊就来了,不满意可以重新写,直到你满意为止,真的很方便。 …

mybatisplus查询百万数据慢问题

1.遇到的问题 本次查询的数据是一个视图,查询的数据量也比较大,整体有百万数据。 错误提示: 2023-11-02 07:55:52 [http-nio-11605-exec-3] ERROR c.a.druid.filter.stat.StatFilter [] [] - slow sql 6568 millis. SELECT COUNT(1) FROM (…

乐鑫工程部署过程记录

一、获取编译环境 1、下载sdk,ESP-IDF 这里有很多发布版本,当前我选择的是4.4.6,可以选择下载压缩包,也可以git直接clone 2、配置编译环境 我选择的是Linux Ubuntu下部署开发环境 查看入门指南 选择对应的芯片,我…

C语言 每日一题 11

1.使用函数求素数和 本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。 素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。 函数接口定义: int prime(int p); int PrimeSum(int m, int n); 其中…

pip install python是关于 NMake Makefiles报错

CMake Error at CMakeLists.txt:2 (PROJECT):GeneratorNMake Makefilesdoes not support platform specification, but platformx64was specified. I cant install opencv-python because I dont have vs? - Stack Overflow 这样解决就行。

042-第三代软件开发-485通信

第三代软件开发-485通信 文章目录 第三代软件开发-485通信项目介绍485通信RS-485 简介RS-232 简介RS-485 与 RS-232 区别Qt 中使用485 总结一下 关键字: Qt、 Qml、 QSerialPort、 QSerialPort、 QThread 项目介绍 欢迎来到我们的 QML & C 项目&#xff01…

Keil uv5 MDK使用教程

目录 前言一、开发环境搭建1.1 Keil的安装1.2 其他工具安装1.3 注意事项 二、Keil基本使用2.1 新建工程模板2.1.1 基于固件库(先复制文件夹,后添加文件)2.1.2 基于寄存器2.1.3 基于HAL库 2.2 下载与调试2.3 工程目录下简介2.4 MDK使用技巧 前…