Главная » Просмотр файлов » Software Engineering Body of Knowledge (v3) (2014)

Software Engineering Body of Knowledge (v3) (2014) (811503), страница 66

Файл №811503 Software Engineering Body of Knowledge (v3) (2014) (Software Engineering Body of Knowledge (v3) (2014).pdf) 66 страницаSoftware Engineering Body of Knowledge (v3) (2014) (811503) страница 662020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 66)

Basic Components of a Computer System Based on the von Neumann Model8.2. Systems Engineering“Systems engineering is the interdisciplinaryapproach governing the total technical and managerial effort required to transform a set of customer needs, expectations, and constraints intoa solution and to support that solution throughout its life.” [7]. The life cycle stages of systemsengineering vary depending on the system beingbuilt but, in general, include system requirementsdefinition, system design, sub-system development, system integration, system testing, system installation, system evolution, and systemdecommissioning.Many practical guidelines have been producedin the past to aid people in performing the activities of each phase. For example, system designcan be broken into smaller tasks of identificationof subsystems, assignment of system requirements to subsystems, specification of subsystemfunctionality, definition of sub-system interfaces,and so forth.8.3. Overview of a Computer SystemAmong all the systems, one that is obviously relevant to the software engineering community isthe computer system.

A computer is a machinethat executes programs or software. It consists ofa purposeful collection of mechanical, electrical,and electronic components with each componentperforming a preset function. Jointly, these components are able to execute the instructions thatare given by the program.Abstractly speaking, a computer receives someinput, stores and manipulates some data, andprovides some output. The most distinct featureof a computer is its ability to store and executesequences of instructions called programs. Aninteresting phenomenon concerning the computeris the universal equivalence in functionality.According to Turing, all computers with a certainminimum capability are equivalent in their ability to perform computation tasks.

In other words,given enough time and memory, all computers—ranging from a netbook to a supercomputer—arecapable of computing exactly the same things,irrespective of speed, size, cost, or anything else.Most computer systems have a structure thatis known as the “von Neumann model,” whichconsists of five components: a memory for storinginstructions and data, a central processing unitfor performing arithmetic and logical operations,a control unit for sequencing and interpretinginstructions, input for getting external information into the memory, and output for producingresults for the user. The basic components of acomputer system based on the von Neumannmodel are depicted in Figure 13.3.Computing Foundations  13-139. Computer Organization[8*, c1–c4]From the perspective of a computer, a widesemantic gap exists between its intended behavior and the workings of the underlying electronicdevices that actually do the work within the computer.

This gap is bridged through computer organization, which meshes various electrical, electronic, and mechanical devices into one devicethat forms a computer. The objects that computerorganization deals with are the devices, connections, and controls. The abstraction built in computer organization is the computer.9.1. Computer Organization OverviewA computer generally consists of a CPU, memory, input devices, and output devices. Abstractlyspeaking, the organization of a computer can bedivided into four levels (Figure 13.4).

The macroarchitecture level is the formal specification of allthe functions a particular machine can carry outand is known as the instruction set architecture(ISA). The micro architecture level is the implementation of the ISA in a specific CPU—in otherwords, the way in which the ISA’s specificationsare actually carried out. The logic circuits levelis the level where each functional componentof the micro architecture is built up of circuitsthat make decisions based on simple rules. Thedevices level is the level where, finally, each logiccircuit is actually built of electronic devices suchas complementary metal-oxide semiconductors(CMOS), n-channel metal oxide semiconductors(NMOS), or gallium arsenide (GaAs) transistors,and so forth.Macro Architecture Level (ISA)Micro Architecture LevelLogic Circuits LevelDevices LevelFigure 13.4.

Machine Architecture LevelsEach level provides an abstraction to the levelabove and is dependent on the level below. To aprogrammer, the most important abstraction isthe ISA, which specifies such things as the nativedata types, instructions, registers, addressingmodes, the memory architecture, interrupt andexception handling, and the I/Os. Overall, theISA specifies the ability of a computer and whatcan be done on the computer with programming.9.2. Digital SystemsAt the lowest level, computations are carried outby the electrical and electronic devices within acomputer.

The computer uses circuits and memory to hold charges that represents the presenceor absence of voltage. The presence of voltageis equal to a 1 while the absence of voltage is azero. On disk the polarity of the voltage is represented by 0s and 1s that in turn represents the datastored. Everything—including instruction anddata—is expressed or encoded using digital zerosand ones. In this sense, a computer becomes adigital system. For example, decimal value 6 canbe encoded as 110, the addition instruction maybe encoded as 0001, and so forth. The componentof the computer such as the control unit, ALU,memory and I/O use the information to computethe instructions.9.3. Digital LogicObviously, logics are needed to manipulate dataand to control the operation of computers.

Thislogic, which is behind a computer’s proper function, is called digital logic because it deals withthe operations of digital zeros and ones. Digitallogic specifies the rules both for building variousdigital devices from the simplest elements (suchas transistors) and for governing the operation ofdigital devices. For example, digital logic spellsout what the value will be if a zero and one isANDed, ORed, or exclusively ORed together.

