计算机组成原理,输入输出系统的问题

逍遥兮容与 2012-02-26 10:49:41
硬件,电路没学过,所以只能从逻辑上稍微理解理解了
在IO的时候,数据是先由外设到IO接口的DBR中,再由DBR到MBR,再到内存的么?
还有确定个事:cpu是不是一定是这么工作的,读内存里面的指令,读一条,执行一条?我们在IO的话也是有指令的(特定的程序),比方说在程序查询方式,就是在执行一段程序?
在看组成原理的时候怎么有时候觉得是硬件电路,有时候是程序方面的东西,像是操作系统方面的东西,纠结!

感觉好像纯粹的硬件是不行的,必须有一些基础的程序(和我们平时写的程序不同,直接在硬件中写好的?那些就是嵌入式么?),放的地址啦,逻辑啦都是确定的(约定的)。比方说中断,中断的话要转入中断处理程序。
...全文
241 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuling_8008 2012-03-23
  • 打赏
  • 举报
回复
希望跟了解计算机软硬件的人多沟通,大家以后互相学习吧。
逍遥兮容与 2012-03-13
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 liuling_8008 的回复:]

引用 20 楼 zzzz3621 的回复:
引用 19 楼 liuling_8008 的回复:

最好的方法是实践吧,最近我准备自己实现一台简单的计算机,达到手机或者pad的功能。可以一起做哦

关键我不是学硬件方面的啊。。完全不懂硬件的,虽然打算把自己那台旧电脑拆了


我也是刚学硬件,想弄明白计算机的工作原理还是需要学一下比较好。首先学数字电路,自己设计一个电路。然后就要自己……
[/Quote]
这个最近眼界稍微开阔了点,其实软件硬件是密不可分的,关于硬件的很多工作都由操作系统做了,操作系统把外设都抽象成文件了。当然看完硬件方面的,表示对计算机怎么工作有了个更好的认识,只能感叹计算机这么学科真是学无止境呀!还有很多路要走~
liuling_8008 2012-03-13
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 zzzz3621 的回复:]
引用 19 楼 liuling_8008 的回复:

最好的方法是实践吧,最近我准备自己实现一台简单的计算机,达到手机或者pad的功能。可以一起做哦

关键我不是学硬件方面的啊。。完全不懂硬件的,虽然打算把自己那台旧电脑拆了
[/Quote]

我也是刚学硬件,想弄明白计算机的工作原理还是需要学一下比较好。首先学数字电路,自己设计一个电路。然后就要自己实现一台简单的计算机,这样肯定能理解计算机是如何工作的。
逍遥兮容与 2012-03-02
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 liuling_8008 的回复:]

最好的方法是实践吧,最近我准备自己实现一台简单的计算机,达到手机或者pad的功能。可以一起做哦
[/Quote]
关键我不是学硬件方面的啊。。完全不懂硬件的,虽然打算把自己那台旧电脑拆了
liuling_8008 2012-03-02
  • 打赏
  • 举报
回复
最好的方法是实践吧,最近我准备自己实现一台简单的计算机,达到手机或者pad的功能。可以一起做哦
liuling_8008 2012-03-01
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zzzz3621 的回复:]

引用 13 楼 liuling_8008 的回复:

虚拟内存是操作系统中的概念,跟硬件没关系

但说到底,操作系统也是程序啊,难道一个程序在运行的时候,操作系统还要不断的去确认程序是否在内存中?
[/Quote]

操作系统是管理所有硬件软件资源,当然需要管理程序。
计算机硬件软件分了很多的层次,每层有每层的责任,要把所有层次都理解确实不容易。
我理解的层次:
模拟电路-门电路-集成电路-计算机硬件—指令—操作系统-应用软件
liuling_8008 2012-03-01
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zzzz3621 的回复:]

引用 13 楼 liuling_8008 的回复:

虚拟内存是操作系统中的概念,跟硬件没关系

但说到底,操作系统也是程序啊,难道一个程序在运行的时候,操作系统还要不断的去确认程序是否在内存中?
[/Quote]

操作系统方面我也不是特别了解,可以看看操作系统原理。
计算机硬件软件分了很多的层次,每层有每层的责任,要把所有层次都理解确实不容易。
我理解的层次:
模拟电路-门电路-集成电路-计算机硬件—指令—操作系统-应用软件
liuling_8008 2012-03-01
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zzzz3621 的回复:]

引用 13 楼 liuling_8008 的回复:

虚拟内存是操作系统中的概念,跟硬件没关系

但说到底,操作系统也是程序啊,难道一个程序在运行的时候,操作系统还要不断的去确认程序是否在内存中?
[/Quote]

操作系统方面我也不是特别了解,可以看看操作系统原理。
计算机硬件软件分了很多的层次,每层有每层的责任,要把所有层次都理解确实不容易。
我理解的层次:
模拟电路-门电路-集成电路-计算机硬件—指令—操作系统-应用软件
逍遥兮容与 2012-03-01
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 liuling_8008 的回复:]

虚拟内存是操作系统中的概念,跟硬件没关系
[/Quote]
但说到底,操作系统也是程序啊,难道一个程序在运行的时候,操作系统还要不断的去确认程序是否在内存中?
逍遥兮容与 2012-03-01
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 liuling_8008 的回复:]

引用 14 楼 zzzz3621 的回复:

引用 13 楼 liuling_8008 的回复:

