Banked Microarchitectures for Complexity-Effective Superscalar Microprocessors

Banked Microarchitectures for Complexity-Effective Superscalar Microprocessors
Banked Microarchitectures for Complexity-Effective Superscalar Microprocessors

Banked Microarchitectures for Complexity-Effective Superscalar

Microprocessors

by

Jessica Hui-Chun Tseng

Submitted to the Department of Electrical Engineering and Computer Science

in partial ful?llment of the requirements for the degree of

Doctor of Philosophy

at the

MASSACHUSETTS INSTITUTE OF TECHNOLOGY

May2006

c Massachusetts Institute of Technology2006.All rights reserved. Author..................................................................................

Department of Electrical Engineering and Computer Science

May5,2006 Certi?ed by..............................................................................

Krste Asanovi′c

Associate Professor

Thesis Supervisor Accepted by.............................................................................

Arthur C.Smith

Chairman,Department Committee on Graduate Students

Banked Microarchitectures for Complexity-Effective Superscalar Microprocessors

by

Jessica Hui-Chun Tseng

Submitted to the Department of Electrical Engineering and Computer Science

on May5,2006,in partial ful?llment of the

requirements for the degree of

Doctor of Philosophy

Abstract

High performance superscalar microarchitectures exploit instruction-level parallelism(ILP)to improve pro-cessor performance by executing instructions out of program order and by speculating on branch instruc-tions.Monolithic centralized structures with global communications,including issue windows and register ?les,are used to buffer in-?ight instructions and to maintain machine state.These structures scale poorly to greater issue widths and deeper pipelines,as they must support simultaneous global accesses from all active instructions.The lack of scalability is exacerbated in future technologies,which have increasing global interconnect delay and a much greater emphasis on reducing both switching and leakage power.However, these fully orthogonal structures are over-engineered for typical use.Banked microarchitectures that con-sist of multiple interleaved banks of fewer ported cells can signi?cantly reduce power,area,and latency of these structures.Although banked structures exhibit a minor performance penalty,signi?cant reductions in delay and power can potentially be used to increase clock rate and lead to more complexity-effective designs.There are two main contributions in this thesis.First,a speculative control scheme is proposed to simplify the complicated control logic that is involved in managing a less-ported banked register?le for high-frequency superscalar processors.Second,the RingScalar architecture,a complexity-effective out-of-order superscalar microarchitecture,based on a ring topology of banked structures,is introduced and evaluated.

Thesis Supervisor:Krste Asanovi′c

Title:Associate Professor

Acknowledgments

First,I like to thank my advisor Krste Asanovi′c for supporting me throughout this work and for his constant advice and encouragement.He is such a great inspiration to any student who is interested in computer architecture research.I treasure my learning experience under his invaluable guidance.I also like to thank Professor Arvind and Professor Srini Devadas for reading my thesis and sitting on my committee.I thank Professor Jacob White for his academic advice in pursuing my graduate study.

Thanks to Christine Chan,Abe McAllister,Godfrey Tan,Jaime Teevan,Doug De Couto,and Mark Hampton for their collaborations in various class projects.Thanks to Ronny Krashinsky and Mike Karcz-marek for TA’ing6.823with me.More thanks to Ken Barr,Chris Batten,Steve Gerding,Jae Lee,Rose Liu,Albert Ma,Heidi Pan,Michael Zhang,Seongmoo Heo,and Emmett Witchel for being the greatest teammates.

I thank Professor Dean Tullsen for providing and helping me with SMTSIM.I thank Xiaowei Shen for being my mentor when I was interning in IBM T.J.Watson Research Center.I thank Victor Zyuban for many interesting discussions in register?le designs.I also thank Joel Emer for sharing his insightful experiences in microprocessor designs.

Thanks to Anne McCarthy for helping me settle in when I?rst joined the group.Thanks to Michael Vezza for providing IT support that saved me a great deal of time.Many thanks to Mary McDavitt for all her administrative help,encouragements,and moral supports during the last few years of my graduate work.

Thanks to all my friends who have made my life in MIT so enjoyable and memorable.Special thanks to Jing Song,Joy Cheng,and Carolyn Lee,for being such wonderful roommates and great friends during my study in MIT.I miss our late night snacks and conversations.

Funding for my graduate work came from a number of sources including NSF graduate fellowship, NSF CAREER award CCR-0093354,DARPA PAC/C award F30602-00-2-0562,CMI project093-P-IRFT, DARPA HPCA/PERCS project W0133890with IBM Corporation,and donations from Intel Corporation and In?neon Technologies.

Last but not less,I like to thank Mom,Dad,David,and Will for their endless love,patience,support, and encouragements.Most of all,thank you for sharing this journey and believing in me.

Contents

1Introduction17

1.1Thesis Overview (18)

2Background and Motivation21

2.1Superscalar Microprocessors (22)

2.1.1In-order vs.Out-of-order (22)

2.1.2Terminology (23)

2.1.3Out-of-order Execution Pipeline (24)

2.1.4Register File (25)

2.1.5Instruction Issue Window (27)

2.2Clustered Architectures (29)

2.3Ef?cient Register File Designs (31)

2.3.1Less-ported Structures (32)

2.3.2Multibanked Microarchitecture (32)

2.3.3Register Caching (33)

2.3.4Asymmetric Structure (34)

2.3.5Content Awareness (34)

2.3.6Other Related Work on Reduced Complexity Register Files (34)

2.4Ef?cient Instruction Issue Window Designs (35)

2.4.1Tag Elimination (35)

2.4.2Banked Con?guration (36)

2.4.3Pipeline Window (37)

2.4.4Scoreboard Scheduler (37)

2.4.5Distributed Scheduler (37)

2.4.6Other Related (37)

2.5Motivation for Banked Microarchitectures (38)

3Methodology41

3.1Simulation framework (41)

3.1.1Front-End Pipeline Stages (42)

3.1.2Dynamic Instruction Scheduling and Execution (43)

3.1.3Commit Stage (43)

3.1.4Memory Instruction Modeling (43)

3.1.5Additional Modi?cations (44)

3.2Benchmarks (45)

3.2.1Dynamic Instruction Pro?ling (45)

3.3Baseline Superscalar Processor (46)

3.4IPC Versus Performance (47)

4A Speculative Control Scheme for Banked Register File49

4.1Register Bank Structure (50)

4.2Physical Characteristics (52)

4.2.1Reg?le Layout (52)

4.2.2Reg?le Area Comparison (53)

4.2.3Reg?le Delay and Energy Evaluation (54)

4.3Control Logic (55)

4.3.1Speculative Pipeline Control Scheme (56)

4.3.2Repairing the Issue Window (57)

4.3.3Conservative Bypass-Skip (58)

4.3.4Read Sharing (59)

4.4Modeling Local Port Contention (60)

4.4.1Port Con?ict Probability(PCP) (60)

4.4.2PCP Analysis (61)

4.5Simulation Results (62)

4.5.1Performance Sensitivity (62)

4.5.2Extending to SMT Architecture (64)

4.5.3In-order Superscalar (66)

4.5.4Correlation Among Accesses (67)

