CALectureWeek1.ppt

Kent Institute Australia Pty. Ltd.
ABN 49 003 577 302 CRICOS Code: 00161E

RTO Code: 90458 TEQSA Provider Number: PRV12051
CARC103 – Computer Architecture
*

*

Prescribed Text
Bird, S. D. (2017), Systems Architecture, 7th ed, Cengage Learning
*

*

Systems Architecture,

Seventh Edition
Chapter 2
Introduction To Systems Architecture
*

*

Chapter Objectives
In this chapter, you will learn to:
Discuss the development of automated computing
Describe the general capabilities of a computer
Describe computer hardware components and their functions
List computer system classes and their distinguishing characteristics
Describe the components and functions of computer networks
Describe the roles, functions, and layers of application and system software

*

Automated Computation
An automated computation device can:
Accept numeric inputs
Perform computational functions
Communicate results
The list above is sometimes summarized as input – process – output
The list of capabilities is very general and can implemented with various devices implemented with underlying technologies based on:
Biology
Mechanics
Electronics
Optics
Quantum mechanics

*

Biological Computing
Humans can perform input – process – output via the electrochemical processes of our brain and nervous system
Biological “technology” occasionally finds use in computer systems, for example:
Displays that use “organic” LEDs
“Genetic” algorithms for applications such as scheduling

*

Mechanical Computing
Mechanical computers were developed in the early 1800s and were in use as recently as the 1970s
The key to performing mechanical computation is to exploit the mathematics underlying a mechanical device
The physical operation of gears, levers, and other mechanical devices can be described mathematically
Operating the device “performs” the mathematical function

*

Mechanical Computer Example

Babbage Difference Engine
© Science Museum/Science & Society Picture Library
© Maritime Park Association
*

Mechanical Computing – Shortcomings
Complexity
Implementing complex mathematical functions requires correspondingly complex machines
Designing and building complex machines is difficult and expensive
Reliability
Mechanical devices are subject to wear, resulting in loss of precision or outright failure
Maintenance requirements are high
Speed
The speed at which an automated device “computes” is fundamentally limited by the speed of its moving parts
The mass of mechanical parts combined with wear places a relatively low upper bound on their computational speed
For example, How quickly can the crank on the Babbage difference engine be turned without breaking the machine?

*

Electronic Computing
The behavior of electronic devices such as resistors, capacitors, and switches can be mathematically described, thus providing a basis for electrical computation
As humans gained experience with electricity, electrical devices became simpler and cheaper to design, build, and operate than mechanical devices
Modern microprocessors have over a billion transistors (and many additional “parts”)
Imagine a mechanical machine with a billion moving parts
Electricity moves at nearly the speed of light, much faster than any mechanical part can move

*

Optical Computing
Light moves quickly and interacts with optical devices in mathematically describable ways
Optics is gradually supplanting electricity (and it’s cousin, magnetism) in various areas of systems architecture:
Data storage – for example, DVDs and holographic storage)
Communications – for example, fiber optic network cabling and fiber optic communication among CPUs in a supercomputer
Optics may supplant electronics for processor implementation in the next few decades

*

Data Representation
Most forms of automated computing rely on clearly identifiable states of a machine “part” to represent data values – for example:
Two neurons are or aren’t connected by a synapse
A gear is rotated to a specific position
An electrical switch is open or closed
The clearly identifiable states provide the basis for representing a binary digit – zero or one – a bit
Automated computers operating on single-state data inputs produce single-state outputs (for example A + B = C, C is always a single value if A and B are single values)
Quantum physics turns this entire concept on its ear!

*

Quantum Computing
“Strange” features of quantum physics:
Quantum particles can exist in multiple states at the same time – a qubit
Quantum “digits” of a multibit data value can store many different values at once
Quantum manipulation (computation) on qubit inputs produces qubit outputs – in essence, one computational “action” yields many computational results – a form of parallel processing
The inherent parallelism of quantum computation is well-applied in fields such as numerical simulation and cryptography
Now for the hard part, building a cheap and reliable computer that manipulates qubits!!

*

Quantum Computing – Continued
D-Wave Systems has marketed quantum computers since 2010
Very exotic and expensive
Software designers are still figuring out how best to use them