虚拟内存是操作系统中的概念,跟硬件没关系

但说到底,操作系统也是程序啊,难道一个程序在运行的时候,操作系统还要不断的去确认程序是否在内存中?


操作系统是管理所有硬件软件资源,当然需要管理程序。
计算机硬件软件分了很多的层次,每层有每层的责任,要把所有层次都理解确实不容易。……
[/Quote]
操作系统的哲学原理学过,也基本理解,我现在就是在把它们的关系联系起来,形成一个完整点的体系
看完了组成原理,对计算机是怎么工作的有了一定的了解了,现在的理解就是组织好的指令一条一条执行,就是有些还不是很明白,看来还需要继续深入
liuling_8008 2012-02-29
  • 打赏
  • 举报
回复
虚拟内存是操作系统中的概念,跟硬件没关系
liuling_8008 2012-02-28
  • 打赏
  • 举报
回复
“感觉好像纯粹的硬件是不行的,必须有一些基础的程序(和我们平时写的程序不同,直接在硬件中写好的?那些就是嵌入式么?),放的地址啦,逻辑啦都是确定的(约定的)。比方说中断,中断的话要转入中断处理程序。”

拿中断举个例子,中断分为软件部分和硬件部分。硬件是控制器中的8259A,外设数据准备好之后,会给8259A发送中断信号,cpu执行完一条指令后,会检查8259A上是否有中断发生。存储器中会存储中断向量表,如果有中断发生,会转向中断向量表,中断向量表存储中断服务程序的地址。
软件部分:编写中断服务程序。

汇编中的 8259A中断是硬中断,BIOS、DOS中断是软中断。
硬中断是8259A中断,软中断是用户编写的程序,可以使用INT 调用。软中断实际上跟中断没有关系。
liuling_8008 2012-02-28
  • 打赏
  • 举报
回复
CPU和外设交互的方式有:直接程序查询方式,中断方式、DMA方式、通道方式。
书上都是这么讲的。
键盘、鼠标这些设备相对于cpu来说中断过不会频繁。
显示器是高速设备,应该会频繁。显卡这块比较复杂,最近正在了解这块内容。
逍遥兮容与 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 liuling_8008 的回复:]

“感觉好像纯粹的硬件是不行的,必须有一些基础的程序(和我们平时写的程序不同,直接在硬件中写好的?那些就是嵌入式么?),放的地址啦,逻辑啦都是确定的(约定的)。比方说中断,中断的话要转入中断处理程序。”

拿中断举个例子,中断分为软件部分和硬件部分。硬件是控制器中的8259A,外设数据准备好之后,会给8259A发送中断信号,cpu执行完一条指令后,会检查8259A上是否有中断发生。存储器中会存……
[/Quote]
其实最不明白的就是虚拟内存那块的东西,页表这些概念都还算清楚,就是不明白这个要怎么实现,cache的原理我基本明白了,虚拟内存的哲学原理也明白,这个虚拟内存,页表的替换什么的是硬件实现的么?
逍遥兮容与 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 liuling_8008 的回复:]

CPU和外设交互的方式有:直接程序查询方式,中断方式、DMA方式、通道方式。
书上都是这么讲的。
键盘、鼠标这些设备相对于cpu来说中断过不会频繁。
显示器是高速设备,应该会频繁。显卡这块比较复杂,最近正在了解这块内容。
[/Quote]
没听懂。。。键盘、鼠标这些设备相对于cpu来说中断过不会频繁。
不同的外设的中断服务程序是不一样的吧

存储器中会存储中断向量表,如果有中断发生,会转向中断向量表,中断向量表存储中断服务程序的地址。
软件部分:编写中断服务程序。---------------这个就是操作系统的东西?那么中断向量表在内存的地址必须是固定的吧?
liuling_8008 2012-02-27
  • 打赏
  • 举报
回复
鼠标这些IO设备也是跟CPU交互的,键盘和鼠标产生的信号,也需要cpu进行处理。
外设和cpu通过I/O接口进行处理。比如:IN、OUT指令和中断。这些指令也会存在存储器中,计算机也会把这些指令和其他指令一样的处理。
希望我能说明白。
逍遥兮容与 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 liuling_8008 的回复:]

鼠标这些IO设备也是跟CPU交互的,键盘和鼠标产生的信号,也需要cpu进行处理。
外设和cpu通过I/O接口进行处理。比如:IN、OUT指令和中断。这些指令也会存在存储器中,计算机也会把这些指令和其他指令一样的处理。
希望我能说明白。
[/Quote]
也有中断么?那不是会中断的很频繁?
逍遥兮容与 2012-02-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 buzzerrookie 的回复:]

建议楼主看一下计组的经典著作:《计算机组成与设计:硬件软件接口》,看完一定大有收获。
[/Quote]
LZ学的是软件编程方面的,都是高层的,高级程序设计,没有电路什么的基础,学这些硬件的话,知识量一定很大吧。。。我其实是想更好地理解下计算机的工作过程!看完组成原理,LZ会去看深入理解计算机系统!
buzzerrookie 2012-02-26
  • 打赏
  • 举报
回复
建议楼主看一下计组的经典著作:《计算机组成与设计:硬件软件接口》,看完一定大有收获。
liuling_8008 2012-02-26
  • 打赏
  • 举报
回复
当然也有并行指令的计算机
加载更多回复(3)

6,125

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