4.6Summary (68)

5RingScalar:A Complexity-Effective Banked Architecture71

5.1RingScalar Microarchitecture (72)

5.1.1Architecture Overview (72)

5.1.2Register Renaming (74)

5.1.3Issue Window (77)

5.1.4Banked Register File (79)

5.1.5Bypass Network (80)

5.2Operand Availability (81)

5.3Evaluation (82)

5.3.1Resource Sizing (83)

5.3.2IPC Comparison (84)

5.3.3Reg?le Read Port Optimization Effectiveness (85)

5.3.4Two-waiting Queues (87)

5.4Complexity Analysis (87)

5.5Summary (90)

6Conclusion and Future Work91

6.1Summary of Contributions (91)

6.2Future Work (92)

List of Figures

2-1IPCs for single-issue in-order,four-way in-order,and four-way out-of-order superscalar ma-chines (23)

2-2Microarchitectures of(a)single-issue in-order,(b)four-way in-order,and(c)four-way out-of-order superscalar machines (24)

2-3Four-way out-of-order superscalar execution pipeline (25)

2-4A3232reg?le structure with two read-port and one write-port (26)

2-5Wakeup circuitry of a scheduler (27)

2-6Latch-based compacting instruction issue queue (28)

2-7Clustered architecture (29)

2-8Ring clustered architecture (31)

2-9Multibanked reg?le structure (33)

2-10Banked issue queue organization (36)

2-11Distributed FIFO structured issue window (38)

2-12Reservation station style issue window design (38)

2-13A multibanked architecture design (39)

3-1Simulation framework (42)

3-2IPCs for the baseline con?guration (47)

4-1An eight-read,four-write port register?le implemented using four two-read,two-write port banks.The register?le interconnect and bypass network are shown as distributed muxes

where each dotted crosspoint represents a potential switched connection (51)

4-2Area comparison of four different6432b reg?les for a quad-issue processor.The clear regions represent the storage cells while the lighter shaded regions represent the overhead

circuitry in each bank.The black shading at the bottom is the area required for the global

bitline column circuitry.The medium-dark shading to the side is the area for address decoders.53 4-3Detail area breakdown of various6432b eight read-port and four write-port register?le designs (54)

4-4Detail breakdown of various6432b eight read-port and four write-port register?le designs in terms of(a)read access delay and(b)read energy consumption (56)

4-5Pipeline structures of processor with uni?ed register?le and processor with multibanked register?le.An additional cycle is added for multibanked register?le for read port arbitra-

tion and muxing.Read bank and write bank con?icts are also detected in this cycle (57)

4-6Pipeline diagram shows repair operation after con?icts are detected.The wakeup tag search path is used to clear ready bits of instructions that had a con?ict causing them to be reissued

two cycles later.Any intervening instruction issues are killed (58)

4-7Conservative bypass skip only avoids read port contentions when the value is bypassed from the immediately preceding cycle (59)

4-8PCP for designs with(a)16banks with varying number of local ports and(b)varying number of banks with two local ports (62)

4-9IPCs for the4-issue pipeline with register?le of size80 (63)

4-10IPCs for(a)1-Thread,(b)2-Thread,and(c)4-thread workloads (66)

4-11Normalized IPC%for a four-way in-order machine with a8B2R2WYY reg?le.Results are normalized to the IPC of a four-way in-order superscalar with a fully-ported reg?le (67)

4-12Con?ict cycle comparison for(a)reads and(b)writes (68)

5-1RingScalar core microarchitecture for a four-issue machine.The reorder buffer and the memory queue are not shown (73)

5-2RingScalar rename and dispatch.The sub and and instructions were already in the window before the new dispatch group (74)

5-3RingScalar register renaming and column dispatch circuitry.Only the circuitry for src1of instruction1and2is shown (76)

5-4Wakeup circuitry (78)

5-5Latch-based compacting instruction queues (79)

5-6Percentage distribution of zero-waiting,one-waiting,and two-waiting instructions (81)

5-7Percentage distribution of last-arrival operand for two-waiting instructions (82)

5-8Average IPC comparison for different reg?le sizes (83)

5-9RingScalar average IPC sensitivity to instruction window size (84)

5-10IPC for1thread workload with a gshare branch predictor (84)

5-11IPC for1thread workload with a perfect branch predictor (85)

5-12Percentage of operands that do not compete for reg?le read port due to conservative bypass-skipped optimization (86)

5-13Percentage of operands that do not compete for reg?le read port due to read-sharing opti-mization (86)

5-14RingScalar architecture for designs with three issue banks per column (88)

List of Tables

3.1SPEC CINT2000benchmarks description (45)

3.2The instruction distribution of SPEC CINT2000benchmarks (46)

3.3Common simulation parameters (47)

4.1Relative area of different6432-bit eight global read port and four global write port register

?le designs.Packing is the number of local bit cells packed per global bit column (54)

4.2Relative delay,energy,and leakage numbers of different6432-bit eight global read port

and four global write port register?le designs (55)

4.3for various values (61)

4.4Normalized IPC%for a quad-issue machine with80physical registers.Con?gurations

are labelled as(#banks)B(#local read ports)R(#local write ports)W(bypass skipped?)(read

sharing?).Results are normalized to the IPC of the baseline case(uni?ed with eight read

and four write ports) (63)

4.5Three workload categories (64)

4.6Heterogeneous multithreaded workloads (65)

5.1Total complexity comparisons.Percentage results are normalized to the baseline

(BL32:80R8W4) (89)

Chapter1

Introduction

Conventional superscalar microarchitectures[Yea96,Kes99]employ monolithic centralized structures with global communications,including issue windows,register?les,and bypass networks.These structures scale poorly to greater issue widths and deeper pipelines,as they must support simultaneous global accesses from all active instructions.They also scale poorly to future technologies,which have increasing global interconnect delay and a much greater emphasis on reducing both switching and leakage power.

To address this problem,decentralized clustered microarchitectures have been proposed[SBV95,KF96, FCJV97,RJSS97,AG05],where microarchitectures are divided into disjoint clusters each containing local instruction windows,register?les,and functional units.However,clustering adds signi?cant control logic complexity to map instructions to clusters and to manage communication of values between clusters.The area and control complexity overhead of clustered architectures cannot be justi?ed by the level of instruction parallelism in current applications[ZK01].

The other approach is to retain a centralized design but increase the ef?ciency of these fully orthogonal structures,which are over-engineered for typical usage.The challenge is in developing ef?cient microar-chitectures with simple pipeline control algorithms that allow smaller,less-orthogonal structures to attain good performance without adding excessive complexity.In this thesis,I argue that a complexity-effective superscalar microprocessor can be realized by constructing centralized structures from multiple interleaved banks of lesser ported cells.

The research conducted for this thesis builds upon earlier work in banked register?les[WB96,CGVT00, BDA01,PPV02],tag-elimination[EA02,KL03],and dependence-based scheduling[KF96,PJS97]and has

two main contributions:

Developing a speculative control scheme for banked register?les for high-frequency superscalar pro-cessors.