D-Wave 512 qubit processor © D-Wave Systems, Inc.
*

Computer Capabilities
Computers are automated computation devices
But all automated computation devices aren’t computers
Features that distinguish computers include:
A general-purpose processor
Performs computations
Performs “logic” functions such as comparison and branching
Large amounts of storage for instructions and data
Communication flexibility – many devices for many purposes

*

Computer Processors
A processor is a device that can perform the following functions:
Computation (+, ‒, ×, ÷)
Comparison (<, =, >, ≠, ≤, ≥)
Data movement among memory, mass storage, and I/O devices
An instruction is a command to a processor to perform a specific function (e.g., addition) on specific data input(s)
Each instruction is relatively simple
When a computer “follows an instruction” it is said to be executing the instruction
Complex tasks are accomplished by combining many instructions into a program and executing the program

*

General- and Special-Purpose Processors
A general-purpose processor:
Reads its program instructions from a storage device
The content of the storage device can be changed, thus changing the program and the function performed by the processor
A special-purpose processor either:
Uses program storage that can’t be altered (e.g., read-only memory)
Has a single program “wired” into the processor

*

Formulas versus Algorithms
A formula is a complex mathematical relationship that can be “solved” with a specific sequence of instructions
The same instruction sequence works regardless of the data input values
An algorithm is more complex than a formula
Instruction sequence varies depending on data input characteristics
Varying the instruction sequence requires the ability to:
Evaluate a condition – e.g., is a data input greater than some threshold value
Alter instruction sequence – i.e., branching

*

Algorithm Example
Burd, Systems Architecture, seventh edition, Figures 2-4 and 2-5, Copyright © 2015 Course Technology
10 INPUT INCOME
20 IF INCOME > 9075 THEN GOTO 50
30 TAX = INCOME * 0.10
40 GOTO 180
50 IF INCOME > 36900 THEN GOTO 80
60 TAX = 907.50 + (INCOME − 9075) * 0.15)
70 GOTO 180
80 IF INCOME > 89350 THEN GOTO 110
90 TAX = 5081.25 + (INCOME − 36900) * 0.25)
100 GOTO 180
110 IF INCOME > 186350 THEN GOTO 140
120 TAX = 18193.75 + (INCOME − 89350) * 0.28)
130 GOTO 180
140 IF INCOME > 405100 THEN GOTO 170
150 TAX = 45353.75 + (INCOME − 186350) * 0.33)
160 GOTO 180
170 IF INCOME > 406750 THEN GOTO 200
180 TAX = 117541.25 + (INCOME − 405100) * 0.35)
190 GOTO 210
200 TAX = 118118.75 + (INCOME − 406750) * 0.396)
OUTPUT TAX

220 END
*

Algorithms and “Intelligent” Behavior
Evaluating conditions and altering behavior are the cornerstone of what we perceive as logic or intelligence
For example, evaluating whether the characteristics of a street, oncoming traffic, and your own physiology enable you to cross the street without being run over
For this reason, the instructions that implement comparison and branching are sometimes called logic instructions
A computer’s logic instructions are more limited than a human’s, but a computer can execute a large number of them quickly and reliably (e.g., anti-lock brakes)

*

Storage
Computers needs to store:
Intermediate processing results (for example, when solving a complex formula)
Data (output of past program executions and input to future program executions)
Programs
Each storage category has different characteristics including importance, quantity, and access time-frame
Those characteristics may also vary within each category
Different mixes of data characteristics drive the need for a variety of storage devices and technologies, each tailored to cost-effectively match the data characteristics with appropriate device characteristics such as:
Speed
Volatility
Cost per bit

*

Communication Capabilities
Computers must be able to communicate with:
Humans
Vision (e.g., video displays and printers for output, scanners and cameras for input)
Sound (e.g., music and beeps for output, speech for input)
Mechanics and touch (e.g., mouse, keyboard, and touch screen)
Other Computers
Wired communication (e.g., via Cat6 or fiber-optic cable)
Wireless communication (e.g., via infrared or radio frequency transmission and reception)

*

*
Computer Hardware
Figure 2.6 The major functions of computer hardware
Courtesy of Course Technology/Cengage Learning

