Last update: Thu Apr 12 03:37:15 MDT 2012
Top |
Symbols |
Numbers |
Math |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z
BibTeX entry
@Article{Thekkath:1994:HSS,
author = "Chandramohan A. Thekkath and Henry M. Levy",
title = "Hardware and software support for efficient exception
handling",
journal = j-SIGPLAN,
volume = "29",
number = "11",
pages = "110--119",
month = nov,
year = "1994",
CODEN = "SINODQ",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
ISSN-L = "0362-1340",
bibdate = "Sun Dec 14 09:16:57 MST 2003",
bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/toc/",
URL = "http://www.acm.org:80/pubs/citations/proceedings/asplos/195473/p110-thekkath/",
abstract = "Program-synchronous exceptions, for example,
breakpoints, watchpoints, illegal opcodes, and memory
access violations, provide information about {\em
exceptional\/} conditions, interrupting the program and
vectoring to an operating system handler. Over the last
decade, however, programs and run-time systems have
increasingly employed these mechanisms as a performance
optimization to detect {\em normal\/} and {\em
expected\/} conditions. Unfortunately, current
architecture and operating system structures are
designed for exceptional or erroneous conditions, where
performance is of secondary importance, rather than
normal conditions. Consequently, this has limited the
practicality of such hardware-based detection
mechanisms. We propose both hardware and software
structures that permit efficient handling of
synchronous exceptions by user-level code. We
demonstrate a software implementation that reduces
exception-delivery cost by an order-of-magnitude on
current RISC processors, and show the performance
benefits of that mechanism for several example
applications.",
acknowledgement = ack-nhfb,
classification = "C5220 (Computer architecture); C6130 (Data handling
techniques); C6150J (Operating systems)",
conflocation = "San Jose, CA, USA; 4-7 Oct. 1994",
conftitle = "Sixth International Conference on Architectural
Support for Programming Languages and Operating Systems
(ASPLOS-VI)",
corpsource = "Dept. of Comput. Sci. and Eng., Washington Univ.,
Seattle, WA, USA",
keywords = "breakpoints; design; erroneous conditions; exception
delivery cost; exception delivery synchronous
exceptions; exception handling; hardware support;
hardware-based detection mechanisms; illegal opcodes;
languages; measurement; memory access violation;
operating system handler; operating systems
(computers); optimisation; performance; performance
benefits; performance optimization; program-synchronous
exceptions; reduced instruction set computing; RISC
processors; run-time systems; software support;
synchronous exceptions; theory; user-level code;
watchpoints",
sponsororg = "ACM; IEEE Comput. Soc",
subject = "{\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Control structures. {\bf C.0}
Computer Systems Organization, GENERAL, Instruction set
design. {\bf C.4} Computer Systems Organization,
PERFORMANCE OF SYSTEMS.",
treatment = "P Practical",
}
Related entries
- based, hardware-,
29(11)286
- benefit,
25(6)66,
25(6)78,
26(2)35,
27(7)106,
27(7)300,
27(7)322,
28(6)177,
29(6)49,
29(11)2,
29(11)12,
29(11)219,
29(11)308,
30(3)62,
30(4)13,
30(6)13,
30(6)93,
30(6)103,
30(6)151,
30(6)246,
30(6)270,
30(8)189,
30(8)217,
32(1)77,
33(10)134
- both,
25(1)59,
25(6)9,
25(6)85-1,
25(6)102,
25(6)112,
26(4)28,
26(7)83,
27(5)z,
27(7)82,
27(7)94,
27(7)175,
27(7)212,
27(7)249,
27(7)283,
27(10)452,
28(3)231,
28(3)299,
28(3)353,
28(3)357,
28(6)26,
28(6)177,
28(6)248,
28(7)13,
28(7)23,
28(7)54-1,
28(7)112,
28(7)129,
29(6)1,
29(6)290,
29(6)302,
29(8)59,
29(8)119,
29(11)2,
29(11)38,
29(11)61,
29(11)98,
29(11)122,
29(11)171,
29(11)183,
29(11)252,
29(11)274,
29(11)308,
30(2)25,
30(3)50,
30(6)56,
30(6)67,
30(6)93,
30(6)130,
30(6)186,
30(6)205,
30(6)279,
30(8)29,
30(8)68,
30(8)102,
30(8)156,
30(8)179,
30(8)207,
30(11)20-1,
31(5)108
- breakpoint,
25(6)78,
27(9)200,
28(6)1,
28(6)13,
28(6)26
- C.0,
28(6)1,
28(6)197,
29(6)313,
29(11)122,
29(11)196,
29(11)319,
30(3)94,
30(3)111,
31(5)137,
31(5)160,
32(5)358,
33(11)35,
33(11)46,
33(11)105,
33(11)262,
33(11)272
- C.4,
27(9)76,
27(9)111,
27(9)124,
27(9)137,
27(9)162,
27(9)175,
27(9)187,
27(9)248,
27(9)262,
27(9)274,
29(6)186,
29(11)51,
29(11)61,
29(11)98,
29(11)122,
29(11)183,
29(11)219,
29(11)232,
29(11)242,
29(11)252,
29(11)274,
29(11)308,
29(11)319,
29(11)328,
30(11)20-1,
30(11)31,
30(11)60,
30(11)70,
30(11)79,
31(9)2-1,
31(9)138,
31(9)160,
31(9)258,
31(9)268,
33(11)71,
33(11)92,
33(11)105,
33(11)170,
33(11)181,
33(11)193,
33(11)205,
33(11)228,
33(11)240,
33(11)272,
33(11)283,
33(11)295
- C5220,
26(4)28,
26(4)290,
26(6)219,
29(6)186,
29(11)98
- C6130,
17(9)18,
28(7)33,
29(2)13,
29(3)23,
29(5)31,
29(9)64,
29(10)191,
29(10)388,
29(11)208,
30(8)80-1,
30(8)112,
30(11)50,
30(11)79
- C6150J,
26(6)219,
28(6)100,
28(6)177,
28(6)187,
28(6)207-1,
28(6)217,
29(3)33,
29(9)140,
29(10)341,
29(11)12,
29(11)38,
29(11)98,
29(11)122,
29(11)132-1,
29(11)145,
29(11)158,
29(11)171,
29(11)274,
29(11)308,
30(8)11,
30(11)1,
30(11)7,
30(11)60
- condition,
25(6)78,
25(6)165,
28(6)1,
28(6)46,
29(11)25
- Consequently,
27(9)223,
29(8)1,
30(8)207
- cost,
25(6)66,
26(4)28,
26(12)26,
27(7)188-1,
27(7)300,
27(7)311,
27(9)262,
28(6)217,
28(6)268,
28(7)218,
29(6)61,
29(6)73,
29(9)135,
29(10)324,
29(10)341,
29(11)51,
29(11)61,
29(11)76-1,
29(11)86,
29(11)98,
29(11)158,
29(11)242,
29(11)252,
29(11)263,
29(11)274,
29(11)319,
29(12)66,
30(3)35,
30(3)50,
30(6)93,
30(6)103,
30(6)301,
30(8)189,
31(6)92,
31(10)306,
32(5)320,
32(5)320-1,
32(8)292,
32(10)342,
32(10)342-1,
33(7)51,
33(7)67,
34(7)20
- current,
25(4)20,
25(6)102,
27(4)51,
27(7)1,
27(7)32,
27(7)44,
27(7)162,
27(7)331,
27(12)29,
28(3)271,
28(3)365,
28(6)227,
28(7)92,
28(7)102,
28(7)239,
29(6)186,
29(6)278,
29(8)35,
29(11)2,
29(11)308,
30(6)218,
33(11)252
- decade,
29(6)230,
29(11)252
- delivery,
29(10)205,
29(11)51
- demonstrate,
25(10)237,
25(12)85,
27(7)68,
27(7)152,
27(7)200,
27(7)249,
27(9)285,
28(6)217,
28(7)44,
28(7)64,
28(7)112,
28(7)208,
28(7)239,
29(6)85,
29(6)218,
29(11)2,
29(11)25,
29(11)76-1,
29(11)145,
29(11)252,
30(3)50,
30(3)71,
30(6)1,
30(6)13,
30(6)196,
30(8)29,
30(8)102,
30(8)134,
30(11)70,
33(7)19,
33(7)51
- designed,
25(6)78,
27(7)1,
27(7)12,
27(7)44,
28(3)353,
28(7)64,
29(6)36,
29(6)206,
29(8)22,
29(8)46,
29(8)74,
29(11)2,
29(11)86,
29(11)252,
29(11)263,
30(3)119,
30(11)70,
30(11)117
- detect,
25(6)272,
27(7)1,
27(9)238,
29(6)290,
29(8)59,
29(11)158,
29(11)208,
29(11)286,
30(6)218,
33(7)27
- detection,
25(1)59,
25(3)1,
25(6)337,
26(4)235,
26(7)133,
26(8)121,
26(12)97,
26(12)167,
27(7)162,
28(6)13,
28(12)107,
28(12)107-1,
28(12)129,
28(12)129-1,
29(6)266,
29(6)290,
29(7)43,
29(11)158,
29(11)208,
30(6)291,
31(5)44
- employed,
25(6)1,
27(7)331,
29(6)206,
30(4)13,
30(8)144,
33(7)67
- erroneous,
25(4)73
- example,
25(4)20,
25(4)59,
25(4)73,
25(6)1,
25(6)9,
25(6)16,
25(6)78,
25(6)137,
25(6)197,
25(6)223,
25(6)311,
25(7)7,
25(7)59,
25(12)85,
27(7)1,
27(7)82,
27(7)188-1,
27(7)249,
27(8)87,
28(3)69,
28(6)78-1,
28(7)44,
28(7)129,
28(7)179,
28(8)90,
29(6)121,
29(6)230,
29(8)59,
29(11)2,
29(11)25,
29(11)208,
29(12)72,
30(11)31,
30(11)50,
30(11)79
- exception,
25(10)322,
27(9)238,
27(12)61,
28(3)133,
28(3)347,
28(6)46,
28(6)147,
29(12)104,
30(3)119,
30(11)50,
33(8)40,
34(5)25,
34(5)25-1
- expected,
25(6)296,
27(7)32,
29(8)35
- GENERAL,
28(6)1,
28(6)197,
29(6)313,
29(11)122,
29(11)196,
29(11)319,
30(3)94,
30(3)111,
31(5)137,
31(5)160,
32(5)358,
33(11)35,
33(11)46,
33(11)105,
33(11)262,
33(11)272
- handler,
28(6)147,
30(8)217
- handling,
17(9)18,
25(6)28,
25(10)116,
25(10)322,
27(4)77,
27(7)128,
27(12)61,
28(3)133,
28(6)13,
28(6)26,
28(6)147,
28(7)33,
28(10)271,
28(10)271-1,
28(10)288,
29(2)13,
29(3)23,
29(5)31,
29(6)242,
29(6)242-1,
29(6)349-1,
29(9)64,
29(9)68,
29(9)159,
29(10)191,
29(10)259,
29(10)388,
29(11)51,
29(11)208,
29(12)104,
30(8)80-1,
30(8)112,
30(8)217,
30(11)50,
30(11)79,
33(8)40,
33(11)151
- hardware-based,
29(11)286
- however,
25(6)66,
25(6)85-1,
25(6)234,
27(7)311,
28(3)351,
28(3)363,
28(6)68,
28(6)147,
28(7)54-1,
29(6)1,
29(6)85,
29(6)218,
29(6)302,
29(6)337,
29(6)337-1,
29(8)1,
29(11)12,
29(11)51,
29(11)86,
29(11)171,
29(11)183,
29(11)252,
29(11)274,
29(11)308,
29(11)328,
30(3)23,
30(3)62,
30(3)94,
30(6)279,
30(6)291,
30(6)301,
30(8)48,
30(8)217,
30(11)134,
33(7)67
- importance,
25(6)283,
27(7)311,
28(7)54-1,
29(6)337,
29(6)337-1,
29(11)242,
30(8)134
- increasingly,
28(6)36,
29(6)186,
29(6)206,
29(11)242,
30(6)79-1
- last,
28(3)333,
29(6)1
- level, user-,
26(4)290,
28(7)198,
29(11)12,
29(11)38
- Levy, Henry M.,
25(10)278,
26(4)108,
26(7)114,
27(10)247,
27(10)397,
29(11)2,
31(9)150,
31(9)258
- limited,
26(4)28,
27(7)188-1,
29(6)36,
29(6)290,
29(11)51,
29(11)132-1,
29(11)297,
29(11)308,
29(11)319,
29(11)328,
30(8)123,
33(7)59
- normal,
25(5)29,
28(8)90,
29(9)38
- opcode,
30(3)35
- optimisation,
29(4)41,
29(4)58,
29(6)49,
29(6)73,
29(6)85,
29(6)97,
29(6)159,
29(6)257-1,
29(6)266,
29(9)38,
29(10)229,
29(10)244,
29(10)324,
29(10)453,
30(6)130,
30(6)139,
30(6)279,
30(8)80-1,
30(8)112,
30(8)134,
34(1)39
- PERFORMANCE,
27(9)76,
27(9)111,
27(9)124,
27(9)137,
27(9)162,
27(9)175,
27(9)187,
27(9)248,
27(9)262,
27(9)274,
29(6)186,
29(11)51,
29(11)61,
29(11)98,
29(11)122,
29(11)183,
29(11)219,
29(11)232,
29(11)242,
29(11)252,
29(11)274,
29(11)308,
29(11)319,
29(11)328,
30(11)20-1,
30(11)31,
30(11)60,
30(11)70,
30(11)79,
31(9)2-1,
31(9)138,
31(9)160,
31(9)258,
31(9)268,
33(11)71,
33(11)92,
33(11)105,
33(11)115,
33(11)170,
33(11)181,
33(11)193,
33(11)205,
33(11)218,
33(11)228,
33(11)240,
33(11)272,
33(11)283,
33(11)295
- permit,
27(7)1,
27(7)55,
28(3)363,
28(6)217,
28(7)92,
29(6)302,
29(11)2,
29(11)297
- practicality,
26(6)219,
28(6)56
- propose,
25(6)1,
25(6)85-1,
25(6)102,
25(6)296,
25(10)237,
27(7)1,
27(9)274,
28(6)90,
28(7)64,
29(6)257,
29(6)257-1,
29(6)302,
29(6)349,
29(6)349-1,
29(8)35,
29(8)46,
29(11)2,
29(11)51,
29(11)171,
29(11)242,
29(11)308,
30(6)1,
30(6)279,
30(8)19,
30(11)41,
30(11)79
- rather,
25(6)223,
25(6)234,
25(6)272,
25(6)296,
27(9)223,
27(9)285,
28(3)271,
28(3)361,
29(6)135,
29(6)349,
29(6)349-1,
29(8)119,
29(11)86,
30(3)111,
30(6)13,
30(6)151,
30(6)174,
30(11)20-1,
30(11)88,
33(7)19
- reduce,
25(6)1,
25(6)16,
25(6)85-1,
25(6)102,
25(6)272,
27(7)200,
27(7)212,
28(6)177,
28(7)83,
28(7)208,
28(7)218,
29(6)257,
29(6)257-1,
29(6)349,
29(6)349-1,
29(11)2,
29(11)145,
29(11)242,
29(11)286,
30(6)93,
30(6)103,
30(6)116,
30(6)130,
30(6)174,
30(6)270,
30(6)279,
30(6)315,
30(8)156,
30(8)179,
30(8)217,
32(10)342,
32(10)342-1,
33(7)67
- reduced,
25(6)246,
26(1)85,
27(7)322,
28(3)299,
28(6)1,
29(6)36,
29(6)49,
29(6)61,
29(11)2,
30(6)103,
30(8)144,
31(5)12,
34(7)1
- RISC,
25(6)28,
26(4)303,
26(4)310,
26(6)219,
27(1)95,
27(9)213,
29(6)61,
30(3)94,
34(5)139
- run-time,
25(4)20,
25(6)150,
26(6)145,
27(7)116,
27(7)224,
28(3)347,
28(6)13,
28(6)46,
28(7)139,
29(6)36,
29(6)61,
29(6)290,
29(6)313,
29(6)326,
29(9)135,
29(10)85,
29(11)25,
29(11)122,
30(6)79-1,
30(6)93,
30(6)218,
30(8)68,
30(8)102,
31(10)406,
31(11)49,
32(12)163,
33(5)224,
33(10)201,
34(3)146,
34(5)293,
34(5)293-1,
34(8)107
- several,
25(4)20,
25(4)59,
25(6)9,
25(6)246,
25(6)283,
25(10)237,
27(7)68,
27(7)175,
27(7)212,
27(9)274,
28(3)1,
28(3)351,
28(6)90,
28(6)126,
28(6)207-1,
28(6)278,
28(7)112,
28(7)218,
29(6)73,
29(8)59,
29(11)12,
29(11)25,
29(11)38,
29(11)76-1,
29(11)242,
29(11)252,
30(3)23,
30(3)50,
30(3)62,
30(6)67,
30(6)116,
30(6)315,
30(8)1,
30(8)48,
30(8)80-1,
30(8)144,
30(8)179,
30(11)1,
30(11)79,
30(11)88,
30(11)146-1,
33(2)65,
33(7)51,
33(7)75,
33(7)83,
33(11)252,
33(11)295
- synchronous,
30(3)83,
30(6)163,
30(6)163-1,
30(11)79,
31(6)226,
31(8)43,
32(8)322,
32(8)377,
34(1)261
- Thekkath, Chandramohan A.,
29(11)2,
31(9)84,
31(9)174
- time, run-,
25(4)20,
25(6)150,
26(6)145,
27(7)116,
27(7)224,
28(3)347,
28(6)13,
28(6)46,
29(6)36,
29(6)61,
29(6)290,
29(6)313,
29(6)326,
29(9)135,
29(10)85,
29(11)25,
29(11)122,
30(6)79-1,
30(6)93,
30(6)218,
30(8)68,
30(8)102,
31(10)406,
31(11)49,
32(12)163,
34(3)146,
34(5)293-1,
34(8)107
- unfortunately,
25(4)73,
25(6)102,
27(7)140,
29(6)186,
30(6)32,
30(8)199
- user-level,
26(4)290,
28(7)198,
29(11)12,
29(11)38
- violation,
25(6)272
- watchpoints,
30(1)37
- where,
25(4)73,
25(6)92,
27(6)84,
27(7)82,
27(7)212,
27(7)224,
27(7)273,
28(3)231,
28(6)100,
28(6)126,
28(7)112,
28(7)239,
29(6)61,
29(6)107,
29(6)135,
29(6)186,
29(6)349,
29(6)349-1,
29(8)59,
29(8)74,
29(11)51,
29(11)61,
29(11)219,
29(11)286,
29(11)297,
30(3)1,
30(3)50,
30(4)13,
30(6)56,
30(6)67,
30(6)93,
30(8)92,
30(8)189,
30(10)156,
30(11)31,
32(10)345-1,
32(10)345-4,
33(6)1