Proposing a complexity-effective superscalar architecture that is based on a ring topology of banked microarchitectures.

1.1Thesis Overview

This thesis consists of six chapters.

Chapter2provides background and motivation for this work.It reviews conventional superscalar mi-croprocessors and shows that monolithic centralized structures with global communications such as register ?le,issue windows,and bypass network do not scale effectively with issue widths and deeper pipelines. Previous work in microarchitecture techniques that improve processor ef?ciency are examined,including clustered and banked architectures.

Chapter3describes the methodology and the baseline machine con?guration used for this work.The SMTSIM simulator[Tul96]and the SPEC CINT2000benchmark suite[Hen00]were used to evaluate the performance of various banked microarchitectures and their control logic.Detailed models of register?le, instruction window,and control logic were added to SMTSIM.A baseline machine con?guration is chosen based on a preliminary analysis of the characteristics of the workload.

Chapter4examines energy-ef?cient banked multiported register?le designs.Provided that the number of simultaneous accesses to any bank is less than the number of ports on each bank,a banked reg?le can provide the aggregate bandwidth needs of a superscalar machine with signi?cantly reduced area compared to a fully multiported reg?le.Custom layouts of the reg?le were used to determine the physical characteristic of various banking designs.Earlier banked schemes that required complex control logic with pipeline stalls would have likely limited the cycle time of a high-frequency design.I present a speculative control scheme suitable for a deeply pipelined high-frequency dynamically scheduled processor which avoids pipeline stalls. The performance impact of reg?le port con?ict mis-speculations are evaluated and veri?ed with results from both a cycle-accurate simulator and an analytical model.

Chapter5applies the banking techniques to the instruction issue window and proposes a complexity-effective banked architecture,RingScalar.RingScalar builds an-way superscalar from columns,where each column contains a portion of the instruction window,a bank of the register?le,and an ALU.By exploit-ing dependency-based scheduling to place dependent instructions in adjacent columns,the bypass network is simpli?ed into a ring connect,where a functional unit can only bypass values to the next functional unit. Furthermore,the fact that most instructions have only one outstanding operand when they enter the rename stage is exploited to use only one wakeup tag in the issue queue entries.This approach reduces the cost of broadcasting tag information across the window.

Finally,Chapter6concludes by summarizing the contributions of this thesis and suggesting future work.

Chapter2

Background and Motivation

Out-of-order superscalar microarchitectures provide high single-thread performance,but at a signi?cant cost in terms of area and power.This overhead is due to large centralized structures with global communi-cations,including issue windows,register?les,and bypass networks.This hardware dynamically extracts instruction-level parallelism(ILP)from a single instruction stream but scales poorly to greater issue widths and future technologies[PJS97],which have increasing global interconnect delay and rising leakage power. The advent of chip-scale multiprocessors,which integrate multiple cores per die,provides additional mo-tivation to improve the area and power ef?ciency of each core.In this chapter,I provide an overview of superscalar processors and related microarchitecture techniques.Then,I argue that banked microarchitec-tures merit investigation for their high area and power ef?ciency which results in a more complexity-effective machine.

Section2.1reviews the basic concepts of a superscalar microprocessor and its major components.High performance superscalar designs raise the overall instruction thoughput by issuing multiple instructions in parallel and executing instructions out of program order.The pipeline structure of an out-of-order super-scalar processor is illustrated and terminology is de?ned.I identify the reasons why orthogonal structures such as register?les and instruction issue window are dif?cult to scale.

Section2.2discusses an alternative microarchitecture style,clustering,which aims to support greater issue widths at higher frequencies.Clustered architectures attempt to scale to larger issue widths by splitting the microarchitecture into distributed clusters,each containing a subset of register?le,issue queue,and functional units[SBV95,KF96,FCJV97,RJSS97].However,such schemes require complex control logic

to map instructions to clusters and to handle intercluster dependencies.Also,clustered designs tend to be less area ef?cient as they typically have low utilization of the aggregate resources[RF98].

Section2.3and Section2.4examine previous research in microarchitecture techniques that alleviate the scalability and ef?ciency problem of register?les and instruction windows.Section2.5summarizes the main arguments made in this chapter.

2.1Superscalar Microprocessors

Superscalar microprocessors started appearing in the late1980s and early1990s with the increasing popu-larity of RISC processors and the growing availability of transistor resources.Recent commercial general-propose processors such as Silicon Graphics’s MIPS R10000[Yea96],Digital’s21264Alpha[Kes99], IBM’s Power4[TDF01],Intel’s P6-based processors,the Pentium4[HSU01],as well as AMD’s Athlon[AMD99]and Optero[KMAC03]are all superscalar processors.

2.1.1In-order vs.Out-of-order

Superscalar microarchitectures increase processor performance by issuing multiple instructions simultane-ously to exploit the instruction-level parallelism(ILP)present in applications.A processor that can execute instructions in parallel is an-way machine.The ability to dynamically issue varying numbers of in-structions per clock cycle differentiates the superscalar from the VLIW(very long instruction word)design. In a VLIW design,the compiler schedules instructions statically.An in-order superscalar issues instructions dynamically depending on the dynamic detection of hazards,but always in program order.Out-of-order de-signs issue instructions potentially out of program order.Out-of-order execution machines require additional hardware to manage the precise architectural state of in-?ight instructions,but reduce processor stalls from data dependencies.For example,in an in-order core,the pipeline stalls when the next waiting instruction is the consumer of data that is not yet available.In contrast,out-of-order processors perform future work by issuing other instructions that do not have an outstanding data dependency into the pipeline.

To evaluate the performance bene?ts of superscalar,Figure2-1shows the Instruction-committed-per-cycle(IPC)comparisons of different machines across the SPEC2000CINT benchmark suite by using the methodology described in the next chapter.The simulated data indicates an approximately40%improve-ment from a single-issue to a quad-issue in-order machine and another40%improvement from a four-way

Benchmark

I P C

Figure 2-1:IPCs for single-issue in-order,four-way in-order,and four-way out-of-order superscalar ma-chines.

in-order to a four-way out-of-order superscalar machine.

However,Figure 2-2shows that as the issue width quadruples,demand on the number of register ?le port increases by a factor of four and the bypass network grows substantially.For out-of-order superscalars,the number of register ?le entries must increase to support removal of arti?cial data dependencies by register renaming.An instruction issue window is also required to manage and schedule in-?ight instructions out of program order.These highly centralized and orthogonal structures such as the register ?le,instruction issue window,and bypass network are typically very inef?cient.Therefore,the focus of this thesis is ?nding tech-niques to improve the ef?ciency of high performance out-of-order superscalar processors,while retaining their performance advantages.

2.1.2Terminology

Throughout the thesis,the following terminology will be used to describe dynamically scheduled superscalar execution cores.

Fetch is the act of retrieving instructions from the instruction cache.

Decode is the process of decoding instruction opcodes and operands.

Rename is the act of mapping an instruction’s architectural registers to the physical registers.Renam-ing eliminates arti?cial write-after-read and write-after-write data dependency hazards [HP02].

Figure2-2:Microarchitectures of(a)single-issue in-order,(b)four-way in-order,and(c)four-way out-of-order superscalar machines.