Hardware Components
*
Figure 2.7 The hardware components of a computer system
Courtesy of Course Technology/Cengage Learning

Central Processing Unit
A central processing unit (CPU) is a general-purpose processor that executes instructions
CPUs are implemented on microprocessor “chips”
Modern chips can have multiple CPUs in a single chip (e.g., Intel Core i7)
The CPU is the computer’s “brain”
Like a human brain, a CPU is internally divided into regions that perform specialized functions

*

CPU Components
Arithmetic-logic unit (ALU)
Performs computation and logic instructions
Registers
Internal storage locations – each holds one data item
Hold inputs to and outputs from the ALU
Control unit
Moves data among registers and other computer system storage locations
Accesses program instructions and either executes them (data movement) or directs the ALU to execute them (computation and logic instructions)

Figure 2.8 Components of the CPU
Courtesy of Course Technology/Cengage Learning
*

Primary Storage
Primary storage, also called, main memory or just memory, is an area of high-speed storage that:
Holds programs currently being executed
Holds data inputs needed (or expected to be needed) immediately by executing programs
Is implemented outside the CPU
Is implemented “close” to the CPU to improve access speed
Is implemented using “fast” devices to improve access speed
Is volatile (loses its content when power is lost)
In modern computers, primary storage:
Is implemented with electronic random-access memory (RAM)
Contents can be moved to/from the CPU in a few nanoseconds
Capacity is normally a few gigabytes (billion data items) per CPU

*

Secondary Storage
Secondary storage is one or more storage areas that:
Hold large quantities of data and programs (typically hundreds of billions to a few quadrillions of data items)
Is non-volatile (holds content indefinitely)
Is much cheaper per bit than primary storage
Is much slower than primary storage
Secondary storage devices include:
Magnetic disk
Optical disk
Flash RAM (and solid-state drives)
Magnetic tape

*

Storage Comparison Summary
Table 2.1 Comparison of storage types
Courtesy of Course Technology/Cengage Learning
*

Type Implementation Content Typical quantity

CPU Registers High-speed electrical devices implemented within the CPU Currently executing instruction(s) and associated data inputs and outputs Several dozen to a few hundred per CPU

Primary storage High-speed electrical devices (RAM) implemented outside but close to the CPU Current programs and immediately needed data to the extent it will fit 1-8 billion data items per CPU

Secondary Storage Low-speed electromagnetic and optical devices Programs not currently being executed and data not currently being accessed by programs Billions (gigabytes), trillions (terabytes), or quadrillions (exabytes) of data items

Systems Bus
The system bus is the communication channel that connects all devices in the computer system
Bus speed is a critical factor in determining the overall speed of the computer system
Modern computers use additional buses improve performance – for example,
Storage bus – to connect multiple magnetic disk drives to a single connection point on the system bus
CPU-memory bus – for direct transfer of data between the CPU and primary storage
Video bus – for direct transfer of data between memory and the video/graphics controller

*

Input/Output Devices
For example:
Video display units
Touch screen
Keyboard and mouse
Joystick
Microphone
Speaker
Webcam
Printer
Bar code scanner
Network interface card
USB or Firewire port

*

Personal Computing Devices (2014)
Table 2.2 Typical personal computing products
Courtesy of Course Technology/Cengage Learning
*

Type Typical product Typical specifications Cost

Smart phone Samsung Galaxy S5 5.1 inch touchscreen
16 megapixel camera
1 CPU, 3 GB RAM
32 GB flash RAM $600

Tablet computer Apple iPad mini 3 7.9 inch touchscreen
5 megapixel camera
1 CPUs, 1 GB RAM
64 GB flash RAM $500

Laptop computer Lenovo Flex2 15.6 inch touchscreen
2 CPU with integrated graphics
4 GB RAM
500 GB hybrid disk drive $600

Desktop computer HP Pavillion 23t All-in-One PC 23 inch touchscreen
2 CPUs with integrated graphics
8 GB RAM
1 TB hybrid disk drive
Rewritable Blu-ray DVD drive $950

