Appendix – Demonstration Processors

Total Page:16

File Type:pdf, Size:1020Kb

Appendix – Demonstration Processors Appendix – Demonstration Processors To validate the suitability of proposed on-line BISC-units and the micro rollback principle, different example processors were designed. The attention was focussed on COTS-processors. Designs should represent characteristics of embedded processor- cores in various applications. In order to cover a widespread similarity with real ar- chitectures, exemplary designs are redesigns – respective derivatives of microproces- sors, micro-controller CPU-cores and digital signal-processors. The following sec- tions of this appendix should give a short overview of used processors. Circuits were in most cases designed in a mixed manner: logic-, RTL-design and synthesized VHDL-descriptions. As design environments, Viewlogic’s WorkviewOf- fice – respective Innoveda’s Electronic Design Center and SYNOPSYS hardware- compiler were mainly and CADENCE was partly used. Designs are available as schematic, EDIF-netlist or structural VHDL-description. A.1 Microprocessor t4008 As an example for a simple 8-bit microprocessor class, the core t4008 was imple- mented. The top hierarchy of the design is built with the control- (CP) and the data- path (DP). As a ″von-Neumann″ architecture, the CP reads instructions and data from memory and controls the DP with the control-word CW. M. Pflanz, On-line Error Detection and Fast Recover Techniques, LNCS 2270, pp. 87–115, 2002. © Springer-Verlag Berlin Heidelberg 2002 88 Appendix – Demonstration Processors 8 bit 8 bit 8 bit Data Memory memory memory from memory read / write address data 8 bit Input data Data bits from Control path Data path state register sch: control_path.1 15 bit sch: proc_data_path.1 sym: control_path.1 control sym: proc_data_path.1 word 8 bit data from data path Clock & 8 bit Output Run data from processor Fig. 57. Top-hierarchy view of the t4008 The DP contains an arithmetic-logical-unit (ALU) for common integer operations. The combinatorial shifter serves to carry out simple shift and rotate operations. A register-file with seven registers represents basic processor-registers. The flag-register is used for conditional instructions and ′rotate with carry′ operations. Input- and out- put-ports are directly connected to CP. A.1 Microprocessor t4008 89 Destination D2 D1 IN_DATA[7:0] select D0 sch: destination_sel.1 sym: destination_sel.1 /QE_D A2 Bus A select Bus B select B2 A1 sch: mux8_1.1 sch: mux8_1.1 B1 A0 sym: mux8_1.1 sym: mux8_1.1 B0 Register file /QE_A Reg.1 - Reg.7 ALU_F2 Arithmetic-Logical Unit sch: 8bit_register ALU_F1 sch: 8bit_alu.1 ALU_F0 sym: 8bit_register sym: 8bit_alu.1 Cin V Z S C Shifter H2 State register sch: shifter.1 H1 sch: statusregister.1 sym: shifter.1 H0 sym: statusregister.1 State S[7:0] Control word 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 A B D (= A) ALU_F C H A2 A1 A0 B2 B1 B0 F2 F1 F0 C H2 H1 H0 /QE_A /QE_D Fig. 58. Data-Path and Control-word Definition 90 Appendix – Demonstration Processors Table 17. Destination Select Table 18. Source Select Signals D[2:0] load reg. A_sel[2:0] ALU A- B_sel[2:0] ALU B- CW bits CW bits INPUT CW bits INPUT 9|8|7 15|14|13 15|14|13 000 - 000 IN_DATA 000 IN_DATA 001 Reg. 1 001 Reg. 1 001 Reg. 1 010 Reg. 2 010 Reg. 2 010 Reg. 2 011 Reg. 3 011 Reg. 3 011 Reg. 3 100 Reg. 4 100 Reg. 4 100 Reg. 4 101 Reg. 5 101 Reg. 5 101 Reg. 5 110 Reg. 6 110 Reg. 6 110 Reg. 6 111 Reg. 7 111 Reg. 7 111 Reg. 7 Table 19. ALU Function Select Signals ALU_F[2:0], Cin Function ALU_F[2:0], Function CW bits 6|5|4|3 ALU output Cin ALU output CW bits 6|5|4|3 0000 F = A 100X F = A OR B 0001 F = A+1 101X F = A XOR B 0010 F = A+B 110X F = A AND B 0011 F = A+B+1 111X F = NOT A 0100 F = A-B-1 0101 F = A-B 0110 F = A-1 0111 F = A; C←1 Table 20. Shifter Control Shifter control function CW bits 2|1|0 000 transfer 001 Shift right 010 Shift left 011 Clear data 100 - 101 Rotate right 110 Rotate left 111 Clear data The CP contains control- and buffer-registers. A hardwired control-logic generates control-signals and the CW for the DP according micro-instructions. An instruction flow of this sequential processor starts always with the fetch phase: The initialized program-counter PC is loaded into the memory-address register MAR. It addresses the first instruction within the memory. In the next cycle, the memory-buffer register A.1 Microprocessor t4008 91 MBR is loaded with the first instruction-op-code. I will be moved to instruction- register IR, where the decoder generates the instruction variable for control-logic. After instruction decoding, different time-signal-controlled micro-instruction flows can be started. The instruction set covers 61 instructions (ι0,ι1,...,ι60) which are addressed with a 6-bit op-code (00H to 3FH). The processor was specified as a three-address- machine, that means: Destination register (A) Ä Source register 1 (D) <operation> Source register 2 (B) For a reduction of the effort for addressing, a pseudo-two-address-mode was intro- duced: Destination register A is equal to Source register D. The consequence of this mode is similar to the operation of processors with an accumulator. The addressing is organized as follow: with A=D: Destination register (A) Ä Source register(A) <operation> Source register(B) This method needs an adaptation of the available move-instructions <MVIN x>, <MOV x y>, <MVX x> und <MVM x m>. Because the ALU can execute a data transfer without operation (AÄA) only at bus-port A, the destination register must also be A. In order to realize a transfer to an other register, instead of an ALU- operation transfer A (F=011, C=1 or F=000, C=0), an operation addition of B and blocked A (bus-select = disable Å all A-ALU-Inputs = 0) is exe- cuted: A Ä 0 + B = A Ä B. In the DP, there are seven processor registers are available. They are addressable with 3-bit variables A and B (control-bits 15 to 10 at bus-selectors A and B; CW-bits 9, 8, 7 = D). Table 21. t4008 Register addresses 000 Register INP or OUT 001 Register 1 (or a) 010 Register 2 (or b) 011 Register 3 (or c) 100 Register 4 (or d) 101 Register 5 (or e) 110 Register 6 (or f) 111 Register 7 (or g) 92 Appendix – Demonstration Processors Memory out data M_[7:0] Y2 sel Y3 Y7 Register Address inc load Programm Counter Register RAR MUX 1 PC Y1 + Y6 Y0 A2 A1 A0 B2 B1 B0 sel sel Source & target Memory Buffer Memory Address register Register MBR Register MAR addresses Y14 sel Instruction MUX 2 Register IR Y8 /Y54 Reset Halt Sequencer T0...T10 Instruction Decoder C /Y12 & Y9+Y5 /Y13 Control logic & S sel sel Z Control word Data path input Data path output V generator buffer register INP buffer register OUT /Y4 +Y1+Y2 OR CW[6:0] Y[54:0] R_W INP_[7:0] OUT_[7:0] Data path Processor Memory Input data Output data control control read/write to data path from data path word signals signal Fig. 59. Control Path of t4008 With the currently used 8-bit MAR a space of 256 memory cells is addressable. The memory width is 8-bit. For every instruction-′block′ (opcode+operand), 3 bytes are provided. The following figure illustrates the used instruction format: 00H MAR-pointer with PC-value from fetch-phase INSTRUCTION 2D Ä Pointer PC PC + 1 ADDRESS 2EH Ä Pointer PC PC + 1 OPERAND 2FH FFH A.1 Microprocessor t4008 93 Format of instruction-block bytes: 1. INSTRUCTION-Byte 7 0123456 r/pr/p I5 I4 I3 I2 I1 I0 Reserve / Parity-Bits op-code (00H ... 3FH) 2. Address-Byte 7 0123456 r/p A2 A1 A0 r/p B2 B1 B0 B-bus- selector Reserve / Parity-Bits address A-bus- and D-selector address 3. Operand 7 0123456 D7 D6 D5 D4 D3 D2 D1 D0 8-bit data- or address Example 1: Two stored 8-bit numbers should be added . The result should be written back to the memory. (start address = 2DH): JMP g 2d # rescue old address in register 7 (=g) and jump to 2dH MVX a 2f # write data at 2fH to register 1 MVX b 32 # write data at 32H to register 2 ADD a b # add a and b, write result to a MVM a 14 # write a to memory cell 14H RET g # return to address[g] The binary code in the memory is as follows: Start address =00H JMP x X 110000 gx111x000 2d 00101101 ... ... ... ... ... ... ... ... ... Jump address =2dH MVX xx000010 ax001x000 2f 01011101 94 Appendix – Demonstration Processors MVX xx000010 bx010x000 32 10100010 ADD xx001000 a b x 0 0 1 x 0 1 0 xxxXxxxx MVM xx000011 ax000x001 14 00010100 RET xx110111 gx000x111 xxxXxxxx ... ... ... Result at 14H result 11111111 The following table contains the instruction set of processor t4008: Table 22. t4008 Instruction Set Mnemonic Format Register transfer I5 ... I0 A2 A1 A0 B2 B1 B0 00 MVIN x x = a,b,c,d,e,f,g Rx ← Input-Port 000000AAAxxx 01 MOV x y x,y=a,b,c,d,e,f,g Rx ← Ry 000001AAABBB 02 MVX x m x=a,b,..,g; m=XXH Rx ← M 000010AAA000 03 MVM x m x=a,b,..,g; m=XXH M ← Rx 000011000BBB 04 INCX x x=a,b,..,g Rx ← Rx+1 000100AAAxxx 05 INCM m m=XXH M ← M+1 000101000xxx 06 DECX x x=a,b,..,g Rx ← Rx-1 000110AAAxxx 07 DECM m m=XXH M ← M-1 000111000xxx 08 ADD x y x,y=a,b,c,d,e,f,g Rx ← Rx+Ry 001000AAABBB 09 ADX x m x=a,b,..,g; m=XXH Rx ← Rx+M 001001AAA000 0A ADM x m x=a,b,..,g; m=XXH M ← M+Rx 001010000BBB 0B ADC x y x,y=a,b,c,d,e,f,g Rx ← Rx+Ry+C 001011AAABBB 0C ACX x m x=a,b,..,g; m=XXH Rx ← Rx+M+C 001100AAA000 0D ACM x m x=a,b,..,g; m=XXH M ← M+Rx+C 001101000BBB 0E SUB x y x,y=a,b,c,d,e,f,g Rx ← Rx-Ry 001110AAABBB 0F SUX x m x=a,b,..,g; m=XXH Rx ← Rx-M 001111AAA000 10 SUM x m x=a,b,..,g; m=XXH M ← M-Rx 010000000BBB 11 SBB x y x,y=a,b,c,d,e,f,g Rx ← Rx-Ry-1 010001AAABBB 12 SBX x m x=a,b,..,g; m=XXH Rx ← Rx-M-1 010010AAA000 13 SBM x m x=a,b,..,g; m=XXH M ← M-Rx-1 010011000BBB 14 not used 010100 15 not used 010101 16 AND x y x,y=a,b,c,d,e,f,g Rx ← Rx ∧ Ry 010110AAABBB 17 ANX x m x=a,b,..,g; m=XXH Rx ← Rx ∧ M 010111AAA000 18 ANM x m x=a,b,..,g; m=XXH M ← M ∧ Rx 011000000BBB 19 OR x y x,y=a,b,c,d,e,f,g Rx ← Rx ∨ Ry 011001AAABBB 1A ORX x m x=a,b,..,g; m=XXH Rx ← Rx ∨ M 011010AAA000 1B ORM x m x=a,b,..,g; m=XXH M ← M ∨ Rx 011011000BBB 1C XOR x y x,y=a,b,c,d,e,f,g Rx ← Rx ⊕ Ry 011100AAABBB A.1 Microprocessor t4008 95 Table 22.
Recommended publications
  • Computer Organization and Architecture Designing for Performance Ninth Edition
    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION William Stallings Boston Columbus Indianapolis New York San Francisco Upper Saddle River Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montréal Toronto Delhi Mexico City São Paulo Sydney Hong Kong Seoul Singapore Taipei Tokyo Editorial Director: Marcia Horton Designer: Bruce Kenselaar Executive Editor: Tracy Dunkelberger Manager, Visual Research: Karen Sanatar Associate Editor: Carole Snyder Manager, Rights and Permissions: Mike Joyce Director of Marketing: Patrice Jones Text Permission Coordinator: Jen Roach Marketing Manager: Yez Alayan Cover Art: Charles Bowman/Robert Harding Marketing Coordinator: Kathryn Ferranti Lead Media Project Manager: Daniel Sandin Marketing Assistant: Emma Snider Full-Service Project Management: Shiny Rajesh/ Director of Production: Vince O’Brien Integra Software Services Pvt. Ltd. Managing Editor: Jeff Holcomb Composition: Integra Software Services Pvt. Ltd. Production Project Manager: Kayla Smith-Tarbox Printer/Binder: Edward Brothers Production Editor: Pat Brown Cover Printer: Lehigh-Phoenix Color/Hagerstown Manufacturing Buyer: Pat Brown Text Font: Times Ten-Roman Creative Director: Jayne Conte Credits: Figure 2.14: reprinted with permission from The Computer Language Company, Inc. Figure 17.10: Buyya, Rajkumar, High-Performance Cluster Computing: Architectures and Systems, Vol I, 1st edition, ©1999. Reprinted and Electronically reproduced by permission of Pearson Education, Inc. Upper Saddle River, New Jersey, Figure 17.11: Reprinted with permission from Ethernet Alliance. Credits and acknowledgments borrowed from other sources and reproduced, with permission, in this textbook appear on the appropriate page within text. Copyright © 2013, 2010, 2006 by Pearson Education, Inc., publishing as Prentice Hall. All rights reserved. Manufactured in the United States of America.
    [Show full text]
  • Instruction Register MAR = Memory Address Register MBR = Memory Buffer Register I/O AR = I/O Address Register I/O BR = I/O Buffer Register
    Hardware Level Organization Intro MIPS 1 CPU Main Memory Major components: 0 PC MAR - memory System IR MBR Bus - central processing unit Instruction I/O AR Instruction - registers Instruction Ex Unit I/O BR - the fetch/execute cycle (the hardware process ) Data I/O Module Data Data n-1 buffers PC = program counter IR = instruction register MAR = memory address register MBR = memory buffer register I/O AR = I/O address register I/O BR = I/O buffer register CS @VT Computer Organization II ©2005-2013 McQuain Central Processing Unit Intro MIPS 2 Control - decodes instructions and manages CPU’s internal resources Registers - general-purpose registers available to user processes - special-purpose registers directly managed in fetch/execute cycle - other registers may be reserved for use of operating system - very fast and expensive (relative to memory) - hold all operands and results of arithmetic instructions (on RISC systems) - save bits in instruction representation Data path or arithmetic/logic unit (ALU) - operates on data CS @VT Computer Organization II ©2005-2013 McQuain Stored Program Concept Intro MIPS 3 Instructions are collections of bits Programs are stored in memory, to be read or written just like data Main Memory CPU 0 memory for data, programs, PC MAR compilers, editors, etc. Instruction IR MBR Instruction I/O AR Instruction Ex Unit I/O BR Data Data Data n-1 Fetch & Execute Cycle Instructions are fetched and put into a special register Bits in the register "control" the subsequent actions Fetch the “next” instruction and continue CS @VT Computer Organization II ©2005-2013 McQuain Stored Program Concept Intro MIPS 4 Of course, on most systems several programs will be stored in memory at any given time.
    [Show full text]
  • Intel® 4 Series Chipset Family Datasheet
    Intel® 4 Series Chipset Family Datasheet For the Intel® 82Q45, 82Q43, 82B43, 82G45, 82G43, 82G41 Graphics and Memory Controller Hub (GMCH) and the Intel® 82P45, 82P43 Memory Controller Hub (MCH) March 2010 Document Number: 319970-007 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility applications. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The Intel® 4 Series Chipset family may contain design defects or errors known as errata, which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. I2C is a two-wire communications bus/protocol developed by Philips.
    [Show full text]
  • The Central Processor Unit
    Systems Architecture The Central Processing Unit The Central Processing Unit – p. 1/11 The Computer System Application High-level Language Operating System Assembly Language Machine level Microprogram Digital logic Hardware / Software Interface The Central Processing Unit – p. 2/11 CPU Structure External Memory MAR: Memory MBR: Memory Address Register Buffer Register Address Incrementer R15 / PC R11 R7 R3 R14 / LR R10 R6 R2 R13 / SP R9 R5 R1 R12 R8 R4 R0 User Registers Booth’s Multiplier Barrel IR Shifter Control Unit CPSR 32-Bit ALU The Central Processing Unit – p. 3/11 CPU Registers Internal Registers Condition Flags PC Program Counter C Carry IR Instruction Register Z Zero MAR Memory Address Register N Negative MBR Memory Buffer Register V Overflow CPSR Current Processor Status Register Internal Devices User Registers ALU Arithmetic Logic Unit Rn Register n CU Control Unit n = 0 . 15 M Memory Store SP Stack Pointer MMU Mem Management Unit LR Link Register Note that each CPU has a different set of User Registers The Central Processing Unit – p. 4/11 Current Process Status Register • Holds a number of status flags: N True if result of last operation is Negative Z True if result of last operation was Zero or equal C True if an unsigned borrow (Carry over) occurred Value of last bit shifted V True if a signed borrow (oVerflow) occurred • Current execution mode: User Normal “user” program execution mode System Privileged operating system tasks Some operations can only be preformed in a System mode The Central Processing Unit – p. 5/11 Register Transfer Language NAME Value of register or unit ← Transfer of data MAR ← PC x: Guard, only if x true hcci: MAR ← PC (field) Specific field of unit ALU(C) ← 1 (name), bit (n) or range (n:m) R0 ← MBR(0:7) Rn User Register n R0 ← MBR num Decimal number R0 ← 128 2_num Binary number R1 ← 2_0100 0001 0xnum Hexadecimal number R2 ← 0x40 M(addr) Memory Access (addr) MBR ← M(MAR) IR(field) Specified field of IR CU ← IR(op-code) ALU(field) Specified field of the ALU(C) ← 1 Arithmetic and Logic Unit The Central Processing Unit – p.
    [Show full text]
  • Register Are Used to Quickly Accept, Store, and Transfer Data And
    Register are used to quickly accept, store, and transfer data and instructions that are being used immediately by the CPU, there are various types of Registers those are used for various purpose. Among of the some Mostly used Registers named as AC or Accumulator, Data Register or DR, the AR or Address Register, program counter (PC), Memory Data Register (MDR) ,Index register,Memory Buffer Register. These Registers are used for performing the various Operations. While we are working on the System then these Registers are used by the CPU for Performing the Operations. When We Gives Some Input to the System then the Input will be Stored into the Registers and When the System will gives us the Results after Processing then the Result will also be from the Registers. So that they are used by the CPU for Processing the Data which is given by the User. Registers Perform:- 1) Fetch: The Fetch Operation is used for taking the instructions those are given by the user and the Instructions those are stored into the Main Memory will be fetch by using Registers. 2) Decode: The Decode Operation is used for interpreting the Instructions means the Instructions are decoded means the CPU will find out which Operation is to be performed on the Instructions. 3) Execute: The Execute Operation is performed by the CPU. And Results those are produced by the CPU are then Stored into the Memory and after that they are displayed on the user Screen. Types of Registers are as Followings 1. MAR stand for Memory Address Register This register holds the memory addresses of data and instructions.
    [Show full text]
  • Parallel Computing in Image Processing Using GPU and CUDA Architecture
    Slovak University of Technology in Bratislava Faculty of Civil Engineering Department of Mathematics and Constructive Geometry Academic year: 2017/2018 Reg. No.: SvF-5343-63353 MASTER THESIS TOPIC Student: Bc. Alexander Baťka Student’s ID: 63353 Study programme: Mathematical and Computational Modeling Study field: 9.1.9. Applied Mathematics Thesis supervisor: Ing. Jozef Urbán, PhD. Topic: Parallel computing in image processing using GPU and CUDA architecture Language of thesis: English Specification of Assignment: Téma sa zaoberá paralelizáciou algoritmov spracovania obrazu pomocou grafických procesorov využitím architektúry CUDA (Compute Unified Device Architecture). Študent naštuduje problematiku využitia GPU pre všeobecné výpočty. Naučí sa pomocou CUDA paralelizovať výpočty používané v spracovaní obrazu ako BiConjugate Gradient Stabilized Method, filtrácia obrazu lineárnou rovnicou vedenia tepla, transformácia a registrácia obrazu. Dosiahnuté výsledky vhodne prezentuje. Selected bibliography: 1. Sanders, J. – Kandrot, E. CUDA by Example: An Introduction to General-Purpose GPU Programming. Upper Saddle River : Addison Wesley, 2011. 290 s. ISBN 978-0-13-138768-3. 2. Krivá, Z. – Mikula, K. – Stašová, O. Spracovanie obrazu: Vybrané kapitoly z prednášok. Bratislava : Slovenská technická univerzita v Bratislave, 2016. 149 s. ISBN 978-80-227-4535-2. 3. Bi-CGSTAB: A fast and smoothly converging variant of Bi-CG for the solution of nonsymmetric linear sys- tems, SIAM J. Sci. Statist. Comput., 13 (1992), pp. 631–644 4. CUDA programming: A Developers guide to parallel computing with GPUs, Shane Cook, 2013, ISBN-978- 0-12-415933-4 Assignment procedure from: 02. 10. 2017 Date of thesis submission: 10. 05. 2018 Bc. Alexander Baťka Student prof. RNDr. Radko Mesiar, DrSc. prof. RNDr.
    [Show full text]
  • Chapter 2 - Computer Evolution and Performance
    Chapter 2 - Computer Evolution and Performance A Brief History of Computers (Section 2.1) on pp. 16-38 Let's take a quick look at the history of computers so that we know where it all began. Further, we will find that most things have dramatically changed while some have not. ENIAC (Electronic Numerical Integrator and Computer) Designed by: John Mauchly and John Presper Eckert Reason: Response to wartime needs Completed: 1946 Specifics: 30 tons, 15,000 sq ft, 18000 vacuum tubes, 5000 additions/sec decimal machine with 20 accumulators each accumulator could hold a 10-digit decimal number Programming the ENIAC involved plugging and unplugging cables. If however, the program could be stored somehow and held in memory along with the data, this process would not be necessary. This is known as the "stored-program concept." Much of the credit was given to John von Neumann who helped engineer a computer (IAS) that utilized this concept and was completed in 1952. What is amazing is that today, most computers have the same general structure and function. Wow!! IAS Computer Designed by: John von Neumann Reason: Incorporate the stored-program concept Completed: 1952 Specifics: 1000 words (40-bit words) of storage, both data and instructions are stored, binary representations A word of storage can represent either an instruction or a number. The format for each is as follows: Number: bit 0 is sign bit, bits 1-39 are the number Instruction: bits 0-7 opcode of left instruction bits 8-19 address of one of the words of memory bits 20-27 opcode of right instruction bits 28-39 address of one of the words of memory Note: An instruction word really contains two instructions (left and right instructions).
    [Show full text]
  • Chapter 1 + Basic Concepts and Computer Evolution Computer Architecture 2 Computer Organization
    1 Chapter 1 + Basic Concepts and Computer Evolution Computer Architecture 2 Computer Organization • Attributes of a • Instruction set, system visible to number of bits used to represent various the programmer data types, I/O • Have a direct mechanisms, impact on the techniques for logical execution addressing memory of a program Architectural Computer attributes Architecture include: Organizational Computer attributes Organization include: • The operational • Hardware details units and their transparent to the interconnections programmer, control that realize the signals, interfaces between the computer and architectural peripherals, memory specifications technology used + IBM System 370 Architecture 3 ◼ IBM System/370 architecture ◼ Was introduced in 1970 ◼ Included a number of models ◼ Could upgrade to a more expensive, faster model without having to abandon original software ◼ New models are introduced with improved technology, but retain the same architecture so that the customer’s software investment is protected ◼ Architecture has survived to this day as the architecture of IBM’s mainframe product line System/370-145 system console. + 4 Structure and Function ◼Structure ◼ The way in which ◼ Hierarchical system components relate to each other ◼ Set of interrelated subsystems ◼Function ◼ Hierarchical nature of complex ◼ The operation of individual systems is essential to both components as part of the their design and their structure description ◼ Designer need only deal with a particular level of the system at a time ◼ Concerned
    [Show full text]
  • Microsoft Powerpoint
    William Stallings Computer Organization and Architecture Chapter 12 CPU Structure and Function Rev. 3.3 (2009-10) by Enrico Nardelli12 - 1 CPU Functions • CPU must: Fetch instructions Decode instructions Fetch operands Execute instructions / Process data Store data Check (and possibly serve) interrupts Rev. 3.3 (2009-10) by Enrico Nardelli 12 - 2 CPU Components Registri PC IR Data Lines ALU ControlControl Lines Lines AddressAddressLines Lines AC MBR CPU Internal Bus Bus InternalInternal CPU CPU MAR Control Unit Control Signals Rev. 3.3 (2009-10) by Enrico Nardelli 12 - 3 Kind of Registers • User visible and modifiable General Purpose Data (e.g. accumulator) Address (e.g. base addressing, index addressing) • Control registers (not visible to user) Program Counter (PC) Instruction Decoding Register (IR) Memory Address Register (MAR) Memory Buffer Register (MBR) • State register (visible to user but not directly modifiable) Program Status Word (PSW) Rev. 3.3 (2009-10) by Enrico Nardelli 12 - 4 Kind of General Purpose Registers • May be used in a general way or be restricted to contains only data or only addresses • Advantages of general purpose registers Increase flexibility and programmer options Increase instruction size & complexity • Advantages of specialized (data/address) registers Smaller (faster) instructions Less flexibility Rev. 3.3 (2009-10) by Enrico Nardelli 12 - 5 How Many General Purposes Registers? • Between 8 - 32 • Fewer = more memory references • More does not reduce memory references and takes up processor real estate Rev. 3.3 (2009-10) by Enrico Nardelli 12 - 6 How many bits per register? • Large enough to hold full address value • Large enough to hold full data value • Often possible to combine two data registers to obtain a single register with a double length Rev.
    [Show full text]
  • Computer System Overview: Part 1 1 What Is Operating System
    CSc33200: Operating Systems, CS-CCNY, Fall 2003 Jinzhong Niu Sep. 07, 2003 Computer System Overview: Part 1 1 What is operating system We don’t know what an OS is exactly until we have learned this course, but we may have some clues about the answer. Let’s think about it. Whenever we want to use computers, we have to boot them up first. Whatever happens in this period, we know it is the OS that is in charge of it. After the computer is available for use, we then interact with the computer through a graphical interface or text-only console. We may run programs, install or uninstall applications in the OS as we need. Thus the following picture may be suitable for describing a computer system: Users | | | | | v v v | | +---------------+ | | | Applications | v v +---------------+---------+ | OS | +-------------------------+ | Hardware | +-------------------------+ Thus, we may conclude that an operating system exploits and manages all kinds of computer hardware to provide a set of services directly or indirectly to the users. Services may be functions the human users can use directly, e.g. file creation, user management, etc., and also those that may be used indirectly, which embody as application programming interface, all kinds of libraries and functions they provide. 1 2 Computer hardware overview To build an OS, as we can see from the figure, I need to know more details about the hardware. In a computer system, there are all kinds of hardware, CPUs, mainboards, monitors, network adapters, sound cards, mice, keyboards, printers, hard disks, etc. Mainboard is not something that provides a specific function, instead it is a collection of all kinds of slots and modules.
    [Show full text]
  • Chapter 4 Objectives
    Chapter 4 Objectives • Learn the components common to every modern computer system. • Be able to explain how each component Chapter 4 contributes to program execution. MARIE: An Introduction • Understand a simple architecture invented to to a Simple Computer illuminate these basic concepts, and how it relates to some real architectures. • Know how the program assembly process works. 2 4.1 Introduction 4.2 CPU Basics • Chapter 1 presented a general overview of • The computer’s CPU fetches, decodes, and computer systems. executes program instructions. • In Chapter 2, we discussed how data is stored and • The two principal parts of the CPU are the datapath manipulated by various computer system and the control unit. components. – The datapath consists of an arithmetic-logic unit and • Chapter 3 described the fundamental components storage units (registers) that are interconnected by a data of digital circuits. bus that is also connected to main memory. • Having this background, we can now understand – Various CPU components perform sequenced operations how computer components work, and how they fit according to signals provided by its control unit. together to create useful computer systems. 3 4 4.2 CPU Basics 4.3 The Bus • Registers hold data that can be readily accessed by • The CPU shares data with other system components the CPU. by way of a data bus. • They can be implemented using D flip-flops. – A bus is a set of wires that simultaneously convey a single bit along each line. – A 32-bit register requires 32 D flip-flops. • Two types of buses are commonly found in computer • The arithmetic-logic unit (ALU) carries out logical and systems: point-to-point, and multipoint buses.
    [Show full text]
  • Computing Architectures Exploiting Optical Interconnect and Optical Memory Technologies
    ARISTOTLE UNIVERSITY OF THESSALONIKI FACULTY OF SCIENCES SCHOOL OF INFORMATICS Computing Architectures exploiting Optical Interconnect and Optical Memory Technologies DOCTORAL THESIS Pavlos Maniotis Submitted to the School of Informatics of Aristotle University of Thessaloniki Thessaloniki, November 2017 Advisory Committee: N. Pleros, Assistant Professor, A.U.TH. (Supervisor) A. Miliou, Associate Professor, A.U.TH. K. Tsichlas, Lecturer, A.U.TH. Examination Committee: A. Gounaris, Assistant Professor, A.U.TH. A. Miliou, Associate Professor, A.U.TH. G. Papadimitriou, Professor, A.U.TH. A. Papadopoulos, Associate Professor, A.U.TH. N. Pleros, Assistant Professor, A.U.TH. K. Tsichlas, Lecturer, A.U.TH. K. Vyrsokinos, Lecturer, A.U.TH. i Copyright © 2017 Pavlos Maniotis Η έγκρισή της παρούσας Διδακτορικής διατριβής από το τμήμα Πληροφορικής του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης δεν υποδηλώνει αποδοχή των γνωμών του συγγραφέως. (Ν. 5343/1932, αρ. 202, παρ. 2) iii Ευχαριστίες Η παρούσα διδακτορική διατριβή αποτελεί τον καρπό των ερευνητικών εργασιών μου που πραγματοποιήθηκαν κατά τη διάρκεια της συμμετοχής μου στην ερευνητική ομάδα των Υωτονικών ΢υστημάτων και Δικτύων (Photonic Systems and Networks – PhoS-net) του τμήματος Πληροφορικής του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης. ΢το σημείο αυτό, έχοντας πλέον ολοκληρώσει τη συγγραφή του τεχνικού κειμένου που ακολουθεί, θέλω να εκφράσω τις ειλικρινείς μου ευχαριστίες προς τα πρόσωπα των ανθρώπων που με την καθοδήγηση τους, τις συμβουλές τους αλλά και τη στήριξη τους συνέβαλαν στην πραγματοποίηση της παρούσας διατριβής. Πρώτα από όλους, θέλω να ευχαριστήσω ολόψυχα τον επιβλέποντα της διδακτορικής μου διατριβής κ. Νίκο Πλέρο, Επίκουρο Καθηγητή του τμήματος Πληροφορικής του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης. Η οκταετής και πλέον γνωριμία-συνεργασία μας ξεκινά πίσω στο 2009, όταν και ανέλαβα να εκπονήσω την πτυχιακή μου εργασία ως προπτυχιακός φοιτητής υπό την επίβλεψη του.
    [Show full text]