Dispatch is the process of moving the renamed instructions into the scheduling hardware,such as an instruction issue window.

Issue is the process of sending ready instructions from the instruction issue window into the execution units.

Write Back is the act of writing results back to the physical register?le.

Complete is the act of instructions leaving the pipeline after write back.

Commit is the process of retiring completed instructions.The commit logic updates the architectural state and releases resources such as entries in the reorder buffer(ROB),memory queue,and register ?le.

2.1.3Out-of-order Execution Pipeline

A superscalar processor builds on a logically pipelined design,where each pipeline stage is in charge of one of multiple tasks that are needed to complete each instruction.Figure2-3shows an example of a four-way out-of-order superscalar processor execution pipeline structure.Instructions are?rst fetched,decoded,and renamed.Instructions are then dispatched to the issue window and wait until both operands are available. The instruction issue window pipeline stage contains the critical wakeup-select loop[PJS97],where the wakeup phase is used to update operand readiness and the select phase picks a subset of the ready instructions

Figure2-3:Four-way out-of-order superscalar execution pipeline.

to issue.Once a single-cycle instruction is selected,its result tag is immediately broadcast to the instruction issue window in the next wakeup phase to allow back-to-back issue of dependent instructions,even though the selected instruction will not produce its result for several cycles.Before execution,register values are read from either the register?le or the bypass network.After execution in the functional units,the results are written back to the register?le and the instruction is committed in program order to maintain precise architectural state.

2.1.4Register File

The multiported register?le,or reg?le,provides buffered communication of register values between pro-ducer and consumer instructions.With the deeper pipeline speculation and higher instruction-level paral-lelism(ILP)of more aggressive out-of-order superscalar processor designs,both the number of ports and the number of required registers increase.These increased requirements cause the area of a conventional mul-tiported reg?le to grow more than quadratically with issue width[ZK98].The trend towards simultaneous multithreading(SMT)[TEL95]further increases register count as separate architectural registers are needed for each thread.For example,the proposed eight-issue Alpha21464design had a reg?le that occupied over ?ve times the area of the64KB primary data cache[Pre02].

A register?le is composed of SRAM like storage cells,address decoders,wordline drivers,column circuitry,multiplexing circuitry,and interconnects[ZK98,RDK00,SJ01,BPN03].Figure2-4shows a 3232-bit reg?le with two single-ended read ports and one differential write port.The storage array is the main component and the cell size is constrained by the number of wires(bitline and wordlines)and the cross-coupled inverters.We can express the area of a multiported storage cell with single-ended reads and differential writes in a closed form,Equation2.1.is the height of the coupled-inverters layout,is the width of the coupled-inverter layout,is each wire-track space,is the number of read ports,and is the number of write ports.

Figure2-4:A3232reg?le structure with two read-port and one write-port.

(2.1)

Both Figure2-4and Equation2.1indicate that the area of a conventional reg?le increases super-linearly with the number of ports.For this reason,many architects have explored alternative designs for implement-ing a large and fast multiported register?le.

One approach,used in the Alpha21264[Kes99]and21464[Pre02]designs,divides the functional units among two clusters and provides a copy of all registers in each cluster.This design halves the number of read ports required on each copy of the reg?le,but requires the same number of write ports on both reg?les to allow values produced in one cluster to be made available in the second cluster.This approach isn’t used to reduce area but to reduce read latency.

2.1.5Instruction Issue Window

The instruction issue window or issue queue is where instructions wait to be scheduled to an appropriate execution unit.The issue window dynamically schedules instructions into the pipeline to exploit instruction-level parallelism to improve processor performance.Because the critical wakeup-select loop is part of the instruction issue window and its timing usually helps determine a processor’s clock frequency,it is hard to scale this structure to greater issue widths[PJS97].Moreover,studies have shown that the scheduler logic consumes a large portion of a processor’s power(e.g.around18%of total chip power of the Alpha 21264[EA02]).

There are several styles in implementing a dynamic scheduler,but most designs employ a wakeup circuit to check the read-after-write data hazard and a select arbiter to choose instructions for issue.One approach is to store the direct source tags of each waiting instruction and dynamically update its readiness by matching the source tags to the result tags of issued instructions.As shown in Figure2-5,each result tag passes through one of wakeup ports and is driven across the entire window,with each entry having two comparators, leading to a fanout of,where is the number of entries.The direct source-tag scheduler requires wires to broadcast result tags each cycle,where is the number of reg?le entries,and a total of bit-comparators.This scheme is shown to scale well with larger number of registers but not with greater issue width.

Figure2-5:Wakeup circuitry of a scheduler.

Another variation of the direct source-tag approach is to one-hot encode the source tags as in the Alpha 21264[FF98]processor.Each entry of the issue queue contains as many number of bits as the number of physical reg?le entries,.This bit array represents the data dependencies of each instruction and is the logical OR of two one-hot encoded sources.Again,the scheduler updates the readiness of instructions by matching the source?eld to destination registers of issued instructions each cycle.To reduce the number of wakeup ports,result tags(one-hot encoded)of issued instructions are ORed together.Since there is only

to与for的用法和区别

to与for的用法和区别 一般情况下, to后面常接对象; for后面表示原因与目的为多。 Thank you for helping me. Thanks to all of you. to sb.表示对某人有直接影响比如,食物对某人好或者不好就用to; for表示从意义、价值等间接角度来说,例如对某人而言是重要的,就用for. for和to这两个介词,意义丰富,用法复杂。这里仅就它们主要用法进行比较。 1. 表示各种“目的” 1. What do you study English for? 你为什么要学英语? 2. She went to france for holiday. 她到法国度假去了。 3. These books are written for pupils. 这些书是为学生些的。 4. hope for the best, prepare for the worst. 作最好的打算,作最坏的准备。 2.对于 1.She has a liking for painting. 她爱好绘画。 2.She had a natural gift for teaching. 她对教学有天赋/ 3.表示赞成同情,用for不用to. 1. Are you for the idea or against it? 你是支持还是反对这个想法? 2. He expresses sympathy for the common people.. 他表现了对普通老百姓的同情。 3. I felt deeply sorry for my friend who was very ill. 4 for表示因为,由于(常有较活译法) 1 Thank you for coming. 谢谢你来。 2. France is famous for its wines. 法国因酒而出名。 5.当事人对某事的主观看法,对于(某人),对…来说(多和形容词连用)用介词to,不用for.. He said that money was not important to him. 他说钱对他并不重要。 To her it was rather unusual. 对她来说这是相当不寻常的。 They are cruel to animals. 他们对动物很残忍。 6.for和fit, good, bad, useful, suitable 等形容词连用,表示适宜,适合。 Some training will make them fit for the job. 经过一段训练,他们会胜任这项工作的。 Exercises are good for health. 锻炼有益于健康。 Smoking and drinking are bad for health. 抽烟喝酒对健康有害。 You are not suited for the kind of work you are doing. 7. for表示不定式逻辑上的主语,可以用在主语、表语、状语、定语中。 1.It would be best for you to write to him. 2.The simple thing is for him to resign at once. 3.There was nowhere else for me to go. 4.He opened a door and stood aside for her to pass.