Workstation Dell Precision T5810 Dual 23 inch touchscreens
4 high-speed CPUs
16 GB RAM
High-performance video card
1 TB hybrid disk drive
Tower case with expansion bays  $3300

Microcomputers and Workstations
Personal computing devices
Meets the needs of one user at a time
Subclasses
Workstations
Laptops
Tablets
Smart phones
Workstation
Desktop computer―Ordinary or “high-end”
High-end
Has greater CPU power, more memory, better graphics, and/or faster secondary storage
Customized for very demanding single-user tasks such as video editing, animation, and computer-aided design

*

Smart Devices
Small computers can be embedded in a wide variety of smart devices, including:
Appliances
Phones
Power tools
Televisions
Vehicles

http://www.embeddedarm.com/products/board-pictures.php?product=TS-4900

*

Midrange Computer
Midrange computer
Supports up to several dozen simultaneous users in one or more modes:
Sharing a resource via a network such as email messages/folders, a database, or a Web site)
Multiple directly-attached video display terminals (e.g., Citrix)
Virtual computing – hosting multiple “virtual” microcomputers
Typical subsystem capabilities:
1-16 CPUs
1-8 GB memory per CPU
Large, fast, fault-tolerant secondary storage subsystem
Embedded or directly-connected secondary storage backup
Multiple high-speed network connections
Redundant power supplies
Typical cost is $5,000-$50,000
Can also be used as a building block for larger computers

*

Mainframe Computer
A mainframe computer scales up the ability to support simultaneous users and programs:
Dozens of CPUs
Memory to match
Sustained data transfer rates among primary and secondary storage measured in hundreds of megabytes or gigabytes per second
Sustained data transfer to/from networks measured in tens of gigabits per second
Ability to manage and utilize terabytes of data
Cost ranging up to $1,000,000

*

Supercomputer
A supercomputer has one primary purpose:
Perform as many calculations as possible in as short a time as possible
This implies other high-end capabilities (e.g., memory size and speed) but they are secondary to computational performance
See http://www.top500.org

Typical specs:
Hundreds to hundreds of thousands of CPUs performing trillions to quadrilliions of calculations per second
Modular architecture:
All CPUs working on one big problem, or
CPU subsets assigned to separate problems
Cost – $1,000,000 to start, the sky is the limit!

*

Typical Computers in 2009
*

Class Typical product Typical specifications Approximate cost CPUs

Portable Dell Latitude E6400 4 billion main memory cells
250 billion disk storage cells
Rewritable DVD drive
14-inch display $1150 2

Microcomputer Dell Optiplex 760 4 billion main memory cells
500 billion disk storage cells
Rewritable DVD drive $1000 2

Workstation Dell Precision T7500 12 billion main memory cells
1.5 trillion disk storage cells
Rewritable high-capacity DVD drive
Dual high-speed 3D graphics processors $8350 8

Midrange Dell PowerEdge T610 16 billion main memory cells
4 trillion high-speed disk storage cells
High-speed fault-tolerant storage subsystem
Tape backup $15,050 8

Mainframe IBM Z10 E64 512 billion main memory cells
100 trillion high-speed disk storage cells
High-capacity tape archive system
Four high-speed network interfaces $500,000 64

Supercomputer IBM Blue Gene/P 2 trillion main memory cells
No internal disk storage $1,300,000 4096

Typical Server Computers in Late 2014
*

Class Product Specifications Cost

Midrange Dell PowerEdge R420 4 CPUs
32 GB RAM
Eight 300 GB removable solid state disks
Fault-tolerant storage subsystem
DVD drive
Dual gigabit network interfaces
Dual power supplies $7,765

Mainframe HP Integrity Superdome 2 256 CPUs
8 TB RAM
128 gigabit network interfaces
64 power supplies
No secondary storage (purchased separately) $500,000

Supercomputer Stampede 522,080 CPUs
260 GB
15.6 petabytes $51,500,000

Server
A server is a computer system that manages one or more shared resources (e.g., file systems, databases, web sites) and makes them available to users on other computers via a network
Server is a mode of use, not a hardware class
The hardware class required to implement a server varies with the resource(s) and the number of simultaneous users, for example:
Small static web site – any old PC
1 terabyte database with 50-100 users – midrange computer
Best Buy E-Commerce site – mainframe or cluster of midrange computers
Weather forecasting and climate prediction – supercomputer for computations with data storage managed by mainframes and/or midrange computers

