<?xml version="1.0" encoding="UTF-8"?>
<CourseUnit xmlns="http://www.manchester.ac.uk/CUICourseUnitDetails" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.manchester.ac.uk/CUICourseUnitDetails.xsd">
  <UnitCode Applicant="Y" Label="Unit code" Student="Y">
    <Code>COMP25212</Code>
  </UnitCode>
  <UnitTitle Applicant="Y" Label="Unit title" Student="Y">
    <Title>System Architecture</Title>
  </UnitTitle>
  <MaxUnits Applicant="Y" Label="Credit rating" Student="Y">
    <Units>10</Units>
  </MaxUnits>
  <TeachingPeriods Applicant="Y" Label="Teaching period(s)" Student="Y">
    <Period>Semester 2</Period>
  </TeachingPeriods>
  <AcademicCareer Applicant="Y" Label="Academic career" Student="Y">
    <Value>Undergraduate</Value>
  </AcademicCareer>
  <UnitLevel Applicant="Y" Label="Unit level" Student="Y">
    <Level>Level 2</Level>
  </UnitLevel>
  <StaffList Applicant="Y" Label="Teaching staff" RoleLabel="Course Unit Role" Student="Y">
    <StaffMember>
      <Name>James Garside</Name>
      <Role>Unit coordinator</Role>
    </StaffMember>
  </StaffList>
  <OfferedBy Applicant="Y" Label="Offered by" Student="Y">
    <OrganisationList>
      <Organisation>
        <OrgName>Department of Computer Science</OrgName>
      </Organisation>
    </OrganisationList>
    <GroupList>
      <Group>
        <GroupName></GroupName>
      </Group>
    </GroupList>
    <FheqLevels>
      <FheqLevel>
        <LevelNumber>1</LevelNumber>
        <LevelName>FHEQ level (Framework for Higher Education Qualifications) ' Middle part of Bachelors ' </LevelName>
      </FheqLevel>
    </FheqLevels>
    <Ects>
      <MaxUnits>European Credit Transfer &amp; Accumulation System Rating :   5.0</MaxUnits>
    </Ects>
  </OfferedBy>
  <MarketingOverview Applicant="Y" Label="Marketing Course unit overview" Student="">
    <Content>&lt;p&gt;The basic architecture of computer systems has been covered in first year course units which detailed both the instruction set architecture and the micro-architecture (hardware structure) of simple processors. Although these principles&amp;nbsp;underlie the vast majority of modern computers, there is&amp;nbsp;a wide range of both hardware and software techniques which are employed to increase the performance, reliability and flexibility of systems.&lt;/p&gt;</Content>
  </MarketingOverview>
  <UnitOverview Applicant="" Label="Course unit overview" Student="Y">
    <Content>&lt;p&gt;The basic architecture of computer systems has been covered in the first year course units which detailed both the instruction set architecture and the micro-architecture (hardware structure) of simple processors. Although these principles underlie the vast majority of modern computers, there are a wide range of both hardware and software techniques which are employed to increase performance, reliability and flexibility of these systems.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The principles covered will include: caching in order to overcome latency; pipelining to increase processor utilisation; Multi-Threading and Multi-Core principles, along with potential structures, and challenges such as memory coherency and consistency.&lt;/p&gt;</Content>
  </UnitOverview>
  <Aims Applicant="Y" Label="Aims" Student="Y">
    <Content>&lt;p&gt;The aims of this course are to introduce the most important system architecture approaches. To give a wider understanding of how real systems operate and, from that understanding, the ability to optimise their use.&lt;/p&gt;</Content>
  </Aims>
  <LearningOutcomes Applicant="Y" Label="Learning outcomes" Student="Y">
    <Content>&lt;ul&gt;&lt;li style="-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);color:rgb(81, 81, 81);font-family:Arial, sans-serif;font-size:12px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:-webkit-left;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;"&gt;describe the techniques which are employed in modern computing systems to increase performance, reliability and flexibility.&lt;/li&gt;&lt;li style="-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);color:rgb(81, 81, 81);font-family:Arial, sans-serif;font-size:12px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:-webkit-left;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;"&gt;compare the strengths and weaknesses of different system architectures.&lt;/li&gt;&lt;li style="-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);color:rgb(81, 81, 81);font-family:Arial, sans-serif;font-size:12px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:-webkit-left;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;"&gt;explain how and predict to which extent such techniques impact the performance, reliability and flexibility of computing systems.&lt;/li&gt;&lt;li style="-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);color:rgb(81, 81, 81);font-family:Arial, sans-serif;font-size:12px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:-webkit-left;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;"&gt;identify suitable system architectures for a given set of system requirements.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</Content>
  </LearningOutcomes>
  <Knowledge Applicant="Y" Label="Knowledge and understanding" Student="Y">
    <Content></Content>
  </Knowledge>
  <IntellectualSkills Applicant="Y" Label="Intellectual skills" Student="Y">
    <Content></Content>
  </IntellectualSkills>
  <PracticalSkills Applicant="Y" Label="Practical skills" Student="Y">
    <Content></Content>
  </PracticalSkills>
  <TransferableSkills Applicant="Y" Label="Transferable skills and personal qualities" Student="Y">
    <Content></Content>
  </TransferableSkills>
  <EmployabilitySkillsList Applicant="Y" Label="Employability skills" Student="Y">
    <Skill>
      <SkillId></SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
  </EmployabilitySkillsList>
  <Syllabus Applicant="Y" Label="Syllabus" Student="Y">
    <Content>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The motivation behind advanced architectural techniques.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Caching&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The need to overcome latency. Caching as a principle, examples of caching in practice. Processor cache structure and operation.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Pipelining&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Principles of pipelining. Implementation of a processor pipeline and its properties. Pipelining requirements and limitations. Additional support for pipelining.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Multi-Threading&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Basic multi-threading principles. Processor support for multi-threading. Simultaneous multi-threading.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Multi-Core&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Motivation for multi-core. Possible multi-core structures. Cache coherence.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;File System Support&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Implementation of file systems. RAID&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Virtual Machines&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Motivation for Virtual Machines. Language Virtual Machines. System Virtual Machines. Virtual Machine implementation. Binary Translation.&lt;/p&gt;</Content>
  </Syllabus>
  <TeachingMethods Applicant="Y" Label="Teaching and learning methods" Student="Y">
    <Content>&lt;p&gt;Lectures, coursework, online quizzes.&lt;/p&gt;&lt;p&gt;Guest lecture from industry (TBC).&lt;/p&gt;&lt;p&gt;Continuous feedback with students will be maintained through active participation in the classroom.&lt;/p&gt;</Content>
  </TeachingMethods>
  <AssessmentMethods Applicant="Y" Label="Assessment methods" Student="Y">
    <IntroText> </IntroText>
    <Method>
      <MethodId>1</MethodId>
      <MethodName>Written exam</MethodName>
      <MethodWeight>70%</MethodWeight>
    </Method>
    <Method>
      <MethodId>8</MethodId>
      <MethodName>Practical skills assessment</MethodName>
      <MethodWeight>30%</MethodWeight>
    </Method>
  </AssessmentMethods>
  <FeedbackMethods Applicant="Y" Label="Feedback methods" Student="Y">
    <Content>&lt;p&gt;&lt;span style="color:black;"&gt;Feedback given after assessment&lt;/span&gt;&lt;/p&gt;</Content>
  </FeedbackMethods>
  <RequirementsList Applicant="Y" Label="Pre/co-requisites" Student="Y">
    <Requirement>
      <UnitCode>COMP15111</UnitCode>
      <UnitTitle>Fundamentals of Computer Architecture</UnitTitle>
      <RequirementType>Pre-Requisite</RequirementType>
      <Description>Compulsory</Description>
    </Requirement>
    <AdditionalRequirement>Students who are not from the Department of Computer Science must have permission from both Computer Science and their home School to enrol.</AdditionalRequirement>
  </RequirementsList>
  <AcademicPrograms Applicant="Y" Label="Academic programmes" Student="Y">
    <AcademicProgram>
      <Program></Program>
      <Plan></Plan>
      <Level></Level>
      <Requirement></Requirement>
    </AcademicProgram>
  </AcademicPrograms>
  <FreeChoice Applicant="Y" Label="Available as a free choice unit?" Student="Y">
    <Content>Y</Content>
  </FreeChoice>
  <Accreditation Applicant="Y" Label="Accreditation" Student="Y">
    <Content></Content>
  </Accreditation>
  <RecommendedReading Applicant="Y" Label="Recommended reading" Student="Y">
    <Content>&lt;p&gt;COMP25212 reading list can be found on the Department of Computer Science website for current students.&lt;br/&gt;&amp;nbsp;&lt;/p&gt;</Content>
  </RecommendedReading>
  <StudyHours Applicant="Y" Label="Study hours" Student="Y">
    <IntroText> </IntroText>
    <ScheduledHours Applicant="Y" Label="Scheduled activity hours" Student="Y">
      <ActivityHours>
        <ActivityType>Assessment written exam</ActivityType>
        <Hours>2</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Lectures</ActivityType>
        <Hours>22</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Practical classes &amp; workshops</ActivityType>
        <Hours>12</Hours>
      </ActivityHours>
    </ScheduledHours>
    <PlacementHours Applicant="Y" Label="Placement hours" Student="Y">
      <ActivityHours>
        <ActivityType></ActivityType>
        <Hours>0</Hours>
      </ActivityHours>
    </PlacementHours>
    <TotalHours Applicant="Y" Label="Independent study hours" Student="Y">
      <Hours>64</Hours>
    </TotalHours>
  </StudyHours>
  <Notes Applicant="Y" Label="Additional notes" Student="Y">
    <Content>&lt;p&gt;&lt;strong&gt;Course unit materials&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Links to &lt;a href="https://studentnet.cs.manchester.ac.uk/ugt/syllabus.php"&gt;course unit teaching materials&lt;/a&gt; can be found on the School of Computer Science website for current students&lt;/p&gt;</Content>
  </Notes>
</CourseUnit>