of与for的用法以及区别

of与for的用法以及区别 for 表原因、目的 of 表从属关系 介词of的用法 (1)所有关系 this is a picture of a classroom (2)部分关系 a piece of paper a cup of tea a glass of water a bottle of milk what kind of football,American of soccer? (3)描写关系 a man of thirty 三十岁的人 a man of shanghai 上海人 (4)承受动作 the exploitation of man by man.人对人的剥削。 (5)同位关系 It was a cold spring morning in the city of London in England. (6)关于,对于 What do you think of Chinese food? 你觉得中国食品怎么样? 介词 for 的用法小结 1. 表示“当作、作为”。如: I like some bread and milk for breakfast. 我喜欢把面包和牛奶作为早餐。What will we have for supper? 我们晚餐吃什么?

2. 表示理由或原因,意为“因为、由于”。如: Thank you for helping me with my English. 谢谢你帮我学习英语。 Thank you for your last letter. 谢谢你上次的来信。 Thank you for teaching us so well. 感谢你如此尽心地教我们。 3. 表示动作的对象或接受者,意为“给……”、“对…… (而言)”。如: Let me pick it up for you. 让我为你捡起来。 Watching TV too much is bad for your health. 看电视太多有害于你的健康。 4. 表示时间、距离,意为“计、达”。如: I usually do the running for an hour in the morning. 我早晨通常跑步一小时。We will stay there for two days. 我们将在那里逗留两天。 5. 表示去向、目的,意为“向、往、取、买”等。如: let’s go for a walk. 我们出去散步吧。 I came here for my schoolbag.我来这儿取书包。 I paid twenty yuan for the dictionary. 我花了20元买这本词典。 6. 表示所属关系或用途,意为“为、适于……的”。如: It’s time for school. 到上学的时间了。 Here is a letter for you. 这儿有你的一封信。 7. 表示“支持、赞成”。如: Are you for this plan or against it? 你是支持还是反对这个计划? 8. 用于一些固定搭配中。如: Who are you waiting for? 你在等谁? For example, Mr Green is a kind teacher. 比如,格林先生是一位心地善良的老师。

延时子程序计算方法

学习MCS-51单片机,如果用软件延时实现时钟,会接触到如下形式的延时子程序:delay:mov R5,#data1 d1:mov R6,#data2 d2:mov R7,#data3 d3:djnz R7,d3 djnz R6,d2 djnz R5,d1 Ret 其精确延时时间公式:t=(2*R5*R6*R7+3*R5*R6+3*R5+3)*T (“*”表示乘法,T表示一个机器周期的时间)近似延时时间公式:t=2*R5*R6*R7 *T 假如data1,data2,data3分别为50,40,248,并假定单片机晶振为12M,一个机器周期为10-6S,则10分钟后,时钟超前量超过1.11秒,24小时后时钟超前159.876秒(约2分40秒)。这都是data1,data2,data3三个数字造成的,精度比较差,建议C描述。

上表中e=-1的行(共11行)满足(2*R5*R6*R7+3*R5*R6+3*R5+3)=999,999 e=1的行(共2行)满足(2*R5*R6*R7+3*R5*R6+3*R5+3)=1,000,001 假如单片机晶振为12M,一个机器周期为10-6S,若要得到精确的延时一秒的子程序,则可以在之程序的Ret返回指令之前加一个机器周期为1的指令(比如nop指令), data1,data2,data3选择e=-1的行。比如选择第一个e=-1行,则精确的延时一秒的子程序可以写成: delay:mov R5,#167 d1:mov R6,#171 d2:mov R7,#16 d3:djnz R7,d3 djnz R6,d2

djnz R5,d1 nop ;注意不要遗漏这一句 Ret 附: #include"iostReam.h" #include"math.h" int x=1,y=1,z=1,a,b,c,d,e(999989),f(0),g(0),i,j,k; void main() { foR(i=1;i<255;i++) { foR(j=1;j<255;j++) { foR(k=1;k<255;k++) { d=x*y*z*2+3*x*y+3*x+3-1000000; if(d==-1) { e=d;a=x;b=y;c=z; f++; cout<<"e="<

常用介词用法(for to with of)

For的用法 1. 表示“当作、作为”。如: I like some bread and milk for breakfast. 我喜欢把面包和牛奶作为早餐。 What will we have for supper? 我们晚餐吃什么? 2. 表示理由或原因,意为“因为、由于”。如: Thank you for helping me with my English. 谢谢你帮我学习英语。 3. 表示动作的对象或接受者,意为“给……”、“对…… (而言)”。如: Let me pick it up for you. 让我为你捡起来。 Watching TV too much is bad for your health. 看电视太多有害于你的健康。 4. 表示时间、距离,意为“计、达”。如: I usually do the running for an hour in the morning. 我早晨通常跑步一小时。 We will stay there for two days. 我们将在那里逗留两天。 5. 表示去向、目的,意为“向、往、取、买”等。如: Let’s go for a walk. 我们出去散步吧。 I came here for my schoolbag.我来这儿取书包。 I paid twenty yuan for the dictionary. 我花了20元买这本词典。 6. 表示所属关系或用途,意为“为、适于……的”。如: It’s time for school. 到上学的时间了。 Here is a letter for you. 这儿有你的一封信。 7. 表示“支持、赞成”。如: Are you for this plan or against it? 你是支持还是反对这个计划? 8. 用于一些固定搭配中。如: Who are you waiting for? 你在等谁? For example, Mr Green is a kind teacher. 比如,格林先生是一位心地善良的老师。 尽管for 的用法较多,但记住常用的几个就可以了。 to的用法: 一:表示相对,针对 be strange (common, new, familiar, peculiar) to This injection will make you immune to infection. 二:表示对比,比较 1:以-ior结尾的形容词,后接介词to表示比较,如:superior ,inferior,prior,senior,junior 2: 一些本身就含有比较或比拟意思的形容词,如equal,similar,equivalent,analogous A is similar to B in many ways.

of和for的用法

of 1....的,属于 One of the legs of the table is broken. 桌子的一条腿坏了。 Mr.Brown is a friend of mine. 布朗先生是我的朋友。 2.用...做成的;由...制成 The house is of stone. 这房子是石建的。 3.含有...的;装有...的 4....之中的;...的成员 Of all the students in this class,Tom is the best. 在这个班级中,汤姆是最优秀的。 5.(表示同位) He came to New York at the age of ten. 他在十岁时来到纽约。 6.(表示宾格关系) He gave a lecture on the use of solar energy. 他就太阳能的利用作了一场讲演。 7.(表示主格关系) We waited for the arrival of the next bus. 我们等待下一班汽车的到来。

I have the complete works of Shakespeare. 我有莎士比亚全集。 8.来自...的;出自 He was a graduate of the University of Hawaii. 他是夏威夷大学的毕业生。 9.因为 Her son died of hepatitis. 她儿子因患肝炎而死。 10.在...方面 My aunt is hard of hearing. 我姑妈耳朵有点聋。 11.【美】(时间)在...之前 12.(表示具有某种性质) It is a matter of importance. 这是一件重要的事。 For 1.为,为了 They fought for national independence. 他们为民族独立而战。 This letter is for you. 这是你的信。