*

Vague Computer Class Boundaries
A computer near the “edge” of one class can often be “pushed” into the next class by adding some key hardware.
For example,
Starting with a high-end desktop, add a high-end graphics card, more memory, and a second microprocessor (or upgrade the original one) to create a workstation
Starting with a workstation, delete the high-end graphics card, add a SAS RAID controller, 7 more hard disks, and a second network card to produce a low-end midrange computer
Cluster 4-8 high-end midrange computers together with a high-speed private network to mimic a mainframe
Bottom line – flexible hardware platforms and multicomputer configurations blur the distinctions among computer classes

*

Multicomputer Configurations
Cluster
Similar or identical computers connected by a high-speed network in a dedicated configuration
Cooperate to simulate a larger-capacity computer either by redundancy/parallelism, specialization, or both
Blade Server
Essentially a cluster housed within one cabinet
Blades are circuit boards that contain most of a computer system (limited secondary storage and I/O)

*

Multicomputer Configurations – Continued
Grid
Member computer systems are dissimilar and aren’t always working together
Tends to use “ordinary” network connections not dedicated to the grid since computers may be widely dispersed
Cloud
An extension of the grid concept
Users interact with a front-end system which in turn musters whatever grid resources are needed
Clouds typically employ some form of virtualization, which enables “cloned” machines to be quickly brought on-line
Clouds maintain resources such as storage and web sites on behalf of users – the resources are permanently located “outside” the using organization

*

Folding@Home
A grid approach to modeling the folding behavior of complex proteins
Grid members interact with servers to download work units and upload results after execution
Severs manage workflow and assemble solution “parts”
Takes advantage of idle CPU capacity

*

Is Bigger Always Better?
Communication among components within the same “box” is more efficient that communication among boxes
For applications that require lots of parallel processing and communication, a “box” that matches the application demands is most efficient from a performance perspective
Examples, many types of numerical simulation, data mining, database servers
But !!!
Cost per CPU cycle increases with computer class
Advances in grid and networking technology have reduced the “multi-box penalty” in communication performance
There are many applications that are too big for any one box
Thus, for most applications, cost-effective performance is achieved with the smallest possible box, or a set of small boxes in a grid or cluster
In other words, Grosch was right in the 1950s but is wrong today

*

The Role of Software
A computer system does “work” by executing instructions contained within programs
Where do the programs and instructions come from?
What do they do?
What do they “look” like?
The origin of any program is a user need – a task for the computer system to accomplish or help the user to accomplish – for example:
Generate my company’s income statement
Spell-check my term paper
Find email messages in my inbox from specific senders
Play a video from YouTube
Tell me what my “friends” are doing and saying

*

The Role of Software – Continued
The role of software is to convert a user request or statement of need into a set of instructions that will satisfy the request/need when executed
Software translates user requests into machine actions

Figure 2.15 The role of software as a translator between user requests and CPU instructions
*

Software as a Translator
Human requests are initially stated or formulated in a human language such as English:
The language may be general and imprecise
The concepts embodied in the request are abstract
The request or command originally embodied in language/thought may be translated into user action (e.g., a mouse click or a typed command)
The CPU can only execute machine instructions which are:
Short strings of zeros and ones
Are very precise
Are very low-level and detailed (e.g., add the numbers in registers 1 and 2 and store the result in register 3).
Software bridges the gaps between human and machine languages:
General/imprecise to specific/precise
High-level abstraction to low-level details
The greater these two “gaps”:
The more work the software has to do to perform the translation
The more complex is the software
The more hardware resources are consumed by the software

*

Software Types
Software can be roughly classified as application or system
Application software – satisfies a specific user need or a specific (narrowly defined) class of needs, for example:
Word processing program
MP3 player/burner
Video editing software
Payroll program
System software
Satisfies a very general class of user needs
May rarely or never interact with end users
Tends to “hide” in the background
Manages or controls hardware resources
Examples:
Operating system
Database management system
Firewall/Antivirus

*