Italso specifies how to build decoders, multiplexers (MUX), memory, and adders that are used toassemble the computer.9.4. Computer Expression of DataAs mentioned before, a computer expresses datawith electrical signals or digital zeros and ones.Since there are only two different digits used in13-14  SWEBOK® Guide V3.0data expression, such a system is called a binaryexpression system. Due to the inherent nature ofa binary system, the maximum numerical valueexpressible by an n-bits binary code is 2n − 1.Specifically, binary number anan−1…a1a0 corresponds to an × 2n + an−1 × 2n−1 + … + a1 × 21 +a0 × 20. Thus, the numerical value of the binaryexpression of 1011 is 1 × 8 + 0 × 4 + 1 × 2 + 1× 1 = 11.

To express a nonnumerical value, weneed to decide the number of zeros and ones touse and the order in which those zeros and onesare arranged.Of course, there are different ways to do theencoding, and this gives rise to different dataexpression schemes and subschemes. For example,integers can be expressed in the form of unsigned,one’s complement, or two’s complement. Forcharacters, there are ASCII, Unicode, and IBM’sEBCDIC standards. For floating point numbers,there are IEEE-754 FP 1, 2, and 3 standards.9.5. The Central Processing Unit (CPU)The central processing unit is the place whereinstructions (or programs) are actually executed.The execution usually takes several steps, including fetching the program instruction, decodingthe instruction, fetching operands, performingarithmetic and logical operations on the operands, and storing the result.

The main components of a CPU consist of registers where instructions and data are often read from and written to,the arithmetic and logic unit (ALU) that performsthe actual arithmetic (such as addition, subtraction, multiplication, and division) and logic (suchas AND, OR, shift, and so forth) operations, thecontrol unit that is responsible for producingproper signals to control the operations, and various (data, address, and control) buses that link thecomponents together and transport data to andfrom these components.9.6. Memory System OrganizationMemory is the storage unit of a computer. It concerns the assembling of a large-scale memorysystem from smaller and single-digit storageunits.

The main topics covered by memory system architecture include the following:•  Memory cells and chips•  Memory boards and modules•  Memory hierarchy and cache•  Memory as a subsystem of the computer.Memory cells and chips deal with single-digitalstorage and the assembling of single-digit unitsinto one-dimensional memory arrays as wellas the assembling of one-dimensional storagearrays into multi-dimensional storage memorychips.

Memory boards and modules concern theassembling of memory chips into memory systems, with the focus being on the organization,operation, and management of the individualchips in the system. Memory hierarchy and cacheare used to support efficient memory operations.Memory as a sub-system deals with the interfacebetween the memory system and other parts ofthe computer.9.7. Input and Output (I/O)A computer is useless without I/O. Commoninput devices include the keyboard and mouse;common output devices include the disk, thescreen, the printer, and speakers. Different I/Odevices operate at different data rates and reliabilities. How computers connect and managevarious input and output devices to facilitate theinteraction between computers and humans (orother computers) is the focus of topics in I/O.The main issues that must be resolved in inputand output are the ways I/O can and should beperformed.In general, I/O is performed at both hardware and software levels.

Hardware I/O can beperformed in any of three ways. Dedicated I/Odedicates the CPU to the actual input and outputoperations during I/O; memory-mapped I/O treatsI/O operations as memory operations; and hybridI/O combines dedicated I/O and memory-mappedI/O into a single holistic I/O operation mode.Coincidentally, software I/O can also be performed in one of three ways. Programmed I/Olets the CPU wait while the I/O device is doingI/O; interrupt-driven I/O lets the CPU’s handlingof I/O be driven by the I/O device; and directmemory access (DMA) lets I/O be handled by asecondary CPU embedded in a DMA device (orComputing Foundations  13-15channel). (Except during the initial setup, themain CPU is not disturbed during a DMA I/Ooperation.)Regardless of the types of I/O scheme beingused, the main issues involved in I/O include I/Oaddressing (which deals with the issue of how toidentify the I/O device for a specific I/O operation), synchronization (which deals with the issueof how to make the CPU and I/O device workin harmony during I/O), and error detection andcorrection (which deals with the occurrence oftransmission errors).10. Compiler Basics[4*, s6.4] [8*, s8.4]10.1. Compiler/Interpreter OverviewProgrammers usually write programs in highlevel language code, which the CPU cannot execute; so this source code has to be converted intomachine code to be understood by a computer.Due to the differences between different ISAs,the translation must be done for each ISA or specific machine language under consideration.The translation is usually performed by a pieceof software called a compiler or an interpreter.This process of translation from a high-level language to a machine language is called compilation, or, sometimes, interpretation.10.2. Interpretation and CompilationThere are two ways to translate a program written in a higher-level language into machine code:interpretation and compilation.

Характеристики

Тип файла
PDF-файл
Размер
6,58 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6310
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее