MULTITHREADING AND CHIP MULTIPROCESSORS
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION
The most important measure of performance for a processor is the rate at which it
executes instructions. This can be expressed as
MIPS rate = f
*
IPC
where f is the processor clock frequency, in MHz, and IPC (instructions per cycle)
is the average number of instructions executed per cycle. Accordingly, designers
have pursued the goal of increased performance on two fronts: increasing clock fre-
quency and increasing the number of instructions executed or, more properly, the
number of instructions that complete during a processor cycle. As we have seen in
earlier chapters, designers have increased IPC by using an instruction pipeline and
then by using multiple parallel instruction pipelines in a superscalar architecture.
With pipelined and multiple-pipeline designs, the principal problem is to maximize
the utilization of each pipeline stage. To improve throughput, designers have cre-
ated ever more complex mechanisms, such as executing some instructions in a dif-
ferent order from the way they occur in the instruction stream and beginning execu-
tion of instructions that may never be needed. But as was discussed in Section 2.2,
this approach may be reaching a limit due to complexity and power consumption
concerns.
An alternative approach, which allows for a high degree of instruction-level
parallelism without increasing circuit complexity or power consumption, is called
multithreading. In essence, the instruction stream is divided into several smaller
streams, known as threads, such that the threads can be executed in parallel.
The variety of specific multithreading designs, realized in both commercial
systems and experimental systems, is vast. In this section, we give a brief survey of
the major concepts.
MULTITHREADING AND CHIP MULTIPROCESSORS的更多相关文章
- Implicit and Explicit Multithreading MULTITHREADING AND CHIP MULTIPROCESSORS
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION The concept of thread ...
- openstack-KVM-vCPU
一.KVM基础功能 (1)支持 硬件支持 VT-x VT-d 系统支持 kernel > 3.5 (2)计算机系统的子系统 CPU 处理器 Memory 内存 Storage 存储 Networ ...
- java并发编程基础概念
本次内容主要讲进程和线程.CPU核心数和线程数.CPU时间片轮转机制.上下文切换,并行和并发的基本概念以及并发编程的好处和注意事项,为java并发编程打下扎实基础. 1.什么是进程和线程 1.1 进程 ...
- parallelism
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION Traditionally, the co ...
- Notes of Principles of Parallel Programming - TODO
0.1 TopicNotes of Lin C., Snyder L.. Principles of Parallel Programming. Beijing: China Machine Pres ...
- PatentTips - Register file supporting transactional processing
BACKGROUND OF THE INVENTION With the rise of multi-core, multi-threaded data processing systems, a k ...
- 通过/proc/cpuinfo判断CPU数量、Multicores、Multithreading、Hyper-threading
http://blog.sina.com.cn/s/blog_4a6151550100iowl.html 判断依据:1.具有相同core id的cpu是同一个core的超线程.2.具有相同physic ...
- PatentTips - Sleep state mechanism for virtual multithreading
BACKGROUND The present disclosure relates generally to information processing systems and, more spec ...
- [.net 面向对象程序设计进阶] (18) 多线程(Multithreading)(三) 利用多线程提高程序性能(下)
[.net 面向对象程序设计进阶] (18) 多线程(Multithreading)(二) 利用多线程提高程序性能(下) 本节导读: 上节说了线程同步中使用线程锁和线程通知的方式来处理资源共享问题,这 ...
随机推荐
- Python None comparison: should I use “is” or ==?
Use is when you want to check against an object's identity (e.g. checking to see if var is None). Us ...
- 服务器监控之 Monitorix 初体验
参考: http://www.tecmint.com/monitorix-a-lightweight-system-and-network-monitoring-tool-for-linux/ Cen ...
- grep 正则表达式
本文转自:http://www.jb51.net/article/31207.htm 正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串.vim.grep.aw ...
- ionic扩展插件
1.ionic-timepicker 时间选择 https://github.com/rajeshwarpatlolla/ionic-timepicker 2.ionic-datepicker 日 ...
- Apache与Nginx对客户端请求的处理机制对比
Apache与Nginx对客户端请求的处理机制对比 模块 大致为四个模块,核心模块.HTTP模块.邮件模块,以及第三方模块 核心模块主要包含两类功能的支持,一类是主体功能,包括进程管理,权限管理,错误 ...
- Sublime Text 2报“Decode error - output not utf-8”错误的解决办法
[Decode error - output not utf-8] [Decode error - output not utf-8] 应该怎么办? 这是因为python配置的编译环境的编码不 ...
- HTTP TCP UDP Socket 关系的几个经典图
从上图可以看到,TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层中有TCP协议与UDP协议. ...
- 3.使用OGG进程进行初始化数据
开始初始化数据的时候要满足下面的条件: 1.disable掉目标段表的外键约束 2.disable掉目标端表的触发器 3.删除目标段表的索引,加快初始化速度 4.目标端表结构创建完成 源端配置初始化抽 ...
- MongoDB 安装
年初换了个硬盘空间更大的vps,这下终于可以装MongoDB了. 1 配置包管理系统(yum) 建立 /etc/yum.repos.d/mongodb-org-3.2.repo文件.内容如下: [mo ...
- RabbitMQ 实例
转载地址:http://www.cnblogs.com/yangecnu/p/4227535.html .NET 环境中使用RabbitMQ 在企业应用系统领域,会面对不同系统之间的通信.集成与整 ...