Difference between revisions of "SBR600 Potential Projects"

From CDOT Wiki
Jump to: navigation, search
(Created page with ' = Introduction = This is a list of potential projects related to the SBR600 course that need people. Students: If you'd like to work on one of these, move the chosen proj…')
 
(To Thumb or Not To Thumb?)
Line 19: Line 19:
 
== To Thumb or Not To Thumb? ==
 
== To Thumb or Not To Thumb? ==
  
The core of all ARM processors are designs licensed from [http://www.arm.com ARM Ltd]. There are several different [[:fedora:ARM_architecture#ARM_cores|architecture versions]]; Fedora-ARM targets the armv5tel architecture as a "lowest common denominator" among current ARM chips. This architecture supports a '''thumb''' instruction set, which uses 16-bit instructions instead of 32-bit instructions, leading to a higher code density.
+
The core of all ARM processors are designs licensed from [http://www.arm.com ARM Ltd]. There are several different [[:fedora:ARM_architecture#ARM_cores|architecture versions]]; Fedora-ARM targets the armv5tel architecture as a "lowest common denominator" among current ARM chips. This architecture supports a ''thumb'' instruction set, which uses 16-bit instructions instead of 32-bit instructions, leading to a higher code density.
  
 
Fedora-ARM does not use thumb. The purpose of this project is to discover whether thumb provides any significant savings in terms of code size, whether programs compiled to thumb execute more quickly or more slowly than non-thumb programs on common ARM processors, whether a thumb compilation takes more or less time than non-thumb, and whether there are any other factors that would influence the decision to support thumb. Ultimately, this project should make a recommendation on the use of the thumb instruction set for the Fedora-ARM secondary architecture.
 
Fedora-ARM does not use thumb. The purpose of this project is to discover whether thumb provides any significant savings in terms of code size, whether programs compiled to thumb execute more quickly or more slowly than non-thumb programs on common ARM processors, whether a thumb compilation takes more or less time than non-thumb, and whether there are any other factors that would influence the decision to support thumb. Ultimately, this project should make a recommendation on the use of the thumb instruction set for the Fedora-ARM secondary architecture.

Revision as of 09:15, 14 August 2010


Introduction

This is a list of potential projects related to the SBR600 course that need people.

Students: If you'd like to work on one of these, move the chosen project to the Project List and create a page for your work based on the Sample Project template.

Open Source Community Members: We welcome your recommendations for potential projects. Please create an account on this Wiki and create a description for your proposed project below. Please list your contact info (just an IRC or FAS2 name is OK) as well as links to any related web pages as Resources for the proposed project. (Questions? Ask Chris Tyler or David Humphrey).

Sample Project

This is a sample project stub. You can use the template for Sample Project in order to create a project page for one of the stubs below. This is how you 'sign-up' for a project.

NOTE: if someone has already created the project page, speak to this person and see if you can join them. If so, simply add your name to the Project Leader(s) page. Otherwise, you can become a contributor later.

Fedora-ARM Projects

To Thumb or Not To Thumb?

The core of all ARM processors are designs licensed from ARM Ltd. There are several different architecture versions; Fedora-ARM targets the armv5tel architecture as a "lowest common denominator" among current ARM chips. This architecture supports a thumb instruction set, which uses 16-bit instructions instead of 32-bit instructions, leading to a higher code density.

Fedora-ARM does not use thumb. The purpose of this project is to discover whether thumb provides any significant savings in terms of code size, whether programs compiled to thumb execute more quickly or more slowly than non-thumb programs on common ARM processors, whether a thumb compilation takes more or less time than non-thumb, and whether there are any other factors that would influence the decision to support thumb. Ultimately, this project should make a recommendation on the use of the thumb instruction set for the Fedora-ARM secondary architecture.

Supporting Architectures Above armv5tel

The armv5tel architecture version is supported by some common devices such as the Marvell Feroceon processors used in most plug computers. However, later versions of the architecture support advanced features, and using armv5tel code on those processors may result in suboptimal performance.

This project will research ways that Fedora-ARM could support higher processor versions effectively without recompiling the entire Fedora package universe -- for example, by providing an armv7* glibc and kernel. This involves performance testing and multiarch considerations.

Fedora-ARM Dogfood

The Fedora-ARM koji system uses HongKong, an x86_64 system, as the [:fedora:Koji|Koji]] hub, along with a group of ARM builders.

Ideally, it would be nice to prove the ability of the Fedora-ARM project to be entirely self-hosting by using an ARM system as the Koji hub. This project involves configuring the OpenRD-Client system as Koji hub.

Fedora Projects