Skip to main content
Home Documents PowerPC Apple Introduction To PowerPC Instruction Set Feb1993
Apple Introduction To PowerPC Instruction Set Feb1993

Apple Introduction To PowerPC Instruction Set Feb1993

PowerPC · 1993 · PDF
FilenameApple_Introduction_to_PowerPC_Instruction_Set_Feb1993.pdf
Size29.22 MB
Year1993
Subsection developerUniversity
Downloads6
Enjoying MacTrove? Anonymous downloads are free and unlimited. Create a free account to track favorites, contribute metadata corrections, and join the community chat.
Reader
Apple Introduction To PowerPC Instruction Set Feb1993
/
Loading…
OCR / Text contents
R&D University • Introduction to PowerPC Instruction Set sity Introduction to PowerPC- Instruction Set: Rev 2, 2/93 ~~ 5 'f-Y"Ct_ c'+C) ,~.:z:::~.-o '"\-<."> P (; «.J'-€Jl Pc ~ 1!:::1I-..~1I'S PowerPC ( PowerPC Architecture Overview ~..J Book I - User Instruction Set Branch Unit Fixed Point Unit Floating Point Unit Book 11- Virtual Environment Book III - Operating Environment The First PowerPC Chips (Book IV) 1P'o~ 1!:::11-.. ~II'S PowerPC PowerPC Architecture Overview Book I - User Instruction Set Branch Unit Fixed Point Unit Floating Point Unit Book II - Virtual Environment Book 111- Operating Environment The First PowerPC Chips (Book IV) ~ 1!:::11-..~ RISC History and Lineages IBM 801 Branch Processor -> RT -> POWER -> PowerPC Berkeley RISC Register Windows -> 29K, SPARC Stanford MIPS -> MIPS, 88K, Alpha, ARM ~~.~u. • We'll look at several of these characteristics with real RiSe examples. Rise Fundamentals PipeLined Programming Model Compiler hae Substantial Effect on Performance Simple, Fixed Instruction Formats 10Cycie Decode, Large Number of Registers Simple Semantics 10Cycie Execution Stage Provide ·Prlmitlves- to Complier Only Loads & Stores Reference Memory LoadlStore Architecture Minimize Use of Critical Resources •. g., Condition Cod.s Caches Ron H......... 2iMI3 ~~.~ Instruction Execution Model ( ~-- F 1. Fetch Next Instruction 0 2. Decode Instruction, ~calculate Addresses, etch Operands, etc.) X 3. Perform Operation W 4. Write Back Results 5. Goto Step 1. Ron H.....-uno 21M3 ~1ClIme·~NI Ideal Instruction Sequence Instructions Require only 1 Clock per Stage 1. Fetch Next Instruction F 2. Decode Instruction, Calculate Addresses, Fetch Operands 0 3. Perform Operation X 4. Writ.Back Results W 11 12 11 11 5. Goto Step 1. Clocks ( "an H.......... IItIt3 • Cycle Time of ,each Stage is the same. PlpeLinlng Increase Throughput by Keeping Resources Busy ( Implement Each Instruction Stage by a Separate Unit - Pipe Stage. Each Pipe Stage Operates on a DIHerent Instruction In a Cycle Don't Wait for An Instruction to Complete before Starting the Next Does Not Reduce Latencyl! ~WMI'IPC~-~11liI PlpeLined Instruction Sequence Instructions Require only 1 Clock per Stage ( 1. Fetch Next Instruction F 2. Decode Instruction, Calculate Addresses, Fetch Operands 0 3. Perform Operation X 4. WriteBack Results W 11 12 13 14 15 11 12 13 14 11 12 13 11 12 5. Goto Step 1. CI_ ~ Ron H...,..... 2ItIU ~~-~ Instruction Formats ( tid b ¥ !-form OP 8-form OP Bol BI D-form OP RxlRA X-form OP RT IRA RB I XOP XO-form OP RTIRA RB fl XOP A-form OP RS IRA RB I RC IXOp~ filaddfl,f2,B,fl M-form OP RS IRA RBI MB I ME ~ Ron H......... 2ItII1 Dise24 Dise14 ~D 1Nl\)tZ addl 1'5,1'4,123 I. 1'5,211(1'4) Imm16 n and r),r4,~ and. rS,r4,~ I .. r),r4,~ fl add rS,r4,~ addeo. r'.r4.rS rl_ rS,r4,~,2II,31 ~ ~1C1JSJM-~ Branches - The Problem Branches Leave "Bu…

Showing first 3,000 characters of 500,000 total. Open the full document →

Home Documents PowerPC Apple PowerPC Runtime Architecture Oct1992
Apple PowerPC Runtime Architecture Oct1992

Apple PowerPC Runtime Architecture Oct1992

PowerPC · 1992 · PDF
FilenameApple_PowerPC_Runtime_Architecture_Oct1992.pdf
Size13.83 MB
Year1992
Subsection developerUniversity
Downloads7
Enjoying MacTrove? Anonymous downloads are free and unlimited. Create a free account to track favorites, contribute metadata corrections, and join the community chat.
Reader
Apple PowerPC Runtime Architecture Oct1992
/
Loading…
OCR / Text contents
R&D University PowerPC Runtime Arch itectu re PowerPC Runtime Architecture, October 14, 192 R&D University PowerPC Runtime Architecture •• • II • Itt t I Alan Lillich Developer Tools Group ( PowerPC Runtime Archttecture Version 1.1 .. _._-_. -" ... __._----- _.--_.___.-_.-___ - - - - _ .--_._. .. .. .. ... .. 1 Day 1 Content . . . .:' . . . . . . ': ....... :: .... ::. :.' · .. .. · .. . .. · ~.:. .... :.~ ::,:., ~':..~.\: . ... . : ~ 'C' :;::. ''- • ',' P_PC Runtime Archlectu.. Version 1.1 • '- • '- • '-'- R&D University Alan Lilich " Apple Confidential 11·10--112 2 2 Schedule for Today c . .. ....... . . First Day of Course a I lUlU urluan II I II UDDUDI I II r • Background Information • Program Components • Global Addressing • Stack Frames • Calling Conventions p""""pc Runtime Architecture Version 1.1 c R&D University Alan Lillich - Apple Confidential 11·1D--92 3 3 Background Information .' • Hardware Architecture - Review features that influence software architecture • Miscellaneous - Software architecture derived from AIX - Assembly programmers must do what compilers do! - We're only talking about 32-bit software • Special code can take advantage of 620 • No fully 64-bit O/S planned yet P ......rPC Runtime Architecture R&D Unive..iy Version 1.1 Alan LiNich " Apple Confidential 11-10-·92 4 4 ,. Background Information c' . .. .. Definitions • Effective Address: 3~b;-t-5 - The "register size" addresses used by PowerPC software. • Virtual Address: L '.1- '80 ~ - A "large" address used by PowerPC hardware during address translation. • Volatile Register: - A register whose contents need not be the same on return from a call as before. PowerPC Runtime Archftec:ture V.aion 1.1 R&D UnivelSiIy Alan UHich It Apple Confidential 11·10--92 5 5 CPU Architecture Key Instruction Set Features alia IIU II UIIUIIUI I I 11111111111111 "nann I I a I 1111111 1m III I II I I I • Three basic units => cheap branches • Typical load/store architecture • Generally three register operands • Fixed length instructions - Few memory addressing modes • 32 bit only PowerPC Runlime Architecture Version 1_1 R&D University Alan URich " Apple Confidential 11-10--92 6 6 CPU Architecture . Key Instruction Set Features , , II I I I II 1111 I • Lots of registers - 32 General Purpose (32/64 bit) - 32 Floating Point (64 bit) - 8 Condition Code "Fields" (4 bits: LT, GT, EQ, SO) • A large set of (mostly) reduced instructions • Effective Address versus Virtual Address PowerPC Runtime AR:hilectU18 Version 1.1 R&D University Alan LiRich II Apple Confidential 7 11-10--92 7 CPU Architecture .' . ~v-L*,o........ 5 • Unconditional Branches ~D'J... ~~ ~s - PC relative, 24-bit ~diate displacement (+32MBr • Conditional Branches - PC relative, 14-bit immediate displacement (+32KB) - Indirect through Link or Count Register • Displacements - Are signed and in words (inst…

Showing first 3,000 characters of 198,544 total. Open the full document →

Home Documents PowerPC Apple C++ Part II Jul1992
Apple C++ Part II Jul1992

Apple C++ Part II Jul1992

PowerPC · 1992 · PDF
FilenameApple_C++_Part_II_Jul1992.pdf
Size5.13 MB
Year1992
Subsection developerUniversity
Downloads7
Enjoying MacTrove? Anonymous downloads are free and unlimited. Create a free account to track favorites, contribute metadata corrections, and join the community chat.
Reader
Apple C++ Part II Jul1992
/
Loading…
OCR / Text contents
Software Development Training • C++ Part II .~ ..... " i;:~nware Development Training c++ Part II, Rev. 7192 I c++ Part 2 f '. Copyright © 1992 Neal Goldstein and Apple Computer, Inc. All Rights Reserved. No part of the written course material may be reproduced in any form or by any means without permission in writing from Neal Goldstein or Apple Computer. The sample programs and source code may be llsed by attendees of this seminar, or purchasers of these seminar notes, for their own personal use. The programs and/or source code may not be used for commercial purposes without permission in writing from Neal Goldstein or Apple Computer. All attempts are made for the information presented in this seminar to be accurate and correct to the best of our knowledge, however Neal Goldstein, Apple Computer, or the instructor cannot be held liable for any incomplete or erroneous information. If you find anything to be misleading or incorrect, please notify Neal Goldstein or Apple, which will make every effort to correct and update future releases. Apple, the Apple Logo, AppleLink, Macintosh, and MacApp are registered trademarks of Apple Computer, Inc. © 1992 Ncal Goldstein and Apple Computcr, Inc. Introduclion 1 .Developed By: .~ - ;~r ··Neal Goldstein ........ ..".,. , " ~ . ~ ... ,. " Neal Goldstein :Design . : ·-659 Tennyson Avenue ?:; . Palo Alto; CA 94301 I' of ! " •" J • ,. ~,..,. , ,. ,' . ~',. , , ... , ..... ~; ·(415) 327-4565 " AppleLink D077} ·1; , ..•• © 1992 Neal Goldstcin and Apple Computcr, Inc Introduction 2 ,./ 'j I Table of Topics <! \ ' Section 1 Introduction : ~. if:, :"1 Introduction .......................................................................................... 1 Class goals ..................................................:·...................... ~-:.:........•:...... 4 ' C++ on the Macintosh ............................................................................. 6 . C++ design goals .................. , ................................ .... ':. j • !.~ ••••• , . : •••• i \ ..'" .-:; •.••• 8 Group discussion ........................................................................ :......... 10 The most difficult things to do using C++. What is (still) hardr (.-" 1;" .' <", Compiler and linker error messages to watch out for ............. :.... :........... ~; ......... 11 Memory allocation ......................................... ; ..,~,.~. ..i::.;;.: .. .... ;.!o',\ .... :.L:':~i'" .13 Creating objects ................................................................................... 14 FCunction overloading ................................................... ~ .......... ..j .... ..'.~{; .... 15 tenns ............................................................................................. 17 ~ Naming conventions ...................................................... :·:~:~ ................... 18 Labs .........................................................…

Showing first 3,000 characters of 90,726 total. Open the full document →

Home Documents PowerPC Apple Porting To PowerPC Jun1993
Apple Porting To PowerPC Jun1993

Apple Porting To PowerPC Jun1993

PowerPC · 1993 · PDF
FilenameApple_Porting_to_PowerPC_Jun1993.pdf
Size7.81 MB
Year1993
Subsection developerUniversity
Downloads8
Enjoying MacTrove? Anonymous downloads are free and unlimited. Create a free account to track favorites, contribute metadata corrections, and join the community chat.
Reader
Apple Porting To PowerPC Jun1993
/
Loading…
OCR / Text contents
R&D University Porting to PowerPC ( sitv ," { ... PowerPC .dl ij''":oftllb ,.";' : .,.J:>£,--:1 :.' '>~", :)dt\Ulration strategies for PowerPC ' . ,. , ..' . d'C ,an4'~;Th1i;-,b~YF;become the ~~9h~p()~~~§ this decade, and most of the development tools that are available are geared towards these languages. Because of this, the earliest PowerPC development tools will be oriented towards C and C+ + programmers. However, since many ,". devel~ve WtlitmrlttlllffiIlflmductsirt Wt~es.()ther than C or C+ +, we'll take a quick look at theii:i{iptions WffioVing11OipowerPC. ' '. 811'r g.lig;,_"j:)IDilor-:;n, '. , li1 ~)!i;, Gii'. ,., .. ).)" _ . Pascal Development ,')JHJO?, I"IJ ~i;' Pascal developers have a{ew:~when ~~ng-the.ir code to PowerPC: - Wai~ for:a third-party Pasca[compiler~MetroWer~ is producing a Pascal compilers for PowerPC. ~:~b::~~~~~!~j~~~~~.oo:~t~p~:who - Re~ U'fC or C+ +: This approach, while potentially difficult, gives you the widest range of po :::.;Wityloptions to PowerPC and other p1a,tfonJ1S (ifyou should ever choose to go crosspla tp', '; 1;HH rol - uset~:;:;as.ql t~~conversion tool: Sierra ~~are has produced "~2C", which converts P~ or Object PjlSCal to QC+ +. Several groups Wlthm Apple have used thIS too~ and most of them didn't like~W~fe ~ loo~~g for a better solution. , ..... ' uJ~h~I;j~!~~Hd:_:(a spin-off of Bell Labs) makes "FlashPort", a tool which treats your compiled application as the input to a compiler which emits PowerPC object code. This yields an application which is faster than a strictly emulated 680xO application, but somewhat slower and larger than an applkation re-compiled for PowerPC from its original sources. " - Port as ~tich as ~ible/and emulate non-portable parts via Mixed mode: This is a reasonable ) ~atq~gy.~rtt}t.~a~~me parts of your code that are not processor intensive and which would be (,~~4hp:~()!f/«Q~ever, remember that you will not get the full performance benefits that a .lm~re '&rWplele pbhmg job would yield. Assembly-Language Development Assembly-language programmers cannot simply re-compile for PowerPC; some sort of porting will be required Our recommendation is that you re-write your assembly code as portable C source code. While many assembly language programmers feel that this is a poor chOice, the design of the PowerPC Macintosh removes many of the reasons that developers write in assembly language. The 4 major reasons developers write in assembly language are 1) speed, 2) linking different calling conventions together, 3) addressing custom hardware installed in a particular machine, or 4) a need to jump to a particular routine instead of using a subroutine call. We'll look at how the PowerPC programming model addresses each of these issues. Migration Strategies for PowerPC Page 1 • The first case, speed, should be handled adequately by the optimizing Ccompilers. Creating optimized code for the PowerPC is no easy feat, and it is easy to overlook one rule or another wh…

Showing first 3,000 characters of 155,216 total. Open the full document →

Subscribe to developerUniversity
mp.ls