单片机C延时时间怎样计算

C程序中可使用不同类型的变量来进行延时设计。经实验测试,使用unsigned char类型具有比unsigned int更优化的代码,在使用时 应该使用unsigned char作为延时变量。以某晶振为12MHz的单片 机为例,晶振为12M H z即一个机器周期为1u s。一. 500ms延时子程序 程序: void delay500ms(void) { unsigned char i,j,k; for(i=15;i>0;i--) for(j=202;j>0;j--) for(k=81;k>0;k--); } 计算分析: 程序共有三层循环 一层循环n:R5*2 = 81*2 = 162us DJNZ 2us 二层循环m:R6*(n+3) = 202*165 = 33330us DJNZ 2us + R5赋值 1us = 3us 三层循环: R7*(m+3) = 15*33333 = 499995us DJNZ 2us + R6赋值 1us = 3us

循环外: 5us 子程序调用 2us + 子程序返回2us + R7赋值 1us = 5us 延时总时间 = 三层循环 + 循环外 = 499995+5 = 500000us =500ms 计算公式:延时时间=[(2*R5+3)*R6+3]*R7+5 二. 200ms延时子程序 程序: void delay200ms(void) { unsigned char i,j,k; for(i=5;i>0;i--) for(j=132;j>0;j--) for(k=150;k>0;k--); } 三. 10ms延时子程序 程序: void delay10ms(void) { unsigned char i,j,k; for(i=5;i>0;i--) for(j=4;j>0;j--) for(k=248;k>0;k--);

for和to区别

1.表示各种“目的”,用for (1)What do you study English for 你为什么要学英语? (2)went to france for holiday. 她到法国度假去了。 (3)These books are written for pupils. 这些书是为学生些的。 (4)hope for the best, prepare for the worst. 作最好的打算,作最坏的准备。 2.“对于”用for (1)She has a liking for painting. 她爱好绘画。 (2)She had a natural gift for teaching. 她对教学有天赋/ 3.表示“赞成、同情”,用for (1)Are you for the idea or against it 你是支持还是反对这个想法? (2)He expresses sympathy for the common people.. 他表现了对普通老百姓的同情。 (3)I felt deeply sorry for my friend who was very ill. 4. 表示“因为,由于”(常有较活译法),用for (1)Thank you for coming. 谢谢你来。

(2)France is famous for its wines. 法国因酒而出名。 5.当事人对某事的主观看法,“对于(某人),对…来说”,(多和形容词连用),用介词to,不用for. (1)He said that money was not important to him. 他说钱对他并不重要。 (2)To her it was rather unusual. 对她来说这是相当不寻常的。 (3)They are cruel to animals. 他们对动物很残忍。 6.和fit, good, bad, useful, suitable 等形容词连用,表示“适宜,适合”,用for。(1)Some training will make them fit for the job. 经过一段训练,他们会胜任这项工作的。 (2)Exercises are good for health. 锻炼有益于健康。 (3)Smoking and drinking are bad for health. 抽烟喝酒对健康有害。 (4)You are not suited for the kind of work you are doing. 7. 表示不定式逻辑上的主语,可以用在主语、表语、状语、定语中。 (1)It would be best for you to write to him. (2) The simple thing is for him to resign at once.

51单片机延时时间计算和延时程序设计

一、关于单片机周期的几个概念 ●时钟周期 时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12MHz的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。 在一个时钟周期内,CPU仅完成一个最基本的动作。 ●机器周期 完成一个基本操作所需要的时间称为机器周期。 以51为例,晶振12M,时钟周期(晶振周期)就是(1/12)μs,一个机器周期包 执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。 对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。 1.指令含义 DJNZ:减1条件转移指令 这是一组把减1与条件转移两种功能结合在一起的指令,共2条。 DJNZ Rn,rel ;Rn←(Rn)-1 ;若(Rn)=0,则PC←(PC)+2 ;顺序执行 ;若(Rn)≠0,则PC←(PC)+2+rel,转移到rel所在位置DJNZ direct,rel ;direct←(direct)-1 ;若(direct)= 0,则PC←(PC)+3;顺序执行 ;若(direct)≠0,则PC←(PC)+3+rel,转移到rel 所在位置 2.DJNZ Rn,rel指令详解 例:

MOV R7,#5 DEL:DJNZ R7,DEL; rel在本例中指标号DEL 1.单层循环 由上例可知,当Rn赋值为几,循环就执行几次,上例执行5次,因此本例执行的机器周期个数=1(MOV R7,#5)+2(DJNZ R7,DEL)×5=11,以12MHz的晶振为例,执行时间(延时时间)=机器周期个数×1μs=11μs,当设定立即数为0时,循环程序最多执行256次,即延时时间最多256μs。 2.双层循环 1)格式: DELL:MOV R7,#bb DELL1:MOV R6,#aa DELL2:DJNZ R6,DELL2; rel在本句中指标号DELL2 DJNZ R7,DELL1; rel在本句中指标号DELL1 注意:循环的格式,写错很容易变成死循环,格式中的Rn和标号可随意指定。 2)执行过程

双宾语 to for的用法

1.两者都可以引出间接宾语,但要根据不同的动词分别选用介词to 或for:(1) 在give, pass, hand, lend, send, tell, bring, show, pay, read, return, write, offer, teach, throw 等之后接介词to。 如: 请把那本字典递给我。 正:Please hand me that dictionary. 正:Please hand that dictionary to me. 她去年教我们的音乐。 正:She taught us music last year. 正:She taught music to us last year. (2) 在buy, make, get, order, cook, sing, fetch, play, find, paint, choose,prepare, spare 等之后用介词for 。如: 他为我们唱了首英语歌。 正:He sang us an English song. 正:He sang an English song for us. 请帮我把钥匙找到。 正:Please find me the keys. 正:Please find the keys for me. 能耽搁你几分钟吗(即你能为我抽出几分钟吗)? 正:Can you spare me a few minutes? 正:Can you spare a few minutes for me? 注:有的动词由于搭配和含义的不同,用介词to 或for 都是可能的。如:do sb a favour=do a favour for sb 帮某人的忙 do sb harm=do harm to sb 对某人有害

双宾语tofor的用法

1. 两者都可以引出间接宾语,但要根据不同的动词分别选用介词to 或for: (1) 在give, pass, hand, lend, send, tell, bring, show, pay, read, return, write, offer, teach, throw 等之后接介词to。 如: 请把那本字典递给我。 正:Please hand me that dictionary. 正:Please hand that dictionary to me. 她去年教我们的音乐。 正:She taught us music last year. 正:She taught music to us last year. (2) 在buy, make, get, order, cook, sing, fetch, play, find, paint, choose,prepare, spare 等之后用介词for 。如: 他为我们唱了首英语歌。 正:He sang us an English song. 正:He sang an English song for us. 请帮我把钥匙找到。 正:Please find me the keys. 正:Please find the keys for me. 能耽搁你几分钟吗(即你能为我抽出几分钟吗)? 正:Can you spare me a few minutes? 正:Can you spare a few minutes for me? 注:有的动词由于搭配和含义的不同,用介词to 或for 都是可能的。如: do sb a favou r do a favour for sb 帮某人的忙 do sb harnn= do harm to sb 对某人有害

for和of的用法

for的用法: 1. 表示“当作、作为”。如: I like some bread and milk for breakfast. 我喜欢把面包和牛奶作为早餐。 What will we have for supper? 我们晚餐吃什么? 2. 表示理由或原因,意为“因为、由于”。如: Thank you for helping me with my English. 谢谢你帮我学习英语。 Thank you for your last letter. 谢谢你上次的来信。 Thank you for teaching us so well. 感谢你如此尽心地教我们。 3. 表示动作的对象或接受者,意为“给……”、“对…… (而言)”。如: Let me pick it up for you. 让我为你捡起来。 Watching TV too much is bad for your health. 看电视太多有害于你的健康。 4. 表示时间、距离,意为“计、达”。如:

I usually do the running for an hour in the morning. 我早晨通常跑步一小时。 We will stay there for two days. 我们将在那里逗留两天。 5. 表示去向、目的,意为“向、往、取、买”等。如: Let’s go for a walk. 我们出去散步吧。 I came here for my schoolbag.我来这儿取书包。 I paid twenty yuan for the dictionary. 我花了20元买这本词典。 6. 表示所属关系或用途,意为“为、适于……的”。如: It’s time for school. 到上学的时间了。 Here is a letter for you. 这儿有你的一封信。 7. 表示“支持、赞成”。如: Are you for this plan or against it? 你是支持还是反对这个计划? 8. 用于一些固定搭配中。如:

英语形容词和of for 的用法

加入收藏夹 主题: 介词试题It’s + 形容词 + of sb. to do sth.和It’s + 形容词 + for sb. to do sth.的用法区别。 内容: It's very nice___pictures for me. A.of you to draw B.for you to draw C.for you drawing C.of you drawing 提交人:杨天若时间:1/23/2008 20:5:54 主题:for 与of 的辨别 内容:It's very nice___pictures for me. A.of you to draw B.for you to draw C.for you drawing C.of you drawing 答:选A 解析:该题考查的句型It’s + 形容词+ of sb. to do sth.和It’s +形容词+ for sb. to do sth.的用法区别。 “It’s + 形容词+ to do sth.”中常用of或for引出不定式的行为者,究竟用of sb.还是用for sb.,取决于前面的形容词。 1) 若形容词是描述不定式行为者的性格、品质的,如kind,good,nice,right,wrong,clever,careless,polite,foolish等,用of sb. 例: It’s very kind of you to help me. 你能帮我,真好。 It’s clever of you to work out the maths problem. 你真聪明,解出了这道数学题。 2) 若形容词仅仅是描述事物,不是对不定式行为者的品格进行评价,用for sb.,这类形容词有difficult,easy,hard,important,dangerous,(im)possible等。例: It’s very dangerous for children to cross the busy street. 对孩子们来说,穿过繁忙的街道很危险。 It’s difficult for u s to finish the work. 对我们来说,完成这项工作很困难。 for 与of 的辨别方法: 用介词后面的代词作主语,用介词前边的形容词作表语,造个句子。如果道理上通顺用of,不通则用for. 如: You are nice.(通顺,所以应用of)。 He is hard.(人是困难的,不通,因此应用for.) 由此可知,该题的正确答案应该为A项。 提交人:f7_liyf 时间:1/24/2008 11:18:42