Software Layers
One of system software’s most important roles is to manage hardware resources and access them on behalf of users and their application software
This is another form of translation that enables application software to make general requests such as “Store this file in my MGMT 337 folder” and leave it to system software to carry out the details of the task
A key benefit for application software is machine independence (a.k.a. hardware independence)
Application software doesn’t manage or directly interact with computer hardware
Thus, application software can more easily be “moved” to different hardware without rewriting it

Figure 2.13 The interaction between the user, application software, system software, and computer hardware
Courtesy of Course Technology/Cengage Learning
*

Web-Based Applications
A Web-based application has the following characteristics:
Uses a Web browser as the primary user interface
Users access the application via a URL
Server-side software components execute or a called from a Web server
Web standards used for browser-server communication

Figure 2.17 Amazon.com main shopping application
Courtesy of Course Technology/Cengage Learning
*

Web-Based Applications

Hardware and software Components
Figure 2.18 Hardware and software components of the Amazon.com shopping application
Courtesy of Course Technology/Cengage Learning
*

Web Services
A web service is a software component accessed over the Internet using Web protocols
A Web service is software function, subroutine, method, or program that:
Is “called” from one application via a URL or other web protocol
Accepts input data embedded within the URL or via another protocol
Executes on the web service owner’s servers
Returns processing results encoded within a Web page or document
Web services enable software functions developed by organization to be embedded within the information system of another organization

*

Web Service Example
How does an e-commerce site like Amazon tell you how much a shipment will cost?
Shippers such as FedEx and UPS provide cost estimators as Web services
E-commerce sites pass shipping data to those services as input and receive cost and delivery date as output
Payment approval and processing is another web service example

Figure 2.19 Shipping options for an Amazon.com purchase
Courtesy of Course Technology/Cengage Learning
*

Embedded Software
End user and server computing devices run a rich set of embedded software
For an end-user device, embedded software components include:
Operating system (e.g., Microsoft Windows and Android)
Preinstalled apps (e.g., Maps on an Android phone)
Web browser (e.g., Safari on a Mac laptop)
Toolbars and plug-ins (e.g., Adobe flash or a PDF reader)
Embedded software provides benefits and challenges to application software developers:
When developing application software, a developer can rely on embedded software to do some of the work
Embedded software can provide consistent “look and feel” to apps written by different developers
Differences among embedded software across devices mean that developers must often write software for multiple “targets” – for example,
iPhone
Android phone
Windows phone

*

Operating Systems
An operating system is a collection of utility programs that:
Supports users and application programs
Allocates computer resources among multiple users and application programs
Controls access to computer hardware
Operating systems are the most important type of system software
Examples of operating systems include:
Microsoft Windows
iOS (Macs and iPhones)
Unix/Linux (in dozens of flavors!)
Android
MS-DOS

*

Operating Systems – Continued
Operating system functions include:
Program storage, loading, and execution
File manipulation and access
Secondary storage management
Network and interactive user interfaces
Operating systems tend to be large complex pieces of software due to the myriad functions they perform
Some operating systems (e.g., Windows) try to be “all things to all people” thus increasing their size and complexity
Others (e.g., UNIX) implement a smaller set of core functions and leave it to users or others to write programs that extend the operating system’s capabilities

*

Computer Networks
A computer network:
Is a collection of hardware and software components
Enables multiple users and computer systems to share information, software, and hardware resources
Enables various forms of interpersonal communication such as email, Facebook, Wikis, …

Figure 2.13 Computer network functions and their relationship to computer hardware and software
Courtesy of Course Technology/Cengage Learning
*

Internet and World Wide Web
The terms Internet and World Wide Web are often …

Place your order
(550 words)

Approximate price: $22

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
The price is based on these factors:
Academic level
Number of pages
Urgency
Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our guarantees

Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.

Money-back guarantee

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Read more

Zero-plagiarism guarantee

Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.

Read more

Free-revision policy

Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.

Read more

Privacy policy

Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.

Read more

Fair-cooperation guarantee

By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.

Read more
Open chat
1
You can contact our live agent via WhatsApp! Via + 1 929 473-0077

Feel free to ask questions, clarifications, or discounts available when placing an order.

Order your essay today and save 20% with the discount code GURUH