to和for的用法有什么不同(一)

to和for的用法有什么不同(一) 一、引出间接宾语时的区别 两者都可以引出间接宾语,但要根据不同的动词分别选用介词to 或for,具体应注意以下三种情况: 1. 在give, pass, hand, lend, send, tell, bring, show, pay, read, return, write, offer, teach, throw 等之后接介词to。如: 请把那本字典递给我。 正:Please hand me that dictionary. 正:Please hand that dictionary to me. 她去年教我们的音乐。 正:She taught us music last year. 正:She taught music to us last year. 2. 在buy, make, get, order, cook, sing, fetch, play, find, paint, choose, prepare, spare 等之后用介词for 。如: 他为我们唱了首英语歌。 正:He sang us an English song. 正:He sang an English song for us. 请帮我把钥匙找到。 正:Please find me the keys. 正:Please find the keys for me. 能耽搁你几分钟吗(即你能为我抽出几分钟吗)? 正:Can you spare me a few minutes?

正:Can you spare a few minutes for me? 3. 有的动词由于用法和含义不同,用介词to 或for 都是可能的。如: do sb a favor=do a favor for sb 帮某人的忙 do sb harm=do harm to sb 对某人有害 在有的情况下,可能既不用for 也不用to,而用其他的介词。如: play sb a trick=play a trick on sb 作弄某人 请比较: play sb some folk songs=play some folk songs for sb 给某人演奏民歌 有时同一个动词,由于用法不同,所搭配的介词也可能不同,如leave sbsth 这一结构,若表示一般意义的为某人留下某物,则用介词for 引出间接宾语,即说leave sth for sb;若表示某人死后遗留下某物,则用介词to 引出间接宾语,即说leave sth to sb。如: Would you like to leave him a message? / Would you like to leave a message for him? 你要不要给他留个话? Her father left her a large fortune. / Her father left a large fortune to her. 她父亲死后给她留下了一大笔财产。 二、表示目标或方向的区别 两者均可表示目标、目的地、方向等,此时也要根据不同动词分别对待。如: 1. 在come, go, walk, move, fly, ride, drive, march, return 等动词之后通常用介词to 表示目标或目的地。如: He has gone to Shanghai. 他到上海去了。 They walked to a river. 他们走到一条河边。

延时计算

t=n*(分频/f) t:是你所需的延时时间 f:是你的系统时钟(SYSCLK) n:是你所求,用于设计延时函数的 程序如下: void myDelay30s() reentrant { unsigned inti,k; for(i=0;i<4000;i++) /*系统时钟我用的是24.576MHZ,分频是12分频,达到大约10s延时*/ for(k=0;k<8000;k++); } //n=i*k |评论 2012-2-18 20:03 47okey|十四级 debu(g调试),左侧有运行时间。在你要测试的延时子函数外设一断点,全速运行到此断点。记下时间,再单步运行一步,跳到下一步。再看左侧的运行时间,将这时间减去上一个时间,就是延时子函数的延时时间了。不知能不能上图。 追问 在delayms处设置断点,那么对应的汇编语言LCALL是否被执行呢?还有,问问您,在C8051F020单片机中,MOV指令都是多少指令周期呢?我在KEIL下仿真得出的结果,与我通过相应的汇编语言分析的时间,总是差了很多。 回答 C编译时,编译器都要先变成汇编。只想知道延时时间,汇编的你可以不去理会。只要看运行时间就好了。 at8051单片机12m晶振下,机器周期为1us,而c8051 2m晶振下为1us。keil 调试里频率默认为24m,你要设好晶振频率。

|评论 2012-2-23 11:17 kingranran|一级 参考C8051单片机内部计时器的工作模式,选用合适的计时器进行中断,可获得较高精度的延时 |评论 2012-2-29 20:56 衣鱼ccd1000|一级 要是精确延时的话就要用定时器,但定的时间不能太长,长了就要设一个变量累加来实现了; 要是不要求精确的话就用嵌套for函数延时,比较简单,但是程序复杂了就会增添不稳定因素,所以不推荐。 |评论

202X中考英语:to和for的区别与用法.doc

202X中考英语:to和for的区别与用法中考栏目我为考生们整理了“202X中考英语:to和for的区别与用法”,希望能帮到大家,想了解更多考试资讯,本网站的及时更新哦。 202X中考英语:to和for的区别与用法 to和for的区别与用法是什么 一般情况下, to后面常接对象; for后面表示原因与目的为多。 Thank you for helping me. Thanks to all of you. to sb. 表示对某人有直接影响比如,食物对某人好或者不好就用to; for 表示从意义、价值等间接角度来说,例如对某人而言是重要的,就用for. for和to这两个介词,意义丰富,用法复杂。这里仅就它们主要用法进行比较。 1. 表示各种“目的” 1. What do you study English for? 你为什么要学英语? 2. She went to france for holiday. 她到法国度假去了。 3. These books are written for pupils. 这些书是为学生些的。 4. hope for the best, prepare for the worst. 作最好的打算,作最坏的准备。

2.对于 1.She has a liking for painting. 她爱好绘画。 2.She had a natural gift for teaching. 她对教学有天赋。 3.表示赞成同情,用for不用to. 1. Are you for the idea or against it? 你是支持还是反对这个想法? 2. He expresses sympathy for the common people.. 他表现了对普通老百姓的同情。 3. I felt deeply sorry for my friend who was very ill. 4 for表示因为,由于(常有较活译法) 1.Thank you for coming. 谢谢你来。 2. France is famous for its wines. 法国因酒而出名。 5.当事人对某事的主观看法,对于(某人),对?来说(多和形容词连用)用介词to,不用for.. He said that money was not important to him. 他说钱对他并不重要。 To her it was rather unusual. 对她来说这是相当不寻常的。 They are cruel to animals. 他们对动物很残忍。

keep的用法及of 、for sb.句型区别

keep的用法 1. 用作及物动词 ①意为"保存;保留;保持;保守"。如: Could you keep these letters for me, please? 你能替我保存这些信吗? ②意为"遵守;维护"。如: Everyone must keep the rules. 人人必须遵守规章制度。 The teacher is keeping order in class.老师正在课堂上维持秩序。 ③意为"使……保持某种(状态、位置或动作等)"。这时要在keep的宾语后接补足语,构 成复合宾语。其中宾语补足语通常由形容词、副词、介词短语、现在分词和过去分词等充当。如: 例:We should keep our classroom clean and tidy.(形容词) 我们应保持教室整洁干净。 You'd better keep the child away from the fire.(副词)你最好让孩子离火远一点。 The bad weather keeps us inside the house.(介词短语)坏天气使我们不能出门。 Don't keep me waiting for long.(现在分词)别让我等太久。 The other students in the class keep their eyes closed.(过去分词) 班上其他同学都闭着眼睛。 2. 用作连系动词 构成系表结构:keep+表语,意为"保持,继续(处于某种状态)"。其中表语可用形容词、副词、介词短语等充当。如: 例:You must look after yourself and keep healthy.(形容词) 你必须照顾好自己,保持身体健康。 Keep off the grass.(副词)请勿践踏草地。 Traffic in Britain keeps to the left.(介词短语)英国的交通是靠左边行驶的。 注意:一般情况下,keep后接形容词较为多见。再如: She knew she must keep calm.她知道她必须保持镇静。 Please keep silent in class.课堂上请保持安静。 3. ①keep doing sth. 意为"继续干某事",表示不间断地持续干某事,keep后不 能接不定式或表示静止状态的v-ing形式,而必须接延续性的动词。 例:He kept working all day, because he wanted to finish the work on time. 他整天都在不停地工作,因为他想准时完成工作。 Keep passing the ball to each other, and you'll be OK.坚持互相传球,你们就

to of和for的区别

to , of 和for的区别 1.to有到的意思,常常和go,come,get连用引出地点。Go to school , go to the shop , go to the cinema. 常见的短语:the way to 去---的路 On one’s way to 在某人去---的路上 以上的用法中,当地点是副词home,here,there等是to 要去掉。如:get home,the way here To后跟动词原形,是不定式的标志 It is +形容词+(for/of +人+)to do sth.(括号内部分可以省略) It is easy for me to learn English. It is very kind of you to lend me your money. 当形容词表示人的行为特征时用of表示to do的性质时用for Want, hope ,decide, plan , try , fail等词后跟to do I want to join the swimming club. Would like to do I’d like to play basketball with them. It is time to have a break. Next to , close to , from ---to--- 2.for 为,表示目的。 Thank you for Buy sth for sb =buy sb sth It is time for bed. Here is a letter for you.

I will study for our country. 3.of表示所属关系意思是:---的 a map of the world a friend of mine

for和of引导的不定式结构的区别

for和of引导的不定式结构的区别 不定式是一种非谓语动词,不能单独作谓语,因此没有语法上的主语。但由于不定式表示的是动作,在意义上可以有它的主体。我们称之为逻辑主语。 提起不定式逻辑主语,人们首先想到的会是“for+名词(宾格代词)+不定式”的复合结构。如:It is important for us to study English well.然而,有时不定式的逻辑主语须要用“of+名词(代词宾格)”才行。例如:It is kind of you to help me.而不能说:It is kind for you to help me.在选择介词“for”还是“of”时,人们往往总是凭感觉而定。有时受习惯影响,多选介词“for”。于是常出现这样的错误:It was careless for him to lose his way.It is cruel for you to do so.由于众多语法书对这种结构中使用“for”与“of”的区别介绍甚少,一些人对其概念认识尚不完全清楚,笔者认为有必要就这一问题作些探讨与介绍。 一、在句中的语法作用不同 a.不定式for结构在句中可以作主、宾、表、定、状、同位语: 1.It is easy for Tom to do this work.(主语)汤姆做此工作是容易的。 2.I'd like for him to come here.(宾语)我喜欢他来这里。 3.His idea is for us to travel in two different groups.(表语)他的想法是:我们分成两组旅行。 4.Have you heard about the plan for you to go abroad.(定语)你听到让你出国的计划吗? 5.The word is too difficult for him to pronounce well.(状语)这单词太难,他念不准。 6.In the most schools,it is the custom for the headmaster to declare the newterm start.在大部分学校,校长宣布新学期开始是一个习惯。 b.不定式of结构只能在句中作主语。 1.It was careless of him to leave his umbrella in the train.他把伞丢在火车上真是太粗心了。 2.It is awfully good of you to come to see me off at the station.谢谢你来车站送我。 二、逻辑主语的名词有所不同

相关文档
最新文档